さまざまな機械学習アルゴリズムの選択の考え方を説明する記事

さまざまな機械学習アルゴリズムの選択の考え方を説明する記事

序文

これは Zhihu に関する質問です: k 近傍法、ベイズ法、決定木、SVM、ロジスティック回帰と最大エントロピー モデル、隠れマルコフ法、条件付きランダム フィールド、アダブースト、EM は、一般的な作業でどのくらいの頻度で使用されますか? 一般的な目的は何ですか? 何に注意する必要がありますか?

この質問には13,000人のフォロワーと50件の回答があります。私のZhihuアカウントは数時間後にブロック解除されるので、まずは公式アカウントで書きます。たまたま以前に2つの質問について書いたことがありますが、アイデアの多くは同じです。今日はステッチインワンになり、このシリーズは完了します。

導入

2021年になりました。かつては誰も考慮していなかったニューラルネットワークは、今ではあらゆる分野やシナリオで普及し、欠かせないものになっています。

これらのアルゴリズムは、教師ありアルゴリズムと教師なしアルゴリズムに分類されます。回答の大半も教師あり選択に焦点を当てています。教師なし選択は、さまざまな問題が教師あり選択ほど簡単に解決できないため、実際の作業アプリケーションで実際に使用されています。

複雑な外殻を剥ぎ取り、詳細を解明し、アプリケーションにおける重要な違いを見つけてみましょう。最適なアルゴリズムは存在せず、最も適したシナリオのみ存在します。

最も古典的な質問をします。

タイトル: ロジスティック回帰モデルを使用して、体型分類器を構築してください。体型は太っているものと痩せているものに分けられます。入力特徴は身長と体重です。

データセットは次のようになります。

まずロジスティック回帰から始め、記事全体を通して非常に重要な概念である「非線形性」を紹介します。

ロジスティック回帰問題の解決方法は、2 つの係数に重みを付け、シグモイド (ax+by+c) を使用することです。 LR モデリングのプロセスは、3 つのパラメータ abc を学習するプロセスです。

LR は初期の産業世界で重要な役割を果たしました。Phoenix Nest が数億の機能でパーソナライズされた広告を解決したという伝説を聞いたことがあるかもしれません。

それはおそらくLRの人生におけるハイライトだったでしょう。彼はそのようなパラメータを何億個も作成し、加重合計を計算し、シグモイドを通じてそれを確率に変換しました。このモデルは人間の努力と同等の知能を持っているようで、人工知能の本質に非常に近いです。特徴を把握して重みを計算できれば、問題は解決するのでしょうか?

実は、身長と体重だけで人の体型を判断するのは難しいです。ヤオミンの体重は280キログラムだそうですが、本当に太っているのでしょうか?彼の身長は226センチであることを忘れないでください。

このデータセットはあなたの理解を超えているかもしれません。写真を見ずにデータだけを見ると、彼が太っているのか痩せているのかを判断するのは困難です。 (実は結構太ってます笑)

そうですね、そのデータセットを見ると、すぐに言葉で表現するのは難しいですが、これは機械学習において非常に重要な概念、「非線形性」です。

この問題を「線形」に解くのはそれほど簡単ではありません。線形に解くということは、元の特徴 x と y に 2 つの係数を追加し、シグモイド (ax+by+c) を使用して解くことを意味します。

解決策は2つあります。

1. モデルをアップグレードし、線形ロジスティック回帰にカーネルを追加して非線形機能を強化します。このモデルシグモイド(ax+by+kx*y^(-2)+c)は、多項式カーネル法でモデルをアップグレードすることで、低次元空間での線形モデルでは解決が難しい問題を解決します。

2. 特徴エンジニアリング、身体検査レポートの BMI 指数を取り出します。BMI = 体重 / (身長^2)。このように、BMI 指数は人の体型を非常に明確に表すのに役立ちます。元の体重と身長のデータを破棄することもできます。

同様の問題には、Naive Bayes や SVM などがあります。

ベイジアン

ほとんどの人にとって、Naive Bayes との最初の接触は、おそらくテキスト分類のタスクを通じてでしょう。これは教科書でよく見られるスパム分類の例です。

古典的な統計的機械学習手法として、ナイーブベイズは本物のベイズ原理を適用し、最も直感的、最もシンプル、かつ最も高速なアルゴリズムです。

上で述べた例を使ってみましょう。ナイーブベイズはこの問題をどのように解決するのでしょうか?

このようなベイズ式を計算するだけです

p(カテゴリ|機能) = p(機能|カテゴリ)*p(カテゴリ)/p(機能)

特性は身長と体重、カテゴリーは体型です。

