統計學習方法之感知機


【概述】

1、感知機模型特征:感知機對應于輸入空間中將實例劃分為正負兩類的分離超平面,屬于判別模型。

2、感知機策略:感知機學習的目標是求出將訓練數據進行線性劃分的分離超平面,導入基于誤分類的損失函數,利用梯度下降法對損失函數進行最小化,求得感知機模型。

3、感知機學習算法:用學習得到的感知機模型對新的輸入實例進行分類。

4、重點:感知機是神經網絡和支持向量機的基礎,所以一些核心概念要仔細理解和和掌握。


一、感知機模型(機器學習三要素之一)

1、定義2.1(感知機)

公式說明:W和b為感知機模型參數,稱為權值(weight)或權值向量(weight vector),b稱為偏置,一般b會以bx0的方式形成統一的權值向量w,w.x表示w和x的內積(內積的定義見附錄1),sign(x)是符號函數,即:


? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 圖2.1:Sign符號函數的幾何表示

2、感知機的幾何解釋

? ? ?線性方程w.x+b=0對應于特征空間的一個超平面S,其中w是超平面的法向量(法向量和超平面的關系見附錄2),b是超平面的截距。


? ? ?該超平面將特征空間劃分成兩個部分,位于兩部分的點(特征向量)分別被分成正、負兩類,超平面S成為分離超平面。

3、感知機學習方法

? ? ?由訓練集(實例的特征向量及類別)T= {(x1,y1),(x2,y2),…,(xn,yn)},通過學習求得感知機模型(2.1),即求得模型參數w。

4、感知機應用舉例(貸款申請)

? ? ?每個申請貸款的人者有若干特征,包括年齡、性別、收入、負債情況,上述這些特征構成特征向量x(x1,x2,...xn)。《統計學習方法》中圖2.1給出的是x的二維向量實例,在圖2.1中,超平面簡化為斜率為-w1/w2的分類直線。

? ? ?申請者的數據,通過w加權取得總分,減去這個門檻值,總分超過門檻值(即大于等于0)就給+1,沒超過(即小于0)就給-1??(另一個例子是“學生是否及格的判斷”)


二、感知機學習策略(機器學習三要素之二)

1、數據集的線性可分性

? ? 如果存在某個超平面S,能夠將數據集的正實例點和負實例點完全正確地劃分到超平面的兩側,即對所有yi=+1的實例1,有w.xi+b>0;對所有yi=-1的實例i,有w.xi+b<0,則稱數據集T為線性可分數據集。

? ? 否則,則稱數據集T線性不可分。

注:從上文可看出:

1)如果找到合適的超平面,正確劃分好的兩個區域或空間中,yi和w.xi+b為同符號,同為正值或同為負值,即yi.(w.xi+b)>0;

2)對于沒有完全正確區分的超平面,存在yi.(w.xi+b)<0的xi誤分類點;

3)感知機的優化就是通過對xi誤分類點到待優化超平面S的距離進行最小化調整。

2、感知機學習策略

? ? ? 為了找出這樣的超平面,需要確定學習策略,定義(經驗)損失函數并將損失函數最小化。

在此選取“誤分類點到超平面S的總距離”作為損失函數。

? ? ?首先寫出輸入空間R任一點x0到超平面S的距離(注:點到直線/平面的距離計算見附錄3):

這里||w||是w的L2范數。

? (基于符號函數中的yi特性)對于誤分類的數據(xi,yi)來說,-yi(w.xi+b)>0成立。

? ? ?因此,假設超平面S的誤分類點集合為M,所有誤分類點到超平面S的總距離為:


感知機損失函數的定義:


【小結】感知機學習的策略,就是在假設空間中選取使損失函數(2.4)最小的模型參數w,b,即感知機模型。


三、感知機學習算法(機器學習三要素之三)

? ? ?感知機學習問題轉化為求解損失函數(式2.4)的最優化問題(最小值min),最優化的方法是隨機梯度下降法(Stochastic gradient descent)。

? ? ?感知機學習算法是誤分類點驅動的(注:這個在林軒田的視頻中也反復提到,戲稱“有錯能改”算法)。

? ? ?本節介紹具體算法,包括原始形式和對偶形式,并證明在訓練數據線性可分條件下學習算法得收斂性(有限次數的優化步驟)。

1、感知機學習算法的原始形式

1)算法思路

? ? 采用誤分類驅動方式,當一個實例點被誤分類,即位于分類超平面的錯誤一側是,則進行w、b值的調整,使分離超平面向該誤分類點的一側移動,以減少該誤分類點跟超平面的距離,直到超平面越過該誤分類點使其被正確分類。? ?

2)梯度的計算方式,

? ? 采用偏導數方式,分別對L求變量w和變量b的偏導,計算損失函數L(w,b)的梯度。具體如下:

?wL(w,b)=-∑yi.xi

?bL(w,b)=-∑yi

上述就是,求得w和b的變化梯度,分別是yixi和yi

普遍性地,隨機選取一個誤分類點(xi,yi),對w和b進行更新

w<—w+ηyixi

