色屁屁www影院免费观看入口,欧美性猛交ⅹxxx乱大交妖精,欧美激情第5页,欧美性猛交xxxx三人,欧美一a级做爰片大开眼界

達觀動態(tài)

達觀愿與業(yè)內(nèi)同行分享 助力各企業(yè)在大數(shù)據(jù)浪潮來臨之際一起破浪前行

技術(shù)干貨|集成學(xué)習(xí)算法(Ensemble Method)淺析

技術(shù)干貨|集成學(xué)習(xí)算法(Ensemble Method)淺析

個性化推薦系統(tǒng)是達觀數(shù)據(jù)在金融、電商、媒體、直播等行業(yè)的主要產(chǎn)品之一。在達觀數(shù)據(jù)的個性化推薦系統(tǒng)架構(gòu)中, 可以簡單地分為5層架構(gòu),每層處理相應(yīng)的數(shù)據(jù)輸出給下一層使用,分別是:

?

  • 數(shù)據(jù)處理層?作為推薦系統(tǒng)最低端的數(shù)據(jù)處理層,主要功能是首先將客戶上傳上來的一些無用的噪聲數(shù)據(jù)進行清理過濾,將推薦系統(tǒng)所需要用到的數(shù)據(jù)導(dǎo)入到數(shù)據(jù)存儲層中;

  • 數(shù)據(jù)存儲層?對于item的數(shù)據(jù)一般存入在Mysql中,隨著數(shù)據(jù)量越來越大的item的數(shù)據(jù),相比Mysql的擴展性來說,HBase和Hive是一個更好的選擇,Hive可以方便離線分析時操作。而對于實時模塊,以及一些用進程同步相關(guān)的模塊,實時性要求比較高的,redis就可以派上用場了,作為緩存,生產(chǎn)者生產(chǎn)數(shù)據(jù)寫入redis供消費者讀取;

  • 生成候選集?通過一系列的基礎(chǔ)算法如協(xié)同過濾,content-base,點擊反饋,熱門等數(shù)據(jù)給每個用戶生成個性化的候選集;

  • 融合候選集?將各個算法生成的候選集的item按照一系列規(guī)則進行融合過濾。

  • 重排序?將融合過濾后的item集合用一定的算法重新排序,將排序后的結(jié)果輸出到用戶,這邊主要常用到機器學(xué)習(xí)相關(guān)模型和算法,如LR和GBDT

技術(shù)干貨|集成學(xué)習(xí)算法(Ensemble Method)淺析

本文將著重淺析一下重排序用到的集成學(xué)習(xí)算法(Ensemble Method)

?

NO.1

集成學(xué)習(xí)概述

集成學(xué)習(xí)算法本身不算一種單獨的機器學(xué)習(xí)算法,而是通過構(gòu)建并結(jié)合多個機器學(xué)習(xí)器來完成學(xué)習(xí)任務(wù)??梢哉f是集百家之所長,能在機器學(xué)習(xí)算法中擁有較高的準確率,不足之處就是模型的訓(xùn)練過程可能比較復(fù)雜,效率不是很高。

目前常見的集成學(xué)習(xí)算法主要有2種:基于Bagging的算法和基于Boosting的算法,基于Bagging的代表算法有隨機森林,而基于Boosting的代表算法則有Adaboost、GBDT、XGBOOST等。

?

NO.2

基于Bagging算法

Bagging算法(裝袋法)是bootstrap aggregating的縮寫,它主要對樣本訓(xùn)練集合進行隨機化抽樣,通過反復(fù)的抽樣訓(xùn)練新的模型,最終在這些模型的基礎(chǔ)上取平均。

  • 基本思想

 

1.給定一個弱學(xué)習(xí)算法,和一個訓(xùn)練集;

2.單個弱學(xué)習(xí)算法準確率不高;

3.將該學(xué)習(xí)算法使用多次,得出預(yù)測函數(shù)序列,進行投票;

4.最后結(jié)果準確率將得到提高。

 

技術(shù)干貨|集成學(xué)習(xí)算法(Ensemble Method)淺析

?

以隨機森林為例來詳解:

1

隨機森林基本原理

隨機森林由LeoBreiman(2001)提出,從原始訓(xùn)練樣本集N中有放回地重復(fù)隨機抽取k個樣本生成新的訓(xùn)練樣本集合,然后根據(jù)自助樣本集生成k個分類樹組成隨機森林,新數(shù)據(jù)的分類結(jié)果按分類樹投票多少形成的分數(shù)而定。

