?機械学習|アルゴリズムのノートブック - 総合学習(アンサンブル学習)

序文

コード例を伴うことは、理解しやすい始めるためにしながら、この機械学習アルゴリズムの見直しのシリーズとは、明快精巧なアルゴリズム理論の目的をまとめます。

ディレクトリ

   直線回帰
   K-手段
 
この章では、総合学習、これらの組合せのアルゴリズムを高める簡単な紹介ブートストラップ、バギング、ブースト、AdaBoostの、ランダムフォレストとグラデーションです。

1.Bootstrapping

ブートストラップ:名フレーズ「あなた自身のブートストラップによってプルアップ」から来て 、 サンプリング方法に戻すの一種である自助法と呼ばれる独自のリソースに依存している意味は、それが重要な統計でノンパラメトリック統計的推定値でありますこれ区間推定の統計的方法を分散。次のように核となるアイデアと基本的な手順は以下のとおりです。

(1)試料中の元のサンプル(自分自身を与えられる)から一定量を抽出するリサンプリング技術を、このプロセスを繰り返しサンプリングを可能にします。
T.取り出した試料に基づいて、(2)指定された統計量計算
(3)の上方には、N統計量Tを得るために、N回(1,000より一般的に大きい)を繰り返しました。
(4)分散統計を得るためにN Tの標本分散の統計を計算します。

現代の統計がより普及し、統計的方法は、少量のサンプルでよく働くブートストラップすることを指摘しておかなければ。信頼区間は、さらなる使用の範囲を拡張する推定分散、によって構成することができます。

2.袋詰め袋詰め

袋詰めのアルゴリズムは、より多くの専門家に相当し、各サンプルを繰り返してより多くの結果と予測返され、いくつかのテストのために投票しました。

袋詰めアルゴリズム記述

モデルの生成は、
    N個のトレーニングデータのインスタンスの数であるとする
    すべてのT現在のサイクルのため
        の訓練データのサンプルNのインスタンス
        に適用された本研究のサンプル
        モデルの格納された結果
分類
    Tモデルのそれぞれについて
        例を予測するためにモデルを使用します
    リターンの最大数が予測

袋詰め:略語をバギング。アルゴリズムを学習した後のトレーニングラウンド、最初のトレーニングセットからなるnの学習サンプルのうちの最初のランダムからの集中トレーニングでトレーニングセットの各ラウンドは、ラウンド中に複数回現れることができるようにまたは訓練で、訓練ができます表示されません。予測関数を得るためのシーケンス

予測関数H分類問題の最終的な採択投票用いて回帰の単純平均法新しい例は区別するために。

[R分類器は、他の異なるパラメータの分類間で同じであり、訓練を受けたf_i。前記(バック服用後)トレーニングセットからランダム(N紙文書)を介してのf_i得N番目の文書からなるトレーニングセットをトレーニングします。このR分類器を使用して新しい文書dは、Dの最終的カテゴリーとしてそのカテゴリにまで取得するには、分類するため。]

scikit-学ぶ試験方法を袋詰めを使用します

sklearn.ensemble インポートBaggingClassifier
 から sklearn.neighbors インポートKNeighborsClassifierの
袋詰めを= BaggingClassifier(KNeighborsClassifier()、
... max_samples = 0.5、max_features = 0.5)

3.充実向上とアダブースト

アルゴリズム記述を強化

モデルの生成
    、各インスタンスに同じトレーニングの重みを与える
    :各サイクルのトン
        右側にデータセットを追加し、モデルの結果格納する学習アルゴリズム
        を追加重量のデータ誤差eの計算モデルをして保存しますエラー
        結果が0の0に等しい以上の電子に等しい5 
            終了モデル
        データセットの各インスタンスのために:
            正しく分類するモデルのインスタンス場合に
                加重値が乗算例であるE /(1 - e)の
        すべてのインスタンスは、重みを正規化
分類
    重量クラス所与は、すべて0で
    各T用(又はT未満)のモデルは、次のとおり
        モデル予測加重 -log(E /(1 - E))
    最高の重みを持つクラスを返します

このモデルは、補完的な専門家のシリーズを生成するための巧妙な方法を提供します。

