您現在的位置是:首頁 > 旅遊首頁旅遊

策略產品經理:深入淺出瞭解機器學習演算法原理

由 人人都是產品經理 發表于 旅遊2023-02-02
簡介決策樹將從這些特徵中學習,在每個資料點透過每個節點後,它將在高個、矮個、適中三個分類目標中的一個具體的葉子節點上結束

代表北京的樹是什麼樹

對於策略產品經理來說,瞭解有關機器學習演算法的相關原理和思路,會對自身的工作有所幫助,那麼,你瞭解機器學習裡的監督學習演算法嗎?本篇文章裡,作者便做了一定拆解和總結,一起來看一下。

策略產品經理:深入淺出瞭解機器學習演算法原理

今天我們繼續來講講十大機器學習演算法原理的中篇,核心目標還是給策略產品或者希望從事該方向的同學通俗易懂地講清楚機器學習的思想原理,幫助策略產品建立起來最為基礎的

“工具方案-問題”的認知思路,感興趣還是建議大家閱讀專業的機器學習書籍,瞭解更加專業的機器學習演算法原理,

本文章系列旨在給產品講清楚機器學習的思路和原理,今天我們繼續講完剩下的4個監督學習演算法。

一、基本的機器學習演算法

1. 決策樹Decision Tree

決策樹-Decision Tree也是監督學習演算法的一種,主要應用於分類問題之上,少量也會應用在迴歸問題上。作為一種特殊的樹形結構,其中每個內部節點都代表一個屬性的區分判斷,每一個分支就代表判斷的結果輸出,最後每一個葉子節點代表著一種分類預測的結果。

舉個通俗的例子,咱們拿泰坦尼克號沉船事件旅客資訊來對該乘客預判乘客生存的可能性,下面的模型透過:性別、年齡和是否存在兄弟姐妹的特徵來做判斷,可以看出透過決策樹看出:性別-年齡-是否有兄弟姐妹,來判定你是否可以上救生船;優先女性或者小於9。5歲且沒有兄弟姐妹的孩子,這部分的人群透過決策樹判定下來是存活機率較高的;

策略產品經理:深入淺出瞭解機器學習演算法原理

由上面的例子可以知道,

決策樹就是透過對一系列線索和資訊的判斷作出的有效決策。

1)決策樹的分類

決策樹根據目標變數的型別可以分成兩個型別:

分類變數決策樹和連續變數決策樹

,其實就是對應的我們所謂的

分類問題和

迴歸問題。

分類變數決策樹:

這是指演算法有一個分類的簡單明細目標變數。例如,考慮讓你預測Arthur本人的身高,作為三個類別之一:高個、矮個、適中;特徵可能包括是否愛吃牛奶、是否愛打籃球、父母的身高、每天的睡眠時長。決策樹將從這些特徵中學習,在每個資料點透過每個節點後,它將在高個、矮個、適中三個分類目標中的一個具體的葉子節點上結束。

連續變數決策樹:

這是指演算法有一個連續數值的目標變數,例如讓你預測北京朝陽區亞運村的房子價格,需要用到房屋地段、地鐵線途徑情況、小區物業水平、周邊商場佈局情況、周邊的商圈分佈,來預測一個連續值的輸出在葉子節點結束,具體是個最終的房屋價格。

2)樹的結構組成

由圖中可知,主要有三個型別的及節點,核心組成元素如下所示:

策略產品經理:深入淺出瞭解機器學習演算法原理

根節點-Root node:是決策樹的第一個節點,根深蒂固的地方;

分割-Splitting:是指從根節點開始,將節點劃分為兩個或多個子節點的過程,例如圖中根節點劃分為葉子節點和內部節點的過程;

節點-Node:將根節點的結果分割成子節點,並將子節點分割成更多的子節點,如圖中的內部節點又稱為決策節點;

葉子或終端節點 – Leaf or terminal node:一個節點的結束,因為節點不能再被分割,如圖中的葉子節點;

分支-Branch:整個樹的一個分支被稱為分支或子樹;

父節點和子節點 – Parent and Child Node:子節點與父節點都是相對概念,我們一般把某個節點的上一個連結節點叫做其父節點,反之被稱之為子節點;

3)樹模型的拆分

決策樹的構建並不是越複雜越好,反而快速的定位和確定我們的決策特徵對於構建樹有較大的幫助,在實際場景當中,會有非常多的特徵和特徵值,所以作為策略產品我們怎麼選擇合適的特徵組合來構建樹呢?

單個特徵又如何制定閾值(前面泰坦尼克號的年齡/有幾個兄弟姐妹)來評估決策樹模型的好壞。

我們來介紹對應的方法和評估指標。

①基尼不純度-Gini Impurity

