もっと

樹種分類のためのランダムフォレストのルールのカスタマイズ

樹種分類のためのランダムフォレストのルールのカスタマイズ


樹種分類のためにランダムフォレストアルゴリズムのルールをカスタマイズすることは可能ですか?

ランダムフォレストアルゴリズムのルールのすべての統合またはカスタマイズは、医療分野、犯罪、麻薬で行われます。

私はそれが樹種のために行われたことを発見したことがありません。

可能であれば、誰でも適切なソフトウェアを提案できますか


RandomForestsアルゴリズムは、林業でよく使用されます。私が定期的に使用しているrandomForestsアルゴリズムには2つの実装があります。 1つ目は、randomForestsパッケージを使用してRで実装されたピクセルベースの分類子です。これは、あなたが見つけそうな最も洗練された柔軟なアプローチだと思います。このルートの使用を開始するための多くのリソースがあります。次の出版物は、ジュニパーカバーを識別するために、randomForestsを含むさまざまなツリー検出アルゴリズムを使用しました。

Poznanovic、A。J.、Falkowski、M。J.、Maclean、A。L.、Smith、A。M.、およびEvans、J。S.(2014)ジュニパー森林地帯における樹木検出アルゴリズムの精度評価。写真測量工学とリモートセンシング、80(7)、627-637。

興味があるかもしれないいくつかの追加の出版物はここにあります:

Immitzer、M.、Atzberger、C。、およびKoukal、T。(2012)。非常に高い空間分解能の8バンドWorldView-2衛星データを使用したランダムフォレストによる樹種分類。リモートセンシング、4(9)、2661-2693。

Rodriguez-Galiano、V。F.、Ghimire、B.、Rogan、J.、Chica-Olmo、M。、&Rigol-Sanchez、J。P.(2012)土地被覆分類のためのランダムフォレスト分類器の有効性の評価。 ISPRS Journal of Photogrammetry and Remote Sensing、67、93-104。

2番目のアプローチは、eCognition DeveloperでのrandomForestsアルゴリズムのオブジェクト指向実装です(実際にはピクセルベースの実装もあります)。これは非常に強力なアプローチですが、ドキュメントがほとんどないため、実装が非常に困難です。私があなたに与えることができる最善のアドバイスは、eCognitionコミュニティに参加し、「CART、SVM、およびRF分類器の例(eCognition 9.0で改善)」を検索して、サンプルのルールセットを見つけることです。サンプル画像が含まれているこの例では、ピクセルベースまたはオブジェクト指向のrandomForest分類を実行する方法について説明します。


分類に決定木またはロジスティック回帰を使用する必要がありますか?

私は分類の問題に取り組んでいます。同数のカテゴリ変数と連続変数を含むデータセットがあります。デシジョンツリーとロジスティック回帰の間で、使用する手法をどのように決定しますか?

ロジスティック回帰が連続変数に適していると想定し、決定木が連続変数とカテゴリ変数の両方に適していると想定するのは正しいですか?


2回答2

線形回帰とは異なり、完全な共直線性について心配する必要がないため、n-1ではなくnレベルを持つことができることを理解しているようです。

(私はRの観点からこれに取り組んでいますが、Pythonでも同じだと思います。)これは、1)使用しているパッケージ、2)使用しているファクターレベルの数など、いくつかの要因によって異なります。

1)RのrandomForestパッケージを使用している場合、&lt33ファクターレベルがある場合は、必要に応じて1つの機能に残しておくことができます。これは、Rのランダムフォレストの実装では、分割の一方の側にどの要素レベルがあり、もう一方の側にどの要素レベルがあるかを確認するためです(たとえば、5つのレベルが左側でグループ化され、7つがグループ化される場合があります)。一緒に右側)。カテゴリ機能をn個のダミーに分割した場合、アルゴリズムではこのオプションを自由に使用できません。

明らかに、使用している特定のパッケージがカテゴリ機能を処理できない場合は、n個のダミー変数を作成する必要があります。

