SVM(2)

作者: zidea | 来源:发表于2019-11-20 05:53 被阅读0次
    svm_07.jpg

    点到直线距离

    这里我们来看一看点(x_0,y_0)Ax + By + C = 0直线的距离,点到直线距离公式是不是初中的知识点已经不记得了。

    f(x_0,y_0) = \frac{|Ax_0 + By_0 + C|}{\sqrt{A^2 + B^2}}
    对公式进行化简,
    \frac{A}{\sqrt{A^2 + B^2}} x_0 + \frac{B}{\sqrt{A^2 + B^2}} y_0 + \frac{C}{\sqrt{A^2 + B^2}}
    其实点到直线方程就可以写出这个样子
    A\prime x_0 + B \prime y_0 + C \prime
    利用我们在前面学到直线表达式,就会得到
    (A\prime + B \prime ) \cdot \left( x_0,y_0 \right)^T+ C
    也就是 \vec{w}^T \vec{x} + b,不也就是一条直线那么,也就是将点到直线的距离直线,扩展到 n 维,w 为直线法线的方向然后我们对
    (w_1,w_2, \dots w_n)
    向量的模如下
    ||w||_2 = (w_1,w_2, \dots w_n) \cdot (w_1,w_2, \dots w_n)^T

    N = \{(x_1,y_1),(x_1,y_1),\dots ,(x_n,y_n) \}
    x_i \in \mathbb{R}

    f(x,w,b) = 0 表示直线,假设已知 w 和 b 那么我们就得到一条直线

    • 对于正例样本,对于所有正例样本其标签为 y^{possive} 为 1,所以整数距离乘以 1 为整数
      \frac{w^{possive} x + b }{||w||} y^{possive}
    • 对于负例样本,对于所有正例样本其标签为 y^{negtive} 为 -1,所以负整数距离乘以 -1 为正整数。
      \frac{w^{negtive} x + b }{||w||} y^{negtive}

    \frac{w x^{i} + b }{||w||} y^{i}
    这是所有样本到分割平面距离,我们接下来就要找距离分割平面最近点
    \min_{i=1,2 \dots n} \frac{w x^{i} + b }{||w||} y^{i}
    这是表示所有样本点(x_i,y_i)到某一条直线f(w_j,b_j)的最近点,

    max( \min_{i=1,2 \dots n} \frac{w_j x_{i} + b_j }{||w||} y^{i} )
    到样本最近距离取最大,这就是 SVM 的任务。我们现在用数学公式表达了 SVM 的任务,就是找到距离分割平面点的间隔最大值。

    那么我们现在将问题扩展到 n 维特征空间,W^TX + b 这里 W 和 X 是 n 维,
    d = \frac{|W^T + b|}{||w||}

    y(x) = w^T \Phi(x) + b
    这里解释一下\Phi 主要是样本的特征一种映射,将样本x^i(x_1,x_2,x_3) 三维特征映射到下面多维特征向量
    \Rightarrow (1,x_1,x_2,x_3,x_1^2,x_2^2,x_3^2,x_1x_2,x_2x_1,x_3x_1,x_3x_2)
    将原始特征通过\Phi就变成了更多的特征,对数据的特征进行可能特征映射。做一阶\Phi 就是特征向量本身。
    求解分割平面问题其实就是凸二次规划问题

    推导目标函数

    y(x) = w^T \Phi(x) + b
    其中y(x) 表示第i样本估计值,我们知道位于分割面法线方法为y(x)为正那么其真实值为1 ,f(x) 和 y 相乘为正,反之亦然。
    \begin{cases} f(x_i) > 0 \Leftrightarrow y_i = 1 \\ f(x_i) < 0 \Leftrightarrow y_i = -1 \end{cases} \Leftrightarrow y_i f(x_i) > 0
    下面是点到直线距离公式
    \frac{y_i \cdot f(x_i)}{||w||} = \frac{y_i \cdot (w^T \cdot \Phi(x_i) + b)}{||w||}

    下面公式 arg 表示对于y_i \cdot (w^T \cdot \Phi(x_i) + b) 这样距离对所有点求最近在求最远。
    arg \max_{w,b} \{ \min_i \frac{1}{||w||}[y_i \cdot (w^T \cdot \Phi(x_i) + b)] \}
    arg \max_{w,b} \{ \frac{1}{||w||} \min_i [y_i \cdot (w^T \cdot \Phi(x_i) + b)] \}
    我们需要求 w 和 b 来满足上面目标函数,怎么优化是比较麻烦,

    • w = (w_1,w_2, \dots w_k)
    • ||w|| = (w_1,w_2, \dots w_k)(w_1,w_2, \dots w_k)^T

    化简目标函数

    其实我们这些支持向量点到分割平面一定是一个参数假设是 C 那么他们距离表示是将这些支持向量点带入上面点到直线方程,因为可以对直线做线性变换除以一个常量 C
    \frac{y_i (w^T \Phi(x_i) + b)}{||w||} = C
    \frac{y_i (w^T \Phi(x_i) + b)}{C||w||} = 1
    w 向量乘上常数 C 后方程是没有变化的。等比例缩放 w 总是可以办到。就可以将距离直线距离取 1。
    总可以通过等比缩放w方法,使得函数值满足 |y \ge 1|
    y_i (W^T \Phi(x_i) + b ) \ge 1
    如果满足上面条件那么y_i (W^T \Phi(x_i) + b )最小值就是 1 将 1 带入上面方程
    \arg \max_{w,b} \frac{1}{||w||}
    s.t. y_i (W^T \Phi(x_i) + b ) \ge 1 , i = 1,2, \cdots , n

    \max_{w,b} \frac{1}{||w||}
    s.t. y_i (W^T \Phi(x_i) + b ) \ge 1 , i = 1,2, \cdots , n

    \max_{w,b} \frac{1}{||w||} 就等价于 \min_{w,b} ||w||^2

    \Rightarrow \min_{w,b} \frac{1}{2}||w||^2
    s.t. y_i (W^T \Phi(x_i) + b ) \ge 1 , i = 1,2, \cdots , n

    相关文章

      网友评论

        本文标题:SVM(2)

        本文链接:https://www.haomeiwen.com/subject/usenictx.html