CS229第五课

  • 支持向量机
    • 1 间隔
    • 2 符号
    • 3 函数间隔与几何间隔
    • 4 最优间隔分类器
    • 5 拉格朗日对偶法
    • 6 最优间隔分类器
    • 7 核方法

支持向量机

1 间隔

首先考虑逻辑回归模型 h θ ( x ) = 1 1 + e x p ( − θ T x ) h_{\theta}(x)=\frac{1}{1+exp(-\theta^Tx)} hθ​(x)=1+exp(−θTx)1​,当 h θ ( x ) ≥ 0.5 h_{\theta}(x)\ge0.5 hθ​(x)≥0.5时我们预测的标签为1,此时的 θ T x ≥ 0 \theta^Tx\ge0 θTx≥0,当 θ T x \theta^Tx θTx越大时, h θ ( x ) h_{\theta}(x) hθ​(x)越大,此时我们有更大的信心说预测的标签数据为1.因此当给定训练数据集时,如果我们能使得 y ( i ) y^{(i)} y(i)标签为1时的 θ T x ( i ) ≫ 0 \theta^Tx^{(i)}\gg0 θTx(i)≫0,则代表训练得到的模型是比较好的,因为此时我们有更大的信心预测数据。
考虑如下图的一种情况,我们给定两个类别的数据集,并给出了划分数据集的超平面( θ T x = 0 \theta^Tx=0 θTx=0),图中有3个点A、B和C,其中A远离超平面,因此我们可以很确定地将A点划分到某一类中,而C点很接近超平面,我们只要稍微地改变决策边界就可以获取改变C所属的类别,因此可以说比起C点,我们对A点的预测分类更有信心。因此,我们希望找到一个决策边界对于所有的训练数据都能给出有信心的预测。

2 符号

为了方便我们讨论SVM算法,我们会对一些符号进行定义,首先我们设置标签 y ∈ { − 1 , 1 } y\in\{-1,1\} y∈{−1,1},然后,我们定义模型的参数为 w , b w,b w,b,即 h w , b ( x ) = g ( w T x + b ) h_{w,b}(x)=g(w^Tx+b) hw,b​(x)=g(wTx+b),在这里如果 z > 0 z>0 z>0则 g ( z ) = 1 g(z)=1 g(z)=1,否则 g ( z ) = − 1 g(z)=-1 g(z)=−1。并且注意到此时模型直接输出预测结果,而不再是输出概率。

3 函数间隔与几何间隔

