【統計學習方法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矩陣爲:
在這裏插入圖片描述

 


第二章結束… …
 
鏈接:[ 全文章目錄 ]

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