色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

如何解釋這種高效算法的方法

nlfO_thejiangme ? 來源:未知 ? 作者:李倩 ? 2018-05-30 16:25 ? 次閱讀

XGBoost是一種高效的集成學習模型框架,利用樹型分類器可以得到強大的分類結(jié)果和十分高效的運算效率。這篇文章主要探討如何解釋這種高效算法的方法,以及正確解釋模型的價值。如果你也被集成樹模型(如梯度提升樹)的可靠性和準確率所吸引,并且需要對他們作出解釋,那么這篇文章會為你帶來很多有益的思考。

假設我們的任務是為銀行預測個人的金融狀況。模型準確率越高,銀行收入就越多。但是因為模型的預測會用于借貸業(yè)務,因此我們也要能對模型為什么做出這樣的預測給出合理解釋。在嘗試了各種各樣的模型后,我們發(fā)現(xiàn)XGBoost所實現(xiàn)的梯度提升樹模型能給出最好的準確率。然而要解釋為什么XGBoost做出某個預測是困難的,所以我們面前有兩個選擇:1. 轉(zhuǎn)而使用更容易解釋的線性模型。2. 找出如何解釋XGBoost模型的方法。數(shù)據(jù)科學家們往往都不想犧牲準確率,所以我們也決定嘗試后者,即對復雜XGBoost模型(1247個深度為6的決策樹)作出解釋。

經(jīng)典全局特征重要性度量

最直接的選擇就是使用XGBoost Python接口中的plot_importance()方法。它能給出一個簡單的柱狀圖來表示我們數(shù)據(jù)集中每一個特征的重要性。

在一個用來預測人們是否會上報$50k以上收入的模型上運行xgboost.plot_importance方法的結(jié)果

通過觀察XGBoost所返回的特征重要性結(jié)果,我們可以看到年齡毫無疑問比其他特征都要重要。我們可以就此打住,并得出年齡就是我們模型最重要特征的結(jié)論,其次是每周的工作時長和受教育水平。但是身為優(yōu)秀的數(shù)據(jù)科學家,我們從文檔中得知在XGBoost中對特征重要性的度量共有三個選項:

Weight:一個特征在所有決策樹中被用來劃分數(shù)據(jù)的次數(shù)。

Cover:一個特征在所有決策樹中被用來劃分數(shù)據(jù)的次數(shù)和每次劃分涉及的樣本個數(shù)得到的加權(quán)結(jié)果。

Gain:一個特征被用于劃分數(shù)據(jù)時所帶來的訓練損失減益的平均值。

這些都是幾乎在任何樹模型的包里都能見到的典型重要性度量。Weight是默認選項,所以我們決定試一下另外兩個選項,看結(jié)果是否有所差別。

用cover和gain作為選項來運行xgboost.plot_importatnce的結(jié)果

我們很驚訝地看到特征重要性的順序較之前有很大不同。以cover為度量時,capital gain這一特征最能用于預測,而當用gain作為度量時,relationship status比其他特征都重要。在搞清哪一種度量最好之前,我們很難直接用這些度量來解釋模型的重要性。

如何判斷特征重要性的度量是好是壞?

比較不同特征歸因方法(feature attribution method)的優(yōu)劣并不容易。為了方便比較,我們定義如下兩個指標:

一致性:如果我們對一個模型作出修改,使得它更依賴于某一個特征的話,那么由特征歸因方法所得到的該特征的重要性(attributed importance)不應當降低。

準確性:所有特征重要性的和應等于模型的總重要性。例如,如果重要性是由R2值計算得到的,那么各個特征的R2值相加應等于模型的R2值。

如果某種特征歸因方法不滿足一致性,我們就很難用這種方法來比較兩個模型。因為即便我們算得一個特征在一個模型的重要性更高,也不意味著這個模型更依賴于該特征。

而當一個方法不滿足準確性時,我們不知道每個特征的重要性跟模型重要性間的關(guān)系是怎么樣的。所以我們就不能對歸因方法的結(jié)果直接歸一化,因為歸一化可能會打破一致性。

目前的歸因方法是一致和準確的嗎?

如上所述,一個歸因方法應當滿足一致性和準確性,當一個方法不滿足一致性,我們不能保證具有最高歸因的特征是實際上最重要的。下面我們來使用兩個非常簡單的樹模型來檢查歸因方法的一致性:

基于兩個特征的簡單樹模型,模型B中的咳嗽這一個特征顯然比模型A中的更重要。