其實質(zhì)是對決策樹算法的一種改進,將多個決策樹合并在一起,每棵樹的建立依賴于一個獨立抽取的樣品,森林中的每棵樹具有相同的分布,分類誤差取決于每一棵樹的分類能力和它們之間的相關(guān)性。

 

特征選擇采用隨機的方法去分裂每一個節(jié)點,然后比較不同情況下產(chǎn)生的誤差。能夠檢測到的內(nèi)在估計誤差、分類能力和相關(guān)性決定選擇特征的數(shù)目。單棵樹的分類能力可能很小,但在隨機產(chǎn)生大量的決策樹后,一個測試樣品可以通過每一棵樹的分類結(jié)果經(jīng)統(tǒng)計后選擇最可能的分類。

2

隨機森林算法過程

1
選取n個數(shù)據(jù)作為訓(xùn)練數(shù)據(jù)輸入

從訓(xùn)練數(shù)據(jù)中選取n個數(shù)據(jù)作為訓(xùn)練數(shù)據(jù)輸入,一般情況下n是遠小于整體的訓(xùn)練數(shù)據(jù)N的,這樣就會造成有一部分數(shù)據(jù)是無法被取到的,這部分數(shù)據(jù)稱為袋外數(shù)據(jù),可以使用袋外數(shù)據(jù)做誤差估計。

2
構(gòu)建決策樹

選取了輸入的訓(xùn)練數(shù)據(jù)的之后,需要構(gòu)建決策樹,具體方法是每一個分裂結(jié)點從整體的特征集M中選取m個特征構(gòu)建,一般情況下m遠小于M。

3
分裂節(jié)點的選取

在構(gòu)造每棵決策樹的過程中,按照選取最小的基尼指數(shù)進行分裂節(jié)點的選取進行決策樹的構(gòu)建。決策樹的其他結(jié)點都采取相同的分裂規(guī)則進行構(gòu)建,直到該節(jié)點的所有訓(xùn)練樣例都屬于同一類或者達到樹的最大深度。

4
得到隨機森林

重復(fù)第2步和第3步多次,每一次輸入數(shù)據(jù)對應(yīng)一顆決策樹,這樣就得到了隨機森林,可以用來對預(yù)測數(shù)據(jù)進行決策。

5
進行預(yù)測

輸入的訓(xùn)練數(shù)據(jù)選擇好了,多棵決策樹也構(gòu)建好了,對待預(yù)測數(shù)據(jù)進行預(yù)測,比如說輸入一個待預(yù)測數(shù)據(jù),然后多棵決策樹同時進行決策,最后采用多數(shù)投票的方式進行類別的決策。

 

 

技術(shù)干貨|集成學(xué)習(xí)算法(Ensemble Method)淺析

3

隨機森林注意點

1.在構(gòu)建決策樹的過程中是不需要剪枝的。

2.整個森林的樹的數(shù)量和每棵樹的特征需要人為進行設(shè)定。

3.構(gòu)建決策樹的時候分裂節(jié)點的選擇是依據(jù)最小基尼系數(shù)的。

 

 

NO.3

?

基于Boosting算法

提升算法(Boosting)是常用的有效的統(tǒng)計學(xué)習(xí)算法,屬于迭代算法,它通過不斷地使用一個弱學(xué)習(xí)器彌補前一個弱學(xué)習(xí)器的“不足”的過程,來串行地構(gòu)造一個較強的學(xué)習(xí)器,這個強學(xué)習(xí)器能夠使目標函數(shù)值足夠小。

  • 基本思想

1.先賦予每個訓(xùn)練樣本相同的概率;

2.然后進行T次迭代,每次迭代后,對分類錯誤的樣本加大權(quán)重(重采樣),使得在下一次的迭代中更加關(guān)注這些樣本。

技術(shù)干貨|集成學(xué)習(xí)算法(Ensemble Method)淺析

 

Boosting系列算法里最著名算法主要有AdaBoost算法和提升樹(boosting tree)系列算法。提升樹系列算法里面應(yīng)用最廣泛的是梯度提升樹(Gradient Boosting Tree)。

以AdaBoost算法作為代表算法來詳解:

1

基本原理?

