吳恩達老師課程原位址用以解決 svm 最優化問題的軟體很複雜,且已經有研究者做了很多年數值優化。因此強烈建議使用高優化軟體庫中的乙個,而不是嘗試自己落實一些框架。有許多好的軟體庫,ng用得最多的兩個是liblinear 和 libsvmnote無論使用使用何種模型進行擬合,原始輸入資料都需要進行歸一化處理
即使用高度優化的軟體包,有些引數還是需要自己做出指定的。
正則化引數c
正則化引數c的選定
核的選定
note不是所有提出來的相似度函式都是有效的核函式,所有核函式都需要滿足默賽爾定理(mercer's theotem),因為為了有效的求解引數\(\theta\) , svm軟體包中使用了許多成熟的優秀的數值優化技巧,而這些技巧的使用條件即是默賽爾定理(mercer's theotem)
沒有核(線性核函式)如果滿足\(\theta^x\ge0\)則y=1;即\(\theta_0+\theta_1x1+...+\theta_nx_n\ge0\) ,通常適用於有大量的特徵但是樣本資料較少的情況下
高斯核函式(gaussian kernel)
\[f_=exp(-\frac||^}),where\ \ l^=x^
\]需要選定引數\(\sigma^2\) ,通常適用於有特徵少但是樣本資料多的情況下
3.多項式核函式(polynomial kernel)多項式核函式一般滿足\((x^l+常數)^\)的形式,其中\((x^l)^2,(x^l)^,(x^+1)^,(x^+5)^4\) 都是其常見的形式。通常的效果比高斯核要差,且x和l都是非負數的情況下,以保證內積值永遠不會是負數。
4.多項式核函式(string kernel)通常用於輸入資料是文字字串形式的情況下
5.卡方核函式(chi-square kernel)
6.直方相交核函式(histogram intersection kernel)
直接使用svm軟體包裡面都內建了多類分類的功能
或使用一對多的方法,如果有k個類,就需要k個二分類模型,把每一類從其他類中分出來,即每個模型都把原始樣本分為兩類目標類-其他類
從邏輯回歸模型,我們得到了支援向量機模型,在兩者之間,我們應該如何選擇?
n 為特徵數(特徵數可指為原始資料中的屬性值或人為夠早的特徵),m 為訓練樣本數
如果相較於 m 而言,n 要大許多,即訓練集資料量不夠支援我們訓練乙個複雜的非線性模型,我們選用邏輯回歸模型或者不帶核函式的支援向量機。
如果 n 較小,而且 m 大小中等,例如 n 在 1-1000 之間,而 m 在 10-10000 之間,使用高斯核函式的支援向量機。
如果 n 較小,而 m 較大,例如 n 在 1-1000 之間,而 m 大於 50000,則使用支援向量機會非常慢,解決方案是創造、增加更多的特徵,然後使用邏輯回歸或不帶核函式的支援向量機。
吳恩達《機器學習》課程總結 11 支援向量機
1 以下是邏輯回歸以及單個樣本的代價函式 2 首先將使用上圖中紫色的線 稱為cost1或者cost0 的代替曲線,然後將樣本數m去掉,最後將c代替1 可以這麼理解,但不完全是 從而實現邏輯回歸的代價函式到svm的轉換。3 svm的輸出將不再是邏輯回歸的概率,而就是0或者1 1 首先對z的要求更加嚴格...
吳恩達機器學習102 支援向量機最大間距分類器
1.下面是支援向量機 svm 的代價函式 上圖左邊是cost1 z 函式,用於正樣本,右邊畫出了關於z的代價函式cost0 z 函式的橫軸是z,現在我們想一下怎麼樣才能使得這些代價函式變得更小呢?當有乙個正樣本的時候,y 1,那麼僅當z大於等於1的時候,cost1 z 0,換句話說,如果有乙個正樣本...
吳恩達機器學習系列1 2
指通過讓機器學習大量帶有標籤的樣本資料,訓練出乙個模型,並使該模型可以根據輸入得到相應輸出的過程。通過已有的一部分輸入資料與輸出資料之間的對應關係,生成乙個函式,將輸入對映到合適的輸出,例如分類。或者回歸。常見應用 垃圾郵件問題 判斷乳腺癌良性惡性等。詳細內容見 一文看懂監督學習 從無標註的資料中學...