<label id="jgr5k"></label>
    <legend id="jgr5k"><track id="jgr5k"></track></legend>

    <sub id="jgr5k"></sub>
  1. <u id="jgr5k"></u>
      久草国产视频,91资源总站,在线免费看AV,丁香婷婷社区,久久精品99久久久久久久久,色天使av,无码探花,香蕉av在线
      您正在使用IE低版瀏覽器,為了您的雷峰網賬號安全和更好的產品體驗,強烈建議使用更快更安全的瀏覽器
      此為臨時鏈接,僅用于文章預覽,將在時失效
      人工智能開發者 正文
      發私信給AI研習社
      發送

      0

      開發者自述:我是如何理解決策樹的

      本文作者: AI研習社 2017-06-21 11:14
      導語:關于決策樹,你了解多少?

      雷鋒網按:本文作者夏洪進,原載于作者個人博客,雷鋒網已獲授權。

      前言:

      最近學習了一段時間的決策樹算法,但是感覺并沒有達到自己預期的想法,所以這幾天參考了一些決策樹方面的資料,來將自己的學習的過程的筆記記錄在這里,來加深理解和請教別人指出錯誤。

      決策樹的原理:

      決策樹又叫做decision tree,這個是一種比較簡單但是又得到廣泛應用的分類器的一種形式。我們一般都是通過訓練的數據來搭建起決策樹的模型。通過這個模型,我們可以高效的對于未知的數據進行歸納分類,類似于我們的聚類算法。

      應用決策樹有如下幾個優點:

      1:決策樹的模型的可讀性比較好,具有很強的可以描述性,有利于以后高效率的人工分析

      2:效率高,決策樹只需要以此構建,就可以達到反復使用的效果,每一次的預測的最大計算次數只要不超過決策樹的深度即可。

      3:決策樹來如何預測:

      現在我們以Data Analysis中的經典案例來進行分析:

      開發者自述:我是如何理解決策樹的

      從上邊的表述中的相關信息,我們可以通過記錄以前的用戶的一些相關的特性,比如記錄這個用戶是否可以償還債務,是否擁有房產,是否結過婚,年收入等,來構建我們所需要的決策樹。

      上表根據歷史數據,記錄已有的用戶是否可以償還債務,以及相關的信息。通過該數據,構建的決策樹如下:

      開發者自述:我是如何理解決策樹的

      現在假設新來了一個用戶:沒有房產,單身狗,年收入5萬,那么根據上面的決策樹,可以預測他無法償還債務(藍色虛線路徑)。從上面的決策樹,還可以知道看出來是否擁有房產可以很大的決定用戶是否可以償還債務,對借貸業務具有指導意義。

      基本步驟

      現在我們開始學習如何構造決策樹

      決策樹構建的基本步驟如下:

      1. 開始,把所有記錄看作一個節點

      2. 遍歷每個變量的每一種分割方式,找到最好的分割點

      3. 分割成兩個節點N1和N2

      4. 對N1和N2分別繼續執行2-3步,直到每個節點足夠“純”為止

      決策樹的變量可以有兩種:

      1)數字型(Numeric):變量類型是整數或浮點數,如前面例子中的“年收入”。用“>=”,“>”,“<”或“<=”作為分割條件(排序后,利用已有的分割情況,可以優化分割算法的時間復雜度)。

      2)名稱型(Nominal):類似編程語言中的枚舉類型,變量只能重有限的選項中選取,比如前面例子中的“婚姻情況”,只能是“單身”,“已婚”或“離婚”。使用“=”來分割。

      如何評估分割點的好壞?如果一個分割點可以將當前的所有節點分為兩類,使得每一類都很“純”,也就是同一類的記錄較多,那么就是一個好分割點。比如上面的例子,“擁有房產”,可以將記錄分成了兩類,“是”的節點全部都可以償還債務,非常“純”;“否”的節點,可以償還貸款和無法償還貸款的人都有,不是很“純”,但是兩個節點加起來的純度之和與原始節點的純度之差最大,所以按照這種方法分割。構建決策樹采用貪心算法,只考慮當前純度差最大的情況作為分割點。

      量化純度

      前面講到,決策樹是根據“純度”來構建的,如何量化純度呢?這里介紹三種純度計算方法。如果記錄被分為n類,每一類的比例P(i)=第i類的數目/總數目。還是拿上面的例子,10個數據中可以償還債務的記錄比例為P(1) = 7/10 = 0.7,無法償還的為P(2) = 3/10 = 0.3,N = 2。

      Gini不純度

      開發者自述:我是如何理解決策樹的

      熵(Entropy)

      開發者自述:我是如何理解決策樹的

      錯誤率

      開發者自述:我是如何理解決策樹的

      上面的三個公式均是值越大,表示越“不純”,越小表示越“純”。三種公式只需要取一種即可,實踐證明三種公司的選擇對最終分類準確率的影響并不大,一般使用熵公式。

      純度差,也稱為信息增益(Information Gain),公式如下:

      開發者自述:我是如何理解決策樹的

      其中,I代表不純度(也就是上面三個公式的任意一種),K代表分割的節點數,一般K = 2。vj表示子節點中的記錄數目。上面公式實際上就是當前節點的不純度減去子節點不純度的加權平均數,權重由子節點記錄數與當前節點記錄數的比例決定。

      停止條件

      決策樹的構建過程是一個遞歸的過程,所以需要確定停止條件,否則過程將不會結束。一種最直觀的方式是當每個子節點只有一種類型的記錄時停止,但是這樣往往會使得樹的節點過多,導致過擬合問題(Overfitting)。另一種可行的方法是當前節點中的記錄數低于一個最小的閥值,那么就停止分割,將max(P(i))對應的分類作為當前葉節點的分類。

      過渡擬合

      采用上面算法生成的決策樹在事件中往往會導致過濾擬合。也就是該決策樹對訓練數據可以得到很低的錯誤率,但是運用到測試數據上卻得到非常高的錯誤率。過渡擬合的原因有以下幾點:

      1. 噪音數據:訓練數據中存在噪音數據,決策樹的某些節點有噪音數據作為分割標準,導致決策樹無法代表真實數據。

      2. 缺少代表性數據:訓練數據沒有包含所有具有代表性的數據,導致某一類數據無法很好的匹配,這一點可以通過觀察混淆矩陣(Confusion Matrix)分析得出。

      3. 多重比較:舉個列子,股票分析師預測股票漲或跌。假設分析師都是靠隨機猜測,也就是他們正確的概率是0.5。每一個人預測10次,那么預測正確的次數在8次或8次以上的概率為

      開發者自述:我是如何理解決策樹的

      只有5%左右,比較低。但是如果50個分析師,每個人預測10次,選擇至少一個人得到8次或以上的人作為代表,那么概率為:

      開發者自述:我是如何理解決策樹的

      概率十分大,隨著分析師人數的增加,概率無限接近1。但是,選出來的分析師其實是打醬油的,他對未來的預測不能做任何保證。上面這個例子就是多重比較。這一情況和決策樹選取分割點類似,需要在每個變量的每一個值中選取一個作為分割的代表,所以選出一個噪音分割標準的概率是很大的。

      優化方案

      1:修剪枝葉

      決策樹過渡擬合往往是因為太過“茂盛”,也就是節點過多,所以需要裁剪(Prune Tree)枝葉。裁剪枝葉的策略對決策樹正確率的影響很大。主要有兩種裁剪策略。

      前置裁剪在構建決策樹的過程時,提前停止。那么,會將切分節點的條件設置的很苛刻,導致決策樹很短小。結果就是決策樹無法達到最優。實踐證明這中策略無法得到較好的結果。

      后置裁剪決策樹構建好后,然后才開始裁剪。采用兩種方法:1)用單一葉節點代替整個子樹,葉節點的分類采用子樹中最主要的分類;2)將一個字數完全替代另外一顆子樹。后置裁剪有個問題就是計算效率,有些節點計算后就被裁剪了,導致有點浪費。

      2:K-Fold Cross Validation

      首先計算出整體的決策樹T,葉節點個數記作N,設i屬于[1,N]。對每個i,使用K-Fold Validataion方法計算決策樹,并裁剪到i個節點,計算錯誤率,最后求出平均錯誤率。這樣可以用具有最小錯誤率對應的i作為最終決策樹的大小,對原始決策樹進行裁剪,得到最優決策樹。

      3:Random Forest

      Random Forest是用訓練數據隨機的計算出許多決策樹,形成了一個森林。然后用這個森林對未知數據進行預測,選取投票最多的分類。實踐證明,此算法的錯誤率得到了經一步的降低。這種方法背后的原理可以用“三個臭皮匠定一個諸葛亮”這句諺語來概括。一顆樹預測正確的概率可能不高,但是集體預測正確的概率卻很高。

      準確率估計

      決策樹T構建好后,需要估計預測準確率。直觀說明,比如N條測試數據,X預測正確的記錄數,那么可以估計acc = X/N為T的準確率。但是,這樣不是很科學。因為我們是通過樣本估計的準確率,很有可能存在偏差。所以,比較科學的方法是估計一個準確率的區間,這里就要用到統計學中的置信區間。

      設T的準確率p是一個客觀存在的值,X的概率分布為X ~ B(N,p),即X遵循概率為p,次數為N的二項分布(Binomial Distribution),期望E(X) = N*p,方差Var(X) = N*p*(1-p)。由于當N很大時,二項分布可以近似有正太分布(Normal Distribution)計算,一般N會很大,所以X ~ N(np,n*p*(1-p))。可以算出,acc = X/N的期望E(acc) = E(X/N) = E(X)/N = p,方差Var(acc) =Var(X/N) = Var(X) / N2= p*(1-p) / N,所以acc ~ N(p,p*(1-p)/N)。這樣,就可以通過正太分布的置信區間的計算方式計算執行區間了。

      正太分布的置信區間求解如下:

      1)將acc標準化,即

      開發者自述:我是如何理解決策樹的

      2)選擇置信水平α= 95%,或其他值,這取決于你需要對這個區間有多自信。一般來說,α越大,區間越大。

      3)求出α/2和1-α/2對應的標準正太分布的統計量

      開發者自述:我是如何理解決策樹的

      開發者自述:我是如何理解決策樹的

      (均為常量)。然后解下面關于p的不等式。acc可以有樣本估計得出。即可以得到關于p的執行區間

      開發者自述:我是如何理解決策樹的

      部分資料參考自網絡,感謝廣大的互聯網!

      雷鋒網相關閱讀:

      機器學習中決策樹的原理與算法 | 科普

      監督學習最常見的五種算法,你知道幾個?

      雷峰網版權文章,未經授權禁止轉載。詳情見轉載須知

      開發者自述:我是如何理解決策樹的

      分享:
      相關文章

      編輯

      聚焦數據科學,連接 AI 開發者。更多精彩內容,請訪問:yanxishe.com
      當月熱門文章
      最新文章
      請填寫申請人資料
      姓名
      電話
      郵箱
      微信號
      作品鏈接
      個人簡介
      為了您的賬戶安全,請驗證郵箱
      您的郵箱還未驗證,完成可獲20積分喲!
      請驗證您的郵箱
      立即驗證
      完善賬號信息
      您的賬號已經綁定,現在您可以設置密碼以方便用郵箱登錄
      立即設置 以后再說
      主站蜘蛛池模板: 成人做爰69片免费看网站| 人妻人久久精品中文字幕| 91高清在线观看| 国产一区二区三区资源在线观看| 91在线视频福利| 人妻自拍网| 丁香花成人电影| 在线看片免费人成视频久网下载| 夜夜躁狠狠躁日日躁| 熟女老骚91PORN九色| 亚洲国产精品人人做人人爱| 国产成人精品AA毛片| 国产精品自在自线免费观看| 日韩亚洲国产综合高清| 天堂av成人国产精品| 激情内射人妻1区2区3区| 绵阳市| 五级黄高潮片90分钟视频 | 桦南县| 丰满爆乳一区二区三区| 免费专区——色哟哟| xxx综合网| 99xa视频在线观看| 亚洲AV无码一区二区三区波多野结衣| 久久成人国产精品免费软件| 人妻无码中文专区久久app| 国产成人无码a区精油按摩| 久久亚洲色www成人网址| 无码伊人久久大杳蕉中文无码 | 又黄又无遮挡AAAAA毛片| 中文字幕一区二区三区在线毛片| 无码专区男人本色| 国产精品白丝在线观看有码| 日本公妇乱偷中文字幕| 91视频专区| 国产成人毛片在线视频| 在线免费看AV| 欧洲成人综合| 永久免费mv入口| 一起cao网站免费入口在线观看| www.亚洲成人|