itaquestion 2019-06-15
机器学习系列17:支持向量机
支持向量机(Support vector machine)是一种强大的机器学习算法,和神经网络相比,它在学习复杂的非线性方程时,能够提供更清晰和更加强大的方式。为了学习支持向量机,我们可以先从逻辑回归开始,看看如何经过小小的改动能得到支持向量机。
在逻辑回归中,假设函数 h_θ(x) 为:
图像为:
对于一个样本来说,代价函数为:
当 y =1 时,第二项为 0,只需要考虑第一项,画出第一项的图像:
我们把这个图像稍微修改一下,趋势与逻辑回归相似,就变成了支持向量机代价函数一部分的图像 cost_1(z),如下图粉色线:
第二项同样道理,cost_0(z):
逻辑回归中正则化代价函数为:
将其中系数 1/m 去掉,把红色部分换成上面粉色图像的函数:
接着将浅蓝色和粉色部分调换一下权重:
这样就得到支持向量机的代价函数:
只需要将这个函数最小化即可得到参数。以上就是从逻辑回归推出支持向量机的整个过程。