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的方法,实现无限维度的特征转换。





  • 相关阅读:
    base 镜像
    最小的镜像
    Docker 组件如何协作?- 每天5分钟玩转容器技术(8)
    Docker 架构详解
    容器 What, Why, How
    【视频或者图文】运行第一个容器
    运行第一个容器
    [原]关于helios自定义面板简述
    [osg]osg背景图设置
    [qt]qstring和string中文支持转换问题
  • 原文地址:https://www.cnblogs.com/huty/p/8519342.html
Copyright © 2011-2022 走看看