2)上で触れたように、Rのランダムフォレストの実装は32の因子レベルしか処理できません-それ以上ある場合は、因子をより小さなサブセットに分割するか、レベルごとにダミー変数を作成する必要があります。


他のモデルと比較して、ランダムフォレストは過剰適合する可能性が低くなりますが、それでも回避するために明示的な努力をしたいものです。モデルパラメータの調整は、過剰適合を回避するための1つの要素ですが、それだけではありません。実際、特にランダムフォレストでは、トレーニング機能がモデルパラメータよりも過剰適合につながる可能性が高いと言えます。ですから、重要なのは、モデルを評価して何よりも過剰適合をチェックするための信頼できる方法を持っていることだと思います。これが2番目の質問につながります。

上で示唆したように、相互検証を実行すると、過剰適合を回避できます。 CVの結果に基づいて最適なモデルを選択すると、過剰適合していないモデルになります。これは、バッグから出たエラーなどの場合に必ずしも当てはまるとは限りません。 RでCVを実行する最も簡単な方法は、キャレットパッケージを使用することです。簡単な例を以下に示します。

@ xof6は、モデルの深さが深いほど過剰適合する傾向があるという意味で正しいですが、役立つ可能性のあるパラメーターをいくつか追加したいと思います。 Rでどのパッケージを使用しているかわかりません。また、Rについてはまったく詳しくありませんが、これらのパラメーターに対応するものが実装されている必要があると思います。

樹木の数-この数が多いほど、森林が過剰適合する可能性は低くなります。これは、各決定木がトレーニングデータのある側面を学習しているため、いわば、より多くのオプションから選択できることを意味します。特徴の数-この数は、個々のツリーが学習する特徴の数を構成します。この数が増えると、ツリーはますます複雑になるため、テストデータにはない可能性のあるパターンを学習しています。適切な値を見つけるにはある程度の実験が必要ですが、それは機械学習です。前述したように、一般的な深さも試してみてください。

これはstackexchangeでの素晴らしいリンクですが、私の一般的な経験では、モデルの深さが深いほど、モデルがオーバーフィットする傾向があります。


2回答2

スケーリングすると、過剰適合になります。決定木は、深くなるにつれて過剰適合する傾向があります。分割するたびに、次の分割で使用するサンプルがますます少なくなります。サンプルが少ないということは、ノイズで分裂するリスクが高まることを意味します。

ランダムフォレストは、1つの大きなツリーを構築する代わりに、ツリーを追加してスケーリングすることにより、決定木の過剰適合の問題を回避します。森林内の樹木の出力を平均化することは、個々の樹木が過剰適合しているかどうかはそれほど重要ではないことを意味します。

あなたのアップデートについて。いいえ、同じスコアにはなりません。ランダムフォレストには、決定木が1つだけではありません。いくつかあり、トレーニング対象のツリーごとに機能をランダムなサブセットに分割します。したがって、ランダムフォレスト内の決定木のサイズが単一の決定木と同じであっても、それらがトレーニングされる機能はそうではありません。

しかし、ランダムフォレストを取得した場合にどうなるかを尋ねると、1つのツリーのみを使用し、同じサイズの単一の決定木と同じ機能でトレーニングします。そうすれば、それらは同じになります。


複雑な土壌マップユニットの空間的分解:バイエルンの森林土壌における決定木ベースのアプローチ

