资源简介
这个代码是运行好的,拿来就可用。编写简洁易懂
代码片段和文件信息
function [Crate] = SVMK(XYCdelta_kXtestYtest)
% X 一训练样本
% Y 一训练样本类别
% C 一 惩罚系数
% delta_k 一高斯核函数参数
% Xtest 一 正测试样本
% Ytest 一负测试样本
[ndim] = size(X);
% H = zeros(nn);
% for i = 1:n
% for j= 1:n
% H(ij) = Y(i1)*Y(j1)*kernel(X(i:)X(j:)kerType) ;%X(i:)*X(j:)‘;
% end
% end %Dij = YiYjK(XiXj)
H = (Y*Y‘).*exp(-delta_k^2*(dist(XX‘).^2));%kernel(XXkerType);% kerType为linear或rbf
f = -ones(n1);
A = [];
b = [];
Aeq = Y‘;
beq = 0;
lb = zeros(n1); % alphas > = 0
ub = C*ones(n1); % alphas < = C
x0 = zeros(n1); % 赋初值[00...0]
options = optimset; % Options是用来控制算法的选项参数的向量
options.LargeScale = ‘off‘;
options.Display = ‘off‘;
[xfvalexitflag] = quadprog(HfAbAeqbeqlbubx0options); % 调用quadprog函数
a = x;
epsilon = 1e-8;
%display(a);
sv_label = find(abs(a)>epsilon); %0a = a(sv_label);
Xsv = X(sv_label:);
Ysv = Y(sv_label);
num = length(Ysv);
% %% 求w
% W = zeros(1dim);
% for i = 1:num
% W = W+ a(i1)*Ysv(i)*Xsv(i:);
% end
%% 求b
b=(1/num)*sum(Ysv - sum((Ysv*a‘).*exp(-delta_k^2*(dist(XsvXsv‘).^2))2));
%% 预测
%%正样本预测
Ptest_n = size(Xtest1);
PS = sign(exp(-delta_k^2*(dist(XtestXsv‘).^2))*(a.*Ysv)+b*ones(Ptest_n1)); %计算+b的符号
Pc_num = length(find(PS==1)); %正样本中判断正确的样本个数
Pf_num = length(find(PS==-1)); %正样本中判断错误的样本个数
%%负样本预测
Ntest_n = size(Ytest1);
NS = sign(exp(-delta_k^2*(dist(YtestXsv‘).^2))*(a.*Ysv)+b*ones(Ptest_n1)); %计算+b的符号
Nc_num = length(find(NS==-1)); %正样本中判断正确的样本个数
Nf_num = length(find(NS==1)); %正样本中判断错误的样本个数
%%正确率
Crate = (Pc_num+Nc_num)/(Pc_num+Pf_num+Nc_num+Nf_num);
end
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1809 2014-11-21 11:56 SVMK.m
文件 1667 2014-11-21 11:59 SVML.m
- 上一篇:人脸表情识别MATLAB
- 下一篇:圆阵方向图
相关资源
- SVM算法仿真matlab代码
- 结构化svm代码-matlab版
- KPCA+SVM源代码
- windows和linux编译好的LIBSVM
- SVM_RFE循环递归筛选特征
- 基于PCA及SVM的人脸识别
- 基于MATLAB的图像SVM分类
- SVM分类程序
- 三分类_svm_matlab
- 故障分类svm代码
- 支持向量机非线性回归通用matlab程序
- SVM数据归一化matlab程序
- 基于遗传算法优化SVM的手写字体识别
- classfication_toolboxmatab版
- SVM中matlab版本的交叉验证和参数选择
- matlab支持向量机SVM完整工具包
- Libsvm数据格式互相转换
- SVM对图像进行分类分类
- 基于Matlab的SVM含数据
- 用MatLab实现SVM分类.
- libsvm-3.1
- 支持向量机用于肌电信号模式识别的
- 灰度共生矩阵提取结肠癌图像特征,
- 多分类SVM使用libsvm)
- libsvm网格法查找最优参数函数 SVMcgF
- libsvm网格法查找最优解函数 SVMcgForC
- Matlab 人脸识别 SVM
- SVM工具包-matlab
- matlab型数据集heart_scale
- SVM算法的MATLAB源程序
评论
共有 条评论