オヌプン機械孊習コヌス。 テヌマ10.募配ブヌスティング



みなさんこんにちは アルゎリズムの歊噚を補充する時が来たした。







今日、私たちは最も人気があり実践されおいる機械孊習アルゎリズムの1぀である募配ブヌスティングを培底的に分析したす。 ブヌスティングのルヌツがどこから来お、アルゎリズムの裏で実際に䜕が起こっおいるのかに぀いお-カットの䞋でブヌスティングの䞖界ぞの私たちのカラフルな旅で。







UPD珟圚、コヌスは英語で、 mlcourse.aiずいうブランド名で、Medium に関する蚘事 、Kaggle Dataset およびGitHubに関する資料がありたす 。







オヌプンコヌスの2回目の立ち䞊げ2017幎9月から11月の䞀環ずしお、この蚘事に基づいた講矩のビデオ 。









この蚘事の抂芁







  1. 玹介ず歎史の向䞊

  2. GBMアルゎリズム

  3. 損倱関数

  4. GBM理論の芁玄
  5. 宿題
  6. 䟿利なリンク


1.ブヌスティングの玹介ず歎史



デヌタ分析に関䞎するほずんどの人は、少なくずも1回はブヌストを行うこずを聞いおいたす。 このアルゎリズムは、次のタスクで詊しおみる䟡倀のあるモデルの「玳士甚セット」に含たれおいたす。 Xgboostは、倚くの堎合、 MLコンペティションに勝぀ための暙準的なレシピに関連付けられおおり、「スタックxgboosts」に関するミヌムを生み出しおいたす。 そしおブヌスティングはほずんどの怜玢゚ンゞンの重芁な郚分です。 䞀般的な開発に぀いお、ブヌスティングがどのように珟れお発展したかを芋おみたしょう。







ブヌスティングストヌリヌ



すべおは、倚数の比范的匱く単玔なモデルから1぀の匷いモデルを取埗できるかどうかずいう問題から始たりたした。 匱いモデルずは、ニュヌラルネットワヌクなどのより「匷い」モデルずは察照的に、意思決定ツリヌのような小さく単玔なモデルだけではありたせん。 私たちの堎合、匱いモデルは任意の機械孊習アルゎリズムであり、その粟床はランダムな掚枬よりもわずかに高い堎合がありたす。







この質問に察する肯定的な数孊的答えは非垞に迅速に芋぀かりたした。それ自䜓が重芁な理論的結果でしたMLの垌少性。 ただし、実行可胜なアルゎリズムずAdaboostが登堎するたでに数幎かかりたした。 圌らの䞀般的なアプロヌチは、入力デヌタを重み付けするこずにより、単玔なモデルの線圢結合基本アルゎリズムを熱心に構築するこずでした。 埌続の各モデル原則ずしお決定朚は、以前に誀っお予枬された芳枬倀に倧きな重みず優先床を䞎えるような方法で構築されたした。







Adaboostに぀いおもう少し

良い方法で、機械孊習に関する残りのほずんどのコヌスの䟋に埓い、募配ブヌスティングの前に、その前身であるAdaboostを泚意深く調べおください。 ただし、AdaboostはGBMずの合䜵を経お、これが単なるプラむベヌトなバリ゚ヌションであるこずが明らかになったため、すぐに最も興味深いものに進むこずにしたした。







アルゎリズム自䜓は、背埌にある芳枬倀を蚈量する盎感を非垞に明確に芖芚的に解釈しおいたす。 Adaboostの各反埩でデヌタを深さ1のツリヌいわゆる「切り株」で陀算しようずする分類問題のおもちゃの䟋を考えおみたしょう。 最初の2回の繰り返しで、次の図が衚瀺されたす。









ポむントのサむズは、誀った予枬で受け取る重みに察応したす。 そしお、各反埩で、これらの重みがどのように増加するかを確認したす-切り株はそのようなタスクだけでは察凊できたせん。 ただし、以前に構築された切り株の加重投祚を行うず、目的の分離が埗られたす。









Adaboostの動䜜のより詳现な䟋。䞀連の反埩䞭に、特にクラス間の境界で、ポむントが順次増加するこずが瀺されおいたす。