土壌の空間分布に関する詳細な知識は、環境の監視、管理、およびモデリングにとって非常に重要です。ただし、多くの場合、土壌に関する利用可能な情報は、離散土壌マップユニットの数が有限である土壌マップだけです。地図の縮尺や凡例の詳細によっては、この情報が不正確すぎる可能性があります。マップユニットの空間分解の方法、つまり2つ以上の土壌タイプが集約された複雑な土壌マップユニットの改良方法を紹介します。私たちの目的は、マップポリゴン内に新しい境界を描画して、単一の土壌タイプを表し、複数の土壌タイプが混在しないようにすることです。私たちの方法の基本的な考え方は、カテナの概念で定式化された土壌タイプと地形的位置の間の機能的関係です。ランダムフォレストモデルを使用して土壌タイプを分類するための入力データとして、包括的な土壌プロファイルデータベースと10m数値標高モデルから導出された地形属性を使用します。土壌タイプの同じ組み合わせを持つすべての複雑なマップユニットをグループ化しました。マップユニットの各グループは個別にモデル化されます。土壌タイプを予測するために、土壌マップをこれらのグループに階層化し、特定のランダムフォレストモデルを関連するマップユニットにのみ適用します。信頼できる結果を得るために、特定の土壌タイプを割り当てるために、0.7で予測確率のしきい値を定義します。考えられるすべての土壌タイプの確率が0.7未満の領域では、モデルが不特定の分類を行うだけなので、新しいクラスを「無関心」に割り当てます。私たちの結果は、元の土壌ポリゴンの大幅な空間的改良を示しています。私たちの予測の検証は、現場での予測に続いて収集された1812の独立した土壌プロファイルで推定されました。フィールド検証により、全体の精度は70%になりました。浅い土壌が深い土壌と一緒にグループ化されたマップユニットは、最もよく分離することができました。また、ヒストソルは成功すると予測できます。最も高いエラー率は、Gleysoilsが深い土壌またはAnthrosolsと一緒にグループ化されたマップユニットで見つかりました。結果の妥当性を確認するために、各予測変数の変数の重要度を計算し、応答曲面をプロットすることにより、ブラックボックスのランダムフォレストモデルを開きます。地形が土壌タイプの空間配置に大きな影響を及ぼし、これらの関係を分解に使用できるという仮説の良い確認が見つかりました。

ハイライト

►複雑な土壌図ユニットは空間的に分解されました。 ►土壌タイプを分類するための予測因子としての地形情報。 ►信頼できる結果を生成するために、クラス確率のしきい値が使用されました。 ►妥当性チェックに役立つツールとしての変数の重要度と応答曲面プロット。


シミュレートされたデータセットの結果

繰り返しごとに、ブートストラップ交差検証済みの統合ブライアースコアが記録されました。次に、以下に示すように箱ひげ図を使用して結果を報告します。

図1は、バイナリ共変量でシミュレートされた6つのデータセットすべてのRSF1、RSF2、およびCIFモデルの予測誤差の箱ひげ図を示しています。一般に、すべてのモデルはデータセットに対して良好な予測パフォーマンスを示します。これは、すべての予測誤差値が50%のカットオフポイントを下回っているためです。ただし、2つのランダムサバイバルフォレストとCIFモデルの間には、無視できない予測パフォーマンスのいくつかの固有の違いがあります。データ1では、CIFモデルの予測誤差はRSF1とRSF2の誤差値の間に挟まれています。残りの5つのデータセットのCIFモデルの予測誤差値は、RSF1およびRSF2モデルの予測誤差値と比較して最も低くなっています。 3つのモデルのエラー値の箱ひげ図はほぼ対称に見えます。したがって、結果は、2つのランダムサバイバルフォレストと条件付き推論サバイバルフォレストモデルの予測パフォーマンスが、バイナリ共変量のみを使用したシミュレートされたイベントまでの時間データのパフォーマンスで類似または同等であることを示しています。図2は、エラー値が50%マークを下回っているため、3つのモデルすべてが6つのデータセットすべてで良好な予測パフォーマンスを示していることを示しています。 CIFモデルの予測誤差値はデータ1のRSF2の予測誤差値と同等であるように見えますが、モデルの誤差値は、残りの5つのデータセットのRSF1およびRSF2と比較して最も低くなっています。 CIFモデルは、多くの分割点を持つ共変量が存在する場合、ランダムサバイバルフォレストモデルよりもパフォーマンスが優れていることが知られているため、これは驚くべきことではありません。

バイナリ共変量を使用してシミュレートされたデータセットの予測パフォーマンス

多変量共変量を含むシミュレートされたデータセットでの3つの生存林モデルの予測パフォーマンス

