Akinator.comおよびNaive Bayes分類器
コンテキスト:私は、uniコースの統計で(半分忘れられた)経験があるプログラマーです。最近、私はhttp://akinator.comにつまずき、それを失敗させようといくつかの時間を費やしました。そして、誰がそうではなかったのですか?:) 私はそれがどのように機能するかを調べることにしました。グーグルで関連するブログ投稿を読んで、結果のミックスに私の(限られた)知識の一部を追加した後、次のモデルを思いつきます(間違った表記法を使用することを確信しています。そのために私を殺さないでください): サブジェクト(S)と質問(Q)があります。予測子の目標は、これまでに収集された質問と回答が与えられると、ユーザーが考えている主題である最大の事後確率を持つ主題Sを選択することです。 ゲームGを質問と回答のセットとします:。{q1,a1},{q2,a2}...{qn,an}{q1,a1},{q2,a2}...{qn,an}\{q_1, a_1\}, \{q_2, a_2\} ... \{q_n, a_n\} 次に、予測子はP (S | G )= P (G | S )∗ P (S )を探します。P(S|G)=P(G|S)∗P(S)P(G)P(S|G)=P(G|S)∗P(S)P(G)P(S|G) = \frac{P(G|S) * P(S)}{P(G)} 被験者の事前確率()は、被験者が推測された回数をゲームの総数で割ったものになります。P(S)P(S)P(S) すべての回答が独立しているという仮定を立てると、ゲームGが与えられた場合に被験者Sの尤度を次のように計算できます。 P(G|S)=∏i=1..nP({qi,ai}|S)P(G|S)=∏i=1..nP({qi,ai}|S)P(G|S) = \prod_{i=1..n} P(\{q_i, a_i\} | S) 使用者が与えられた主題を持っているときにどの質問と回答が与えられたかを追跡すれば、計算できます。P({qi,ai}|S)P({qi,ai}|S)P(\{q_i, a_i\} | S) P(q,a|S)=answer a was given to question q in the game …