機器學習技法 筆記五 Kernel Logistic Regression

這一節我們把以前學過的logistics 和 kernel合在一起

在上一節中,我們講了soft-margin,推出的結論如下圖



圖中的ζ其實就是一個點違反的距離,就是1-y(wz+b)

其實我們可以很容易想到,對於圖中的點,如果違反了,那麼ζ是1-y(wz+b),而對於沒有違反的點,顯然就是0,

所以其實可以寫成這樣子


其實這個形式是不是很熟悉?

沒錯


那我們爲什麼不一開始直接寫成這個樣子,而是寫成最開始做二次規劃的那個樣子呢?

1.如果直接寫成這個樣子,沒有條件,而且是把整個東西直接來做min,不是一個二次規劃問題

2.對於裏面的err hat,我們中間有max函數,對於它,有的地方是沒有辦法微分的。


我們可以很直觀的看一下比較,其實large margin就是更少的hyperplanes,就是L2 regularization的更短的w

而soft margin其實就是一個具體的err hat,把具體錯誤的衡量方式給了出來。

當然圖中的C越大,說明regularization做得越小。 λ則相反

接着,我們再來說說這個error問題,

0/1 error,這個是上一門課提到的,而我們SVM的error hat顯然是0/1error的一個上限

而在以前講過,如果0/1error能夠被一個上限給包住,那麼我們找到一個替代的演算法(我已經忘了,看來還需要腦補一下=。=)


其實我們可以由圖看出來,logistic的和svm的其實是很接近的。

又因爲我們的svm加上了w的限制,是不是可以把SVM看做是一個logistic+L2呢?

w的限制對應L2,error hat對應logistic =。=也就是說如果我們今天解了一個regularization logistic 問題,是不是其實也相當於解了一個SVM問題呢?

那如果我們今天解了一個SVM問題,可以想成解決了一個regularization logistic 問題嗎?大家記得我們logistic問題給出的概率喲,SVM能做到嗎?

naive 方法1,解出SVM得到b和w,然後直接用這個b和w代替lr問題中的b和w,=。=這樣感覺就沒有lr的意義了,比如以前推導的似然函數等等都沒有了

naive 方法2,解出SVM得到b和w,然後用這個作爲lr問題中迭代的起始點,但是這和實際只跑lr的解沒有太大區別

一個可行的方法,直接給公式吧


其實就是先用SVM做出來一個值,然後再調整A和B兩個參數來match 最大似然函數。

其實也可以這樣理解,就是把以前的x轉換到SVM這個維度,多維到一維,然後再做一個一維的lr問題。

但是這並不是真正的做kernel lr=。=

我們前面已經接觸到這樣一個結論,在L2 lr中我們要求的w可以表示成資料Z的線性組合,


證明:假設最佳解w1不是屬於space Z,

那麼w1這個向量可以分解成w2∈space Z ,w3垂直於space Z,首先w1*z=(w2+w3)*z=w2z,因爲w3*z=0,垂直嘛

ww=(w2+w3)(w2+w3)=w2w2+w3w3+2w2w3=w2w2+w3w3>w2w2

顯然w2比起w1來說纔是更優的解,矛盾

所以說我們的確是可以用資料的線性組合來表示w


 顯然這樣就得到了我們的kernel

最後老師說這個模型可以理解成兩種,一個把kernel本身當做一個整體,所以是β的線性組合,也可也理解成原始資料的線性組合

比如高斯SVM,可以理解爲原始資料的線性組合,也可以理解爲一堆高斯的線性組合。這裏我沒太理解清楚=。=

最後klr的β大多不爲0,計算代價比較大。




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