线性回归、逻辑回归及SVM
1,回歸(Linear Regression)
回歸其實就是對已知公式的未知參數進行估計。可以簡單的理解為:在給定訓練樣本點和已知的公式后,對于一個或多個未知參數,機器會自動枚舉參數的所有可能取值(對于多個參數要枚舉它們的不同組合),直到找到那個最符合樣本點分布的參數(或參數組合)。當然,實際運算有一些優化算法,肯定不會去枚舉的。注意,回歸的前提是公式已知,否則回歸無法進行。回歸中的公式基本都是數據分析人員通過看大量數據后猜測的。根據這些公式的不同,回歸分為線性回歸和非線性回歸。線性回歸中公式都是“一次”的(一元一次方程或多元一次方程),而非線性則可以有各種形式(N元N次方程,log方程等等)。當然如果我們的公式假設是錯的,任何回歸都得不到好結果。
2,線性回歸
線性回歸是回歸模型,利用稱為線性回歸方程的最小平方函數對一個或多個自變量和因變量之間關系進行建模的一種回歸分析。這種函數是一個或多個稱為回歸系數的模型參數的線性組合(自變量都是一次方)。只有一個自變量的情況稱為簡單回歸,大于一個自變量情況的叫做多元回歸。通過合理的回歸模型,我們可以得到接近于真實值的預測值,然而很多情況下,我們需要回歸產生一個類似概率值的0~1之間的數值。
于是引入了Logistic方程,來做歸一化。這里再次說明,該數值并不是數學中定義的概率值。那么既然得到的并不是概率值,為什么我們還要費這個勁把數值歸一化為0~1之間呢?歸一化的好處在于數值具備可比性和收斂的邊界,歸一化能夠保證此次得到的結果不會因為邊界 太大或太小 導致覆蓋其他feature 或被其他feature覆蓋。這是用logistic回歸而非直接線性回歸的主要原因。
舉個例子:比如你不僅僅是關心鞋子的銷量,而是要對鞋子賣出的可能、當地治安情況、當地運輸成本等多個要素之間加權求和,用綜合的加和結果決策是否在此地開鞋店時,假設如果鞋子銷量最壞時為100,但最好時能賣無限多個,而當地治安狀況是用0~1之間的數值表述的,如果兩者直接求和治安狀況就完全被忽略了。
3,邏輯回歸
邏輯回歸(Logistic Regression) 就是一個被logistic方程歸一化后的線性回歸,之所以用logistic而不用其它,是因為這種歸一化的方法往往比較合理,能夠打壓過大和過小的結果(往往是噪音),以保證主流的結果不至于被忽視。
logistic 回歸和線性回歸的主要區別是:線性回歸是根據樣本X各個維度的Xi的線性疊加(線性疊加的權重系數wi就是模型的參數)來得到預測值的Y,然后最小化所有的樣本預測值Y與真實值y’的誤差來求得模型參數。我們看到這里的模型的值Y是樣本X各個維度的Xi的線性疊加,是線性的。
然后再來看看我們這里的logistic 回歸模型,模型公式是:
邏輯回歸采用似然函數,而不是平方損失函數,主要是因為交叉熵損失函數的好處是可以克服方差代價函數更新權重過慢的問題(針對激活函數是sigmoid的情況)。
邏輯回歸使用sigmoid函數的原因有:
(1)Sigmoid 函數自身的性質,因為這是一個最簡單的,可導的,0-1階躍函數;sigmoid 函數連續,單調遞增;關于(0,0.5) 中心對稱;對sigmoid函數求導簡單 。
(2)邏輯回歸函數的定義:
邏輯回歸可用于概率預測,也可用于分類。并不是所有的機器學習方法都可以做可能性概率預測(比如SVM就不行,它只能得到1或者-1)。可能性預測的好處是結果有可比性:比如我們得到不同廣告被點擊的可能性后,就可以展現點擊可能性最大的N個。這樣以來,哪怕得到的可能性都很高,或者可能性都很低,我們都能取最優的topN。當用于分類問題時,僅需要設定一個閾值即可,可能性高于閾值是一類,低于閾值是另一類。
邏輯回歸僅能用于線性問題,只有在feature和target是線性關系時,才能用LogisticRegression(不像SVM那樣可以應對非線性問題)。這有兩點指導意義,一方面當預先知道模型非線性時,果斷不使用LogisticRegression; 另一方面,在使用LogisticRegression時注意選擇和target呈線性關系的feature。
各feature之間不需要滿足條件獨立假設,但各個feature的貢獻是獨立計算的。邏輯回歸不像樸素貝葉斯一樣需要滿足條件獨立假設(因為它沒有求后驗概率)。但每個feature的貢獻是獨立計算的,即LR是不會自動幫你combine不同的features產生新feature的。
參考鏈接:https://www.jianshu.com/p/f15c87c6810b
4,邏輯回歸和SVM的異同點
4.1 相同點
第一,LR和SVM都是分類算法。
第二,如果不考慮核函數,LR和SVM都是線性分類算法,也就是說他們的分類決策面都是線性的。
第三,LR和SVM都是監督學習算法。
第四,LR和SVM都是判別模型。
判別模型會生成一個表示P(Y|X)的判別函數(或預測模型),而生成模型先計算聯合概率p(Y,X)然后通過貝葉斯公式轉化為條件概率。簡單來說,在計算判別模型時,不會計算聯合概率,而在計算生成模型時,必須先計算聯合概率。
4.2 不同點:
第一,本質上是其loss function不同
邏輯回歸的損失函數是交叉熵函數:
SVM的損失函數:
邏輯回歸方法基于概率理論,假設樣本為1的概率可以用sigmoid函數來表示,然后通過極大似然估計的方法估計出參數的值;支持向量機基于幾何間隔最大化原理,認為存在最大幾何間隔的分類面為最優分類面;
第二,支持向量機只考慮局部的邊界線附近的點,而邏輯回歸考慮全局(遠離的點對邊界線的確定也起作用)。
第三,在解決非線性問題時,支持向量機采用核函數的機制,而LR通常不采用核函數的方法。
這個問題理解起來非常簡單。分類模型的結果就是計算決策面,模型訓練的過程就是決策面的計算過程。通過上面的第二點不同點可以了解,在計算決策面時,SVM算法里只有少數幾個代表支持向量的樣本參與了計算,也就是只有少數幾個樣本需要參與核計算(即kernal machine解的系數是稀疏的)。非線性SVM可以理解為通過核函數將非線性特征映射為線性特征,然后再求線性分界面(只是方便理解,實際上并不是線性)。實際運算時直接在低維空間中直接計算,而不是先映射到高維空間再進行內積運算
然而,LR算法里,每個樣本點都必須參與決策面的計算過程,也就是說,假設我們在LR里也運用核函數的原理,那么每個樣本點都必須參與核計算,這帶來的計算復雜度是相當高的。所以,在具體應用時,LR很少運用核函數機制。
第四,SVM的損失函數就自帶正則。
參考原文:https://blog.csdn.net/ddydavie/article/details/82668141
總結
以上是生活随笔為你收集整理的线性回归、逻辑回归及SVM的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在这里遇见你是哪首歌啊?
- 下一篇: 实体店看中一件衬衫裙卖光了,找不到淘宝连