熱線電話:13121318867

登錄
首頁精彩閱讀邏輯回歸,決策樹,支持向量機 選擇方案
邏輯回歸,決策樹,支持向量機 選擇方案
2018-01-16
收藏

邏輯回歸,決策樹,支持向量機 選擇方案

分類是我們在工業界經常遇到的場景,本文探討了3種常用的分類器,邏輯回歸LR,決策樹DT和支持向量機SVM。

這三個算法都被廣泛應用于分類(當然LR,DT和SVR也可以用于回歸,但是本文先不討論)。我經??吹饺藗儠?,這個問題我該使用LR呢還是決策樹(或者GBDT)還是SVM呢。然后你會聽到一個“經典”而且“絕對正確”的答案:”It depends.”這個答案簡直毫無卵用。所以本文將探討一下面臨模型選擇的時候到底depends on what。

接下來是一個簡單的2-D的解釋,至于向更高維度的擴展延伸,就靠你們了~

從最重要的問題入手:我們在分類時想要做什么~聽起來很蠢有木有,重新組織一下問題~為了完成分類,我們嘗試得到一個分類邊界或者是一個你和曲線,哪個方式能夠在我們的特征空間里更好的進行分類呢?

特征空間聽起來很fancy,看一個簡單的例子,我有一些樣本數據,特征(x1,x2)和標簽(0或1)。

可以看到我們的特征是2-D的,不同的顏色代表著不同的類別標簽,我們想要使用算法來獲得一個曲線來區分這些不同類別的樣本。

其實可以很直觀的看出來,這個場景下圓是一個比較理想的分類邊界。而不同的分類邊界也就是LR,DT和SVM的區別所在。

首先看一下邏輯回歸,對于LR給出的決策邊界,我們對于這個經典的S型曲線會有不少困惑:

其實這個藍色的曲線并不是決策邊界,它只是把二分類的答案使用連續值輸出置信度的一個方式,例如給出分類結果為1的置信度。LR決策面其實是一條直線(高維情況下平面或超平面),為什么呢?

來看下邏輯回歸的公式:

為了判定樣本屬于哪一類,需要設置一個截斷分數,高于這個分數就預測為正例,低于這個分數就預測為負例。例如階段分數是c,所以我們的決策過程如下:

Y=1 當 p>c,否則為0。因而解決了之前的一個問題:LR的決策邊界其實是一條直線。

所以對于之前的數據集我們得到的LR的決策邊界如下:

可以看出來LR的效果并不好,因為不管你怎么調,決策邊界都是線性的,無法擬合出來一個圓形的決策邊界,所以LR比較適合解決線性可分的問題(雖然你也可以通過對特征進行變換從而使樣本數據線性可分,但是目前不討論這個東西,這個是特征工程的工作,和模型沒關系)。

現在看一下決策樹的工作原理,決策樹是按照單個變量進行一層一層的規則過濾,例如:

x1大于或小于const或者x2大于或小于某個const做的工作是使用直線來劃分特征空間,如下圖:

如果我們讓決策樹更復雜一點,例如深度更大,則這些判斷條件能夠更細地劃分特征空間,從而越來越逼近那個圓形的決策邊界。

因此,如果決策邊界是非線性的,而且能夠通過矩形來劃分特征空間,那么決策樹就是優于LR的模型。

最后,看一下SVM的工作模式,SVM通過核函數把特征空間映射到其他維度,從而使得樣本數據線性可分,換個說法,SVM通過添加新的維度的特征從而使得樣本線性可分。從下圖可以看到,當把特征映射到另一個空間,那么一個決策面可以把數據區分開,換言之,如果把這個決策面映射到初始特征空間,我們就相當于得到了一個非線性的決策邊界。

在原始的2-D的特征基礎上添加一個新的特征,我們就可以通過一個平面,使得這個3-D的樣本數據線性可分了(使用n-1維的超平面把n維的樣本分開),如果把這個分類面投射到原始的2-D空間,那么其實我們會得到一個圓哦,雖然這個分類邊界并不會像下圖這樣理想,但是也是能夠逼近這個圓的。

到這里我們大致明白了3個模型的工作原理,但是一開始提出的問題并沒有解決,it depends on what? 什么情況下使用什么模型,優勢是什么,劣勢又是什么?我們下面來探討這個問題~

LR,DT,SVM都有自身的特性,首先來看一下LR,工業界最受青睞的機器學習算法,訓練、預測的高效性能以及算法容易實現使其能輕松適應工業界的需求。LR還有個非常方便實用的額外功能就是它并不會給出離散的分類結果,而是給出該樣本屬于各個類別的概率(多分類的LR就是softmax),可以嘗試不同的截斷方式來在評測指標上進行同一模型的性能評估,從而得到最好的截斷分數。LR不管是實現還是訓練或者預測都非常高效,很輕松的handle大規模數據的問題(同時LR也很適合online learning)。此外,LR對于樣本噪聲是robust的,對于“mild”的多重共線性問題也不會受到太大影響,在特征的多重共線性很強的情況下,LR也可以通過L2正則化來應對該問題,雖然在有些情況下(想要稀疏特征)L2正則化并不太適用。

