李航《统计学习方法》---感知机
這一章就講了感知機(jī)。我覺得是深受工業(yè)革命的影響,把一些可以實(shí)現(xiàn)功能的基本單元都喜歡叫做什么機(jī),這里的感知機(jī),還有后來的以感知機(jī)為基礎(chǔ)的支持向量機(jī)。直接看定義,看本質(zhì),實(shí)際上,感知機(jī)是一種線性分類模型。下面就以這句話為中心仔細(xì)闡述一下。
什么叫線性。
線性liner,正如其名,兩個(gè)變量的關(guān)系的函數(shù)是一條直線,那它們就是線性關(guān)系,擴(kuò)展到三維,一個(gè)平面依然是一次方程,所以平面也行線性的。線性有兩個(gè)性質(zhì):可加性f(x+y)=f(x)+f(y);齊次性f(ax)=af(x).這兩個(gè)性質(zhì)的好處就是可以化整為零,各個(gè)擊破;可以以小見大。通信中的放大器就很怕出現(xiàn)非線性失真,通信中研究的系統(tǒng)也多是線性時(shí)不變系統(tǒng)。事實(shí)上,自然界中的信號(hào)幾乎都是連續(xù)的,問題也多是非線性的,只是我們?cè)诮鉀Q問題的時(shí)候都轉(zhuǎn)換為簡(jiǎn)單問題。線性劃分,簡(jiǎn)單來說就是通過直線或者超平面將數(shù)據(jù)進(jìn)行劃分。典型的線性分類器有感知機(jī),LDA,邏輯斯特回歸,SVM(線性核);
典型的非線性分類器有樸素貝葉斯(有文章說這個(gè)本質(zhì)是線性的,http://dataunion.org/12344.html),kNN,決策樹,SVM(非線性核)
什么叫分類。
之前博客中提到,機(jī)器學(xué)習(xí)的任務(wù)就是預(yù)測(cè)和分析數(shù)據(jù),而當(dāng)輸出變量為有限離散變量時(shí)就是一種特殊的問題,我們預(yù)測(cè)數(shù)據(jù)屬于哪一類,這就是分類問題。分類問題又可分為二分類問題和多分類問題。感知機(jī)是一種二分類的分類器。
什么叫模型。
既然知道了新數(shù)據(jù)的分類情況只能是二選一,那么我們就要定義分類的條件就是模型。而根據(jù)分類器對(duì)數(shù)據(jù)進(jìn)行硬判決還是軟判決,可以分為感知器模型和邏輯回歸模型。前者對(duì)數(shù)據(jù)一刀切,非黑即白,具體用符號(hào)函數(shù)sign()實(shí)現(xiàn),屬于判別模型。后者將分類問題看作概率問題,像天氣預(yù)報(bào)一樣,多大的概率會(huì)下雨,多大的機(jī)會(huì)不下雨。
三要素
感知機(jī)算是一種簡(jiǎn)單的機(jī)器學(xué)習(xí),機(jī)器學(xué)習(xí)三要素:模型、策略、算法。所以我們?cè)倏匆幌赂兄獧C(jī)的策略。很自然地,對(duì)平面上的兩類點(diǎn),首先我們當(dāng)然希望能有一個(gè)直線將他們完全正確地隔在直線的兩邊。可以達(dá)到這個(gè)目的的直線有很多,我們當(dāng)然希望從中挑選一個(gè)最好的。我們選擇誤分類點(diǎn)到平面S的總距離作為損失函數(shù)(連續(xù)可導(dǎo)),目標(biāo)是將損失函數(shù)最小化。具體確定超平面還需要具體的算法,我們選擇隨機(jī)梯度下降法SGD(Stochastic Gradient Descent)。隨機(jī)的意思是在誤分類點(diǎn)中隨機(jī)選擇一個(gè)點(diǎn),然后計(jì)算它的損失函數(shù)的梯度,梯度是下降最快的方向,在這個(gè)方向上迭代可以盡快找到使損失函數(shù)最小的點(diǎn)。決定了方向,還涉及到每次更新的幅度,這就是步長(zhǎng),也叫學(xué)習(xí)率(learning rate),lr太大的話容易越過最優(yōu)點(diǎn),太小又會(huì)導(dǎo)致收斂太慢。
感知機(jī)學(xué)習(xí)的算法又分為原始形式和對(duì)偶形式。在對(duì)偶形式中,把原來函數(shù)sign(wx+b)中的w和b看作是實(shí)例x和標(biāo)記y的線性組合。實(shí)質(zhì)與原始形式一樣,只不過因?yàn)楹瘮?shù)形式變?yōu)榫€性組合,在判斷是否是誤分類點(diǎn)時(shí)可以使用內(nèi)積,即Gram矩陣。在上一篇博客的python代碼中也出現(xiàn)了這個(gè)矩陣,用于計(jì)算feature map的內(nèi)積。
最后需要說明的是,可以證明算法是收斂的,但是最后的結(jié)果卻依賴于誤分類點(diǎn)的選擇順序。為了得到唯一的超平面,需要我們對(duì)分離超平面增加約束條件,這也就是線性支持向量機(jī)SVM的由來。SVM也有對(duì)偶性,是面試官喜聞樂見的問題。這里先簡(jiǎn)單說兩句SVM。支持向量機(jī)有兩個(gè)特點(diǎn),一是支持向量,一個(gè)是核函數(shù)。支持向量指只有超平面附近的點(diǎn)對(duì)結(jié)果影響大。核函數(shù)的引入使得SVM可以解決低維空間的線性不可分的問題,學(xué)習(xí)非線性支持向量機(jī),其實(shí)是在高維空間隱式地學(xué)習(xí)線性支持向量機(jī)。
在習(xí)題部分,Minsky和Papert指出,感知機(jī)等線性模型不能表示復(fù)雜函數(shù)如異或XOR。其實(shí)就是要說明異或不是線性可分的。
Reference:
1.??????https://zhuanlan.zhihu.com/p/30596284
2.??????https://zhuanlan.zhihu.com/p/21301974
3.? https://blog.csdn.net/u014755493/article/details/70182532
4.? https://blog.csdn.net/yangfeisc/article/details/45486067
?
?
總結(jié)
以上是生活随笔為你收集整理的李航《统计学习方法》---感知机的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【每日SQL打卡】
- 下一篇: 基于PCA和SVM的人脸识别