1. 程式人生 > >機器學習演算法概述:隨機森林&邏輯迴歸

機器學習演算法概述:隨機森林&邏輯迴歸

摘要: 機器學習演算法入門介紹:隨機森林與邏輯迴歸!

 6eebade71fcaf9c0f7d2878abd56639c393a8f1c

隨機森林是用於分類和迴歸的監督式整合學習模型。為了使整體效能更好,整合學習模型聚合了多個機器學習模型。因為每個模型單獨使用時效能表現的不是很好,但如果放在一個整體中則很強大。在隨機森林模型下,使用大量“弱”因子的決策樹,來聚合它們的輸出,結果能代表“強”的整合。

權衡偏差與方差

在任何機器學習模型中,有兩個誤差來源:偏差和方差。為了更好地說明這兩個概念,假設已建立了一個機器學習模型並已知資料的實際輸出,用同一資料的不同部分對其進行訓練,結果機器學習模型在資料的不同部分產生了不同的輸出。為了確定偏差和方差,對這兩個輸出進行比較,偏差是機器學習模型中預測值與實際值之間的差異,而方差則是這些預測值的分佈情況。

簡而言之:

偏差是當演算法作了太多簡化假設之後出現的錯誤,這導致模型預測值與實際值有所出入。

方差是由於演算法對訓練資料集中小變化的敏感性而產生的誤差;方差越大,意味著演算法受資料變化的影響更大。

理想情況下,偏差和方差都會很小,這意味模型在相同資料集的不同資料中的預測值很接近真值當這種情況發生時,模型可以精確地學習資料集中的潛在模式。

隨機森林是一種減少方差的演算法

決策樹以高方差、低偏差為人所知。這主要是因為它能夠對複雜的關係,甚至是過擬合數據中的噪聲進行建模。簡單地說:決策樹訓練的模型通常是精確的,但常常在同一資料集中的不同資料樣本之間顯示出很大程度的變化。

隨機森林通過聚合單個決策樹的不同輸出來減少可能導致決策樹錯誤的方差。通過多數投票演算法,我們可以找到大多數單個樹給出的平均輸出,從而平滑了方差,這樣模型就不容易產生離真值更遠的結果。

隨機森林思想是取一組高方差、低偏差的決策樹,並將它們轉換成低方差、低偏差的新模型。

為什麼隨機森林是隨機的?

隨機森林中的隨機來源於演算法用訓練資料的不同子集訓練每個單獨的決策樹,用資料中隨機選擇的屬性對每個決策樹的每個節點進行分割。通過引入這種隨機性元素,該演算法能夠建立彼此不相關的模型。這導致可能的誤差均勻分佈在模型中,意味著誤差最終會通過隨機森林模型的多數投票決策策略被消除。

隨機森林實際是如何工作的?

想象一下,你厭倦了一遍又一遍地聽著同樣的電子音樂,強烈地想找到一些可能喜歡的新音樂,所以你上網去尋找推薦,找到了能讓真實的人根據你的喜好給你音樂建議的一個網站。

那麼它是如何工作的呢?首先,為了避免建議的隨機性,先填寫一份關於自己的基本音樂喜好的問卷,為可能喜歡的音樂型別提供一個標準。然後網友利用這些資訊開始根據你提供的標準(特徵)來分析歌曲,此時每個人本質上都是一個決策樹。

就個人而言,網上提出建議的人並不能很好地概括你的音樂喜好。比如,有人可能會認為你不喜歡80年代之前的任何歌曲,因此不會給你推薦這些歌曲。但是這假設可能不準確,並可能會導致你不會收到喜歡的音樂的建議。

為什麼會發生這種錯誤?每一個推薦人對你的喜好的瞭解都是有限的,而且他們對自己個人的音樂品味也是有偏見的。為了解決這個問題,我們統計來自許多個人的建議(每個人都扮演決策樹的角色),並對他們的建議使用多數投票演算法(本質上是建立一個隨機森林)。