ブースト:これらの中で最高経営責任者であるのAdaBoost(適応ブースト、適応高めます)。再初期化1 / Nに等しいを構成する各トレーニングの実施形態の重みの、トレーニングTラウンドのトレーニングセットに次に学習アルゴリズム、トレーニング後、トレーニングケースの訓練は、より大きな重みを付与失敗、すなわち学習アルゴリズムよう濃縮コントラスト後続の学習困難トレーニング例は、予測関数シーケンス得るために学習されるHを1 Hのm個のH1、⋯、H_Iも一定量を有するHM、良好な予測関数より大きな重量の予測効果その逆に小さいです。右の最終予測関数H多用は区別するために、新たなサンプルの回帰の加重平均法を使用して、分類の仕方を投票します。

理想的モデルを強化するために、これらのアルゴリズムは、他のモデルを補完するものであるパフォーマンスのこの部分では他のモデルは非常に良好ではなかったしながら、幹部はちょうどそれらの補完的なスキルと経験を見つけるために持っているように、各モデルは、この分野の専門家でありますむしろ反復よりコンサルタント、。これは差別とアルゴリズムを袋詰め。

 

違いを袋詰めし、後押し

両者の主な違いは、異なるサンプリング方法バギング用いて均一なサンプリングを、そして記載昇圧サンプリングエラーレートに、このようにバギングより良好の分類精度を高めます。重みのない予測関数の袋詰め、昇圧は体重を受ける権利がある;トレーニングセットを袋詰めすると、関連する各車輪の各車輪前回の学習結果を設定し、選択しboostlngトレーニング互いの車輪トレーニングセットから独立して、ランダムで選択します予測関数のバギングが並行して生成することができ、昇圧機能の各々は、予測次数を生成することができます。ニューラルネットワークなどの方法を学ぶために非常に時間がかかります。袋詰めはパラレル訓練によって、時間のオーバーヘッドを大幅に節約することができます。

袋詰めし、効果的な分類の精度を向上させることができます高めます。ほとんどのデータ・セットには、袋詰めよりも高い精度を高めます。いくつかのデータセットでは、原因の劣化を後押し - オーバーフィットします。

改良された方法は、テキスト分類は非常に良好な性能を持っている、電子メールフィルタリングの考えを後押しのAdaBoost。

(またマート、Treenetとして知られている)後押しグラデーション:ブーストはアイデアです、グラデーションブーストブーストは、主要なアイデアは、すべてのモデルは、前モデルに基づいて構築されていることである達成するための方法である勾配降下方向の損失関数損失関数(損失関数)モデルを飛行しない範囲を記載して、より大きな損失関数は、次にモデルは、エラーを起こしやすくなります。我々のモデルは衰退の期間の機能の喪失をすることができる場合は、常に我々のモデルを改善し、最善の方法は、することですその勾配(勾配)の方向における損失の機能低下をしましょう

scikit学習アルゴリズムのテストのAdaBoostを使用します

sklearn.cross_validationのインポートcross_val_score
 から sklearn.datasets インポートload_irisを
 から sklearn.ensemble インポートAdaBoostClassifier
