支援向量機文件
邏輯回歸文件
1、都是常用的分類演算法。
2、如果不考慮核函式,lr和svm都是線性分類演算法,也就是說他們的分類決策面都是線性的。
3、lr和svm都是監督學習演算法。
4、lr和svm都是判別模型
判別模型會生成乙個表示p(y|x)的判別函式(或**模型),而生成模型先計算聯合概率p(y,x)然後通過貝葉斯公式轉化為條件概率。簡單來說,在計算判別模型時,不會計算聯合概率,而在計算生成模型時,必須先計算聯合概率。或者這樣理解:生成演算法嘗試去找到底這個資料是怎麼生成的(產生的),然後再對乙個訊號進行分類。基於你的生成假設,那麼那個類別最有可能產生這個訊號,這個訊號就屬於那個類別。判別模型不關心資料是怎麼生成的,它只關心訊號之間的差別,然後用差別來簡單對給定的乙個訊號進行分類。常見的判別模型有:knn、svm、lr,常見的生成模型有:樸素貝葉斯,隱馬爾可夫模型。
5、lr和svm在學術界和工業界都廣為人知並且應用廣泛
1、首先他們的損失函式不一樣,這算本質上區別
不同的loss function代表了不同的假設前提,也就代表了不同的分類原理,也就代表了一切!!!簡單來說,邏輯回歸方法基於概率理論,假設樣本為1的概率可以用sigmoid函式來表示,然後通過極大似然估計的方法估計出引數的值,具體細節參考
邏輯回歸相關文件。支援向量機基於幾何間隔最大化原理,認為存在最大幾何間隔的分類面為最優分類面,具體細節參考svm支援向量機的相關文件
2、支援向量機只考慮區域性的邊界線附近的點,而邏輯回歸考慮全域性(遠離的點對邊界線的確定也起作用)。
當你讀完上面兩個**的內容,深入了解了lr和svm的原理過後,會發現影響svm決策面的樣本點只有少數的結構支援向量,當在支援向量外新增或減少任何樣本點對分類決策面沒有任何影響;而在lr中,每個樣本點都會影響決策面的結果。
因為上面的原因,得知:線性svm不直接依賴於資料分布,分類平面不受一類點影響;lr則受所有資料點的影響,如果資料不同類別strongly unbalance,一般需要先對資料做balancing。
3、在解決非線性問題時,支援向量機採用核函式的機制,而lr通常不採用核函式的方法。
這個問題理解起來非常簡單。分類模型的結果就是計算決策面,模型訓練的過程就是決策面的計算過程。通過上面的第二點不同點可以了解,在計算決策麵時,svm演算法裡只有少數幾個代表支援向量的樣本參與了計算,也就是只有少數幾個樣本需要參與核計算(即kernal machine解的係數是稀疏的)。然而,lr演算法裡,每個樣本點都必須參與決策面的計算過程,也就是說,假設我們在lr裡也運用核函式的原理,那麼每個樣本點都必須參與核計算,這帶來的計算複雜度是相當高的。所以,在具體應用時,lr很少運用核函式機制。
4、線性svm依賴資料表達的距離測度,所以需要對資料先做normalization,lr不受其影響。
5、svm的損失函式就自帶正則!!!(損失函式中的1/2||w||^2項),這就是為什麼svm是結構風險最小化演算法的原因!!!而lr必須另外在損失函式上新增正則項!!!
以前一直不理解為什麼svm叫做結構風險最小化演算法,所謂結構風險最小化,意思就是在訓練誤差和模型複雜度之間尋求平衡,防止過擬合,從而達到真實誤差的最小化。未達到結構風險最小化的目的,最常用的方法就是新增正則項,後面的部落格我會具體分析各種正則因子的不同,這裡就不扯遠了。但是,你發現沒,svm的目標函式裡居然自帶正則項!!!再看一下上面提到過的svm目標函式
同樣的線性分類情況下,如果異常點較多的話,無法剔除,首先lr,lr中每個樣本都是有貢獻的,最大似然後會自動壓制異常的貢獻,svm+軟間隔對異常還是比較敏感,因為其訓練只需要支援向量,有效樣本本來就不高,一旦被干擾,**結果難以預料。
svm對雜訊點比較敏感。
邏輯回歸相對來說模型更簡單,好理解,實現起來,特別是大規模線性分類時比較方便。而svm的理解和優化相對來說複雜一些。但是svm的理論基礎更加牢固,有一套結構化風險最小化的理論基礎,雖然一般使用的人不太會去關注。還有很重要的一點,svm轉化為對偶問題後,分類只需要計算與少數幾個支援向量的距離,這個在進行複雜核函式計算時優勢很明顯,能夠大大簡化模型和計算量。
假設: n = 特徵數量,m = 訓練樣本數量
1)如果n相對於m更大,比如 n = 10,000,m = 1,000,則使用lr理由:特徵數相對於訓練樣本數已經夠大了,使用線性模型就能取得不錯的效果,不需要過於複雜的模型;
2)如果n較小,m比較大,比如n = 10,m = 10,000,則使用svm(高斯核函式)理由:在訓練樣本數量足夠大而特徵數較小的情況下,可以通過使用複雜核函式的svm來獲得更好的**效能,而且因為訓練樣本數量並沒有達到百萬級,使用複雜核函式的svm也不會導致運算過慢;
3)如果n較小,m非常大,比如n = 100, m = 500,000,則應該引入/創造更多的特徵,然後使用lr或者線性核函式的svm。
理由:因為訓練樣本數量特別大,使用複雜核函式的svm會導致運算很慢,因此應該考慮通過引入更多特徵,然後使用線性核函式的svm或者lr來構建**性更好的模型。
支援向量機SVM與邏輯斯諦回歸LR區別
邏輯回歸模型是一種分類模型,由條件概率分布p y x 表示,形式為引數化的邏輯分布,這裡,隨機變數x取值為實數,隨機變數y取值為1或0。輸出卻一般是 離散的,即只有有限個多個輸出值。例如值域可以只有兩個值,這兩個值可以表示對樣本的某種分類 高 低,好 壞等 這就是常見的二分類邏輯回歸。因此,從整體上...
支援向量機(SVM) 支援向量回歸(SVR)
1 支援向量機 svm 是一種比較好的實現了結構風險最小化思想的方法。它的機器學習策略是結構風險最小化原則 為了最小化期望風險,應同時最小化經驗風險和置信範圍 支援向量機方法的基本思想 1 它是專門針對有限樣本情況的學習機器,實現的是結構風險最小化 在對給定的資料逼近的精度與逼近函式的複雜性之間尋求...
SVM簡介 SVM與感知機 邏輯回歸LR的區別
硬間隔svm 軟間隔svm 核函式 svm分類超平面的解是唯一的,要滿足間隔最大化 感知機的解不唯一,沒有間隔最大化的約束條件,滿足分開資料點的分介面都是可以的 相同點 第一,lr和svm都是分類演算法。第二,如果不考慮核函式,lr和svm都是線性分類演算法,也就是說他們的分類決策面都是線性的 第三...