资源简介
支持向量机SVM程序包,将该程序包中的内容保存在matlabToolbx的目录下,在matlab命令窗口下输入mex –setup,选择C++编译器,然后直接运行程序包中的make函数即可,保存好路径后,可直接调用工具包中的函数。
代码片段和文件信息
function [K] = CalcKernel(kerxy)
% Calculate kernel function.
%
% x: 输入样本n1×d的矩阵n1为样本个数d为样本维数
% y: 输入样本n2×d的矩阵n2为样本个数d为样本维数
%
% ker 核参数(结构体变量)
% the following fields:
% type - linear : k(xy) = x‘*y
% poly : k(xy) = (x‘*y+c)^d
% gauss : k(xy) = exp(-0.5*(norm(x-y)/s)^2)
% tanh : k(xy) = tanh(g*x‘*y+c)
% degree - Degree d of polynomial kernel (positive scalar).
% offset - Offset c of polynomial and tanh kernel (scalar negative for tanh).
% width - Width s of Gauss kernel (positive scalar).
% gamma - Slope g of the tanh kernel (positive scalar).
%
% ker = struct(‘type‘‘linear‘);
% ker = struct(‘type‘‘ploy‘‘degree‘d‘offset‘c);
% ker = struct(‘type‘‘gauss‘‘width‘s);
% ker = struct(‘type‘‘tanh‘‘gamma‘g‘offset‘c);
%
% K: 输出核参数n1×n2的矩阵
%-------------------------------------------------------------%
% 转成列向量
x = x‘;
y = y‘;
%-------------------------------------------------------------%
switch ker.type
case ‘linear‘
K = x‘*y;
case ‘ploy‘
d = ker.degree;
c = ker.offset;
K = (x‘*y+c).^d;
case ‘gauss‘
s = ker.width;
rows = size(x2);
cols = size(y2);
tmp = zeros(rowscols);
for i = 1:rows
for j = 1:cols
tmp(ij) = norm(x(:i)-y(:j));
end
end
K = exp(-0.5*(tmp/s).^2);
case ‘tanh‘
g = ker.gamma;
c = ker.offset;
K = tanh(g*x‘*y+c);
otherwise
K = 0;
end
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-12-28 17:08 libsvm\
文件 6148 2016-06-08 00:13 libsvm\.DS_Store
文件 1497 2013-03-31 15:06 libsvm\COPYRIGHT
文件 1653 2015-11-11 09:53 libsvm\CalcKernel.m
文件 73850 2013-03-31 15:06 libsvm\FAQ.html
文件 732 2013-03-31 15:06 libsvm\Makefile
文件 1087 2013-03-31 15:06 libsvm\Makefile.win
文件 28271 2013-03-31 15:06 libsvm\README
文件 27670 2013-03-31 15:06 libsvm\heart_scale
目录 0 2017-12-28 17:08 libsvm\java\
文件 624 2013-03-31 15:06 libsvm\java\Makefile
目录 0 2017-12-28 17:08 libsvm\java\libsvm\
文件 63419 2013-03-31 15:07 libsvm\java\libsvm\svm.java
文件 62711 2013-03-31 15:06 libsvm\java\libsvm\svm.m4
文件 868 2013-03-31 15:06 libsvm\java\libsvm\svm_model.java
文件 115 2013-03-31 15:06 libsvm\java\libsvm\svm_node.java
文件 1288 2013-03-31 15:06 libsvm\java\libsvm\svm_parameter.java
文件 87 2013-03-31 15:06 libsvm\java\libsvm\svm_print_interface.java
文件 136 2013-03-31 15:06 libsvm\java\libsvm\svm_problem.java
文件 51729 2013-03-31 15:07 libsvm\java\libsvm.jar
文件 4835 2013-03-31 15:06 libsvm\java\svm_predict.java
文件 8944 2013-03-31 15:06 libsvm\java\svm_scale.java
文件 12269 2013-03-31 15:06 libsvm\java\svm_toy.java
文件 8355 2013-03-31 15:06 libsvm\java\svm_train.java
文件 81 2013-03-31 15:06 libsvm\java\test_ap
目录 0 2017-12-28 17:08 libsvm\matlab\
文件 1499 2013-03-31 15:06 libsvm\matlab\Makefile
文件 9733 2013-03-31 15:06 libsvm\matlab\README
文件 27670 2013-03-31 15:06 libsvm\matlab\heart_scale
文件 4069 2013-03-31 15:06 libsvm\matlab\libsvmread.c
文件 8192 2013-10-20 10:41 libsvm\matlab\libsvmread.mexw32
............此处省略59个文件信息
- 上一篇:员工工管理系统,C语言,源码,2000行
- 下一篇:c语言编写的倒车雷达程序
评论
共有 条评论