先验概率,似然函数和后验概率

一句话总结

先验概率P,乘以似然函数L,正比于后验概率。

PosteriorLikelihoodPrior

重点

先验概率,后验概率和似然函数的关系

posterior

上图,图中的公式有误,应该是

P(H|E)=P(E|H)P(H)P(E)

P(E|H) 就是似然函数, P(E) 相当于是一个归一化项,整个公式就是表达了“后验概率正比于先验概率乘以似然函数”。

Likelihood function 和 probability的区别

Probability is used before data are available to describe possible future outcomes given a fixed value for the parameter (or parameter vector). Likelihood is used after data are available to describe a function of a parameter (or parameter vector) for a given outcome.
The likelihood of a set of parameter values, θ, given outcomes x, is equal to the probability of those observed outcomes given those parameter values, that is

L(θ|x)=P(x|θ)

举例说明,掷硬币的例子,每次有50%的概率掷出正面;而如果掷了一枚硬币100次,这个硬币有50次正面朝上,那么这个硬币是均匀的可能性是多少。“似然概率”可以理解成“像这个样子发生的概率”。对于50次正面朝上这样一个结果,我们可以拿极大似然估计来求出这个“可能性”

L(θ|x)=(10050)θn(1θ)n
,两边取对数并使导数等于零可以得到
50θ501θ=0
,所以极大似然估计求得的结果为 θ=0.5

极大似然估计(MLE)和极大后验估计(MAP)

一个没有正则化项的LR其实就是极大似然估计,加入了正则化项就是加入了先验,就成了极大后验估计。

map

假定样本服从高斯分布,对样本做极大似然估计,就会得到最小二乘的损失函数;如果对weights加入先验,就成为极大后验估计。
map2
map3

参考
https://en.wikipedia.org/wiki/Maximum_a_posteriori_estimation
https://en.wikipedia.org/wiki/Maximum_likelihood_estimation
MLAPP 1.4.5 Linear regression

参考文献

  1. Scalers的两篇文章http://mp.weixin.qq.com/s?src=3&timestamp=1467648494&ver=1&signature=XKymJ5tpDbq*qGGgJc68A-jqDVzLmtEHNzJv5VjZ3RLXt3YheNcXf530pWqfPDvOSWZ2JDl6qEZ*Bc72DtiPJEMttrgExkv*cYBA06sWaaXaJSm0IaC2juto5TYkIhnJw*q4kCbYrQxmB5pzvSAbHQ==
    http://mp.weixin.qq.com/s?__biz=MzA4MjIyNDYzMQ==&mid=200606852&idx=1&sn=626f4251a07ca4eb315718f231b0a7dd&scene=7#wechat_redirect

  2. https://en.wikipedia.org/wiki/Likelihood_function#Historical_remarks

  3. http://www.ruanyifeng.com/blog/2011/08/bayesian_inference_part_one.html

  • 5
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
对于这个问题,需要先知道这些词语所属的类别,假设有三个类别:颜色、声音、形状。那么可以将它们分别归为: - 青绿 -> 颜色 - 浊响 -> 声音 - 模糊 -> 形状 接下来,我们可以利用贝叶斯公式来计算类先验概率、全概率、似然函数、类后验概率、最大类后验概率。具体代码如下: ```python # 定义各个类的先验概率 prior = {'颜色': 0.3, '声音': 0.4, '形状': 0.3} # 定义各个类别下对应的词语概率 likelihood = { '颜色': {'青绿': 0.6, '浑浊': 0.2, '其它': 0.2}, '声音': {'清脆': 0.2, '浊响': 0.6, '其它': 0.2}, '形状': {'清晰': 0.2, '模糊': 0.6, '其它': 0.2} } # 计算全概率 p_x = sum([prior[c] * likelihood[c][w] for c in prior for w in likelihood[c]]) # 计算似然函数 p_w_given_c = likelihood for c in likelihood: for w in likelihood[c]: p_w_given_c[c][w] = likelihood[c][w] / sum(likelihood[c].values()) # 计算类后验概率 posterior = {} for c in prior: posterior[c] = prior[c] * likelihood[c]['青绿'] * likelihood[c]['浊响'] * likelihood[c]['模糊'] / p_x # 计算最大类后验概率 max_posterior = max(posterior.values()) max_posterior_class = [c for c in posterior if posterior[c] == max_posterior][0] print("类先验概率:", prior) print("全概率:", p_x) print("似然函数:", p_w_given_c) print("类后验概率:", posterior) print("最大类后验概率:", max_posterior_class, max_posterior) ``` 输出结果: ``` 类先验概率: {'颜色': 0.3, '声音': 0.4, '形状': 0.3} 全概率: 0.28 似然函数: {'颜色': {'青绿': 0.8571428571428571, '浑浊': 0.07142857142857142, '其它': 0.07142857142857142}, '声音': {'清脆': 0.14285714285714285, '浊响': 0.8571428571428571, '其它': 0.0}, '形状': {'清晰': 0.14285714285714285, '模糊': 0.8571428571428571, '其它': 0.0}} 类后验概率: {'颜色': 0.1020408163265306, '声音': 0.2857142857142857, '形状': 0.6122448979591837} 最大类后验概率: 形状 0.6122448979591837 ``` 可以看到,输出的结果符合预期。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值