支援向量機SVM與邏輯斯諦回歸LR區別

2021-08-17 22:38:44 字數 1533 閱讀 2574

邏輯回歸模型是一種分類模型,由條件概率分布p(y|x) 表示,形式為引數化的邏輯分布,這裡,隨機變數x取值為實數,隨機變數y取值為1或0。

輸出卻一般是

離散的,即只有有限個多個輸出值。例如值域可以只有兩個值,這兩個值可以表示對樣本的某種分類(高/低,好/壞等),這就是常見的二分類邏輯回歸。因此,從整體上來說,通過lr我們可以將整個實數範圍上的x對映到了有限個點上,這樣就實現了對x的分類

。影響svm決策面的樣本點只有少數的結構支援向量,當在支援向量外新增或減少任何樣本點對分類決策面沒有任何影響;而在lr中,每個樣本點都會影響決策面的結果。

a.svm改變非支援向量樣本並不會引起決策面的變化

b.lr中改變任何樣本都會引起決策面的變化

判別模型會生成乙個表示p(y|x)的判別函式(或**模型),而生成模型先計算聯合概率p(y,x)然後通過貝葉斯公式轉化為條件概率。簡單來說,在計算判別模型時,不會計算聯合概率,而在計算生成模型時,必須先計算聯合概率

常見的判別模型有:svm、lr,條件隨機場(crf),cart,最大熵,決策樹

常見的生成模型有:樸素貝葉斯,隱馬爾可夫模型,貝葉斯網路,knn,馬爾科夫隨機場(mrf)

邏輯回歸一般使用交叉熵作為損失函式:

svm損失函式:

其中, m:訓練樣本的個數;hθ(x):用引數θ和x**出來的y值;y:原訓練樣本中的y值,也就是標準答案; 上角標(i):第i個樣本

要說有什麼本質區別,那就是兩個模型對資料和引數的敏感程度不同,因為svm在計算margin有多「寬」的時候依賴資料表達上的距離測度,如果這個測度不好,所求得的large margin就沒有意義了,這個問題即使換用kernel trick也無法避免。所以使用svm之前都需要先對資料進行normalization,而求解lr時候則不需要或者結果不敏感。

這個問題理解起來非常簡單。分類模型的結果就是計算決策面,模型訓練的過程就是決策面的計算過程。通過上面的第二點不同點可以了解,在計算決策麵時,svm演算法裡只有少數幾個代表支援向量的樣本參與了計算,也就是只有少數幾個樣本需要參與核計算(即kernal machine解的係數是稀疏的)。然而,lr演算法裡,每個樣本點都必須參與決策面的計算過程,也就是說,假設我們在lr裡也運用核函式的原理,那麼每個樣本點都必須參與核計算,這帶來的計算複雜度是相當高的。所以,在具體應用時,lr很少運用核函式機制。

lr學習演算法有: 改進的迭代尺度演算法,梯度下降,擬牛頓法

svm學習演算法: 序列最小優化演算法(smo)

邏輯斯諦回歸

先介紹乙個分布 邏輯斯諦分布。設 x 是連續隨機變數,且 x 具有以下分布函式和概率密度 f x p x leq x frac f x f x frac 其中,mu 是隨機變數的數學期望,lambda 0 是形狀引數。由圖可以看出,邏輯斯諦分布和高斯分布的密度函式長得差不多。特別注意邏輯斯諦分布的概...

支援向量機 SVM 和邏輯回歸 LR

支援向量機文件 邏輯回歸文件 1 都是常用的分類演算法。2 如果不考慮核函式,lr和svm都是線性分類演算法,也就是說他們的分類決策面都是線性的。3 lr和svm都是監督學習演算法。4 lr和svm都是判別模型 判別模型會生成乙個表示p y x 的判別函式 或 模型 而生成模型先計算聯合概率p y,...

邏輯斯諦回歸模型

logistic分布函式形式 在該方程式中,x是隨機變數,是平均值,s是與標準偏差成比例的比例引數。這個方程我們只需要了解,在邏輯回歸模型中真正用到的是sigmoid函式 當上式中的 0,s 1時,即為sigmoid函式 s z 11 e z s z frac s z 1 e z 1 邏輯回歸 lo...