b<—b+ηyi

這里,η是自變量的步長,統計學習中又稱為學習率(learning rate)。

通過迭代可以期待損失函數L(w,b)不斷減少,直到為0。

3)感知機學習算法的原始形式

通過上述分析,得到以下算法(算法2.1)

(1)輸入:

? ? ?訓練集T={(x1,y1),(x2,y2),(x3,y3),...,(xn,yn)},其中xi∈X=Rn,yi∈Y={-1,1},i=1,2,...,N;學習率η(0<η≤1);

(2)輸出:

w,b;感知機模型f(x)=sign(w.x+b)

第1步:選取初值w0、b0

第2步:在訓練集中選取數據(xi,yi)

第3步:如果y(w.xi+b)≤0,則進行以下迭代

? ? ? ?w<— w+ηyixi

? ? ? ?b<— w+ηyi

(4)更新w值和b值,轉到第(2)步,直到訓練集中沒有誤分類點

注:算法2.1體現了誤分類驅動


2、感知機學習算法的對偶形式

思路:將w和b表示為實例xi和Label標記yi的線性組合的形式,并通過求解系數求得w和b。

(1)在算法2.1中可假設初始值w0、b0均為0,對誤分類點(xi,yi)通過

w<— w+ηyixi

b<— w+ηyi

(2)逐步修改w、b,假設修改n次,則w,b系數關于(xi,yi)的增量分別就是aiyixi和aiyi,這里ai=niη

這樣,從學習過程可以看出,最后學習到的w,b可以分別表示為

w=∑(I=1,N)aiyixi

b=∑(I=1,N)aiyi


通過上述分析,得到以下算法(算法2.2)

1)輸入

訓練集T={(x1,y1),(x2,y2),(x3,y3),...,(xn,yn)},其中xi∈X=Rn,yi∈Y={-1,1},i=1,2,...,N;學習率η(0<η≤1);

2)輸出

a,b;感知機模型f(x)=yi(∑(j=1,N)ajyjxj.xi+b)≤0

其中,a=(a1,a2,...,aN)T

(1)a<—0,b<—0

(2)在訓練集選取數據(xi,yi)

(3)如果yi(∑(j=1,N)ajyjxj.xi+b)≤0

ai<—ai+η

b<—b+ηyi

(4)更新a值和b值,轉到第(2)步,直到訓練集中沒有誤分類數據




例題2.2:正樣本點是x1=(3,3)T,x2=(4,3)T,負樣板點是x3=(1,1)T,以下試用感知機學習算法對偶形式求感知機模型

解:

? 按照算法2.2

1)取ai=0,i=1,2,3,b=0,步長η=1

2)計算Gram矩陣

? ? 目前訓練集中有3個實例(3個樣本,2個正樣本,1個負樣本),分別是a1=(3,3),a2=(4,3),a3=(1,1)三個向量

注2:3個實例形成一個Gram矩陣如下:

[A11,A12,A13

A21,A22,A23

A31,A32,A33]

行一列一元素A11=<a1.a1的內積>=3*3+3*3=18;行一列二元素A12=<a2.a1>4*3+3*3=21

行二列三元素A13=<a3.a1>=*3+*3=6;行二列一元素A21的內積=3*4+3*3=21

行二列二元素A22=<a2.a2>4*4+3*3=25;行二列三元素A23的內積=1*4+1*3=7

行三列一元素A31的內積=3*1+3*1=6;行三列二元素A32的內積=4*1+3*1=7

行三列三元素A33的內積=1*1+1*1=2。

推出對應的Gram矩陣如下:

[18,21,6

21,25,7

6,7,2]

3)誤分條件

yi(∑(j=1,N)ajyjxj.xi+b)≤0

參數更新

ai<--ai+1

b<--b+yi

4)迭代,形成以下表格

5)最后形成分離超平面(本章是線性分離直線)

w=2x1+0x2-5x3=(1,1)T(T是轉置)

b=-3

x1+x2-3=0

W的系數都是1

6)得出感知機模型

f(x)=sign(x(1)+x(2)-3)



附錄1 :關于內積的定義

兩個向量的內積等于一個向量的模跟另一個向量在這個向量的方向上的正投影的數量的乘積。

內積的用途是判斷兩個向量的相似度:兩個向量是否接近或相等,判斷就是這兩個向量的內積最大化


附錄2:關于法向量的概念

空間直線L.Ax+By+Cz+D=0的法向量的法向量是(A,B,C)

證明:直線斜率是-A/B,向量斜率是B/A,斜率乘積是-1,所以Ax+By+Cz+D=0與向量(A,B,C,)垂直


附錄3:關于點到平面的距離計算方式

附錄4:為何感知機不能區分XOR函數

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,646評論 6 533
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,595評論 3 418
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,560評論 0 376
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,035評論 1 314
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,814評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,224評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,301評論 3 442
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,444評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,988評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,804評論 3 355
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,998評論 1 370
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,544評論 5 360
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,237評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,665評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,927評論 1 287
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,706評論 3 393
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,993評論 2 374

推薦閱讀更多精彩內容