但是,當我們有大量的特征以及部分丟失數據時,LR就開始費勁了。太多的分類變量(變量值是定性的,表現為互不相容的類別或屬性,例如性別,年齡段(1,2,3,4,5)等)也會導致LR的性能較差(這個時候可以考慮做離散化,其實肯定是要做離散化的)。還有一種論調是LR使用所有的樣本數據用于訓練,這引發了一個爭論:明顯是正例或者負例的樣本(這種樣本離分類邊界較遠,不大會影響分類的curve)不太應該被考慮太多,模型理想情況是由分類邊界的樣本決定的(類似SVM的思想),如下圖。還有一個情況就是當特征是非線性時,需要做特征變換,這可能會導致特征維度急劇上升。下面是我認為的LR的一些利弊:

LR的優勢:

對觀測樣本的概率值輸出

實現簡單高效

多重共線性的問題可以通過L2正則化來應對

大量的工業界解決方案

支持online learning(個人補充)

LR的劣勢

特征空間太大時表現不太好

對于大量的分類變量無能為力

對于非線性特征需要做特征變換

依賴所有的樣本數據(作者認為這其實不是啥問題。。)


接下來我們聊一下決策樹SVM。

決策樹對于單調的特征變換是”indifferent”的,也就是說特征的單調變換對于決策樹來說不會產生任何影響(我本人最早使用決策樹時沒有理解內部的機制,當時還做了特征歸一化等工作,發現效果沒有任何變化),因為決策樹是通過簡單的使用矩形切分特征空間的,單調的特征變換只是做了特征空間的縮放而已。由于決策樹是的分支生成是使用離散的區間或類別值的,所以對于不管多少分類變量都能夠輕松適應,而且通過決策樹生成出來的模型很直觀而且容易解釋(隨著決策樹的分支解釋即可),而且決策樹也可以通過計算落到該葉子類目的標簽平均值獲得最終類別的概率輸出。但是這就引發了決策樹的最大問題:非常容易過擬合,我們很容易就會生成一個完美擬合訓練集的模型,但是該模型在測試集合上的表現卻很poor,所以這個時候就需要剪枝以及交叉驗證來保證模型不要過擬合了。

過擬合的問題還可以通過使用隨機森林的方式來解決,隨機森林是對決策樹的一個很smart的擴展,即使用不同的特征集合和樣本集合生成多棵決策樹,讓它們來vote預測樣本的標簽值。但是隨機森林并沒有像單純決策樹一樣的解釋能力。

Also by decision trees have forced interactions between variables , which makes them rather inefficient if most of your variables have no or very weak interactions. On the other hand this design also makes them rather less susceptible to multicollinearity.

這段是在說決策樹也不會受到多重共線性的影響,但是我本人不是很理解

DT的優勢:

直觀的決策過程

能夠處理非線性特征

考慮了特征相關性

DT的劣勢

極易過擬合(使用RF可以一定程度防止過擬合,但是只要是模型就會過擬合!

無法輸出score,只能給出直接的分類結果


最后談一下支持向量機SVM,SVM最大的好處就是它只依賴于處于分類邊界的樣本來構建分類面,可以處理非線性的特征,同時,只依賴于決策邊界的樣本還可以讓他們能夠應對”obvious”樣本缺失的問題。由于SVM能夠輕松搞定大規模的特征空間所以在文本分析等特征維度較高的領域是比較好的選擇。SVM的可解釋性并不像決策樹一樣直觀,如果使用非線性核函數,SVM的計算代價會高很多。

SVM的優勢:

可以處理高維特征

使用核函數輕松應對非線的性特征空間

分類面不依賴于所有數據

SVM的劣勢

對于大量的觀測樣本,效率會很低找到一個“合適”的核函數還是很tricky的

我總結出了一個工作流程來讓大家參考如何決定使用哪個模型:
1. 使用LR試一把總歸不會錯的,至少是個baseline
2. 看看決策樹相關模型例如隨機森林,GBDT有沒有帶來顯著的效果提升,即使最終沒有用這個模型,也可以用隨機森林的結果來去除噪聲特征
3. 如果你的特征空間和觀測樣本都很大,有足夠的計算資源和時間,試試SVM吧,

最后是這位老司機的一點人生經驗:好的數據遠比模型本身重要,記住一定要使用你在對應領域的知識來進行完備的特征工程的工作;然后還有一個有效途徑就是多使用ensembles,就是多個模型混合,給出結果。

個人想法:

本文加粗或者斜體字都是我自己的觀點和補充。本文提到了多重共線性和正則化,如果不知道這個的話,是無法很好的理解這些內容的,我后面會寫文章總結介紹一下多重共線性以及正則化相關的內容~

數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