Adaboostはうたく機胜したしたが、アドオンで動䜜するアルゎリズムの正圓性がほずんどなかったため、さたざたな掚枬がそれらの呚囲に発生したした誰かがそれを超アルゎリズムず魔法の匟䞞ず芋なし、誰かが懐疑的であり、この意芋を共有したしたタむトなオヌバヌフィッティングによるほずんど適甚できないアプロヌチ。 これは、Adaboostが䞍安定であるこずが刀明した高排出デヌタぞの適甚性に特に圓おはたりたした。 幞いなこずに、すでにラッ゜、゚ラスティックネット、ランダムフォレストの䞖界をもたらしたスタンフォヌド統蚈孊郚の教授がビゞネスを始めたずき、1999幎にゞェロヌムフリヌドマンは、ブヌスティングアルゎリズム募配ブヌスティング、別名Gradient BoostingMachine、別名GBMの成果の䞀般化を思い付きたした。 この䜜業により、フリヌドマンはすぐに倚くのアルゎリズムを䜜成するための統蚈的基瀎を蚭定し、機胜空間で最適化ずしおブヌストするための䞀般的なアプロヌチを提䟛したした。







スタンフォヌドレガシヌ

䞀般的に、スタンフォヌド統蚈局のチヌムは、CART、ブヌトストラップ、その他倚くのこずに関䞎しおおり、将来の統蚈教科曞に名前を事前に入力しおいたす。 抂しお、私たちの日垞的なツヌルの倧郚分がそこに登堎し、誰が他に䜕が珟れるかを知っおいたす。 たたは、すでに登堎しおいたすが、ただ十分な配垃が芋぀かりたせん glinternetなど。







フリヌドマン自身のビデオはあたりありたせん。 しかし、圌ず䞀緒に、CARTの䜜成に関する非垞に興味深いむンタビュヌがありたす。䞀般に、40幎以䞊前の統蚈的問題デヌタずデヌタサむ゚ンスの分析に起因するの解決方法に぀いお









デヌタ分析の有益な歎史のシリヌズから、あなたが䜿甚する私たちの毎日の方法を䜜成する参加者の1人からのデヌタ分析の回顧ず、 Hastieからの講矩もありたす









実際、アルゎリズムの構築における゚ンゞニアリングおよびアルゎリズムの研究MLの特城から、そのようなアルゎリズムの構築および研究方法の本栌的な方法論ぞの移行がありたした。 数孊的スタッフィングの芳点から芋るず、䞀芋したずころそれほど倧きな倉化はありたせん匱いアルゎリズムを远加ブヌストし、以前のモデルがファむナラむズされおいないデヌタの郚分を埐々に改善しおアンサンブルを構築したす。 しかし、次の単玔なモデルを構築するずき、それはオヌバヌり゚むトされた芳枬だけでなく、目的関数の䞀般的な募配をより良く近䌌するような方法で構築されたす。 抂念レベルでは、これは想像力ず拡匵の倧きな範囲を䞎えたした。







GBMの歎史



募配ブヌスティングは、すぐに「玳士のセット」に眮き換わるこずはありたせんでした-登堎しおから10幎以䞊かかりたした。 たず、ベヌスGBMには、さたざたな統蚈タスク甚の倚くの拡匵機胜がありたす。既存のGAMモデルを匷化するGLMboostずGAMboost、生存曲線甚のCoxBoost、ランキング甚のRankBoostずLambdaMARTです。 第二に、異なる名前ず異なるプラットフォヌムで同じGBMの倚くの実装がありたす確率的GBM、GBDT募配ブヌスト決定朚、GBRT募配ブヌスト回垰ツリヌ、MART倚重加法回垰ツリヌ、䞀般ブヌスティングマシンずしおのGBMその他。 さらに、機械孊習者のコミュニティは非垞に现分化されおおり、すべおに埓事しおいたした。このため、ブヌスティングの成功を远跡するこずは非垞に困難です。







同時に、ブヌスティングは怜玢゚ンゞン結果のタスクのランキングに積極的に䜿甚され始めたした。 この問題は、損倱関数の芳点から曞き出されたものであり、発行順序の゚ラヌに眰金を科すため、GBMに単玔に挿入するのが䟿利になりたした。 AltaVistaはランキングのブヌストを導入した最初の䌁業の1぀であり、すぐにYahoo、Yandex、Bingなどが続きたした。 さらに、実装に぀いお蚀えば、今埌数幎間ブヌストするこずが䜜業゚ンゞン内の䞻芁なアルゎリズムになり、いく぀かの科孊蚘事に含たれる別の亀換可胜な研究技術ではなくなったず蚀われたした。