对于给定的训练样本 x ( i ) , y ( i ) x^{(i)},y^{(i)} x(i),y(i),我们定义函数间隔为 γ ^ ( i ) = y ( i ) ( w T x ( i ) + b ) \hat{\gamma}^{(i)}=y^{(i)}(w^Tx^{(i)}+b) γ^​(i)=y(i)(wTx(i)+b),我们可以注意到,如果 y ( i ) = 1 y^{(i)}=1 y(i)=1,我们希望模型输出的 w T x + b ≫ 0 w^Tx+b\gg0 wTx+b≫0,而相反如果 y ( i ) = − 1 y^{(i)}=-1 y(i)=−1,我们希望模型输出的 w T x + b ≪ 0 w^Tx+b\ll0 wTx+b≪0,因此可以总结为我们希望函数间隔 γ ^ ( i ) = y ( i ) ( w T x ( i ) + b ) \hat{\gamma}^{(i)}=y^{(i)}(w^Tx^{(i)}+b) γ^​(i)=y(i)(wTx(i)+b)远大于0.然而如果单纯使用函数间隔我们无法很好地选择参数,因为函数间隔可以等比例的扩大参数 w , b w,b w,b而不改变原始输出结果。因此,我们通过缩放 w w w和 b b b可以使函数边界任意增大,而不会真正改变任何有意义的东西。因此我们可以通过增加一些标准化条件来改善这种情况,比如 ∣ ∣ w ∣ ∣ 2 = 1 ||w||_2=1 ∣∣w∣∣2​=1。
给定训练的数据集, { ( x ( i ) , y ( i ) ) , i = 1 , 2 , . . . , m } \{(x^{(i)},y^{(i)}),i=1,2,...,m\} {(x(i),y(i)),i=1,2,...,m},我们可以定义函数间隔为
γ ^ = min ⁡ i γ ^ ( i ) \hat{\gamma}=\min_i \hat{\gamma}^{(i)} γ^​=imin​γ^​(i)
接下来让我们考虑几何间隔,如下图所属。 w w w是给定超平面的正交直线,点A ( x ( i ) , y ( i ) ) (x^{(i)},y^{(i)}) (x(i),y(i))是训练集中的一点,该点到决策边界的距离 γ ( i ) \gamma^{(i)} γ(i)为AB,我们需要计算 γ ( i ) \gamma^{(i)} γ(i)的值。 w / ∣ ∣ w ∣ ∣ w/||w|| w/∣∣w∣∣是 w w w方向的单位向量,A点的坐标为 x ( i ) x^{(i)} x(i),因此B点的坐标为 x ( i ) − γ ( i ) ∗ w / ∣ ∣ w ∣ ∣ x^{(i)}-\gamma^{(i)}*w/||w|| x(i)−γ(i)∗w/∣∣w∣∣,因此点B在决策边界上,所以 w T ( x ( i ) − γ ( i ) ∗ w / ∣ ∣ w ∣ ∣ ) + b = 0 w^T(x^{(i)}-\gamma^{(i)}*w/||w||)+b=0 wT(x(i)−γ(i)∗w/∣∣w∣∣)+b=0,所以可以解得 γ ( i ) = w T x ( i ) + b ∣ ∣ w ∣ ∣ = ( w ∣ ∣ w ∣ ∣ ) T x ( i ) + b ∣ ∣ w ∣ ∣ \gamma^{(i)}=\frac{w^Tx^{(i)+b}}{||w||}=(\frac{w}{||w||})^Tx^{(i)}+\frac{b}{||w||} γ(i)=∣∣w∣∣wTx(i)+b​=(∣∣w∣∣w​)Tx(i)+∣∣w∣∣b​,因此我们进一步定义某个训练样本 ( x ( i ) , y ( i ) ) (x^{(i)},y^{(i)}) (x(i),y(i))的几何间隔为
γ ( i ) = y ( i ) ( ( w ∣ ∣ w ∣ ∣ ) T x ( i ) + b ∣ ∣ w ∣ ∣ ) \gamma^{(i)}=y^{(i)}((\frac{w}{||w||})^Tx^{(i)}+\frac{b}{||w||}) γ(i)=y(i)((∣∣w∣∣w​)Tx(i)+∣∣w∣∣b​)

根据几何间隔的定义,其避免了之前函数间隔的问题,即随着参数 w , b w,b w,b的缩放,几何间隔的值不会有变化。同理,对于整个数据集的几何间隔定义为
γ = min ⁡ i γ ( i ) \gamma=\min_i \gamma^{(i)} γ=imin​γ(i)

4 最优间隔分类器

