本文主要是介绍贝叶斯乱弹,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
贝叶斯分类乱弹
基本思想:
为最小化总体风险,只需要在每个样本上选择那个能够使条件风险最小的类别标记。
目标:选择一个判定准则h,以使得总体风险最小。
先验概率*可能性函数=后验概率
若可能性函数大于1则增强概率,若可能性函数小于1则降低概率
统计学:样本归纳总体,统计推断就是对很多事件作出一个概率模型的假设,然后用样本对于这些概率模型的参数进行推断。
概率学:总体对样本进行预测
如这个题的例子:可以将这个事件的模型确定为二项分布,需要估计二项分布的参数,列出需要优化的目标函数P(X;P),这个函数表明该事件发生的概率。我们需要使得这个目标函数取最大值,于是求导得出p=0.7时取最大值,符合直觉。
这也就是极大似然估计的思想:先假定其具有某种确定的概率分布形式,再基于训练样本对概率分布参数估计
概率模型的训练过程就是参数估计过程
拉普拉斯修正(分子加1即可,分母需要根据计算情况加上类别数)
EM算法(主要针对模型中存在隐变量的情况)
未观测的变量称为隐变量(如西瓜已经脱落的根蒂,无法看出是蜷缩还是坚挺,则训练样本的根蒂属性值未知)
当参数 theta 已知 -> 根据训练数据推断出最优隐变量 Z的值(E步)
当Z已知 -> 对 theta做极大似然估计(M步)
感觉EM算法直觉上还好理解,但是数学证明上确实挺难,感觉这是一个,两个参数互相估计然后不断收敛的过程。
但是在这种情况下估计P1,P2的概率就会要难很多。
这时可以看做多了一个隐变量z,可以看做向量{Z1,Z2,Z3,Z4,Z5},必须要先估计出是硬币一还是硬币二才能去求出丢出正反面的概率
所以,我们可以初始化P1,P2然后按照最大似然估计,估计出Z,然后根据Z再利用最大似然估计就可以估计出P1,P2然后不断迭代。
这篇关于贝叶斯乱弹的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!