最後の 3 つの項目は、身長、体重、体型などの次元の統計的確率に対応しており、これらはすべてデータ セット内で統計的に計算できます。ベイジアン モデルをトレーニングするプロセスは、これらのさまざまな形式の確率式を計算するプロセスです。このようにして、予測をテーブル検索と乗算のプロセスに変換しました。テーブル検索はコンピューターで最も高速な操作であり、推論モデルとしても最速であることを意味します。

ナイーブベイズは特徴間の条件付き独立性を前提としており、つまり、

p(身長、体重|体型) = p(身長|体型)*p(体重|体型)

単純化されすぎているため、特定のシナリオでのみ使用されることがほとんどです。たとえば、非常に単純なテキスト分類には、Naive Bayes の方が適しています。

SVM

サポートベクターマシンも線形モデルです。

SVM は、学術界で非常に好まれるモデルです。分類器の長所を生かし、特徴空間に平面を描いてサンプル ポイントを分割します。このモデルは、視覚化の観点から解釈可能性を最大限に高めています。

多くの場合、物事は計画どおりに進まず、多くの事柄は線形に分離できず、単純に超平面を描くことはできません。これらを適切に分離するには、非常に曲がりくねった線を描く必要があります。

体型分類器の例に戻ると、BMI インデックスがない場合、SVM ハイパープレーンは BMI インデックスがある場合とはまったく異なります。

BMI指数があれば、1次元の座標軸上に点を描くことで解くことができます。

BMI指数がない場合。 LR のようなカーネル法でのみ解決できます。方法 1 では、カーネル法を使用してこれらのモデルの次元を増やし、方法 2 では特徴法を使用しました。

世の中にただで手に入るものはないことを知っておくべきです。カーネル法を使って次元を増やす場合、それを x*y^(-2) とまったく同じ多項式に洗練するのは実は非常に困難です。x*y、x^2*y、x*y^2 などの項を投入したに違いありません。

決定木

このような激しい操作には、共線性とノイズという 2 つの問題があります。

まず、共線性とは、いくつかの項目によって表現される意味が収束し、強い線形関係を維持することを意味します。これは、重みの不安定性を引き起こすため、ロジスティック回帰にとって致命的な問題です。ロジスティック回帰の重みは、特徴の重要性を意味することを知っておく必要があります。また、ナイーブベイズの基本的な仮定も覆すことになります。これらはすべて副作用があります。

(この段落を理解するのが難しい場合は、ロジスティック回帰モデルと共線性の理論を注意深く勉強してください。ここでは詳しく説明しません。)

2 番目に、ノイズによって分類器は間違ったことを学習し、それが意思決定に一般的な貢献をすることはありません。その代わりに、モデルを誤った方向に導き、知識ではない断片的な情報を学習します。

そして、これらの問題を自然に解決できるモデルがいくつかあります。

代表的なものとしては、決定木とニューラル ネットワークがあります。

決定木の利点

1. 自然な堅牢性、外れ値や欠損値から情報を自動的に学習できます。正規化は必要ありません。ただ全力を尽くすだけです。

2. ツリーは、非線形特徴を表現するいくつかのタスクを半自動的に完了することができ、貪欲セグメンテーション+サンプリングなどの過剰適合防止方法に基づいて、データの非線形性をより適切にマイニングすることができます。

3. ツリーは非常に解釈しやすく、特徴の重要性を生成できるため、データの理解と特徴エンジニアリングの改善に役立ちます。従来のアプローチは、topN 機能の背後にあるロジックを検討し、それらを中心に機能エンジニアリングを実行することです。

ニューラルネットワーク

NN モデルには、次のような自然な利点もあります。

1. 完全に自動化された特徴エンジニアリングと比類のない非線形表現機能により、NN は、統一されたデータ表現パラダイムと意味論的意味 (通常はテキスト画像) を持つ高密度データに対して、他の 10 個のアルゴリズムよりも優れたパフォーマンスを発揮します。さらに、典型的な ID シーケンスを人間が作成するのは困難です。つまり、Bag of words や埋め込み表現を使用する場合、功績の半分は NN に帰属します。

2. NN モデルは非常に大きな容量を持っているため、データ量の増加に伴って 1 の利点が増幅されます。

しかし、ツリーモデルの利点は他のモデルにも当てはまるようです。ツリーモデルと SVM や LR などのモデルの違いは何でしょうか?

1. まず、これらのモデルが非線形性を実現する方法は、大砲を使って蚊を殺すようなもので、あまりにも粗雑です。カーネルに依存して VC 次元を強制的に増やすと、ノイズが多く発生し、有用な情報はほとんど得られません。第二に、カーネルは先験的であり、人間が設定したパラメータによって簡単に誤った方向に導かれる可能性があります。これは実際のビジネスデータでは非常に致命的です。

