该算法属于监督学习的一种,并且svm是最好的现成的分类器,这就意味着,在数据上应用基本形式的svm分类器就可以得到低错误率的结果。
svm能对训练集以外的数据做出很好的分类决策
在吴恩达机器学习视频中,首先通过逻辑回归中的0,1类所对应的损失函数开始,演变成支持向量机:
支持向量机在我理解的:
演变过程就是将内部的log函数替换成cos函数,其他的1/m 不影响θ值,则直接可以换成一个常数项
而对于这里的h(x)这里的函数的定义如下:
由于边界一开始默认是通过原点的,当边界从
开始时候,情况改变了。
决策边界:
我们可以看出根据边界的不同我们对的约束也会不同,但我们的思想是始终求得损失函数的最小值,也就是要让
达到最小。
就像下图,所以对于样本,不想使得决策边界因为某个误差点产生很大的变化,需要将C值设置小一些,对应的正规化参数大一些,这样能得到拟合总体样本较好的决策边界
更深层的解释其原理:
因为优化目标是最小化的值,对于向量
来说,其损失函数最小值就是
,将x,theta向量都在图中表示,转置
和X的乘积将会等于X在其上的投影,所以等于p(i)*
的模
根据图像我们可以看出实际 = p*||θ||,因此
≥1也就是p*||θ||≥1
也就是让p最大就可以使得θ最小了,这样就可以得出最佳边界,也就是要让边界无限接近于分类样本点,使得投影距离最大。
上面阐述的就是为什么支持向量机是一个大间距分类器。
对于非线性SVM
我们就要对其进行高纬度空间的一个线性化处理,也即是用到了核函数(kernel)。
常用核函数 | |||
---|---|---|---|
线性核函数 | 多项式核函数 | Sigmoid核函数 | B样条核函数 |
径向基核函数 | 复合核函数 | 傅立叶级数核 | 张量积核函数 |
核函数包含上述几种,其中高斯核函数最常用,可以将数据映射到无穷维,也叫做径向基函数(Radial Basis Function 简称 RBF),是某种沿径向对称的标量函数。 通常定义为空间中任一点x到某一中心xc之间欧氏距离的单调函数,可记作 k(||x-xc||), 其作用往往是局部的,即当x远离xc时函数取值很小。
径向核函数:
核函数具有以下性质 :
(1)核函数的引入避免了“维数灾难”,大大减小了计算量。而输入空间的维数n对核函数矩阵无影响,因此,核函数方法可以有效处理高维输入。
(2)无需知道非线性变换函数Φ的形式和参数.
(3)核函数的形式和参数的变化会隐式地改变从输入空间到特征空间的映射,进而对特征空间的性质产生影响,最终改变各种核函数方法的性能。
(4)核函数方法可以和不同的算法相结合,形成多种不同的基于核函数技术的方法,且这两部分的设计可以单独进行,并可以为不同的应用选择不同的核函数和算法 。