Naive Bayesモデルでの平滑化


13

Naive Bayes予測子は、次の式を使用して予測を行います。

PY=y|バツ=バツ=αPY=yPバツ=バツ|Y=y

ここで、は正規化係数です。これには、データからパラメーターを推定する必要があります。 -smoothingでこれを行うと、推定値が得られますP X I = X I | Y = Y KαPバツ=バツ|Y=yk

P^バツ=バツ|Y=y={バツ=バツY=y}+k{Y=y}+nk

値はあります。私はこれで大丈夫です。ただし、事前には、nバツ

P^Y=y={Y=y}N

ここでありデータセットの例では。事前分布も平滑化しないのはなぜですか?か、ない私たちは前を滑らかに?その場合、どの平滑化パラメーターを選択しますか?別の計算を行っているため、も選択するのは少しばかげているようです。コンセンサスはありますか?または、それはあまり重要ではありませんか?Nk

回答:


5

そもそもスムージングの典型的な理由は、。これが行われなかった場合、この場合は常にになります。{バツ=バツ|Y=y}=0PY=y|バツ=バツ=0

これは、たとえば、トレーニングデータに含まれていない単語、または特定のクラスに含まれていない単語に遭遇したテキストドキュメントを分類する場合に発生します。

一方、クラス事前確率場合、この状況は発生しません。これが行われた場合、トレーニングデータに表示されないクラスにオブジェクトを割り当てようとしていることを意味します。PY=y

また、 -smoothing という用語に出会ったことがありません。ラプラスまたは加算スムージングがより一般的です。k


1
一般的に平滑化する理由は、データの過剰適合を避けるためです。あるクラスのカウントがゼロの場合は、オーバーフィットの特定のケースにすぎません(これは特にひどいことです)。すべてのクラスが観察されるとき、あなたはまだ確率を滑らかにしたいかもしれません。明らかな非対称性に悩まされていると思います-ラプラス平滑化は、データセットに余分な観測値があると仮定することに相当します。事前確率をフィッティングするときに、なぜこれらの観測を無視するのですか?
クリステイラー

のMLE はの推定値よりもはるかに優れている可能性が高いため、事前にクラスを平滑化することはあまり意味がないと主張するかもしれません。クラスの推定値に偏りがあると考える理由がある場合は、検証セットを脇に置き、自分でクラスの事前調整を行います。私の経験では、単純なベイズでは、過剰適合はそれほど問題ではない傾向があります(差別的な対応であるロジスティック回帰とは対照的です)。おそらくあなたはベイジアン治療を好むでしょうか?PY=yPバツ=バツ|Y=y
アルト

「この状況は発生しないはずです。これが発生した場合、トレーニングデータに表示されないクラスにオブジェクトを割り当てようとしていることを意味します」。Uhh ...分類子は、オブジェクトを以前に見たことのないクラスにどのように割り当てますか(つまり、トレーニングデータにないのですか)。
Jemenake 14

問題は、通常、参照例えば、ゼロショット学習と呼ばれている@Jemenake ゼロショットは、セマンティック出力コードを学ぶ
アルト

トレーニングデータセットを使用してモデルをトレーニングすると、トレーニングデータセットに含まれる単語を使用してボキャブを作成できます。
アボカド
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.