999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于增益統計的XGBoost提升方法研究

2021-08-09 03:23:44龔奎孫宇
電子技術與軟件工程 2021年11期
關鍵詞:特征模型

龔奎 孫宇

(廣西大學計算機與電子信息學院 廣西壯族自治區南寧市 530004)

XGBoost[1]是2016年陳天奇發布的基于分類與回歸樹的提升樹系統,在很多針對結構化數據的機器學習任務中,它達到了前沿水平。XGBoost 對于特征相互獨立的數據集具有極好的效果,得到了廣泛使用。XGBoost 發布后,不少學者也在探索對XGBoost 進行改進,Chen 等采用將LSTM 與XGBoost 預測結果聯合預測的方法,提出LSTM-XGBoost 模型[2],并證明該方法優于單一組合模型。岳鵬等提出使用Stacking 方法集成XGBoost,CatBoost,LightGBM等的XLC-Stacking 方法[3],提高了模型的最終預測精度。

目前改進XGBoost 的方法大多采用集成其他算法的方案,對于XGBoost 和數據本身的探索尚不充分。對于數據集本身存在的在特征之間互相干涉的情況下,基于樹的模型有可能過學習訓練數據,容易在樹中出現過擬合的噪音結構。在2018年,XGBoost 增加了特征交互約束參數[4](Feature Interaction Constraints)以抑制這一問題,該參數可以將預先知道的具有交互作用的特征集作為參數傳遞給模型。

但XGBoost 并沒有提供獲取特征交互約束參數的方法,需要對于領域本身已經有足夠的了解,或者需要針對性對于數據進行預先分析處理,這些問題限制了該參數的普遍使用。本文通過對XGBoost 模型信息的分析挖掘,直接從模型中提取潛在的交互特征并應用于下一輪訓練,實驗表明,提取的信息有助于預測效果提升。

1 相關概念

XGBoost 的訓練方式是一顆回歸樹訓練結束后,下一顆樹以上一顆樹的預測值與實際值之間的殘差作為輸入進行訓練,通過迭代提升訓練,減少最終回歸偏差。模型可表示為:

1.1 目標函數

對于每一顆樹,訓練中需要評估殘差,得到殘差最小的樹。評估殘差的目標函數由損失函數和正則化項組成。XGBoost 允許自定義損失函數,損失函數須可以二階導。評估樹的殘差的目標函數為:

其中Obj(t)是第t 顆樹的目標函數,是用于衡量yi和差異的損失函數,Ω(ft)是正則化項,n 是樣本數量。

其中,ft (Xi)是正在訓練的第t 顆樹的預測結果,y(t-1)表示前面t - 1 輪的預測結果,在當前樹生成過程中是常量。

將目標函數進行泰勒二階展開,可以得到公式:

當訓練第t 顆樹時,y(t-1)已經確定,屬于常量。移除常量,可得簡化后的目標函數:

1.2 葉節點權重

函數ft(x)是每顆樹計算預測值的函數,可以重新定義為:

其中,ω 是葉節點的權重,q(x)是把樣本x 映射到對應葉節點的函數。

在XGBoost 中,正則項可以定義為:

其中,T 是葉節點數量,γ 和λ 是對應項的權重,作為參數傳遞給模型。

為了度量一顆樹的好壞,代入以上公式到目標函數轉換得到:其中,Ij是分配到第j 個葉節點的樣本集合。

再定義Gj=∑i∈Ijgi,Hj=∑i∈Ijhi以上公式可簡化為:

設第j 個葉節點最優葉節點權重為ωj*,由上式可得最優葉節點權重計算公式:

1.3 增益

在能評估一棵樹的好壞之后,就可以確定樹的節點如何分裂。XGBoost 采用貪心策略[5],每次選取所有特征,用于分裂當前同一深度節點。度量分裂時分別計算左子樹和右子樹的G 和H,則增益定義為:

僅在增益大于0 時才發生分裂,也即分裂收益大于γ 時進行分裂。

1.4 模型信息結構

在訓練后的模型中,包含每棵回歸樹的每個節點的下列信息:

(1)分裂特征與分裂條件:分裂條件為真走yes 方向,分裂條件為假走no 方向,特征值缺失走missing 方向;

(2)節點增益gain;

(3)分類到葉節點上的訓練數據的二階梯度之和cover。

也可以看到看到每個葉節點的以下信息:

(1)葉節點權重值leaf;

(2)分類到葉節點上的訓練數據的二階梯度之和cover。

1.5 特征交互

對于函數Y=f(X1,X2),假如Y 隨X1變化受X2值的影響,則說X1和X2是交互特征[6],也即存在特征交互[7]。具有特征交互的特征之間可能是任意的函數關系。特征交互典型的例子是異或[8]。

表1:異或問題

從表1 中可以看到,X1和X2分別對于Y 線性無關,無法單獨根據X1或X2獲取有助于判斷Y 值的信息。但是在X1和X2聯合的情況下,可以對Y 值給出有效判斷。

1.6 特征交互約束參數

