“从贝叶斯估计的角度来看,正则化项对应于模型的先验概率”,这句话怎么理解

已邀请:

SuiterChik - 烫烫烫烫烫烫烫烫烫烫烫烫烫

赞同来自: July tmacy 小卡 sumnous efyj oscar ningyuwhut ericx magic 面壁三思 tk1363704 dashuiren skeletonman更多 »


===============================================================================================

又到了大家喜闻乐见的淘宝推荐环节(咦?拿错剧本了)趁这个坑我们八一下贝叶斯吧。
声明:我贝叶斯也没学好,如果你想更深入的了解这一流派请回去看书,我瞎扯的东西不要轻易相信

===============================================================================================

说起贝叶斯啊,我们先将祖师爷的照片拿出来拜一拜,晨昏三叩首,早晚一炷香

1.jpg


贝叶斯为我们留下的伟大遗产是贝叶斯公式,也就是
$$P(w_j|x) = \frac{p(x|w_j)P(w_j)}{p(x)}$$
很熟悉对不对?是的,你在任何一本概率论的书上都能找到这个公式,遗憾的是国内的很多教材对贝叶斯的内容提及很少(基本就是几页的篇幅),反倒是频率学派的内容要比贝叶斯的多。

频率学派跟贝叶斯学派打架的历史很悠久,这场战争就像VIM与Emacs,代码大括号写后面与另起一行类似,双方互掐了很多年(不过最近好像打得不那么激烈了?)

那么贝叶斯与频率的区别是什么?下面给出一个不正确的说法:

贝叶斯学派重视先验
频率学派重视似然

既然都不正确为什么还要提出来呢?因为这两句话有助于你后面的理解,但贝叶斯学派和频率学派的本质差别是对待参数的观念不一样,这两者就是两个不同世界的人,关于这点我们留后面聊。

怎么理解“贝叶斯重先验,频率重似然”这个说法?下面我们先来举几个通俗易懂的例子

假如你今天很不幸点进这个帖子,假设你又很不幸的看到我的答案有很多赞,排除朋友圈那些点赞狂人的存在,我们就假设这些赞都是正常人点的好了。
那么现在的问题是“这个瞎扯的答案是否是可靠的?”

很多人就会觉得,卧槽好NB,这么多赞,这个答案肯定可靠啦,这就是频率学派的观点。频率学派重视数据,而不会对数据带有任何有色眼镜来看待,某种程度上来说,频率学派的人有种“Talk is cheap, show me the code(英语八级翻译:没数据你跟我扯什么犊子)”的性格。

但假如Ng也很不幸地点进这个帖子,然后看到我的答案,你知道的啦,Ng要是一辆波音747的话,那答主充其量只能算台拖拉机的嘛。Ng看完我的废话,说“kie lie fie(粤语八级翻译:我都点进来了你就让我看这个?!)”然后Ng拍拍答主的肩膀“今天我作为一位长者告诉你一些人生经验,我觉得你啊,还需要学习,搞深度学习的LeCun,Hinton等人,不知道比你高到哪里去了,我和他们是谈笑风生,不信你看
↓ ↓ ↓ ↓”
3.jpg

Ng叔叔你都四十多了吐舌头卖萌真的好?么么哒
(没有征得刘老师的同意就盗图,如果刘老师觉得我冒犯了我就删)

为什么会这样呢?用贝叶斯的看法就是,因为Ng的知识比我丰富,所以他的先验告诉他,这将会是一堆瞎扯的文字,所以他对点赞的数量就不再完全相信了(人家压根就不会看好吗......),然后一看文章,果然是篇垃圾。所以,贝叶斯流派对待数据,是带有感情色彩的。

“我交朋友从来不看他有没有钱,反正都没有我有钱”-------低调网红小王
呐你看,这就是一种先验

换句话说,贝叶斯看重的是人的知识,也就是人的推测可以添加到估计中去,而频率流派的只谈数据。所以,大家现在能看懂下面这幅漫画的梗了吗?

