1. 序章

このチュートリアルでは、生成的および識別的な機械学習アルゴリズムについて学習します。

まず、生成的および識別的アルゴリズムの定義を学習します。 次に、アルゴリズムを比較対照して、アルゴリズムの長所と短所を理解します。

2. 生成アルゴリズム

このタイプのアルゴリズムは、「データセットにデータを入力する方法」をモデル化しようとします。モデルをサンプリングすると、生成された合成データポイントが得られます。

確率分布を推定します。 正式には、生成モデルは、特定のターゲットの条件付き確率を推定します。 たとえば、ナイーブベイズアルゴリズムは、ベイズルールを適用することにより、確率をモデル化し、条件付き確率に変換します。

一般的な生成アルゴリズムは次のとおりです。

  • ナイーブベイズ分類器
  • 敵対的生成ネットワーク
  • ガウス混合モデル
  • 隠れマルコフモデル
  • 確率文脈自由文法

3. 識別アルゴリズム

識別アルゴリズムは、直接解のモデル化に重点を置いています。たとえば、ロジスティック回帰アルゴリズムは、決定境界をモデル化します。 次に、決定境界に対してどこに立っているかに基づいて、観測の結果を決定します。

識別アルゴリズムは事後確率を推定します。 生成アルゴリズムとは異なり、基礎となる確率分布をモデル化しません。 正式には、観測値が与えられた場合のターゲットの条件付き確率をモデル化します。

いくつかの一般的な識別アルゴリズムは次のとおりです。

  • k最近傍法(k-NN)
  • ロジスティック回帰
  • サポートベクターマシン(SVM)
  • デシジョンツリー
  • ランダムフォレスト
  • 人工ニューラルネットワーク(ANN)

4. ジェネレーティブvs。 識別モデル

私たちのタスクがテキストドキュメントの言語を決定することであると仮定しましょう。 機械学習の助けを借りて、このタスクをどのように解決しますか?

私たちはそれぞれの言語を学び、それから言語を決定することができます。 これが生成モデルの仕組みです。

あるいは、実際に言語を学ぶことなく、言語の違いと言語の一般的なパターンだけを学ぶことができます。 これが差別的なアプローチです。 この場合、私たちはどの言語も話しません。

言い換えれば、識別アルゴリズムは、ケースを区別する方法に焦点を当てています。 したがって、彼らは決定境界の学習に焦点を合わせています。 一方、生成アルゴリズムは、データの基本的なプロパティと、データを最初から生成する方法を学習します。

生成的アプローチはモデリングに焦点を当てていますが、識別的アプローチはソリューションに焦点を当てています。したがって、生成的アルゴリズムを使用して新しいデータポイントを生成できます。 識別アルゴリズムはその目的を果たしません。

それでも、識別アルゴリズムは一般に分類タスクのパフォーマンスが優れています。これは、より一般的な問題を最初に解決するのではなく、実際の問題を直接解決することに重点を置いているためです。

しかし、生成アルゴリズムの真の強みは、変数間の複雑な関係を表現する能力にあります。つまり、それらには説明力があります。 その結果、彼らはNLPと医学で成功したユースケースを持っています。

一方、識別アルゴリズムは、決定境界を簡単な用語で表現する機能がなく、ブラックボックスのように感じられます。 変数間の関係は明示的に説明できません。 したがって、簡単に視覚化することはできません。

さらに、生成モデルは、予測能力を備えているため、教師なし学習タスクや教師あり学習タスクの解決に適しています。 識別モデルにはラベル付きのデータセットが必要であり、コンテキストから推測することはできません。 その結果、生成モデルは、異常検出および監視領域でより包括的なアプリケーションを持ちます。

さらに、生成アルゴリズムは識別アルゴリズムよりも速く収束します。したがって、トレーニングデータセットが小さい場合は、生成モデルを使用します。

生成モデルはより速く収束しますが、より高い漸近誤差に収束します。 逆に、識別モデルはより小さな漸近誤差に収束します。したがって、トレーニング例の数が増えると、識別モデルのエラー率は減少します。

要約すると、生成アルゴリズムと識別アルゴリズムには、それぞれ長所と短所があります。

5. 結論

この記事では、2つの機械学習方法について学習しました。

生成モデルにはモデリングが含まれますが、識別モデルは直接解決策を見つけることに焦点を当てています。

生成モデルには説明力があり、よりエレガントです。 ただし、通常、識別アプローチの方がパフォーマンスが高くなります。

いつものように、目前の問題に基づいて使用するアルゴリズムを決定する必要があります。