分類問題是我們在各個行業的商業業務中遇到的主要問題之一。在本文中,我們將從眾多技術中挑選出三種主要技術展開討論,邏輯回歸(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)
機器學習 視覺化特徵空間 邏輯回歸 決策邊界 svm決策樹 摘要 分類問題是商業業務中遇到的主要問題之一。本文對三種主要技術展開討論,邏輯回歸 logistic regression 決策樹 decision trees 和支援向量機 support vector machine,svm 分類問題是...
支援向量機 SVM 和邏輯回歸 LR
支援向量機文件 邏輯回歸文件 1 都是常用的分類演算法。2 如果不考慮核函式,lr和svm都是線性分類演算法,也就是說他們的分類決策面都是線性的。3 lr和svm都是監督學習演算法。4 lr和svm都是判別模型 判別模型會生成乙個表示p y x 的判別函式 或 模型 而生成模型先計算聯合概率p y,...
決策樹 決策樹引數介紹(分類和回歸)
前面總結了資訊熵,資訊增益和基尼資訊的定義,以及決策樹三大演算法的原理及迭代過程,今天介紹下python中機器學習sklearn庫中決策樹的使用引數 決策樹既可以做分類,也可以做回歸,兩者引數大體相近,下面會先介紹分類,再對回歸不一樣的引數做單獨說明 1 criterion 特徵選取方法,可以是gi...