ML 06、感知机
FRom:?http://www.cnblogs.com/ronny/p/4070635.html
機器學習算法 原理、實現與實踐 ?—— 感知機
?
感知機(perceptron)是二分類的線性分類模型,輸入為特征向量,輸出為實例的類別,取值+1和-1。感知機學習旨在求出將訓練數據進行線性劃分的分離超平面,為此,引入了基于誤分類的損失函數,利用梯度下降法對損失函數進行極小化,求得感知機模型。
1. 感知機模型
假設輸入空間(特征空間)是X?Rn,輸出空間是Y={?1,+1}。輸入x∈X表示實例的特征向量,對就于輸入空間的點;輸出y∈Y表示實例的類別。由輸入空間到輸出空間的映射函數
f(x)=sign(w?x+b)
稱為感知機。其中,w和b為感知機的模型參數,w∈Rn叫作權值或權值向量,b∈R叫作偏置。w?x表示內積。sign是符號函數,即
sign(x)={+1,?1,x≥0x<0
感知機模型的假設空間是定義在特征空間中的所有線性分類模型或線性分類器,即函數集合{f|f(x)=w?x+b}。
感知機有如下幾何解釋:線性方程
w?x+b=0
對應于特征空間Rn中的一個超平面S,其他w是超平面的法向量,b是超平面的截距。這個超平面將特征空間劃分為兩個部分。位于兩部分的點(特征向量)分別被分為正、負兩類。因此,超平面S稱為分離超平面(separating hyperplane)。
感知機學習的任務可以描述為:由訓練數據集(實例的特征向量及類別)
T=(x1,y1),(x2,y2),…,(xN,yN)
其中xi∈X=Rn,?yi∈Y={?1,+1},?i=1,2,…,N,求得感知機模型,即求得模型參數w,b。感知機預測,通過學習到的感知機模型,對于新的輸入實例給出其對應的輸出類別。
2. 感知機的學習策略
假設訓練數據集是線性可分的,感知機學習的目標就是求得一個能夠將訓練集正實例點和負實例點完全正確分開的分離超平面。為了找出這樣的超平面,即確定感知機的模型模型參數w,b,需要確定一個學習策略,即定義(經驗)損失函數并將損失函數極小化。
損失函數的一個自然選擇是誤分類點的總數。但是,這樣的損失函數不是參數w,b的連續可導函數,不易優化。損失函數的另一個選擇是誤分類點到超平面S的總距離,這是感知機所采用的。為此,首先寫出輸入空間Rn中任一點x0到超平面S的距離。
1||w|||w?xi+b|
這里,||w||是w的L2范數。
其次,對于誤分類的數據(xi,yi)來說
?yi(w?xi+b)>0
成立。所以誤分類點xi到超平面S的距離轉化為
?1||w||yi(w?xi+b)
這樣,假設超平面S的誤分類點集合為M,那么所有誤分類點到超平面S的總距離為
?1||w||∑xi∈Myi(w?xi+b)
忽略前面的系數1/||w||,就得到感知機學習的損失函數。
給定訓練數據集
T=(x1,y1),(x2,y2),…,(xN,yN)
其中xi∈X=Rn,?yi∈Y={?1,+1},?i=1,2,…,N。感知機sign(w?x+b)學習的損失函數定義為
L(w,b)=?∑xi∈Myi(w?xi+b)
其中M為誤分類點的集合。這個損失函數就是感知機學習的經驗風險函數。感知機學習的策略就是在假設空間中選擇使損失函數L(w,b)最小的模型參數。
3. 感知機學習算法
感知機學習問題轉化為求解損失函數最優化問題,最優化的方法是隨機梯度下降法。
感知機學習算法是誤分類驅動的,具體采用隨機梯度下降算法(stochastic gradient descent)。首先,任意選擇一個超平面w0,b0,然后用梯度下降法不斷地極小化目標函數。極小化過程中不是一次使M中所有誤分類點的梯度下降,而是一次隨機選擇一個誤分類點使其梯度下降。
假設誤分類點集合M是固定的,那么損失函數L(w,b)的梯度由
?wL(w,b)=?∑xi∈Myixi
?bL(w,b)=?∑xi∈Myi
給出。
隨機選擇一個誤分類點(xi,yi),對w,b進行更新:
w←w+ηyixi
b←b+ηyi
式中η(0<η≤1)是步長,在機器學習中又稱為學習率。這樣通過迭代可以期待損失函數L(w,b)不斷減小,直到為0.
這種學習算法直觀上有如下解釋:當一個實例點被誤分類,即位于分離超平面的錯誤一側時,則調整w,b的值,使分離超平面向該誤分類點的一側移動,以減少該誤分類點與超平面之間的距離,直到超平面越過該誤分類點使其被正確分類。
4. 感知機學習算法的收斂性
(Novikoff)定理 設訓練數據集為T=(x1,y1),(x2,y2),…,(xN,yN),其中xi∈X=Rn,?yi∈Y={?1,+1},?i=1,2,…,N,則
1)存在滿足條件||w^opt||=1的超平面w^opt?x^=wopt?x+bopt=0將訓練數據集完全正確分開;且存在γ>0,對所有的i=1,2,…,N
yi(w^opt?x^i=yi(wopt?xi+bopt)≥γ
2)令R=max1≤i≤N||x^i||,則感知機算法在訓練數據集上的誤分類次數k滿足不等式
k≤(Rγ)2
定理表明,誤分類的次數k是有上界的,經過有限次搜索可以找到將訓練數據完全正確分開的分離超平面。但是,感知機學習算法存在許多解,這些解既依賴于初值的選擇,也依賴于迭代過程中誤分類點的選擇順序。為了得到唯一的超平面,需要對分離超平面增加約束條件。
總結
- 上一篇: ML 04、模型评估与模型选择
- 下一篇: 感知器与梯度下降