Bayes'_Theorem_MMB_01

#2 大话机器学习中的贝叶斯 Bayesian

这一期, 我们来谈一谈机器学习中的贝叶斯. 概率论中贝叶斯理论, 作为概率的一种“思考方式”, 十分通用. 当机器学习应用中, 贝叶斯的强大理论提现在多个领域, 包括超参数贝叶斯, 贝叶斯推断, 非参贝叶斯等等…

入门

机器学习中的贝叶斯, 首先要区分概率中频率学派和贝叶斯学派的. 网上有各种各样的解释, 其实, 我们可以从机器学习的角度去解释.

机器学习问题可以总结为: 找到一个好的 \(\theta\) 代表一个模型, \(\theta\) 表示这个模型的所有参数, 而这个模型就是我们能够训练出的最好模型(至少我们认为是最好的).  什么是最好的模型? 假设有未知数据集 \(X_{unknown}\) , 如果 \(P\left(X_{unknown}\middle|\theta\right) = 1\) , 那么这个模型就是最好的. 当然这是不可能的, 也许只有上帝才能对所有的未知100%准确预测. 但我们一定是希望 \(P\left(X_{unknown}\middle|\theta\right)\) 越大越好, 趋向于1.

如何做到使得 \(P\left(X_{unknown}\middle|\theta\right)\) 越大越好 ? 这就引出了概率论中的两大学派: 传说中的”频率学派”和”贝叶斯学派”. 两大学派区别在哪里? 看下面这个公式:

\(P\left(\theta\middle|X_{train}\right) = \frac{P\left(X_{train}\middle|\theta\right)P\left( \theta\right)}{P\left(X_{train}\right)} \)

没错! 这就是大名鼎鼎的贝叶斯公式 ! 机器学习中, \( X_{train} \) 是真实的训练数据或者抽样数据 . \(P\left(\theta\middle|X_{train}\right)\) 是后验概率(posterior)分布 . \(P\left(X_{train}\middle|\theta\right)\)是似然概率(likelihood).  \( P\left( \theta\right) \)是先验概率分布(prior). \(P\left(X_{train}\right)\)是归一化”证据”(evidence)因子.

“频率学派”认为, 后验概率和先验概率都是不存在的, 模型 \(\theta\) 不论简单复杂, 参数已经是上帝固定好了的, 只要根据大数定理, 当训练数据足够大, 我们就能找到那个最好的 \(\theta\) . 于是公式变为:

\( P\left(X_{train}\right) = P\left(X_{train}\middle|\theta\right) \)

无论有没有 \(\theta\) , 抽样数据\( X_{train} \)出现的概率都是一样的, 因为任何数据都是从上帝指定的模型中生成的. 于是我们找到 \(\theta\) 的任务就很简单, 最大化 \(P\left(X_{train}\middle|\theta\right)\) 似然概率就行了. 数据量越大, 模型拟合度越高, 我们越相信得到的 \(\theta\) 越接近上帝指定的那个 \(\theta\). 所以”频率学派”预测投硬币正反的概率的方法就是, 投10000次硬币吧, 看看正面出现多少次. 这种基于统计的预测有很多缺点, 首先它指定了一个固定概率, 如果上帝指定的模型不是固定的呢? 另外, 如果数据量不足够大, 预测会不会非常不准确? 当数据维数增大时, 实际计算量也会变得非常大.

“贝叶斯学派”认为, 人类的知识是有限的, 我们不知道上帝的安排, 就先假设一个先验(我们已有的知识), 再根据训练数据或抽样数据, 去找到后验分布, 就能知道模型最可能是个什么样子.  因此 \( P\left( \theta\right) \) 和 \(P\left(\theta\middle|X_{train}\right)\) 都是存在的. \( P\left( \theta\right) \) 是已有的我们认为 \(\theta\) 应该是什么样的分布. 请注意\( P\left( \theta\right) \) , 表示我们对模型也是抽象出一个分布的, 就是说, 模型不再是固定的, 如果有10个模型的候选, 我们认为一个模型的概率更大, 而另一个模型的概率更小而已. 所以, “贝叶斯学派”预测投硬币正反的概率的方法是, 分100组实验, 每次投100次硬币, 我们研究下, 正反面出现的比例作为随机变量, 到底这个随机变量更可能符合什么分布 ? (有可能是符合正态分布均值在0.5吗?) . 再举个例子, Beta分布就是伯努利分布的共轭先验分布. 即, 伯努利分布的参数是Beta分布中的随机变量, 因此, Beta分布可以生成伯努利分布, Beta分布又称分布之上的分布. 具体可参见文章如何理解Beta分布和Dirichlet分布? 理解了一个分布可以生成另一个分布, 多层次贝叶斯模型就更容易理解了, 简要地说就是, 选择不同的先验去训练预测模型, 得到的模型有优劣之分. 具体可参加这篇文章: “A/B Testing with Hierarchical Models in Python” .

现在可以总结, “频率学派”假设模型是固定的, 用大量数据去计算最大似然估计, 就能获得好的预测模型. “贝叶斯学派”假设模型是非固定的, 模型参数本身也服从一个分布\( P\left( \theta\right) \), 重点关心的是计算出后验概率不断调整这个分布, 找到最大概率的那个\(\theta\). 找到上帝更可能选用的那个模型. 即:

\(P\left(\theta\middle|X_{train}\right) \propto {P\left(X_{train}\middle|\theta\right)P\left( \theta\right)}\)

两个思想的比较就到这里, 我想, 孰优孰劣, 大家心里一定已经有了答案.

Bayesian思想 笔记

1. 贝叶斯是关注后验概率的. 而不是最大似然.

2. 期望的计算 函数的期望, 只要对函数\(f(x)\) 给到一个\(p(x)\) 概率分布:

\(\mathbb{E}(f(x)) = \int_{x\in\mathbb{S}}f(x)p(x)\mathrm d x\)

3. 方差 \(VAR(X) = \mathbb{E}(X^2) – (\mathbb{E}(X))^2 \)

4. 如果 \(p(a|b,c) = p(a|c)\), 则: \( p(a,b|c) = p(a|c)p(b|c) \)

5. (1) True Positive: 模型认为是对的, 确实是对的概率.

(2) False Positive: 模型认为是对的, 结果是错的概率.

(3) True Negative: 模型认为是错的, 确实是错的概率.

(4) False Negative: 模型认为是错的, 结果是对的概率.

参考文献:

发布者

David 9

David 9

邮箱:yanchao727@gmail.com 微信: david9ml

发表评论

电子邮件地址不会被公开。 必填项已用*标注