zoukankan      html  css  js  c++  java
  • 有监督分类:支持向量机support vector machine(svm)

    1:支持向量机

    拟解决问题:如何选择一条分的开并且能够分的好的线? 

    解决办法:找到一条线(w和b),使得离该线最近的点距离最远。

     公式推导:点到直线的距离?

    第一步:建模,推出点到直线的一般距离公式distance(x,b,w)

     【注】wTx'+b=0(即a*x+b*y+c*z+b=0)为一个平面方程,w为法向量是一个列向量,x为平面上的一点是一个列向量,b也为一个列向量。

    第二步:代入实例,结合【第一步】的距离公式,推出样本点到直线的一般距离公式

     

    第三步:根据步骤2的公式进行SVM最终目标(找到一条线,使得距离分割平面最近的点距离这条线最远)的建模。

     

     第四步:转换目标函数,以便能够使用拉格朗日乘子法求w,b,然后转换成对偶问题进行求解。

     

    第五步:对maxaminw,bL(w,b,a)进行求解

    (1)对minw,bL(w,b,a)求解

     

     

    (2)将对a求极大值转换成求极小值

     

     (3)代入样本点,求解最小值对应的a(阿法)值

     

     

     

     故w和b的求出,便可以知道选择哪一条线既可以分的分的开又可以分的好了。

    a(阿法)的求出,便可以知道哪些样本点为支持向量了。

    (4)由于a(阿法)2=0,故x2未参与计算,故x1和x3为计算最大间隔分离超平面的支持向量。

     

     2:软间隔支持向量机

    拟解决问题:离群点的出现,可能会导致支持向量机过拟合。

     解决办法:引入松弛因子,加大了对a(阿法)的限制,增大了支持向量机的泛化能力。

     

  • 相关阅读:
    virtualenv建立新的python环境
    c++ 类构造函数&析构函数
    Spring中的BeanPostProcessor和BeanFactoryPostProcessor
    01 | 日志段:保存消息文件的对象是怎么实现的?
    linux 常用命令大全
    select/poll/epoll
    Redis 数据结构 api操作复杂度 ~~~~
    Redis底层数据结构----1 结构与命令
    Linux进阶系列 1 --- 进程通信
    让我们来写个算法吧,(6);链表排序
  • 原文地址:https://www.cnblogs.com/jiafeng1996/p/15643096.html
Copyright © 2011-2022 走看看