図3の箱ひげ図を使用して提示された結果は、バイナリ共変量と多変量共変量の両方を持つようにシミュレートされた6つのデータセットでのRSF1、RSF2、およびCIFモデルの予測誤差を示しています。 6つのデータセットすべてで、CIFモデルの予測エラー率が最も低くなっています。これは、条件付き推論フォレストには、共変量の選択と分割点の検索方法が原因で、多くの分割点を持つ共変量が存在する場合の予測に追加の利点があるためです。

バイナリおよびポリトマス共変量を使用したシミュレートされたデータセットの予測パフォーマンス

図4は、共変量の交互作用を使用してシミュレートされたイベントまでの時間データに対する3つのサバイバルフォレストモデルの予測パフォーマンスの箱ひげ図を示しています。 CIFモデルの予測誤差値は、6つのデータセットすべてで最も低くなっています。共変量の交互作用は、いくつかの共変量が多くの分割点を持つようにシミュレートされるため、CIFモデルのパフォーマンスの優位性は驚くべきことではありませんでした。

共変量相互作用のあるシミュレートされたデータセットでの3つの生存林モデルの予測パフォーマンス

一般に、3つのサバイバルフォレストモデルはすべて、統合されたブライアスコアのブートストラップ交差検定推定に基づいた優れた予測パフォーマンスを備えています。ただし、上記で説明したように、シミュレートされた各データセットの各モデルのパフォーマンスにはいくつかの違いがあります。要約すると、条件付き推論フォレストは、特に多変量共変量を含むイベントまでの時間データセットで、2つのランダムサバイバルフォレストモデルと比較して優れた予測パフォーマンスを持っていることが示唆されます。このモデルは、バイナリ共変量を使用してシミュレートされたイベントまでの時間データセットの分析において、予測パフォーマンスがランダムサバイバルフォレストモデルに匹敵します。


結論

病気の診断に眼球運動情報を活用するために、AI技術が自己学習と特徴抽出に適用されます。特徴は、教師あり学習アルゴリズムによって評価され、自動的に選択されます。眼球運動のビデオが記録されている間、視線追跡のために被験者を導くために、さまざまな実験スキームが設計されました。瞳孔は画像処理によって検出され、さまざまな独自の眼球運動の特徴が得られます。元の特徴ごとに、LSTM分類器が確立され、分類結果は進化的特徴として扱われ、決定木とRFの構築に適用されます。 RFを構築するプロセスは、サンプルラベルによって導かれる眼球運動特性の評価と選択の有効性を反映しています。実験結果はまた、この方法の効率を実証し、病気の診断におけるAI技術の研究価値と展望を大いに奨励します。


結論

ランダムフォレストを使用して、偏りのない空間予測を生成し、不確実性をモデル化およびマップできることを示しました。いくつかの標準的な教科書データセットを通じて、RFspを使用して生成された予測は、同等の線形地球統計モデルと同等に正確であることが多いことを示しました(繰り返しの相互検証に基づく)。ただし、ランダムフォレストと線形地球統計モデリングおよびクリギングなどの手法の利点は、定常性の仮定に従う必要がなく、変換または異方性パラメーターを指定する必要もない(またはバリオグラムを適合させる必要がない)という事実にあります。 。

これにより、RFは自動マッピングアプリケーションにとって非常に魅力的です。特に、ポイントサンプリングが代表的であり(外挿が最小化)、ターゲット変数、共変量、および空間依存構造間の関係が複雑で非線形であり、局所的なソリューションが必要な場合です。一方、RFspを使用することのいくつかの重大な欠点は、入力データの品質と外挿の問題に対する感度です(図14)。 RFspフレームワークの成功の鍵は、トレーニングデータの品質、特に空間サンプリングの品質(外挿の問題やデータのあらゆる種類のバイアスを最小限に抑えるため)、およびモデル検証の品質(過剰適合によって精度が影響を受けないようにするため)である可能性があります。 )。

