机器学习技法-1~3讲

2018-05-10  本文已影响0人  安于此生__
三条直线都正确,哪条直线最好: image.png 会选择第三条,原因: image.png

因此我们希望找一条胖胖的线


fatness也就是我们所说的margin,上图中的公式就可以写成



需要满足两点:

目标: find largest-margin separating hyperplane
hypothesis表示为h(x) = sign(WTX+b)
点到直线的距离计算公式:


目标变为:

继续简化-放缩

min 公式=1的必要条件是 min 公式>=1,解等价。
把条件放松之后,目标变为:
image.png
接下来的任务
求解SVM
转变成二次规划的形式求解

SVM的理论保证:和之前学习过的正则化比较。


另一个方面
consider ‘large-margin algorithm’ Aρ :
either returns g with margin(g) ≥ ρ (if exists), or 0 otherwise


对偶问题2

拉格朗日函数:

原问题有条件-->无条件的


选出b,w

  1. 通过L函数,可以求得原问题的下限。(最大化和最小化做了交换)
  2. 满足一定条件(凸,有解,线性条件)。有强对偶关系,解等价。


    对偶问题
拉格朗日函数解法
经过推到,原问题解和a有关,满足三个条件 KKT条件

然后取负号:把最大化-->最小化;再把约束写到下面。把平方展开。专心求解a,w是一个藏起来的条件。然后用二次规划求解。


SVM和PLA比较
总结

第三讲kernel SVM ——简化dual SVM的计算量

弯弯曲曲的d的解决:用kernel。
kernel不同,几何定义不同,距离计算的方式不同。得到的边界不一样。

kernel SVM

使用无限多维?
可以。

线性的kernel(不做任何转换):
优点:

  1. 简单,安全
  2. 不涉及别的问题,所以可以设计特别的QP二次规划的解决办法
  3. 可以很容易的看出来machine怎么做分类的。哪些点重要

坏处:
有限制,当数据不是线性可分的时候。

线性核

polynomial kernel多项式核:
计算有困难,很多参数要选择,比较困难,心里有想好的Q的时候用

py核

高斯核-无限多维的转换

高斯核

自己定义的核函数:对称,求出来的K是半正定的

上一篇 下一篇

猜你喜欢

热点阅读