第二章 感知機(學習記錄)
來自專欄 轉型之路——機器學習
1感知機模型
感知機:二分類的線性分類模型,輸入為特徵向量,輸出為實例的類別。
Defined:X屬於Rn ;輸出y為{=1,-1};
y = sign(wx +b)
w和b為感知機參數模型,w屬於Rn 叫作權重(weight),b 叫做偏置(bias),
感知機線性分類器(linear
classifier) :即函數幾何{f|f(x) =w*x+b}感知機有如下集合解釋:
令f(x) = 0;即對應特徵空間Rn 中的一個超平面S,這個超平面講特徵空間劃分為兩部分,分貝被分為正、負兩類。
2感知機學習策略
2.1數據集線性可分性:
在給定數據集T = {(x1,y1)……(xn,yn)};如果存在某個超平面S即:
f(x) = w*x + b = 0;
能將給定的數據集按照正實例和負實例正確的劃分到超平面兩側,則稱數據集T線性可分數據集。
2.2感知機書寫策略:
感知機學習的目標是求得一個能夠將訓練集正實例和負實例點完全正確的分開的超平面兩側,為了找出這樣的超平面,需確定一個學習策略:定義損失函數(cost function)並將損失函數最小化。
損失函數:即自然選擇分類的錯誤點,其每一個錯誤點到超平面S的距離的總和。
一個點x0到超平面S的距離:
*|w*x0 +b|
||w|| 是w的l2範式。
其次,對於誤分類數據來說:-y0*(w*x0+b)
>0;(因為誤分類y與f(x)互為相反數)所以損失函數定義為:
L(w,x)
= -y *(wx+b);(和符號不會打,表示所有誤分類點,對付理解一下)
3感知機學習演算法
3.1感知機學習演算法的原始形式
即求min(w,b) L(w,b)
= -y(w*x+b) 其中x,y為誤分類點M集合。感知機學習算是採用隨機梯度下降。首先選取一個超平面w0,b0,然後用梯度下降法不斷地極小化目標函數。
假設誤分類點集合是固定的,那麼損失函數L(w,b)的梯度由:
DeltaL(w,b) = -yx(xy屬於誤分類點M)
DeltaL(w,b) = y (y屬於誤分類點M)
a 為步長,在統計學習中又稱為學習率。
w := w+ayx
b:= b+ay
具體演算法如下:
輸入:訓練數據集T ,學習率為a
輸出:w,b;感知機模型:f(x) = sign(wx+b)
(1) 選取初值w0,b0
(2) 在訓練集上選取數據(xi,yi)
(3) 如果yi(w*xi+b)<=0
w := w+ayx
b
:= b+ay
(4) 轉至(2),直至訓練集沒有誤分類點。
3.2 演算法的收斂性
這節主要講的是關於演算法收斂的一個證明,即證明這個演算法最後一定有結。
感覺對演算法的理解可能沒什麼意義,暫時就不在上面寫了。
3.3感知機學習演算法的對偶形式
這節沒有看懂不知道,有點懵。
習題:
1. 因為異或操作在對應於坐標繫上,發現無法找到一條性將異或操作分隔開。
第一次寫,寫的很爛!
推薦閱讀:
※使用GridSearchCV(網格搜索),快速選擇超參數
※薦書 | 機器學習、深度學習演算法及其Python實現
※Linear Regression
※Boosting演算法演進筆記
※支持向量機SVM總結之拉格朗日對偶問題
TAG:機器學習 |