4.jpg


轻松愉快喜闻乐见的扯淡环节到此就结束啦,下面我们从数学的角度上来看看频率学派以及贝叶斯学派的差异

贝叶斯观点与频率观点其本质区别在于:
贝叶斯学派认为参数是变量,而频率学派认为参数是定常的,只是我们不知道其取值而已

为了更好的理解这个说法,我们将举一个简单例子,用两种观点去分别处理

假设我们有一个多维的高斯分布
$$p(x) = \frac{1}{(2\pi)^{d/2}|\Sigma|^{1/2}} \exp\bigg[-\frac{1}{2} (x - \mu)^T\Sigma^{-1}(x-\mu)\bigg]$$
对于这个分布,我们假定只有参数\( \mu \),也就是高斯分布的均值是未知的,而参数\(\Sigma\),也就是协方差矩阵是已知的。现在我们有一系列的训练集,也就是样本\(\mathcal{D} = x_1, x_2, \cdots, x_n\),我们需要根据这些样本去估计模型的均值。(为什么我们假定协方差是已知的呢?确实,在实际中我们也不会知道协方差矩阵,但是如果这里我们也将\(\Sigma\)未知,那么大家就不想往下看了=。=所以这只是一个简单的例子)

频率学派的做法是:
既然样本已知,而样本往往是独立同分布的(I.I.D),那么我们就有如下的似然函数:
$$\mathcal{L} = p(\mathcal{D}|\mu) = \prod\limits_{k=1}^n p(x_k|\mu)$$
在这里,频率学派就把\(p(\mathcal{D}|\mu)\)看成是参数\(\mu\)的函数,但不意味他们将\(\mu\)当成变量,因为他们认为参数都是客观存在的,我们要做的是去寻找到它。
怎么找?频率派的做法是让这个参数使得这个似然最大,但是我们需要先将上面的似然函数改写成对数似然:
$$\ell = \sum\limits_{k=1}^n \ln p(x_k|\mu)$$
对于某个样本,我们有
$$\ln p(x_k|\mu) = -\frac{1}{2}\ln \Big[(2\pi)^d|\Sigma|\Big] - \frac{1}{2}(x_k - \mu)^T\Sigma^{-1}(x_k-\mu)$$
我们对其求导数,有:
$$\nabla_{\mu} \ln p(x_k|\mu) = \Sigma^{-1}(x-\mu)$$
这只是针对某一个样本而言,但是我们需要对整个训练集进行估计,所以我们令所有样本导数之和为0,此外,我们对于估计的均值用\(\hat{\mu}\)表示,即:
$$\sum\limits_{k=1}^n \Sigma^{-1}(x_k-\hat{\mu}) = 0$$
于是我们得到对于均值的估计为:
$$\hat{\mu} = \frac{1}{n}\sum\limits_{k=1}^n x_k$$
这个结果是不是很符合常识呢?均值就是所有样本的平均

下面我们来看看贝叶斯学派的做法:
在贝叶斯的世界里,参数也是变量,参数也有自己的分布,所以,对于上面的高斯分布
$$p(x|\mu) \sim \mathcal{N}(\mu, \sigma^2)$$
(注:这里的\(\sigma\)就相当于上面的\(\Sigma\),往下的内容我们只讨论一维的高斯分布,高维的同理。)

模型有自己的分布,参数也有自己的分布,假设我们定义参数\(\mu\)的分布也是高斯分布好了
$$p(\mu) \sim \mathcal{N}(\mu_0, \sigma_0^2)$$
其中\(\mu_0\)和\(\sigma_0^2\)是已知的,这是你的先验知识,取决于你的决策。(有人可能就会问了,凭什么用高斯分布?这时候我们或许就要谈谈中心极限定理了,你知道的啦,高斯分布外号上帝分布,但其实换成别的分布也没问题的,这些都取决于你的先验知识。但是万一你的先验知识失败了呢?也就是参数根本就不是那么回事你瞎弄一个参数分布给他,这其实也是频率派看不起贝叶斯的一个方面,关于这方面的讨论我们留后面)

