zoukankan      html  css  js  c++  java
  • 机器学习技法总结(一):支持向量机(linear support vector machine,dual support vector machine)

    第一阶段技法:

    large margin (the relationship between large marin and regularization), hard-SVM,soft-SVM,dual problem(解对偶问题),kernel trick,kernel logistic regression,

    主要思路是:(这里不区分线性与非线性,差别只是特征空间转换,X空间与Z空间的关系)

    1. 从PLA出发,对于二维平面的二分类问题,PLA可能得出一堆能够正确分类的直线,但是哪一条直线会是最好的呢?我们应当如何评价分类的好坏呢?从而导出了large margin 和 support vector的概念。

    具有large margin的那条直线具有更好的抗干扰能力,鲁棒性好。而影响margin大小的其实就是在fat边界上的那些数据,这些数据叫做support vector(candidate)。所以,就有了这样的一个优化目标,如何通过调节w使得margin最大。后面就是一系列的数学优化推导,最后转化为二次规划问题得到解决。

    下面说明large margin背后所隐藏的一些可以解释为何large margin会“好”的原因:1)从regularization角度看,large margin所对应的优化函数,类似于加了regularizer的线性分类/回归问题,也就是说,large margin对应着regularization;

    2)从VC dimension的角度来讲,large margin其实是减少了hypothesis能够shutter的dichotomy(二分类)的数量,也就是说减少了VC dimension,使得模型可以控制overfitting。


    2. 我们另一个动机就是:能不能将X特征空间转化到无限维度的特征空间呢?同时为了保证Hoeffding's 不等式对VC dimension的限制及计算量上的限制,则希望转化后的Z空间的VC dimension不跟W的自由度d相关。


    因此,开始研究svm的dual problem(对偶问题)。在不断的推导和求解dual support vector machine问题时,用到了著名的KKT条件:

    通过上面给的推导和解释,我们可以看到,实际上W值是由on fat boundary上面的support vector线性表出的(这就是后面要讲到的表示定理)。数学的推导与理论分析都说明support vector才是主导我们进行模型选择所用到的数据。


    所以,现在重新限制support vector,刚开始我们提出的边界上的data叫做support vector(candidate),而这个通过解dual问题得到的决定W的alpha不为零的data就叫做support vector。


    回想PLA,类似support vector machine,这个W都是可以通过样本点线性表出的;PLA实际上是通过犯错误的点表出,而support vector machine则是通过support vector线性表出的。


    这就是原始的svm和dual svm的对比。

    到目前为止,我们还没有解决W的维度d和计算量的评估,下面将通过一个叫做kernel  trick的方法,实现无限维度的特征转换。





  • 相关阅读:
    poj 1088 滑雪
    位运算与bitset
    hdu 4607 Park Visit
    树的直径
    codeforces 495D Sonya and Matrix
    German Collegiate Programming Contest 2015(第三场)
    BAPC 2014 Preliminary(第一场)
    Benelux Algorithm Programming Contest 2014 Final(第二场)
    E. Reachability from the Capital(tarjan+dfs)
    poj2104 K-th Number(划分树)
  • 原文地址:https://www.cnblogs.com/huty/p/8519342.html
Copyright © 2011-2022 走看看