ブヌスティングを普及させる䞻な圹割は、ML競技、特にkaggleが果たしたした。 研究者は、十分な参加者ずタスクがあり、アルゎリズムずアプロヌチを備えた人々が最先端のオヌプンな闘争で競争するための共通のプラットフォヌムを長い間欠いおいたした。 ガレヌゞで別の奇跡のアルゎリズムを成長させた陰鬱なドむツの倩才は、もはや閉じられたデヌタに垰するこずができず、逆に真のブレヌクスルヌラむブラリは、開発のための優れたプラットフォヌムを受け取りたした。 これはたさにブヌストで起こったこずであり、ほがすぐにkaggleに定着したした 2011幎以降、勝者ずのむンタビュヌでGBMを探す必芁がありたす。ラむブラリずしおのxgboostは、登堎埌すぐに人気を博したした。 同時に、xgboostは新しいナニヌクなアルゎリズムではなく、远加のヒュヌリスティックを備えた叀兞的なGBMの非垞に効率的な実装です。







そしお、2017幎に、数孊的問題やアルゎリズム技術からMLの非垞に兞型的な方法で、通垞のアルゎリズムず通垞の方法論の出珟から成功した実甚的なアプリケヌションずその出珟埌の倧量䜿甚に至るアルゎリズムを䜿甚しおいたす。







2. GBMアルゎリズム



ML問題のステヌトメント



教垫による指導ずいう䞀般的な文脈で、機胜を回埩する問題を解決したす。 機胜ペアのセットがありたす \倧x倧 およびタヌゲット倉数 \倧Y倧 、 \倧\å·Š\ {x_i、y_i\右\} _ {i = 1、\ ldots、n}\倧\å·Š\ {x_i、y_i\右\} _ {i = 1、\ ldots、n} 、フォヌムの䟝存関係を埩元したす \倧y = f  x 倧 。 近䌌により埩元したす \倧\垜子F  X 倧垜子 、どの近䌌がより良いかを理解するために、損倱関数もありたす \倧L  y 、 f 倧、 これを最小化したす











\倧Y \箄\ハットF  X 、\倧\ハットfx=\アンダヌセットfx arg min Ly、fx

倧玄ハット、倧ハットアンダヌセット、













これたでのずころ、䞭毒の皮類に぀いおは䜕も仮定しおいたせん。 \倧fx倧 、近䌌のモデルに぀いおではありたせん \倧\垜子fx倧垜子 、たたタヌゲット倉数の分垃に぀いお \倧y倧 。 それは機胜ですか \倧Ly、f倧、 埮分可胜でなければなりたせん。 䞖界のすべおのデヌタで問題を解決するのではなく、自由に䜿えるデヌタでのみ解決する必芁があるため、期埅の点ですべおを曞き換えたす。 ぀たり、近䌌倀を探したす \倧\垜子fx倧垜子 そのため、平均で次のデヌタの損倱関数を最小化できたす。











 large hatfx= undersetfx arg min  mathbbEx、y[Ly、fx]

、、







申し蚳ありたせんが、機胜 \倧fx倧 䞖界にたくさんあるだけではありたせん-それらの非垞に機胜的な空間は無限です。 したがっお、䜕らかの方法で問題を解決するために、機械孊習では、怜玢空間は通垞、特定のパラメヌタヌ化された関数ファミリヌに制限されたす  largefx、 theta、 theta in mathbbRd、、 。 これにより、パラメヌタ倀のすでに完党に解決可胜な最適化に枛少するため、問題が倧幅に簡玠化されたす。











 large hatfx=fx、 hat theta、 large hat theta= underset theta arg min  mathbbEx、y[Ly、fx、\シヌタ]

、、、、、シヌタ







最適なパラメヌタヌの分析゜リュヌション \倧\垜子\シヌタ倧垜子シヌタ 1行に存圚するこずはほずんどないため、通垞、パラメヌタヌは反埩的に近䌌されたす。 たず、経隓的損倱関数を曞き出す必芁がありたす  LargeL theta hat theta デヌタに基づいおそれらをどの皋床適切に評䟡したかを瀺したす。 近䌌倀も曞きたす \倧\垜子\シヌタ倧垜子シヌタ のために \倧M倧 和の圢匏での反埩明確にするため、およびブヌストに慣れるため











 large hat theta= sumMi=1 hat thetai、 largeL theta hat theta= sumNi=1Lyi、fxi、 hat theta

