Akinator.com和朴素贝叶斯分类器
上下文:我是一名程序员,在单门课程的统计方面有一些(被遗忘的)经验。最近,我偶然发现了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(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 when S was the subjectnumber of times q was asked in the …