EdX-Columbia機器學習課第5講筆記:貝葉斯線性迴歸
Bayes線性迴歸
MAP估計和ML估計都是對模型引數的
點估計
,也就是說它為向量
找到一個確定的值,這個值可以最大化目標函式。其中ML只考慮資料模型
,而MAP還考慮到了模型的先驗
。在這個基礎上,貝葉斯推斷還使用貝葉斯定律進一步地推斷
的不確定性
考慮到後驗分佈正比於似然與先驗分佈的乘積,可以得出
可以看出,
也滿足高斯分佈。因為高斯分佈在指數上有一個
,如果把機率密度函式展開,則是
而由前面的推導,有
因此只需要令
就可以寫成正態分佈機率密度函式的形式。此時
即
這樣我們就獲得了關於
的完整的機率分佈
類似的,我們對預測值也可以給一個機率解釋。給定
和
作為訓練集,對新的
預測
,就是求條件機率
。根據邊緣機率和聯合機率密度的定義,是對所有可能的
的積分,即
又根據條件獨立性有
因此可以得到預測的分佈
由於根據模型本身有
,根據貝葉斯定律,有
(其中
和
前面已有推導),則代入計算(比較複雜沒有推),有
期望值仍然是MAP估計的值,但是現在可以得到方差
主動學習
貝葉斯學習實際上可以看作是一個順序的過程,也就是說,原本的後驗,在看到一些資料以後,會變成接下來未知資料的先驗。令
和
是“老資料”,
和
是“新資料”,那麼根據貝葉斯定律
看到$(y,X)$以後的後驗又變成了
的先驗。即
這裡的意思是,在最開始沒有看到
,只有
的時候,計算出來的
是後驗。但是當計算完了,來了新資料對的時候,計算新的後驗是用到的先驗
實際上是
,是上一步的後驗。一步一步滾雪球。既然是一個迭代的過程,那麼我們的問題是,能否智慧地學習
?也就是,對於
,能否選擇一個迭代學習的順序?
假設我們已經有了有標籤的資料集
和後驗
,則可以對
中的其他
構建預測分佈:
對每個
,
反映了我們的置信度,也就是說可以採用以下策略:
1。 對所有沒有標籤的
構建
2。 找出
最大的
和其對應的
3。 更新後驗
,注意用到的
4。 使用更新的後驗,回到第一步
這個過程實際上是減少了系統中的熵(也就是不確定性)。令一個
代表一個連續分佈,則其熵定義為
它量度了分佈的延展情況。該值越大說明分佈越是一個“不確定”的分佈(即方差越大)。多變數高斯分佈的熵為
也就是高斯分佈的熵隨著其協方差矩陣的變化而變化。根據前面順序貝葉斯學習的理論,協方差矩陣從先驗變到後驗
根據秩為1矩陣的行列式的更新性質,有
因此最小化
的
也最大化了
模型選擇
其實就是如何選擇
。貝葉斯學習還可以透過證據最大化(evidence maximization)來表達,即
這裡分母就是“證據”。證據給出了資料的似然,而且把
積分掉了。最好的
滿足
也是正態分佈,可以表示成
,需要求出
的最大值。這個值只能迭代求出,沒有解析解
之前的最大似然是最大化主引數
的似然,稱為I類機器學習。這裡是把主引數積分掉,最大化超引數
,是II類機器學習,也稱為經驗Bayes。但是對複雜模型不適用。因此最好的找出
的方法還是交叉驗證