、、、







ポむントは小さいです-最小化する適切な反埩アルゎリズムを䜿甚するだけです  LargeL theta hat theta 。 最も簡単で最も頻繁に䜿甚されるオプションは、募配降䞋です。 そのためには、グラデヌションを曞く必芁がありたす  large nablaL theta hat theta 繰り返し評䟡を远加したす \倧\垜子 thetai それに沿っおマむナス蚘号付き-゚ラヌを枛らし、増加させたくない。 それだけです。最初のアプロヌチを䜕らかの方法で初期化するだけです。 \倧\垜子 theta0 そしお、反埩回数を遞択したす \倧M この手順を続けたす。 メモリヌを䜿甚しない圢匏での近䌌倀の保存 \倧\垜子\シヌタ 単玔なアルゎリズムは次のようになりたす。







  1. 初期パラメヌタヌ近䌌の初期化  large hat theta= hat theta0
  2. 反埩ごずに \倧t=1、\ドット、M 繰り返したす

    1. 損倱関数の募配を蚈算する  large nablaL theta hat theta 珟圚の近䌌倀で \倧\垜子\シヌタ

       large nablaL theta hat theta= left[ frac partialLy、fx、 theta partial theta right] theta= hat theta
    2. 珟圚の反埩近䌌を蚭定する \倧\垜子 thetat 蚈算された募配に基づいお

      \倧\垜子 thetat\巊矢印− nablaL theta hat theta
    3. パラメヌタ近䌌の曎新 \倧\垜子\シヌタ 

       large hat theta leftarrow hat theta+ hat thetat= sumti=0 hat thetai
  3. 最終近䌌を保存 \倧\垜子\シヌタ

     large hat theta= sumMi=0 hat thetai
  4. 芋぀かった機胜を䜿甚する \倧きい hatfx=fx、 hat theta 予玄制








機胜募配降䞋



意識を広げる機胜空間で最適化を実行し、近䌌を繰り返し怜玢できるこずを少し想像しおください \倧\垜子fx 関数自䜓の圢で。 近䌌は、それぞれが関数である挞進的な改善の合蚈ずしお曞きたす。 䟿宜䞊、最初の近䌌から始めお、この量をすぐに考慮したす \倧\垜子f0x 











 large hatfx= sumMi=0 hatfix







マゞックはただ起こっおいたせん、私たちは私たちのアプロヌチを探すこずにしたした \倧\垜子fx 倚数のパラメヌタヌを持぀1぀の倧きなモデルニュヌラルネットワヌクなどではなく、関数の合蚈の圢で、このように機胜空間を移動するふりをしたす。







この問題を解決するには、怜玢をいく぀かの関数ファミリヌに限定する必芁がありたす  large hatfx=hx、 theta 。 しかし、最初に、モデルの合蚈はこのファミリヌのどのモデルよりも耇雑になる可胜性がありたす深さ1の2぀の朚の切り株の合蚈は1぀の切り株でもはや近䌌できたせん。 第二に、䞀般的なタスクは機胜空間でただ行われおいたす。 関数の各ステップで最適な係数を遞択する必芁があるこずをすぐに考慮したす \倧 rho in mathbbR 。 ステップ甚 \倧t タスクは次のずおりです。











 large hatfx= sumt−1i=0 hatfix、 large rhot、 thetat= underset rho、 theta arg min  mathbbEx、y[Ly、 hatfx+ rho cdothx、 theta]、 large hatftx= rhot cdothx、 thetat







そしお今が魔法の時です。 私たちはすべおのタスクを䞀般的な方法で曞きたした。たるで奜きなモデルを取り、蚓緎できるかのようです。 \倧きいhx、 theta 損倱関数に関しお \倧きいLy、fx、 theta 。 実際には、これは非垞に困難であるため、問題を解決䞭のものに枛らす簡単な方法が考案されたした。







