主講人 網絡上的尼采
(新浪微博:@Nietzsche_復雜網絡機器學習)
網絡上的尼采(813394698) 9:16:05
今天的主要內容:Kernel的基本知識,高斯過程。邊思考邊打字,有點慢,各位稍安勿躁。
機器學習里面對待訓練數據有的是訓練完得到參數后就可以拋棄了,比如神經網絡;有的是還需要原來的訓練數據比如KNN,SVM也需要保留一部分數據--支持向量。
很多線性參數模型都可以通過dual representation的形式表達為核函數的形式。所謂線性參數模型是通過非線性的基函數的線性組合來表達非線性的東西,模型還是線性的。比如線性回歸模型是y=,
是一組非線性基函數,我們可以通過線性的模型來表達非線性的結構。
核函數的形式:,也就是映射后高維特征空間的內積可以通過原來低維的特征得到。因此kernel methods用途廣泛。
核函數有很多種,有平移不變的stationary kernels 還有僅依賴歐氏距離的徑向基核:
非線性轉化為線性的形式的好處不言而喻,各種變換推導、閉式解就出來了。 下面推導下線性回歸模型的dual representation,有助於我們理解核函數的作用:
根據最小二乘,我們得到下面的目標函數,加了L2正則。我們對w求導,令J(w)的梯度等於0,得到以下解:
是個由基函數構成的樣本矩陣,向量
里面的元素由
組成:
我們把代入最初的J(w)得到:
咱們用核矩陣K來替換,其中矩陣K里面的元素是
於是得到
然后對
求導,令其梯度等於0,得到解
所以原來的線性回歸方程就變成了
K(X)的含義:,上面的DUAL形式的含義非常明顯,就是根據已知的的訓練數據來做預測。至此原來線性回歸方程的參數w消失,由核函數來表示回歸方程,以上方式把基於特征的學習轉換成了基於樣本的學習。 這是線性回歸的DUAL表示,svm等很多模型都有DUAL表示。
80(850639048) 10:09:50
professor 核函數其實是為了求基函數的內積對嗎?
網絡上的尼采(813394698) 10:12:57
如果有很多基的話維度勢必會很高,計算內積的花銷會很大,有些是無限維的,核函數能繞過高維的內積計算,直接用核函數得到內積。
接下來看下核函數的性質及構造方法。核函數的一般形式:
下面是個簡單的例子說明為什么是個核函數:
很明顯
是個核函數,它能寫成核函數的一般形式。
核函數的一個充分必要定理也就是mercer定理:核矩陣是半正定的:
我們可以通過以下規則用簡單的核函數來構造復雜的核函數:
過會我們講高斯過程時再舉個核函數線性組合的例子。
介紹一個經常用到的徑向基核函數,高斯核:,這個核函數能把數據映射到無限維的空間:
中間可以展開成無限維的,然后核函數可以表示成內積的形式。
內積的含義就是表示相似性,所以核函數還有其他的用法。比如我們可以通過生成模型來構造核。
兩個變量的概率都很高相似性就越大,其實這樣做就是映射到一維的內積。
我們可以引入離散的隱變量:
連續的隱變量:
舉個這樣做有啥用的例子,我們可以用來比較HMM由同一條隱馬爾科夫鏈生成的兩條序列的相似性:
網絡上的尼采(813394698) 10:40:34
接下來講我們今天的重點Gaussian Processes
牧雲(1106207961) 10:41:02
數據海洋(1009129701) 10:41:14
我先再理解,理解這些。
網絡上的尼采(813394698) 10:42:41
Gaussian Processes是貝葉斯學派的一個大殺器,用處很廣。不同於參數模型,Gaussian Processes認為函數在函數空間里存在一個先驗分布。
高斯過程和很多模型是等價的:ARMA (autoregressive moving average) models, Kalman filters, radial basis function networks ,還有特定情況下的神經網絡。
現在我們從貝葉斯線性回歸自然的引出高斯過程:
前面我們提到的線性回歸的形式
貝葉斯方法為參數加了一個高斯分布
大家發現了沒有,這樣做直接導致了函數有個預測分布,並且也是高斯的,因為方程是線性的並且參數是高斯分布。線性的東西和高斯分布總是不分家的。
我們定義向量:
,
就是個多元的高斯分布。
它的每一維都是個高斯分布,這也是高斯過程的由來。
可以表示為
是基函數組成的樣本矩陣。
高斯過程可以由均值和協方差矩陣完全決定。由於w的均值是0,所以我們也認為高斯過程的均值是0,
剩下的就是根據定義求它的協方差矩陣,很自然地就得出來了:
矩陣K里的元素都是核函數的形式。
選用什么樣的核函數也是問題,下面的圖是對采用高斯核和指數核的高斯過程的取樣,一共取了5條,可以看到兩者的區別:接下來我們就用GP來做回歸 :
我們觀測的目標值是包含噪音的,噪音是高斯分布。
那么根據線性高斯模型的性質,,其中
是噪音的參數
對於向量和向量
咱們前面說過了,可以表示為
所以marginal distribution:
其中矩陣C的元素,
是單位矩陣的元素,其實就是把
加在了矩陣
的對角線上。這個不難理解,一開始
,都是高斯的,協方差是兩者的相加,噪音每次取都是獨立的,所以只在協方差矩陣對角線上有。
現在確定下用什么核的問題,舉個例子,下面這個核函數用了高斯核,線性核,以及常數的線性組合,這樣做是為了更靈活,過會再講如何確定里面的這些超參:
下圖是不同的超參對高斯過程的影響:
解決了核函數的問題,我們再回來,通過前面的結論,不難得出
如何確定矩陣呢,其實我們在原來矩陣
的基礎上補上就行。
k和c比較容易理解:
咱們的最終目標就是得,由於這兩個都是高斯分布,用第二章條件高斯分布的公式套一下,其中均值是0:
就會得到的均值和方差:
可以看出均值和方差都是的函數,我們做預測時用均值就行了。
最后一個問題就是高斯過程是由它的協方差矩陣完全決定的,我們如何學習矩陣里面的超參呢?包括我們剛才提到的核函數里面的參數以及噪音的參數。
其實由於高斯分布的原因,我們可以方便的利用log最大似然:
求最優解時可以用共軛梯度等方法,梯度:
到這里,用高斯過程做回歸就結束了。
有了做回歸的基礎,咱們再看下如何做分類。
類似邏輯回歸,加個sigmoid函數就能做分類了:
分類與回歸不同的是是個伯努利分布。
這里還和前面一樣。
對於二分類問題,最后我們要得到是:
但是這個積分是不容易求的,是伯努利分布,
是高斯分布,不是共軛的。求積分的方法有很多,可以用MCMC,也可以用變分的方法。書上用的是Laplace approximation。
今天就到這里吧,我去吃飯,各位先討論下吧。
上面Gaussian Processes的公式推導雖然有點多,但都是高斯分布所以並不復雜,並且GP在算法實現上也不難。
另外給大家推薦一個機器學習視頻的網站,http://blog.videolectures.net/100-most-popular-machine-learning-talks-at-videolectures-net/ 里面有很多牛人比如Jordan的talks,第一個視頻就是劍橋的David MacKay講高斯過程,他的一本書 Information Theory, Inference and Learning Algorithms也很出名。
兩棲動物(9219642) 14:35:09 是個由基函數構成的矩陣,向量
里面的元素由
組成。
的維度是基函數的個數,an的維度是樣本的個數把?
網絡上的尼采(813394698) 14:36:44
對
兩棲動物(9219642) 14:37:48
哪這2個怎么后來乘在一起了?維度不是不一樣嗎?
網絡上的尼采(813394698) 14:49:01
@兩棲動物 不是方陣,可以相乘
明白了吧,另外這個由基函數表示的樣本矩陣只在推導里存在。
兩棲動物(9219642) 14:56:08
明白了,謝謝
PRML讀書會講稿PDF版本以及更多資源下載地址:http://vdisk.weibo.com/u/1841149974