博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
统计学习精要(The Elements of Statistical Learning)课堂笔记(二十一):SMO算法
阅读量:3518 次
发布时间:2019-05-20

本文共 965 字,大约阅读时间需要 3 分钟。

1. SVM优化问题

1) 原问题

min12w2+Ciξi

s.t.yi(wi+b)1ξi,i

2) 拉格朗日形式的表述

minL(yi,wxi+b)+λw2

其中, L(yi,wxi+b)=l(y(wx+b))

3) 对偶问题

ming(λ,μ)=12ij(λiyi)(λjyj)(xixj)iλi

s.t.iλiyi=0

0λiC

μi0

4) SVM分类器

(i) W=iλiyixi

(ii) 选 0<λi<C

b=yiwxi=yijλjyj(xixj) ,然后
b~=average(bi)

(iii)SVM分类器 sign(wx+b)=sign(Ni=1λiyi(xxi)+b)

2. SMO算法

1) 基本思想:迭代下降、坐标下降

一次要选择两个变量(否则会破坏 λiyi=0

的约束),之后就可以解这个双变量优化问题。

2) 两个变量的优化

任取 λ1

,
λ2 作为变量,其他
λ3,...

作为常量。

展开的矩阵大致如下:

λ1λ2λNy1x1y2x2yNxNλ1y1x1λ2y2x2yiyj(xixj)λiλjλNyNxN

目标函数= a11λ1λ1+a12λ1λ2+a21λ2λ1+a22λ2λ2+b1λ1+b2λ2+c

这样 a11=x12

,
a22=x22 ,
a12=|x1x2| ,
a21=|x2x1|

约束 0λ1,λ2C

(对应对偶问题)

λ1y1+λ2y2+d=0

,这里d代表其余不改变的那些
Ni=3λiyi

化到单变量的话, λ2=(dλ1y1)/y2

所以,

  • 目标函数= e0λ21+e1λ1+e2
,最优条件
λ1¯=e12e0

  • 约束 Lλ1H ,其中 L H
  • 分别为lower/upper bound。故必有最优点在L、H之间或者L、H之一。
  • mine0λ21+e1λ1 s.t.Lλ1H ,可以解得 λ1=Lλ1¯Hλ1¯<LLλ1¯Hλ1¯>H

    这里虽然需要迭代很多次,但是迭代的每一步都比较快。

    至于如何选择 λ1,2

    ,第一个变量 λ1 可以选择 0<λ<C ,同时 bib¯ 最大。第二个变量选择 HL 最大的。

转载地址:http://dcvqj.baihongyu.com/

你可能感兴趣的文章
MySQL笔记
查看>>
计算机运算方法之(原码 补码 反码 移码)
查看>>
计算机组成原理之(二进制与十进制互相转换,数的定点表示与浮点数表示)例题:设浮点数字长16位,其中阶码5位(含有1位阶符),尾数11位(含有1位数符)
查看>>
冒泡排序及其优化
查看>>
选择排序(java代码实现)
查看>>
插入排序
查看>>
哈夫曼树java代码实现
查看>>
快速排序
查看>>
vue路由高亮的两种方式
查看>>
vue router 报错: Uncaught (in promise) NavigationDuplicated {_name:""NavigationDuplicated"... 的解决方法
查看>>
vue跳转页面的两种方式
查看>>
存储器题目解析(持续更新中....)
查看>>
存储器知识要点
查看>>
Cache模拟器的实现
查看>>
实验2:MIPS指令系统和MIPS体系结构
查看>>
设计模式七大原则
查看>>
手写 | spring事务
查看>>
AndroidStudio Gradle手动下载
查看>>
SpringBoot入门(二)场景启动器
查看>>
SpringBoot入门--自动配置
查看>>