この記事では、主に、一般的に使用されているいくつかのアルゴリズムの適応シナリオと利点と欠点について説明します。(ヒント: 一部のコンテンツはインターネットから抜粋されています)。 分類、回帰、クラスタリング、推奨、画像認識など、機械学習アルゴリズムは非常に多くあります。適切なアルゴリズムを見つけるのは本当に簡単ではないため、実際のアプリケーションでは、一般的にヒューリスティック学習法を使用して実験します。通常、最初は SVM、GBDT、Adaboost など、誰もが一般的に認識しているアルゴリズムを選択します。現在、ディープラーニングは非常に人気があり、ニューラル ネットワークも良い選択肢です。 精度を重視する場合、最良の方法は、クロス検証を通じて各アルゴリズムを 1 つずつテストし、比較して、各アルゴリズムが最適なソリューションに到達するようにパラメータを調整し、最適なものを選択することです。しかし、問題を解決するために「十分に良い」アルゴリズムを探しているだけの場合、またはここに参考となるヒントがいくつかある場合は、各アルゴリズムの長所と短所を分析してみましょう。アルゴリズムの長所と短所に基づいて、アルゴリズムを選択しやすくなります。 バイアスと分散 統計学では、モデルの品質は偏差と分散に基づいて測定されるので、まず偏差と分散について理解を深めましょう。 バイアス: 予測値 (推定値) の期待値 E' と真の値 Y の差を表します。偏差が大きいほど、実際のデータからの乖離が大きくなります。 分散: 予測値 P の変動範囲、つまり予測値の分散、つまり期待値 E からの距離である分散度を表します。分散が大きいほど、データはより広範囲に広がります。 36 ビッグデータ (http://www.36dsj.com/) モデルの実際の誤差は、以下に示すように、2 つの合計です。 トレーニング セットが小さい場合、高バイアス/低分散の分類器 (例: Naive Bayes NB) の方が、低バイアス/高分散の大規模な分類器 (例: KNN) よりも有利になります。これは、後者が過剰適合するためです。ただし、トレーニング セットが大きくなるにつれて、モデルの元のデータの予測能力が向上し、バイアスが減少します。この時点で、低バイアス/高分散の分類器は徐々にその利点を示し始め (漸近誤差が低いため)、高バイアスの分類器では正確なモデルを提供するのに十分ではなくなります。 もちろん、これを生成モデル (NB) と識別モデル (KNN) の違いとして考えることもできます。 なぜナイーブベイズはバイアスが高く、分散が低いのでしょうか? 以下の内容はZhihuから引用したものです。 まず、トレーニング セットとテスト セットの関係がわかっていると仮定します。簡単に言うと、トレーニング セットでモデルを学習し、それをテスト セットで使用する必要があります。モデルの有効性は、テスト セットのエラー率に基づいて測定されます。しかし、多くの場合、テスト セットとトレーニング セットが同じデータ分布に準拠していると想定することしかできず、実際のテスト データを取得することはできません。トレーニング エラー率しか確認できない場合、テスト エラー率をどのように測定すればよいでしょうか? トレーニング サンプルが少ない (少なくとも十分ではない) ため、トレーニング セットを通じて取得されたモデルが必ずしも正しいとは限りません。 (トレーニング セットの精度が 100% であっても、実際のデータ分布を記述しているわけではありません。目標はトレーニング セット内の限られたデータ ポイントだけでなく、実際のデータ分布を記述することであることを認識する必要があります)。さらに、実際には、トレーニング サンプルには特定のノイズ エラーが含まれることがよくあります。そのため、トレーニング セットで最高のパフォーマンスを追求し、非常に複雑なモデルを採用すると、モデルはトレーニング セット内のエラーを実際のデータ分布特性と見なし、誤ったデータ分布の推定値を取得します。 この場合、実際のテスト セットでは結果がひどく間違ってしまいます (この現象はオーバーフィッティングと呼ばれます)。ただし、モデルが単純すぎると、データ分布がより複雑になったときに、モデルがデータ分布を十分に説明できなくなります (トレーニング セットでもエラー率が高くなるという、アンダーフィッティングの現象に反映されます)。過剰適合とは、使用されるモデルが実際のデータ分布よりも複雑であることを意味し、一方、不足適合とは、使用されるモデルが実際のデータ分布よりも単純であることを意味します。 統計学習フレームワークでは、モデルの複雑さを特徴付けるときに、エラー = バイアス + 分散という見方があります。ここでのエラーは、モデルの予測誤差率として大まかに理解できます。これは 2 つの部分で構成されます。1 つは、モデルが単純すぎるために発生する不正確な推定部分 (バイアス) であり、もう 1 つは、モデルが複雑すぎるために発生する変動空間と不確実性 (分散) が大きくなっている部分です。 したがって、Naive Bayes を分析するのは簡単です。これは単にデータが無関係であると仮定し、非常に単純化されたモデルです。したがって、このような単純なモデルでは、ほとんどの場合、バイアス部分が分散部分よりも大きくなり、つまり偏差が高く分散が低くなります。 実際には、エラーをできるだけ小さくするためには、モデルを選択するときにバイアスと分散の比率のバランスをとる必要があります。つまり、過剰適合と不足適合のバランスをとる必要があります。 バイアスと分散とモデルの複雑さの関係は、次の図でより明確に示されています。 モデルの複雑さが増すにつれて、バイアスは徐々に減少し、分散は徐々に増加します。 一般的なアルゴリズムの長所と短所 1. ナイーブベイズ ナイーブベイズは生成モデルに属します (生成モデルと識別モデルに関しては、主に結合分布が必要かどうかによって決まります)。非常に簡単です。単にカウントをいくつか行うだけです。条件付き独立性の仮定(厳密な条件)を立てると、ナイーブベイズ分類器はロジスティック回帰などの判別モデルよりも速く収束するため、必要なトレーニングデータが少なくなります。 NB 条件付き独立性の仮定が成立しない場合でも、NB 分類器は実際には非常に優れたパフォーマンスを発揮します。主な欠点は、特徴間の相互作用、つまり特徴の冗長性を学習できないことです。典型的な例を挙げると、たとえあなたがブラッド・ピットとトム・クルーズの映画が好きだったとしても、彼らが共演する映画が好きではないということを学習することはできません。 アドバンテージ: ナイーブベイズモデルは古典的な数学理論に由来し、強固な数学的基礎を持ち、安定した分類効率を備えています。 小規模データで優れたパフォーマンスを発揮し、複数の分類タスクを処理でき、増分トレーニングに適しています。 欠損データに対する敏感さはそれほどなく、アルゴリズムは比較的単純で、テキスト分類によく使用されます。 欠点: 事前確率を計算する必要があります。 分類の決定にはエラー率が存在します。 入力データの表現に非常に敏感です。 2. ロジスティック回帰 これは識別モデルです。モデルを正規化する方法はたくさんあります (L0、L1、L2 など)。また、Naive Bayes の場合のように、特徴が相関しているかどうかを心配する必要はありません。また、決定木や SVM と比較して優れた確率的解釈が得られ、新しいデータでモデルを簡単に更新することもできます (オンライン勾配降下法を使用)。確率的フレームワークが必要な場合(分類しきい値を簡単に調整したり、不確実性を示したり、信頼区間を取得したりする場合など)、または後でより多くのトレーニング データをモデルにすばやく組み込む場合に使用します。 シグモイド関数: アドバンテージ: 実装が簡単で、産業上の問題に広く使用されています。 分類中の計算量は非常に少なく、速度は非常に速く、ストレージ リソースは少なくなります。 便利な観察サンプル確率スコア。 ロジスティック回帰の場合、多重共線性は問題ではなく、L2 正則化を組み合わせることで解決できます。 欠点: 特徴空間が大きい場合、ロジスティック回帰のパフォーマンスはあまり良くありません。 アンダーフィットが発生しやすく、一般的に精度が低くなります。 多数のマルチクラス機能または変数を適切に処理できません。 2 つの分類問題のみを処理でき (これから導出されたソフトマックスは複数の分類に使用できます)、線形に分離可能でなければなりません。 非線形機能の場合、変換が必要です。 3. 線形回帰 線形回帰は、分類に使用されるロジスティック回帰とは異なり、回帰に使用されます。基本的な考え方は、最小二乗法の形式で勾配降下法を使用してエラー関数を最適化することです。もちろん、正規方程式を使用してパラメーターの解を直接取得することもできます。結果は次のとおりです。 LWLR(局所加重線形回帰)では、パラメータの計算式は次のようになります。 LWLR は LR とは異なることがわかります。LWLR は、各回帰計算でトレーニング サンプルを少なくとも 1 回走査する必要があるため、非パラメトリック モデルです。 利点: 実装と計算が簡単。 欠点: 非線形データを適合できません。 4. 最近傍アルゴリズム - KNN KNN は最近傍アルゴリズムであり、その主なプロセスは次のとおりです。 1. トレーニング サンプルとテスト サンプル内の各サンプル ポイント間の距離を計算します (一般的な距離メトリックには、ユークリッド距離、マハラノビス距離などがあります)。 2. 上記の距離値をすべて並べ替えます。 3. 距離が最も小さい最初の k 個のサンプルを選択します。 4. これらの k 個のサンプルのラベルに基づいて投票し、最適な分類カテゴリを取得します。 最適な K 値を選択する方法はデータによって異なります。一般的に、K 値が大きいほど、分類中のノイズの影響を軽減できます。しかし、カテゴリー間の境界は曖昧になるでしょう。 K の適切な値は、クロス検証などのさまざまなヒューリスティック手法を通じて取得できます。さらに、ノイズや非相関の固有ベクトルの存在により、K 最近傍アルゴリズムの精度が低下します。 最近傍アルゴリズムでは、一貫性のある結果がより強く得られます。データがより集中的になるにつれて、アルゴリズムはエラー率がベイズアルゴリズムのエラー率の 2 倍を超えないことを保証します。 K の値が適切であれば、K 近傍法によってエラー率がベイズの理論上のエラー率を超えないことが保証されます。 KNNアルゴリズムの利点 理論は成熟しており、アイデアは単純で、分類と回帰の両方に使用できます。 非線形分類に使用できます。 トレーニング時間の計算量はO(n)です。 データに関する仮定がなく、精度が高く、外れ値の影響を受けない。 欠点 計算量が大きい サンプル不均衡の問題(つまり、あるカテゴリのサンプル数が多いのに、他のカテゴリのサンプル数が少ない)。 大量のメモリを必要とします。 5. 決定木 説明は簡単です。特徴間の相互作用を簡単に処理でき、非パラメトリックであるため、外れ値やデータが線形に分離可能かどうかを心配する必要がありません (たとえば、決定木は、クラス A が特徴次元 x の末尾にあり、クラス B が中央にあり、クラス A が特徴次元 x の先頭に現れる状況を簡単に処理できます)。欠点の 1 つは、オンライン学習をサポートしていないため、新しいサンプルが到着すると、決定木を完全に再構築する必要があることです。 もう 1 つの欠点は、過剰適合になりやすいことですが、ここでランダム フォレスト RF (またはブースト ツリー) などのアンサンブル手法が役立ちます。さらに、ランダム フォレストは多くの分類問題で優れた結果を出すことが多く (通常、サポート ベクター マシンよりもわずかに優れています)、トレーニングが速く、調整可能で、サポート ベクター マシンのように多くのパラメータの調整を気にする必要がないため、これまで常に人気がありました。 決定木では分岐する属性を選択することが重要なポイントとなるため、情報ゲインの計算式に注目して深く理解しましょう。 情報エントロピーの計算式は以下のとおりです。 ここでの n は分類カテゴリの数を表します (たとえば、2 カテゴリの問題の場合、n = 2)。これら 2 種類のサンプルが合計サンプルに出現する確率 p1 と p2 をそれぞれ計算し、選択されていない属性ブランチの前の情報エントロピーを計算できるようにします。 次に、分岐する属性 xixi を選択します。分岐ルールは次のとおりです。xi=vxi=v の場合、サンプルをツリーの 1 つのブランチに分割します。等しくない場合は、他のブランチに入ります。明らかに、ブランチ内のサンプルには 2 つのカテゴリが含まれている可能性があります。2 つのブランチのエントロピー H1 と H2 をそれぞれ計算し、分岐後の総情報エントロピー H' = p1 H1 + p2 H2 を計算します。すると、情報ゲイン ΔH = H – H' になります。情報ゲインの原則に基づいて、すべての属性がテストされ、最も高いゲインを持つ属性がこのブランチの属性として選択されます。 決定木の利点 計算はシンプルで理解しやすく、解釈も容易です。 属性が欠落しているサンプルの処理に適しています。 無関係な機能を処理する能力。 比較的短期間で大規模なデータ ソースに対して実用的な効果的な結果を生成する能力。 欠点 過剰適合しやすい(ランダムフォレストは過剰適合を大幅に削減できます) データ間の相関関係を無視する; 各カテゴリのサンプル数が一貫していないデータの場合、決定木では、情報ゲインの結果はより多くの値を持つ特徴を優先する傾向があります (この欠点は、RF などの情報ゲインが使用されている限り存在します)。 5.1 アダブースト Adaboost は加法モデルです。各モデルは、前のモデルのエラー率に基づいて構築されます。誤って分類されたサンプルに過度に注意を払い、正しく分類されたサンプルにはあまり注意を払いません。連続した反復の後、比較的良好なモデルが得られます。典型的なブースティングアルゴリズムです。以下にその利点と欠点をまとめます。 アドバンテージ Adaboost は高精度の分類器です。 サブ分類子を構築するにはさまざまな方法があり、Adaboost アルゴリズムがフレームワークを提供します。 単純な分類器を使用する場合、計算結果は理解しやすく、弱い分類器の構築は極めて簡単です。 シンプルで、機能のスクリーニングは必要ありません。 過剰適合になりにくい。 ランダムフォレストやGBDTなどの組み合わせアルゴリズムについては、こちらの記事を参照してください: 機械学習 - 組み合わせアルゴリズムの概要 デメリット: 外れ値に敏感 6.SVM サポートベクターマシン 高い精度は、過剰適合を回避するための優れた理論的保証を提供します。データが元の特徴空間で線形に分離できない場合でも、適切なカーネル関数が与えられている限り、うまく機能します。これは、非常に高次元のテキスト分類問題で特に人気があります。残念ながら、メモリを大量に消費し、説明が難しく、実行や調整が少々面倒です。一方、ランダム フォレストはこれらの欠点を回避し、より実用的です。 アドバンテージ 高次元の問題、つまり大きな特徴空間を解くことができます。 非線形機能の相互作用を処理する能力。 データ全体に依存する必要はありません。 一般化能力を向上させることができます。 欠点 観測サンプル数が多い場合、効率はあまり高くありません。 非線形問題には一般的な解法はなく、適切なカーネル関数を見つけるのが難しい場合があります。 欠損データの影響を受けやすい。 カーネルを選択するためのテクニックもあります (libsvm には、線形カーネル、多項式カーネル、RBF、シグモイド カーネルの 4 つのカーネル関数が付属しています)。 ***、サンプル数が特徴数より少ない場合、非線形カーネルを選択する必要はなく、線形カーネルを単純に使用できます。 2 番目に、サンプル数が特徴数よりも多い場合、非線形カーネルを使用してサンプルをより高い次元にマッピングすることができ、通常はより良い結果が得られます。 3 番目に、サンプル数と特徴数が等しい場合は、非線形カーネルを使用できます。原理は 2 番目と同じです。 最初のケースでは、まずデータの次元を削減し、次に非線形カーネルを使用するという方法もあります。 7. 人工ニューラルネットワークの利点と欠点 人工ニューラルネットワークの利点: 高い分類精度。 強力な並列分散処理機能、分散ストレージおよび学習機能、 ノイズニューラルネットワークに対する強力な堅牢性と耐障害性を備え、複雑な非線形関係を完全に近似できます。 連想記憶の機能を持ちます。 人工ニューラルネットワークの欠点: ニューラル ネットワークには、ネットワーク トポロジ、重みの初期値、しきい値など、多数のパラメーターが必要です。 学習プロセスを観察できず、出力結果を解釈することが難しいため、結果の信頼性と受容性に影響します。 あまり長く勉強しすぎると、学習の目的さえ達成できない可能性があります。 8. K平均法クラスタリング 以前、K-Means クラスタリングに関する記事を書きました。ブログ リンク: 機械学習アルゴリズム - K-Means クラスタリング。 K-Means の導出に関しては、非常に強力な EM の考え方があります。 アドバンテージ アルゴリズムはシンプルで実装も簡単です。 このアルゴリズムは、複雑さがおよそ O(nkt) であるため、大規模なデータセットを処理するのに比較的スケーラブルで効率的です。ここで、n はオブジェクトの数、k はクラスターの数、t は反復回数です。通常k< アルゴリズムは、二乗誤差関数の値を最小化する k 個のパーティションを見つけようとします。クラスタリングは、クラスターが密集していて、球状または塊状であり、クラスター間の違いが明確な場合に最も効果的です。 欠点 データ型に対する要件が高く、数値データに適しています。 大規模データでは局所的最小値に収束し、ゆっくりと収束する可能性がある K 値の選択は困難です。 初期のクラスター中心値に敏感であり、初期値が異なるとクラスタリング結果も異なる可能性があります。 非凸形状のクラスターやサイズが大きく異なるクラスターを見つけるのには適していません。 「ノイズ」や孤立したポイント データに敏感で、そのようなデータが少量でも平均値に大きな影響を与える可能性があります。 アルゴリズム選択リファレンス 以前、私はいくつかの外国の記事を翻訳しました。そのうちの 1 つでは、簡単なアルゴリズム選択手法が紹介されています。 最初の選択肢はロジスティック回帰です。うまく機能しない場合は、その結果をベンチマークとして使用して、他のアルゴリズムと比較することができます。 次に、決定木 (ランダム フォレスト) を試して、モデルのパフォーマンスが大幅に向上するかどうかを確認します。最終モデルとして考えない場合でも、ランダム フォレストを使用してノイズ変数を除去し、特徴選択を行うことができます。 特徴と観測サンプルの数が特に多い場合、リソースと時間が十分にあるときは SVM を使用するのが選択肢となります (この前提は非常に重要です)。 一般的に言えば、[GBDT>=SVM>=RF>=Adaboost>=その他…]。ディープラーニングは現在非常に人気があり、多くの分野で使用されています。これはニューラルネットワークに基づいています。私も現在それを学んでいますが、私の理論的な知識はあまりしっかりしておらず、理解も十分に深くないので、ここでは紹介しません。 アルゴリズムは重要ですが、優れたデータは優れたアルゴリズムよりも優れています。優れた機能を設計することは非常に役立ちます。データセットが非常に大きい場合は、どのアルゴリズムを使用しても分類のパフォーマンスに大きな影響はない可能性があります (速度と使いやすさに基づいて決定できます)。 参考文献 [1] https://en.wikipedia.org/wiki/Bias%E2%80%93variance_tradeoff [2] http://blog.echen.me/2011/04/27/choosing-a-machine-learning-classifier/ [3] http://www.csuldw.com/2016/02/26/2016-02-26-choosing-a-machine-learning-classifier/ |
>>: 個人信用リスク評価モデルにおける新しいビッグデータアルゴリズムの使用の有効性の評価
人工知能は、今の世代で最も話題になっているトピックです。人工知能は、20年後の世界がどのように発展す...
人工知能や脳の研究を考えるとき、人々はターミネーターマシンが世界を破壊するイメージを思い浮かべます。...
昨日、Lao Huangが再び「勝利」しました!なぜ?最新の MLPerf ベンチマークでは、NVI...
生物学における最大の謎の一つであるタンパク質折り畳み問題が AI によって解決されました。 CASP...
ここ数か月、生成型人工知能(ChatGPT)に関するニュースがほぼ毎日のように報道されています。突然...
IBM は、NASA の衛星データに基づいて構築された watsonx.ai 地理空間インフラストラ...
DJIのドローン、JDの無人倉庫、アリババの無人スーパー、百度の無人自動車など、数年前からすでに台...
この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...
11月10日、マイクロソフトは人工知能研究企業OpenAIに100億ドル以上を投資したにもかかわらず...
この記事はLeiphone.comから転載したものです。転載する場合は、Leiphone.com公式...
この記事の著者である Sebastian Ruder は、自然言語処理にディープラーニングを使用する...
清華大学、北京大学、上海交通大学、テンセント、ファーウェイ、JD.com、バイトダンス、そして今最も...
最近、中国サイバースペース管理局は「インターネット情報サービスアルゴリズム推奨管理規則(草案)」(以...