吳恩達“機器學習”——學習筆記五


朴素貝葉斯算法(Naive Bayes)(續學習筆記四)

兩個朴素貝葉斯的變化版本

x_i可以取多個值,即p(x_i|y)是符合多項式分布的,不是符合伯努利分布的。其他的與符合伯努利的情況一樣。(同時也提供一種思路將連續型變量變成離散型的,比如說房間的面積可以進行離散分類,然后運用這個朴素貝葉斯算法的變形)。

第二個朴素貝葉斯的變化形式專門用來處理文本文檔,即對序列進行分類,被稱為朴素貝葉斯的事件模型(event model)。這將使用一種不同的方式將郵件轉化為特征向量。

之前的特征向量是:向量維度是字典的大小,此向量將會把郵件中出現的單詞在字典中標記為1,未出現的單詞標記為0。

現在將特征向量進行變化:向量維度是郵件的長度,向量中的每一個元素對應用郵件中的對應位置的單詞。加入郵件是‘a nips’。假如a在字典中的位置是第一位,nips在字典中的位置是3500位。那么x_0=1,x_1=3500。對應的生成模型就變成了,n代表郵件單詞的數量,xi服從多項式分布。對應的參數為φy = p(y),φi|y=1 = p(x_ j = i|y = 1) (for any j),φi|y=0 = p(x_ j = i|y = 0)。給出訓練集合,可以求得參數的最大似然估計:

根據laplace平滑,可以得到,

神經網絡(neural network)

可以生成非線性分類器。(生成學習算法中的高斯判別和朴素貝葉斯都是和logistics函數相關的線性分類器)

將特征先傳遞到中間層的sigmoid單元,在將中間層的sigmoid單元傳遞到輸出層的sigmoid單元中。

對應的函數以及成本可以寫成:

 

在神經網絡中使用梯度下降算法,稱為反向傳播。

支持向量機(support vector machine)

另外一種可以生成非線性分類器的算法。

先進行線性分類器的說明。

考慮logistics回歸,使用的是sigmoid函數,h>0.5時,我們就認為y為1,或者說,theta^T(x)>0時,我們就認為y為1。所以,如果theta^T(x)遠大於0,我們就可以堅信y=1,如果theta^T(x)遠小於0,我們就可以堅信y=0。這可以從sigmo圖像中很容易得到。可以根據theta^T(x)=0,來找出一條邊界線,距離這條邊界線越遠,我們就對它的預測值更有信心,離這條線越近,我們對它的預測值的信心就會減少。

在SVM中,改變了一些約束:y的取值變成了-1和1,不再是0與1了;預測值的參數也變成了w和b了g也不再是sigmoid函數了,而是g(z) = 1 if z ≥ 0, and g(z) = −1 otherwise。

w^Tx+b與之前的θ^Tx本質上是一樣的,只不過之前假設的是x_0等於1。w=[θ1 . . . θn] ^T,b=θ0。

函數間隔

給定訓練樣本,我們定義函數間隔為

如果y^(i)=1,為了讓預測更加正確,應該要求w^Tx+b為一個很大的正數,如果y^(i)=-1,我們應該要求w^Tx+b為一個很小的負數。我們認為y^ (i) (w T x + b) > 0,那么我們的預測就是正確的。

如果有多個訓練樣本,就定義

即離分界線最近的一種情況,即最壞的情況。現在就轉化為在最壞的情況下,使得函數間隔最大。但是,如果使得w和b同時加倍,此時的邊界線不變,但是函數間隔會隨着w和b的加倍而加倍,但是這種大的函數間隔是沒什么用的。所以可以進行正規化處理解決這個問題。

幾何間隔

A(x^(i),y^(i)),w是分界線的法向量,gamma是A與B之間的距離。那么B點就有同時B點存在所以可以得到更一般的,我們可以寫成所以,幾何間距是一個化歸處理的函數間距。當有多個樣本時,我們也定義

最大間隔分類器

SVM的前身

即選擇gamma,w,b使得幾何間隔最大(在滿足 y (i) (w T x (i) + b) ≥ γ, i = 1, . . . , m ||w|| = 1.的條件下)。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM