參考書籍:李航老師的《統計學習方法》、林軒田老師的《機器學習基石》
如無特殊說明,圖片均來自網路(google圖片、百度圖片),如有侵權請聯絡我,我會立即刪除或更改
PLA 是 Perceptron Learning Algorithm 的縮寫,也叫感知機演算法。感知機演算法與線性迴歸有很多相似的地方。例如線性迴歸採用梯度下降法求最優參數的時候對每個資料點都進行了遍曆,求誤差的平均值。而 PLA 只選取一個點進行處理,所以 PLA 的學習過程也可以叫做 隨機梯度下降。
如果不瞭解什麼是線性迴歸,可以參考我的另一篇文章:《機器學習筆記01:線性迴歸(Linear Regression)和梯度下降(Gradient Decent)》 1 感知機模型 1.1 形象的感知機
什麼是感知機模型呢,簡而言之就是可以將有兩個特徵的資料集中的正例和反例完全分開的關於一條直線的函數,或者可以是關於三維空間中的一個平面的函數,更可以是關於高維的一個超平面的函數。
什麼。關於一條直線的函數。關於一個平面的函數。關於一個超平面的函數。其實感知機就是一個分段函數,不過變數是一條直線、平面或超平面而已。
可能聽起來有點繞口,看了1.2節就明白了。當然如果資料集只有一個特徵,那麼也可以是一個點。比如下面的這條直線就將資料集中的正負執行個體完全分成了兩部分:
或者下面的這個三維空間中的平面將有三個特徵的資料集分成了兩部分:
1.2 感知機的數學表示
上面的圖片應該已經給了大家一個形象的理解:感知器就是一個東西能夠把訓練集中的正例和反例劃分為兩個部分,並且能夠對未來輸入的資料進行分類。舉個例子:一個小孩子的媽媽在教他什麼是蘋果什麼不是蘋果,首先會拿個蘋果過來說“記住,這個是蘋果”,然後拿了一個杯子過來說“這個不是蘋果”,又拿來一個稍微不一樣的蘋果說“這個也是蘋果”……,最後,小孩子就學習到了一個模型(判斷蘋果的標準)來判斷什麼是蘋果什麼不是蘋果。
首先,感知機的輸入空間(特徵空間)為 X⊆Rn \mathcal{X} \subseteq R^n,即 n n 維向量空間,輸出空間為 Y={+1,−1} \mathcal{Y}=\{+1, -1\},即 −1 -1 代表反例, +1 +1 代表正例。例如:輸入 x∈X x\in\mathcal{X} 對應於輸入空間 Rn R^n 中的某個點,而輸出 y∈Y y\in\mathcal{Y} 表示該點所在的分類。需要注意的是,輸入 x x 是一個 n n 維的向量,即 x=(x(1),x(2),...,x(n)) x = (x^{(1)},x^{(2)},...,x^{(n)})。現在已經有了輸入和輸出的定義,我們就可以給出感知機 f(x) f(x) 的模型了:
f(x)=sign(ω⋅x+b) f(x) = sign(\omega\cdot x+b)
其中,向量 ω=(ω(1),ω(2),...,ω(n)) \omega=(\omega^{(1)},\omega^{(2)},...,\omega^{(n)}) 中的每個分量代表輸入向量空間 Rn R^n 中向量 x x的每個分量 xi x_i 的權重,或者說參數。