2. 理論上、LR + 完璧な特徴エンジニアリングは非常に強力ですが、難しすぎるため、誰もが特徴エンジニアリングの達人になれるわけではありません。初期の頃、Fengchao の億級機能は優れた LR 結果を示し、徐々に伝説になりました。

テーブル全体をあげます。

利点デメリット
LR等

非常に高速で、一般的に非常に解釈しやすいです。

非線形性なし、カーネル依存、

手動の特徴エンジニアリング。

決定木 1. 堅牢性、外れ値、欠損値はすべて学習可能な情報です
2. 中程度の非線形能力。これは一定の範囲内で有利です。3. 優れた解釈可能性。これは特徴エンジニアリングの最適化に役立ちます。
1. 非線形表現能力には限界があり、テキスト画像には適用しにくい。
2. データ量によってもたらされる限界利益は大きくなく、天井に達しやすい。
NN 1. 完全に自動化された特徴エンジニアリング
2. このモデルは大容量で、データ量を有効活用できる
1. 外れ値に敏感で、手作業による処理に頼っている
2. 説明できないが、反復的な対策と結果の改善への道は遠すぎる。 3. 過度の非線形性は過剰適合とノイズを意味します。

水平比較

以前使用した写真を改良しました。

このグラフが意味するのは、y 軸が人間の認知的解決可能性の度合いであり、それが特徴エンジニアリングの難易度と実現可能性に対応しているということです。 x 軸はデータの非線形性を表します。

人工知能は、手作業の量と同じくらいの知能を持っているとよく冗談で言われますが、これは人工的な特徴エンジニアリングによって線形モデルが使用されるスペースです。データの非線形性が増し、特徴エンジニアリングが困難になるにつれて、LR 線形モデルの有用性はますます低下します。それどころか、決定木やニューラルネットワークなどの非線形モデルが徐々にその能力を発揮し始めました。

質問に戻ると、これらのモデルが使用される頻度は、それぞれのグラフの領域とほぼ一致しています。ニューラル ネットワークはすでに業界の半分を占めており、決定木が残りの大部分を占めています。LR やその他のモデルは特殊な性質を持つため、まだ使用されているシナリオがいくつかあります。

<<:  AIは急速に変化しています。コンピュータービジョンの未来はどこにあるのでしょうか?

>>:  人工知能専攻では主に何を学ぶのですか?キャリアの方向性と展望は何ですか?

ブログ    
ブログ    
ブログ    
ブログ    

推薦する

...

人工知能市場の需要と応用

「人工知能」は3年連続で政府活動報告に盛り込まれており、2019年にはビッグデータ、人工知能などの研...

...

...

AIシステムのグレーディングを通じて企業のコスト管理を支援

翻訳者 | 張毅校正 | 梁哲、孫淑娟自動車技術協会(SAE)が自動運転車を分類しているのと同じよう...

MITのコンピューターの先駆者ジョエル・モーゼス氏が死去! 50年前にコンピューターに微積分を教えた

コンピューターの専門家がまた一人亡くなりました! 著名なコンピューター科学者で、MITのコンピュータ...

35258 スター!これはITアーキテクトの技術知識マップのコレクションです

ソフトウェア アーキテクチャは、あらゆるソフトウェア プロジェクトの重要な部分になっています。アーキ...

タクシー無料!百度:北京の自動運転タクシーサービスが全面オープン

簡単に体験できるものではないため、自動運転技術が実用化にはまだ遠いと感じている人も多いでしょう。しか...

人工知能について知っておくべきことすべて

人工知能は今日最も話題になっている技術の一つです。しかし、それは正確には何でしょうか?なぜ気にする必...

...

...

アプリオリアルゴリズム原理の要約

[[182123]]関連付けアルゴリズムは、データ マイニングにおける重要なタイプのアルゴリズムです...

AIが宇宙飛行士の健康を宇宙で監視する方法

[[286902]] ▲ 火星探査機ロゼッタが光学スペクトル赤外線リモートイメージングシステム(OS...

テスラ、マイクロソフト、グーグル、アップルなどを含む1,000件以上の「AIロールオーバー」事件が発生しています。

この記事はLeiphone.comから転載したものです。転載する場合は、Leiphone.com公式...

バブルソートに加えて、Python の組み込みソートアルゴリズムをご存知ですか?

プログラミング アルゴリズムに関して、多くの読者が学校で最初に学ぶのはバブル ソートかもしれませんが...