損倱関数の募配の衚珟がわかれば、デヌタでその倀を蚈算できたす。 それでは、予枬がこの募配ず最も盞関するようにモデルをトレヌニングしたしょうマむナス蚘号付き。 ぀たり、OLS回垰の問題を解決し、これらの残差の予枬をたっすぐにしようずしたす。 そしお分類のため、そしお回垰のため、そしお内郚のランキングのために、私たちは垞に疑䌌残基間の差の二乗を最小化したす \倧r そしお私たちの予枬。 ステップ甚 \倧t 最終タスクは次のずおりです。











 large hatfx= sumt−1i=0 hatfix、 largerit=− left[ frac\郚分Lyi、fxi\郚分fxi\右]fx= hatfx、 quad mboxfori=1、 ldots、n、 large thetat= underset theta arg min  sumni=1rit−hxi、 theta2、 large rhot= underset rho arg min  sumni=1Lyi、 hatfxi+ rho cdothxi、 thetat













フリヌドマンの叀兞的なGBMアルゎリズム



1999幎にJerome Friedmanによっお提案されたGBMアルゎリズムを最終的に曞き出すために必芁なものはすべお揃っおいたす。 私たちは今でも、教垫ず教えるずいう䞀般的な問題を解決しおいたす。 アルゎリズムの入力時に、いく぀かのコンポヌネントを収集する必芁がありたす。









攟眮された唯䞀の瞬間は、最初のアプロヌチでした \倧きいf0x 。 簡単にするために、定数倀のみが初期化ずしお䜿甚されたす \倧\ガンマ 。 圌ず同様に最適な比率 \倧 rho バむナリ怜玢、たたは募配ではなく元の損倱関数に関連する別のラむン怜玢アルゎリズムを芋぀けたす。 したがっお、GBMアルゎリズム







  1. 定数倀でGBMを初期化する  large hatfx= hatf0、 hatf0= gamma、 gamma in mathbbR

     large hatf0= underset gamma arg min  sumni=1Lyi、 gamma
  2. 反埩ごずに \倧t=1、\ドット、M 繰り返したす

    1. 擬䌌残り物を数える \倧きいrt

       largerit=− left[ frac partialLyi、fxi partialfxi right]fx= hatfx、 quad mboxfori=1、 ldots、n
    2. 新しい基本アルゎリズムを構築する \倧きいhtx 擬䌌残骞の回垰のような \倧\å·Š\ {x_i、r_ {it}\右\} _ {i = 1、\ ldots、n}
    3. 最適な比率を芋぀ける \倧 rhot で \倧きいhtx 元の損倱関数ず比范しお

       large rhot= underset rho arg min  sumni=1Lyi、 hatfxi+ rho cdothxi、 theta
    4. 保存する \倧\垜子ftx= rhot cdothtx
    5. 珟圚のアプロヌチを曎新 \倧\垜子fx

       large hatfx leftarrow hatfx+ hatftx= sumti=0 hatfix
  3. 最終的なGBMモデルを構築する \倧\垜子fx

     large hatfx= sumMi=0 hatfix
  4. 蚓緎されたモデルでkaggleず䞖界を埁服するそこで予枬を立お、自分でそれを理解する


GBMのステップバむステップの䟋



おもちゃの䟋を䜿甚しお、GBMの仕組みを理解しおみたしょう。 ノむズの倚い関数を埩元するために䜿甚したす  largey=cosx+ epsilon、 epsilon sim mathcalN0、 frac15、x in[−5,5] 。













これは実際のタヌゲット倉数での回垰のタスクであるため、二乗平均平方根損倱関数を䜿甚したす。 300組の芳枬倀を自分で生成し、それらを深さ2の決定朚で近䌌したす。GBMを䜿甚するために必芁なすべおをたずめたしょう。









二乗平均誀差は単玔であり、初期化されおいたす \倧\ガンマ および係数付き \倧 rhot 。 ぀たり、平均倀でGBMを初期化したす  large gamma= frac1n cdot sumni=1yi そしおすべお \倧 rhot 1に等しい







GBMを起動し、2皮類のグラフを描画したす実際の近䌌 \倧\垜子fx 青いグラフ、および構築された各ツリヌ \倧\垜子ftx 擬䌌バランス緑色のグラフに぀いお。 グラフ番号は反埩番号に察応したす。













2回目の反埩で、ツリヌが関数のメむンフォヌムを繰り返したこずに泚意しおください。 ただし、最初の反埩では、アルゎリズムが関数の「巊ブランチ」のみを構築したこずがわかりたす \倧x in[−5、−4]  私たちのツリヌにはすぐに察称ブランチを構築するのに十分な深さがなく、巊ブランチの゚ラヌが倧きかったため、これはひどく起こりたした。 , "" .







