线性模型问题
对于样本数较少,都能得到较好的结果
20世纪70年代,一个苏联人发明了这个方法
凡是可以用一条直线分开的,我们称为线性可分样本集
如何在线性可分样本集上画一条直线(有无数条直线可以分开,那么哪一条直线最好)
2号线对于误差的容忍度更大一点,跟样本分布有关系
对于任意一条可以分开○和×的线,定义一个性能指标d
推荐书籍:支持向量机导论
数学描述
d:间隔(margin)
支持向量机是一个最大化间隔的方法。是一种进行二元分类的广义线性分类器;SVM也可以通过核方法来对非线性模型进行分类。
直线移动的过程中切到的点(向量)称为支持向量,最后做出来的线只与支持向量有关(能够用在比较小的样本上)
b是一个常数
w转置就是一个行向量,wTx是一个常数(行向量乘以列向量)
wTx+b是一个常数
我们的任务是通过训练数据在这个模型的限定下算出w和b
线性模型最优化的任务——在二维的的时候找直线,在三维的时候找平面,在多维的时候找超平面
机器学习算法机器学习所做的模型的情况
任务(已知(xN,yN),未知(W,b)):
通过这些训练数据和标签((xN,yN)),其中XN = (XN1,XN2,…,XNn)是一个向量,N表示训练的样本个数,n表示每一个样本数的维度;在限定的模型(超平面方程)下,求解出待定系数(W,b),最后确定模型,机器学习的过程也就结束了
步骤:
1先给出一个限定模型(用方程或复杂的函数,比如wTx+b=0限定了是一个超平面的模型)
2在模型中留出一些待定的参数(例如w和b)
3用训练数据再用算法去确定w和b
确定w和b之后,整个学习过程完成
支持向量机优化问题
当X0是支持向量的时候,使得d最大
通过缩放求得d的公式(已知w,b,未知a,也就是后来的aw,ab,支持向量X0未知):
使得d最大的问题转化为求||w||的最小值问题
转化后的最优化问题数学描述(dmax——||w||min)
只要x,y满足线性可分,就一定能求出w和b
涉及课程:凸优化理论
看看大佬的学习笔记,我枯了
机器学习——支持向量机SVM之线性模型