AI 101
生成モデル vs. 判別モデルマシンラーニング

一部のマシンラーニングモデルは、生成モデルまたは判別モデルのカテゴリに属します。ただし、これら2つのモデルのカテゴリの違いは何ですか?モデルが判別的または生成的であることを意味するのは何ですか?
簡単に言うと、生成モデルは、データセットの分布を含み、与えられた例の確率を返すものです。生成モデルは、シーケンスの次のものが何であるかを予測するためによく使用されます。一方、判別モデルは、分類または回帰に使用され、条件付き確率に基づいて予測を返します。生成モデルと判別モデルの違いを詳しく見てみましょうので、2つのタイプのモデルの違いを真正に理解し、各タイプを使用するタイミングを把握できるようにします。
生成モデル vs. 判別モデル
マシンラーニングモデルを分類する方法は、いくつかあります。モデルは、生成モデル、判別モデル、パラメトリックモデル、非パラメトリックモデル、木ベースモデル、非木ベースモデルのカテゴリに分類できます。
この記事では、生成モデルと判別モデルの違いについて焦点を当てて説明します。まず、生成モデルと判別モデルの定義を説明し、次に各タイプのモデルについて説明します。
生成モデル
生成モデルは、データセット内のクラスの分布に焦点を当てたものです。マシンラーニングアルゴリズムは通常、データポイントの分布をモデル化します。生成モデルは、共同確率を求めることに依存しています。入力特徴と望ましい出力/ラベルが同時に存在するポイントを作成します。
生成モデルは、確率と可能性を推定し、データポイントをモデル化し、クラス間をこれらの確率に基づいて区別するために使用されます。モデルがデータセットの確率分布を学習するため、新しいデータインスタンスを生成するためにこの確率分布を参照できます。生成モデルは、ベイズの定理を使用して、p(x,y) を見つけるために、共同確率を求めることがよくあります。基本的に、生成モデルは、データが生成された方法をモデル化し、次の質問に答えます。
「このクラスまたは別のクラスがこのデータポイント/インスタンスを生成する可能性は何ですか?」
生成機械学習モデルの例には、線形判別分析(LDA)、隠れマルコフモデル、Naive Bayesを含むベイジアンネットワークがあります。
判別モデル
生成モデルはデータセットの分布を学習する一方で、判別モデルは、データセット内のクラスの境界を学習します。判別モデルでは、クラスに信頼性の高いクラスラベルを適用するために、クラス間の決定境界を識別することが目標です。判別モデルは、個々のデータポイントについての仮定を行わずに、条件付き確率を使用してクラスを区別します。
判別モデルは、次の質問に答えることを目指しています。
「このインスタンスは決定境界のどちら側にあるか?」
機械学習における判別モデルの例には、サポートベクターマシン、ロジスティック回帰、決定木、ランダムフォレストがあります。
生成モデルと判別モデルの違い
生成モデルと判別モデルの主な違いを簡単にまとめます。
生成モデル:
- 生成モデルは、データセット内のクラスの実際の分布を捉えることを目指しています。
- 生成モデルは、ベイズの定理を使用して、p(x,y) の共同確率分布を予測します。
- 生成モデルは、判別モデルに比べて計算コストが高くなります。
- 生成モデルは、無监督機械学習タスクに役立ちます。
- 生成モデルは、判別モデルよりも外れ値の存在に影響されやすいです。
判別モデル:
- 判別モデルは、データセットクラスの決定境界をモデル化します。
- 判別モデルは、p(y|x) の条件付き確率を学習します。
- 判別モデルは、生成モデルに比べて計算コストが低くなります。
- 判別モデルは、教師あり機械学習タスクに役立ちます。
- 判別モデルは、外れ値に対してよりロバストです。
- 判別モデルは、生成モデルよりも外れ値に対してよりロバストです。
ここで、生成モデルと判別モデルのさまざまな例を簡単に紹介します。
生成モデルの例
線形判別分析(LDA)
LDAモデルは、データセット内の各クラスの分散と平均を推定することによって機能します。各クラスの平均と分散が計算された後、入力が与えられたクラスに属する確率を推定することによって予測を行うことができます。
隠れマルコフモデル
マルコフ連鎖は、グラフと確率で構成され、連鎖の1つのポイント(状態)から別の状態に移動する確率を示します。マルコフ連鎖は、状態jから状態iに移動する確率、p(i,j)を決定するために使用されます。これは、上で説明した共同確率です。隠れマルコフモデルは、観測できないマルコフ連鎖を使用するものです。データ入力がモデルに与えられ、現在の状態と直前に状態の確率を使用して、最も可能性の高い結果を計算します。
ベイジアンネットワーク
ベイジアンネットワークは、確率グラフィカルモデルの一種です。グラフの各エッジは、変数間の条件付き依存関係を表し、各ノードは一意の変数に対応します。グラフの独自の関係の条件付き独立性を使用して、変数の共同分布を決定し、共同確率を計算できます。つまり、ベイジアンネットワークは、特定の共同確率分布の独立関係のサブセットを捉えます。
ベイジアンネットワークを作成して適切に定義すると、ランダム変数、条件付き関係、確率分布がわかると、イベントまたは結果の確率を推定するために使用できます。
ベイジアンネットワークで最も一般的に使用されるタイプの1つは、Naive Bayesモデルです。Naive Bayesモデルは、多数のパラメータ/変数を持つデータセットの確率を計算する課題に対処するために、すべての機能を相互に独立したものとして扱います。
判別モデルの例
サポートベクターマシン
サポートベクターマシンは、データポイント間に決定境界を描くことによって機能し、データセット内のクラスを最もよく分離する決定境界を見つけます。SVMアルゴリズムは、2次元空間の場合は線、3次元空間の場合は超平面を描きます。SVMは、クラスを分離するために、線/超平面と最も近いポイントの間の距離(マージン)を最大化することを目指します。SVMモデルは、カーネルトリックを使用して非線形の決定境界を識別することで、線形に分離できないデータセットにも使用できます。
ロジスティック回帰
ロジスティック回帰は、logit(log-odds)関数を使用して、入力が2つの状態の1つにある確率を決定するアルゴリズムです。シグモイド関数を使用して、確率を0または1、真または偽に「潰します」。0.50を超える確率はクラス1とみなされ、0.49以下の確率はクラス0とみなされます。したがって、ロジスティック回帰は、通常、2値分類問題で使用されます。ただし、ロジスティック回帰は、1対すべてのアプローチを使用して、各クラスに対して2値分類モデルを作成し、データセット内の別のクラスに対するターゲットクラスの確率を決定することで、多クラス問題にも適用できます。
決定木
決定木モデルは、データセットを小さな部分に分割し、サブセットをさらに分割できない場合、ノードと葉を持つ木が生成されます。決定木のノードは、データポイントについての決定がさまざまなフィルタリング基準を使用して行われる場所です。決定木の葉は、分類されたデータポイントです。決定木アルゴリズムは、数値データとカテゴリデータの両方を処理でき、木の分割は特定の変数/機能に基づいて行われます。
ランダムフォレスト
ランダムフォレストモデルは、基本的に、個々のツリーの予測を平均して最終的な決定を下すツリーのコレクションです。ランダムフォレストアルゴリズムは、観測と機能をランダムに選択し、これらの選択に基づいて個々のツリーを構築します。
このチュートリアル記事では、Matplotlibでボックスプロットを作成する方法について説明します。ボックスプロットは、データセットの要約統計を視覚化するために使用され、データの範囲や分布などの属性を表示します。








