支持向量机是什么?
一个机器学习算法,用于数据分类
使用支持向量机的目的
通过划定超平面,完成数据分类
关键词
- 支持向量: 用于确定超平面的向量
- 超平面: 用于划分样本类型(超平面的一侧就是一种数据类型), 超平面的维度是数据特征数减一
比如数据有两个特征可在 x,y 二维坐标系中表示, 那么超平面就是一根直线
- 极值: 用于确定惟一的超平面

超平面的划分
拿上图举例
假设
黄点中的支持向量的坐标是 (x1,y1)
蓝点中的支持向量的坐标是 (x2,y2)
超平面(蓝色直线)的方程为
w ⃗ ∗ x ⃗ + b = 0 \vec{w}*\vec{x}+b=0 w∗x+b=0
(其中 x为某个点的坐标向量, w为该超平面的法向量)
黄色直线的方程为
w ⃗ ∗ x 1 ⃗ + b = − 1 \vec{w}*\vec{x1}+b=-1 w∗x1+b=−1
(-1代表的是类别, 这个方程的假设是蓝色的支持向量刚好过这个点)
绿色直线的方程为
w ⃗ ∗ x 2 ⃗ + b = 1 \vec{w}*\vec{x2}+b=1 w∗x2+b=1
(1代表的是类别,这个方程的假设是黄色的支持向量刚好过这个点)
为什么这两条平行线的方程右边是1和-1?其实也可以是2和-2,或者任意非零常数C和-C,规定1和-1只是为了方便。就像2x+3y+1=0和4x+6y+2=0是等价的,方程同乘一个常数后并不会改变。
什么是最好的超平面
为了保证最佳容错性, 显然我们需要似的黄色和绿色的线的间隔最大(蓝色的线位于他们的正中间). 因为如果黄色和绿色的线之间的距离过于窄的的话,那么对于出现在这个“临界区”的预测点的预测结果可能会不准确.
由两直线的距离公式:
D = ∣ c 1 − c 2 ∣ A 2 + B 2 D = \frac{|c1-c2|}{\sqrt{A^2+B^2}} D=A2+B2∣c1−c2∣
因为
A 2 + B 2 = ∣ ∣ w ∣ ∣ 2 A^2+B^2 = ||w||^2 A2+B2=∣∣w∣∣2
c 1 − c 2 = 1 − ( − 1 ) = 2 c1-c2=1-(-1)=2 c1−c2=1−(−1)=2
所以
D = 2 ∣ ∣ w ∣ ∣ D = \frac{2}{||w||} D=∣∣w∣∣2
为了使D最大,那么就需要使得 ∣ ∣ w ∣ ∣ ||w|| ∣∣w∣∣ 最小, 也可以说使得 w 2 2 \frac{w^2}{2} 2w2最小1
极值获取
对目前的所有样本,我们知道
当 y>0 时:
w ⃗ x ⃗ + b ≧ 1 \vec{w}\vec{x}+b\geqq1

支持向量机是一种机器学习算法,通过划定超平面进行数据分类。本文介绍了如何找到最佳超平面,确保最大的间隔,以提高预测准确性。利用拉格朗日乘数法解决约束优化问题,找到支持向量,从而确定唯一的超平面。

503

被折叠的 条评论
为什么被折叠?