Adaboost(adaptive boosting: boosting + 單層決策樹)是boosting中較為代表的算法,基本思想是通過訓(xùn)練數(shù)據(jù)的分布構(gòu)造一個分類器,然后通過誤差率求出這個若弱分類器的權(quán)重,通過更新訓(xùn)練數(shù)據(jù)的分布,迭代進行,直到達到迭代次數(shù)或者損失函數(shù)小于某一閾值。

 

假設(shè)訓(xùn)練數(shù)據(jù)集為技術(shù)干貨|集成學(xué)習(xí)算法(Ensemble Method)淺析

其中有技術(shù)干貨|集成學(xué)習(xí)算法(Ensemble Method)淺析

2

算法過程

?

1.初始化訓(xùn)練數(shù)據(jù)的分布; 訓(xùn)練數(shù)據(jù)的權(quán)重平均分布為

技術(shù)干貨|集成學(xué)習(xí)算法(Ensemble Method)淺析

其中技術(shù)干貨|集成學(xué)習(xí)算法(Ensemble Method)淺析

?

2.選擇基本分類器; 這里選擇最簡單的線性分類器

 

技術(shù)干貨|集成學(xué)習(xí)算法(Ensemble Method)淺析

分類器選定之后,最小化分類誤差可以求得參數(shù)。

3.計算分類器的系數(shù)和更新數(shù)據(jù)權(quán)重; 誤差率也可以求出來為技術(shù)干貨|集成學(xué)習(xí)算法(Ensemble Method)淺析。同時可以求出這個分類器的系數(shù)?;镜腁daboost給出的系數(shù)計算公式為

技術(shù)干貨|集成學(xué)習(xí)算法(Ensemble Method)淺析

然后更新訓(xùn)練權(quán)重分布為技術(shù)干貨|集成學(xué)習(xí)算法(Ensemble Method)淺析

其中

技術(shù)干貨|集成學(xué)習(xí)算法(Ensemble Method)淺析

規(guī)范因子為

技術(shù)干貨|集成學(xué)習(xí)算法(Ensemble Method)淺析

4.得出分類器的組合

技術(shù)干貨|集成學(xué)習(xí)算法(Ensemble Method)淺析

3

說明

數(shù)學(xué)上可以證明,AdaBoost方法不斷擬合一個強學(xué)習(xí)器

技術(shù)干貨|集成學(xué)習(xí)算法(Ensemble Method)淺析

的過程其實是利用某種優(yōu)化方法(如自適應(yīng)牛頓法)使目標函數(shù)

技術(shù)干貨|集成學(xué)習(xí)算法(Ensemble Method)淺析

最小的過程。

NO.4

?

Bagging 和 Boosting 算法異同

Bagging算法與Boosting算法的核心都是將一系列弱學(xué)習(xí)器的算法按照特定的結(jié)合策略組合成強學(xué)習(xí)器的過程。兩者之間的區(qū)別在于以下幾點上:

1

樣本選擇

    • Bagging:訓(xùn)練集是在原始集中有放回選取的,從原始集中選出的各輪訓(xùn)練集之間是獨立的。

    • Boosting:每一輪的訓(xùn)練集不變,只是訓(xùn)練集中每個樣例在分類器中的權(quán)重發(fā)生變化.而權(quán)值是根據(jù)上一輪的分類結(jié)果進行調(diào)整。

2

樣例權(quán)重

    • Bagging:使用均勻取樣,每個樣例的權(quán)重相等

    • Boosting:根據(jù)錯誤率不斷調(diào)整樣例的權(quán)值,錯誤率越大則權(quán)重越大。

3

預(yù)測函數(shù)

 

    • Bagging:所有預(yù)測函數(shù)的權(quán)重相等。

    • Boosting:每個弱分類器都有相應(yīng)的權(quán)重,對于分類誤差小的分類器會有更大的權(quán)重。

4

并行計算

    • Bagging:各個預(yù)測函數(shù)可以并行生成。

    • Boosting:各個預(yù)測函數(shù)只能順序生成,因為后一個模型參數(shù)需要前一輪模型的結(jié)果。

NO.5

集成學(xué)習(xí)算法

(Ensemble Method)

集成學(xué)習(xí)之結(jié)合策略

以上部分我們主要關(guān)注與學(xué)習(xí)器本身,對于學(xué)習(xí)器之間的結(jié)合策略并未涉及到,這一小節(jié)主要介紹常見的結(jié)合策略,主要有平均法,投票法,學(xué)習(xí)法。

