条件概率分布与机器学习

基本上很多机器学习的算法的目标函数都是条件概率分布。所以这里会重点的谈谈我对条件概率分布的理解。 

条件概率分布到底意味着什么呢?

条件概率分布的数学表达公式为:P(Y|X)。这里X 和 Y 都是随机变量。 如何理解该公式呢? 

该公式可以理解为:寻找一种观察结果的最可能原因

说白了, 就是从结果反推出原因。 那么哪个是原因? 哪个是结果?

在条件概率分布中,  X代表结果, Y代表原因, 这一点非常重要。由于结果是可观察的, 所以X是已知变量, Y是要求解的未知变量。

所以条件概率分布可以理解在不确定环境下的因果推导模型。 

比较常见的例子就是医疗诊断,医生会根据患者的症状(观察的结果),推断出具体病因(原因)。 

如何进行条件概率的推理?

根据贝叶斯定理,有如下公式:

P(Y| X) = \frac{P(X, Y)}{P(X)}

从贝叶斯推理可知:

只要能求解随机变量 X, Y的联合概率分布, 就可以求得条件概率分布。

如何求解联合概率分布?

根据如下概率公式

P(X, Y) = P(X|Y) * P(Y)= P(x_{1}, x_{2} ... x_{n}| Y ) * P(Y)

在这里X是一个向量。 从上述公式看, 关键在于求解 P(x_{1}, x_{2} ... x_{n}| Y ) 。如果特征变量x_{i} 是布尔类型, 则向量X的取值范围有2^n , 这个值是指数级别的,是不可计算的。

所以,有没有办法降低计算复杂度呢? 

另辟道路:变量的独立性

如果假设 x_{1}, x_{2} ... x_{n} 是互相独立的, 那么则可以推导出:

P(x_{1}, x_{2} ... x_{n}| Y ) =\prod_{i=1}^n P(x_{i}|Y)

则求解的复杂度从指数级降低到了线性。 

但是, 天下没有免费的午餐。 现实情况中, 随机变量的绝对独立性非常少见。 所以,这种计算方法虽然提高了计算效率, 但是降低了对现实模拟的准确度

所以,有没有其它办法,即可提高计算效率, 又不降低精确度呢?

柳暗花明又一村:贝叶斯网络

贝叶斯网络是机器学习的一个重要分支, 在这里不具体展开它。

需要记住一点: 贝叶斯网络是和联合概率分布是等价的。同时贝叶斯网络的计算效率提高不少。

如果想进一步深入了解贝叶斯网络的话, 可以参考《概率图模型原理与技术[科勒,弗里德曼著]》  

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 以西瓜书为主线,以其他书籍作为参考进行补充,例如《统计学习方法》,《PRML》等 第一章 绪论 1.2 基本术语 ...
    danielAck阅读 4,890评论 0 5
  • 简单的来说就是:在Intent或Bundle中无法直接放对象,必须把对象序列化为二进制流才行,传输完成后要进行反序...
    无敌未央様阅读 2,715评论 0 5
  • 《续千字文》全文采用了1000个不重复的汉字,而这1000个字,又未曾被《千字文》使用过,其创作难度之高,犹在《千...
    九五农村娃阅读 12,098评论 0 0

友情链接更多精彩内容