1.感知機概念
感知機學習演算法很簡單,易於實現,一步一步看完就自然懂了。
1.1感知機簡介
perceptron,感知機。是二類分類的線性分類模型,其輸入為例項的特徵向量,輸出為例項的類別,類別值取值範圍=,即perceptron(x) = -1 或者+1
感知機對應於輸入空間中將例項劃分為正負兩類的分離超平面,即平面一側的例項為正例項,平面另一側的例項就是負例項。可以知道,感知機是判別模型,即給感知機乙個例項,它返回的結果會告訴你,這個例項是正例項,還是負例項,是正例項感知機就返回數值+1,如果是負例項感知機就返回-1,就這麼簡單。
感知機使用基於誤分類的損失函式,即損失函式返回值就是你輸入例項集被判別後判別錯誤的個數。感知機利用梯度下降法對損失函式進行極小化。
感知機是神經網路和支援向量機的基礎。
1.2感知機定義
f(x) = sign(w*x + b),稱為感知機
其中x為輸入空間,f(x)為輸出空間,f(x)∈,w和b為感知機模型引數,即f(x)由模型引數集合決定和表示。
w叫做權值(weight)或者權值向量(weight vector),b叫做偏置(bias),w*x表示w和x的內積
sign是符號函式:
sign(x) = +1,x>=0
sign(x) = -1,x<0
感知機是由兩層神經元組成,輸入層接受外界輸入訊號以後傳遞給輸出層,輸出層是m-p神經元,如下圖所示:
感知機是二分類的線性分類模型,輸入為例項的特徵向量,輸出為例項的類別,取+1和-1二值。線性分類模型表現在:感知機需要學習出乙個在正類和負類之間的超平面wx+bwx+b,使得正類和負類能夠正確的劃分。下面將會看到感知機是如何進行建模以及如何求解引數的。
1.3感知機的幾何解釋
線性方程w*x + b = 0對應特徵空間中的乙個超平面s,則w是超平面的法向量,b是超平面的截距。
此超平面將特徵空間分割成兩部分,位於超平面上下側的特徵點分別被分成正,負兩類,所以超平面s稱為分離超平面(separating hyperplane),空間中可形象表示如下:
1.4感知機學習概念
感知機f(x)=sign(w*x + b),是通過感知機學習得到的。感知機學習是通過學習訓練資料集得到的。
訓練資料集由例項的特徵向量和類別組成,如下所示:
t=,其中y∈,x是特徵空間中的特徵值,而y是x的分類值。
感知機學習通過學習訓練資料集t求得感知機模型引數w和b。
1.5感知機**
通過感知機學習得到感知機f(x) = sign(w*x + b),其中w和b已求得。
我們輸入乙個新的例項x,感知機f(x)給出對應的輸出類別-1或者+1,這就是感知機**。
2.感知機學習策略
2.1感知機學習的損失函式
感知機的功能是將給定的例項進行正確分類,感知機的學習策略是將輸入例項集進行感知機**後,**錯誤的總個數。
比如有輸入空間x=[1,3,6,8],經過感知機**得到輸出空間y=[-1, -1, -1, +1],但是正確的輸入空間應該是[-1, +1, +1, +1],則表示感知機**錯誤個數=2。
感知機學習定義的損失(經驗)函式就是感知機**的錯誤個數,用公式表示就是
用上面的示例給出損失函式計算過程:
上面m是誤分類點的集合,則m=[3, 6],則損失函式計算過程:
l(w, b) = -1 *(y2*f(x2) + y3*f(x3))
= -1 * (+1*f(3) + +1*f(6))
= -1 * (+1*-1 + +1*-1)
= -1 *(-1-1) = 2
可知損失函式值=2。
2.2損失函式的連續可導
顯然損失函式是非負的。如果沒有誤分類點,損失函式值為0。而且誤分類點越少,誤分類點離超平面越近,損失函式值越小。
乙個特定的樣本點的損失函式:在誤分類時是引數w,b的線性函式,在正確分類時是0,因此給定訓練資料集t,損失函式l(w,b)是w,b的連續可導函式。
3.感知機學習演算法的原始形式
來自:《統計學習方法》李航
由於演算法思路和步驟都很簡單,不做詳細解釋,直接看下圖吧
python**實現可以詳看部落格:【機器學習】【感知機-2】感知機(perceptron)學習演算法的原始形式的python實現
4.感知機學習演算法的對偶形式
來自:《統計學習方法》李航
由於演算法思路和步驟都很簡單,不做詳細解釋,直接看下圖吧。
python**實現可以詳看部落格:【機器學習】【感知機-3】感知機(perceptron)學習演算法的對偶形式的python實現
一分鐘sed入門(一分鐘系列)
1.簡介 sed是一種行編輯器,它一次處理一行內容。2.sed呼叫方式 sed options command file s sed options f scriptfile file s 第一種直接在命令列中執行,第二種把命令寫到了指令碼中,二者無本質區別。示例 1 列印hello.txt的內容 ...
一分鐘看懂mysql 一分鐘,看懂易貨
從20世紀80年代開始,易貨公司在美國加拿大 澳大利亞等國興起,成為這些國家減少現金用量 增加銷售 減少庫存 開發新客戶 開闢新市場 促進經濟發展的重要產業。也成為了企業消化庫存商品 剩餘生產能力 無形資產的有效方式和在遭遇資金瓶頸時的新選擇。2015年以來,中國線下易貨店開始了矇眼狂奔,在河南南陽...
DevOps 教你一分鐘認識DevOps
目前在國外,網際網路巨頭如google facebook amazon linkedin netflix airbnb,傳統軟體公司如adobe ibm microsoft sap等,亦是網路業務非核心企業如蘋果 沃爾瑪 索尼影視娛樂 星巴克等都在採用deovops或提供相關支援產品。那麼devop...