问题标签 [bayesian]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
algorithm - 加权平均和评级
数学不是我的强项,我在这里不知所措。
基本上,我所需要的只是一个简单的公式,该公式将给出 1 到 5 的加权评分。如果选票很少,它们的影响力较小,评分更接近平均水平(在这种情况下,我希望它为 3,而不是所有其他评级的平均值)。
我尝试了几种不同的贝叶斯实现,但都没有成功。我相信我正在寻找的图形表示可以显示为:
干杯
matlab - 如何用 MATLAB 解决这个条件概率问题?
如果P( c j | x i )已知,其中i=1,2,...n; j=1,2,...k;
如何计算/估计: P( c j | x l , x m , x n ),其中j=1,2,...k; l,m,n属于 http://latex.mathoverflow.net/jsMath/fonts/cmsy10/alpha/120/char32.png {1,2,...n}?
algorithm - 朴素贝叶斯分类(垃圾邮件过滤) - 哪个计算是正确的?
我正在实施用于垃圾邮件过滤的朴素贝叶斯分类器。我对一些计算有疑问。请澄清我该怎么做。这是我的问题。
在这种方法中,您必须计算
P(S|W) -> 消息是垃圾邮件的概率,给定单词 W 出现在其中。
P(W|S) -> 单词 W 出现在垃圾邮件中的概率。
P(W|H) -> 单词 W 出现在 Ham 消息中的概率。
所以要计算 P(W|S),下列哪项是正确的:
(垃圾邮件中出现 W 的次数)/(所有邮件中出现 W 的总次数)
(垃圾邮件中出现单词 W 的次数)/(垃圾邮件中的总单词数)
那么,要计算 P(W|S),我应该做 (1) 还是 (2)?(我以为是(2),但我不确定。)
顺便说一下,我指的是http://en.wikipedia.org/wiki/Bayesian_spam_filtering的信息。
我必须在本周末之前完成实施 :(
重复出现单词“W”不应该增加邮件的垃圾邮件分数吗?在你的方法中它不会,对吧?
假设我们有 100 条训练消息,其中 50 条是垃圾邮件,50 条是非垃圾邮件。并说每条消息的 word_count = 100。
比方说,在垃圾邮件中,单词 W 在每条消息中出现 5 次,而单词 W 在 Ham 消息中出现 1 次。
因此,所有垃圾邮件中出现的总次数 W = 5*50 = 250 次。
并且所有 Ham 消息中出现的总次数 W = 1*50 = 50 次。
W 在所有训练消息中的总出现次数 = (250+50) = 300 次。
那么,在这种情况下,如何计算 P(W|S) 和 P(W|H) ?
我们自然应该期待,P(W|S) > P(W|H)
对吧?
matlab - 在 MATLAB 中使用 PRTools 计算未知错误分类的后验分布
我正在使用PRTools MATLAB 库来训练一些分类器,生成测试数据并测试分类器。
我有以下详细信息:
- N:测试示例的总数
- k:每个分类器和类的错误分类数
我想要做:
计算并绘制未知错误分类概率的贝叶斯后验分布(表示为 q),即作为 q 本身的概率密度函数(因此,P(q) 将绘制在 q 上,从 0 到 1)。
我有那个(数学公式,不是matlab代码!):
先验设置为1,所以我只需要计算似然和归一化常数。
我知道可能性可以表示为(其中 B(N,k) 是二项式系数):
...所以归一化常数只是上面后验的积分,从 0 到 1:
(二项式系数( B(N,k) )可以省略,因为它出现在似然常数和归一化常数中)
现在,我听说归一化常数的积分应该能够计算为一个系列......就像:
那是对的吗?(我有这个系列的一些讲义,但不知道是归一化常数积分,还是误分类的整体分布(q))
此外,欢迎提示如何实际计算?(阶乘很容易产生截断误差,对吧?)...以及,如何实际计算最终图(q 上的后验分布,从 0 到 1)。
probability - 计算垃圾邮件概率
我正在 python/django 中建立一个网站,并想预测用户提交是有效的还是垃圾邮件。
用户对他们的提交有一个接受率,就像这个网站一样。
用户可以审核其他用户的提交;这些审核稍后由管理员进行元审核。
鉴于这种:
- 提交接受率为60%的注册用户A提交了一些东西。
- 用户 B 将 A 的帖子审核为有效提交。但是,用户 B 有 70% 的情况是错误的。
- 用户 C 将 A 的帖子审核为垃圾邮件。用户 C 通常是对的。如果用户 C 说某事是垃圾邮件/非垃圾邮件,那么 80% 的时间都是正确的。
如何预测 A 的帖子成为垃圾邮件的可能性?
编辑:我制作了一个模拟这种情况的python脚本:
运行脚本会给我这个输出:
- 用户 A 提交了 100000 次。其中60194个是“火腿”。
- 用户 B 已正确审核了 29864 个提交。
- 用户 C 已正确审核了 79990 个提交。
- “垃圾邮件”被用户 B 识别为“垃圾邮件”,被用户 C 识别为“火腿”2346 次。
- 用户 B 将“ham”识别为“垃圾邮件”,用户 C 将“ham”识别为 33634 次。
- 如果用户 B 说它是垃圾邮件,而用户 C 说它是 ham,那么 6.52% 的时间它是垃圾邮件,93.48% 的时间是 ham。
这里的概率合理吗?这是模拟场景的正确方法吗?
clojure - Clojure 或 Scheme 贝叶斯分类库?
任何指向方案/球拍或 clojure 贝叶斯分类库的指针?我需要一个用于我将要做的玩具/学习项目。
algorithm - 总结贝叶斯评级公式
基于这个 url,我找到了Bayesian Rating,它很好地解释了评级模型,我想总结一下公式,让任何人更容易实现 SQL 语句。如果我这样总结公式,这是否正确?
加思
java - 带复合词的分类器4J
我正在使用BayesianClassifier类对垃圾邮件进行分类。问题是复合词没有被识别。
例如,如果我将led zeppelin添加为匹配项,则包含它的句子将不会被识别为匹配项,即使它应该被识别为匹配项。
为了添加匹配,我使用SimpleWordsDataSource的addMatch ()
为了要求匹配,我使用的是贝叶斯分类器的isMatch()
有想法该怎么解决这个吗?
好的,谢谢你的洞察力。我附上了更多的源代码。
现在我正在使用 BayesianClassifier 的teachingMatch 方法,我得到了不同的结果。包含led zeppelin的句子被归类为匹配,这是可以的。但是一个包含led it的句子也被归类为匹配,这是错误的。
以下是相关代码:
bayesian - 决策树和贝叶斯网络有什么区别?
如果我理解正确,两者都使用贝叶斯定理生成无环图并根据每个节点上应用的函数计算百分比。
有什么区别?