: - , GBM . , , GBM , . , GBM , Brilliantly wrong :















http://arogozhnikov.github.io/2016/06/24/gradient_boosting_explained.html

3.



, , , , ? , y L(y,f) 。 , , .







, — . : y∈R y∈{−1,1} 。 , , , .









y∈R 。 , , (y|x) . :











Lq , 75%- . :









— y 。 , ρt , line search. , :













実際には、通垞のレムナントずは非垞に異なる䜕かをトレヌニングしおいるこずを芋るのは珍しいです-各反埩で \倧ri 可胜な倀は2぀だけです。 ただし、GBMの結果は元の関数ず非垞に䌌おいたす。







このおもちゃの䟋から孊習するためにアルゎリズムを離れるず、次のようにシフトされた2次損倱関数ずほが同じ結果が埗られたす。 \倧\箄0.135 。 しかし、90を超える分䜍数を探しおいるず、蚈算が困難になる可胜性がありたす。 ぀たり、必芁な分䜍数を超えるポむント数の比率が小さすぎる堎合䞍均衡なクラスなど、モデルは定性的に孊習できたせん。 非定型のタスクを解決するずきは、このようなニュアンスを考慮する䟡倀がありたす。







回垰損倱関数に぀いおもう少し

回垰問題のために、远加のロバストネスプロパティを持぀関数を含む倚くの損倱関数が開発されたした。 そのような䟋の1぀が、フヌバヌ損倱関数です。 関数の本質は、わずかな偏差では次のように機胜するこずです \倧芏暡なL2 、所定のしきい倀から、次のように機胜し始めたす \倧L1 。 これにより、小さな䞍正確さず偏差に焊点を合わせずに、関数の䞀般的な圢匏ぞの異垞倀ずそれに続く二次的に倧きな誀差の寄䞎を枛らすこずができたす。







次のおもちゃの䟋で、この損倱関数の動䜜を確認できたす。 基瀎ずしお、おもちゃのデヌタ関数を䜿甚したす  largey= fracsinxx 特別なノむズが远加されたした。䞀方向攟出ゞェネレヌタヌずしお機胜するガりス分垃ずベルヌヌむ分垃の混合。 損倱関数自䜓はADプロットに衚瀺され、察応するGBMはFHプロットに衚瀺されたすEプロットには初期関数。















そしお、 倧きな解像床で 。

この䟋では、芖芚的な明瞭さのための基本的なアルゎリズムずしおスプラむンが䜿甚されたした。 結局のずころ、私たちはすでにあなたが朚だけでなく解攟できるず蚀っおいたすか







䟋の結果によるず、人為的に䜜成されたノむズの問題により、 \倧芏暡なL2 、 \倧L 1 そしお、フヌバヌ損倱は非垞に顕著です。 フヌバヌ損倱パラメヌタヌを適切に遞択するず、オプションの䞭から関数の最適な近䌌を取埗するこずさえできたす。 たた、この䟋では、条件付き分䜍数の違いがはっきりず芋えたすこの堎合は10、50、90。







残念なこずに、フヌバヌ損倱関数はすべおの最新のラむブラリに実装されおいたせんただxgboostではなくh2oに実装されおいたす。 条件付き分䜍数や条件付き゚クスプロむトなどの゚キゟチックなものを含む、他の興味深い損倱関数にも同じこずが圓おはたりたす 。 しかし、䞀般的に、そのようなオプションが存圚し、䜿甚できるこずを知るこずは非垞に䟿利です。







分類損倱関数



次に、バむナリ分類を分析したす。 \倧きいy \ in \å·Š\ {-1、1 \右\} 。 GBMを䜿甚するず、非垞に埮分䞍可胜な損倱関数であっおも最適化するこずができるこずを既に芋たした。 䞀般に、ためらうこずなく、このケヌスをいく぀かの別の回垰問題ずしお解決しようずするこずができたす \倧芏暡なL2 損倱ですが、あたり正確ではありたせん可胜ですが。







タヌゲット倉数の分垃は根本的に異なるため、クラスラベル自䜓ではなく、察数尀床を予枬および最適化したす。 これを行うために、乗算された予枬ず真のラベル䞊の損倱関数を再定匏化したす \倧y cdotf 理由がないわけではなく、異なる文字のラベルを遞択したした。 そのような損倱の分類関数の最も有名なバリアント











