初心者に適した機械学習アルゴリズムの選び方

初心者に適した機械学習アルゴリズムの選び方

この記事の主な対象読者は、機械学習の愛好家やデータサイエンスの初心者、そして機械学習アルゴリズムを学習して適用し、実用的な問題を解決することに強い関心を持つ読者です。多数の機械学習アルゴリズムに直面して、初心者がよく自問する典型的な質問は、「どのアルゴリズムを使用すればよいですか?」です。この質問の答えに影響を与える要因は多数あります。たとえば、次のとおりです。

  • データのサイズ、品質、性質
  • 利用可能な計算時間
  • 課題の緊急性
  • データの利用目的

経験豊富なデータ サイエンティストや機械学習アルゴリズム開発者であっても、さまざまなアルゴリズムをテストしなければ、どのアルゴリズムが最も優れたパフォーマンスを発揮するかを判断することはできません。私たちは万能のアプローチを推奨しているわけではありませんが、いくつかの明確な要因に基づいてアルゴリズムの選択に関するガイダンスを提供したいと考えています。

1. 機械学習アルゴリズムのクイックルックアップテーブル

この記事では、多数のアルゴリズムの中から特定の問題を解決するアルゴリズムをフィルタリングするのに役立つ、機械学習アルゴリズム チートシートの使用方法を説明します。

このチートシートはデータサイエンスと機械学習の初心者を対象としているため、これらのアルゴリズムについて説明する際にはいくつかの単純化された仮定を立てています。この記事で推奨されているアルゴリズムはすべて、複数のデータ サイエンティスト、機械学習の専門家、開発者からのプログラム コンパイルのフィードバックと提案に基づいています。合意に達しなかったいくつかの問題については、相違点を残しつつ共通点を探すことに重点を置きます。

2. クイックルックアップテーブルの使い方

チートシートのパスとアルゴリズムのラベルを「<パス ラベル> が一致する場合は、<アルゴリズム> を使用します」と読みます。次に例を示します。

  • 次元削減が必要な場合は、主成分分析を使用します。
  • 高速な数値予測が必要な場合は、決定木またはロジスティック回帰を使用します。
  • 階層的な結果が必要な場合は、階層的クラスタリングを使用します。

複数のブランチが適用される場合もあり、完全に一致するものが見つからない場合もあります。これらのパスは経験則に基づいた推奨事項であるため、一部は正確ではないことに注意することが重要です。多くのデータ サイエンティストは、最適なアルゴリズムを見つける唯一の確実な方法は、すべてのアルゴリズムを試してみることだと言います。

3. 機械学習アルゴリズムの分類

このセクションでは、最も一般的な機械学習のカテゴリの概要を説明します。これらのカテゴリに精通している場合は、以下の「特定のアルゴリズムを使用する場合」セクションに直接進むことができます。

1. 教師あり学習

教師あり学習アルゴリズムは、一連の例のペアに基づいて予測を行います。たとえば、過去の販売実績を使用して将来の価格動向を予測できます。教師あり学習では、ラベル付けされたトレーニング データで構成される入力変数のセットと、予測したい出力変数のセットがあります。アルゴリズムを使用してトレーニング データを分析し、入力を出力にマッピングする関数を学習できます。アルゴリズムによって推論された関数は、トレーニング データを一般化して未知の新しいインスタンスを予測することにより、未知のシナリオでの結果を予測できます。

  • 分類: データを使用してクラスを予測する場合、教師あり学習は分類タスクも処理できます。これは、写真に猫や犬などのラベルを付ける場合です。分類ラベルが 2 つしかない場合はバイナリ分類、2 つ以上ある場合はマルチクラス分類です。
  • 回帰: 予測が連続した数値である場合、それは回帰問題です。
  • 予測: これは過去と現在のデータに基づいて将来を予測するプロセスであり、最も一般的な用途は傾向分析です。典型的な例としては、今年と一昨年の販売実績に基づいて来年の販売実績を予測することが挙げられます。

2. 半教師あり学習

教師あり学習の主な課題は、注釈付きデータが高価で、非常に時間がかかることです。ラベルが限られている場合は、ラベルなしデータを使用して教師あり学習を改善できます。この場合、マシンは完全に監視されていないため、半監視と呼ばれます。半教師あり学習では、少量のラベル付きデータのみを含むラベルなしの例を使用して学習の精度を向上させることができます。

3. 教師なし学習

