機械学習は科学であると同時に芸術でもあります。さまざまな機械学習アルゴリズムを見ると、普遍的な解決策や方法は存在しません。実際、機械学習アルゴリズムの選択にはいくつかの要因が影響します。 いくつかの問題は非常に特殊であり、特定の解決策が必要です。たとえば、レコメンデーション システムについて少しでも知っていれば、それが非常に特殊な種類の問題を解決するために使用される、非常に一般的な機械学習アルゴリズムのクラスであることがわかるでしょう。その他の問題は非常にオープンエンドであり、試行錯誤のアプローチが必要になる場合があります (強化学習など)。教師あり学習、分類、回帰などの問題は非常にオープンであり、異常検出やより一般的な予測モデルの構築に使用できます。
さらに、機械学習アルゴリズムを選択する際に行う決定の一部は、最適化やアルゴリズムの技術的側面とは関係がなく、ビジネス上の決定と関係があります。次に、機械学習アルゴリズムの選択肢を絞り込むのに役立つ要素を見てみましょう。 1. データサイエンスのプロセス さまざまな機械学習アルゴリズムを調べ始める前に、保有するデータ、直面している問題、関連する制約を明確に理解する必要があります。 1. データを理解する どのアルゴリズムを使用するかを決定する際には、保有するデータのタイプと形状が重要な役割を果たします。一部のアルゴリズムはより少ないサンプル セットで動作しますが、他のアルゴリズムでは膨大な数のサンプルが必要になります。特定のアルゴリズムは特定の種類のデータに対して機能します。たとえば、Naive Bayes アルゴリズムは分類された入力の処理に特に効果的ですが、欠損値に対してはまったく敏感ではありません。 したがって、次のことを行う必要があります。 (1)データを知る a. 概要統計とデータ視覚化結果を表示する
b. データの視覚化
(2)データクリーニング a. 欠損値の処理。欠損データは、モデルによっては他のモデルよりも大きな影響を与えます。欠損データを処理するように設計されたモデルであっても、欠損データに敏感になる可能性があります(一部の変数の欠損データは予測パフォーマンスの低下につながる可能性があります)。 b. 外れ値を処理する方法を選択する
c. データを集約する必要がありますか? 2. データ拡張 (1)特徴エンジニアリングとは、生データからモデリングに使用できるデータを生成するプロセスであり、次のような役割を果たすことができます。
(2)モデルによって特徴エンジニアリングの要件が異なる場合があります。一部のモデルには特徴エンジニアリングが組み込まれています。 3. 問題を分類する 次のステップは問題を分類することです。これは 2 段階のプロセスです。 (1)入力分類別:
(2)出力分類別:
4. 満たすべき制約を理解する
5. 利用可能なアルゴリズムを見つける タスクのコンテキストを明確に理解したら、利用可能なツールを使用して、解決しようとしている問題に適した実行可能なアルゴリズムを特定できます。モデルの選択に影響する要因は次のとおりです。
モデルの複雑さは、アルゴリズムの選択に影響を与える重要な基準です。一般に、より複雑なモデルには次のような特性があります。
これに加えて、同じ機械学習アルゴリズムでも、パラメータの数や特定のハイパーパラメータの選択によって、より複雑になる可能性があります。例えば:
同じアルゴリズムをより複雑にすると、過剰適合の可能性が高まります。 2. よく使われる機械学習アルゴリズム 1. 線形回帰 これはおそらく機械学習における最も単純なアルゴリズムです。たとえば、出力を分類するのではなく、連続した値を計算する場合は、回帰アルゴリズムを使用できます。したがって、実行中のプロセスの将来の値を予測する必要がある場合は、回帰アルゴリズムを使用します。ただし、特徴が冗長な場合、つまり多重共線性がある場合、線形回帰は安定しません。 線形回帰は次のような状況で考慮できます。
2. ロジスティック回帰 ロジスティック回帰はバイナリ分類を実行するため、バイナリラベルを出力します。これは、特徴の線形結合を入力として受け取り、それに非線形関数 (シグモイド) を適用するため、ニューラル ネットワークの非常に小さなインスタンスになります。 ロジスティック回帰ではモデルを正規化するためのさまざまな方法が提供されているため、ナイーブ ベイズ アルゴリズムのように、特徴が相関しているかどうかを心配する必要はありません。このモデルには優れた確率的解釈もあります。決定木やサポート ベクター マシンとは異なり、新しいデータに対応するためにモデルを簡単に更新できます。確率的フレームワークを使用したい場合、または将来的にさらに多くのトレーニング データをモデルにすばやく組み込むことができるようにしたい場合は、ロジスティック回帰アルゴリズムを使用できます。ロジスティック回帰は、予測結果の背後にある要因を理解するのにも役立ちますが、完全にブラックボックスな方法ではありません。 ロジスティック回帰アルゴリズムは、次のような状況で検討できます。
3. 決定木 決定木が単独で使用されることはほとんどありませんが、ランダム フォレストや勾配ブースティング ツリーなどのさまざまな決定木を組み合わせて、非常に効率的なアルゴリズムを作成できます。 決定木は特徴の相互作用を簡単に処理し、非パラメトリック モデルであるため、外れ値やデータが線形に分離可能かどうかを心配する必要はありません。決定木アルゴリズムの欠点の 1 つは、オンライン学習をサポートしていないため、新しいサンプルを使用する場合は、決定木を再構築する必要があることです。決定木のもう 1 つの欠点は、簡単に過剰適合してしまうことです。この場合、ランダム フォレスト (またはブースト ツリー) などのアンサンブル学習法が役立ちます。決定木には大量のメモリスペースも必要です(特徴が多ければ多いほど、決定木はより深く、より大きくなります) 意思決定ツリーは、さまざまなアクション パスの中から選択するのに役立ちます。
4. K平均法 場合によっては、データのラベル情報がまったくなく、オブジェクトの特性に基づいてラベルを付けることが目的となることもあります。この種の問題はクラスタリングタスクと呼ばれます。クラスタリング アルゴリズムは、次のような状況で使用できます。たとえば、大規模なユーザー グループがあり、共通するいくつかの属性に基づいてユーザーを特定のグループに分割したい場合などです。 問題の説明に次のような質問がある場合: たとえば、個人のグループの構成を調べる、何かをグループに入れる、特定のグループを調べるなど。このとき、クラスタリング アルゴリズムを使用する必要があります。 この方法の最大の欠点は、K 平均法アルゴリズムではデータに含まれるクラスターの数を事前に知る必要があるため、最終的に定義するクラスターの最大数 (K) を「推測」するために多くの実験が必要になる可能性があることです。 5. 主成分分析(PCA) 主成分分析はデータの次元を削減できます。場合によっては、さまざまな特徴があり、これらの特徴間の相関関係が高く、大量のデータを使用するとモデルが過剰適合する可能性があります。このとき、主成分分析 (PCA) 手法を使用できます。 主成分分析 (PCA) が機能する主な要因は、低次元のサンプル表現に加えて、さまざまな変数の同期した低次元表現も提供する点です。同期サンプルと変数の表現により、サンプルのセットを特徴付ける変数を視覚的に見つける方法が提供されます。 6. サポートベクターマシン サポート ベクター マシン (SVM) は、データが 2 つのカテゴリに分かれている場合に、パターン認識や分類の問題で広く使用されている教師あり機械学習手法です。 サポートベクターマシンは精度が高く、過剰適合を防ぐための優れた理論的保証を提供します。適切なカーネル関数を使用すると、データが基本(低次元)特徴空間で線形に分離できない場合でも、カーネル関数は適切に機能します。サポート ベクター マシンは、入力が非常に高次元の空間にあるのが普通であるテキスト分類の問題で非常に人気があります。ただし、SVM はメモリを大量に消費するアルゴリズムであり、解釈が難しく、調整も困難です。 サポート ベクター マシンは、次のような実際のアプリケーションで使用できます。
7. ナイーブベイズ これは、ベイズの定理に基づいた分類手法であり、構築が簡単で、大規模なデータセットでもうまく機能します。単純さに加えて、ナイーブベイズは、はるかに複雑な分類方法よりも優れたパフォーマンスを発揮すると言われています。 CPU とメモリのリソースが限られている場合も、Naive Bayes は適切な選択肢です。 ナイーブベイズは非常にシンプルで、ただ大量のカウントを行うだけです。ナイーブベイズの条件付き独立性の仮定が成り立つ場合、ナイーブベイズ分類器はロジスティック回帰などの識別モデルよりも速く収束するため、必要なトレーニングデータが少なくなります。ナイーブ ベイズ分類器は、ナイーブ ベイズの仮定が成り立たない場合でも、多くの場合、良好なパフォーマンスを発揮します。パフォーマンスに優れた高速でシンプルなモデルが必要な場合は、Naive Bayes が適しています。このアルゴリズムの最大の欠点は、特徴間の相互作用を学習できないことです。 Naive Bayes を使用できる実際のアプリケーションをいくつか紹介します。
8. ランダムフォレスト ランダム フォレストは、決定木の集合体です。大規模なデータセットで回帰問題と分類問題の両方を解決でき、何千もの入力変数の中から最も重要な変数を見つけるのにも役立ちます。ランダム フォレストは拡張性が高く、あらゆる次元のデータに適用でき、一般的にパフォーマンスがかなり良好です。また、データ自体に関する最小限の知識で、あらゆる次元やあらゆるデータに適切に拡張できる遺伝的アルゴリズムもあり、その最も単純な実装は微生物遺伝的アルゴリズムです。ただし、ランダム フォレストは (パラメーター設定に応じて) ゆっくりと学習するため、このアプローチでは生成モデルを反復的に改善することはできません。 ランダム フォレストは、次のような実際のアプリケーションで使用できます。
9. ニューラルネットワーク ニューラル ネットワークは、ニューロン間の接続の重みで構成されます。これらの重みはバランスが取られ、データ ポイントごとに学習されます。すべての重みがトレーニングされると、ニューラル ネットワークを使用して、新しいデータ ポイントに対して回帰が必要な場合に分類結果または特定の値を予測できます。ニューラル ネットワークを使用すると、モデルをトレーニングする前に予測不可能な複雑な特徴エンジニアリングを実行する必要なく、非常に複雑なモデルをトレーニングしてブラック ボックス メソッドとして使用できます。 「ディープメソッド」と組み合わせることで、さらに予測不可能なモデルを使用して新しいタスクを達成できるようになります。たとえば、最近ではディープ ニューラル ネットワークを使用して、物体認識タスクの結果を大幅に改善しています。ディープラーニングは、特徴抽出などの教師なし学習タスクにも適用され、人間の介入を少なくして生の画像や音声から特徴を抽出することもできます。 一方、ニューラルネットワークは説明が難しく、パラメータ設定も非常に複雑です。さらに、ニューラル ネットワーク アルゴリズムは、リソースとメモリの両方を大量に消費します。 3. SCIKITリファレンスマニュアル Scikit 学習では、適切なアルゴリズムを選択するのに役立つ、非常に詳細かつ明確に説明されたフローチャートが提供されます。この図は非常に便利だと思います。 IV. 結論 一般的に言えば、上で紹介したポイントに基づいていくつかのアルゴリズムを選別することができますが、最初はどの方法が最適であるかを知ることは困難です。アルゴリズムを選択するプロセスを複数回繰り返す必要があります。特定した潜在的に優れた機械学習アルゴリズムにデータを入力し、これらのアルゴリズムを並列または直列に実行し、最後にアルゴリズムのパフォーマンスを評価して最適なアルゴリズムを選択します。 *** で私が言いたいのは、現実の問題に対する正しい解決策を見つけることは、多くの場合、数学的手法を適用することだけの問題ではないということです。これには、ビジネスニーズ、規則や規制、利害関係者の懸念を理解し、多くの専門知識を持つことが求められます。機械学習の問題を解決する際にこれらの問題を組み合わせてバランスをとることができることが重要であり、これを実行できる人が最大の価値を生み出すことができます。 オリジナルリンク: https://hackernoon.com/choosing-the-right-machine-learning-algorithm-68126944ce1f [この記事は51CTOコラム「Machine Heart」、WeChatパブリックアカウント「Machine Heart(id: Almosthuman2014)」からのオリジナル記事です] この著者の他の記事を読むにはここをクリックしてください |
<<: Keras 対 PyTorch: どちらが「ナンバーワン」のディープラーニング フレームワークでしょうか?
>>: なぜ人工知能は第四次産業革命と呼ばれるのでしょうか?
生態圏が進化すると、地球は独自の生命を獲得しました。惑星が独自の生命を持つことができるなら、独自の知...
先週、ディープラーニングの分散操作モードに関する情報を検索していたところ、偶然 PaddlePadd...
自動運転の概念は、誕生以来、常に資本家や技術起業家が好む分野のひとつでした。新しいインフラと5G商用...
社会が人工知能の時代に入り、機械が生活のほぼあらゆる側面に浸透する中、攻撃者が AI をどの程度悪用...
時間と空間を結びつけるのは速度であり、エネルギーと質量を結びつけるのも速度です。事実と価値を結びつけ...
1 年前、私は数人の友人と機械学習 API を構築するためのオープンソース プラットフォームである ...
外交活動に関して、近年最も議論されている概念は「デジタル外交」であろう。 2010年には、当時米国務...
[[374688]] 「半オーク」「半魚」… SF映画、漫画、おとぎ話では、それは驚くことではありま...
今週の水曜日、OpenAI は ChatGPT のマルチモーダル機能のリリースを発表しました。さて、...
今日では、データの分析や解釈、問題解決の支援など、以前は人間が行っていたタスクを実行する高度なマシン...