虹彩= load_iris()
 CLF = AdaBoostClassifier(n_estimators = 100 スコア= cross_val_score(CLF、iris.data、iris.target)
)(scores.mean                             
 0.9 ...

4.Randomの森

森ランダム:ランダムフォレストは、定義により、ランダムな方法で森の確立で、林木の組成物の多くがあり、それぞれランダムな決定木の森との間に関連はありません。森を取得した後、そこにあるときに、新たな入力サンプルを聞かせて、各決定木を判断しようとした森を入力し、このサンプルを見ては、(分類アルゴリズムのための)どのカテゴリに属し、その後、参照すべきクラスまで選択、それがこのサンプル・クラスと予測されます。-各決定木を確立する過程では、注意するには、2つのポイントがあるサンプリング完全に分割はまず、2つのランダムサンプリング手順、ランダムフォレスト入力データは、行と列サンプリングします。サンプリングラインのために、バック方法が採用されている、つまり、サンプリングによって得られたサンプルのセットは、重複サンプルが存在してもよいです。N個のサンプルのサンプルはまた、N個のサンプルの入力を想定します。その結果、各ツリーの訓練入力サンプルは、オーバーフィッティング比較的やすいそのような試料の全てではない場合。カラムのサンプル、次いで、M個の特徴から、Mを選択(M << M)。分割は決定木を構築する方法をサンプリングした後、完全なデータを使用するようになった後、このようなツリーのリーフノードを指しているすべてのサンプルの分類のいずれかで、分割し続けることができないのいずれかです。2個のランダムなサンプルが前工程のランダム性を確保するために、そう剪定されていない場合でも、それはオーバーフィッティングは表示されませんので、剪定、ランダムな森林はない-多くの一般的な決定木アルゴリズムは重要なステップです。 それぞれのこのランダムフォレストアルゴリズムでは非常に弱いですが、我々は非常に多く、それらを組み合わせます。ランダムフォレストアルゴリズムは、類推することがあります。それぞれが(ので、すべての決定木学習という点で、我々はM機能からMを選択しているため)、特定の狭い分野に精通し、ツリーの専門家であるので、ランダムフォレストがあるだろうさまざまな分野で多くの熟練した専門家が、新しい問題(新しい入力データ)には、さまざまな専門家が、投票結果によって最終的にそれを見て、とするために、異なる視点を使用することができます。

ランダムフォレストとの間の差を袋詰め

(1)ランダムフォレストは、入力サンプルの数と同じ回数から選択される(一つのサンプルが選択されてもよい複数回だけでなく、選択されるべきではないいくつかのサンプルを引き起こす)、及びの入力サンプルの数よりも一般に少ないバギングを選択していますサンプル;
ランダムフォレストは、訓練された分類器へのすべての機能から選択する必要の一部でありながら、(2)、すべての機能をソートする袋詰めされ、  効果を袋詰めよりも通常ランダム森より良い結果!

ランダムフォレストアルゴリズムをテストscikit、学ぶ使用

sklearn.ensemble インポートRandomForestClassifier
 X = [0、0]、[1、1 ]
 Y = [0、1 ]
 CLF = RandomForestClassifier(n_estimators = 10  CLF = clf.fit(X、Y)

5.Gradient後押し

勾配または勾配ブースティングツリー昇降回帰木(GBRT)は、任意の異なる損失関数の一般化です。GBRT回帰および分類に使用することができる高感度かつ効率的な手順です。グラデーション後押しツリーモデルは、このようなウェブ検索のランキングや社会生態学など多くの分野で使用されています。その主なアイデアは、すべてのモデルは、前勾配降下モデルの損失関数の方向であるということです。ハードビットが発音するために、この文は、関数(損失関数)の損失は、モデルの信頼性の説明はありませんが、大きな損失関数は、そのモデルは、実際には、分散、偏差不均衡問題がある(誤りを受けやすいですが、それはここで想定しています大きな機能の喪失、より多くのエラーが発生しやすいモデル)。我々のモデルは衰退の期間の機能の喪失をすることができる場合は、常に我々のモデルを改善し、最善の方法は、その勾配(勾配)の方向における損失の機能低下をさせることです。

GRBTの利点:

  • 混在データ型の自然な治療
  • 強力な予測
  • 堅牢な出力空間

ブーストすると言って、主なアイデアである「Zhicuojiugai。」グラデーションは、ブースト(それがモデルということができる)このアイデアに機能を方法を最適化することで、最初の関数は、実際には、すべての機能が付加的である(追加の形に分解することができますが、この場所は良いですフレームワーク、そしてどのように最終結果)。次に、m個の反復は、勾配方向の縮小による機能のような損失は、最終的に良好なモデルを得ま​​した。それは我々が最終的にし、「小」または「弱」モデルと考えることができる勾配方向を低減するために、モデルの各部分において、その言及する価値がある(すなわち、重み付き距離だけ下降それぞれの勾配方向)これらの「弱い」モデルは、より良いモデルを形成するために一緒にマージする方法。

 

参考:http://www.csuldw.com/2015/07/22/2015-07-22%20%20ensemble/ 

 

おすすめ

転載: www.cnblogs.com/geo-will/p/10524766.html