ホーム
Topics
ナイーブベイズ
ナイーブ・ベイズ分類器は、テキスト分類などの分類タスクに使用される教師あり機械学習アルゴリズムです。これらは、確率の原則を使用して分類タスクを実行します。
ナイーブ・ベイズは生成学習アルゴリズムのファミリーの一部であり、特定のクラスまたはカテゴリの入力の分布をモデル化することを意味します。ロジスティック回帰などの判別分類器とは異なり、クラス間を区別するためにどの特徴が最も重要であるかを学習しません。
データレイクハウス戦略をデータ・アーキテクチャーに統合することで、AIの拡張やコスト最適化の機会など、そのパワーを実感してください。
ナイーブ・ベイズはベイズの定理に基づいているため、確率的分類器としても知られています。ベイズ統計の基本を説明せずにこのアルゴリズムを説明することは困難です。 ベイズの法則としても知られるこの定理により、条件付き確率を「反転」することができます。 条件付き確率は、他のイベントが発生した場合のイベントの確率を表し、次の式で表されます。
ベイズの定理は、後から取得される追加情報が初期確率に影響を与える一連のイベントの使用によって区別されます。 これらの確率は、事前確率と事後確率として表されます。事前確率は、特定の条件下で文脈化される前のイベントの初期確率、または限界確率です。事後確率は、データの一部を観察した後の事象の確率です。
この概念を示す統計学と機械学習の文献(ibm.com外部リンク)でよく使われる例は、医療検査です。たとえば、糖尿病かどうかを確認するために検査を受けるJaneさんという人がいると想像してください。糖尿病になる全体的な確率は5%だとしましょう。これが事前確率になります。ただし、検査で彼女に陽性の結果が出た場合、この追加情報を考慮して事前確率が更新され、それが事後確率になります。この例は、ベイズの定理を使用すると次の方程式で表すことができます。
しかし、食事、年齢、家族歴などの他の変数を考慮すると、事前確率の知識は正確ではない可能性が高いため、通常はランダムサンプルからの確率分布を活用し、方程式をP(Y|X) = P(X|Y)P(Y) / P(X)と簡略化します。
ナイーブ・ベイズ分類器は、いくつかの重要な仮定の下で動作するという点で異なる動作をするため「ナイーブ(単純)」という名前が付けられています。ナイーブ・ベイズモデルの予測子は条件付きで独立している、つまりモデル内の他の特徴とは無関係であると仮定します。また、すべての特徴が結果に等しく寄与すると仮定します。 これらの前提は、現実のシナリオでは成り立たないことがよくあります(たとえば、電子メール内の後続の単語はその前にある単語に依存します)が、計算処理が容易になることで分類問題を単純化します。つまり、各変数に必要な確率は1つだけになるため、モデルの計算が容易になります。この非現実的な独立性の仮定に反し、特にサンプルサイズが小さい場合、分類アルゴリズムは良好なパフォーマンスを発揮します。
この仮定を念頭に置いて、ナイーブ・ベイズ分類器の要素をより詳細に再分析できます。ベイズの定理と同様に、条件付き確率と事前確率を使用し、次の式を使用して事後確率を計算します。
ここで、ナイーブ・ベイズのアルゴリズムがどのように機能するかを説明するために、テキスト分類のユースケースを想像してみましょう。スパムフィルターの改善を検討しているEメールプロバイダーを想像してください。トレーニングデータは「スパム」または「非スパム」に分類されたEメールの単語で構成されます。そこから、クラスの条件付き確率と事前確率が計算され、事後確率が得られます。ナイーブ・ベイズ分類器は、特定のEメールに対するクラス群(例:「スパム」または「非スパム」)のうち最大の事後確率を持つクラスを返すことによって動作します。この計算は次の式で表されます。
各クラスは同じテキスト部分を参照しているため、実際にはこの式から分母を削除して、次のように単純化できます。
次に、トレーニングデータセットに基づく学習アルゴリズムの精度が、テストデータセットのパフォーマンスに基づいて評価されます。
これをもう少し詳しく理解するために、この式を構成する個々の部分をさらに深く見ていきます。クラス条件付き確率は、Eメール内の各単語における個別の可能性です。これらは、「スパム」または「非スパムではない」などのカテゴリーごとに各単語の頻度を決定することによって計算され、最尤推定法(MLE)とも呼ばれます。 この例では、「拝啓」というフレーズがあるかどうかを調べる場合、すべてのスパムEメールと非スパムEメール内でこれらの単語がどのくらいの頻度で出現するかを計算するだけです。これは、yが「拝啓」、xが「スパム」である場合、次の式で表すことができます。
事前確率は、先ほどベイズの定理で説明したものとまったく同じです。トレーニングセットに基づいて、Eメールが「スパム」または「非スパム」かという全体的な確率を計算できます。 クラスラベル「スパム」の事前確率は、次の式で表されます。
事前確率は、2つの値を乗算するときにクラス条件付き確率に対する「重み」として機能し、個々の事後確率が得られます。そこから、最大事後推定(MAP)が計算され、スパムか非スパムかのクラスラベルが割り当てられます。ナイーブ・ベイジアン方程式の最終方程式は、次の方法で表すことができます。
あるいは、ナイーブ・ベイズは一般的に次の形式で使われるため、対数空間で表すこともできます。
分類器を評価する方法の1つは、混同行列をプロットすることです。これにより、行列内に実際の値と予測値がプロットされます。通常、行は実際の値を表し、列は予測値を表します。多くのガイドでは、この図を次のような2x2プロットとして説明します。
ただし、0から9までのイメージを予測する場合は、10x10のプロットが作成されます。 分類器が4と9の画像を「混同」した回数を知りたい場合は、4行目と9 列目を確認するだけでよいのです。
ナイーブ・ベイズ分類器の種類は1種類だけではありません。最も一般的なタイプは、特徴量の分布によって異なります。その例としては、以下があります。
これらはすべて、Scikit Learn Pythonライブラリ(別名:sklearn)(ibm.com外部リンク)から実装できます。
ナイーブ・ベイズは、他の多くのアルゴリズムと同様に、大量のデータを有用な情報に変換するデータ・マイニング・アルゴリズム群に属しています。ナイーブ・ベイズの応用には次のようなものがあります。
IBM Cloud Pak for Dataは、オープンで拡張可能なデータ・プラットフォームであり、あらゆるクラウドでAIや分析のために全てのデータを利用可能にするデータ・ファブリックを提供します。
AIモデルを構築、実行、管理します。オープンソースコードまたはビジュアルモデリングを使用して、任意のクラウド上でデータを準備し、モデルを構築します。結果を予測して最適化します。
ビジネス向けの生成AIと機械学習の運用化と拡張を推進します。
プロンプト・エンジニアリング、大規模な言語モデル、オープンソース・プロジェクトなど、AIと生成AIの基本概念を説明します。
この論文では、IBM Researchが、クラス条件付き特徴量分布のエントロピーの減少がナイーブ・ベイズ分類器の誤差にどのように影響するかを実証的に示しています。
IBM Researchは、モンテカルロ・シミュレーションを使用して、ナイーブ・ベイズが完全に独立した特徴と機能的に依存する特徴の2つの場合に最も効果的に機能することを示しました。
分類ベースの機械学習問題を解決するための基本を学び、現在最も人気のあるアルゴリズムのいくつかを比較研究します。
scikit-learnを使用して、マルチノミナル・ナイーブ・ベイズを使用した一般的なテキスト分類タスク(スパムフィルタリング)を完了します。