给定一个数据集,根据我们上面的定义,我们需要找个一个决策边界能使得几何间隔的值最大。
现在,我们给定一个可以线性分割的数据集,我们需要根据以下的优化问题来决定最大化几何间隔的超平面
max ⁡ γ , w , b γ s . t . y ( i ) ( w T x + b ) ≥ γ ∣ ∣ w ∣ ∣ = 1 \begin{aligned} \max_{\gamma,w,b}\ &\gamma \\ s.t.\ &y^{(i)}(w^Tx+b)\ge \gamma\\ & ||w||=1 \end{aligned} γ,w,bmax​ s.t. ​γy(i)(wTx+b)≥γ∣∣w∣∣=1​
这个问题将导致( w ; b w;b w;b)相对于训练集具有可能最大的几何间隔。我们只要解决上述的优化问题就可以了,然而 ∣ ∣ w ∣ ∣ = 1 ||w||=1 ∣∣w∣∣=1是一个非凸的约束,因此我们尝试着修改该优化问题。
max ⁡ γ , w , b γ ^ / ∣ ∣ w ∣ ∣ s . t . y ( i ) ( w T x + b ) ≥ γ ^ , i = 1 , 2 , . . . , m \begin{aligned} \max_{\gamma,w,b}\ &\hat{\gamma}/||w|| \\ s.t.\ &y^{(i)}(w^Tx+b)\ge \hat{\gamma},i=1,2,...,m \end{aligned} γ,w,bmax​ s.t. ​γ^​/∣∣w∣∣y(i)(wTx+b)≥γ^​,i=1,2,...,m​
最大化 γ ^ / ∣ ∣ w ∣ ∣ \hat{\gamma}/||w|| γ^​/∣∣w∣∣,因为 γ = γ ^ / ∣ ∣ w ∣ ∣ \gamma=\hat{\gamma}/||w|| γ=γ^​/∣∣w∣∣,因此这样的修改训练得到的结果不会有变化,且不在需要 ∣ ∣ w ∣ ∣ = 1 ||w||=1 ∣∣w∣∣=1这个约束。由于 γ ^ / ∣ ∣ w ∣ ∣ \hat{\gamma}/||w|| γ^​/∣∣w∣∣仍然不是一个凸优化问题,因此我们需要继续对其进行修改,因为在我们之前提到的内容中说到我们可以对参数 w , b w,b w,b进行一定的缩放,因此我们可以控制这两个参数使计算得到的函数间隔为1,即 γ ^ = 1 \hat{\gamma}=1 γ^​=1
因为将参数 w , b w,b w,b同时乘以一个常数相当于将函数间隔乘以该常数,因此我们可以通过缩放两个参数使得上面的约束条件满足,代入前面的优化问题可以得到
min ⁡ γ , w , b 1 2 ∣ ∣ w ∣ ∣ 2 s . t . y ( i ) ( w T x + b ) ≥ 1 , i = 1 , 2 , . . . , m \begin{aligned} \min_{\gamma,w,b}\ &\frac{1}{2}||w||^2 \\ s.t.\ &y^{(i)}(w^Tx+b)\ge 1,i=1,2,...,m \end{aligned} γ,w,bmin​ s.t. ​21​∣∣w∣∣2y(i)(wTx+b)≥1,i=1,2,...,m​
我们现在已经把问题转化为可以有效解决的形式,这是一个只有线性约束的凸二次目标优化问题,我们可以使用商业二次规划来解决这个问题,这样就能获得最优的划分界面了。
我们接下来会介绍拉格朗日对偶性,这将使我们得到优化问题的对偶形式,它将在允许我们使用核函数来获得在非常高维空间中有效工作的最优边界分类器方面发挥关键作用,对偶形式还能使我们推导出一个有效的算法来解决上述优化问题。

5 拉格朗日对偶法