模型的輸出是基于不同癥狀對生病的風險所做出的評分。當發(fā)燒和咳嗽兩個癥狀同時出現(xiàn)時,模型A會給出一個非零的風險分數(shù)。模型B跟模型A類似,但在咳嗽癥狀出現(xiàn)時,模型B會在模型A的基礎上加10分。為了檢查一個歸因方法是否滿足一致性,我們要先定義“重要性”。在這里我們將用兩種方法來定義重要性:1)當我們移除一組特征時,模型預期準確率(accuracy)的變化。 2)當我們移除一組特征時,模型預期輸出(output)的變化。

第一個定義可以衡量特征對模型的全局影響,而第二個定義則是衡量特征對單一預測的局部影響。在A和B兩個簡單樹模型中,無論從哪個定義出發(fā),咳嗽特征在模型B中都更重要。

上文中提到的weight,cover和gain三種方法都是全局特征歸因方法。但是對銀行部署的模型來說,模型需要對每個客戶的預測提供解釋。為了驗證不同方法是否滿足一致性,我們在簡單樹模型上運行五種不同的特征歸因方法:

1.Tree SHAP.我們提出的一種新穎的局部方法。

2.Saabas.一種啟發(fā)式的局部方法。

3.mean(|Tree SHAP|).一種基于Tree SHAP的局部結(jié)果取均值的全局方法。

4.Gain.與上文中的XGBoost中的Gain方法相同。

5.Split count.與上文中XGBoost中的weight方法相同。

6.Permutation. 當隨機擾動某個特征時,模型在測試集上的準確率的下降。

使用六種不同的方法對模型A和模型B進行特征歸因。這六種方法是已知文獻中所有針對樹模型的特征歸因方法。

但前述的方法都是不一致的,這是由于他們認為在模型B中咳嗽的重要性小于模型A。不一致的模型不能將影響最大的特征視為最重要的特征。細心的讀者可能已經(jīng)發(fā)現(xiàn)我們已經(jīng)在前文中的經(jīng)典特征歸因方法中提出過不一致特征了。同時對于精確性來說,Tree SHAP、Sabaas和Gain三種方法是精確的而分裂計數(shù)和特征置換是不準確的。

令人驚訝的是,被廣泛使用的基于gain的方法會引起如此多的不一致的結(jié)果。為了更好的理解其中的原因,讓我們來看看gain是如何計算模型A和B的。讓我們簡單的假設25%的數(shù)據(jù)落到了每一個的葉子節(jié)點并被精確的標記(每個葉子1/4)。

如果將均方根誤差作為損失函數(shù),首先從模型A的1200開始計量。在第一次分裂的過程中,損失從1200降到了800,那么意味著gain利用fever特征貢獻了400提升;進一步利用cough特征分裂得到了0的損失,意味著cough貢獻了800的提升;在模型B中,Cough和Fever分別貢獻了625和800的提升。如下圖所示:

模型A和模型B的分數(shù)計算

通常情況下距離根比較近的節(jié)點擁有比靠近葉子節(jié)點更重要的特征。那么對于gain方法來說,它對于gain方法來說低層級靠近葉子節(jié)點的特征卻貢獻了更多的重要性。正是這種偏差導致了不一致性。隨著樹的加深,這樣的偏差也在不斷增長。但對于Tree SHAP方法來說,在數(shù)學上對不同層次的特征進行了平均。

模型解釋

結(jié)合了堅實的理論和快速的算法實現(xiàn)讓SHAP值成為了解釋樹形模型的有力工具。利用這種新方法,我們重新解釋了上文中個性化銀行模型中的特征。

基于SHAP的全局均值方法用于收入預測模型

我們可以看到關(guān)系是最重要的特征,其次是年齡特征。SHAP度量保證了一致使得我們的分析更加容易。接下來我們需要對每一個客戶繪制響應的特征:

圖中每個點代表一個客戶,x坐標是特征的重要性,顏色代表特征的取值

上圖中特征根據(jù)均值排列,從中我們可以看到關(guān)系特征在收入達到50k$上的預測十分強烈。同時我們可以從上圖中看到局外點的影響。圖中的的顏色同時還顯示了年輕人一般收入較低、受教育程度會提高收入。

做了這么多,結(jié)果已經(jīng)很棒了。但是我們還可以從中發(fā)現(xiàn)更多的信息。我們可以繪制出度量隨特征的變化如下圖所示:

y軸表示了年齡對于年收入超過50k$的影響程度。

