數據挖掘之三——Logistic回歸&LMT
線性關係與非線性關係
在數學上,線性函數關係是直線,而非線性函數關係是非直線,包括各種曲線、折線、不連續的線等;線性方程滿足疊加原理,非線性方程不滿足疊加原理;線性方程易於求出解析解,而非線性方程一般不能得出解析解,而求其最優解。
可處理線性關係——Logistic Regression
Logistic Regression 就是一個被logistic方程歸一化後的線性回歸,其可用於概率預測,也可用於分類。並不是所有的機器學習方法都可以做可能性概率預測(比如SVM就不行,它只能得到1或者-1)。可能性預測的好處是結果有可比性:比如我們得到不同廣告被點擊的可能性後,就可以展現點擊可能性最大的N個。這樣以來,哪怕得到的可能性都很高,或者可能性都很低,我們都能取最優的topN。當用於分類問題時,僅需要設定一個閾值即可,可能性高於閾值是一類,低於閾值是另一類。
僅能用於線性問題,只有在feature和target是線性關係時,才能用Logistic Regression(不像SVM那樣可以應對非線性問題)。這有兩點指導意義,一方面當預先知道模型非線性時,果斷不使用Logistic Regression; 另一方面,在使用Logistic Regression時注意選擇和target呈線性關係的feature。
LR分類器(Logistic Regression Classifier),在分類情形下,LR分類器其實就是找出一組權值,形成計算樣本數據出現概率密度的回歸方程。
為了計算某個事件發生的可能性即概率,可以把跟這個事件相關的所有特徵加權求和。例如,要求今天下雨的可能性,可以把今天所有和下雨相關的特徵與其概率加權求和,例如梅雨季節權重為9(每天都很可能下雨),有颱風經過權重為6,等等,每一個因素都影響著「下雨的可能性」,即:
但是這個加權求和的結果是在(?∞,+∞) 範圍內的,為了能表示預測的概率,我們希望把輸出值限制在(0,1) 之間,而不是(?∞,+∞) 。所以,這時,邏輯函數就出場了。
它的函數值剛好就是在(0,1)之間。所以,我們通過邏輯函數,就可以計算出一個事件的概率了(0,1)之間。但是不要忘了,我們前面說要處理二分類問題,得到一個(0,1)之間的任意值並不能歸到兩個分類中的一個里去,所以還要把這個概率值「歸類」。其實這裡很簡單,我們可以在f(X)>0.5 的時候,把它歸到類別1中,f(X)≤0.5 的時候,把它歸到類別2中就可以了(概率值的「分水嶺」可以根據實際情況調整)。用數學公式來表達這段話的含義就是:
在各種機器學習的文章中,你都會看到,它們給了邏輯函數一個常用的名字:Sigmoid函數。sigmoid,意為「S形的」,這正符合其函數圖像特點,所以大家記住就行了。
由於sigmoid函數的定義域是(-inf,inf),而值域為(0,1)。因此最基本的LR分類器適合對兩類目標進行分類。
那麼LR分類器的這一組權值是如何求得的呢?這就需要涉及到對數損失函數的概念了。
因此,我們只要找到一個參數向量θ ,能使得此式的值最小,那麼這個參數向量θ 就是「最優」的參數向量。
求得了這個最優的θ 之後,把它代入邏輯函數sigmoid中,則對任一個未知的X ,我們都可以計算出f(X) 值,然後再根據一個閾值把它調整到 0 或 1,就得到了這個X 所屬的分類,這樣,我們就完成了一次「預測」的過程。
我們將sigmoid函數看成是樣本數據的概率密度函數,每一個樣本點,都可以通過上述的公式計算出其概率密度。
應用舉例
調用logistic回歸函數,計算視力狀況、年齡、駕車教育與是否發生事故的logistic回歸模型。
1)x1:表示視力狀況,分類變數,1表示好,0表示有問題;
2)x2:年齡,數值型;
3)x3:駕車教育,分類變數,1表示參加過駕車教育,0表示沒有;
4)y:分類型輸出變數,表示去年是否出過事故,1表示出過,0沒有;
參考文獻:https://moiedotblog.wordpress.com/2017/05/18/邏輯回歸的一個簡單實例/
可處理非線性關係——LMT
logistic模型樹是對樹葉使用logistic回歸函數的分類樹,該演算法可以處理二元類別和多元類別目標變數。其組合樹結構和Logistic回歸模型,每個葉子節點是一個Logistic回歸模型,準確性比單獨的決策樹和Logistic回歸方法要好。
TAG:量化日誌 |