- 前边咱们曾经学习了线性回归和逻辑回归、神经网络一系列监督学习算法,并且得出结论:在机器学习中,重要的不是应用算法 a 还是算法 b,而是是否能收集到大量数据。并且算法的性能十分依赖使用者的集体程度,如特征向量的抉择、正则化参数的抉择
- 接下来,咱们探讨最初一个监督学习算法:反对向量机(SVM)。与逻辑回归和神经网络相比,SVM 为学习简单的非线性方程提供了一种更弱小的形式
从逻辑回归讲起
- 咱们从逻辑回归开始,一点点的批改,逐步改为本质上的反对向量机:
(1)首先思考,咱们要想逻辑回归干啥。当样本 y = 1 时,假如函数 h 趋近 1,即向量乘积远大于 0;当样本 y = 0 时,假如函数 h 趋近 0,即向量乘积远小于 0
(2)接着咱们察看逻辑回归的代价函数只有一个样本即 m = 1 时的样子。咱们令 y =1,失去如图曲线,这时想让代价函数小的话,要求 z 远大于 0;咱们将这条曲线批改为两条线段,左边程度,这作为反对向量机代价函数的一项。令 y =0,失去如图曲线,想要代价函数小的话,要求 z 远小于 0;咱们持续用两条线段代替曲线,失去反对向量机的另一项。这两项定义为 cost1(z)、cost0(z)
- 下边咱们开始构建反对向量机的代价函数:
(1)将逻辑回归代价函数的负号放到里边去,而后两个对数项替换成 cost 函数
(2)去掉 1 / m 这一项。因为在一个样本集中,因为 m 是雷同的,带不带对代价函数的大小比拟没影响
(3)概念上的变动,不必正则化参数衡量平均误差和正则化项,而是用 C 参数衡量(理论是一样的,能够看做 1 / 正则化参数)
通过三步加工,咱们就失去了反对向量机的代价函数
- 这里要留神逻辑回归和反对向量机的区别:
(1)逻辑回归输入的是概率,而后咱们人为规定一个临界值,判断 0 还是 1
(2)而反对向量机间接预测 y 是 0 还是 1
反对向量机:又称大间距分类器
- 反对向量机又称为大间距分类器,咱们来看一下为什么。咱们先思考最小化反对向量机的代价函数要求什么:
(1)当 y = 1 时,后边一项为 0,只有 z 大于等于 1 时前边一项迫近 0
(2)当 y = 0 时,前边一项为 0,只有 z 小于等于 - 1 时后边一项迫近 0
因而与逻辑回归仅要求正负或者本人定临界值不同,反对向量机要求更高,要求 1 和 -1(集体了解:不是非黑即白了,在正负标签间有一段空白间距,有了过渡地带)。这就相当于嵌入了额定的平安因子,增大了准确性
- 综前,要让误差项为 0,就要满足这两个条件中的一个:
(1)y= 1 时,误差项大小由 cost1 决定,要求 z 大于 1
(2)y= 0 时,误差项大小由 cost0 决定,要求 z 小于 -1
- 因为嵌入了平安因子,反对向量机的决策边界更加持重。这是因为决策边界到训练样本有更大的最短距离。因为反对向量机的这个个性,有时又被称为大间距分类器
- 若咱们将 C 参数设置的十分大(100000),那么误差项的权重就会十分大,很有可能因为一个异样点就扭转了曲线的形态,这显然是不明智的
大间距分类背地的数学原理
- 下边咱们看一下,为什么这种代价函数可能让决策边界到训练样本有更大的间距
温习向量的内积运算
U 转置乘 V = V 乘 U 的转置 = V 投影到 U 上的投影,乘 U 的模(投影是有符号的)
利用内积到反对向量机的代价函数
- 咱们简化代价函数的参数 0 为 0,只有两个特色,这使得咱们能把它放到二维坐标中示意
(1)当满足前边误差项为 0 的条件之一时,代价函数只有正则化项一项,能够写作假如函数参数模的平方
(2)咱们假如样本集只有一个样本,那么 z 能够写作参数向量的模乘特征向量在参数向量上的投影,将乘积和 1 或者 - 1 比拟
(3)因为参数 0 为 0,所以决策边界通过原点。因为参数变量和决策边界是正交的,所以参数向量和间隔是平行的。当最短距离小时,特征向量的投影值也小,要合乎 1、- 1 的话,要求参数向量的模大,而参数向量的模大的话,代价函数的值就会变大,这与咱们尽量要求代价函数小矛盾。这就是反对向量机能产生大间距分类的起因
- 综上,反对向量机通过尽可能放大参数向量模的大小,来找到最大间距的决策边界
核函数
- 在拟合非线性边界时,之前咱们个别通过结构多项式特色变量解决,然而这种办法计算量太大。在反对向量机中,咱们通过结构新的特色,来拟合非线性边界
如何结构新的特色变量
- 咱们手动抉择一些点,用函数度量 x 和每个点的类似度,这些类似度形成新的特色变量。其中,类似度函数就是核函数,核函数有许多种,这里咱们以高斯核函数为例
- 核函数的直观感触:当 x 和咱们抉择的点靠近时,分子靠近 0,f 靠近 1;当 x 和抉择的点隔得远时,分子比拟大,f 靠近 0. 所以核函数就是度量 x 和标记点的类似度,靠近为 1,远离为 0。其中每个特色点 l 定义一个新的特色变量 f
- 核函数参数对核函数的影响:咱们用等高线图示意。当核函数参数变小,变密膨胀;核函数参数变大,稠密扩大
- 定义了新的特色变量后,看下新的假如函数:假如咱们曾经失去了假如参数。当训练样本靠近 l1 点,f1 靠近 1,f2、f3 靠近 0,假如函数值为 0.5,预测 y =1;当训练样本远离时,f1、2、3 都靠近 0,假如函数值为 -0.5,预测 y =0