一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

『XGBoost模型』詳解 | 300張圖詳解機器學習算法(10)

 SAIJIN 2023-04-10 發(fā)布于北京

圖解機器學習算法系列 共14篇,以圖解的生動方式,闡述機器學習核心知識 & 重要模型,并通過代碼講通應用細節(jié)。本文為系列第10篇,講解XGBoost的算法原理和工程實現(xiàn),包括監(jiān)督學習、回歸樹、集成、Gradient Boosting詳細步驟,以及XGBoost的并行列塊涉及、緩存訪問等工程優(yōu)化知識。

點擊文末『閱讀原文』,可以提前解鎖全部文章!

圖片

http://www./article-detail/194

XGBoost 是 eXtreme Gradient Boosting 的縮寫稱呼,它是一個非常強大的 Boosting 算法工具包,優(yōu)秀的性能(效果與速度)讓其在很長一段時間內(nèi)霸屏數(shù)據(jù)科學比賽解決方案榜首,現(xiàn)在很多大廠的機器學習方案依舊會首選這個模型。

XGBoost 在并行計算效率、缺失值處理、控制過擬合、預測泛化能力上都變現(xiàn)非常優(yōu)秀。本文我們給大家詳細展開介紹 XGBoost,包含『算法原理』和『工程實現(xiàn)』兩個方面。

關于 XGBoost 的工程應用實踐,歡迎大家參考ShowMeAI的另外一篇實戰(zhàn)文章 XGBoost工具庫建模應用詳解 /article-detail/194

本篇XGBoost部分內(nèi)容涉及到機器學習基礎知識、決策樹/回歸樹/GBDT算法,沒有先序知識儲備的寶寶可以查看ShowMeAI的文章  這72個知識點,你無論如何得學會 | 300張圖詳解機器學習算法、超級經(jīng)典的『決策樹模型』 、『回歸樹模型』詳解『GBDT模型』詳解

1.算法原理可視化解讀

關于XGBoost的原理,其作者陳天奇本人有一個非常詳盡的 Slides 做了系統(tǒng)性的介紹,我們在這里借助于這個資料給大家做展開講解。(鏈接見文末)

1)監(jiān)督學習中的一些重要概念

在開始介紹Boosted Tree之前,我們先來回顧一下機器學習中的一些重要的概念。

(1)監(jiān)督學習核心要素

圖片

符號(Notations): 表示訓練集中的第 個樣本。


模型(Model):對于已知的 如何預測 ?

線性模型(Linear Model) (包括線性回歸和邏輯回歸),預測值 根據(jù)不同的任務有不同的解釋:

  • 線性回歸(Linear Regression): 表示預測的分數(shù)。
  • 邏輯回歸(Logistic Regression): 預測了實例為正的概率。
  • 其他:例如在排名任務中 可以是排名分數(shù)。
圖片

參數(shù)(Parameters):需要從數(shù)據(jù)中學習的東西。

  • 線性模型(Linear Model):

目標函數(shù)(Objective function)

  • 代表訓練損失函數(shù)(Training Loss),表示模型多好的擬合了訓練數(shù)據(jù)。
  • 為正則化項(Regularization)衡量了模型的復雜程度。

訓練數(shù)據(jù)損失函數(shù)(Training Loss)

  • 平方損失(Square Loss):
  • 邏輯損失(Logistic Loss):

正則化項(Regularization):描述了模型的復雜程度。

  • L1 Norm(lasso)
  • L2 Norm

(2)監(jiān)督學習進階知識

圖片

Ridge回歸

  • Ridge是線性模型(Linear Model),用的是平方損失(Square Loss),正則化項是L2 Norm。

Lasso

  • Lasso是線性模型(Linear Model),用的是平方損失(Square Loss),正則化項是L1 Norm。

邏輯回歸(Logistic Regression):

  • 邏輯回歸是線性模型(Linear Model),用的是邏輯損失(Logistic Loss),正則化項是L2 Norm。

(3)目標函數(shù)及偏差方差權衡

回顧一下目標函數(shù) ,為什么目標函數(shù)需要兩部分組成呢?