基尼不純度是用來表示資料集中隨機選擇一個子項,衡量其被錯誤分到其他類別當中的機率,表示一個系統的“純淨”程度,計算公式如下所示:

Pi代表當前節點中屬於i類的比例;G(P)∈[0,1],越靠近0純度越高,代表決策樹的分類效果越好。

策略產品經理:深入淺出瞭解機器學習演算法原理

舉個簡單分類決策樹例子,我們在取X = 2的時候,給左右2個分支,左邊5個“藍點”,右邊5個”綠點”,套用基尼不純度的公式,不純度為0,最理想的分類效果。

策略產品經理:深入淺出瞭解機器學習演算法原理

當我們取x = 1。5的時候,左邊有四個“藍點”,左邊的基尼不純度為0(沒有綠點),而右邊有一個“藍點”,四個“綠點”,基尼不純度為:

策略產品經理:深入淺出瞭解機器學習演算法原理

兩邊各自的點數不一樣,我們還需要做一下加權平均處理:(0。4*0)+(0。6*0。287)= 0。167跟分類前的基尼不純度0。5相比,我們可以認為這個不純度在分類後被降低了0。5 – 0。167 = 0。333,因此又把它稱作基尼增益(Gini Gain)。基尼增益值越高,說明我們的分類效果越好。

② 資訊增益-Information Gain

資訊增益用來評估決策節點的分裂好壞,資訊增益越大表明分裂的效果越好,其表明了系統的不確定性在減少,這個和“熵”的概念是比較一致的;熵本身是一個熱力學方向的概念,形容分子運動的混亂程度。

在決策樹模型中,我們用熵來衡量資訊的不確定性,如果樹模型的單個葉子節點資訊含有的分類越多,則熵越大。熵越大,表示分裂效果越差。最優的情況就是單個葉子節點只包含一種分類。計算方式如下:

先計算父節點的熵,在分別計算各個子節點的熵,最後進行加權平均,父節點的熵減去子節點的熵就表示的是資訊增益Information Gain。

還是用上面藍綠點的例子,當x = 2的時候,“藍點”和“綠點”完美分離,E分界線左側 = 0 ,E分界線右側= 0,公式如下:所以x = 2的加權熵 = 0 * 5/10 +0 * 5/10 = 0;

策略產品經理:深入淺出瞭解機器學習演算法原理

當x = 1。5 的時候,左側 “藍點” 被完美分離,E1(分界線左側)與E2(分界線右側)代表公式如下所示。

所以選擇x = 2作為決策點的時候,資訊增益值:1-0 = 1,即系統的不確定性減少了1;選擇x = 1。5 作為決策點的時候,資訊增益值:1-0。66 = 0。34,即系統的不確定性減少了0。34;所以選擇x = 2作為決策點更加合理。

4)樹模型剪枝

為了防止決策樹模型的分支過多,出現過擬合問題,

通常我們會做剪枝,剪枝分為預剪枝和後剪枝兩種型別。

①預剪枝Pre-pruning

預剪枝就是在構造決策樹的過程中,先對每個結點在劃分前進行估計,如果當前結點的劃分不能帶來決策樹模型泛化效能的提升,則不對當前結點進行劃分並且將當前結點標記為葉結點;

核心是邊構造邊剪枝。目標是控制決策樹充分生長,可以預先的控制一些引數。

決策樹的最大深度,如果達到指定深度,就停止生長——最大樹深度;

控制書中父節點和子節點的最少樣本量或者比例。對於父節點,如果樣本量地域最小樣本量或者比例,就不再分組;對於子節點,如果分組後生成的子節點樣本量地域最小樣本量或者比例,則不必進行分組;——終端節點最大數量/最小樣本數;

樹節點中輸出變數的最小異質性減少量,如果分組產生的輸出變數異質性地域一個指定值,則不用再進行分組。

② 後剪枝Post-pruning

後剪枝是允許決策樹充分生長,然後在此基礎上根據一定的規則,減去決策樹中不具備代表性的葉節點,是一個邊修邊剪的一個過程;在修剪的過程中,不斷對當前決策樹測試樣本集合預估的精度和誤差,並且判斷是繼續還是停止修剪;當然,後剪枝可能會導致模型的過度擬合。

5)其他

決策樹的建模思路在上述當中已經基本闡述完成了,還有包括迴歸決策樹下評估的分差法,以及決策樹模型當中ID3、C4。5和CART演算法,後續可以開文章單獨給大家來做介紹。

2. 隨機森林演算法-Random Forest

1)核心思想

把隨機森林演算法放在決策樹之後是因為兩者在思想上有串聯進階的理念在裡面,隨機森林一詞在1995年由貝爾實驗室提出來的,

既然是“森林”那必然是由一顆顆的參天大樹構成的,正如名字所示,隨機森林可以被看做成為一個決策樹的集合結果,但是不同的決策樹之間沒有關聯性。

