3

単純ベイズ分類器を使用して複数の決定を生成できるかどうかを知る必要があります。複数の決定を支持する証拠がある例は見つかりませんでした。私はこの分野に不慣れです。だから、私は少し混乱しています。

実は文字認識ソフトを開発する必要があります。そこで、与えられたキャラクターが何であるかを特定する必要があります。ベイジアン分類器は、与えられた文字が特定の文字であるかどうかを識別するために使用できるようですが、他の提案を与えることはできません。

たとえば、「3」の画像が与えられた場合(「3」だと思います)、システムがそれを「3」として識別できない場合です。システムが「2」のように見える場合、システムは「2」を返す必要があります。

単純ベイズ分類器について私が持っている考えは、データをトレーニングすると、特定の文字が特定の文字であるかどうかをシステムに尋ねることができるということです。例えば。特定の番号の画像を描画し、それが「2」であるかどうかをシステムに尋ねます。

さらに、KNN(k最近傍)が複数の決定を行うことに気づきました。それに与えられたキャラクターは、トレーニングデータで与えられた最も近い互換性のあるキャラクターを決定します。

ナイーブベイズ分類器を使用して上記のような複数の決定を行うことができるかどうかを誰かが説明してくれれば幸いです。

4

2 に答える 2

2

単純ベイズ分類器の前提は、データの次元が独立しており(ナイーブ部分)、モデルが生成的である(ベイズ部分)ことです。言い換えると、世界の状態からデータがどのように生成されるかをモデル化します-P(data | world_state)、ここでworld_stateは継続またはカテゴリ変数(複数のクラス-カテゴリ)になります。これは、データ生成を無視し、データを直接「ハッキング」することで世界の状態の事後確率を記述する識別モデルとは対照的に実行されます。P(world_state | data)

単純ベイズ分類器を実装するために実行する必要のある手順は次のとおり
です。1。ガウス分布などの生成モデルを使用してデータをモデル化します。各クラスには独自のガウス関数があります。ナイーブモデルでは、データディメンションごとにガウス分布の積を取ります。より完全なモデルでは、ガウス分布の次元はデータの次元と同じです。
2.各クラスの事前分布を計算します(たとえば、各クラスに単一の確率が割り当てられたカテゴリ分布)。
3.ガウス分布をデータに適合させてパラメーターを学習します。
4.ベイズの公式を介してテストデータクラスを評価します。

P(class|data) = P(data|class) * P(class)/P(data);           [1]
P(data) = sum_over_classes[P(data|class) * P(class)];       [2]

式1の最初の項は事後と呼ばれ、2番目の項は尤度であり、最後の項は前の項です。[2]に示されている分母は、データ生成に関与する可能性が最も高いクラスである事後確率(MAP)の最大値を計算するときに無視されることがよくあります。ただし、分母は、クラスモデルがどのように連携するかを理解する上で非常に重要です。

たとえば、クラスごとに非常に洗練された生成モデルを作成できますが、正規化中に尤度の1つが0に減少したため、後部は非常に単純に見えます。この場合、ベイズアプローチを放棄して、生成モデルに入れるよりも少ないパラメーターを持つ識別モデル。下の図では、縦軸は世界の状態(クラス)の確率であり、横軸はデータを表しています。 ここに画像の説明を入力してください

于 2014-03-27T19:42:17.863 に答える
1

ベイズ分類器は、アイテムがいくつかのクラスのそれぞれに属する確率を与える必要があります。2つ以上のクラスを持つことは間違いなく可能です。

クラスの確率を使用して、通常、決定を下したいと思うでしょう。これは、たとえば、最も可能性の高いクラスを選択することによって行うことができます。これが、1つの可能性を提供しているとみなしている理由かもしれません。

于 2011-08-05T11:29:19.870 に答える