導入機械学習モデルは、複数の業界にわたる意思決定プロセスの不可欠な要素となっていますが、ノイズの多いデータセットや多様なデータセットを扱う際には苦労することがよくあります。ここでアンサンブル学習が役立ちます。 この記事では、アンサンブル学習の秘密を明らかにし、その強力なランダム フォレスト アルゴリズムを紹介します。ツールキットを磨きたいデータ サイエンティストでも、堅牢な機械学習モデルを構築するための実用的な洞察を求めている開発者でも、この記事は誰にとっても役立つ内容になっています。 この記事を読み終える頃には、アンサンブル学習と Python でのランダムフォレストの仕組みについて包括的に理解できるようになります。したがって、経験豊富なデータ サイエンティストであっても、機械学習の能力を拡大したいだけの場合でも、機械学習の専門知識をレベルアップできます。 1. アンサンブル学習とは何ですか?アンサンブル学習は、複数の弱いモデルの予測を組み合わせて、より強力な予測を得る機械学習手法です。アンサンブル学習の概念は、各モデルの予測力を最大限に活用することで、単一モデルのバイアスとエラーを減らすことです。 理解を深めるために、人生から例を挙げてみましょう。動物を見たが、それがどの種に属するかわからないとします。つまり、1 人の専門家に質問するのではなく、10 人の専門家に質問し、その過半数が投票することになります。これは「ハード投票」として知られています。 ハード投票では、各分類器のクラス予測を考慮し、最も多くの投票数を獲得したクラスに従って入力を分類します。一方、ソフト投票では、各クラスの各分類器の確率予測を考慮し、そのクラスの平均確率(分類器の確率の平均)に基づいて、最大確率で入力をクラスに分類します。 2. アンサンブル学習はいつ使用すればよいですか?アンサンブル学習は、分類精度の向上や回帰モデルの平均絶対誤差の削減など、モデルのパフォーマンスを向上させるためによく使用されます。さらに、アンサンブル学習は常により安定したモデルを生成します。アンサンブル学習は、モデル間に相関関係がない場合に最も効果的に機能し、各モデルが全体的なパフォーマンスを向上させる独自の何かを学習できます。 3. アンサンブル学習戦略アンサンブル学習はさまざまな方法や目的に適用できますが、実際には、実装と使用が容易なことから、3 つの戦略が人気を集めています。 3 つの戦略は次のとおりです。
この記事では、それぞれの戦略についてさらに詳しく説明し、Python を使用してデータセットでこれらのアンサンブル モデルをトレーニングする方法を説明します。 4. バギングアンサンブル学習バギングでは、ランダム サンプル データを使用し、学習アルゴリズムと平均を使用してバギング確率を取得します。これはブートストラップ集約とも呼ばれます。複数のモデルの結果を集約して包括的な結果を取得します。 この方法には次の手順が含まれます。
Scikit-learn は、BaggingClassifier と BaggingRegressor を実装する機能を提供します。 BaggingMetaEstimator は、元のデータセットのランダムなサブセットを識別して各基本モデルに適合させ、投票または平均化によって各基本モデルの予測を最終予測に集約できます。このアプローチは、構築プロセスをランダム化することでばらつきを減らします。 【scikit-learn】:https://scikit-learn.org/stable/ 【BaggingClassifier】:https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.BaggingClassifier.html 【バギング回帰モデル】:https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.BaggingRegressor.html 次に、この記事では例を使用して、scikit-learn で bagging 推定器を使用する方法を説明します。 バギング分類器には考慮すべきパラメータがいくつかあります。
ここで、分類器をトレーニング セットに適合させてスコアを付けます。 回帰タスクでも同様のことができますが、回帰推定器を使用する点が異なります。 5. スタックされたアンサンブル学習スタッキングは、複数の推定値を組み合わせてバイアスを減らし、正確な予測を生成する手法です。次に、各推定器からの予測が結合され、クロス検証によってトレーニングされた最終的な予測メタモデルに入力されます。スタッキングは、分類問題と回帰問題の両方に適用できます。 写真 スタックアンサンブル学習 スタッキングの手順は次のとおりです。
以下の例では、まず 2 つの基本分類器 (RandomForestClassifier と GradientBoostingClassifier) とメタ分類器 (LogisticRegression) を作成し、次に K 分割交差検証を使用してこれらの分類器の予測結果 (iris データセットのトレーニング データ) から特徴を抽出し、メタ分類器 (LogisticRegression) をトレーニングします。 基本分類器が K 分割交差検証を使用してテスト データセットで予測を行い、これらの予測がメタ分類器の入力機能として使用された後、両方の予測を使用してテスト セットで予測を行い、その精度をスタックされたアンサンブル モデルの精度と比較します。 6. アンサンブル学習の改善ブースティングは、弱い学習者を強い学習者に変換することでバイアスと分散を減らす機械学習のアンサンブル手法です。これらの弱学習器はデータセットに順番に適用され、最初に初期モデルが作成され、それがトレーニング セットに適合されます。最初のモデルのエラーが特定されると、それを修正するための別のモデルが設計されます。 アンサンブル学習技術を改善するために使用される一般的なアルゴリズムと実装がいくつかあります。これらの中で最も注目すべきものについては以下で説明します。 6.1 アダブーストAdaBoost は、弱い学習器を順番に使用してトレーニングする効果的なアンサンブル学習手法です。各反復では、正しく予測されたインスタンスに割り当てられる重みを減らしながら、誤った予測を優先します。困難な観察に対するこの戦略的な重点により、AdaBoost は時間の経過とともに精度が高まり、最終的な予測は弱い学習者の多数決または加重合計によって決定されます。 AdaBoost は回帰タスクと分類タスクの両方に適した一般的なアルゴリズムですが、この記事では Scikit-learn を使用してデモンストレーションを行い、分類問題への応用に重点を置いています。次の例で、これを分類タスクに適用する方法を見てみましょう。 この例では、Scikit-learn の AdaBoostClassifier を使用し、n_estimators を 100 に設定します。デフォルトの学習者は決定木ですが、これはユーザーが変更できます。さらに、決定木のパラメータを調整することもできます。 6.2 エクストリーム勾配ブースティング(XGBoost)eXtreme Gradient Boosting (通称 XGBoost) は、ブースティング アンサンブル学習アルゴリズムの最適な実装の 1 つであり、並列コンピューティング機能により単一のコンピューター上で非常に効率的に実行されます。 XGBoost は、機械学習コミュニティによって開発された xgboost パッケージを通じて利用できます。 6.3 ライトGBMLightGBM はツリー学習に基づく別の勾配ブースティング アルゴリズムですが、他のツリーベースのアルゴリズムとは異なり、葉ベースのツリー成長アプローチを使用するため、収束が速くなります。 写真 葉の成長/画像出典: LightGBM 次の例では、この記事では LightGBM を使用してバイナリ分類問題を解決します。 結論アンサンブル学習とランダムフォレストは、機械学習の専門家やデータ サイエンティストによって頻繁に使用される強力な機械学習モデルです。この記事では、アンサンブル学習の基本原理と応用シナリオを紹介し、最も人気のあるアルゴリズムとそれらを Python で使用する方法を紹介しました。 |
<<: GPT-4 が Nature の査読者になる?スタンフォード大学と清華大学の卒業生による約5,000の論文がテストされ、その結果の50%以上が人間の査読者と一致した。
>>: 人工知能は将来の建築をどのように変えるのでしょうか?
近年、人工知能技術の成熟に伴い、顔認識の応用範囲はますます広がっています。 「顔スキャン」は、効率、...
[[345868]]私はAIニューロンです私はこの世界に生まれたばかりの AI ニューロンです。私...
この記事は、Heart of Autonomous Driving の公開アカウントから許可を得て転...
人工知能はデータ変換ツールに革命をもたらし、効率、精度、リアルタイム処理を向上させます。シームレスな...
[[257228]] 【新知能紹介】中国内外の科学者71人が共同で、検査結果を検知し、医師と同じくら...
9月27日、ネイチャー誌は45の機関からなる国際科学研究チームの最新の研究成果を発表した。 200...
日本は人間支援ロボットの規格策定に向け、国際標準化機構(ISO)と協議を行っている。ロボット工学に対...
この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...
機械学習の分野は近年急速に発展しています。しかし、機械学習理論に対する理解は依然として非常に限られて...
[[409182]] 1. K番目に大きいものを見つけるタイトル順序付けられていない整数配列がありま...
[[205882]]北京時間10月10日朝のニュースによると、中国の検索大手、百度はシアトル地域にオ...
私たちの多くは、毎日たくさんのファイルを処理する必要があります。新しい文書を受け取ったとき、通常は、...