上記の説明に基づいて、製造コストを節約しながらRFspを使用して最大のマッピング精度を生成するための最短パスとして、図15で説明した2段階のフレームワークを推奨できます。最初の段階では、初期サンプルを使用してモデルパラメータの推定値を取得し、この初期情報を使用して予測を最適化し(2番目の段階)、最小限の追加投資でマッピングの目的を達成できるようにします。ただし、図15のフレームワークは、客観的にサンプリングされた初期サンプルが(ちょうど)十分にあり、RFエラーマップが信頼できる、つまり正確であり、ロバストな交差検定が使用され、信頼できるRMSE減衰関数があることを前提としています。単純な減衰関数をさらに拡張して、目的も含めることができます '冷却' たとえば、Brus&amp Heuvelink(2007)で使用されている関数ですが、これらは計算強度を高める可能性があります。 2段階サンプリングはすでに文献でよく知られています(Hsiao、Juang&amp Lee、2000 Meerschman、Cockx&amp Van Meirvenne、2011 Knotters&amp Brus、2013)。2段階サンプリングのさらなる最適化と自動化は、運用にとって非常に興味深いものになる可能性があります。マッピング。

図15:RFspに基づいて空間予測を最適化するために推奨される2段階の精度駆動型フレームワーク(式(18)も参照)。

連続変数から因子型変数まで、および複数の共変量を伴う純粋な空間問題から時空間問題まで、さまざまな予測マッピング問題にRFを実装する方法に関する包括的なガイドラインを提供しましたが、空間シミュレーションの導出など、方法論的な課題も数多くあります。 、RFspが予測マッピングのために完全に機能するようになる前に解決される、大きなポイントデータセットのバッファ距離の導出、外挿問題の削減など。それまでは、いくつかの従来の地球統計学的手法が依然として望ましい可能性があります。


ランダムフォレスト-条件付き順列の重要性

入力特徴間に相関がある場合、ランダムフォレストの特徴の重要性を見つけるための最も偏りのないアルゴリズムを探していました。

最も一般的に好まれる方法論に加えて ジニ-不純物の減少、ドロップカラムの重要性および順列の重要性、与えられた記事で、条件付き順列の重要性と呼ばれるアルゴリズムを見つけました:(https://bmcbioinformatics.biomedcentral.com/articles/10.1186/1471-2105-9-307#Sec8)

を計算するための手順 条件付き順列の重要性 このような記事で与えられています:

  1. 各ツリーで、順列の前にoob予測の精度を計算します
  2. 条件付けするすべての変数Zの場合:現在のツリーでこの変数を分割するカットポイントを抽出し、各カットポイントのサンプル空間を二等分することによってグリッドを作成します。
  3. このグリッド内で、X jの値を並べ替え、並べ替え後のoob予測精度を計算します
  4. 順列精度の前後の予測精度の違いは、1つのツリーに対するXjの重要性を示しています。フォレストに対するXjの重要性は、すべてのツリーの平均として再度計算されます。

最初のステップ、デフォルトのoob_scoreがscikitのメソッドでフォレスト内のすべてのツリーに対して計算されるため、各ツリーのoobスコアに到達するのに問題があります。ただし、決定木として単一のツリーに到達できるため、oobサンプルの代わりにこれらのツリーでテスト入力を試しましたが、カーネルが停止し続けました。

clf = RandomForestClassifier(n_estimators = 200、max_depth = 3、oob_score = True)フォレスト= clf.fit(train_inputs_arr、train_targets_arr)

単一のデシジョンツリープロパティに到達する

2番目のステップ、「各カットポイントでサンプル空間を二等分してグリッドを作成する」とはどういう意味か理解できず、選択したXjのカットポイントを決定する必要があるのか​​、他の変数Zのカットポイントを決定する必要があるのか​​がよくわかりませんでした。条件付けされる。

さらに、以前に使用した順列重要度メソッド構造も共有しています。これは、すべての特徴を並べ替えるだけで、順列後に各特徴のoobスコアがどのように減少するかを計算し、oobスコアの最大の減少は特徴の重要度が高いことを意味します。この構造を変更したかったのですが、理論的にはこの時点で立ち往生しています。私が本当に学びたいのは、Pythonでのこのアルゴリズムの実装です。