圖片
  • 優(yōu)化訓練損失函數(shù)(Training Loss)有助于建立預測模型,很好地擬合訓練數(shù)據(jù)至少能讓你更接近潛在的訓練數(shù)據(jù)的分布。
  • 優(yōu)化正則化項(Regularization)有助于建立簡單的模型:模型越簡單,未來預測的方差越小,預測越穩(wěn)定。

2)回歸樹(Regression Tree)和集成(Ensemble)

(1)回歸樹(Regression Tree)

回歸樹,也就是分類回歸樹(Classification and Regression Tree)(詳情請查看ShowMeAI文章回歸樹模型詳解)

  • 決策規(guī)則和決策樹一樣
  • 每個葉子結點有一個值

(2)回歸樹集成(Regression Tree Ensemble)

圖片

從上圖的左圖可以看出,共有 個訓練樣本。

從上圖的中圖可以看出,每個葉子節(jié)點都有預測值:第一個葉子結點的預測值是 ,第二個葉子結點的預測值是 ,第三個葉子結點的預測值是 。

  • 小男孩被分到第一個葉子結點中,所以小男孩的預測值是 ;
  • 小女兒被分到第二個葉子結點,她的預測值是
  • 剩余的三個人(樣本)被分到第三個葉子結點中,他們的值都是 。

最終的預測值就是樣本在每顆樹中所在的葉子結點的預測值的和。


(3)樹集成方法

樹集成的方法使用非常廣泛,像GBM、隨機森林等(詳見ShowMeAI文章 圖解機器學習 | GBDT模型詳解 和 圖解機器學習 | 隨機森林分類模型詳解)。多達半數(shù)的數(shù)據(jù)挖掘競賽通過使用各種各樣的樹集成方法而獲勝。

  • 不受輸入量綱的影響,因此不需要對特性進行細致的標準化。
  • 學習特征之間的高階交互(高階交叉特征)。
  • 可以擴展,用于不同的行業(yè)。

(4)Boosted Tree的模型和參數(shù)

圖片

模型:假設我們有K棵樹: 。其中,F(xiàn)為包含所有回歸樹的函數(shù)空間。

  • 回歸樹是一個將屬性映射到分數(shù)的函數(shù)。

參數(shù):包括每棵樹的結構和葉子結點中的分數(shù)。或者使用函數(shù)當作參數(shù): 。

  • 這里我們不學習 的權重,我們在Boosted Tree中學習函數(shù)(樹)。

(5)在單變量上學習Boosted Tree

單變量也就是單個特征,通過了解如何在單變量上學習Boosted Tree,我們可以對Boosted Tree的學習模式有個簡單的概念。

舉例:假設回歸樹只有一個輸入變量t(時間),希望預測小哥在t時刻有多喜歡浪漫音樂。

圖片

從上左圖可以看到,這位小哥在單身的時候,對浪漫音樂的喜歡程度很低;但是當他遇到了女朋友,隨著體內(nèi)荷爾蒙的分布增加,他對浪漫音樂的喜歡程度增加了;但是有一天分手了,他對浪漫音樂的喜歡程度又變低了。當然,我們也可以發(fā)現(xiàn),上右圖的回歸樹很容易能表達上左圖。

為了構建上右圖的樹,我們需要學習兩個東西:

  • 1、分裂的點;
  • 2、每個分段上的高。
圖片

單變量回歸樹的目標(階躍函數(shù))

  • 訓練損失:函數(shù)如何擬合點?
  • 正則化:如何定義函數(shù)的復雜度?(分裂點的個數(shù)和每段高度的L2 Norm?)
圖片
  • 圖(1)是小哥在每個時間上對浪漫音樂的喜歡程度的散點圖;
  • 圖(2)可以看到有太多的分割,模型的復雜度很高,所以模型的 很高;
  • 圖(3)可以看到模型的擬合程度很差,所以 很高;
  • 圖(4)是最好的,無論是擬合程度和復雜程度都非常合適;

(6)一般情形的Boosted Tree

首先回顧上面我們對Boosted Tree的定義:

