単純ベイズの背景
単純ベイズ分類アルゴリズムは、ほとんどのアルゴリズムと比べて単純であるため、素早く簡単に適用できます。
単純ベイズの分類精度は、より複雑なアルゴリズムの精度と比べると高くありませんが、わずかな計算時間で似たような結果を得ることができます。属性値に対するクラスの条件付き確率を計算するために、単純ベイズ分類器アルゴリズムではベイズの定理を使用します。このような種類の確率は、クラスの事後確率 と呼ばれます。
単純ベイズ分類アルゴリズムは、次のようになります。
分子はベイズ分子と呼ばれ、分母はベイズ分母と呼ばれます。計算は、クラスの事前確率 に基づいて行われます。これらの確率は、次に示す、クラスに対する 属性値の条件付き確率 (逆確率) に基づいて、データから直接推定できます。
属性値の条件付き確率 (逆確率) は、各属性値の条件付き確率 の積として効率的に計算できます。これらの確率は、データから直接推定できますが、クラスの属性が条件付きで独立していることを前提とします。実際には、この前提が当てはまらないことがあります。これが、このアルゴリズムが「単純」と呼ばれる理由です。この前提に違反していると確率は正しく計算されませんが、違反していても予測の精度に影響しない場合もあります。計算に使用された確率が誤っていても、予測が正しい場合もあります。単純ベイズ分類器は、独立性に関する前提が満たされない複数のドメインで十分に予測できることが確認されています。
そのため、クラス内のいずれかの属性値の推定確率が 0 の場合、このクラスの事後確率も 0 と計算されます。この状態がすべてのクラスに当てはまる場合、予測はできません。この問題を回避するために、ゼロの確率を十分に小さい正数に置き換えることができます。 クラス に属性値 が に等しいインスタンスがない場合、確率 を、そのようなインスタンスのいずれか 1 つが存在する場合の推定確率の半分に設定できます。 より洗練された方法でこの問題を回避するには、修正された確率推定手法を使用してください。この手法は -推定と呼ばれます。この推定では、クラスごとの属性値の頻度を、いくつかの仮説的インスタンスに アプリオリ の想定頻度を使用して補います。クラスごとの属性値の頻度はトレーニング・インスタンスでも確認されます。そのドメインに関する具体的なナレッジがない場合、この事前頻度は特定のクラス内のすべての属性値について等しいと想定します。また、含まれる仮定インスタンスの数は、取り得る属性値の数と等しいと想定します。