28 | 最简单的概率图:朴素贝叶斯
28 | 最简单的概率图:朴素贝叶斯
讲述:王天一
时长17:43大小8.11M
赞 7
提建议
精选留言(5)
- 林彦2018-08-24王老师,我的理解和问题如下。 1. 先验概率即先验分布,是训练数据集上不同类别的数据所占的比例,是朴素贝叶斯因子分解公式中的p(Y); 2. 似然概率是条件概率的乘积,是朴素贝叶斯因子分解公式中的∏i=1~Np(Xi|Y); 3. 问题:狄利克雷分布(Dirichlet distribution)利用因子分解后的似然概率对因子分解后的先验概率进行加权。 3.1 这里∏i=1~Kxi^(αi−1)这一部分中的xi相当于上面朴素贝叶斯因子分解公式中的p(Y),即类别的先验概率? 3.2 我的理解狄利克雷分布的计算结果Dir(α)是先验概率(类别分布)的共轭先验,这个结果可以放到朴素贝叶斯因子分解公式中替换掉p(Y),然后与似然概率 (条件概率的乘积)那一部分相乘,相乘的结果为属性和类别的联合分布。这个理解对吗? 3.3 狄利克雷分布中因子分解后的似然概率是指公式中的哪一部分?狄利克雷中的α(alpha)和每个类别中不同属性的条件概率有关吗? 3.4 狄利克雷分布的参数被修正为 Ni+αi,这个参数是在计算狄利克雷分布或伽马函数时作为输入参数代入公式或程序模块用的? 谢谢。展开
作者回复: 统一回答,就不分点了: 频率主义下的朴素贝叶斯根据最大似然估计来确定参数,比如类先验等于类别比例(6/13和7/13),属性条件概率等于每个类别里属性的比例,这些都是根据数据计算出来的。这就是你留言里的12两点。 但问题是最大似然估计给出的点估计并不可靠,可以回忆一下专栏开头两讲里的例子。从贝叶斯角度来看,需要给每个类别的分布、每个属性的分布全部设定先验,来刻画它们完整的概率特性,狄利克雷分布起到的就是这个作用。 在对属性条件概率使用狄利克雷先验时,会把2个类别,5个属性,2个属性的取值共同建模。这相当于三个因素共同定义出一个单个的先验,也就是属性a取值为b时,属于类别c的先验概率。所有这些先验全都设为均匀的,也就是无信息的先验。 其实类先验也应该这么处理,但出于复杂性的考虑,没有给它设置,直接把最大似然的结果拿来用了。 接下来的任务就是根据训练数据对先验进行修正。举个例子,在先验里,我认为看与不看英格兰队比赛这单个属性的两个取值对苏格兰人的类别没有影响,它们的先验是相等的。但数据告诉我们,所有苏格兰人都不看英格兰的球,这样就得对先验进行调整,把苏格兰人不看英格兰比赛的概率往高调,这样做得到的就是后验概率。 所有的先验概率都要根据数据做这种调整,调整的方式就是数数,把符合这个先验的样本数目加到狄利克雷的参数上。比如属性a取值为b时,属于类别c的样本数是N个,那就把N加到对应的先验的参数上。等所有参数都更新完之后做个归一化,就是真正的后验概率。不难发现,训练数据起到的是似然概率的作用。 在这个过程中,不同的先验之间依然是独立的,一个先验的更新不会影响到另一个先验的更新。 这么做的目的跟拉普拉斯平滑一样,都是避免极端情况。如果属性a取值为b时,属于类别c的样本从没出现过,那频率主义就处理不了了。引入一个分布能够保留更详细的概率,避免一刀切。
7 - 林彦2018-08-24树增强朴素贝叶斯不假设各个属性是相互独立的,允许部分属性依赖。它需要计算属性间的互信息值,互信息值越大,就代表2个属性关联性越大。和文中的朴素贝叶斯一样,属性之间的关联性的前提是要在某一分类属性确定下进行计算,不同的类属性值会有不同的属性关联性。 在计算完各个属性对的互信息值之后,进行贝叶斯网络的构建。 1. 根据各个属性对的互信息值降序排序,依次取出其中的节点对,遵循不产生环路的原则,构造最大权重跨度树,直到选择完n-1条边为止; 2. 上述过程构成的是一个无向图,接下来为整个无向图确定边的方向。选择任意一个属性节点作为根节点,由根节点向外的方向为属性节点之间的方向; 3. 为每一个属性节点添加父节点,父节点就是分类属性节点,至此贝叶斯网络结构构造完毕。 我对这个贝叶斯网络的理解是除了上面第2步提到的根结点只有分类属性一个夫节点外,其他的节点都有2个父节点,一个是分类属性,一个是第2步构造的有向图中的父节点。展开
作者回复: 总结的很全面👍构造TAN其实都可以有点儿结构学习的意思了。
1 - 林彦2018-08-24手动计算了下联合概率,发现∀i,(Xi⊥X−i|Y)这个条件要求必须是在Y分类已经确定的情况下,N 个属性变量 Xi才是互相独立,联合分布的概率才等于各自概率的乘积。而∀i,(Xi⊥X−i)是不成立的,即Y分类不确定的情况下,Xi不是互相独立的,所有分类的Xi的概率的乘积并不等于Xi的联合分布的概率。 在文中的例子里x=(1,0,1,1,0)T发生的概率等于英格兰人出现x的概率与苏格兰人出现的x的概率之和,而不等于Xi各个属性在所有样本取值概率的乘积。展开
作者回复: 你说得对。这个图是个大的分连结构,一因多果,只有在因确定时,多个结果之间才会条件独立。 所谓条件独立里的“条件”就是指某些变量的确定,如果大家都可以随意变化,那就不会存在独立性。
- 心流2018-08-09王老师,机器学习的python文件,能讲一下如何打开吗?
- 心流2018-08-09王老师,机器学习的python的文件,如何打开,能给我们讲一下吗?
作者回复: 直接用Python自己的集成环境就可以打开了,我用的就是Python的IDLE,也可以安装其他的编译器,具体使用方法可以参考另一门python的课程。