當進行分類任務的時候,新的輸入樣本進入,就讓森林的每一顆決策樹進行判斷和分類,每個決策樹都會得到一個自己的分類結果,決

策樹分類結果當中的哪一種分類投票最多,隨機森林就會把這個結果當做當成最終結果

;核心思想與中國古代的“三個臭皮匠頂過一個諸葛亮”有異曲同工之秒。下圖比較直白的描述隨機森林的核心思想。

策略產品經理:深入淺出瞭解機器學習演算法原理

2)原理說明

從資料集合中隨機Random選擇n個特徵(列),其中集合共m個特徵(其中 n< =m)。然後根據這n個特徵建立決策樹。

抽樣特徵的動作依次來重複k次,這n個特性經過不同隨機組合建立起來k棵決策樹(或者是資料的不同隨機樣本,又叫做自助法樣本)。

對每個決策樹都傳遞隨機變數來預測結果,即決策樹中的終端葉子節點結果;儲存所有預測的結果(目標),你就可以從k棵決策樹中得到k種結果。

計算每個預測目標的得票數再選擇模式(最常見的目標變數)。換句話說,將得到高票數的預測目標作為隨機森林演算法的最終預測,如果是個迴歸樹的話就透過加權平均的方式得到最終預測值,如果是分類樹就得到具體的分類(哪一類分類最多)。

總結:核心思想咱們再來舉個栗子,Arthur去北京旅遊一週,拜訪了一位一直在北京工作的老同學,朋友基於Arthur的預算、對於景點的偏好以及時間安排推薦了幾個景點建議,這是景點的決策樹的思想,老同學基於自己的經驗和喜好給Arthur推薦了幾個不錯的經典。

之後,Arthur又問了很多在北京的前同事、同學訊問建議,他們根據Arthur其他的(有部分重合)訴求,例如歷史底蘊、海拔等特徵給出了其他的建議,然後Arthur最終選擇了推薦次數最多的經典,這就是隨機森林的演算法思想。

3)隨機森林當中的優缺點

優點:

抗過擬合能力:透過加權平均單個決策樹的結果,降低過擬合的風險性。

解決問題多元化:可以同時在隨機森林中載入分類樹和迴歸樹,同時處理連續數值和離散的分類。

效果穩定:即時是資料集中出現一個新的資料點,或者是一棵樹分類效果有問題也不會影響到整個森林,除非是半數以上的決策樹都出現了錯誤預測的問題。

缺點:

計算成本高、耗時長:比單個決策樹更加的複雜,計算成本偏高;

需要更多的樣本和時間來做訓練。

4)隨機森林當中模型引數

和前面說的邏輯迴歸、線性迴歸以及決策樹一樣,選擇合適的模型引數是幫助隨機森林做預測效果的核心關鍵,同時也決定了模型預測的效能效果,我們拿sklearn當中的隨機森林引數來舉例,核心是為了解決上述說到的幾個缺點。

①建模的速度

並行決策樹執行數量,即使用處理器的數量,如果僅允許一個就輸出1,如果希望計算速度能夠更快可以設定多個並行決策樹。

隨機數生成器:當模型具有一個確定的隨機數,並且給定相同的超引數和相同的訓練資料時,模型將始終產生相同的結果。

是否計算袋外得分:袋外抽樣是用來幫助隨機森林做交叉驗證的方式,樣本的三分之一都不是用來訓練模型的而只是用來評估效能的,這些樣品被稱之為袋外樣品。

②預測能力

子模型的數量:在利用最大投票數或平均值來預測之前,你想要建立子樹的數量,其實和前面決策樹當中控制葉子節點的思路一樣。子樹的數量越多,越能提高效能,預測的準確性就越穩定,但是也會放緩計算過程。

節點分裂時參與判斷的最大特徵數:隨機森林允許單個決策樹使用特徵的最大數量。

葉子節點最小樣本數:內部節點再劃分所需最小樣本數。

二、總結

由於文章篇幅問題策略產品通俗易懂講機器學習先講到決策樹和隨機森林的思想,該系列的文章目的是在為轉型策略產品,或者是已經從事策略產品、策略運營方向的同學通俗易懂的瞭解機器學習演算法原理與思想。

如何求得最佳引數的過程,機器學習只是一個達成業務目標的高效方式,並不是目的本身,核心還是提升我們業務場景的效率和收入指標,策略產品是給我們提供了一個增加產品壁壘的方向和思考的方式。

本文由 @策略產品Arthur 原創釋出於人人都是產品經理,未經許可,禁止轉載

題圖來自 Unsplash,基於 CC0 協議

該文觀點僅代表作者本人,人人都是產品經理平臺僅提供資訊儲存空間服務。