教師なし学習では、機械に完全にラベル付けされていないデータが入力され、クラスタリング構造、低次元多様体、スパースツリーやグラフなど、データに隠された基礎パターンを発見するように求められます。

  • クラスタリング: データ インスタンスのセットを 1 つのクラスにグループ化し、1 つのクラス (クラスター) 内のインスタンスが他のクラスのインスタンスとより類似するようにします (いくつかの指標による)。これは、データ セット全体を複数のクラスに分割するためによく使用されます。この分析は各カテゴリ内で実行できるため、ユーザーは根本的なパターンを特定できます。
  • 次元削減: 考慮される変数の数を削減します。多くのアプリケーションでは、元のデータは非常に高い特徴次元を持ち、一部の特徴は冗長であり、タスクとは無関係です。次元削減は、実際の根本的な関係を発見するのに役立ちます。

4. 強化学習

強化学習は、環境からのフィードバックに基づいてエージェントの動作を分析および最適化します。マシンは、どのアクションが最良の報酬を生み出すかを発見するためにさまざまな戦略を試行するため、エージェントにはどのアクションを取るべきかは指示されません。試行錯誤と遅延報酬は、強化学習を他の手法と区別する特徴です。

4. アルゴリズムを選択する際の考慮事項

アルゴリズムを選択するときは、精度、トレーニング時間、使いやすさといった側面を常に念頭に置く必要があります。多くのユーザーは精度を重視しますが、初心者は自分が最もよく知っているアルゴリズムを選択する傾向があります。

データ セットができたら、結果がいかに奇妙であっても、まず最初に考えるべきことは、どのようにして結果を得るかということです。初心者は、実装が簡単ですぐに結果が得られるアルゴリズムを選択する傾向があります。この考え方は、トレーニング プロセス全体の最初のステップにのみ適用できます。ある程度の結果が得られ、データに慣れてきたら、より洗練されたアルゴリズムを使用してデータへの理解を深め、結果を改善するために、より多くの時間を費やす必要があるでしょう。

ただし、この時点でも、最高の精度を実現する標準アルゴリズムが必ずしも最適なアルゴリズムであるとは限りません。これは、アルゴリズムでは通常、最高のパフォーマンスを実現するには、ユーザーがパラメータを慎重に調整し、広範囲にわたるトレーニングを行う必要があるためです。

5. 特定のアルゴリズムを選択するシナリオ

特定のアルゴリズムを詳しく研究することで、その機能と使用方法を理解するのに役立ちます。次の詳細は、特定のアルゴリズムを選択する際にさらに役立ちます。前のクイック リファレンス テーブルと併せてお読みください。

1. 線形回帰とロジスティック回帰

線形回帰は、連続従属変数 y と 1 つ以上の特徴 X 間の関係をモデル化する方法です。 y と X の関係は次のように線形モデル化できます。トレーニング サンプルがある場合、パラメーター ベクトル β はトレーニング サンプルから学習できます。

従属変数が不連続かつカテゴリである場合、シグモイド関数を使用して線形回帰をロジスティック回帰に変換できます。ロジスティック回帰は、シンプルで高速かつ強力な分類アルゴリズムです。ここではバイナリケース、つまり従属変数yには2つの値y∈(−1,1)のみがあるケースについて説明します(これはマルチクラス分類問題に簡単に拡張できます)。

ロジスティック回帰では、さまざまな仮説クラスを使用して、特定の例が「1」クラスまたは「-1」クラスに属する確率を予測します。具体的には、次の形式の関数を学習します。

同様に

、で

シグモイド関数です。トレーニングサンプル{xi, yi}がある場合、パラメータベクトルβは、与えられたデータセットの下でβ対数尤度値を最適化することによって学習できます。

2. 線形SVMとカーネルSVM

カーネル技術は、非線形に分離可能な関数を高次元の線形に分離可能な関数にマッピングするために使用できます。サポート ベクター マシン (SVM) トレーニング アルゴリズムは、法線ベクトル w と超平面のバイアス項 b によって表される分類子を見つけることができます。この超平面(境界)は、異なるカテゴリを最大限の間隔で分離できます。この問題は条件付き最適化問題に変換できます。

カーネル技術は、非線形分離関数を高次元の線形分離関数にマッピングするために使用されます。

クラスが線形に分離できない場合、カーネル手法を使用して、非線形に分離可能な空間を高次元の線形に分離可能な空間にマッピングできます。