接下来我们先讨论如何求解带约束的优化问题,我们定义一个如下的问题
min ⁡ w f ( w ) s . t . h i ( w ) = 0 i = 1 , 2 , . . . , l \min_w\quad f(w)\\ s.t.\quad h_i(w)=0\quad i=1,2,...,l wmin​f(w)s.t.hi​(w)=0i=1,2,...,l
我们定义拉格朗日乘子法为
L ( w , β ) = f ( w ) + ∑ i = 1 l β i h i ( w ) L(w,\beta)=f(w)+\sum_{i=1}^l \beta_ih_i(w) L(w,β)=f(w)+i=1∑l​βi​hi​(w)
其中的 β i \beta_i βi​称为拉格朗日乘子,我们通过求解上式中的偏导数
∂ L ∂ w i = 0 ∂ L ∂ β i = 0 \frac{\partial L}{\partial w_i}=0\quad \frac{\partial L}{\partial \beta_i}=0 ∂wi​∂L​=0∂βi​∂L​=0
来求解优化问题的解。
接下来我们将问题扩展到含有不等式约束的问题中,其具体格式如下所示
min ⁡ w f ( w ) s . t . h i ( w ) = 0 i = 1 , 2 , . . . , l s . t . g i ( w ) ≤ 0 i = 1 , 2 , . . . , k \begin{aligned} \min_w \quad &f(w)\\ s.t. \quad &h_i(w)=0\quad i=1,2,...,l\\ s.t. \quad &g_i(w)\le 0 \quad i=1,2,...,k \end{aligned} wmin​s.t.s.t.​f(w)hi​(w)=0i=1,2,...,lgi​(w)≤0i=1,2,...,k​
为了解决这个问题,我们定义广义拉格朗日
L ( w , α , β ) = f ( w ) + ∑ i = 1 k α i g i ( w ) + ∑ i = 1 l β i h i ( w ) L(w,\alpha,\beta)=f(w)+\sum_{i=1}^k \alpha_ig_i(w)+\sum_{i=1}^l\beta_ih_i(w) L(w,α,β)=f(w)+i=1∑k​αi​gi​(w)+i=1∑l​βi​hi​(w)
其中的拉格朗日乘子 α i ≥ 0 \alpha_i\ge 0 αi​≥0
考虑下述的问题
θ p = max ⁡ α , β L ( w , α , β ) \theta_{p}=\max_{\alpha,\beta}L(w,\alpha,\beta) θp​=α,βmax​L(w,α,β)
其下标 p p p代表原始问题,如果该式中的 w w w违反了任何一个约束条件,则可以得到下面的公式
L ( w , α , β ) = f ( w ) + ∑ i = 1 k α i g i ( w ) + ∑ i = 1 l β i h i ( w ) = ∞ L(w,\alpha,\beta)=f(w)+\sum_{i=1}^k \alpha_ig_i(w)+\sum_{i=1}^l\beta_ih_i(w)=\infty L(w,α,β)=f(w)+i=1∑k​αi​gi​(w)+i=1∑l​βi​hi​(w)=∞
因此此时的 g i ( w ) > 0 g_i(w)> 0 gi​(w)>0或 h i ( w ) ≠ 0 h_i(w)\not=0 hi​(w)​=0,此时进行最大化可以得到无穷大的值。因此我们可以得到
θ p = { f ( w ) w 满 足 约 束 ∞ e l s e \theta_{p}=\left\{ \begin{aligned} &f(w) \quad w满足约束\\ &\infty \quad else \end{aligned} \right. θp​={​f(w)w满足约束∞else​
因此此时的 θ p \theta_{p} θp​可以得到与原始优化问题的目标相同的值,所以我们考虑如下的优化问题
min ⁡ w θ p = min ⁡ w max ⁡ α , β L ( w , α , β ) \min_w \theta_p=\min_w\max_{\alpha,\beta}L(w,\alpha,\beta) wmin​θp​=wmin​α,βmax​L(w,α,β)
通过这样的设置就可以得到与原始的优化问题相同的形式,我们定义一个最优解,即 p ∗ = min ⁡ w θ p p^*=\min_w \theta_p p∗=minw​θp​。
接下来让我们考虑另一个形式的问题,即
θ D ( w ) = min ⁡ w L ( w , α , β ) \theta_D(w)=\min_wL(w,\alpha,\beta) θD​(w)=wmin​L(w,α,β)
其中的下标 D D D代表对偶问题,我们定义对偶问题的优化问题为
max ⁡ α , β θ D ( w ) = max ⁡ α , β min ⁡ w L ( w , α , β ) \max_{\alpha,\beta}\theta_D(w)=\max_{\alpha,\beta}\min_wL(w,\alpha,\beta) α,βmax​θD​(w)=α,βmax​wmin​L(w,α,β)
同样在上式中 α i ≥ 0 \alpha_i\ge0 αi​≥0,这个优化问题的形式与上面原始问题的优化形式很相似,只是最大化和最小化的位置调换了,我们定义该问题的解为 d ∗ = max ⁡ α , β θ D ( w ) d^*=\max_{\alpha,\beta}\theta_D(w) d∗=maxα,β​θD​(w),该解与原始问题的解之间的关系为
d ∗ = max ⁡ α , β min ⁡ w L ( w , α , β ) ≤ min ⁡ w max ⁡ α , β L ( w , α , β ) = p ∗ d^*=\max_{\alpha,\beta}\min_wL(w,\alpha,\beta)\le \min_w\max_{\alpha,\beta}L(w,\alpha,\beta)=p^* d∗=α,βmax​wmin​L(w,α,β)≤wmin​α,βmax​L(w,α,β)=p∗
但是在某些条件下可以得到 d ∗ = p ∗ d^*=p^* d∗=p∗.
这样我们就可以用对偶问题来代替原问题,让我们分析需要满足哪些条件。
假设 f ( w ) , g i ( w ) f(w),g_i(w) f(w),gi​(w)是凸函数, h i ( w ) h_i(w) hi​(w)是仿射函数,并且假设 g i ( w ) g_i(w) gi​(w)的约束是严格可行的,这就是说存在一些 w w w能使得 g i ( w ) < 0 g_i(w)<0 gi​(w)<0满足。
因此,存在最优解 w ∗ , α ∗ , β ∗ w^*,\alpha^*,\beta^* w∗,α∗,β∗能满足上述的原始优化问题和对偶优化问题,且 p ∗ = d ∗ = L ( w ∗ , α ∗ , β ∗ ) p^*=d^*=L(w^*,\alpha^*,\beta^*) p∗=d∗=L(w∗,α∗,β∗),且这些解满足KKT条件:
∂ ∂ w i L ( w ∗ , α ∗ , β ∗ ) = 0 ∂ ∂ β i L ( w ∗ , α ∗ , β ∗ ) = 0 α ∗ g i ( w ∗ ) = 0 g i ( w ∗ ) ≤ 0 α ∗ ≥ 0 \begin{aligned} \frac{\partial}{\partial w_i}L(w^*,\alpha^*,\beta^*) &=0 \\ \frac{\partial}{\partial \beta_i}L(w^*,\alpha^*,\beta^*) &=0 \\ \alpha^* g_i(w^*) &=0\\ g_i(w^*) &\le 0\\ \alpha^* &\ge 0 \end{aligned} ∂wi​∂​L(w∗,α∗,β∗)∂βi​∂​L(w∗,α∗,β∗)α∗gi​(w∗)gi​(w∗)α∗​=0=0=0≤0≥0​

6 最优间隔分类器

现在考虑之前提到的优化问题
min ⁡ w , b 1 2 ∣ ∣ w ∣ ∣ 2 s . t . y ( i ) ( w T x ( i ) + b ) ≥ 1 \begin{aligned} \min_{w,b}\quad &\frac{1}{2}||w||^2 \\ s.t. \quad &y^{(i)}(w^Tx^{(i)}+b) \ge 1 \end{aligned} w,bmin​s.t.​21​∣∣w∣∣2y(i)(wTx(i)+b)≥1​
我们可以将上面的约束条件改写为 g i ( w ) = − y ( i ) ( w T x ( i ) + b ) + 1 ≤ 0 g_i(w)=-y^{(i)}(w^Tx^{(i)}+b)+1\le 0 gi​(w)=−y(i)(wTx(i)+b)+1≤0
我们根据之前的KKT条件可以得到只有当 y ( i ) ( w T x ( i ) + b ) = 1 y^{(i)}(w^Tx^{(i)}+b)=1 y(i)(wTx(i)+b)=1是此时的 α i > 0 \alpha_i>0 αi​>0。考虑如下图所示的情况,其中的实现代表分割的超平面,具有最小间隔的点就是离该平面最近的点,在下图中总共有3个点满足这种情况,因此只有这三个点对应的 α i \alpha_i αi​不为0,这三个点定义为支持向量,支持向量的数量远小于训练集的数据数量。

接下来让我们考虑上面的优化问题的对偶形式,构建对应的拉格朗日形式为
L ( w , b , α ) = 1 2 ∣ ∣ w ∣ ∣ 2 − ∑ i = 0 m α i [ y ( i ) ( w T x ( i ) + b − 1 ) ] L(w,b,\alpha)=\frac{1}{2}||w||^2-\sum_{i=0}^m\alpha_i[y^{(i)}(w^Tx^{(i)}+b-1)] L(w,b,α)=21​∣∣w∣∣2−i=0∑m​αi​[y(i)(wTx(i)+b−1)]
为了获得对偶问题,我们需要先对参数 w , b w,b w,b进行求解使得上式最小化,因此我们对其求导数,可以得到
∇ w L ( w , b , α ) = w − ∑ i = 1 m α i y ( i ) x ( i ) = 0 \nabla_{w}L(w,b,\alpha)=w-\sum_{i=1}^m\alpha_iy^{(i)}x^{(i)}=0 ∇w​L(w,b,α)=w−i=1∑m​αi​y(i)x(i)=0
因此我们可以得到
w = ∑ i = 1 m α i y ( i ) x ( i ) w=\sum_{i=1}^m\alpha_iy^{(i)}x^{(i)} w=i=1∑m​αi​y(i)x(i)
同理
∇ b L ( w , b , α ) = ∑ i = 1 m α i y ( i ) = 0 \nabla_{b}L(w,b,\alpha)=\sum_{i=1}^m\alpha_iy^{(i)}=0 ∇b​L(w,b,α)=i=1∑m​αi​y(i)=0
将得到的 w w w代回之前定义的 L L L中可以得到
L ( w , b , α ) = 1 2 ∣ ∣ w ∣ ∣ 2 − ∑ i = 0 m α i [ y ( i ) ( w T x ( i ) + b − 1 ) ] = 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y ( i ) y ( j ) ( x ( i ) ) T x ( j ) − ∑ i = 0 m α i [ y ( i ) ( ∑ j = 1 m α j y ( j ) ( x ( j ) ) T x ( i ) + b − 1 ) ] = ∑ i = 1 m α i − b ∑ i = 1 m α i y ( i ) − 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y ( i ) y ( j ) ( x ( i ) ) T x ( j ) = ∑ i = 1 m α i − 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y ( i ) y ( j ) ( x ( i ) ) T x ( j ) \begin{aligned} L(w,b,\alpha)&=\frac{1}{2}||w||^2-\sum_{i=0}^m\alpha_i[y^{(i)}(w^Tx^{(i)}+b-1)]\\ &=\frac{1}{2}\sum_{i=1}^m\sum_{j=1}^m\alpha_i\alpha_jy^{(i)}y^{(j)}(x^{(i)})^Tx^{(j)}-\sum_{i=0}^m\alpha_i[y^{(i)}(\sum_{j=1}^m\alpha_jy^{(j)}(x^{(j)})^Tx^{(i)}+b-1)]\\ &=\sum_{i=1}^m\alpha_i-b\sum_{i=1}^m\alpha_iy^{(i)}-\frac{1}{2}\sum_{i=1}^m\sum_{j=1}^m\alpha_i\alpha_jy^{(i)}y^{(j)}(x^{(i)})^Tx^{(j)}\\ &=\sum_{i=1}^m\alpha_i-\frac{1}{2}\sum_{i=1}^m\sum_{j=1}^m\alpha_i\alpha_jy^{(i)}y^{(j)}(x^{(i)})^Tx^{(j)} \end{aligned} L(w,b,α)​=21​∣∣w∣∣2−i=0∑m​αi​[y(i)(wTx(i)+b−1)]=21​i=1∑m​j=1∑m​αi​αj​y(i)y(j)(x(i))Tx(j)−i=0∑m​αi​[y(i)(j=1∑m​αj​y(j)(x(j))Tx(i)+b−1)]=i=1∑m​αi​−bi=1∑m​αi​y(i)−21​i=1∑m​j=1∑m​αi​αj​y(i)y(j)(x(i))Tx(j)=i=1∑m​αi​−21​i=1∑m​j=1∑m​αi​αj​y(i)y(j)(x(i))Tx(j)​
通过上式的变换后,我们得到的对偶问题为
max ⁡ α ∑ i = 1 m α i − 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y ( i ) y ( j ) < x ( i ) , x ( j ) > s . t . α i ≥ 0 , ∑ i = 1 m α i y ( i ) = 0 \begin{aligned} \max_{\alpha}\quad &\sum_{i=1}^m\alpha_i-\frac{1}{2}\sum_{i=1}^m\sum_{j=1}^m\alpha_i\alpha_jy^{(i)}y^{(j)}<x^{(i)},x^{(j)}> \\ s.t. \quad &\alpha_i \ge 0,\\ \quad &\sum_{i=1}^m\alpha_iy^{(i)} = 0\\ \end{aligned} αmax​s.t.​i=1∑m​αi​−21​i=1∑m​j=1∑m​αi​αj​y(i)y(j)<x(i),x(j)>αi​≥0,i=1∑m​αi​y(i)=0​
我们根据之前的描述可以得到 p ∗ = d ∗ p^*=d^* p∗=d∗,以及KKT条件,因此我们可以通过求解上式而求得原始问题的解,并且通过前面提到的 w , α w,\alpha w,α之间的关系来求解参数 w w w,而参数 b b b的求解则是通过下式解得
b ∗ = − max ⁡ i : y i = − 1 ( w ∗ ) T x ( i ) + min ⁡ i : y i = 1 ( w ∗ ) T x ( i ) 2 b^*=-\frac{\max_{i:y^{i}=-1}(w^*)^Tx^{(i)}+\min_{i:y^{i}=1}(w^*)^Tx^{(i)}}{2} b∗=−2maxi:yi=−1​(w∗)Tx(i)+mini:yi=1​(w∗)Tx(i)​
当我们求解得到需要的参数后,我们对变量 x x x来进行预测,即
w T x + b = ( ∑ i = 1 m α i y ( i ) x ( i ) ) T x + b = ∑ i = 1 m α i y ( i ) < x ( i ) , x > + b \begin{aligned} w^Tx+b&=(\sum_{i=1}^m\alpha_iy^{(i)}x^{(i)})^Tx+b\\ &=\sum_{i=1}^m\alpha_iy^{(i)}<x^{(i)},x>+b \end{aligned} wTx+b​=(i=1∑m​αi​y(i)x(i))Tx+b=i=1∑m​αi​y(i)<x(i),x>+b​
在训练集中,只有支持向量对应的 α \alpha α不为0,而这部分向量通常占的比例很少,通过检查优化问题的对偶形式,我们对问题的结构有了重要的见解,并且能够仅根据输入特征向量之间的内积来编写整个算法,在下一节中,我们将利用此属性将核方法应用于我们的分类问题。由此产生的算法,即支持向量机,将能够在非常高维的空间中有效地学习。

7 核方法

我们在实际训练的时候,可以对输入的特征进行平方或者其他操作来增加特征的维度,我们将这个增加特征维度的方法称为特征映射 ϕ \phi ϕ,我们举一个例子
ϕ ( x ) = [ x x 2 x 3 ] \phi(x)=\begin{bmatrix}x \\ x^2\\x^3\end{bmatrix} ϕ(x)=⎣⎡​xx2x3​⎦⎤​
在应用SVM算法的时候,我们可以对输入特征进行扩展映射进行学习,这代表我们在计算输入向量的内积时计算的是 < ϕ ( x ( i ) ) , ϕ ( x ( j ) ) > <\phi(x^{(i)}),\phi(x^{(j)})> <ϕ(x(i)),ϕ(x(j))>,我们将其定义为核方法,即
K ( x , z ) = ϕ ( x ) T ϕ ( z ) K(x,z)=\phi(x)^T\phi(z) K(x,z)=ϕ(x)Tϕ(z)
在之前的优化过程中涉及了 < x , z > <x,z> <x,z>,我们将其替换为 K ( x , z ) K(x,z) K(x,z),当给定映射方法 ϕ \phi ϕ时,我们可以很容易地计算 K ( x , z ) K(x,z) K(x,z),然而因为映射的维度可能能大,这样在计算方面的代价比较大。在这种情况下,通过在算法中使用一种有效的方法来计算 K ( x , z ) K(x,z) K(x,z),我们可以让支持向量机在高维的特征空间中学习,而不需要显式地找到或表示映射后的向量。
我们接下来考虑一个例子,我们可以定义
K ( x , z ) = ( x T z ) 2 K(x,z)=(x^Tz)^2 K(x,z)=(xTz)2
因此可以将其表示为
K ( x , z ) = ( ∑ i = 1 n x i z i ) ( ∑ j = 1 n x j z j ) = ∑ i = 1 n ∑ j = 1 n ( x i x j ) ( z i z j ) \begin{aligned} K(x,z)&=(\sum_{i=1}^nx_iz_i)(\sum_{j=1}^nx_jz_j)\\ &=\sum_{i=1}^n\sum_{j=1}^n(x_ix_j)(z_iz_j) \end{aligned} K(x,z)​=(i=1∑n​xi​zi​)(j=1∑n​xj​zj​)=i=1∑n​j=1∑n​(xi​xj​)(zi​zj​)​

CS229第五课——支持向量机相关推荐

  1. NeHe OpenGL第三十五课:播放AVI

    NeHe OpenGL第三十五课:播放AVI 在OpenGL中播放AVI: 在OpenGL中如何播放AVI呢?利用Windows的API把每一帧作为纹理绑定到OpenGL中,虽然很慢,但它的效果不错. ...

  2. 【Linux探索之旅】第二部分第五课:用户和权限,有权就任性

    内容简单介绍 1.第二部分第五课:用户和权限,有权就任性 2.第二部分第六课预告:Nano,刚開始学习的人的文本编辑器 用户和权限.有权就任性 今天的标题也挺任性的啊,虽说小编是一个非常本分的人(真的 ...

  3. 第五课.Linux开发基础

    第五课目录 GCC用法参考 GCC的常用用法 make与Makefile Makefile的规则 Makefile的语法 Makefile实例 调试 GDB 设置断点 虽然已经有很多优秀的IDE可以化 ...

  4. Emojify - v2 吴恩达老师深度学习第五课第二周编程作业2

    吴恩达老师深度学习第五课第二周编程作业2,包含答案! Emojify! Welcome to the second assignment of Week 2. You are going to use ...

  5. Operations on word vectors-v2 吴恩达老师深度学习课程第五课第二周编程作业1

    吴恩达老师深度学习课程第五课(RNN)第二周编程作业1, 包含答案 Operations on word vectors Welcome to your first assignment of thi ...

  6. Linux 探索之旅 | 第三部分第五课:延时执行,唯慢不破

    -- 作者 谢恩铭 转载请注明出处 内容简介 第三部分第五课:延时执行,唯慢不破 第三部分第六课预告:第三部分测验题 延时执行,唯慢不破 上一课 Linux探索之旅 | 第三部分第四课:后台运行及合并 ...

  7. 第五课-第三讲05_03_bash脚本编程之二 条件判断

    第五课-第三讲05_03_bash脚本编程之二 条件判断 变量名称:只能保含字母数字下划线,且不能数字开头.不能和系统中已存在的环境变量重名.见名知意 bash中如何实现条件判断? 条件测试类型: 整 ...

  8. webgl(three.js)实现室内定位,楼宇bim、实时定位三维可视化解决方案——第五课

    webgl(three.js)实现室内定位,楼宇bim.实时定位三维可视化解决方案--第五课 参考文章: (1)webgl(three.js)实现室内定位,楼宇bim.实时定位三维可视化解决方案--第 ...

  9. 0.0 目录-深度学习第五课《序列模型》-Stanford吴恩达教授

    文章目录 目录 第五课 第四课 第三课 第二课 第一课 目录 第五课 <序列模型> 笔记列表 Week 1 循环序列模型 Week 1 传送门 -> 1.1 为什么选择序列模型 1. ...

最新文章

  1. 【剑指offer-Java版】04替换空格
  2. python手机版怎么用-QPython,一个在手机上运行Python的神器
  3. linux下直接使用base64就可转换图片为二进制
  4. Spring注意事项(各部分理解)
  5. Hive问题汇总记录,持续更新
  6. php study是什么,phpstudy有什么用
  7. 将android中如何调整Toast位置?
  8. c# 实现查找mysql安装路径
  9. MySQL呕血汇总--从基础到毕业【收藏篇】
  10. 计算机设备问题代码43,双击unknown device由于该设备有问题Windows已将其停止(代码 43)怎么办解决教程...
  11. HTML爱心网页制作[樱花+爱心]
  12. 实用技巧:阿里云服务器建立公网物联网服务器(解决阿里云服务器端口,公网连接不上的问题)
  13. windows远程ubuntu键盘无法输入
  14. linux gpio口测试程序,gpio接口测试
  15. 【课程全解】-UML软件建模设计
  16. Android之如何分析手机系统相册图片和视频删除后保存的位置然后恢复文件,目前已经适配小米、OPPO、VIVO、一加、努比亚、魅族等手机。
  17. 软件测试隔一日问题C++实现
  18. C#怎么选中datagridview中的一行,并获得它的数据?
  19. 运用javascript的成员访问特性来实现通用版的兼容所有浏览器的打开对话框功能...
  20. 收藏 年度大盘点 可信计算相关(国家、部委、省市)法律、法规、政策、规划汇总

热门文章

  1. linux 之atop 系统监控工具
  2. MASM32编程完善SysInfo遇到奇怪故障,真切感受全局变量和局部变量之别……
  3. 2020知道python答案_2020知道智慧树Python程序设计答案
  4. Mysql存储引擎Innodb的读写锁、行级锁
  5. C/C++要点全掌握(二)——堆栈、指针
  6. 【太虚AR_v0.1】使用教程 | SLAM(Markerless)
  7. 拼多多被曝确定五一放假三天,网友:“这也砍一刀?”
  8. win10安装MinGW-64
  9. openFOAM中的Scalar
  10. 主动降噪耳机那些事儿(一)