模型:假設我們有K棵樹:  

目標函數(shù)

  • 是成本函數(shù)
  • 是正則化項,代表樹的復雜程度,樹越復雜正則化項的值越高(正則化項如何定義我們會在后面詳細說)。

當我們討論樹的時候,通常是啟發(fā)式的:

圖片
  • 通過信息增益來做分裂
  • 修剪樹木
  • 最大深度
  • 平滑葉值

大多數(shù)啟發(fā)式算法都能很好地映射到目標函數(shù),采用形式(目標)視圖讓我們知道我們正在學習什么:

圖片
  • 信息增益 → 訓練損失
  • 修剪 → 對節(jié)點的正則化
  • 最大深度 - 函數(shù)空間上的約束
  • 平滑葉片值 - L2正則化對葉片的權重

回歸樹集成定義了如何得到預測值,它不僅僅可以做回歸,同樣還可以做分類和排序。具體做什么任務依賴于『目標函數(shù)』的定義:

  • 使用平方誤差:可以得到用于回歸問題的gradient boosted machine。

  • 使用對數(shù)損失:可以得到LogitBoost用于分類。

3)Gradient Boosting(如何學習)

在這一節(jié)中我們將正式學習Gradient Boosting。這里,xgboost的處理大家可以對比GBDT模型(可參考ShowMeAI文章 圖解機器學習 | GBDT模型詳解)來理解核心差異。

(1)解決方案

目標函數(shù)

在做GBDT的時候,我們沒有辦法使用SGD,因為它們是樹,而非數(shù)值向量——也就是說從原來我們熟悉的參數(shù)空間變成了函數(shù)空間。

  • 參數(shù)空間:學習模型中的權重。
  • 函數(shù)空間:學習函數(shù) ,包括函數(shù)的結構和其中的權重。
圖片

解決方案:初始化一個預測值,每次迭代添加一個新函數(shù)( ):

  • 是第 次迭代的預測值。
  • 次迭代的預測值。
  • 是第 顆樹,也就是我們第 次迭代需要得到的樹。

(2)目標函數(shù)變換

第一步:根據(jù)上面的公式,目標函數(shù)可以做如下變形

這里我們考慮平方損失,此時目標函數(shù)又可以變形為:

圖片

第二步:所以我們的目的就是找到 使得目標函數(shù)最低。然而,經(jīng)過上面初次變形的目標函數(shù)仍然很復雜,目標函數(shù)會產(chǎn)生二次項。

在這里我們引入泰勒展開公式:

目標函數(shù)利用泰勒展開式就可以變成:

圖片

第三部:把常數(shù)項提出來,目標函數(shù)可以簡化為

圖片

思考:為什么要做這么多變化而不直接生成樹?

  • 理論好處:知道我們在學習什么,收斂。
  • 工程好處:回顧監(jiān)督學習的要素。
    • 都來自損失函數(shù)的定義。
    • 函數(shù)的學習只通過 依賴于目標函數(shù)。
    • 當被要求為平方損失和邏輯損失實現(xiàn)Bootsted Tree時,可以考慮如何分離代碼模塊。

(3)重新定義樹

在前面,我們使用 代表一顆樹,在本小節(jié),我們重新定義一下樹:我們通過葉子結點中的分數(shù)向量和將實例映射到葉子結點的索引映射函數(shù)來定義樹:(有點兒抽象,具體請看下圖)

  • 代表樹中葉子結點的權重
  • 代表的是樹的結構
圖片

從上圖可以看出,共有3個葉子結點,第一個葉子結點的權重為+1,第二個葉子結點的權重為0.1,第三個葉子結點的權重為-1;其中,小男孩屬于第1個葉子結點,老奶奶屬于第3個葉子結點。


(4)定義樹的復雜程度

通過下面的式子定義樹的復雜程度(定義并不是唯一的)

  • 代表了葉子結點的個樹
  • 葉子結點分數(shù)的L2 Norm
圖片

(5)重新審視目標函數(shù)

圖片

定義在葉子結點 中的實例的集合為:

根據(jù)每棵葉子重新定義目標函數(shù):

  • 上式是T個獨立二次函數(shù)的和

(6)計算葉子結點的值

一些知識需要先了解。對于一元二次函數(shù): ,我們很容易得到這個函數(shù)的最小值和最小值對應的 。

圖片
  • 最小值對應的 相當于求 的導數(shù),使導數(shù)等于0時的值,即 ,所以 。
  • ,對應的 的值為:

也就是:

如何求葉子結點最優(yōu)的值?接著繼續(xù)變化目標函數(shù):

  • 定義
  • 定義
圖片

假設樹的結構 是固定的,那么每一個葉子結點的權重的最優(yōu)值

目標函數(shù)的最優(yōu)值

下圖是前面公式講解對應的一個實際例子。

圖片

這里再次總結一下,我們已經(jīng)把目標函數(shù)變成了僅與 這五項已知參數(shù)有關的函數(shù),把之前的變量 消滅掉了,也就不需要對每一個葉子進行打分了! 那么現(xiàn)在問題來,剛才我們提到,以上這些是假設樹結構確定的情況下得到的結果。但是樹的結構有好多種,我們應該如何確定呢?


(7)貪婪算法生成樹

上一部分中我們假定樹的結構是固定的。但是,樹的結構其實是有無限種可能的,本小節(jié)我們使用貪婪算法生成樹:

  • 首先生成一個深度為0的樹(只有一個根結點,也叫葉子結點)
  • 對于每棵樹的每個葉子結點,嘗試去做分裂(生成兩個新的葉子結點,原來的葉子結點不再是葉子結點)。在增加了分裂后的目標函數(shù)前后變化為(我們希望增加了樹之后的目標函數(shù)小于之前的目標函數(shù),所以用之前的目標函數(shù)減去之后的目標函數(shù)):
  • 是左面葉子結點的值
  • 是右面葉子結點的值
  • 是未分裂前的值  -  是引入了多一個的葉子結點增加的復雜度

接下來要考慮的是如何尋找最佳分裂點。

例如,如果 是年齡,當分裂點是 的時候的增益 是多少?

我們需要做的僅僅只是計算每一邊的 ,然后計算

圖片

對排序后的實例進行從左到右的線性掃描就足以決定特征的最佳分裂點。

圖片

所以,分裂一個結點的方法是:

  • 對于每個節(jié)點,枚舉所有特性
  • 對于每個特性,按特性值對實例排序
  • 使用線性掃描來決定該特征的最佳分裂點
  • 采用所有特征中最好的分裂方案

時間復雜度

  • 對于一個有 個特征,深度為 的樹,計算的時間復雜度為:。其中每一層需要花費 的時間做排序。
  • 可以進一步優(yōu)化(例如使用近似或緩存排序的特性)。
  • 可以擴展到非常大的數(shù)據(jù)集。

(8)如何處理分類型變量

一些樹學習算法分別處理分類變量和連續(xù)變量,我們可以很容易地使用我們推導出的基于分類變量的評分公式。但事實上,我們沒有必要單獨處理分類變量:

我們可以使用 one-hot 方式處理分類變量:

如果有太多的分類的話,矩陣會非常稀疏,算法會優(yōu)先處理稀疏數(shù)據(jù)。


(9)修剪和正則化

回顧之前的增益,當訓練損失減少的值小于正則化帶來的復雜度時,增益有可能會是負數(shù):

圖片

此時就是模型的簡單性和可預測性之間的權衡。

  • 前停止(Pre-stopping):當最佳分裂是負數(shù)時,停止分裂;但是一個分裂可能會對未來的分裂有益;
  • 后剪枝(Post-Pruning):把一顆樹生長到最大深度,遞歸修剪所有分裂為負增益的葉子。

2.XGBoost核心原理歸納解析

1)目標函數(shù)與泰勒展開

XGBoost也是一個Boosting加法模型,每一步迭代只優(yōu)化當前步中的子模型。 第 步我們有:

  • 為當前步的子模型。
  • 為前 個完成訓練且固定了的子模型。