好了,现在我们知道模型有自己的分布,参数有自己的分布,那么怎么去估计这个参数呢?这就要用到贝叶斯公式了
$$p(\mu|\mathcal{D}) = \frac{p(\mathcal{D}|\mu)p(\mu)}{\int p(\mathcal{D}|\mu)p(\mu) d\mu}$$
由于分母只是起到归一化的配分常数,所以我们可以扔掉它,用\(\alpha\)来代替,于是上式可以写成:
$$p(\mu|\mathcal{D}) = \alpha \prod\limits_{k=1}^n p(x_k|\mu)p(\mu)$$
于是,对于上面的公式,我们代入各自的概率密度,我们将得到:
$$p(\mu|\mathcal{D}) = \alpha \prod\limits_{k=1}^n \frac{1}{\sqrt{2\pi}\sigma} \exp \bigg[-\frac{1}{2}\bigg(\frac{x_k-\mu}{\sigma}\bigg)^2\bigg] \frac{1}{\sqrt{2\pi}\sigma_0} \exp \bigg[-\frac{1}{2}\bigg(\frac{\mu-\mu_0}{\sigma_0}\bigg)^2\bigg] $$
然后经过一系列的化简以及展开,我们将得到(由于是在不想敲公式了=。=我就不推了,大家可以私下去推一下)
$$p(\mu|\mathcal{D}) = \alpha ' \exp \bigg[-\frac{1}{2}\bigg[\bigg(\frac{n}{\sigma^2} + \frac{1}{\sigma_0^2}\bigg)\mu^2 - 2\bigg(\frac{1}{\sigma^2}\sum\limits_{k=1}^n x_k + \frac{\mu_0}{\sigma_0}\bigg)\mu\bigg]\bigg]$$
注:上面的\( \alpha '\)是相对于\( \alpha\)的另一个参数,意思就是说,常数项我们都不管他,都扔到一起去,这样\( \alpha\)就变成了\( \alpha '\)

上面的式子,如果我们要将其合并成一个高斯分布的标准形式,也就是
$$p(\mu|\mathcal{D}) = \frac{1}{\sqrt{2\pi}\sigma_n} \exp \bigg[-\frac{1}{2}\bigg(\frac{\mu-\mu_n}{\sigma_n}\bigg)^2\bigg]$$
那么,我们对应着之前的式子,我们不难得出:
$$\frac{1}{\sigma_n^2} = \frac{n}{\sigma^2} + \frac{1}{\sigma_0^2}$$
以及
$$\frac{\mu_n}{\sigma_n^2} = \frac{n}{\sigma_2}\hat{\mu}_n + \frac{\mu_0}{\sigma_0^2}$$
其中,\(\hat{\mu}_n\)是样本的均值,也就是
$$\hat{\mu}_n = \frac{1}{n}\sum\limits_{k=1}^n x_k$$

接着,我们联立方程,解上面两个式子,我们就会得到
$$\mu_n = \bigg(\frac{n\sigma_0^2}{n\sigma_0^2 + \sigma^2}\bigg)\hat{\mu}_n + \frac{\sigma^2}{n\sigma_0^2 + \sigma^2}\mu_0$$
以及
$$\sigma_n^2 = \frac{\sigma_0^2\sigma^2}{n\sigma_0^2 + \sigma^2}$$

至此,我们完成了贝叶斯估计的所有过程,呼,大工程

