鏈接:[ 全文章目錄 ]
一、感知機模型[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算出來是:−1+w2b
怎麼變成:−∣∣w∣∣b 也就是 −w2b 的不是很清楚
二、感知機學習策略[2.2]
(一)數據集的線性可分型[2.2.1]
能用一條線 完全的 分割爲兩種類型,就稱數據集有線性可分型。(不能有一類的某個點跑到另一類裏面)
(二)感知機學習策略[2.2.2]
定義(經驗)損失函數並將損失函數 極小化 ,求出w、b。
這裏的損失函數爲:誤分類點到超平面(那條線)S的總距離。
具體推倒:
1、把點到直線距離公式擺上來,代入超平面方程
距離d=A2+B2∣Axi+Byi+C∣
已知超平面方程爲:w·x+b=0,代入上式,得:
距離d=w2∣wxi+b∣=∣∣w∣∣∣wxi+b∣
2、爲了去掉絕對值,我們現在看看誤分類數據有什麼特點
已知有個誤分類的數據(xi, yi)
因爲它誤分類了,所以當:
(1)w·xi+b>0,即被分類爲正類時,它的原分類yi必爲-1(負類)
(2)w·xi+b<0,即被分類爲負類時,它的原分類yi必爲+1(正類)
那麼對誤分類的數據必有:yi(w⋅xi+b)<0
而距離是正數,所以在前面加上負號,變成:d=−∣∣w∣∣yi(wxi+b)
【乘上一個 “-yi” 就可以把絕對值去掉,還可以篩出誤分類的數據(正確分類的距離必爲負值)】
3、推廣到多個點
M爲誤分類點的集合
(1)總距離爲:−∣∣w∣∣1xiϵM∑yi(w⋅x+b)
(2)因爲w是超平面的法向量,與大小無關,而∣∣w∣∣1是一個標量,所以可以忽略∣∣w∣∣1
(3)得到感知機學習的損失函數(經驗風險函數):L(w,b)=−xiϵM∑yi(w⋅x+b)
(三)損失函數特性
1、非負(距離)
2、正確分類時值爲0
3、損失函數是連續可導函數:在誤分類時,它是線性函數;正確分類時它是常數函數。
三、感知機學習算法[2.3]
(一)感知機學習算法的原始形式[2.3.1]
通過 梯度下降法 求損失函數的極小值:minw,bL(w,b)=−xiϵM∑yi(w⋅x+b)(2.5)
1、梯度下降法的幾何解釋:通過 不斷的運算,使點向 極小值 逼近。
2、梯度下降法的具體算法【本章重點】
損失函數的梯度:(由2.5對w求偏導)▽wL(w,b)=−xiϵM∑yixi(由2.5對b求偏導)▽bL(w,b)=−xiϵM∑yi
(1)任取一個超平面(任取w,b)
(2)得到誤分類點的集合M
(3)遍歷誤分類點求梯度對w,b進行更新:w←w+ηyixi b←b+ηyi
(4)直到L(w,b)=0
η(0<η<=1)是步長,又稱學習率,用來控制梯度大小。
(在吳恩達的machine learning中,學習率用的是 θ )
3、梯度下降法的其他解釋
當一個實例點被誤分類,即位於分離超平面的錯誤一側時,則調整w,b的值,使分離超平面向該誤分類點的一側移動,以減少該誤分類點與超平面間的距離,直至超平面越過該誤分類點使其被正確分類。
4、例2.1(略),通過梯度下降法的具體算法很容易理解
(二)算法的收斂性[2.3.2](算法收斂的證明)(儘量簡化通俗了)
這裏證明經過 有限次迭代 可以得到一個將訓練數據集 完全正確劃分 的分離超平面及感知機模型。
爲了便於敘述與推導,
將偏置b併入權重向量w,記作: w^=(wT,b)T,
同樣也將輸入向量加以擴充,加進常數1,記作: x^=(xT,1)T 。
這樣,w^∊R N+1 ,x^∊R N+1 。 顯然,w^·x^=w·x+b。
結論:
1、對於(1)書中的證明
(1)由於訓練數據集是線性可分的,存在超平面可將訓練數據集完全正確分開,
取此超平面爲w^opt⋅x^=wopt⋅x+bopt=0,使∣∣w^opt∣∣=1。由於對有限的i=1,2,…,N,均有:yi(w^opt⋅xi^)=yi(wopt⋅x+bopt)>0
所以存在γ=mini{yi(wopt⋅x+bopt)}
使
∗∗∗∗∗∗yi(w^opt⋅xi^)=yi(wopt⋅x+bopt)≥γ(公式1)∗∗∗∗∗∗
(2)解釋
- w^opt、wopt、bopt的下標opt的意思是:【對任意可選的】w^、w、b。只要滿足式子即可。
- ∣∣w^opt∣∣=1,原因:w^opt可以乘上任意常數使公式1都成立,所以,爲了特殊化,使w^opt爲單位長度,一般是∣∣w^opt∣∣=1
- γ就是一個大於0的數,沒啥意義
2、對於(2)書中的證明(含解釋)
感知機算法從w^0=0 (方便後面推導) 開始,如果實例被誤分類,則更新權重。
分步證明每一步最終都會得到一個公式,最後進行合併得到推論
分步證明1
(1) 令 k-1 是第k個誤分類實例之前的擴充權重向量(就是w^在右下角加了個k-1的下標),即
w^k−1=(wk−1T,bk−1)T
(2) 則第k個誤分類實例的前提條件(第k次更新前的損失函數)是【這裏是把上面的wk−1和bk−1代入了損失函數】
yi(w^k−1⋅x^i)=yi(wk−1⋅xi+bk−1)≤0
小於0上面有推導,等於0是因爲存在沒有誤分類的情況
(3) 若(xi,yi)是被w^k−1=(wk−1T,bk−1)T誤分類的數據,則w和b的更新是
wk←wk−1+ηyixi bk←bk−1+ηyi
【就是w和b的更新公式加了個下標】
根據上面的兩個更新公式化簡得:
∗∗∗∗∗∗w^k=w^k−1+ηyix^i(公式2)∗∗∗∗∗∗
化簡過程如下
w^k=(wkT,bk)T=wk+bk=wk−1+ηyixi+bk−1+ηyi=[wk−1+bk−1]+[ηyi(xi+1)]=w^k−1+ηyix^i
分步證明2
(4) 由公式2w^k=w^k−1+ηyix^i
可以求出:w^k⋅w^opt=w^k−1⋅w^opt+η[yix^i⋅w^opt]
(5)
由公式1(的一部分)yi(w^opt⋅xi^)≥γ
我們就可以把上面(4)式子裏面方括號的東西換掉:
w^k−1⋅w^opt+η[yix^i⋅w^opt]≥w^k−1⋅w^opt+ηγ
(6) 我們把(5)中不等式的右邊推廣一下,得到(η和γ都是正的):
左邊≥w^k−1⋅w^opt+ηγ≥w^k−2⋅w^opt+2⋅ηγ≥⋅⋅⋅≥w^0⋅w^opt+k⋅ηγ
這裏k>=1,kϵN+(k是大於等於1的正整數)
由(4)和(5)整理得:w^k⋅w^opt≥w^0⋅w^opt+k⋅ηγ=k⋅ηγ(w^0=0)
得到
∗∗∗∗∗∗w^k⋅w^opt≥k⋅ηγ(公式3)∗∗∗∗∗∗
分步證明3
(7) 由分步證明1得出的公式2 “ w^k=w^k−1+ηyix^i ”,等式兩邊平方得:
∣∣w^k∣∣2=∣∣w^k−1∣∣2+2⋅w^k−1⋅ηyix^i+η2yi2∣∣x^i∣∣2
因爲yi取正負1,所以yi2=1,就變成了書中的式子(最後那項少了yi2):
∣∣w^k∣∣2=∣∣w^k−1∣∣2+2⋅w^k−1⋅ηyix^i+η2∣∣x^i∣∣2
(8) 由分步證明1的(2)中式子 “ yi(w^opt⋅xi^)≤0 ”;再由於“步進η”必大於0
所以(7)最後式子中的2⋅w^k−1⋅ηyix^i(必定小於等於0)
即有:∣∣w^k−1∣∣2+2⋅w^k−1⋅ηyix^i+η2∣∣x^i∣∣2≤∣∣w^k−1∣∣2+η2∣∣x^i∣∣2
(9) 最後,將∣∣x^i∣∣看作是R的下限,得到:
∣∣w^k−1∣∣2+2⋅w^k−1⋅ηyix^i+η2∣∣x^i∣∣2≤∣∣w^k−1∣∣2+η2∣∣x^i∣∣2≤∣∣w^k−1∣∣2+η2R2
仿造分步證明2(6)中的推廣,得到
∣∣w^k−1∣∣2+η2R2≤∣∣w^0∣∣2+k⋅η2R2
最後,整理(7)(9)得:
∗∗∗∗∗∗∣∣w^k∣∣2≤kη2R2(公式4)∗∗∗∗∗∗
分步證明4
由公式3 “ w^k⋅w^opt≥k⋅ηγ ”,
和公式4 “ ∣∣w^k∣∣2≤kη2R2 ”,得:
kηγ≤w^k⋅w^opt≤∣∣w^k∣∣⋅∣∣w^opt∣∣≤kηR(∣∣w^opt∣∣=1,左邊用公式3,右邊用公式4)
由不等式最左邊與最右邊 “ kηγ≤kηR ” 兩邊同時平方化簡得:
k2γ≤kR2
移下字母得:
∗∗∗∗∗∗k≤(γR)2(證畢)∗∗∗∗∗∗
定理表明,誤分類的次數k是有上界的,經過有限次搜索可以找到將訓練數據完全正確分開的分離超平面。
當訓練集線性不可分時,感知機學習算法不收斂,迭代結果會發生震盪。
*公式3和公式4的意義:
公式3: w^k⋅w^opt≥k⋅ηγ ,說明 w^k 隨k的變大,下界變大
公式4 “ ∣∣w^k∣∣2≤kη2R2 ”,說明w^k的絕對值有上界
公式3+公式4的幾何意義,w^k向量通過旋轉越來越接近w^opt向量
(三)感知機學習算法的對偶(等效)形式[2.3.3]
對偶形式對於原始形式最大的不同在於,對偶形式多給了 不同的點不同權重 ,而且對於計算機來說,計算量更小。
(因爲在超平面附近的點是最容易誤分類的,所以給這些點高權重,可以更快收斂)
在原始形式中:
w←w+ηyixib←b+ηyi
那麼把上面的遞推式子整合(對全部的n個點),得到:
w=i=1∑Nαiyixib=i=1∑Nαiyi
上式中的 “ αi=niη” ,
η是遞推式子中本來就有的,
ni其實就是個計數(出現幾次就是幾)的變量,那個點出現的次數越多,就代表着那個點離超平面越近,ni代表的權重越大。
這裏把原始形式的經驗損失函數擺上來:L(w,b)=−xiϵM∑yi(w⋅x+b)≥0
把上面w的整合式代入,得:−xiϵM∑yi(i=1∑Nαiyixi⋅x+b)≥0
去負號:xiϵM∑yi(i=1∑Nαiyixi⋅x+b)≤0
這時,在原始形式中更新w和b,就變成了更新αi和b,即:
αi←αi+η(就是計數器的意思)b←b+ηyi
補充,書中的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矩陣爲:
第二章結束… …
鏈接:[ 全文章目錄 ]