【機械学習基礎】ランダム森林アルゴリズム

3436 ワード

導入
以前に学習した2つのアルゴリズムを振り返ると、Baggingアルゴリズムではbootstrappingによって異なるデータが得られ、これらのデータが1つの基本アルゴリズムに送られた後、異なるgが得られ、最後にこれらのgを平均してGが得られる.決定ツリーアルゴリズムでは,再帰的にサブツリーを構築し,最終的に完全なツリーを得る.この2つのアルゴリズムには鮮明な特徴があり、決定ツリーは異なるデータに対して相対的に敏感である.すなわち、そのアルゴリズムのvarianceは大きいが、Baggingの特徴は投票と平均的な方法でvarianceの効果を低下させることである.この2つの方法を組み合わせると、この文書で紹介するランダムな森、random forestです.
1.ランダム森林アルゴリズム
ランダム森立アルゴリズムの「ランダム」という言葉はBaggingのbootstrappingによって異なるデータを得て、さらに現れるランダム性を指し、このデータをCARTアルゴリズムの訓練に送って木を得て、最後に得られた木を平均して最終結果を得る.
並列計算の可能性:ランダム森林アルゴリズムはBagging過程から異なるコンピュータに割り当てられて計算することができ、各コンピュータは独立して1本の木を学ぶことができ、異なる木の間には依存関係がない.これによりBaggingプロセスの並列化が容易になる.
2.フィーチャー投影(Feature Projection)
Baggingアルゴリズムでは,bootstrapにより元のデータをサンプリングし,異なるデータセットを得,異なるgを生成する.ランダム森林のアルゴリズムでは,データセットで抽出するほか,特徴という角度で抽出することもできる.例えば、事前に100の特徴があれば、10の特徴を抽出して木を訓練することができます.このような方法では、分類の基準も明らかに異なります.このような特徴抽出方式は,元の特徴の100次元においてランダムに10次元を選択することに相当し,これは1つの特徴変換に等価であり,この過程で100次元から10次元への変換では低次元の投影(Projection)を行ったことに相当する.得られた特徴は実際には元の特徴のランダムサブセットであり,これによりモデル生成過程における効率も大幅に向上した.
3.フィーチャー拡張(Feature Expansion)
上述した特徴投影は、従来の特徴ベクトルに投影マトリクスΦ(x) = P·xを左乗することに等しく、得られた特徴サンプリングはランダムに選択された元の特徴である.より複雑で能力のある投影方法を試してみることができます.より能力のある特徴投影は,単一次元の特徴を単一に選択するのではなく,複数次元の特徴を組み合わせて,特徴拡張と呼ばれる新しい次元の特徴を得ることである.
4. Out-Of-Bag Estimate
bootstrappingの過程で、out-of-bag(OOB)examplesと呼ばれるデータが選択されていない場合があります.訓練の各gtについて、「」で表記されたデータはgtのOOB examplesです.
次の式は、N'回の選択後に選択されなかったデータであり、約(1/e)N以上のデータが選択されていない、すなわち約3分の1のデータが選択されていない.これらのデータは、モデルを訓練するために使用されていないため、モデルの検証に使用することができる.
ランダム森林のアルゴリズムでは,gの能力が悪くても,最終的に平均化して得られるGの性能が良好である可能性があるため,OOBデータを用いて各gの性能を検証する必要はあまりない.しかし、これらのOOBデータはGの性能を検証するために使用することができる.
上の図において、(xN,yN)というデータは、g 2,g 3,gTのトレーニングデータに用いられていないため、それらの検証データとして用いることができる.したがって(xN,yN)はG-の検証データとして用いることができ,そのうちG-(x)=average(g2, g3, gT) .
以下にOOB Error(Eoob)の式を示し,GのOOB Errorの推定は異なるG−によって平均化されるので,bootstrapの過程でモデルの性能の良し悪しを自分で検証することができ,専門的な検証データとして1つのデータを個別に分割する必要はない.
ランダム森林アルゴリズムにおいてOOB Errorを用いて検証する方法を以下に示す.
5.フィーチャー選択(Feature Selection)
次に説明するフィーチャー選択は、主にプログラムを使用して必要なフィーチャーを自動的に選択し、冗長で関連のないフィーチャーを無視することを目的としています.利点:特徴選択は不要な特徴を捨てたため、モデルの複雑度が大幅に低下し、仮定を簡略化し、予測時間を短縮することができる.同時に、特徴的なノイズを捨てることで、モデルの汎化能力を高めることができ、モデルがノイズにフィットしにくい.最後に,選択した特徴は良好な物理的意義を有するため,その結果は良好に解釈できる.欠点:特徴の選択計算量が大きい;選択した特徴がノイズであれば、オーバーフィットを招く可能性があります.ノイズ特性が選択されると、得られた解釈は、因果性ではなく、データ内の関連性にすぎない可能性がある.
5.1 Permutation Test
上記の特徴選択がどのように特徴の組み合わせを選択するかという問題を解決するために,我々は,特徴間の相関関係をしばらく考慮せずに,特徴ごとに点数をつけ,特徴の重要性を表し,次に重要度に従って並べ替え,最も重要な前K個の特徴を選択して選択した特徴である.ランダムフォレストアルゴリズムは非線形モデルであるため,単純に線形モデルにおける重みを特徴の重要性を測る基準とすることはできないので,以下で紹介するPermutation Testと呼ばれる方法で特徴の重みを判別する.
Permutation Testの手法は,i番目の次元の特徴のすべてのデータをランダムに位置を再調整し,元のデータと調整後のデータ表現の差を比較して,この次元の特徴がどれほど重要であるかを評価することである.
5.2 Out-Of-Bag Estimate過程でPermutation Testを行う
ランダム森林ではOOBを検証の代わりに使用することができ,Permutation Testがもたらす再訓練の代価を簡略化するために,OOB Example(bootstrap過程で選択されていないデータ)を用いて検証する過程で,検証時にPermutation Testを行い,訓練時ではなく検証時に行うように修正した.Eoob(G)を求める時、私達はG-(xn)を通じて計算して、私達はここでx(n)x(n,i)に修正して、Gに対して修正する必要はありません.
実際の応用では,非線形性の問題に直面した場合,ランダム森林法により初歩的な特徴選択を行うことができる.
参考資料
機械学習技術課程、林軒田、台湾大学
転載は作者Jason Dingとその出所GitCafeブログホームページを明記してください(http://jasonding1354.gitcafe.io/)Githubブログホームページ(http://jasonding1354.github.io/)CSDNブログ(http://blog.csdn.net/jasonding1354)ホームページ(http://www.jianshu.com/users/2bd9b48f6ea8/latest_articles)Google検索jasonding 1354私のブログのホームページに入ります