分别用线性SVM和高斯核SVM预测对数据进行分类

简介: 分别用线性SVM和高斯核SVM预测对数据进行分类

分别用线性SVM和高斯核SVM预测对数据进行分类


(1)问题描述:

task1_linear.mat中有一批数据点,试用线性SVM对他们进行分类,并在图中画分出决策边界。task1_gaussian中也有一批数据点,试用高斯核SVM对他们进行分类,并在图中画出决策边界。


(2)训练过程:

使用线性核函数的svm算法

1.加载数据并可视化:


加载一个2维数据集:

X,y = svmF.loadData('task1_linear.mat')
svmF.plotData(X,y)

观察可知该数据集可以被线性边界分割为正样本和负样本。

2.训练模型与边界可视化:

model = svmF.svmTrain_SMO(X, y, C=1, max_iter=20)
svmF.visualizeBoundaryLinear(X, y, model)


变量 C所起的作用于逻辑回归中的正则化参数1 \λ


变量C 值对决策边界有不同的影响,下面我们尝试分几种情况验证:


C = 1 :



C = 100 :



C = 1000 :



我们可以发现,C的大小影响着线性决策边界,其所起的作用于逻辑回归中正则化参数一样,C 太大,可能会导致过拟合问题。


使用高斯核函数的SVM算法

对于非线性的分类任务,常用带有高斯核函数的SVM算法来实现。


1.加载数据并可视化:


加载一个2维数据集:

X, y = svmF.loadData('task1_gaussian.mat')
svmF.plotData(X, y)


可以很明显地看出是非线性的数据。



2.训练模型与边界可视化:

model = svmF.svmTrain_SMO(X, y, C=1, kernelFunction='gaussian', K_matrix=svmF.gaussianKernel(X, sigma=0.1))
svmF.visualizeBoundaryGaussian(X, y, model,sigma=0.1)


实现效果如下所示:



(3)尝试调用sklearn

调用sklearn svm,如下所示:

from sklearn import svm
c = 1
clf = svm.SVC(c, kernel='linear', tol=1e-3)
clf.fit(X, y)


结果:



高斯核:

c = 1
sigma = 0.1
clf = svm.SVC(c, kernel='rbf', gamma=np.power(sigma, -2))
clf.fit(X, y)


结果



实验报告地址:


点这里链接

目录
相关文章
|
14天前
|
机器学习/深度学习 算法
R语言非参数方法:使用核回归平滑估计和K-NN(K近邻算法)分类预测心脏病数据
R语言非参数方法:使用核回归平滑估计和K-NN(K近邻算法)分类预测心脏病数据
22 0
|
13天前
广义线性模型glm泊松回归的lasso、弹性网络分类预测学生考试成绩数据和交叉验证
广义线性模型glm泊松回归的lasso、弹性网络分类预测学生考试成绩数据和交叉验证
|
8月前
|
机器学习/深度学习 传感器 算法
INFO-LSSVM分类预测 | Matlab 向量加权优化最小二乘支持向量机分类预测
INFO-LSSVM分类预测 | Matlab 向量加权优化最小二乘支持向量机分类预测
|
8月前
|
机器学习/深度学习 传感器 算法
GBO-LSSVM分类预测 | Matlab 梯度优化最小二乘支持向量机分类预测
GBO-LSSVM分类预测 | Matlab 梯度优化最小二乘支持向量机分类预测
|
12月前
|
机器学习/深度学习 人工智能 PyTorch
【Pytorch神经网络理论篇】 34 样本均衡+分类模型常见损失函数
Sampler类中有一个派生的权重采样类WeightedRandomSampler,能够在加载数据时,按照指定的概率进行随机顺序采样。
261 0
|
机器学习/深度学习 Python
【统计学习方法】线性可分支持向量机对鸢尾花(iris)数据集进行二分类
【统计学习方法】线性可分支持向量机对鸢尾花(iris)数据集进行二分类
226 0
【统计学习方法】线性可分支持向量机对鸢尾花(iris)数据集进行二分类
|
机器学习/深度学习 传感器 算法
【SVM分类】基于最小二乘支持向量机实现数据分类附matlab代码
【SVM分类】基于最小二乘支持向量机实现数据分类附matlab代码
|
机器学习/深度学习 算法 数据可视化
基于线性SVM的CIFAR-10图像集分类
基于线性SVM的CIFAR-10图像集分类
597 0
基于线性SVM的CIFAR-10图像集分类
|
机器学习/深度学习 资源调度 Serverless
核函数:RBF 是如何让线性 SVM 可以分类非线性数据的?
如果原始空间是有限维,即属性数有限,那么一定存在一个高维特征空间使得样本可分。
181 1
核函数:RBF 是如何让线性 SVM 可以分类非线性数据的?
|
机器学习/深度学习
SVM(四):支持向量回归
SVM(四):支持向量回归
SVM(四):支持向量回归

相关实验场景

更多