這一章就講了感知機。我覺得是深受工業革命的影響,把一些可以實現功能的基本單元都喜歡叫做什麼機,這裡的感知機,還有後來的以感知機為基礎的支援向量機。直接看定義,看本質,實際上,感知機是一種線性分類模型。下面就以這句話為中心仔細闡述一下。
什麼叫線性。
線性liner,正如其名,兩個變數的關係的函式是一條直線,那它們就是線性關係,擴充套件到三維,乙個平面依然是一次方程,所以平面也行線性的。線性有兩個性質:可加性f(x+y)=f(x)+f(y);齊次性f(ax)=af(x).這兩個性質的好處就是可以化整為零,各個擊破;可以以小見大。通訊中的放大器就很怕出現非線性失真,通訊中研究的系統也多是線性時不變系統。事實上,自然界中的訊號幾乎都是連續的,問題也多是非線性的,只是我們在解決問題的時候都轉換為簡單問題。線性劃分,簡單來說就是通過直線或者超平面將資料進行劃分。典型的線性分類器有感知機,lda,邏輯斯特回歸,svm(線性核);
典型的非線性分類器有樸素貝葉斯(有文章說這個本質是線性的,
),knn,決策樹,svm(非線性核)
什麼叫分類。
之前部落格中提到,機器學習的任務就是**和分析資料,而當輸出變數為有限離散變數時就是一種特殊的問題,我們**資料屬於哪一類,這就是分類問題。分類問題又可分為二分類問題和多分類問題。感知機是一種二分類的分類器。
什麼叫模型。
既然知道了新資料的分類情況只能是二選一,那麼我們就要定義分類的條件就是模型。而根據分類器對資料進行硬判決還是軟判決,可以分為感知器模型和邏輯回歸模型。前者對資料一刀切,非黑即白,具體用符號函式sign()實現,屬於判別模型。後者將分類問題看作概率問題,像天氣預報一樣,多大的概率會下雨,多大的機會不下雨。
三要素
感知機算是一種簡單的機器學習,機器學習三要素:模型、策略、演算法。所以我們再看一下感知機的策略。很自然地,對平面上的兩類點,首先我們當然希望能有乙個直線將他們完全正確地隔在直線的兩邊。可以達到這個目的的直線有很多,我們當然希望從中挑選乙個最好的。我們選擇誤分類點到平面s的總距離作為損失函式(連續可導),目標是將損失函式最小化。具體確定超平面還需要具體的演算法,我們選擇隨機梯度下降法sgd(stochastic gradient descent)。隨機的意思是在誤分類點中隨機選擇乙個點,然後計算它的損失函式的梯度,梯度是下降最快的方向,在這個方向上迭代可以盡快找到使損失函式最小的點。決定了方向,還涉及到每次更新的幅度,這就是步長,也叫學習率(learning rate),lr太大的話容易越過最優點,太小又會導致收斂太慢。
最後需要說明的是,可以證明演算法是收斂的,但是最後的結果卻依賴於誤分類點的選擇順序。為了得到唯一的超平面,需要我們對分離超平面增加約束條件,這也就是線性支援向量機svm的由來。svm也有對偶性,是面試官喜聞樂見的問題。這裡先簡單說兩句svm。支援向量機有兩個特點,一是支援向量,乙個是核函式。支援向量指只有超平面附近的點對結果影響大。核函式的引入使得svm可以解決低維空間的線性不可分的問題,學習非線性支援向量機,其實是在高維空間隱式地學習線性支援向量機。
在習題部分,minsky和*****t指出,感知機等線性模型不能表示複雜函式如異或xor。其實就是要說明異或不是線性可分的。
(李航統計學習方法)感知機Python實現
機器學習的三要素 模型,策略,演算法 模型 感知機是二分類線性分類模型,屬於判別模型。策略 基於誤分類點到超平面的總距離。學習演算法 略 感知機存在的問題 存在多解,解依賴於初始超平面的選擇以及迭代過程中誤分類點的選擇。訓練集線性不可分,演算法無法收斂,解決方法 pocket演算法或者使用核函式。無...
李航統計學習方法 感知機的實現
感知機 假設輸入空間是 rn,輸出空間是 1,1 輸入 x表示例項的特徵向量,對應於輸入空間的點 輸出y 表示例項的類別。由輸入空間到輸出空間的如下函式 f x sign wx b 稱為感知機。其中,w和b為感知機模型的引數,sign是符號函式,即 sign好像很簡單,當x大於等於0,sign輸出1...
李航 統計學習方法 筆記 2 感知機學習演算法
感知機是二類分類的線性分類模型,屬於判別模型,輸入例項特徵向量,輸出例項的類別,取 1和 1。是神經網路與支援向量機的基礎。f x sign w.x b 幾何解釋 線性方程 w.x b 0 對應特徵空間的乙個超平面s,位於超平面兩側的點被分為正類或負類,s稱為分離超平面。假設資料集是線性可分的,即存...