然而,還有一個問題——因為每個人都在使用來自同一份問卷的相同資料,因此得出的建議將會是類似的,而且可能具有高度的偏見和相關性。為了擴大建議的範圍,每個推薦人都會得到一組調查問卷的隨機答案,而不是所有的答案,這意味著他們的推薦標準更少。最後,通過多數投票消除了極端異常值,你就會得到一個準確而多樣的推薦歌曲列表。

總結

隨機森林的優點:

1.不需要特徵歸一化;

2.可並行化:單個決策樹可以並行訓練;

3.廣泛使用的;

4.減少過擬合;

隨機森林的缺點:

  1.不容易解釋

  2.不是最先進的方法

e72d4c06b37cbe5c7fdbbfe4ae0dfb8b68acdce5

邏輯迴歸是一個使用分類因變數預測結果的監督式統計模型。分類變數的值為名稱或標籤,例如:贏/輸、健康/生病或成功/失敗。該模型也可用於兩類以上的因變數,這種情況稱多項邏輯迴歸。

邏輯迴歸是基於歷史資訊構建給定資料集的分類規則,這些資料集被劃分為不同的類別。模型公式為:

fc5547a805c78b748c3731a92ea2b6c1bb7d68c0

相關術語定義如下:

c=1,...,C是因變數Y的所有可能類別;

P(Y=c)是因變數為類別c的概率;

\beta_{{i}},i=1,...,I是迴歸係數,當進行轉換時,表示每個變數在解釋概率方面的重要性;

X_{{i}},i=1,...,I是自變數。

我們將使用之前博文中的鳶尾花資料集來說明邏輯迴歸是如何工作的。這些資料由150種鳶尾花組成,按照植物種類(這個資料集中有三種不同的種類)、萼片和花瓣長度、萼片和花瓣寬度等特徵進行分類,我們僅使用萼片和花瓣來描述每朵鳶尾花。我們還將建立一個分類規則來判斷資料集中引入的新植物的種類。圖1展示了一朵鳶尾的萼片和花瓣的尺寸。

9e0673e4a295ea454fa20b3b049323db4022e5ed

首先,我們必須將資料集分成兩個子集:訓練和測試。訓練集佔整個資料集的60%,用於使模型與資料相匹配,測試集佔其餘40%的資料,用於檢查模型是否與給定的資料正確匹配。

利用上述公式,我們將資料擬合到邏輯迴歸模型中。在這種情況下,因變數為植物種類,類別數等於3,自變數(x_{{i}},i=1,...4\right)是萼片和花瓣的長度和寬度。圖2顯示了資料的一個子集。

0dd541c3756f97e1bade97a9642549b25a7823d2

表1給出了三種植物中每個自變數係數的估計。顯而易見,花瓣的長度和寬度是特徵描述過程中最重要的變數。因此,在每個物種的特徵重要性圖中強調了這兩個變數(圖3)。

37cd8739c76963009fe4cc8ba17fc0a7e5f75eaf

接下來,我們建立了一個混淆矩陣(誤差矩陣)來檢驗模型的效能。這個矩陣把測試資料集中已知的鳶尾花植物類別與擬合模型預測的鳶尾花植物類別進行比較,我們的目標是兩者相同。在表2中,我們看到模型的效能相對較好,只有兩種花色植物被錯誤分類。

d0cdb3673cebf2882bf67ecc315b44f895d2c0d2

基於這些結果,我們能夠對資料集中的各種鳶尾植物進行正確的分類。然而,正如前面提到的,我們現在必須制定一個分類規則。接著是通過新鳶尾屬植物的自變數值乘以表1中的係數估計來計算新鳶尾植物屬於給定類別的概率,新鳶尾的結果如下表3所示:

647b229962be85ee1d1fcfde65546611839efcf2

然後,我們使用前面的公式計算了鳶尾植物為各個類別的概率。結果證實上述鳶尾植物很可能屬於維吉尼亞鳶尾。

aa2310c2f92bafe599675b06b3dbb925edf10928

總結

邏輯迴歸的優點:

1.可解釋性;

2.模型簡單;

3.可擴充套件性;

邏輯迴歸的缺點:

  1.假設特徵之間的相對獨立性;

原文連結