吴恩达机器学习-7-支持向量机SVM
Posted 尤尔小屋的猫
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了吴恩达机器学习-7-支持向量机SVM相关的知识,希望对你有一定的参考价值。
公众号:尤而小屋
作者:Peter
编辑:Peter
吴恩达机器学习-7-支持向量机SVM
本周主要是讲解了支持向量机SVM的相关知识点
- 硬间隔
- 支持向量
- 软间隔
- 对偶问题
优化目标Optimization Objectives
主要是讲解如何从逻辑回归慢慢的推导出本质上的支持向量机。逻辑回归的假设形式:
- 左边是假设函数
- 右边是
Sigmoid
激活函数
令 z = θ T x z={\\theta}^{T}x z=θTx,如果满足:
- 若 y = 1 y=1 y=1,希望 h ( θ ) h{(\\theta)} h(θ)约为1,将样本正确分类,那么z必须满足 z > > 0 z>>0 z>>0
- 若 y = 0 y=0 y=0,希望 h ( θ ) h(\\theta) h(θ)约为0,将样本正确分类,那么z必须满足 z < < 0 z<<0 z<<0
样本正确分类指的是:假设函数h(x)得到的结果和真实值y是一致的
总代价函数通常是对所有的训练样本进行求和,并且每个样本都会为总代价函数增加上式的最后一项(还有个系数 1 m \\frac{1}{m} m1,系数忽略掉)
如果 y = 1 y=1 y=1,目标函数中只有第一项起作用,得到了表达式 :
y = 1 − l o g ( 1 − 1 1 + e − z ) y=1-log(1-\\frac{1}{1+e^{-z}}) y=1−log(1−1+e−z1)
支持向量机
根据逻辑回归推导得到的支持向量机的公式 :
m i n C ∑ i = 1 m [ y ( i ) c o s t 1 ( θ T x ( i ) ) + ( 1 − y ( i ) ) c o s t 0 ( θ T x ( i ) ] + 1 2 ∑ i = 1 n θ j 2 min C\\sum^m_{i=1}[y^{(i)}cost_1(\\theta^Tx^{(i)})+(1-y^{(i)})cost_0(\\theta^Tx^{(i)}]+\\frac{1}{2}\\sum^n_{i=1}\\theta_{j}^2 minCi=1∑m[y(i)cost1(θTx(i))+(1−y(i))cost0(θTx(i)]+21i=1∑nθj2
两个cost
函数是上面提到的两条直线。对于逻辑回归,在目标函数中有两项:
- 第一个是训练样本的代价
- 第二个是正则化项
大边界的直观解释
下面是支持向量机的代价函数模型。
SVM决策边界
SVM鲁棒性:间隔最大化,是一种大间距分类器。
关于上图的解释:
C
太大的话,将是粉色的线C
不是过大的话,将是黑色的线
大间距分类器的描述,仅仅是从直观上给出了正则化参数C非常大的情形,C的作用类似于之前使用过的正则化参数 1 λ \\frac{1}{\\lambda} λ1
C
较大,可能导致过拟合,高方差C
较小,可能导致低拟合,高偏差
硬间隔模型
间隔和支持向量
注释:本文中全部采用列向量:
w = ( w 1 , w 2 , … , w n ) w=(w_1,w_2,…,w_n) w=(w1,w2,…,wn)
给定一个样本训练集 D = ( x 1 , y 1 ) , ( x 2 , y 2 ) , … , ( x m , y m ) D={(x_1,y_1),(x_2,y_2),…,(x_m,y_m)} D=(x1,y1),(x2,y2),…,(xm,ym),其中 y i ∈ ( − 1 , + 1 ) y_i \\in {(-1,+1)} yi∈(−1,+1)
分类学习的基本思想就是:基于训练集D
在样本空间上找到一个划分的超平面
上面红色的线是最好的。所产生的分类结果是最鲁棒的,最稳定的,泛化能力是最好的。
划分超平面的的线性描述: w ⋅ x + b = 0 {w\\cdot x+b=0} w⋅x+b=0
W称之为法向量(看做是列向量),决定平面的方向;b是位移项,决定了超平面和原点之间的距离。
空间中任意一点x到超平面(w,b)的距离是:
r = ∣ w ⋅ x + b ∣ ∣ ∣ w ∣ ∣ r=\\frac{|w \\cdot x + b|}{||w||} r=∣∣w∣∣∣w⋅x+b∣
在 + + +区域的点满足 y = + 1 y=+1 y=+1:
w ⋅ x + + b ≥ 1 w \\cdot {x_+} + b \\geq1 w⋅x++b≥1
在 − - −区域的点满足 y = − 1 y=-1 y=−1:
w ⋅ x − + b ≤ − 1 w \\cdot {x_-} + b {\\leq}-1 w⋅x−+b≤−1
综合上面的两个式子有:
y ( w ⋅ x + + b ) − 1 ≥ 0 y(w \\cdot {x_+} + b )-1 \\geq0 y(w⋅x++b)−1≥0
支持向量
距离超平面最近的几个点(带上圆圈的几个点)称之为支持向量support vector
,这个点到超平面到距离称之为间隔margin
刚好在决策边界上的点(下图中带上圆圈的点)满足上式中的等号成立:
y i ( w ⋅ x + b ) − 1 = 0 y_i(w \\cdot x + b) -1=0 yi(w⋅x+b)−1=0
间距margin
求解间距margin
就是求解向量
(
x
+
−
x
−
)
{({x_+}-{x_-})}
(x+−x−)在法向量上的投影
KaTeX parse error: No such environment: align at position 8: \\begin{̲a̲l̲i̲g̲n̲}̲margin& = (x_+-…
决策边界上的正例表示为:
y i = + 1 → 1 ∗ ( w ⋅ x + + b ) − 1 = 0 → w ⋅ x + = 1 − b y_i=+1 \\rightarrow 1*(w\\cdot x_+ +b) - 1 =0 \\rightarrow w\\cdot x_+ =1-b yi=+1→1∗(w⋅x++b)−吴恩达《机器学习》课程总结(12)支持向量机