當(dāng)前位置:首頁 > 智能硬件 > 人工智能AI
[導(dǎo)讀]     決策樹,是機器學(xué)習(xí)中一種非常常見的分類方法,也可以說是所有算法中最直觀也最好理解的算法。   有人找我借錢(當(dāng)然不太可能。。。),借還是不借?我會結(jié)合根據(jù)我自己有沒有錢

    決策樹,是機器學(xué)習(xí)中一種非常常見的分類方法,也可以說是所有算法中最直觀也最好理解的算法。

  有人找我借錢(當(dāng)然不太可能。。。),借還是不借?我會結(jié)合根據(jù)我自己有沒有錢、我自己用不用錢、對方信用好不好這三個特征來決定我的答案。

  我們把轉(zhuǎn)到更普遍一點的視角,對于一些有特征的數(shù)據(jù),如果我們能夠有這么一顆決策樹,我們也就能非常容易地預(yù)測樣本的結(jié)論。所以問題就轉(zhuǎn)換成怎么求一顆合適的決策樹,也就是怎么對這些特征進行排序。

  在對特征排序前先設(shè)想一下,對某一個特征進行決策時,我們肯定希望分類后樣本的純度越高越好,也就是說分支結(jié)點的樣本盡可能屬于同一類別。

  所以在選擇根節(jié)點的時候,我們應(yīng)該選擇能夠使得“分支結(jié)點純度最高”的那個特征。在處理完根節(jié)點后,對于其分支節(jié)點,繼續(xù)套用根節(jié)點的思想不斷遞歸,這樣就能形成一顆樹。這其實也是貪心算法的基本思想。那怎么量化“純度最高”呢?熵就當(dāng)仁不讓了,它是我們最常用的度量純度的指標(biāo)。其數(shù)學(xué)表達式如下:

  

  其中N表示結(jié)論有多少種可能取值,p表示在取第k個值的時候發(fā)生的概率,對于樣本而言就是發(fā)生的頻率/總個數(shù)。

  熵越小,說明樣本越純。

  以一個兩點分布樣本X(x=0或1)的熵的函數(shù)圖像來說明吧,橫坐標(biāo)表示樣本值為1的概率,縱坐標(biāo)表示熵。

  可以看到到當(dāng)p(x=1)=0時,也就是說所有的樣本都為0,此時熵為0.

  當(dāng)p(x=1)=1時,也就是說所有的樣本都為1,熵也為0.

  當(dāng)p(x=1)=0.5時,也就是樣本中0,1各占一半,此時熵能取得最大值。

  擴展一下,樣本X可能取值為n種(x1。。。。xn)。可以證明,當(dāng)p(xi)都等于1/n 時,也就是樣本絕對均勻,熵能達到最大。當(dāng)p(xi)有一個為1,其他都為0時,也就是樣本取值都是xi,熵最小。

  決策樹算法

  ID3

  假設(shè)在樣本集X中,對于一個特征a,它可能有(a1,a2。。。an)這些取值,如果用特征a對樣本集X進行劃分(把它當(dāng)根節(jié)點),肯定會有n個分支結(jié)點。剛才提了,我們希望劃分后,分支結(jié)點的樣本越純越好,也就是分支結(jié)點的“總熵”越小越好。

  因為每個分支結(jié)點的個數(shù)不一樣,因此我們計算“總熵”時應(yīng)該做一個加權(quán),假設(shè)第i個結(jié)點樣本個數(shù)為W(ai),其在所有樣本中的權(quán)值為W(ai) / W(X)。所以我們可以得到一個總熵:

  

  這個公式代表含義一句話:加權(quán)后各個結(jié)點的熵的總和。這個值應(yīng)該越小,純度越高。

  這時候,我們引入一個名詞叫信息增益G(X,a),意思就是a這個特征給樣本帶來的信息的提升。公式就是:,由于H(X)對一個樣本而言,是一個固定值,因此信息增益G應(yīng)該越大越好。尋找使得信息增益最大的特征作為目標(biāo)結(jié)點,并逐步遞歸構(gòu)建樹,這就是ID3算法的思想,好了以一個簡單的例子來說明信息增益的計算:

  

  上面的例子,我計算一下特征1的信息增益

  首先計算樣本的熵H(X)

  

  再計算總熵,可以看到特征1有3個結(jié)點A、B、C,其分別為6個、6個、5個

  所以A的權(quán)值為6/(6+6+5), B的權(quán)值為6/(6+6+5), C的為5/(6+6+5)

  因為我們希望劃分后結(jié)點的純度越高越好,因此還需要再分別計算結(jié)點A、B、C的熵

  特征1=A:3個是、3個否,其熵為

  

  特征1=B:2個是、4個否,其熵為

  

  特征1=C:4個是、1個否,其熵為

  

  這樣分支結(jié)點的總熵就等于:

  

  特征1的信息增益就等于0.998-0.889=0.109

  類似地,我們也能算出其他的特征的信息增益,最終取信息增益最大的特征作為根節(jié)點。

  以上計算也可以有經(jīng)驗條件熵來推導(dǎo):G(X,A)=H(X) - H(X|A),這部分有興趣的同學(xué)可以了解一下。

  C4.5

  在ID3算法中其實有個很明顯的問題。

  如果有一個樣本集,它有一個叫id或者姓名之類的(唯一的)的特征,那就完蛋了。設(shè)想一下,如果有n個樣本,id這個特征肯定會把這個樣本也分成n份,也就是有n個結(jié)點,每個結(jié)點只有一個值,那每個結(jié)點的熵就為0。就是說所有分支結(jié)點的總熵為0,那么這個特征的信息增益一定會達到最大值。因此如果此時用ID3作為決策樹算法,根節(jié)點必然是id這個特征。但是顯然這是不合理的。。。

  當(dāng)然上面說的是極限情況,一般情況下,如果一個特征對樣本劃分的過于稀疏,這個也是不合理的(換句話就是,偏向更多取值的特征)。為了解決這個問題,C4.5算法采用了信息增益率來作為特征選取標(biāo)準(zhǔn)。

  所謂信息增益率,是在信息增益基礎(chǔ)上,除了一項split informaTIon,來懲罰值更多的屬性。

  

  而這個split informaTIon其實就是特征個數(shù)的熵H(A)。

  為什么這樣可以減少呢,以上面id的例子來理解一下。如果id把n個樣本分成了n份,那id這個特征的取值的概率都是1/n,文章引言已經(jīng)說了,樣本絕對均勻的時候,熵最大。

  因此這種情況,以id為特征,雖然信息增益最大,但是懲罰因子split informaTIon也最大,以此來拉低其增益率,這就是C4.5的思想。

  CART

  決策樹的目的最終還是尋找到區(qū)分樣本的純度的量化標(biāo)準(zhǔn)。在CART決策樹中,采用的是基尼指數(shù)來作為其衡量標(biāo)準(zhǔn)?;嵯禂?shù)直觀的理解是,從集合中隨機抽取兩個樣本,如果樣本集合越純,取到不同樣本的概率越小。這個概率反應(yīng)的就是基尼系數(shù)。

  因此如果一個樣本有K個分類。假設(shè)樣本的某一個特征a有n個取值的話,其某一個結(jié)點取到不同樣本的概率為:

  因此k個分類的概率總和,我們稱之為基尼系數(shù):

  

  而基尼指數(shù),則是對所有結(jié)點的基尼系數(shù)進行加權(quán)處理

  

  計算出來后,我們會選擇基尼系數(shù)最小的那個特征作為最優(yōu)劃分特征。

  剪枝

  剪枝的目的其實就是防止過擬合,它是決策樹防止過擬合的最主要手段。決策樹中,為了盡可能爭取的分類訓(xùn)練樣本,所以我們的決策樹也會一直生長。但是呢,有時候訓(xùn)練樣本可能會學(xué)的太好,以至于把某些樣本的特有屬性當(dāng)成一般屬性。這時候就我們就需要主動去除一些分支,來降低過擬合的風(fēng)險。

  剪枝一般有兩種方式:預(yù)剪枝和后剪枝。

  預(yù)剪枝

  一般情況下,只要結(jié)點樣本已經(jīng)100%純了,樹才會停止生長。但這個可能會產(chǎn)生過擬合,因此我們沒有必要讓它100%生長,所以在這之前,設(shè)定一些終止條件來提前終止它。這就叫預(yù)剪枝,這個過程發(fā)生在決策樹生成之前。

  一般我們預(yù)剪枝的手段有:

  1、限定樹的深度

  2、節(jié)點的子節(jié)點數(shù)目小于閾值

  3、設(shè)定結(jié)點熵的閾值等等。

  后剪枝

  顧名思義,這個剪枝是在決策樹建立過程后。后剪枝算法的算法很多,有些也挺深奧,這里提一個簡單的算法的思想,就不深究啦。

  Reduced-Error Pruning (REP)

  該剪枝方法考慮將樹上的每個節(jié)點都作為修剪的候選對象,但是有一些條件決定是否修剪,通常有這幾步:

  1、刪除其所有的子樹,使其成為葉節(jié)點。

  2、賦予該節(jié)點最關(guān)聯(lián)的分類

  3、用驗證數(shù)據(jù)驗證其準(zhǔn)確度與處理前比較

  如果不比原來差,則真正刪除其子樹。然后反復(fù)從下往上對結(jié)點處理。這個處理方式其實是處理掉那些“有害”的節(jié)點。

  隨機森林

  隨機森林的理論其實和決策樹本身不應(yīng)該牽扯在一起,決策樹只能作為其思想的一種算法。

  為什么要引入隨機森林呢。我們知道,同一批數(shù)據(jù),我們只能產(chǎn)生一顆決策樹,這個變化就比較單一了。還有要用多個算法的結(jié)合呢?

  這就有了集成學(xué)習(xí)的概念。

  

  圖中可以看到,每個個體學(xué)習(xí)器(弱學(xué)習(xí)器)都可包含一種算法,算法可以相同也可以不同。如果相同,我們把它叫做同質(zhì)集成,反之則為異質(zhì)。

  隨機森林則是集成學(xué)習(xí)采用基于bagging策略的一個特例。

  

  從上圖可以看出,bagging的個體學(xué)習(xí)器的訓(xùn)練集是通過隨機采樣得到的。通過n次的隨機采樣,我們就可以得到n個樣本集。對于這n個樣本集,我們可以分別獨立的訓(xùn)練出n個個體學(xué)習(xí)器,再對這n個個體學(xué)習(xí)器通過集合策略來得到最終的輸出,這n個個體學(xué)習(xí)器之間是相互獨立的,可以并行。

  注:集成學(xué)習(xí)還有另一種方式叫boosTIng,這種方式學(xué)習(xí)器之間存在強關(guān)聯(lián),有興趣的可以了解下。

  隨機森林采用的采樣方法一般是是Bootstap sampling,對于原始樣本集,我們每次先隨機采集一個樣本放入采樣集,然后放回,也就是說下次采樣時該樣本仍有可能被采集到,經(jīng)過一定數(shù)量的采樣后得到一個樣本集。由于是隨機采樣,這樣每次的采樣集是和原始樣本集不同的,和其他采樣集也是不同的,這樣得到的個體學(xué)習(xí)器也是不同的。

  隨機森林最主要的問題是有了n個結(jié)果,怎么設(shè)定結(jié)合策略,主要方式也有這么幾種:

  加權(quán)平均法:

  平均法常用于回歸。做法就是,先對每個學(xué)習(xí)器都有一個事先設(shè)定的權(quán)值wi,

  

  然后最終的輸出就是:

  

  當(dāng)學(xué)習(xí)器的權(quán)值都為1/n時,這個平均法叫簡單平均法。

  投票法:

  投票法類似我們生活中的投票,如果每個學(xué)習(xí)器的權(quán)值都是一樣的。

  那么有絕對投票法,也就是票數(shù)過半。相對投票法,少數(shù)服從多數(shù)。

  如果有加權(quán),依然是少數(shù)服從多數(shù),只不過這里面的數(shù)是加權(quán)后的。

  例子

  以一個簡單的二次函數(shù)的代碼來看看決策樹怎么用吧。

  訓(xùn)練數(shù)據(jù)是100個隨機的真實的平方數(shù)據(jù),不同的深度將會得到不同的曲線

  測試數(shù)據(jù)也是隨機數(shù)據(jù),但是不同深度的樹的模型,產(chǎn)生的預(yù)測值也不太一樣。如圖

  這幅圖的代碼如下:


  我的是python 3.6環(huán)境,需要安裝numpy、matplotlib、sklearn這三個庫,需要的話直接pip install,大家可以跑跑看看,雖然簡單但挺有趣。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