邏輯斯蒂回歸VS決策樹VS隨機森林


LR 與SVM

不同

1.logistic regression適合需要得到一個分類概率的場景,SVM則沒有分類概率

2.LR其實同樣可以使用kernel,但是LR沒有support vector在計算復雜度上會高出很多。如果樣本量很大並且需要的是一個復雜模型,那么建議SVM

3. 如果樣本比較少,模型又比較復雜。那么建議svm,它有一套比較好的解構風險最小化理論的保障,比如large margin和soft margin

相同

1. 由於hinge loss和entropy loss很接近,因此得出來的兩個分類面是非常接近的

2. 都是在兩個loss上做了一個regularization

作者:Jack

鏈接:https://www.zhihu.com/question/21704547/answer/74459964

來源:知乎

著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。

LR 與SVM

在Andrew NG的課里講到過:

1. 如果Feature的數量很大,跟樣本數量差不多,這時候選用LR或者是Linear Kernel的SVM

2. 如果Feature的數量比較小,樣本數量一般,不算大也不算小,選用SVM+Gaussian Kernel

3. 如果Feature的數量比較小,而樣本數量很多,需要手工添加一些feature變成第一種情況

仔細想想,為什么是這樣?

作者:雷軍

鏈接:https://www.zhihu.com/question/21704547/answer/30682505

來源:知乎

著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。

下面內容來源:http://www.cnblogs.com/suanec/p/4992887.html

首先,我們來分析下邏輯回歸(Logistic Regression),它是解決工業規模問題最流行的算法,盡管與其他技術相比,其在效率和算法實現的易用性方面並不出眾。

邏輯回歸非常便利並且很有用的一點就是,它輸出的結果並不是一個離散值或者確切的類別。相反,你得到的是一個與每個觀測樣本相關的概率列表。你可以使用不同的標准和常用的性能指標來分析這個概率分數,並得到一個閾值,然后使用最符合你業務問題的方式進行分類輸出。在金融行業,這種技術普遍應用於記分卡中,對於同一個模型,你可以調整你的閾值【臨界值】來得到不同的分類結果。很少有其它算法使用這種分數作為直接結果。相反,它們的輸出是嚴謹的直接分類結果。同時,邏輯回歸在時間和內存需求上相當高效。它可以應用於分布式數據,並且還有在線算法實現,用較少的資源處理大型數據。

除此之外,邏輯回歸算法對於數據中小噪聲的魯棒性很好,並且不會受到輕微的多重共線性的特別影響。嚴重的多重共線性則可以使用邏輯回歸結合L2正則化來解決,不過如果要得到一個簡約模型,L2正則化並不是最好的選擇,因為它建立的模型涵蓋了全部的特征。

當你的特征數目很大並且還丟失了大部分數據時,邏輯回歸就會表現得力不從心。同時,太多的類別變量對邏輯回歸來說也是一個問題。邏輯回歸的另一個爭議點是它使用整個數據來得到它的概率分數。雖然這並不是一個問題,但是當你嘗試畫一條分離曲線的時候,邏輯回歸可能會認為那些位於分數兩端“明顯的”數據點不應該被關注。有些人可能認為,在理想情況下,邏輯回歸應該依賴這些邊界點。同時,如果某些特征是非線性的,那么你必須依靠轉換,然而當你特征空間的維數增加時,這也會變成另一個難題。所以,對於邏輯回歸,我們根據討論的內容總結了一些突出的優點和缺點。

Logistic回歸分析的優點:

1.適合需要得到一個分類概率的場景

2.實現效率較高

3.對邏輯回歸而言,多重共線性並不是問題,它可以結合L2正則化來解決;

4.邏輯回歸廣泛的應用於工業問題上

 

邏輯回歸的缺點:

1.當特征空間很大時,邏輯回歸的性能不是很好;

2.不能很好地處理大量多類特征或變量;

4.對於非線性特征,需要進行轉換;

5.依賴於全部的數據特征,當特征有缺失的時候表現效果不好

 

 


 

 

決策樹

決策樹固有的特性是它對單向變換或非線性特征並不關心[這不同於預測器當中的非線性相關性>,因為它們簡單地在特征空間中插入矩形[或是(超)長方體],這些形狀可以適應任何單調變換。當決策樹被設計用來處理預測器的離散數據或是類別時,任何數量的分類變量對決策樹來說都不是真正的問題。使用決策樹訓練得到的模型相當直觀,在業務上也非常容易解釋。決策樹並不是以概率分數作為直接結果,但是你可以使用類概率反過來分配給終端節點。這也就讓我們看到了與決策樹相關的最大問題,即它們屬於高度偏見型模型。你可以在訓練集上構建決策樹模型,而且其在訓練集上的結果可能優於其它算法,但你的測試集最終會證明它是一個差的預測器。你必須對樹進行剪枝,同時結合交叉驗證才能得到一個沒有過擬合的決策樹模型。

隨機森林在很大程度上克服了過擬合這一缺陷,其本身並沒有什么特別之處,但它卻是決策樹一個非常優秀的擴展。隨機森林同時也剝奪了商業規則的易解釋性,因為現在你有上千棵這樣的樹,而且它們使用的多數投票規則會使得模型變得更加復雜。同時,決策樹變量之間也存在相互作用,如果你的大多數變量之間沒有相互作用關系或者非常弱,那么會使得結果非常低效。此外,這種設計也使得它們更不易受多重共線性的影響。

決策樹總結如下:

決策樹的優點:

1.直觀的決策規則

2.可以處理非線性特征

3.考慮了變量之間的相互作用

決策樹的缺點:

1.訓練集上的效果高度優於測試集,即過擬合[隨機森林克服了此缺點]

2.沒有將排名分數作為直接結果

 


 

支持向量機

現在來討論下支持向量機(SVM, Support Vector Machine)。支持向量機的特點是它依靠邊界樣本來建立需要的分離曲線。正如我們 之間看到的那樣,它可以處理非線性決策邊界。對邊界的依賴,也使得它們有能力處理缺失數據中“明顯的”樣本實例。支持向量機能夠處理大的特征空間,也因此成為文本分析中最受歡迎的算法之一,由於文本數據幾乎總是產生大量的特征,所以在這種情況下邏輯回歸並不是一個非常好的選擇。

對於一個行外人來說,SVM的結果並不像決策樹那樣直觀。同時使用非線性核,使得支持向量機在大型數據上的訓練非常耗時。總之:

SVM的優點:

1.能夠處理大型特征空間

2.能夠處理非線性特征之間的相互作用

3.無需依賴整個數據

SVM的缺點:

1.當觀測樣本很多時,效率並不是很高

2.有時候很難找到一個合適的核函數

為此,我試着編寫一個簡單的工作流,決定應該何時選擇這三種算法,流程如下:

首當其沖應該選擇的就是邏輯回歸,如果它的效果不怎么樣,那么可以將它的結果作為基准來參考;

然后試試決策樹(隨機森林)是否可以大幅度提升模型性能。即使你並沒有把它當做最終模型,你也可以使用隨機森林來移除噪聲變量

如果特征的數量和觀測樣本特別多,那么當資源和時間充足時,使用SVM不失為一種選擇。


 

最后,大家請記住,在任何時候好的數據總要勝過任何一個算法。時常思考下,看看是否可以使用你的領域知識來設計一個好的特征。在使用創建的特征做實驗時,可以嘗試下各種不同的想法。此外,你還可以嘗試下多種模型的組合。這些我們將在下回討論,所以,整裝待發吧!



作者:在山的那邊_
鏈接:http://www.jianshu.com/p/95e5faa3f709
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM