中国网站为什么做的那么丑,wordpress不能全屏,2o18江苏建设网站施工员模试卷,wordpress导航模板下载目录
一、SVM基本介绍
1.1 SVM算法定义
1.2 SVM和逻辑回归的区别
二、实验数学原理
三、实验算法和实验步骤
四、实例分析 一、SVM基本介绍
1.1 SVM算法定义 SVM全称是supported vector machine#xff08;支持向量机#xff09;#xff0c;即寻找到一个超平面使样本…目录
一、SVM基本介绍
1.1 SVM算法定义
1.2 SVM和逻辑回归的区别
二、实验数学原理
三、实验算法和实验步骤
四、实例分析 一、SVM基本介绍
1.1 SVM算法定义 SVM全称是supported vector machine支持向量机即寻找到一个超平面使样本分成两类并且间隔最大。 SVM能够执行线性和非线性分类回归甚至是异常值监测任务。特别适用于中小型复杂数据集的分类。
1.2 SVM和逻辑回归的区别 逻辑回归和SVM都是寻找一条分类直线目标是把这两个类别分开逻辑回归的最终判断标准是准确率而SVM最终的判断结果是准确率最大间隔逻辑回归的分类直线可能有多条而SVM的分类直线只有一条。
单纯考虑准确率和考虑最大间隔哪个泛化性能更好一点
准确率只考虑了在训练集上的预测能力准确率最大间隔即考虑了预测能力又考虑了模型对未知样本的泛化能力。
二、实验数学原理
线性支持向量机 三、实验算法和实验步骤
二分类逻辑回归算法
输入 输出过程
1.读取数据集
2.数据归一化
3.构造问题的约束二次规划
4.构建拉格朗日函数
5.将问题对偶化
6.利用SMO算法进行求解得到分类预测模型
7.根据预测模型对预测集样本的类别进行预测
输出数据集的预测结果
四、实例分析
数据来源传送门1 传送门2
线性向量机
clear;close all;clc;
%% 第一步读取数据
load SVMdata1.mat;
%% 第二步分离训练集和测试集
% [train_X,train_y,test_X,test_y] split_train_test(X,y,2,0.8);
% randperm随机打算数据集X的顺序
index randperm(size(X,1)); %获取打算顺序后的数据集的索引
n length(index); %得到index的个数
% 分离训练集
T round(n*0.8);
train_X X(index(1:T),:); %分离出数据集X中的训练集
train_y y(index(1:T),:); %分离出数据集y中的训练集
% 分离测试集或预测集
test_X X(index(T1:end),:); %分离出数据集X中的测试集
test_y y(index(T1:end),:); %分离出数据集y中的测试集%% 第三步标准支持向量机拟合训练
svmline svmtrain(train_X,train_y,Showplot,true);%% 第四步SVM预测
predictline svmclassify(svmline,test_X,Showplot,true);
fprintf(预测分类结果为\n)
disp(predictline)
%继续绘制测试集数据
hold on; %继续在这张图上绘制
plot(test_X(:,1),test_X(:,2),gs,Markersize,12) %圈出预测数据
xlabel(x) %添加行标签
ylabel(y) %添加列标签
title(标准支持向量机) %添加标题
hold off %接下来绘制重启一张图
%% 第五步预测的准确率
accu 1-sum(abs(predictline-test_y))/length(test_y);
fprintf(预测结果准确率为%d,accu)
高斯向量机
clear;close all;clc;
%% 第一步读取数据
load SVMdata2.mat;
%% 第二步分离训练集和测试集
% [train_X,train_y,test_X,test_y] split_train_test(X,y,2,0.8);
% randperm随机打算数据集X的顺序
index randperm(size(X,1)); %获取打算顺序后的数据集的索引
n length(index); %得到index的个数
% 分离训练集
T round(n*0.8);
train_X X(index(1:T),:); %分离出数据集X中的训练集
train_y y(index(1:T),:); %分离出数据集y中的训练集
% 分离测试集或预测集
test_X X(index(T1:end),:); %分离出数据集X中的测试集
test_y y(index(T1:end),:); %分离出数据集y中的测试集%% 第三步高斯拟合训练集
svmgs svmtrain(train_X,train_y,Showplot,true,kernel_function,rbf,rbf_sigma,1);%% 第四步SVM预测
predict svmclassify(svmgs,test_X,Showplot,true);
fprintf(预测分类结果为\n)
disp(predict)
%继续绘制测试集数据
hold on; %继续在这张图上绘制
plot(test_X(:,1),test_X(:,2),gs,Markersize,12) %圈出预测数据
xlabel(x) %添加行标签
ylabel(y) %添加列标签
title(高斯核支持向量机) %添加标题
hold off %接下来绘制重启一张图
%% 第五步预测的准确率
% accu sum(strcmp(predict,test_y))/length(test_y)*100
accu 1-sum(abs(predict-test_y))/length(test_y);
fprintf(预测结果准确率为%d,accu)