從中可以清晰的看到XGBoost模型抽取的特征,及其相互影響。對于20多歲的年輕人來說,年齡對于他們的影響十分小甚至有副作用,這意味著其他特征影響著年齡的重要性。為了了解這種相互影響,我們將受教育年限作為帶顏色的點繪制到了同一副圖中。高等教育在20多歲的年紀里對于收入影響不大,但在30多歲時候卻有著至關(guān)重要的影響。

上圖中可以清楚的看出受教育程度和年齡的關(guān)系。同樣我們還可以做出每周工作時間及其重要性的關(guān)系。

如果我們對于數(shù)據(jù)中的另一個變量工作時間進性相同的分析的話,我們會發(fā)現(xiàn)沒有工作50小時是比較好的選擇,而如果對對于已婚人士來說的話超出的工作時間并不能為他們帶來更多的收入。

解讀你的模型

我們大概瀏覽了一遍在構(gòu)建和部署模型的時候如何思考和理解模型。我們可以通過SHAP值作為度量來分析并利用shape工具包來可視化分析結(jié)果。從而尋找出最重要的變量。如果你對XGBoost感興趣,你還可以嘗試下Apache的XGBoost和微軟的LightGBM這兩個工具包,相信會給你帶來不錯的結(jié)果。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 算法
    +關(guān)注

    關(guān)注

    23

    文章

    4629

    瀏覽量

    93200
  • 決策樹
    +關(guān)注

    關(guān)注

    3

    文章

    96

    瀏覽量

    13575

原文標題:從XGBoost算法開始,更好地理解和改進你的模型

