スタブ 生成的機械学習モデルと判別的機械学習モデル - Unite.AI
私達と接続
AI マスタークラス:

AI 101

生成的機械学習モデルと判別的機械学習モデル

mm
更新中 on

一部の機械学習モデルは、「生成」モデルまたは「識別」モデルのカテゴリに属します。それでも、何ですか 違い この XNUMX つのカテゴリーのモデルですか? モデルが識別的または生成的であるとはどういう意味ですか?

簡単に言うと、生成モデルはデータセットの分布を含み、特定の例の確率を返すモデルであるということです。 生成モデルは、シーケンス内で次に何が起こるかを予測するためによく使用されます。 一方、識別モデルは分類または回帰のいずれかに使用され、予測を返します。 条件に基づいて 確率。 XNUMX つのタイプのモデルを区別するものと、それぞれのタイプをいつ使用する必要があるかを真に理解できるように、生成モデルと識別モデルの違いをさらに詳しく調べてみましょう。

生成モデルと判別モデル

機械学習モデルを分類するにはさまざまな方法があります。 モデルは、生成モデル、識別モデル、パラメトリック モデル、ノンパラメトリック モデル、ツリーベース モデル、非ツリーベース モデルなどのさまざまなカテゴリに属する​​ものとして分類できます。

この記事では、生成モデルと判別モデルの違いに焦点を当てます。 まず生成モデルと識別モデルの両方を定義し、次に各タイプのモデルの例をいくつか見ていきます。

生成モデル

生成モデル データセット内のクラスの分布に重点を置いたものです。 機械学習アルゴリズムは通常、データ ポイントの分布をモデル化します。 生成モデルは同時確率の発見に依存しています。 指定された入力フィーチャと目的の出力/ラベルが同時に存在するポイントを作成します。

生成モデルは通常、確率と尤度を推定し、データ ポイントをモデル化し、これらの確率に基づいてクラスを区別するために使用されます。 モデルはデータセットの確率分布を学習するため、この確率分布を参照して新しいデータ インスタンスを生成できます。 生成モデルがよく依存するもの ベイズの定理 p(x,y) を求めて同時確率を求めます。 基本的に、生成モデルはデータがどのように生成されたかをモデル化します。次の質問に答えてください。

「このクラスまたは別のクラスがこのデータ ポイント/インスタンスを生成した可能性はどれくらいですか?」

生成機械学習モデルの例には、線形判別分析 (LDA)、隠れマルコフ モデル、ナイーブ ベイズのようなベイジアン ネットワークなどがあります。

識別モデル

生成モデルはデータセットの分布について学習しますが、 識別モデル データセット内のクラス間の境界について学びます。 識別モデルの目標は、 決断の境界線 クラス間で信頼性の高いクラス ラベルをデータ インスタンスに適用します。 判別モデルは、個々のデータ ポイントについていかなる仮定も行わず、条件付き確率を使用してデータセット内のクラスを分離します。

識別モデルは、次の質問に答えるために設定されました。

「このインスタンスは決定境界のどちら側にありますか?」

機械学習における識別モデルの例には、サポート ベクター マシン、ロジスティック回帰、デシジョン ツリー、ランダム フォレストなどがあります。

生成的と識別的の違い

ここでは、生成モデルと識別モデルの主な違いを簡単にまとめます。

生成モデル:

  • 生成モデルは、データセット内のクラスの実際の分布を取得することを目的としています。
  • 生成モデルは、ベイズの定理を利用して同時確率分布 – p(x,y) – を予測します。
  • 生成モデルは、判別モデルと比較して計算コストが高くなります。
  • 生成モデルは、教師なし機械学習タスクに役立ちます。
  • 生成モデルは、判別モデルよりも外れ値の存在による影響を受けます。

識別モデル:

  • 識別モデルは、データセット クラスの決定境界をモデル化します。
  • 判別モデルは、条件付き確率 – p(y|x) を学習します。
  • 判別モデルは、生成モデルと比較して計算コストが低くなります。
  • 判別モデルは、教師あり機械学習タスクに役立ちます。
  • 判別モデルには、生成モデルとは異なり、外れ値に対してより堅牢であるという利点があります。
  • 判別モデルは、生成モデルと比較して外れ値に対してより堅牢です。

次に、生成機械学習モデルと判別機械学習モデルのさまざまな例をいくつか簡単に説明します。

生成モデルの例

線形判別分析(LDA)

