【统计学习方法by李航】第二章 感知机 个人总结


 
链接:[ 全文章目录 ]

一、感知机模型[2.1]


超平面:
输入空间是n维向量,那么超空间就是(n-1)维向量
【键盘字母上面的数字1到0(10个不同的变量),如果想把它们分割开,需要有(10-1)个隔板(9个超空间)】
 
分离超平面(将n整合为2的超平面):
在一个平面中划一条线,使平面中的样本尽可能的分为正负两类。(一般判断是或不是)

(一)定义2.1

简单定义:【感知机就是 求出分离超平面,再 通过分离超平面来进行二分类 的一种模型。】
 
具体定义:
在这里插入图片描述
在这里插入图片描述
w∊Rn:叫作权值或权值向量
b∊R  :叫作偏置
w·x表示w和x的内积(就是点积

!注意,w和x都是长度为n的向量

感知机是一种 线性分类模型 ,属于 判别模型
感知机模型的假设空间是定义在特征空间中的 所有线性分类模型线性分类器
即函数集合 { f | f(x)=w·x+b }

(二)几何解释

在这里插入图片描述
||w||:向量w的2范数是w中各个元素平方之和再开根号,就是向量的模(长度)
AD算出来是:b1+w2-\frac{b}{\sqrt{1+w^2}}
怎么变成:bw-\frac{b}{||w||} 也就是 bw2-\frac{b}{\sqrt{w^2}} 的不是很清楚

 
 

二、感知机学习策略[2.2]


(一)数据集的线性可分型[2.2.1]

能用一条线 完全的 分割为两种类型,就称数据集有线性可分型。(不能有一类的某个点跑到另一类里面)

(二)感知机学习策略[2.2.2]

定义(经验)损失函数并将损失函数 极小化 ,求出w、b。
这里的损失函数为:误分类点到超平面(那条线)S的总距离。

具体推倒:

1、把点到直线距离公式摆上来,代入超平面方程

距离d=Axi+Byi+CA2+B2d=\frac{|Ax_i + By_i + C|}{\sqrt{A^2 + B^2}}
已知超平面方程为:w·x+b=0,代入上式,得:
距离d=wxi+bw2=wxi+bwd=\frac{|wx_i + b|}{\sqrt{w^2}}=\frac{|wx_i + b|}{||w||}
 

2、为了去掉绝对值,我们现在看看误分类数据有什么特点

已知有个误分类的数据(xi, yi)
因为它误分类了,所以当:
(1)w·xi+b>0,即被分类为正类时,它的原分类yi必为-1(负类)
(2)w·xi+b<0,即被分类为负类时,它的原分类yi必为+1(正类)

那么对误分类的数据必有:yi(wxi+b)&lt;0y_i(w·x_i+b)&lt;0
而距离是正数,所以在前面加上负号,变成:d=yi(wxi+b)wd=-\frac{y_i(wx_i + b)}{||w||}

【乘上一个 “-yi 就可以把绝对值去掉,还可以筛出误分类的数据(正确分类的距离必为负值)】
 

3、推广到多个点

M为误分类点的集合
(1)总距离为:1wxiϵMyi(wx+b)-\frac{1}{||w||}\sum_{x_i\epsilon M}y_i(w·x+b)

(2)因为w是超平面的法向量,与大小无关,而1w\frac{1}{||w||}是一个标量,所以可以忽略1w\frac{1}{||w||}

(3)得到感知机学习的损失函数(经验风险函数):L(w,b)=xiϵMyi(wx+b)L(w,b)=-\sum_{x_i\epsilon M}y_i(w·x+b)

(三)损失函数特性

1、非负(距离)
2、正确分类时值为0
3、损失函数是连续可导函数:在误分类时,它是线性函数;正确分类时它是常数函数。
 
 

三、感知机学习算法[2.3]


(一)感知机学习算法的原始形式[2.3.1]

通过 梯度下降法 求损失函数的极小值:minw,bL(w,b)=xiϵMyi(wx+b)(2.5)min_{w,b}\quad L(w,b)=-\sum_{x_i\epsilon M}y_i(w·x+b) \qquad\qquad(2.5)

1、梯度下降法的几何解释:通过 不断的运算,使点向 极小值 逼近。

在这里插入图片描述
 

2、梯度下降法的具体算法【本章重点】

损失函数的梯度:2.5wwL(w,b)=xiϵMyixi(由2.5对w求偏导)\bigtriangledown_wL(w,b)=-\sum_{x_i\epsilon M}y_ix_i2.5bbL(w,b)=xiϵMyi(由2.5对b求偏导)\bigtriangledown_bL(w,b)=-\sum_{x_i\epsilon M}y_i
 
(1)任取一个超平面(任取w,b)

(2)得到误分类点的集合M

(3)遍历误分类点求梯度对w,b进行更新:ww+ηyixiw \gets w+\eta y_ix_i bb+ηyib \gets b+\eta y_i

(4)直到L(w,b)=0

η\eta(0<η\eta<=1)是步长,又称学习率,用来控制梯度大小。
(在吴恩达的machine learning中,学习率用的是 θ\theta
 

3、梯度下降法的其他解释

当一个实例点被误分类,即位于分离超平面的错误一侧时,则调整w,b的值,使分离超平面向该误分类点的一侧移动,以减少该误分类点与超平面间的距离,直至超平面越过该误分类点使其被正确分类。

4、例2.1(略),通过梯度下降法的具体算法很容易理解

 
 


(二)算法的收敛性[2.3.2](算法收敛的证明)(尽量简化通俗了)

这里证明经过 有限次迭代 可以得到一个将训练数据集 完全正确划分 的分离超平面及感知机模型。

为了便于叙述与推导,
将偏置b并入权重向量w,记作: w^\hat{w}=(wT,b)T
同样也将输入向量加以扩充,加进常数1,记作: x^\hat{x}=(xT,1)T
这样,w^\hat{w}∊R N+1 ,x^\hat{x}∊R N+1 。 显然,w^\hat{w}·x^\hat{x}=w·x+b。

结论:
在这里插入图片描述

1、对于(1)书中的证明

(1)由于训练数据集是线性可分的,存在超平面可将训练数据集完全正确分开,
取此超平面为w^optx^=woptx+bopt=0\hat{w}_{opt}·\hat{x}=w_{opt}·x+b_{opt}=0,使w^opt=1||\hat{w}_{opt}||=1。由于对有限的i=1,2,…,N,均有:yi(w^optxi^)=yi(woptx+bopt)&gt;0y_i(\hat{w}_{opt}·\hat{x_i})=y_i(w_{opt}·x+b_{opt})&gt;0
所以存在γ=mini{yi(woptx+bopt)}\gamma=min_i \{y_i(w_{opt}·x+b_{opt})\}
使

yi(w^optxi^)=yi(woptx+bopt)γ1******y_i(\hat{w}_{opt}·\hat{x_i})=y_i(w_{opt}·x+b_{opt})\ge\gamma\qquad(公式1)******

(2)解释

  1. w^opt\hat{w}_{opt}、wopt、bopt的下标opt的意思是:【对任意可选的】w^\hat{w}、w、b。只要满足式子即可。
  2. w^opt=1||\hat{w}_{opt}||=1,原因:w^opt\hat{w}_{opt}可以乘上任意常数使公式1都成立,所以,为了特殊化,使w^opt\hat{w}_{opt}为单位长度,一般是w^opt=1||\hat{w}_{opt}||=1
  3. γ0\gamma就是一个大于0的数,没啥意义
     

2、对于(2)书中的证明(含解释)

感知机算法从w^0=0\hat{w}_0=0 (方便后面推导) 开始,如果实例被误分类,则更新权重。

分步证明每一步最终都会得到一个公式,最后进行合并得到推论

分步证明1


(1) 令 k-1 是第k个误分类实例之前的扩充权重向量(就是w^\hat{w}在右下角加了个k-1的下标),即
w^k1=(wk1T,bk1)T\hat{w}_{k-1} = (w^T_{k-1},b_{k-1})^T


(2) 则第k个误分类实例的前提条件(第k次更新前的损失函数)是【这里是把上面的wk1w_{k-1}bk1b_{k-1}代入了损失函数】
yi(w^k1x^i)=yi(wk1xi+bk1)0y_i(\hat{w}_{k-1}·\hat{x}_i)=y_i(w_{k-1}·x_i+b_{k-1})\le0
小于0上面有推导,等于0是因为存在没有误分类的情况


(3) 若(xi,yi)是被w^k1=(wk1T,bk1)T\hat{w}_{k-1} = (w^T_{k-1},b_{k-1})^T误分类的数据,则w和b的更新是
wkwk1+ηyixiw_k \gets w_{k-1}+\eta y_ix_i bkbk1+ηyib _k\gets b_{k-1}+\eta y_i
【就是w和b的更新公式加了个下标】

根据上面的两个更新公式化简得:

w^k=w^k1+ηyix^i2******\hat{w}_k=\hat{w}_{k-1}+\eta y_i\hat{x}_i\qquad(公式2)******

化简过程如下
w^k=(wkT,bk)T=wk+bk=wk1+ηyixi+bk1+ηyi=[wk1+bk1]+[ηyi(xi+1)]=w^k1+ηyix^i\hat{w}_k=(w^T_k,b_k)^T=w_k+b_k\\=w_{k-1}+\eta y_ix_i+b_{k-1}+\eta y_i\\=[w_{k-1}+b_{k-1}]+[\eta y_i(x_i+1)]\\=\hat{w}_{k-1}+\eta y_i\hat{x}_i

 

分步证明2


(4) 由公式2w^k=w^k1+ηyix^i\hat{w}_k=\hat{w}_{k-1}+\eta y_i\hat{x}_i
可以求出:w^kw^opt=w^k1w^opt+η[yix^iw^opt]\hat{w}_k·\hat{w}_{opt}=\hat{w}_{k-1}·\hat{w}_{opt}+\eta [y_i\hat{x}_i·\hat{w}_{opt}]


(5)
由公式1(的一部分)yi(w^optxi^)γy_i(\hat{w}_{opt}·\hat{x_i})\ge\gamma
我们就可以把上面(4)式子里面方括号的东西换掉:
w^k1w^opt+η[yix^iw^opt]w^k1w^opt+ηγ\hat{w}_{k-1}·\hat{w}_{opt}+\eta [y_i\hat{x}_i·\hat{w}_{opt}]\quad\ge\quad\hat{w}_{k-1}·\hat{w}_{opt}+\eta \gamma


(6) 我们把(5)中不等式的右边推广一下,得到(η\etaγ\gamma都是正的):
w^k1w^opt+ηγw^k2w^opt+2ηγw^0w^opt+kηγ左边\ge\hat{w}_{k-1}·\hat{w}_{opt}+\eta \gamma\ge\hat{w}_{k-2}·\hat{w}_{opt}+2·\eta \gamma\ge···\ge\hat{w}_{0}·\hat{w}_{opt}+k·\eta \gamma
这里k&gt;=1,kϵN+k&gt;=1,k\epsilon N^+(k是大于等于1的正整数)

由(4)和(5)整理得:w^kw^optw^0w^opt+kηγ=kηγw^0=0\hat{w}_k·\hat{w}_{opt}\ge\hat{w}_{0}·\hat{w}_{opt}+k·\eta \gamma= k·\eta \gamma(\hat{w}_{0}=0)
得到

w^kw^optkηγ3******\hat{w}_k·\hat{w}_{opt}\ge k·\eta \gamma\qquad(公式3)******

 

分步证明3


(7) 由分步证明1得出的公式2 “ w^k=w^k1+ηyix^i\hat{w}_k=\hat{w}_{k-1}+\eta y_i\hat{x}_i ”,等式两边平方得:
w^k2=w^k12+2w^k1ηyix^i+η2yi2x^i2||\hat{w}_k||^2=||\hat{w}_{k-1}||^2+2·\hat{w}_{k-1}·\eta y_i\hat{x}_i+\eta^2 y_i^2||\hat{x}_i||^2
因为yi取正负1,所以yi2=1y_i^2=1,就变成了书中的式子(最后那项少了yi2y_i^2):
w^k2=w^k12+2w^k1ηyix^i+η2x^i2||\hat{w}_k||^2=||\hat{w}_{k-1}||^2+2·\hat{w}_{k-1}·\eta y_i\hat{x}_i+\eta^2 ||\hat{x}_i||^2


(8) 由分步证明1的(2)中式子 “ yi(w^optxi^)0y_i(\hat{w}_{opt}·\hat{x_i})\le0 ”;再由于“步进η\eta”必大于0
所以(7)最后式子中的2w^k1ηyix^i02·\hat{w}_{k-1}·\eta y_i\hat{x}_i(必定小于等于0)
即有:w^k12+2w^k1ηyix^i+η2x^i2w^k12+η2x^i2||\hat{w}_{k-1}||^2+2·\hat{w}_{k-1}·\eta y_i\hat{x}_i+\eta^2 ||\hat{x}_i||^2\le||\hat{w}_{k-1}||^2+\eta^2 ||\hat{x}_i||^2


(9) 最后,将x^i||\hat{x}_i||看作是R的下限,得到:
w^k12+2w^k1ηyix^i+η2x^i2w^k12+η2x^i2w^k12+η2R2||\hat{w}_{k-1}||^2+2·\hat{w}_{k-1}·\eta y_i\hat{x}_i+\eta^2 ||\hat{x}_i||^2\le||\hat{w}_{k-1}||^2+\eta^2 ||\hat{x}_i||^2\le||\hat{w}_{k-1}||^2+\eta^2 R^2
仿造分步证明2(6)中的推广,得到
w^k12+η2R2w^02+kη2R2||\hat{w}_{k-1}||^2+\eta^2 R^2\le||\hat{w}_{0}||^2+k·\eta^2 R^2
最后,整理(7)(9)得:

w^k2kη2R24******||\hat{w}_k||^2\le k\eta^2 R^2\qquad(公式4)******

 

分步证明4


由公式3 “ w^kw^optkηγ\hat{w}_k·\hat{w}_{opt}\ge k·\eta \gamma ”,
和公式4 “ w^k2kη2R2||\hat{w}_k||^2\le k\eta^2 R^2 ”,得:
kηγw^kw^optw^kw^optkηRw^opt=134k\eta\gamma \le \hat{w}_k·\hat{w}_{opt} \le ||\hat{w}_k||·||\hat{w}_{opt}|| \le \sqrt{k}\eta R(||\hat{w}_{opt}||=1,左边用公式3,右边用公式4)
由不等式最左边与最右边 “ kηγkηRk\eta\gamma \le \sqrt{k}\eta R ” 两边同时平方化简得:
k2γkR2k^2\gamma \le kR^2
移下字母得:

k(Rγ)2******k\le(\frac{R}{\gamma})^2\qquad(证毕)******

定理表明,误分类的次数k是有上界的,经过有限次搜索可以找到将训练数据完全正确分开的分离超平面。
当训练集线性不可分时,感知机学习算法不收敛,迭代结果会发生震荡。

*公式3和公式4的意义:
公式3: w^kw^optkηγ\hat{w}_k·\hat{w}_{opt}\ge k·\eta \gamma ,说明 w^k\hat{w}_k 随k的变大,下界变大
公式4 “ w^k2kη2R2||\hat{w}_k||^2\le k\eta^2 R^2 ”,说明w^k\hat{w}_k的绝对值有上界
公式3+公式4的几何意义,w^k\hat{w}_k向量通过旋转越来越接近w^opt\hat{w}_{opt}向量
 
 


(三)感知机学习算法的对偶(等效)形式[2.3.3]

对偶形式对于原始形式最大的不同在于,对偶形式多给了 不同的点不同权重 ,而且对于计算机来说,计算量更小
(因为在超平面附近的点是最容易误分类的,所以给这些点高权重,可以更快收敛)

在原始形式中:
ww+ηyixibb+ηyiw \gets w+ \eta y_ix_i\\ b\gets b+\eta y_i
那么把上面的递推式子整合(对全部的n个点),得到:
w=i=1Nαiyixib=i=1Nαiyiw = \sum_{i=1}^{N} \alpha_iy_ix_i \\ b=\sum_{i=1}^{N}\alpha_iy_i
上式中的 “ αi=niη\alpha_i=n_i\eta” ,
η\eta是递推式子中本来就有的,
nin_i其实就是个计数(出现几次就是几)的变量,那个点出现的次数越多,就代表着那个点离超平面越近,nin_i代表的权重越大。


这里把原始形式的经验损失函数摆上来:L(w,b)=xiϵMyi(wx+b)0L(w,b)=-\sum_{x_i\epsilon M}y_i(w·x+b)\ge0
把上面w的整合式代入,得:xiϵMyi(i=1Nαiyixix+b)0-\sum_{x_i\epsilon M}y_i(\sum_{i=1}^{N} \alpha_iy_ix_i·x+b)\ge0
去负号:xiϵMyi(i=1Nαiyixix+b)0\sum_{x_i\epsilon M}y_i(\sum_{i=1}^{N} \alpha_iy_ix_i·x+b)\le0
这时,在原始形式中更新w和b,就变成了更新αi\alpha_i和b,即:
αiαi+ηbb+ηyi\alpha_i \gets \alpha_i+\eta(就是计数器的意思)\\ b\gets b+\eta y_i
 
 

补充,书中的Gram矩阵

Gram矩阵,用来储存不同向量的内积
比如有x1,x2,x3,三个向量,那么Gram矩阵表示为

x1·x1 x1·x2 x1·x3
x2·x1 x2·x2 x2·x3
x3·x1 x3·x2 x3·x3

 
例子:x1=(3,3)T,x2=(4,3)T,x3=(1,1)T,它们生成的Gram矩阵为:
在这里插入图片描述

 


第二章结束… …
 
链接:[ 全文章目录 ]

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章