従属変数が数値でない場合は、分類の最初の試みとしてロジスティック回帰と SVM を使用する必要があります。これらのモデルは実装が簡単で、パラメータの調整も簡単で、パフォーマンスも非常に優れています。したがって、これらのモデルは初心者に最適です。

3. 樹木と樹木のアンサンブル

予測モデルのための決定木

決定木、ランダムフォレスト、勾配ブースティングはすべて決定木に基づくアルゴリズムです。決定木にはさまざまなバリエーションがありますが、すべて同じことを行います。つまり、特徴空間をほぼ同じラベルを持つ領域に分割します。決定木は理解しやすく、実装も簡単です。ただし、データに過剰適合し、ツリーの非常に深いところまで進む傾向があります。ランダム フォレストと勾配ブースティングは、ツリー アルゴリズムを使用して優れた精度を実現すると同時に過剰適合の問題も克服する 2 つの一般的なアンサンブル手法です。

4. ニューラルネットワークとディープラーニング

畳み込みニューラルネットワークアーキテクチャ

ニューラル ネットワークは、並列処理と分散処理の機能により 1980 年代半ばに登場しました。しかし、この分野の研究は、ニューラル ネットワークのパラメーターを最適化するために広く使用されているバックプロパゲーション トレーニング アルゴリズムの非効率性によって妨げられてきました。機械学習の分野では、サポートベクターマシン (SVM) やその他のより単純なモデル (凸最適化問題を解くことで簡単にトレーニングできるもの) が徐々にニューラルネットワークに取って代わってきました。

近年、教師なし事前トレーニングやレイヤーごとの貪欲トレーニングなどの新しい改良されたトレーニング手法により、ニューラル ネットワークへの関心が再び高まっています。 GPU や超並列処理 (MPP) などのコンピューティング能力の向上も、ニューラル ネットワークの復活に貢献しています。ニューラル ネットワーク研究の復興により、何千もの層を持つモデルが生まれました。

ニューラルネットワーク

言い換えれば、浅いニューラル ネットワークが深層学習ニューラル ネットワークへと進化したのです。ディープニューラルネットワークは、教師あり学習の分野で大きな成功を収めています。音声認識や画像認識に使用する場合、ディープラーニングは人間のレベルに到達、あるいはそれを上回っています。特徴抽出などの教師なし学習タスクに適用すると、ディープラーニングは、人間の介入をほとんど必要とせずに、生の画像や音声から特徴を抽出することもできます。

ニューラル ネットワークは、入力層、隠れ層、出力層の 3 つの部分で構成されます。出力層がカテゴリ変数の場合、ニューラル ネットワークは分類問題を解決できます。出力層が連続変数の場合、ネットワークを使用して回帰を実行できます。出力層が入力層と同じ場合、ネットワークを使用して固有の特徴を抽出できます。隠し層の数によって、モデルの複雑さとモデリング能力が決まります。

5. k平均法/kモード法、ガウス混合モデル(GMM)クラスタリング

k平均法クラスタリング

ガウス混合モデル

k-means/k-modes、GMM クラスタリングの目的は、n 個の観測値を k 個のクラスターに分割することです。 k-means クラスタリングは、厳格な割り当て基準として定義されます。つまり、サンプルは 1 つのクラスターにのみ割り当てられます。ただし、GMM ではサンプルごとにソフト割り当てを定義できます。各サンプルには、各クラスターに関連付けられた確率があります。クラスターの数 k が指定されている場合、両方のアルゴリズムは単純かつ高速です。

6. DBスキャン

DBSCAN図

クラスターの数 k が指定されている場合、DBSCAN (密度ベースの空間クラスタリング) を使用して、サンプルを密度拡散によって接続できます。

7. 階層的クラスタリング

階層的パーティション分割は、ツリー構造 (デンドログラム) を使用して視覚化できます。入力としてクラスターの数を必要とせず、異なる K を使用してさまざまな粒度レベルでパーティション分割を表示できます (つまり、クラスターを細分化/粗くすることができます)。

PCA、SVD、LDA

一部の特徴は無関係であったり、「本質的な」次元が特徴の数よりも少ない可能性があるため、通常は大量の特徴を機械学習アルゴリズムに直接入力することは望ましくありません。主成分分析 (PCA)、特異値分解、潜在ディリクレ配分 (LDA) はすべて次元削減に使用できます。