在最小化目標函數的時候,對于具有特征交互作用的數據集,訓練回歸樹會得到不反應真實規律的結構關系。2018年,XGBoost項目貢獻者討論并實現了特征交互約束參數,發布在0.81 版的XGBoost 中。特征交互參數允許用戶根據預先得知的交互特征,帶入模型訓練。

將真實存在的特征約束關系作為特征交互約束參數傳入訓練有助于得到更加穩定和準確的結果。對模型的具體約束是指,如果約束列表中的參數作為特征用于分裂回歸樹,則其子樹的節點只能從此列表中取得。特征約束的原理是,如果多個特征聯合進行預測具有更好的效果,那么就應該在構建樹的過程中,將交互特征作為直接上下級聯合一起對樣本進行預測,從而避免因特征交互產生的噪音節點得到更好的結果。

2 改進原理與計算過程

XGBoost 的模型包含所有節點的增益,因此可以統計出各節點特征的增益之和,和所有處于同一分支并且相連的節點組合的增益之和。節點的增益之和除以節點出現次數,可以得到單個節點的平均增益;節點組合的增益之和除以同一組合的出現次數,可以得到組合的平均增益。如果發現某特征組合的平均增益,大于對應特征單獨計算的增益平均值之和,則可以認為模型中,特征組合情況下的獲得的增益高于非組合情況下的增益,可以將其帶入特征交互參數重新訓練,從而檢驗是否能提高模型性能。考慮到會有平均增益大于單個增益和的特征組合數量較大的情況,為了控制時間復雜度,這里將平均增益除以單個增益和,逆序排序,取前N 項。

計算過程可以分成3 部分,以下列為算法1,算法2,算法3,位于前面的算法是后面算法的基礎。算法1,用于統計所有從根節點到葉節點的路徑和路徑的所有連通子集,算法2,用于獲取平均增益比率最高的前N 個特征集合,算法3,帶入特征集合到模型重新訓練,取得效果最好的模型。

2.1 算法1

步驟1:定義路徑列表P,P 為節點對象的集合,節點對象包含增益與編號信息;

步驟2:定義遞歸方法F,參數為根節點R 和節點列表L,L初始值為空;

步驟3:如果根節點R 是空,返回;

步驟4:節點列表L 添加根節點R 的增益與編號,L 為當前已遍歷路徑節點;

步驟5:如果根節點左子樹和右子樹均為空,則遍歷此時的節點列表L,取得路徑L 的所有連通子集,將編號與增益之和添加到路徑列表P 中;

步驟5.1:以方法F 遍歷根節點R 的左子樹,以R 的左子樹為根節點參數,L 為節點列表參數;

步驟5.2:以方法F 遍歷根節點R 的右子樹,以R 的右子樹為根節點參數,L 為節點列表參數。

2.2 算法2

步驟1:輸入模型樹的集合和特征集合數量N;

步驟2:循環取每一顆樹,帶入算法1,取得所有路徑;

步驟3:對以上過程獲得的路徑列表,統計相同路徑出現次數,對于節點完全相同的路徑,累加增益;

步驟4:對各路徑用增益除以出現次數,得到平均增益;

步驟5:對平均增益從大到小排序,輸出前N 個路徑的列表。

2.3 算法3

步驟1:初次訓練;

步驟2:訓練得到的模型M1 帶入算法2,得到路徑列表;

步驟3:分別將路徑列表轉為特征交互約束參數,分別加入參數中訓練得到多個模型,取效果最好的模型MB;

步驟4:將M1 與MB 比較,取效果較好的模型作為最終輸出。

3 實驗結果與分析

3.1 數據集

實驗數據集來自UCI 數據集[9]、OpenML 數據集和Kaggle 數據集,表2 描述了實驗所用數據集。數據集按訓練集和測試集各50%,以類別等比例隨機劃分。

3.2 評價指標

對于二分類任務的評估標準設為AUC(Area Under roc Curve),對于多分類的評估標準設為Kappa 系數。

表2:數據集信息

表3:實驗結果對照表

3.2.1 AUC

在輸出為類別概率的二分類問題中,設TP(True Positive)表示將正類預測為正類的樣本數量,TN(False Negative)表示將負類預測為負類的樣本數量,FP(False Negative)表示將負類預測為正類的樣本數量,FN(False Negative)表示將正類預測為負類的樣本數量,定義真陽率TPR(True Positive Rate):

假陽率FPR(False Positive Rate):

使用FPR 作為橫坐標,TPR 作為縱坐標得到ROC 曲線(receiver operating characteristic curve)。AUC 即ROC 曲線下的面積。AUC范圍是[0,1],越大預測結果越好。對于隨機的預測結果,值期望接近0.5,對于高度準確的結果,值接近1。

3.2.2 Kappa 系數

對多分類問題,得出預測結果和真實結果的混淆矩陣[11],即可計算Kappa 系數。計算公式為:

其中,p0是每一類正確分類的樣本數量之和除以總樣本數,pe是所有類別分別對應的“實際與預測數量的乘積”。Kappa 系數范圍是 [-1,1],越大預測越準確。對于隨機的預測結果,值期望接近0,對于高度準確的結果,值接近1。

