Lagrange乘子法中,介绍了如何构建及如何使用对偶函数,对目标问题进行求解。

这一章利用L乘子法对SVM进行推导。

SVM 即支持向量机,是通过求解超平面进行分类的一种算法。所谓的支持向量,是在最大间隔边界上的向量。

问题来源: 

如何求解上图中红色线的参数:W b

红色线可表示为: 

点到直线的距离:

在此以直线为分界线是为了可视化,实际当中是超平面。

此时样本可表示为:

得支持向量到超平面距离之和:(支持向量为两黑色线上的样本)

对样本值做标记:

问题:为何不等式选择的右侧值为1或-1》》》不等式可以通过缩放w b的方式改变最终值》》》

此处选择1或-1是为了计算方便,并不影响最终的结果。

通过(1)式构建Lagrange乘子:

  实质是求:

  化成求:

  加入平方项和系数,是为了求导数方便。

  Lagrange乘子法:

  

  对固定的w b 均有:

  加入min,问题化成:

  

  上述的对偶函数:

  对(4)式右侧进行求解,结合(2)分别对w b求偏导:

  将(5)(6)(7)代入(2)式:

  此时问题化成:

  此时的任务是求解(7)式右侧。

  (7)式可以使用SMO算法进行求解:

  在α的m(总共有m个样本点)个值中选取两个:

  固定除这两个的其他α值。

  

  将此条件代入到(7)式,求关于这两个α的极值。

  得到α值后,与之前的条件进行对比,得到支持向量以及α所有值。代入条件得到w b。

  SMO具体细节,下次再总结。

带松弛因子的SVM:

  原理同上述讲解,上述是线性支持可分支持向量机。只是此时加入了其他的约束条件。

  此时可以允许一定的错误分类。

核函数:

  使用核函数可以将原始输入空间映射到新的特征空间没从而使得原来不可分的样本变得可分。

  核函数的选择是SVM变得复杂的又一个因素。

  常用的核函数:

    线性核、高斯核、拉普拉斯核。高斯核用的相对较多。

  原来的不等式约束变成:

  原来的max:

   变成:

    

  核函数k:

  核函数代替了原来简单的变量。

hinge loss:

  对于带松弛因子的SVM,使用对偶函数求极值的方法不易直接求解。使用hinge替代损失函数:

  此时

  变成:

    

  对于多分类时,使用hinge loss更为方便。

ML 徒手系列 SVM的更多相关文章

  1. ML 徒手系列说明

    徒手系列正确打开方式: 1.徒手撸公式 2.徒手撸代码

  2. ML 徒手系列 拉格朗日乘子法

    拉格朗日乘子法是解决极值问题的方法. 本方法是计算多元函数在约束条件下的极值问题的方法. 1.多元函数与约束问题 如下图所示,f(x,y)为多元函数,g(x,y)=c为约束条件.目的是计算在约束条件下 ...

  3. ML 徒手系列 最大似然估计

    1.最大似然估计数学定义: 假设总体分布为f(x,θ),X1,X2...Xn为总体采样得到的样本.其中X1,X2...Xn独立同分布,可求得样本的联合概率密度函数为: 其中θ是需要求得的未知量,xi是 ...

  4. 【ML入门系列】(三)监督学习和无监督学习

    概述 在机器学习领域,主要有三类不同的学习方法: 监督学习(Supervised learning) 非监督学习(Unsupervised learning) 半监督学习(Semi-supervise ...

  5. 【ML入门系列】(二)分类与回归

    前言 在机器学习中,“分类”和“回归”这两个词经常听说,但很多时候我们却混为一谈.本文主要从应用场景.训练算法等几个方面来叙述两者的区别. 本质区别 分类和回归的区别在于输出变量的类型.分类的输出是离 ...

  6. 【ML入门系列】(一)训练集、测试集和验证集

    训练集.验证集和测试集这三个名词在机器学习领域极其常见,但很多人并不是特别清楚,尤其是后两个经常被人混用. 在有监督(supervise)的机器学习中,数据集常被分成2~3个,即:训练集(train ...

  7. CS231n 2016 通关 第三章-SVM与Softmax

    1===本节课对应视频内容的第三讲,对应PPT是Lecture3 2===本节课的收获 ===熟悉SVM及其多分类问题 ===熟悉softmax分类问题 ===了解优化思想 由上节课即KNN的分析步骤 ...

  8. [Machine Learning & Algorithm]CAML机器学习系列1:深入浅出ML之Regression家族

    声明:本博客整理自博友@zhouyong计算广告与机器学习-技术共享平台,尊重原创,欢迎感兴趣的博友查看原文. 符号定义 这里定义<深入浅出ML>系列中涉及到的公式符号,如无特殊说明,符号 ...

  9. 关于ML.NET v0.6的发布说明

    ML.NET 0.6版本提供了几项令人兴奋的新增功能: 用于构建和使用机器学习模型的新API 我们主要关注的是发布用于构建和使用模型的新ML.NET API的第一次迭代.这些新的,更灵活的API支持新 ...

随机推荐

  1. ThinkPHP5.0 用docker部署

    Dockerfile 文件如下: FROM hub.c.163.com/shenggen/thinkphp-docker:v0.0.1 ADD . /app RUN ["chmod" ...

  2. TCP标准模板

    伪代码 #创建一个TCP服务器 ss = socket() #创建服务器套接字 ss.bind() #把地址绑定到套接字上 ss.listen() #监听连接 inf_loop: #服务器无线循环 c ...

  3. iOS 8以后 定位手动授权问题

    ios8以后 都是手动授权定位权限 不过不处理这块 在ios8以后的系统就会默认永不授权 即关闭了定位权限 处理办法如下 .导入框架头文件 #import <CoreLocation/CoreL ...

  4. CSS3自定义Checkbox特效

    在线演示 本地下载

  5. web前端框架之自定义form表单验证

    自定义form验证初试 .在后端创建一个类MainForm,并且在类中自定义host ip port phone等,然后写入方法,在post方法中创建MainForm对象,并且把post方法中的sel ...

  6. hd acm1013

    Problem Description(数根) The digital root of a positive integer is found by summing the digits of the ...

  7. runtime 实现方法交换 viewwillappear方法

    1.新建分类 #import "UIViewController+swizzling.h"#import <objc/runtime.h> @implementatio ...

  8. 《机器学习实战》学习笔记第十一章 —— Apriori算法

    主要内容: 一.关联分析 二.Apriori原理 三.使用Apriori算法生成频繁项集 四.从频繁项集中生成关联规则 一.关联分析 1.关联分析是一种在大规模数据集中寻找有趣关系的任务.这些关系可以 ...

  9. 红米1S刷机

    1. http://www.miui.com/thread-7371342-1-1.html http://www.miui.com/download-226.html#306 http://www. ...

  10. Selenium-使用firepath识别元素

    利用firepath进行元素识别提前已经安装好firebug和firepath 比如,打开http://www.baidu.com 1.按下F12 2.点击如图的位置 3.选择元素,可以定位出元素的属 ...