線性分類Linear Classification

記錄一些學習隨筆,作爲數據挖掘知識的整理


感知器(perceptron)vol.1

我們所學的首個神經網絡

類是實現定義好的點所組成的組

分類(classification)可以猜測某一個點所在的類


在學習分類時我們需要解決的2個問題:

1、分類(classifying):判斷出點在decision boundary的哪一邊

2、learning:找到分隔出兩個類的decision boundary。

在learning完成後,classifier可以對未知點做正確分類。


引入超平面(hyperplane)作分隔用。

向量加一個origin point可以表示一個hyperplane P

若點X屬於法向量V和超平面上一點C組成的平面,則有V和X-C的點積爲0的性質,類似三維平面。


V是超平面的法向量,C是超平面的原點。

對於點到P的符號距離(signed distance)y,可以表示爲y=V(X-C)(兩個向量的點積)

因此可以用此來將一個點歸類,若距離y大於零歸爲一類,y小於零歸爲另一類

引入step函數,將y作爲參數,當y爲負時step函數輸出-1,y爲正時step函數輸出1。再以該輸出z作爲分類判斷依據。


上述就是一個人工神經元(artificial neuron)的例子。xi作爲輸入,vi作爲偏置權值(bias weight),step函數是傳遞函數(transfer function)的例子,也可以有其他傳遞函數如linear和tanh等。 


至此,我們已經解決classification的第一個問題classifying。


下面是neuron learning,即找到合理的v0,v1,...,vn。找到法向量和初始點後可構造出hyperplane。


將由hyperplane分類時產生的錯誤歸類稱爲Error,

t是點X的應該歸到的類,取值爲1或-1,z是神經元輸出。

以E爲準我們找到neuron learning的方法:逐步減小error。

1、隨機取數據集裏的一點

2、計算該點的error

3、調整v0,...,vn使error降低

4、重複上述步驟

我們用E關於vi的偏導數來表示它們之間的變化關係

取一階偏導數,再將一階偏導數乘上經驗係數(fudge factor,learning rate),則有

得到完整的Delta rule(一種學習法則)

1、在數據集中隨機取點

2、計算該點的E

3、計算

4、更新vi

5、重複執行上述步驟,將更多的點進行正確分類


所取的經驗係數足夠小,算法可以收斂到期望狀態,但不唯一。

發佈了23 篇原創文章 · 獲贊 0 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章