目標函數(shù)設計為『經(jīng)驗風險』+『結構風險』(正則項):

  • 正則項 表示子模型 的復雜度,用于控制過擬合。
圖片

在數(shù)學中,我們可以用泰勒公式近似 ,具體如下式。XGBoost對損失函數(shù)運用二階展開來近似。

更多數(shù)學知識推薦閱讀ShowMeAI的AI數(shù)學基礎系列教程 圖解AI數(shù)學基礎:從入門到精通系列教程(鏈接見文末)

對應 XGBoost 的損失函數(shù),我們在上式里將 視作 , 視作 , 視作關于 的函數(shù),得到:

圖片

又因前 個子模型已經(jīng)確定了,故上式中除了關于 的部分都是常數(shù),不影響對 的優(yōu)化求解。目標函數(shù)可轉化為:

  • 這里的 代表損失函數(shù),衡量一次預測的好壞程度
  • 確定了的情況下,對每個樣本點 都可以輕易計算出一個

2)XGBoost的正則化

實際上,XGBoost的基分類器對決策樹和線性模型都支持,這里我們只討論更常見的『基于樹』的情況。為防止過擬合,XGBoost設置了基于樹的復雜度作為正則項:

  • 為樹 的葉節(jié)點個數(shù)
  • 為所有葉節(jié)點輸出回歸值構成的向量, 為該向量L2范數(shù)(模長)的平方
  • 為超參數(shù)

作為回歸樹,葉子節(jié)點越多、輸出的回歸值越大,樹的復雜度越高。

最終目標函數(shù)如下:

圖片

下面是一個數(shù)學轉換處理,為了使正則項和經(jīng)驗風險項合并到一起。我們把在樣本層面上求和的經(jīng)驗風險項,轉換為葉節(jié)點層面上的求和。

定義節(jié)點 上的樣本集為 ,其中 為將樣本映射到葉節(jié)點上的索引函數(shù),葉節(jié)點 上的回歸值為

進一步簡化表達,令 注意這里 都是關于 的函數(shù):

圖片

轉化到這個形式后,我們可以看出,若一棵樹的結構已經(jīng)確定,則各個節(jié)點內(nèi)的樣本 也是確定的,即 , 、 被確定,每個葉節(jié)點輸出的回歸值應該使得上式最小,由二次函數(shù)極值點:

圖片

按此規(guī)則輸出回歸值后,目標函數(shù)值也就是樹的評分如下公式,其值越小代表樹的結構越好。觀察下式,樹的評分也可以理解成所有葉節(jié)點的評分之和:

3)節(jié)點分裂準則

我們之前文章決策樹模型詳解里給大家講到了決策樹模型是遞歸生長形成的,而XGBoost的子模型樹也一樣,需要要依賴節(jié)點遞歸分裂的貪心準則來實現(xiàn)樹的生成。

(1)貪心準則

XGBoost子樹的基本處理思路和CART一樣,會對特征值排序后遍歷劃分點,將其中最優(yōu)的分裂收益作為該特征的分裂收益,選取具有最優(yōu)分裂收益的特征作為當前節(jié)點的劃分特征,按其最優(yōu)劃分點進行二叉劃分,得到左右子樹。

圖片

上圖是一次節(jié)點分裂過程,很自然地,分裂收益是樹 A 的評分減去樹B的評分。虛線框外的葉節(jié)點,即非分裂節(jié)點的評分均被抵消,只留下分裂后的 LR 節(jié)點和分裂前的 S 節(jié)點進行比較,因此分裂收益的表達式為:

(2)近似算法

基于性能的考量,XGBoost還對貪心準則做了一個近似版本,簡單說,處理方式是『將特征分位數(shù)作為劃分候選點』。這樣將劃分候選點集合由全樣本間的遍歷縮減到了幾個分位數(shù)之間的遍歷。

展開來看,特征分位數(shù)的選取還有global和local兩種可選策略:

  • global在全體樣本上的特征值中選取,在根節(jié)點分裂之前進行一次即可;
  • local則是在待分裂節(jié)點包含的樣本特征值上選取,每個節(jié)點分裂前都要進行。

