女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

你知道XGBoost背后的數學原理是什么嗎?

zhKF_jqr_AI ? 來源:未知 ? 作者:李倩 ? 2018-08-22 08:59 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

編者按:說到Kaggle神器,不少人會想到XGBoost。一周前,我們曾在“從Kaggle歷史數據看機器學習競賽趨勢”介紹過它的“霸主地位”:自提出后,這種算法在機器學習競賽中被迅速普及,并被多數奪冠模型視為訓練速度、最終性能提升的利器。那么,你知道XGBoost背后的數學原理是什么嗎?

好奇的李雷和韓梅梅

李雷和韓梅梅是形影不離的好朋友,一天,他們一起去山里摘蘋果。按照計劃,他們打算去摘山谷底部的那棵大蘋果樹。雖然韓梅梅聰明而富有冒險精神,而李雷有些謹慎和遲鈍,但他們中會爬樹的只有李雷。那么他們的路徑是什么呢?

如上圖所示,李雷和韓梅梅所在的位置是a點,他們的目標蘋果樹位于g點。山里環境復雜,要怎么做才能確定自己到了山谷底部呢?他們有兩種方法。

1.由韓梅梅計算“a”點的斜率,如果斜率為正,則繼續朝這個方向前進;如果為負,朝反方向前進。

斜率給出了前進的方向,但沒有說明他們需要朝這個方向移動多少。為此,韓梅梅決定走幾步臺階,算一下斜率,確保自己不會到達錯誤位置,最終錯過大蘋果樹。但是這種方法有風險,控制臺階多少的是學習率,這是個需要人為把控的值:如果學習率過大,李雷和韓梅梅很可能會在g點兩側來回奔走;如果學習率過小,可能天黑了他們都未必摘得到蘋果。

聽到可能會走錯路,李雷不樂意了,他不想繞遠路,也不愿意錯過回家吃飯的時間。看到好友這么為難,韓梅梅提出了第二種方法。

2.在第一種方法的基礎上,每走過特定數量的臺階,都由韓梅梅去計算每一個臺階的損失函數值,并從中找出局部最小值,以免錯過全局最小值。每次韓梅梅找到局部最小值,她就發個信號,這樣李雷就永遠不會走錯路了。但這種方法對女孩子不公平,可憐的韓梅梅需要探索她附近的所有點并計算所有這些點的函數值。

XGBoost的優點在于它能同時解決以上兩種方案的缺陷。

梯度提升(Gradient Boosting)

很多梯度提升實現都會采用方法1來計算目標函數的最小值。在每次迭代中,我們利用損失函數的梯度訓練基學習器,然后用預測結果乘上一個常數,將其與前一次迭代的值相加,更新模型。

它背后的思路就是在損失函數上執行梯度下降,然后用基學習器對其進行擬合。當梯度為負時,我們稱它為偽殘差,因為它們依然能間接幫助我們最小化目標函數。

XGBoost

XGBoost是陳天奇在華盛頓大學求學期間提出的成果。它是一個整體加法模型,由幾個基學習器共同構成。

那么,我們該如何在每次迭代中選擇一個函數?這里可以用一種最小化整體損失的方法。

在上述梯度提升算法中,我們通過將基學習器擬合到相對于先前迭代值的損失函數的負梯度,在每次迭代時獲得ft(xi)。而在XGBoost中,我們只探索幾個基學習器或函數,選擇其中一個計算最小值,也就是韓梅梅的方法2。

如前所述,這種方法有兩個問題:

探索不同的基學習器;

計算所有基學習器的損失函數值。

XGBoost在計算基學習器ft(xi)最小值的,使用的方法是泰勒級數逼近。比起計算精確值,計算近似值可以大大減輕韓梅梅的工作量。

雖然上面只展開到二階導數,但這種近似程度就足夠了。對于任意ft(xi),第一項C都是常數。gi是前一次迭代中損失的一階導數,hi是其二階導數。韓梅梅可以在探索其他基學習器前直接計算gi和hi,這就成了一個簡單的乘法問題,計算負擔大大減輕了,不是嗎?

解決了損失函數值的問題,我們還要探索不同的基學習器。

假設韓梅梅更新了一個具有K個葉子節點的基學習器ft。設Ij是屬于節點j的實例集合,wj是該節點的預測。因此,對于Ij中的實例i,我們有ft(xi)=wj。所以我們在上式中用代入法更新了L(t)的表達式。更新后,我們就能針對每個葉子節點的權重采用損失函數的導數,以獲得最優權重。

以上就是對于具有K個葉子節點的基學習器的最佳損失。考慮到這樣的節點會有上百個,一個個探索它們是不現實的。

所以讓我們來看韓梅梅的情況。她現在已經知道如何使用泰勒展開來降低損失計算量,也知道了什么是葉子節點中的最佳權重。唯一值得關注的是如何探索所有不同的樹結構。

XGBoost不會探索所有可能的樹結構,它只是貪婪地構建一棵樹,選擇導致最大損失的方法,減少分叉。在上圖中,樹從節點I開始,根據標準,節點分為左右分叉。所以我們的實例一部分被放進了左側的葉子節點,剩下的則去了右側的葉子節點。現在,我們就可以計算損失值并選擇導致損失減少最大的分叉。

解決了上述問題后,現在韓梅梅就只剩下一個問題:如何選擇分叉標準?XGBoost使用不同的技巧來提出不同的分割點,比如直方圖。對于這部分,建議去看論文,本文不再作解釋。

XGBoost要點

雖然梯度提升遵循負梯度來優化損失函數,但XGBoost計算每個基學習器損失函數值用的是泰勒展開。

XGBoost不會探索所有可能的樹結構,而是貪婪地構建一棵樹。

