如果你在数据科学领域还只是个新手,那么建议你先看看——《五本书带你入门数据科学》,入门后,再学习《R语言案例实战》。
概率图模型系列文章:
在机器学习的分类算法中,我们会使用训练样本的数据,来对模型进行训练,然后得到模型的参数。同样地,我们也可以通过已经收集到的训练样本,来对概率图模型的先验概率,进行合理的初始化,使用到的方法,就是最大似然估计。
最大似然估计概念
在统计学中,最大似然估计(英语:maximum likelihood estimation,缩写为MLE),是用来估计一个概率模型的参数的一种方法。
按照字面理解,最大似然估计的意思就是最大那种可能的估计。更大白话一点,那就是“已发生的事情,在它没有发生之前,就是最可能发生的事情”。
下面我们来看几个案例:
新手和猎人外出打猎,一声枪响,动物应声而倒,你觉得是谁开的枪?
抽烟者患肺癌的概率是不抽烟者的5倍,某人患肺癌,你觉得他抽烟吗?
在校门口观察一段时间,发现有20个女生,18个男生经过,你觉得这个学校男女比例如何?
最后一个问题可能你不太自信,但是前面两个问题,你应该是可以毫无疑问地回答出来的。
最大似然估计详解
最大似然估计的理论非常简单,如下所示:

不熟悉理论的同学,肯定觉得这些公式很头大,没关系,我们就用上面男女生比例的例子,来给大家演算一下,最大似然估计的应用。

根据高中数学知识,将求导后的公式等于0,进行求解,即可得到函数的最大值。

是不是觉得这个答案,就是你猜的那个答案,直接拿看到的女生的人数,除以看到的所有人数就行了。
没错,这个就是最大似然估计的核心思想——已经发生的事情,在这个事情发生之前,是最大概率发生的事情。
因此,对于概率图模型中的先验概率,我们完全可以使用已有的训练样本的数据,来对它进行初始化。
计算模型的未知参数
知道如何使用训练数据,根据最大似然估计的规则,去计算概率图模型的参数之后,我们就来使用一个简单的案例,来演示这个过程。
现在我们有这么一份数据:

把 z 当做是 目标,x、y 为特征,概率图模型如下所示:

数据和模型的构建,代码如下所示:

接着,就可以使用最大似然估计的结论,来计算出这个概率图模型中的所有参数了,代码如下所示:

执行代码,即可得到参数的结果,如下所示:


推荐阅读
新手入门推荐:
R数据分析实战
R语言案例实战——广告投放的渠道效果评估
马尔科夫实战
蒙特卡罗实战