這兩種情況里,由于 global 只能劃分一次,其劃分粒度需要更細。

XGB 原始 paper 中對 Higgs Boson 數(shù)據(jù)集進行了實驗,比較了精確貪心準則、global 近似和 local 近似三類配置的測試集 AUC,用 eps 代表取分位點的粒度,如 代表將數(shù)據(jù)集劃分為 個 buckets,發(fā)現(xiàn) global()和 local()均能達到和精確貪心準則幾乎相同的性能。

XGBoost工具包支持上述提到的3類配置。

(3)加權分位數(shù)

查看目標函數(shù) ,令偏導為易得 ,此目標函數(shù)可理解為以 為權重, 為標簽的二次損失函數(shù):

在近似算法取分位數(shù)時,實際上XGBoost會取以二階導 為權重的分位數(shù)(Weighted Quantile Sketch),如下圖表示的三分位。

圖片

4)列采樣與學習率

XGBoost為了進一步優(yōu)化效果,在以下2個方面進行了進一步設計:

列采樣

  • 和隨機森林做法一致,每次節(jié)點分裂并不是用全部特征作為候選集,而是一個子集。
  • 這么做能更好地控制過擬合,還能減少計算開銷。

學習率

  • 也叫步長、shrinkage,具體的操作是在每個子模型前(即每個葉節(jié)點的回歸值上)乘上該系數(shù),不讓單顆樹太激進地擬合,留有一定空間,使迭代更穩(wěn)定。XGBoost默認設定為0.3。

5)特征缺失與稀疏性

XGBoost也能對缺失值處理,也對特征稀疏問題(特征中出現(xiàn)大量的0或one-hot encoding結果)做了一些優(yōu)化。XGBoost用『稀疏感知』策略來同時處理這兩個問題:

  • 簡單說,它的做法是將缺失值和稀疏0值等同視作缺失值,將其『綁定』在一起,分裂節(jié)點的遍歷會跳過缺失值的整體。這樣大大提高了運算效率。 0值在XGB中被處理為數(shù)值意義上的0還是NA,需要結合具體平臺的設置,預處理區(qū)分開作為數(shù)值的0(不應該被處理為NA)和作為稀疏值的0(應該被處理為NA)。
圖片

依然通過遍歷得到分裂節(jié)點,NA的方向有兩種情況,在此基礎上對非缺失值進行切分遍歷。

如上圖所示,若某個特征值取值為1,2,5和大量的NA,XGBoost會遍歷以上6種情況(3個非缺失值的切分點×缺失值的兩個方向),最大的分裂收益就是本特征上的分裂收益,同時,NA將被分到右節(jié)點。

3.XGBoost工程優(yōu)化

1)并行列塊設計

XGBoost將每一列特征提前進行排序,以塊(Block)的形式儲存在緩存中,并以索引將特征值和梯度統(tǒng)計量對應起來,每次節(jié)點分裂時會重復調(diào)用排好序的塊。而且不同特征會分布在獨立的塊中,因此可以進行分布式或多線程的計算。

圖片

2)緩存訪問優(yōu)化

特征值排序后通過索引來取梯度 會導致訪問的內(nèi)存空間不一致,進而降低緩存的命中率,影響算法效率。為解決這個問題,XGBoost為每個線程分配一個單獨的連續(xù)緩存區(qū),用來存放梯度信息。


3)核外塊計算

數(shù)據(jù)量非常大的情形下,無法同時全部載入內(nèi)存。XGBoost將數(shù)據(jù)分為多個blocks儲存在硬盤中,使用一個獨立的線程專門從磁盤中讀取數(shù)據(jù)到內(nèi)存中,實現(xiàn)計算和讀取數(shù)據(jù)的同時進行。 為了進一步提高磁盤讀取數(shù)據(jù)性能,XGBoost還使用了兩種方法:

  • ① 壓縮block,用解壓縮的開銷換取磁盤讀取的開銷。
  • ② 將block分散儲存在多個磁盤中,提高磁盤吞吐量。

