美文网首页
机器学习——libSVM(一)

机器学习——libSVM(一)

作者: 生信小工厂 | 来源:发表于2021-03-26 21:00 被阅读0次

    一、什么是支持向量机

    支持向量机(Support Vector Machine,SVM)也称为支持向量网络。是一类按监督学习方式对数据进行二元分类的广义线性分类器。(百度百科)

    1.基础概念的了解

    ①线性可分

    在二维空间中,两类点被一条直线完全分开称之为线性可分

    线性可分
    非线性可分
    用数学语言来描述就是
    D_0D_1分别是N维欧式空间中的两个点集。如果存在N维向量w和实数b,使得所有属于D_0的点都有wx_i+b>0,而对于所有属于D_1的点x_j则有wx_j+b<0,则我们称D_0D_1线性可分。

    ②Margin间隔

    一个线性函数wx_j+b=0将样本分为两类,将这个函数向左平移直到与一个点相切后停止,向右移动后同理,则我们说这两个平移后的直线间的间隔称之为margin。与这两个边界相切的那些点称之为Support vectors也就是支持向量。

    Margin

    2.数学推导

    超平面
    设每个点的表达式为
    g(x)=w \cdot x+b
    它们在空间中满足
    f(x,w,b)=sign(g(x))=sign(w \cdot x+b)

    sign是一种数学函数,在数学和计算机运算中,其功能是取某个数的符号(正或负): 当x>0sign(x)=1;当x=0sign(x)=0; 当x<0sign(x)=-1

    式中的w是一个向量,那么它的方向是指向哪边呢?我们在超平面上取两个点x_1x_2,两点均满足方程w \cdot x+b=0那么有
    w \cdot x_1+b=w \cdot x_2+b
    w(x_1+x_2)=0
    也就是说w垂直于超平面,是超平面的法向量

    w是超平面的法向量

    设空间中有任意一点x向超平面投影,投影点为x'
    二者之间的距离设为M

    投影
    计算M(方法一)

    对于x
    g(x)=w \cdot x+b
    x=x'+ \lambda w
    联立上两式
    g(x)=w(x'+ \lambda w)+b
    =wx'+b+\lambda w \cdot w
    =\lambda w \cdot w
    那么xx'之间的距离M
    M=\begin{vmatrix} \begin{vmatrix}x-x'\end{vmatrix} \end{vmatrix}=\begin{vmatrix} \begin{vmatrix}\lambda w\end{vmatrix} \end{vmatrix}
    ={ \begin{vmatrix}g(x)\end{vmatrix}*\begin{vmatrix} \begin{vmatrix} w\end{vmatrix} \end{vmatrix} \over w \cdot w}
    ={ \begin{vmatrix}g(x)\end{vmatrix}\over \begin{vmatrix} \begin{vmatrix}w\end{vmatrix} \end{vmatrix}}

    计算M(方法二)

    要计算这两点之间的距离我们首先来看一下在二维空间中点(x,y)到直线Ax+By+C=0的距离公式为:
    {Ax+By+C\over \sqrt{ A^2+B^2}}
    扩展到n维空间后,点x到直线w \cdot x+b=0的距离为
    M={ \begin{vmatrix}w \cdot x+b\end{vmatrix}\over \begin{vmatrix} \begin{vmatrix}w\end{vmatrix} \end{vmatrix}}

    参考文章
    【机器学习】支持向量机 SVM(非常详细)
    支持向量机(SVM)入门理解与推导

    相关文章

      网友评论

          本文标题:机器学习——libSVM(一)

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