【机器学习】算法原理详细推导与实现(四):支持向量机(上)

【机器学习】算法原理详细推导与实现(四):支持向量机(上)

在之前的文章中,包括线性回归和逻辑回归,都是以线性分界线进行分割划分种类的。而本次介绍一种很强的分类器【支持向量机】,它适用于线性和非线性分界线的分类方法。

函数间隔概念

为了更好的理解非线性分界线,区别两种分界线对于分类的直观理解,第一种直观理解需要考虑 logistic 回归,我们用一个 logistic 回归函数表示当 (y=1) 时概率表示为 :

[\begin{split} p(y=1|x;\theta)&=h(\theta) \ &=g({\theta}^Tx) \ &=g(z) \ \end{split} ]

当 (h(\theta) \geq 0.5) 时,即({\theta}^Tx \geq 0) 时 (y=1);同理当 (h(\theta) < 0.5) 时,即({\theta}^Tx < 0) 时 (y=0)。回顾 logistic 回归的图像如下所示:

【机器学习】算法原理详细推导与实现(四):支持向量机(上)

由上图可以看出: 如果({\theta}^Tx >> 0) 时,那么可以相当确定的预测(y=1) ;如果({\theta}^Tx << 0) 时,那么可以相当确定的预测(y=0)

当我们根据这样的样本拟合 logistic 回归得出分类器时,这样的分类器是良好的。即对于所有的 (i) ,如果 (y^{(i)}=1),那么 ({\theta}^Tx^{(i)} >> 0) ;如果 (y^{(i)}=0),那么 ({\theta}^Tx^{(i)} << 0) 。换句话说,如果我们根据训练集找到了合适的参数 (\theta) ,那么我们的学习算法不仅会保证分类结果正确,更会进一步的保证对分类结果的 确定性

假设训练集都是线性可分隔的,即一定有一条直线可以将训练集分开,假设({\theta}^Tx^{(i)} =0) 代表中间那条分隔线,使得正样本和负样本到这条线的距离最大,即这条线是最优的分隔线:

【机器学习】算法原理详细推导与实现(四):支持向量机(上)

考虑上面3个点 A 、B和C。从图中我们可以确定A是×类别的,然而C我们是不太确定的,B还算能够确定。 logistic 回归强调所有的点尽可能的远离中间那条线即可,由此可能造成如上所示,点C可能属于o类别也可能属于×类别,所以我们这里希望找到一个分隔线,使其所有的分类结果有足够的 确定性,这就是 logistic 回归和支持向量机的不同点。

间隔器

函数间隔

支持向量机的符号和 logistic 回归的符号有点差别。支持向量机的取值范围是 (y \in {-1, 1}),而 logistic 回归的取值范围是 (y \in {0, 1})

logistic 回归的假设函数为:

[\begin{split} h(x)&=\theta_0x_0+\theta_1x_1+\theta_2x_2+…+\theta_nx_n \ &=\theta^Tx \end{split} ]

其中这里假设 (x_0=1)。而支持向量机假设 (\theta_0=b),即假设函数为:

[\begin{split} h(x)&=\theta_0+\theta_1x_1+\theta_2x_2+…+\theta_nx_n \ &=b+\omega_1x_1+\omega_2x_2+…+\omega_nx_n \ &=\omega^Tx+b \end{split} ]

即为:

[h_{w,b}(x)=g(\omega^Tx+b) ]

将其假设函数映射到 (y \in {-1, 1}) 上:

[g(z)= \begin{cases} 1, & \text{z $\geq$ 0} \ -1, & \text{z

Original: https://www.cnblogs.com/TTyb/p/11233871.html
Author: TTyb
Title: 【机器学习】算法原理详细推导与实现(四):支持向量机(上)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/8072/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

最近整理资源【免费获取】:   👉 程序员最新必读书单  | 👏 互联网各方向面试题下载 | ✌️计算机核心资源汇总