4.XGBoost vs GBDT

圖片

我們對之前講解過的GBDT(參考ShowMeAI文章 GBDT算法詳解)和這里的XGBoost做一個對比總結:

  • GBDT是機器學習算法,XGBoost在算法基礎上還有一些工程實現(xiàn)方面的優(yōu)化。
  • GBDT使用的是損失函數(shù)一階導數(shù),相當于函數(shù)空間中的梯度下降;XGBoost還使用了損失函數(shù)二階導數(shù),相當于函數(shù)空間中的牛頓法。
  • 正則化:XGBoost顯式地加入了正則項來控制模型的復雜度,能有效防止過擬合。
  • 列采樣:XGBoost采用了隨機森林中的做法,每次節(jié)點分裂前進行列隨機采樣。
  • 缺失值:XGBoost運用稀疏感知策略處理缺失值,GBDT無缺失值處理策略。
  • 并行高效:XGBoost的列塊設計能有效支持并行運算,效率更優(yōu)。

鏈接整理

斯坦福CS229課程視頻 | 機器學習-吳恩達主講(2018·完整版) https://www.bilibili.com/video/BV1TT4y127Nf

陳天奇 Slides https://web./~usman/courses/cs675_spring20/BoostedTree.pdf

圖解機器學習算法(1) | 機器學習基礎知識  http://www./article-detail/185

圖解機器學習算法(2) | 模型評估方法與準則  http://www./article-detail/186

圖解機器學習算法(3) | KNN算法及其應用  http://www./article-detail/187

圖解機器學習算法(4) | 邏輯回歸算法詳解  http://www./article-detail/188

圖解機器學習算法(5) | 樸素貝葉斯算法詳解  http://www./article-detail/189

圖解機器學習算法(6) | 決策樹模型詳解  http://www./article-detail/190

圖解機器學習算法(7) | 隨機森林分類模型詳解  http://www./article-detail/191

圖解機器學習算法(8) | 回歸樹模型詳解  http://www./article-detail/192

圖解機器學習算法(9) | GBDT模型詳解  http://www./article-detail/193

圖解機器學習算法(10) | XGBoost模型最全解析  http://www./article-detail/194

圖解機器學習算法(11) | LightGBM模型詳解  http://www./article-detail/195

圖解機器學習算法(12) | 支持向量機模型詳解  http://www./article-detail/196

圖解機器學習算法(13) | 聚類算法詳解  http://www./article-detail/197

圖解機器學習算法(14) | PCA降維算法詳解  http://www./article-detail/198

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    日韩黄片大全免费在线看| 欧美黑人在线精品极品| 中文字幕人妻综合一区二区| 东京热加勒比一区二区三区| 国产小青蛙全集免费看| 亚洲最新一区二区三区| 亚洲欧洲一区二区综合精品| 欧美亚洲综合另类色妞| 亚洲一区二区三区精选| 在线免费国产一区二区| 中国美女草逼一级黄片视频| 久久精品国产在热久久| 果冻传媒在线观看免费高清| 中日韩美女黄色一级片| 欧美日韩少妇精品专区性色| 国产又粗又硬又大又爽的视频| 国产av一二三区在线观看| 国产在线小视频你懂的| 午夜福利视频日本一区| 毛片在线观看免费日韩| 久久热这里只有精品视频 | 亚洲国产黄色精品在线观看| 久久精品中文字幕人妻中文| 亚洲精品中文字幕欧美| 久久热在线免费视频精品| 欧美成人精品一区二区久久| 日本人妻丰满熟妇久久| 美女被啪的视频在线观看| 99久久精品午夜一区| 亚洲一区二区欧美激情| 日韩精品视频免费观看| 国产亚洲欧美自拍中文自拍| 亚洲精品伦理熟女国产一区二区 | 五月天丁香婷婷狠狠爱| 激情三级在线观看视频| 亚洲国产欧美精品久久| 国产美女网红精品演绎| 又大又紧又硬又湿又爽又猛| 国产又大又黄又粗的黄色| 欧美一区二区三区在线播放| 99久免费精品视频在线观|