基本上很多机器学习的算法的目标函数都是条件概率分布。所以这里会重点的谈谈我对条件概率分布的理解。
条件概率分布到底意味着什么呢?
条件概率分布的数学表达公式为:P(Y|X)。这里X 和 Y 都是随机变量。 如何理解该公式呢?
该公式可以理解为:寻找一种观察结果的最可能原因
说白了, 就是从结果反推出原因。 那么哪个是原因? 哪个是结果?
在条件概率分布中, X代表结果, Y代表原因, 这一点非常重要。由于结果是可观察的, 所以X是已知变量, Y是要求解的未知变量。
所以条件概率分布可以理解在不确定环境下的因果推导模型。
比较常见的例子就是医疗诊断,医生会根据患者的症状(观察的结果),推断出具体病因(原因)。
如何进行条件概率的推理?
根据贝叶斯定理,有如下公式:
从贝叶斯推理可知:
只要能求解随机变量 X, Y的联合概率分布, 就可以求得条件概率分布。
如何求解联合概率分布?
根据如下概率公式
在这里X是一个向量。 从上述公式看, 关键在于求解 。如果特征变量是布尔类型, 则向量X的取值范围有, 这个值是指数级别的,是不可计算的。
所以,有没有办法降低计算复杂度呢?
另辟道路:变量的独立性
如果假设 是互相独立的, 那么则可以推导出:
则求解的复杂度从指数级降低到了线性。
但是, 天下没有免费的午餐。 现实情况中, 随机变量的绝对独立性非常少见。 所以,这种计算方法虽然提高了计算效率, 但是降低了对现实模拟的准确度
所以,有没有其它办法,即可提高计算效率, 又不降低精确度呢?
柳暗花明又一村:贝叶斯网络
贝叶斯网络是机器学习的一个重要分支, 在这里不具体展开它。
需要记住一点: 贝叶斯网络是和联合概率分布是等价的。同时贝叶斯网络的计算效率提高不少。
如果想进一步深入了解贝叶斯网络的话, 可以参考《概率图模型原理与技术[科勒,弗里德曼著]》
网友评论