1

平均法

對于數(shù)值類的回歸預(yù)測問題,通常使用的結(jié)合策略是平均法,也就是說,對于若干和弱學(xué)習(xí)器的輸出進行平均得到最終的預(yù)測輸出。最簡單的平均是算術(shù)平均,也就是說最終預(yù)測為:

技術(shù)干貨|集成學(xué)習(xí)算法(Ensemble Method)淺析

如果每個學(xué)習(xí)器有一個權(quán)重w,則最終預(yù)測為

技術(shù)干貨|集成學(xué)習(xí)算法(Ensemble Method)淺析

其中技術(shù)干貨|集成學(xué)習(xí)算法(Ensemble Method)淺析是個體學(xué)習(xí)器技術(shù)干貨|集成學(xué)習(xí)算法(Ensemble Method)淺析的權(quán)重,有

技術(shù)干貨|集成學(xué)習(xí)算法(Ensemble Method)淺析

2

投票法

?

假設(shè)我們的預(yù)測類別是技術(shù)干貨|集成學(xué)習(xí)算法(Ensemble Method)淺析,對于任意一個預(yù)測樣本x,我們的技術(shù)干貨|集成學(xué)習(xí)算法(Ensemble Method)淺析個弱學(xué)習(xí)器的預(yù)測結(jié)果分別是技術(shù)干貨|集成學(xué)習(xí)算法(Ensemble Method)淺析。 最簡單的投票法是相對多數(shù)投票法,也就是我們常說的少數(shù)服從多數(shù),也就是技術(shù)干貨|集成學(xué)習(xí)算法(Ensemble Method)淺析個弱學(xué)習(xí)器的對樣本X的預(yù)測結(jié)果中,數(shù)量最多的類別技術(shù)干貨|集成學(xué)習(xí)算法(Ensemble Method)淺析為最終的分類類別。如果不止一個類別獲得最高票,則隨機選擇一個做最終類別。

?

稍微復(fù)雜點的投票有絕對多數(shù)投票法,也就是我們常說的要票過半數(shù)。在相對多數(shù)投票法的基礎(chǔ)上,不光要求獲得最高票,還要求票過半數(shù)。

更加復(fù)雜的是加權(quán)投票法,和加權(quán)平均法一樣,每個弱學(xué)習(xí)器的分類票數(shù)要乘以一個權(quán)重,最終將各個類別的加權(quán)票數(shù)求和,最大的值對應(yīng)的類別為最終類別。

3

學(xué)習(xí)法

上兩節(jié)的方法都是對弱學(xué)習(xí)器的結(jié)果做平均或者投票,相對比較簡單,但是可能學(xué)習(xí)誤差較大,于是就有了學(xué)習(xí)法這種方法。對于學(xué)習(xí)法,代表方法是stacking,當使用stacking的結(jié)合策略時, 我們不是對弱學(xué)習(xí)器的結(jié)果做簡單的邏輯處理,而是再加上一層學(xué)習(xí)器,也就是說,我們將訓(xùn)練集弱學(xué)習(xí)器的學(xué)習(xí)結(jié)果作為輸入,將訓(xùn)練集的輸出作為輸出,重新訓(xùn)練一個學(xué)習(xí)器來得到最終結(jié)果。

在這種情況下,我們將弱學(xué)習(xí)器稱為初級學(xué)習(xí)器,將用于結(jié)合的學(xué)習(xí)器稱為次級學(xué)習(xí)器。對于測試集,我們首先用初級學(xué)習(xí)器預(yù)測一次,得到次級學(xué)習(xí)器的輸入樣本,再用次級學(xué)習(xí)器預(yù)測一次,得到最終的預(yù)測結(jié)果。

NO.6

集成學(xué)習(xí)算法

(Ensemble Method)

總結(jié)

Bagging和Boosting都是把若干個分類器整合為一個分類器的集成學(xué)習(xí)方法,只是整合的方式不一樣,最終得到不一樣的效果。下面是將決策樹與這些算法框架進行結(jié)合所得到的新的算法:

1.Bagging + 決策樹 = 隨機森林

2.AdaBoost + 決策樹 = 提升樹

3.Gradient Boosting + 決策樹 = GBDT

其中GBDT在達觀數(shù)據(jù)個性化推薦重排序?qū)拥玫胶芎玫貞?yīng)用。