001. svm的優化目標及損失函式
跟其他直接從margin出發不同,這裡從regression 的交叉熵損失函式引入,對sigmoid函式做了一點近似的拉直變形,直接引出了svm的損失函式
002. 大間隔的最優解
有超引數c開始討論,當c 足夠大時,要minimize目標函式,則需要 第一項等於0,這樣就將無約束的優化,轉化成了有約束的優化,及svm的決策邊界。 這一步可以看做是svm求解過程所用到的拉格朗日乘子法的逆理解過程。
003.最大間隔的數學解釋
將約束條件理解為 ( 樣本到超平面法向量上的投影) * (法向量的模)
且優化目標函式理解為 法向量模的平方
( 樣本到超平面法向量上的投影) * (法向量的模)>=1 的情況下, 投影越大,則法向量模及目標函式可以越小。 因此可以轉換為找到 「法向量/超平面」 使得樣本在其上的投影最大。
004. 核函式
非線性決策邊界進行分類時,用多項式演算法進行回歸,需要計算很多高階項,導致計算量很大
這裡尋找f1,f2,f3的另一種構造特徵 - 高斯核方法
高斯核的視覺化
以三點為核,通過lamda平方來控制範圍,疊加求和以後將乙個區域的取值提公升趨近於1
005. svm 核方法
對所有m個樣本進行高斯核轉換,每個樣本xi 對映到乙個m+1維的特徵空間f中,
然後再利用線性svm模型進行訓練
補充: 核方法其實在其他的演算法也可以嵌入做,比如邏輯回歸,但是svm計算過程中的tricks,並不能推廣過去,因此計算會特別慢, 因此svm跟核方法是相得益彰
006. svm 引數的設定
c是正則化項lamda的倒數,因此c 越小,正則化引數越大,則模型bias 越高,variance越小
高斯核裡面的lamda可以理解為影響了覆蓋面, lamda越大,其覆蓋面越大,越圓滑,因此實際模型的樣本落入其中的概率大,variance就小
結論: overfit 時,降低c,加大高斯核lamda;
underfit時,增大c,降低高斯核lamda;
007. svm的具體使用問題
核函式選擇:
維數引數多,樣本小,用線性核會合理點,因為高維容易過擬合;
維數引數少,樣本多,用高斯核
用高斯核時,當特徵的大小差異很大時,需要做歸一化,否則在計算高維核特徵時,較小特徵範圍得到的關注不夠。
其他核: 多項式核,string kernels,chi-square kernels, histogram intersection kernels
線性核函式跟logistics regression經常拿來對比,因為演算法比較相似(參考最開始的優化目標函式引進的過程),都適用於特徵數量多,樣本少的情形,且效果也往往也差不多
處理多分類問題時,跟logistics regression一樣,採用one-all分類;
svm的威力和魅力在於核函式對於複雜的非線性問題的處理上,樣本量較大,特徵數較多時,邏輯回歸一般效果不好,而高斯核函式會十分突出
svm的優化問題是乙個凸優化,因此總是能找到全域性最優解,無須擔心local optima問題(在神經網路中,這是個不大不小的問題)
一般來說,在上面的各類樣本量跟特徵數上,神經網路都能取得不錯的效果,但是問題是訓練起來比較慢,比起svm 會慢很多
不過,相對於在各類演算法之間選擇,實際上,在機器學習過程中,更加重要的是:你有多少資料,你有多熟悉誤差分析,debug演算法除錯,如何設計新的特徵變數
吳恩達老師機器學習筆記SVM(一)
時隔好久沒有再拾起機器學習了,今日抽空接著學 上圖為原始資料 這裡套用以前logistic回歸的模板改一下下。load ex6data1.mat theta rand 3,1 m,n size x x ones m,1 新增常量 x x x c 1 for i 1 10000 擬合次數 theta ...
吳恩達機器學習筆記
為了解決實際生活中的問題,我們通常需要乙個數學模型。比如,小明有乙個房子 他想賣掉房子 為了知道房子的 小明收集了該地區近兩年的房屋交易 他發現房屋 與房屋大小呈正相關,所以他畫了了一幅圖 小明的房屋大小用紅色的 代替。可見和小明房屋一樣大小的房子並不存在,而類似的房屋 又有很大差別,如此小明決定用...
吳恩達機器學習筆記
sigmoid啟用函式 0,1 x 0,y 0.5 tanh啟用函式 1,1 x 0,y 0 relu啟用函式 x 0,y 0 x 0,y x sigmoid啟用函式 除了輸出層是乙個二分類問題基本不會用它。tanh啟用函式 tanh是非常優秀的,幾乎適合所有場合。relu啟用函式 最常用的預設函式...