3.3 實驗環境與參數

實驗硬件電腦CPU 配置為Intel 酷睿i7 處理器,16G 內存。軟件采用Anaconda 構建虛擬Python 環境,conda 版本4.5.11,Python版本3.7.9,XGBoost 版本0.81。

實驗對照組采用默認參數,其特征交互參數默認為空。對比實驗采用統計得到的特征交互列表作為特征交互參數,其他參數與對照組一樣,實驗組取具有最佳效果的特征交互的模型預測結果。

為顯示效果改變程度,實驗僅對尋找具有最優預測結果的特征交互過程進行測試,所有結果取4 位小數。

3.4 實驗結果

實驗結果如表3 所示,對于4 個二分類問題,AUC 均得到提升,對于4 個多分類問題,Kappa 系數有3 個得到了提升,1 個下降。

4 總結

實驗表明,采用算法在多個數據集上有效取得精度提升。但是對于部分問題,找到的特征交互信息在對照組導致精度下降。事實上,并不是所有數據集的特征之間都具有特征交互關系,特征交互約束僅當客觀存在才能提高精度,如果特征之間相互獨立,那么預測效果無法得到通過尋找特征交互得到有效改善。

因此,為了確保模型精度不下降,應該將所有訓練后模型結果在同一評價指標下進行對比,僅在取得提升時采用特征交互約束,最終選擇精度最高的模型作為輸出模型。

該方法的優勢在于不影響原有訓練過程,在訓練時間允許的情況下,可以有效探索對模型精度的進一步提高和數據內在關系的發現,更加充分利用了XGBoost 模型本身提供的信息。

還需要進一步探索的是,特征交互約束允許以多個集合的方式傳入模型,本文為了降低復雜度,僅對單一特征集合傳入實驗。如果采用多個集合同時傳入,效果有進一步提升的空間。

猜你喜歡
特征模型
一半模型
抓住特征巧觀察
重要模型『一線三等角』
新型冠狀病毒及其流行病學特征認識
重尾非線性自回歸模型自加權M-估計的漸近分布
如何表達“特征”
不忠誠的四個特征
當代陜西(2019年10期)2019-06-03 10:12:04
抓住特征巧觀察
3D打印中的模型分割與打包
FLUKA幾何模型到CAD幾何模型轉換方法初步研究
主站蜘蛛池模板: 国产在线八区| 91九色国产在线| 一级毛片免费观看久| 毛片网站观看| 成人国产免费| 国产乱人激情H在线观看| 亚洲美女久久| 亚洲av成人无码网站在线观看| 2021亚洲精品不卡a| 国产精品主播| www.精品国产| 国产精品亚洲五月天高清| 国产极品美女在线| 欧美国产综合色视频| 亚洲精品无码AⅤ片青青在线观看| 青青青视频免费一区二区| 最新午夜男女福利片视频| 亚洲精品成人福利在线电影| 国产va欧美va在线观看| 欧美精品啪啪| 一级毛片高清| 成人一级免费视频| 欧美日本中文| 国产成人艳妇AA视频在线| 国产美女无遮挡免费视频| 久久久久亚洲av成人网人人软件| 午夜精品一区二区蜜桃| 日韩黄色在线| 亚洲成a人片7777| 免费看a级毛片| 亚洲男人的天堂久久香蕉| 国产人人射| 亚洲AⅤ综合在线欧美一区| 国产另类视频| 99热在线只有精品| 中文字幕66页| 五月婷婷导航| 欧美在线中文字幕| A级毛片无码久久精品免费| 亚洲日本www| Jizz国产色系免费| 91无码国产视频| 男女男免费视频网站国产| 四虎AV麻豆| 亚洲av无码人妻| 免费观看国产小粉嫩喷水| 亚洲色图狠狠干| 在线观看国产精美视频| 欧美三级日韩三级| 91精品视频播放| 高清久久精品亚洲日韩Av| 69av免费视频| 久久不卡国产精品无码| 国产成人精品亚洲日本对白优播| 超薄丝袜足j国产在线视频| 中文字幕无码中文字幕有码在线| 精品免费在线视频| 一级毛片基地| 国产高清自拍视频| 日韩成人在线网站| 国产在线观看人成激情视频| 福利国产微拍广场一区视频在线| 亚洲欧洲自拍拍偷午夜色| 欧洲一区二区三区无码| 国产黄网永久免费| 97人人做人人爽香蕉精品 | 天天综合网亚洲网站| 久久国产成人精品国产成人亚洲 | 免费人成黄页在线观看国产| 久久久久亚洲精品成人网| 欧美在线一二区| 亚洲国产成人久久精品软件| 超碰91免费人妻| 国产成人盗摄精品| 激情视频综合网| 久久这里只有精品23| 久久精品最新免费国产成人| 国产欧美日韩18| 亚洲成人在线免费| 无遮挡国产高潮视频免费观看| 91美女视频在线| 19国产精品麻豆免费观看|