逻辑回归、决策树和支持向量机(I)
邏輯回歸、決策樹和支持向量機(I)
發表于12小時前| 1115次閱讀| 來源Edvancer| 1 條評論| 作者Lalit Sachan
機器學習可視化特征空間邏輯回歸決策邊界SVM決策樹 width="22" height="16" src="http://hits.sinajs.cn/A1/weiboshare.html?url=http%3A%2F%2Fwww.csdn.net%2Farticle%2F2015-11-26%2F2826332&type=3&count=&appkey=&title=%E5%88%86%E7%B1%BB%E9%97%AE%E9%A2%98%E6%98%AF%E5%95%86%E4%B8%9A%E4%B8%9A%E5%8A%A1%E4%B8%AD%E9%81%87%E5%88%B0%E7%9A%84%E4%B8%BB%E8%A6%81%E9%97%AE%E9%A2%98%E4%B9%8B%E4%B8%80%E3%80%82%E6%9C%AC%E6%96%87%E5%AF%B9%E4%B8%89%E7%A7%8D%E4%B8%BB%E8%A6%81%E6%8A%80%E6%9C%AF%E5%B1%95%E5%BC%80%E8%AE%A8%E8%AE%BA%EF%BC%8C%E9%80%BB%E8%BE%91%E5%9B%9E%E5%BD%92%EF%BC%88Logistic%20Regression%EF%BC%89%E3%80%81%E5%86%B3%E7%AD%96%E6%A0%91%EF%BC%88Decision%20Trees%EF%BC%89%E5%92%8C%E6%94%AF%E6%8C%81%E5%90%91%E9%87%8F%E6%9C%BA%EF%BC%88Support%20Vector%20Machine%EF%BC%8CSVM%EF%BC%89%E3%80%82&pic=&ralateUid=&language=zh_cn&rnd=1449060972245" frameborder="0" scrolling="no" allowtransparency="true">摘要:分類問題是商業業務中遇到的主要問題之一。本文對三種主要技術展開討論,邏輯回歸(Logistic Regression)、決策樹(Decision Trees)和支持向量機(Support Vector Machine,SVM)。分類問題是我們在各個行業的商業業務中遇到的主要問題之一。在本文中,我們將從眾多技術中挑選出三種主要技術展開討論,邏輯回歸(Logistic?Regression)、決策樹(Decision?Trees)和支持向量機(Support?Vector?Machine,SVM)。
上面列出的算法都是用來解決分類問題(SVM和DT也被用于回歸,但這不在我們的討論范圍之內)。我多次看到有人提問,對于他的問題應該選擇哪一種方法。經典的也是最正確的回答是“看情況而定!”,這樣的回答卻不能讓提問者滿意。確實讓人很費神。因此,我決定談一談究竟是看什么情況而定。
這個解釋是基于非常簡化的二維問題,但足以借此來理解讀者棘手的更高維度數據。
我將從最重要的問題開始討論:在分類問題中我們究竟要做什么?顯然,我們是要做分類。(這是個嚴肅的問題?真的嗎?)我再來復述一遍吧。為了做分類,我們試圖尋找決策邊界線或是一條曲線(不必是直線),在特征空間里區分兩個類別。
特征空間這個詞聽起來非常高大上,容易讓很多新人犯迷糊。我給你展示一個例子來解釋吧。我有一個樣本,它包含三個變量:x1,?x2和target。target有0和1兩種值,取決于預測變量x1和x2的值。我將數據繪制在坐標軸上。
這就是特征空間,觀測值分布于其中。這里因為我們只有兩個預測變量/特征,所有特征空間是二維的。你會發現兩個類別的樣本用不同顏色的點做了標記。我希望我們的算法能計算出一條直線/曲線來分離這個類別。
通過目測可知,理想的決策邊界(分割曲線)是一個圓。實際決策邊界形狀的差異則是由于邏輯回歸、決策樹和支持向量機算法的差異引起的。
先說邏輯回歸。很多人對邏輯回歸的決策邊界都有誤解。這種誤解是由于大多數時候提到邏輯回歸,人們就見到那條著名的S型曲線。
上圖所示的藍色曲線并不是決策邊界。它是邏輯回歸模型的二元響應的一種變形。邏輯回歸的決策邊界總是一條直線(或者一個平面,在更高維度上是超平面)。讓你信服的最好方法,就是展示出大家都熟知的邏輯回歸方程式。
我們做一個簡單的假設,F是所有預測變量的線性組合。
上面的等式也可以寫作:
當你進行預測的時候,對概率值做一個分數截斷,高于截斷值的概率為1,否則為0。假設截斷值用c表示,那么決策過程就變成了這樣:
Y=1?if?p>c,?否則0。最后給出的決策邊界是F>常數。
F>常數,無非就是一個線性決策邊界。我們樣本數據用邏輯回歸得到的結果將會是這樣。
你會發現效果并不好。因為無論你怎么做,邏輯回歸方法得到的決策邊界總是線性的,并不能得到這里需要的環狀邊界。因此,邏輯回歸適用于處理接近線性可分的分類問題。(雖然可以對變量做變換得到線性可分的結果,但我們在此不討論這類情況。)
接著我們來看決策樹如何處理這類問題。我們都知道決策樹是按照層次結構的規則生成的。以我們的數據為例。
如果你仔細思考,這些決策規則x2?|</>|?const?OR?x1?|</>|?const?只是用平行于軸線的直線將特征空間切分,如下圖所示。
我們可以通過增加樹的大小使它生長得更復雜,用越來越多的分區來模擬環狀邊界。
哈哈!趨向于環狀了,很不錯。如果你繼續增加樹的尺寸,你會注意到決策邊界會不斷地用平行線圍成一個環狀區域。因此,如果邊界是非線性的,并且能通過不斷將特征空間切分為矩形來模擬,那么決策樹是比邏輯回歸更好的選擇。
然后我們再來看看SVM的結果。SVM通過把你的特征空間映射到核空間,使得各個類別線性可分。這個過程更簡單的解釋就是SVM給特征空間又額外增加了一個維度,使得類別線性可分。這個決策邊界映射回原特征空間后得到的是非線性決策邊界。下圖比我的解釋更清楚。
你可以看到,一旦樣本數據以某種方式增加了一個維度,我們就能用一個平面來分割數據(線性分類器),這個平面映射回原來的二維特征空間,就能得到一個環狀的決策邊界。
SVM在我們數據集上的效果多棒啊:
注:決策邊界并不是這么標準的圓形,但是非常接近了(可能是多邊形)。我們為了操作簡便,就用圓環代替了。
現在清楚各種區別了吧,但是還有一個問題。也就是說,在處理多維數據時,什么時候該選擇何種算法?這個問題很重要,因為若是數據維度大于三,你就找不到簡單的方法來可視化地呈現數據。我們將在第二部分討論這么問題,敬請關注。
總結
以上是生活随笔為你收集整理的逻辑回归、决策树和支持向量机(I)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 华为,为什么让全世界都感到害怕?
- 下一篇: 2015年微软亚洲研究院的惊艳项目,人工