PCA は、可能な限り多くの情報を保持しながら、元のデータ空間を低次元空間にマッピングできる教師なしクラスタリング手法です。 PCA は基本的に、データの分散を維持し、データの共分散行列の主固有ベクトルによって定義されるサブスペースを探します。

SVD と PCA は多少関連しています。中心化されたデータ マトリックス (特徴とサンプル) の SVD は、PCA によって検出されたものと同じサブスペースを定義する優勢な左特異ベクトルを提供できます。ただし、SVD は PCA ではできないことも実行できるため、より一般的な手法です。たとえば、ユーザー対映画のマトリックスの SVD では、ユーザー プロファイルと映画プロファイルを抽出でき、それを推奨システムで使用できます。さらに、SVD は、自然言語処理の分野では潜在意味解析として知られるトピックモデリングツールとしても広く使用されています。

自然言語処理の分野における関連技術として、潜在的ディリクレ配分法 (LDA) があります。 LDA は、ガウス混合モデル (GMM) が連続データをガウス密度に分解するのと同じ方法でドキュメントをトピックに分解する確率トピック モデルです。 GMM とは異なり、LDA は離散データ (ドキュメント内の単語) をモデル化し、そのトピックがディリクレ分布に従って事前に分布するように制約します。

VI. 結論

これは習得しやすいワークフローです。新しい問題に取り組むときに重要な情報は次のとおりです。

  • 問題を定義します。どのような問題を解決しようとしていますか?
  • シンプルに始めましょう。データとベンチマーク結果を理解しましょう。
  • 次に、もっと複雑なものを試してみましょう。

原文: http://blogs.sas.com/content/subconsciousmusings/2017/04/12/machine-learning-algorithm-use/

[この記事は、51CTOコラムニストのMachine Heart、WeChatパブリックアカウント「Machine Heart(id:almosthuman2014)」によるオリジナル翻訳です]

この著者の他の記事を読むにはここをクリックしてください

<<:  初心者に適した機械学習アルゴリズムの選び方

>>:  バックエンド開発にとってどれほど恥ずかしいことでしょうか?フロントエンドプログラマーの給与が明らかに

ブログ    
ブログ    
ブログ    

推薦する

...

3枚の写真からフィギュアの3Dモデルを生成!南カリフォルニア大学の中国人博士が、より現実的な新しいモデル「NeROIC」を提案しました。

ディープラーニングが加わったことで、コンピュータグラフィックスには多くの新しい分野が生まれました。 ...

3Dタスク(知覚、推論、計画、行動)に精通した初の具現化されたジェネラリストエージェント

汎用人工知能へと進むには、人間の生活の現実世界を理解し、豊富なスキルを習得できる具現化された汎用イン...

...

小規模、高効率:DeepMind がマルチモーダル ソリューション Mirasol 3B を発表

マルチモーダル学習が直面している主な課題の 1 つは、テキスト、オーディオ、ビデオなどの異種のモダリ...

人工知能は二酸化炭素排出量のせいで制限されるのでしょうか?

AI にカーボン フットプリントがあることは驚くことではありません。カーボン フットプリントとは、...

Liang Yanbo: データマイニングと機械学習アルゴリズム

電子商取引であれ、インターネット広告であれ、直接ユーザーと向き合うものであり、ユーザーの属性によって...

2024年のテクノロジートレンド

2024年を見据えて、多くの技術リーダーや観察者は、AIが依然として会話や企業計画の中心となるだろう...

...

...

企業や不動産管理会社が課す顔認識要件をどのように規制するか?あなたの権利を守るには?

[[429833]]ショッピングモールは顔認識カメラをオンにし、情報は「気付かれずに」収集されます...

GTA5をプレイしていますか?インテルの新しいモデルは3Dレンダリングをリアルな画像に変換します

GTA5 は古典的な 3D アドベンチャー ゲームであり、そのスタイルは次のとおりです。写真は現実に...

英国メディア:シリコンバレーの一部の人々はAIに熱心すぎて「学習は無意味だ」と言っている

6月13日のニュース、人工知能の急速な発展に伴い、シリコンバレーは、人間の行動は予測可能であり、スキ...

医療診断AIプロジェクトを実施するための10のステップ

【51CTO.com クイック翻訳】ヘルスケアのあらゆる側面において、時間は常に最も貴重な部分である...

会話型AIが顧客体験を向上させる方法

[[380661]] [51CTO.com クイック翻訳] 会話型 AI により、アプリケーションは...