LDAモデル データセット内の各クラスのデータの分散と平均を推定することによって関数を作成します。 すべてのクラスの平均と分散が計算された後、特定の入力セットが特定のクラスに属する確率を推定することによって予測を行うことができます。

隠れマルコフモデル

マルコフ連鎖 は、チェーンのある点、つまり「状態」から別の状態に移行する可能性を示す確率を示すグラフと考えることができます。 マルコフ連鎖は、状態 j から状態 i に移動する確率を決定するために使用され、p(i,j) と表すことができます。 これは、前述した結合確率にすぎません。 隠れマルコフ モデルでは、目に見えず観察できないマルコフ連鎖が使用されます。 データ入力がモデルに与えられ、現在の状態とその直前の状態の確率を使用して、最も可能性の高い結果が計算されます。

ベイジアンネットワーク

ベイジアンネットワーク 確率的グラフィカル モデルの一種です。 これらは、有向非巡回グラフで表されるように、変数間の条件付き依存関係を表します。 ベイジアン ネットワークでは、グラフの各エッジは条件付きの依存関係を表し、各ノードは一意の変数に対応します。 グラフ内の固有の関係の条件付き独立性を使用して、変数の結合分布を決定し、結合確率を計算できます。 言い換えれば、ベイジアン ネットワークは、特定の同時確率分布内の独立した関係のサブセットを取得します。

確率変数、条件関係、確率分布がわかっているベイジアン ネットワークが作成され、適切に定義されると、それを使用してイベントや結果の確率を推定できます。

最も一般的に使用されるタイプのベイジアン ネットワークの XNUMX つは、単純ベイズ モデルです。 Naive Bayes モデルは、すべての特徴を互いに独立したものとして扱うことで、多くのパラメーター/変数を含むデータセットの確率を計算するという課題に対処します。

判別モデルの例

サポートベクターマシン

サポートベクターマシン データポイント間に決定境界を描画し、データセット内の異なるクラスを最もよく分離する決定境界を見つけることによって動作します。 SVM アルゴリズムは、2 次元空間と 3D 空間のそれぞれに対して、点を分離する線または超平面を描画します。 SVM は、マージン、つまり線/超平面から最も近い点までの距離を最大化することによって、クラスを最もよく分離する線/超平面を見つけようとします。 SVM モデルは、「カーネル トリック」を使用して非線形の決定境界を識別することで、線形に分離できないデータセットでも使用できます。

ロジスティック回帰

ロジスティック回帰 は、ロジット (対数オッズ) 関数を使用して、入力が 0 つの状態のいずれかになる確率を決定するアルゴリズムです。 シグモイド関数は、確率を 1 または 0.50、真または偽のいずれかに「押しつぶす」ために使用されます。 1 より大きい確率はクラス 0.49 であるとみなされ、0 以下の確率は XNUMX であるとみなされます。このため、通常、バイナリ分類問題ではロジスティック回帰が使用されます。 ただし、ロジスティック回帰は、XNUMX 対すべてのアプローチを使用し、クラスごとにバイナリ分類モデルを作成し、例がターゲット クラスであるか、データセット内の別のクラスである確率を判断することで、複数クラスの問題に適用できます。

決定木

A 決定木 モデルは、データセットをより小さな部分に分割することによって機能します。サブセットがそれ以上分割できなくなると、ノードとリーフを含むツリーが作成されます。 デシジョン ツリー内のノードでは、さまざまなフィルタリング基準を使用してデータ ポイントに関する決定が行われます。 デシジョン ツリーの葉は、分類されたデータ ポイントです。 デシジョン ツリー アルゴリズムは数値データとカテゴリ データの両方を処理でき、ツリー内の分割は特定の変数/特徴に基づいています。

ランダムフォレスト

A ランダムフォレストモデル は基本的に、個々のツリーの予測が平均されて最終的な決定に至る単なる決定ツリーのコレクションです。 ランダム フォレスト アルゴリズムは、観測値と特徴をランダムに選択し、これらの選択に基づいて個々のツリーを構築します。

このチュートリアル記事では、Matplotlib で箱ひげ図を作成する方法を説明します。 箱ひげ図は、データセットの概要統計を視覚化するために使用され、データの範囲や分布などの分布の属性を表示します。

専門分野を持つブロガーおよびプログラマー 機械学習 & 深層学習 トピック。 ダニエルは、他の人が社会利益のために AI の力を活用できるよう支援したいと考えています。