文章出處:【微信號:thejiangmen,微信公眾號:將門創(chuàng)投】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    請問磁珠的等效電路如何解釋

    磁珠的等效電路如何解釋?怎么解釋
    發(fā)表于 10-16 19:39

    圖書分享:卡爾曼濾波算法的幾何解釋

    網(wǎng)上搜到一篇關(guān)于卡爾曼濾波算法的論文,對低維卡爾曼濾波算法作了幾何解釋這種解釋對卡爾曼濾波有一種直觀的理解,使人們對卡爾曼濾波有更本質(zhì)的認
    發(fā)表于 06-11 15:28

    算法心得( 高效算法的奧秘)--電子書下載

    書作者Guy Steele傾情推薦  算法的藝術(shù)和數(shù)學的智慧在本書中得到了體現(xiàn),書中總結(jié)了大量高效、優(yōu)雅和奇妙的算法,并從數(shù)學角度剖析了其背后的原理內(nèi)容提要:  在本書中,作者給我們帶來了一大批極為
    發(fā)表于 12-24 14:08

    何解釋DCDC瞬態(tài)響應指標?

    何解釋DCDC“瞬態(tài)響應”指標
    發(fā)表于 03-02 06:26

    如何快速高效的在自己的設備中加入國密算法

    如今國密系列算法的應用已不僅僅局限于金融和電信等領域,諸如車載設備,消費類電子設備等越來越多的產(chǎn)品開始要求有國密算法的支持。但是國密算法的開源資料和應用案例少之又少,如何快速高效的在自
    發(fā)表于 12-21 06:42

    何解TCL電視童鎖及解鎖方法

    何解TCL童鎖及解鎖方法 TCL解童鎖方法
    發(fā)表于 10-09 13:00 ?99次下載
    如<b class='flag-5'>何解</b>TCL電視童鎖及解鎖<b class='flag-5'>方法</b>

    高效的步進電機控制算法

    高效的步進電機控制算法
    發(fā)表于 05-07 12:08 ?1526次閱讀
    <b class='flag-5'>高效</b>的步進電機控制<b class='flag-5'>算法</b>

    DSP28335—CMD文件中的各個段解釋

    cmd中以下代碼如何解釋?請看本文
    發(fā)表于 12-26 17:26 ?18次下載

    何解釋取消針刺 動力電池如何檢測安全

    征求意見稿的編制說明里面是如何解釋取消針刺的。主要有三個理由:首先是準入管理里面規(guī)定暫不執(zhí)行;其次是兩個IEC等標準沒有采用針刺;再次,認為針刺與實際失效模式不相符。
    的頭像 發(fā)表于 03-16 15:03 ?7496次閱讀
    如<b class='flag-5'>何解釋</b>取消針刺 動力電池如何檢測安全

    用于解釋神經(jīng)網(wǎng)絡的方法是如何發(fā)展的?

    過去11年中用于解釋神經(jīng)網(wǎng)絡的最新方法是如何發(fā)展的呢? 本文在 Inception 網(wǎng)絡圖像分類器上嘗試使用引導反向傳播進行解釋演示。 為什么「解釋」很重要? 使用機器學習(ML)
    的頭像 發(fā)表于 12-23 10:23 ?1522次閱讀

    何解釋DCDC“瞬態(tài)響應”指標資料下載

    電子發(fā)燒友網(wǎng)為你提供如何解釋DCDC“瞬態(tài)響應”指標資料下載的電子資料下載,更有其他相關(guān)的電路圖、源代碼、課件教程、中文資料、英文資料、參考設計、用戶指南、解決方案等資料,希望可以幫助到廣大的電子工程師們。
    發(fā)表于 04-01 08:56 ?97次下載
    如<b class='flag-5'>何解釋</b>DCDC“瞬態(tài)響應”指標資料下載

    基于機器學習算法的水文趨勢預測方法

    針對傳統(tǒng)的利用神經(jīng)網(wǎng)絡等工具進行水文趨勢預測得出結(jié)果不具備解釋性等不足,文中提出一種基于機器學習算法的水文趨勢預測方法,該方法旨在利用 XGBOOST機器學習
    發(fā)表于 04-26 15:39 ?6次下載
    基于機器學習<b class='flag-5'>算法</b>的水文趨勢預測<b class='flag-5'>方法</b>

    何解決JVM解釋器導致應用崩潰的bug

    bug 導致在弱內(nèi)存模型的平臺上 Crash。 在分析過程中,涉及到非常多的 JVM 內(nèi)部知識,比如對象頭、GC 復制算法操作、CAS 操作、字節(jié)碼執(zhí)行、內(nèi)存序等,希望對讀者有所幫助。本文介紹了一般分析 JVM crash 的方法,并且深入介紹了為什么在 aarch64
    的頭像 發(fā)表于 08-27 09:58 ?2475次閱讀
    如<b class='flag-5'>何解</b>決JVM<b class='flag-5'>解釋</b>器導致應用崩潰的bug

    使用LIME解釋CNN

    ?今天我們來LIME解釋CNN。 圖像與表格數(shù)據(jù)集有很大不同(顯然)。如果你還記得,在之前我們討論過的任何解釋方法中,我們都是根據(jù)特征重要性,度量或可視化來解釋模型的。比如特征“A”在
    的頭像 發(fā)表于 11-25 11:15 ?609次閱讀

    使用LIME解釋CNN

    我們來LIME解釋CNN。圖像與表格數(shù)據(jù)集有很大不同(顯然)。如果你還記得,在之前我們討論過的任何解釋方法中,我們都是根據(jù)特征重要性,度量或可視化來解釋模型的。比如
    的頭像 發(fā)表于 11-30 15:45 ?812次閱讀
    使用LIME<b class='flag-5'>解釋</b>CNN
    主站蜘蛛池模板: 么公在浴室了我的奶 | 亚洲国产精品嫩草影院久久 | 国产3级在线 | 99精品影院 | 精品一成人岛国片在线观看 | 午夜人妻理论片天堂影院 | 伊久久| 国产成人无码AV麻豆 | 国产一区内射最近更新 | 亚洲欧美精品无码一区二在线 | 挺弄抽插喷射HH | 中国特级黄色大片 | 色综合色综合久久综合频道 | 暖暖 免费 高清 日本视频5 | 永久免费精品精品永久-夜色 | 动漫美女性侵 | 日日噜噜大屁股熟妇 | 欧美在线看费视频在线 | 69精品人妻一区二区三区蜜桃 | 90后美女乳沟 | 依恋影院在线观看 | 入禽太深免费高清在线观看5 | 99精品在线观看 | 国产盗摄一区二区三区 | 精品午夜久久福利大片免费 | 热久久免费频精品99热 | xfplay 无码专区 亚洲 | MD传媒在线观看佳片 | 国产精品97久久AV色婷婷 | 农村脱精光一级 | 恋夜直播午夜秀场最新 | 在线免费观看毛片网站 | 高h原耽肉汁动漫视频 | 亚洲精品无码不卡在线播放he | 琪琪see色原网站在线观看 | 亚洲国产五月综合网 | 在线播放日韩欧美亚洲日本 | 果冻传媒视频在线观看完整版免费 | 久久成人免费观看全部免费 | 亚洲欧美一区二区三区四区 | 羞羞影院男女爽爽影院尤物 |