机器学习笔记

机器学习算法

内容涉及机器学习算法中的若干细节问题,马上面试了,整理一波。
ps: 有的内容忘记贴原文链接,如果介意,请联系我,立即加上!】

SVM

svm是假设有一个超平面能将样本正确分类,而且使特征空间上的样本的间隔最大化的分类器。可以分为线性可分SVM(硬间隔SVM),线性近似可分SVM(软间隔),非线性可分SVM(利用核函数,非线性SVM)。通过将最大化间隔转换为最小化间隔分之一,利用拉格朗日乘子法将优化约束问题转化为凸的对偶问题,通过对各参数求导取0,得到各参数的表达,将其原式得到对偶问题,通过SMO(序列最小化)对对偶问题求解的过程。

原问题与对偶问题的关系

通过利用拉格朗日乘子法将原问题转换为其对偶问题,使得对偶问题的解是原问最优解的下界,在原问题中,我们要求最小化的解即是对偶问题的解。
为什么要把原问题转换为对偶问题?
因为原问题是凸二次规划问题,转换为对偶问题更加高效。
为什么求解对偶问题更加高效?
因为只用求解alpha系数,而alpha系数只有支持向量才非0,其他全部为0.
alpha系数有多少个? 样本点的个数

KKT限制(https://www.jianshu.com/p/c3e23bf233f8)

KKT条件是确保了局部最优点是原函数最优解的充分条件
KKT可以概括为以下三个条件:拉格朗日函数L(a, b, x)= f(x) + ag(x)+bh(x)(https://blog.csdn.net/xianlingmao/article/details/7919597)
(1)拉格朗日函数L(a,b,x)对x求导为0;
(2)等式约束h(x)为0;
(3)不等式约束乘以拉格朗日乘子a*g(x)为0.
求取这三个等式之后就能得到候选最优值
对于SVM来说。KKT条件是:

  1. a i ≥ 0 a_i\ge0 ai0
  2. y i f ( x i ) − 1 ≥ 0 y_if(x_i)-1\ge0 yif(xi)10
  3. a i ( y i f ( x i ) − 1 ) = 0 a_i(y_if(x_i)-1)=0 ai(yif(xi)1)=0

软间隔问题

软间隔问题是用来解决线性近似可分的样本集的SVM。其中,该方法允许一些样本点出错,但是这些出错的样本点应该尽量少,所以软间隔在原始的优化目标中加入一个惩罚项来对出错的样本进行控制。
优化的目标函数变为: min ⁡ 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 m l ( 0 / 1 ) [ y i f ( x i ) − 1 ] \min \frac{1}{2}||w||^2+C\sum_{i=1}^ml_{(0/1)}[y_if(x_i)-1] min21w2+Ci=1ml(0/1)[yif(xi)1]
其中 C C C是惩罚系数,C越大,对分类出错的样本的个数就应该越小,要求更严格;C越小,允许出错的样本个数增大,要求放宽。
其中 l ( 0 / 1 ) ( x ) = 1 , x < 0 , 0 , x ≥ 0 l_{(0/1)}(x)=1,x<0,0,x\ge 0 l(0/1)(x)=1,x<0,0,x0
但是这个函数非凸不连续,所以我们可以用合页损失函数(hinge loss function)来代替 hinge(x)=max(0,1-x)
同时引入松弛变量 γ i \gamma_i γi表示样本不满足正确分类条件的程度,即 γ i = y i f ( x i ) − 1 \gamma_i=y_if(x_i)-1 γi=yif(xi)1
那么,此时的优化目标及约束变为:
\quad min ⁡ 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 m γ i \min \frac{1}{2}||w||^2+C\sum_{i=1}^m\gamma_i min21w2+Ci=1mγi
\quad y i f ( x i ) + γ i ≥ 1 y_if(x_i)+\gamma_i\ge1 yif(xi)+γi1
\quad γ i ≥ 0 \gamma_i\ge0 γi0
接着通过拉格朗日乘子法得到拉格朗日函数,对w,b, γ i \gamma_i γi分别求导并令为0,带入原目标函数,得到其对偶问题。利用SMO序列最小化方法求解。
软间隔的KKT条件为:
(1) a i ≥ 0 , μ i ≥ 0 a_i\ge0,\mu_i\ge0 ai0,μi0
(2) y i f ( x i ) + γ i ≥ 1 y_if(x_i)+\gamma_i\ge1 yif(xi)+γi1
(3) a i [ y i f ( x i ) + γ i − 1 ] = 0 a_i[y_if(x_i)+\gamma_i-1]=0 ai[yif(xi)+γi1]=0
(4) γ i ≥ 0 , μ i γ i = 0 \gamma_i\ge0,\mu_i\gamma_i=0 γi0,μiγi=0

非线性可分(核函数)

当样本空间线性不可分时,利用一个函数 ϕ \phi ϕ将其映射导更高维特征空间,使得其在高维空间中是线性可分的。这里有一个定理可以保证如果原始空间是有限维的,那么一定存在一个与之对应的高维空间,在这个空间上,样本是线性可分的。

此时,我们要得到的分类平面是 f ( x ) = w T ϕ ( x ) + b f(x)=w^T\phi(x)+b f(x)=wTϕ(x)+b
优化的问题为:
\quad m i n 1 2 ∣ ∣ w ∣ ∣ 2 min \frac{1}{2}||w||^2 min21w2
\quad s . t y i ( w T ϕ ( x i ) + b ) ≥ 1 s.t y_i(w^T\phi(x_i)+b)\ge1 s.tyi(wTϕ(xi)+b)1
其对偶问题为
m a x ∑ i = 1 m a i 1 2 ∑ i = 1 m ∑ j = 1 m a i a j y i y j ϕ ( x i ) ϕ ( x j ) max \sum_{i=1}^ma_i\frac{1}{2}\sum_{i=1}^m\sum_{j=1}^ma_ia_jy_iy_j\phi(x_i)\phi(x_j) maxi=1mai21i=1mj=1maiajyiyjϕ(xi)ϕ(xj)
其中涉及到高维空间的内积计算 ϕ ( x i ) ϕ ( x j ) \phi(x_i)\phi(x_j) ϕ(xi)ϕ(xj),很困难。所以引入核函数,
k ( x i , x j ) = < ϕ ( x i ) , ϕ ( x j ) > k(x_i,x_j)=<\phi(x_i),\phi(x_j)> k(xi,xj)=<ϕ(xi),ϕ(xj)>
意义是,将高维空间的内积计算等价于在原始样本空间的某个函数的计算。
问题1:什么样的函数可以作为核函数
k ( x i , x j ) k(x_i,x_j) k(xi,xj)是核函数,当且仅当对于任意数据,核矩阵式半正定的。
问题2:常见的核函数及其应用背景
线性核: k ( x i , x j ) = x i T x j k(x_i,x_j)=x_i^Tx_j k(x

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

暮后

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值