[DL]机器学习算法之支持向量机(Support Vector Machine)
来源:互联网 发布:js是什么防水材料 编辑:程序博客网 时间:2024/06/06 19:08
SVM(Support Vector Machine)指的是支持向量机,是常见的一种判别方法。在机器学习领域,是一个有监督的学习模型,通常用来进行模式识别、分类以及回归分析。
SVM的主要思想可以概括为两点:
- 它是针对线性可分情况进行分析,对于线性不可分的情况,通过使用非线性映射算法将低维输入空间线性不可分的样本转化为高维特征空间使其线性可分,从而使得高维特征空间采用线性算法对样本的非线性特征进行线性分析成为可能。
- 它基于结构风险最小化理论之上在特征空间中构建最优超平面,使得学习器得到全局最优化,并且在整个样本空间的期望以某个概率满足一定上界。
选择不同的核函数,可以生成不同的SVM,常用的核函数有以下4种:
线性核函数
多项式核函数
径向基函数
二层神经网络核函数
下面是一个应用SVM进行回归的例子:
效果如下图:
代码如下:
import numpy as npfrom sklearn.svm import SVRimport matplotlib.pyplot as plt# 造数据X = np.sort(5 * np.random.rand(40, 1), axis=0)y = np.sin(X).ravel()# 添加噪声y[::5] += 3 * (0.5 - np.random.rand(8))# 训练模型svr_rbf = SVR(kernel='rbf', C=1e3, gamma=0.1)svr_lin = SVR(kernel='linear', C=1e3)svr_poly = SVR(kernel='poly', C=1e3, degree=2)y_rbf = svr_rbf.fit(X, y).predict(X)y_lin = svr_lin.fit(X, y).predict(X)y_poly = svr_poly.fit(X, y).predict(X)# 查看回归效果lw = 2plt.scatter(X, y, color='darkorange', label='data')plt.plot(X, y_rbf, color='navy', lw=lw, label='RBF model')plt.plot(X, y_lin, color='c', lw=lw, label='Linear model')plt.plot(X, y_poly, color='cornflowerblue', lw=lw, label='Polynomial model')plt.xlabel('data')plt.ylabel('target')plt.title('Support Vector Regression')plt.legend()plt.show()
阅读全文
0 0
- [DL]机器学习算法之支持向量机(Support Vector Machine)
- 机器学习之支持向量机SVM Support Vector Machine (四) SMO算法
- 机器学习之支持向量机SVM Support Vector Machine (五) scikit-learn算法库
- 机器学习——支持向量机support vector machine
- 机器学习(一)支持向量机(Support Vector Machine)
- 机器学习:支持向量机(Support Vector Machine, SVM)
- 机器学习十大经典算法支持向量机SVM(Support Vector Machine)(上篇)
- 支持向量机(Support Vector Machine)-----SVM之SMO算法
- 机器学习之支持向量机(Support Vector Machine)(更新中...)
- 机器学习之支持向量机SVM Support Vector Machine (六) 高斯核调参
- (十一)机器学习中的一个常用算法SVM算法,即支持向量机Support Vector Machine(SVM)
- 机器学习之支持向量机: Support Vector Machines (SVM)
- 机器学习技法总结(一):支持向量机(linear support vector machine,dual support vector machine)
- [机器学习入门] 李宏毅机器学习笔记-23(Support Vector Machine;支持向量机)
- 机器学习之支持向量机SVM Support Vector Machine (一) 线性SVM模型与软硬间隔
- 机器学习之支持向量机SVM Support Vector Machine (二) 非线性SVM模型与核函数
- 机器学习与深度学习(三) 支持向量机 (Support Vector Machine) SVM
- 第八讲. 支持向量机进行机器学习——Support Vector Machine
- C语言中相对路径的使用
- hostapd移植笔记
- Java异常总结
- AVL树的实现(C++)
- 安卓常用工具类-SoftKeyboardUtils【软件盘工具类】
- [DL]机器学习算法之支持向量机(Support Vector Machine)
- 田忌赛马——贪心算法(附加别人写的动态规划)
- VMware Ubuntu 全屏
- 【C++】inet_ptoa&inet_atop inet_pton&inet_ntop
- 基于51单片机的无线通讯公交报站系统
- 第四天-运算符
- 安装 cobra
- java线程之间的通信(等待/通知机制)
- 第十章:对象和类