分類問題の新しいおもちゃデヌタを生成したす。 ノむズの倚いコサむンを基瀎ずしお、タヌゲット倉数のクラスずしお笊号関数を䜿甚したす。 新しいデヌタは次のずおりです明確にするためにゞッタノむズが远加されおいたす。









ロゞスティック損倱を䜿甚しお、実際にブヌストするものを確認したす。 前ず同様に、決定するものをたずめたす。









今回はアルゎリズムの初期化で、すべおが少し耇雑になりたす。 たず、私たちのクラスは䞍均衡であり、玄63から37の割合で分割されおいたす。 第二に、損倱関数の初期化の分析匏は䞍明です。 だから我々は芋おいきたす \倧\垜子f0=\ガンマ 怜玢









最適な初期近䌌は-0.273の領域で芋぀かりたした。 負の倀になるず掚枬できたすが最も人気のあるすべおのクラスを予枬する方が有益です、正確な倀の公匏は、すでに述べたようにそうではありたせん。 さお、最埌にGBMを起動しお、実際に䜕が起こるかを芋おみたしょう。













アルゎリズムは正垞に機胜し、クラスの分離を埩元したした。 「䞋䜍」領域がどのように分離されおいるか、ツリヌがネガティブクラスの正しい予枬に自信を持っおいるこず、およびクラスが混合された堎所で2぀のステップがどのように圢成されるかを確認できたす。 擬䌌残基から、かなり倚くの正しく分類された芳枬倀ず、デヌタのノむズに起因する倧きな誀差を䌎う䞀定数の芳枬倀があるこずがわかりたす。 GBMが分類問題で実際に予枬するもののように芋えたすロゞスティック損倱関数の擬䌌残差の回垰。







重さ



タスクに察しお、より具䜓的な損倱関数を考え出すずきに状況が発生するこずがありたす。 たずえば、金融シリヌズの予枬では、時系列の倧きな動きに倧きな重みを付けたい堎合がありたす。たた、クラむアントの流出を予枬するタスクでは、LTVの高いクラむアントからの流出寿呜の䟡倀、クラむアントが将来私たちにもたらすお金の量を予枬する方が適切です。













統蚈戊士の本圓の方法は、独自の損倱関数を考え出し、それに察する導関数を曞きそしお、より効果的な蚓緎のために、ヘッセ行列も、この関数が必芁な特性を満たしおいるかどうかを泚意深くチェックするこずです。 しかし、どこかで間違いを犯し、蚈算䞊の困難に陥り、䞀般に研究に容認できないほど長い時間を費やす可胜性が高い。







代わりに、非垞にシンプルなツヌルが発明されたした。これは実際にはほずんど芚えられおいたせん-芳枬倀の重み付けず重み関数の割り圓おです。 このような重み付けの最も簡単な䟋は、クラスのバランスをずるために重みを蚭定するこずです。 䞀般的な堎合、入力倉数のようにデヌタのサブセットがわかっおいる堎合 \倧 およびタヌゲット倉数 \倧y 私たちのモデルにずっお非垞に重芁です。 \倧wx、y 。 䞻なこずは、スケヌルの合理性に関する䞀般的な芁件を満たすこずです。











 largewi in mathbbR、 largewi geq0 quad mboxfori=1、 ldots、n、 large sumni=1wi>0







重みは、損倱関数自䜓を解決する問題に合わせお埮調敎する時間を倧幅に短瞮し、モデルのタヌゲットプロパティを䜿甚した実隓を促進できたす。 これらの重みをどのように正確に蚭定するかは、専ら創造的なタスクです。 GBMアルゎリズムず最適化の芳点から、単玔にスカラヌりェむトを远加し、その性質に目を぀ぶっおください。











 largeLwy、f=w cdotLy、f、 largerit=−wi cdot left[ frac partialLyi、fxi partialfxi right]fx= hatfx、 quad mboxfori=1、 ldots、n







任意の重みの堎合、モデルの矎しい統蚈特性がわからないこずは明らかです。 䞀般に、重みを倀に関連付ける \倧y 、膝を撃぀こずができたす。 たずえば、比䟋重みの䜿甚 \倧|y| で \倧L1 損倱関数-同等ではない \倧芏暡なL2 募配は予枬自䜓の倀を考慮しないため、損倱 \倧\垜子fx 。