XGBoost的正則項會懲罰具有多個葉子節點的樹結構。

關于選擇分叉標準,強烈建議閱讀論文:arxiv.org/pdf/1603.02754.pdf

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 梯度
    +關注

    關注

    0

    文章

    30

    瀏覽量

    10500
  • 機器學習
    +關注

    關注

    66

    文章

    8507

    瀏覽量

    134742

原文標題:計算:XGBoost背后的數學之美

文章出處:【微信號:jqr_AI,微信公眾號:論智】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    知道船用變壓器有哪些嗎?

    在船舶和海洋平臺上,電力系統的穩定運行至關重要,而船用變壓器作為其中的關鍵設備,其種類繁多,各具特點。知道船用變壓器有哪些嗎?讓我們一起來揭開它們的神秘面紗。CSD船用變壓器是船舶供電系統中
    的頭像 發表于 06-01 00:00 ?199次閱讀
    <b class='flag-5'>你</b><b class='flag-5'>知道</b>船用變壓器有哪些嗎?

    嵌入式工控機vs普通工控機:區別在哪?誰才更適合的生產線?

    說到智能制造,大家第一時間可能會想到自動化生產線、機器人、MES系統這些高大上的名詞。但知道嗎?這些系統背后都有一個“幕后英雄”在默默運轉,那就是——嵌入式工控機。
    的頭像 發表于 05-15 10:09 ?779次閱讀
    嵌入式工控機vs普通工控機:區別在哪?誰才更適合<b class='flag-5'>你</b>的生產線?

    串口服務器品牌排名背后,隱藏著的行業潛規則知道嗎?

    在科技飛速發展的當下,串口服務器作為連接串口設備與網絡的重要橋梁,在工業、金融、交通等眾多領域都有著廣泛應用。市場上的串口服務器品牌繁多,各種品牌排名也讓人眼花繚亂。但是否想過,這些排名背后可能
    的頭像 發表于 03-27 13:09 ?300次閱讀

    xgboost超參數調優技巧 xgboost在圖像分類中的應用

    一、XGBoost超參數調優技巧 XGBoost(eXtreme Gradient Boosting)是一種基于梯度提升決策樹(GBDT)的高效梯度提升框架,在機器學習競賽和實際業務應用中取得了卓越
    的頭像 發表于 01-31 15:16 ?1283次閱讀

    常見xgboost錯誤及解決方案

    XGBoost(eXtreme Gradient Boosting)是一種流行的機器學習算法,用于解決分類和回歸問題。盡管它非常強大和靈活,但在使用過程中可能會遇到一些常見的錯誤。以下是一些常見
    的頭像 發表于 01-19 11:22 ?2577次閱讀

    使用Python實現xgboost教程

    使用Python實現XGBoost模型通常涉及以下幾個步驟:數據準備、模型訓練、模型評估和模型預測。以下是一個詳細的教程,指導如何在Python中使用XGBoost。 1. 安裝XGBoos
    的頭像 發表于 01-19 11:21 ?1402次閱讀

    xgboost與LightGBM的優勢對比

    在機器學習領域,集成學習算法因其出色的性能和泛化能力而受到廣泛關注。其中,XGBoost和LightGBM是兩種非常流行的梯度提升框架。 1. 算法基礎 XGBoost(eXtreme
    的頭像 發表于 01-19 11:18 ?1326次閱讀

    xgboost的并行計算原理

    在大數據時代,機器學習算法需要處理的數據量日益增長。為了提高數據處理的效率,許多算法都開始支持并行計算。XGBoost作為一種高效的梯度提升樹算法,其并行計算能力是其受歡迎的原因
    的頭像 發表于 01-19 11:17 ?1029次閱讀

    xgboost在圖像分類中的應用

    XGBoost(eXtreme Gradient Boosting)是一種高效的機器學習算法,它基于梯度提升框架,通過構建多個弱學習器(通常是決策樹)來提高模型的性能。XGBoost因其出色的性能
    的頭像 發表于 01-19 11:16 ?1043次閱讀

    傅里葉變換的數學原理

    傅里葉變換的數學原理主要基于一種將函數分解為正弦和余弦函數(或復指數函數)的線性組合的思想。以下是對傅里葉變換數學原理的介紹: 一、基本原理 傅里葉級數 :對于周期性連續信號,可以將其表示為傅里葉
    的頭像 發表于 11-14 09:27 ?1807次閱讀

    電源的這些常識知道嗎?

    因為電源部件是消耗品,導致電源有一定的使用壽命。因此,使用一定時間后,我們或多或少會出現一些異常現象。一些簡單的學生可以簡單地自己解決。然而,許多情況下,涉及技術問題的人無法開始。這時,我們需要知道
    的頭像 發表于 09-26 13:58 ?574次閱讀

    matlab 神經網絡 數學建模數值分析

    matlab神經網絡 數學建模數值分析 精通的可以討論下
    發表于 09-18 15:14

    知道影響貼片電感發熱的因素有哪些嗎?

    知道影響貼片電感發熱的因素有哪些嗎?
    的頭像 發表于 08-17 14:24 ?913次閱讀
    <b class='flag-5'>你</b><b class='flag-5'>知道</b>影響貼片電感發熱的因素有哪些嗎?

    知道貼片電感故障時可能出現的癥狀嗎?

    知道貼片電感故障時可能出現的癥狀嗎?
    的頭像 發表于 08-17 14:20 ?846次閱讀
    <b class='flag-5'>你</b><b class='flag-5'>知道</b>貼片電感故障時可能出現的癥狀嗎?

    知道共模電感用錯了會有什么影響嗎

    電子發燒友網站提供《知道共模電感用錯了會有什么影響嗎.docx》資料免費下載
    發表于 07-30 10:42 ?0次下載