分析一下贝叶斯估计的结果,这里我们只分析均值好了,也就是下面这个
$$\mu_n = \bigg(\frac{n\sigma_0^2}{n\sigma_0^2 + \sigma^2}\bigg)\hat{\mu}_n + \frac{\sigma^2}{n\sigma_0^2 + \sigma^2}\mu_0$$
大家对比一下频率学派的结果:
$$\mu_n = \hat{\mu}_n $$
对比一下你就会发现,贝叶斯估计比频率估计多了一个系数,以及一个和项,也就是
$$\frac{n\sigma_0^2}{n\sigma_0^2 + \sigma^2}~~~~~~~~~\text{和}~~~~~~~~~~ \frac{\sigma^2}{n\sigma_0^2 + \sigma^2}\mu_0$$
什么意思呢?你可以这样理解,贝叶斯估计可以看做在极大似然估计的基础上加入人为的干预,你看,你对参数模型的分布\(p(\mu) \sim \mathcal{N}(\mu_0, \sigma_0^2)\)的先验,是不是在估计上影响了估计结果?

但是如果你的你对参数模型设置错了呢?也就是说,参数应该是一个均匀分布而不是高斯分布,但是你给他弄了个高斯分布,这样就严重影响了估计结果了。
确实,先验一定程度上影响了估计结果,但情况并没有这么糟糕,你再观察一下均值的估计:
$$\mu_n = \bigg(\frac{n\sigma_0^2}{n\sigma_0^2 + \sigma^2}\bigg)\hat{\mu}_n + \frac{\sigma^2}{n\sigma_0^2 + \sigma^2}\mu_0$$
当n趋于无穷的时候等于什么?

$$ $$
惊喜
$$$$

当n趋于无穷的时候,贝叶斯估计的结果居然跟极大似然的结果是一致的。

来,跟着我一起唱:
我眺望远方的山峰
却错过转弯的路口
蓦然回首
才发现你在等我
没离开过
我寻找大海的尽头
却忽略蜿蜒的河流
当我逆水行舟
你在我左右
推着我走

没错,当训练样本无穷多的时候,样本会推着贝叶斯估计向极大似然走,这时候两者是等价的。但是当样本非常少的时候,先验就会严重影响估计了。但是你这么想:少量样本,极大似然照样也不能工作哈哈哈哈哈哈哈,贝叶斯估计起码让人自己去蒙一蒙,万一蒙对了呢是吧?

下面这张图比较清晰地描述了贝叶斯估计与样本数量之间的关系

4.png


其中曲线上面的数字代表着样本数,从样本数上面,我们可以出,随着样本数越来越多,曲线也越来越陡,你的先验所能发挥的作用也会越来越小。来我们再来看一张三维的

5.png


就是这样,样本推着贝叶斯估计往正确的方向走,明白了吗

贝叶斯估计方法我们就讲到这里,下面我们来聊一聊楼主的问题

我去查了下楼主的问题中的那句话,发现出自《Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化》

其原文摘录如下:

==============================

模型选择的典型方法是正则化。正则化是结构风险最小化策略的实现,是在经验风险上加一个正则化项(regularizer)或罚项(penalty term)。正则化项一般是模型复杂度的单调递增函数,模型越复杂,正则化值就越大。比如,正则化项可以是模型参数向量的范数。
正则化符合奥卡姆剃刀(Occam's razor)原理。奥卡姆剃刀原理应用于模型选择时变为以下想法:在所有可能选择的模型中,能够很好地解释已知数据并且十分简单才是最好的模型,也就是应该选择的模型。从贝叶斯估计的角度来看,正则化项对应于模型的先验概率。可以假设复杂的模型有较大的先验概率,简单的模型有较小的先验概率。

==============================

昨天我以为楼主想问的是”贝叶斯模型比较方法“相关,所以我回复”贝叶斯模型选择法 ≠ 贝叶斯方法“,关于贝叶斯模型选择法,我没学好,也在学,所以就不能愉快地扯犊子了。但是看句子的出处,我说楼主啊,你能不能将整句话看完啊=。=...........所以你现在还有什么问题吗?

要回复问题请先登录注册

收藏七月在线,一起向大牛进阶

ctrl+D或command+D可以快速收藏哦~