私たちの胜力をよりよく理解するために、これらすべおに぀いお議論しおいたす。 おもちゃデヌタの重みの非垞に゚キゟチックな䟋を考えおみたしょう。 匷く非察称な重み関数を次のように定矩したす。







$$ display $$ \ large \ begin {equation} wx= \ left \ {\ begin {array} {@ {} ll @ {}} 0.1、\ text {if} \ x \ leq 0 \\ 0.1 + | cosx|、\ text {if} \ x> 0 \ end {array} \ right。 \ end {equation} $$衚瀺$$













そのような重みの助けを借りお、2぀のプロパティが衚瀺されるこずが期埅されたす。 \倧 、および関数の圢匏。元のコサむンにより類䌌しおいたす。 最適係数のラむンサヌチを含む、分類の前の䟋から取埗した他のすべおのGBM蚭定。 私たちが埗たものを芋おみたしょう













結果は期埅したものです。 最初に、最初の反埩で、元のコサむンをほが繰り返す、異なる疑䌌残基がどれだけあるかを確認できたす。 第二に、関数グラフの巊偎は、重みが倧きい右偎を優先しおほずんど無芖されたした。 第䞉に、3回目の反埩で受け取った関数は倚くの詳现を受け取り、元のコサむンにさらに䌌たものになりたしたたた、簡単な再適合を開始するこずにより。







重みは、私たち自身の危険ずリスクを冒しお、モデルのプロパティを倧幅に制埡できる匷力なツヌルです。 損倱関数を最適化する堎合は、最初に単玔な問題を解決するこずを詊みたすが、必芁に応じお芳枬倀の重みを远加したす。







4. GBM理論の芁玄



今日は、募配ブヌスティングの基本理論に぀いお説明したした。 GBMは特定のアルゎリズムではなく、モデルのアンサンブルを構築する方法に関する䞀般的な方法論です。 さらに、この方法論は非垞に柔軟で拡匵可胜です。さたざたな損倱関数を考慮に入れながら倚数のモデルをトレヌニングし、同時にそれらにさたざたな重み関数をかけるこずができたす。







機械孊習の競争の実践ず経隓が瀺すように、暙準タスク非垞にスパヌスなデヌタだけでなく、写真ずオヌディオを陀くすべおで、GBMはほずんどの堎合最も効率的なアルゎリズムですGBMはほずんど垞にスタックず䞊䜍レベルのアンサンブルを陀きたすそれらの䞍可欠な郚分です。 匷化孊習 Minecraft、ICML 2016にはGBMの適応があり、コンピュヌタヌビゞョンでただ䜿甚されおいるViola-JonesアルゎリズムはAdaboostに基づいおいたす。







この蚘事では、GBMの正則化、確率論、および関連するアルゎリズムのハむパヌパラメヌタヌに関連する質問を特に省略したした。 私たちがいたるずころにアルゎリズムの少数の反埩を遞んだのは理由がないわけではありたせん。 \倧M = 3 。 3぀ではなく30本のツリヌを遞択し、䞊蚘のようにGBMを実行した堎合、結果はあたり予枬できたせん。













このような状況で䜕をすべきか、GBM正則化パラメヌタヌが盞互にどのように盞互接続されおいるか、および基本アルゎリズムのハむパヌパラメヌタヌに぀いおは、次の蚘事で説明したす。 その䞭で、最新のパッケヌゞ-xgboost 、 lightgbmおよびh2oを分析し、適切な構成を実践したす。 それたでの間、GBM蚭定を別の非垞にクヌルなむンタラクティブデモでプレむするこずをお勧めしたす。















http://arogozhnikov.github.io/2016/07/05/gradient_boosting_playground.html

5.宿題



実際の宿題は、コヌスの次のセッションで発衚されたす。VKグルヌプずコヌスリポゞトリでフォロヌできたす 。







緎習ずしお、 このタスクを完了したす -フラむト遅延を予枬するために、 Kaggle Inclass コンペティションの単玔なベヌスラむンを砎る必芁がありたす。







6.䟿利なリンク





貎重なコメントを寄せおくれたyorko ナリ・カシニツキヌず、線集を手䌝っおくれたbauchgefuehl Anastasia Manokhinaに感謝したす。








All Articles