- VisualStudio2022插件的安装及使用-编程手把手系列文章
- pprof-在现网场景怎么用
- C#实现的下拉多选框,下拉多选树,多级节点
- 【学习笔记】基础数据结构:猫树
离散随机变量的二项分布和多项式分布,以及连续随机变量的高斯分布,这些都是参数分布(parmetric distribution) 的具体例子。之所以被称为参数分布,是因为少量可调节的参数控制了整个概率分布.
在频率派的观点中,我们通过最优化某些准则(例如似然函数)来确定参数的具体值。而在贝叶斯派的观点中,给定观测数据,我们引入参数的先验分布,然后使用贝叶斯定理来计算对应后验概率分布.
注 参数方法的另一个限制是它假定分布有一个具体的函数形式,这对于一个具体应用来说是不合适的。另一种替代的方法是非参数(nonparametric) 估计方法。这种方法中分布的形式通常依赖于数据集的规模。这些模型仍然具有参数,但是这些参数控制的是模型的复杂度而不是分布的形式.
我们会看到,对于贝叶斯参数估计而言,共轭先验(conjugate prior) 有着很重要的作用。它使得后验概率分布的函数形式与先验概率相同,因此使得贝叶斯分析得到了极大的简化。例如,二项分布的参数的共轭分布为Beta分布,多项式分布的参数的共轭分布为狄利克雷分布(Dirichlet distribution),而高斯分布的均值的共轭先验是另一个高斯分布。所有这些分布都是指数族(exponential family) 分布的特例。在本篇博客中我们将会介绍二项分布与多项式分布的共轭先验,高斯分布的共轭先验留在下一篇博客中进行介绍.
考虑一个二元随机变量\(x\in \{0, 1\}\),它服从伯努利分布(Bernoulli distribution):
其中\(\mu\)为\(x=1\)的概率(\(0\leqslant \mu \leqslant 1\))。这个分布是归一化的(\(\sum_xp(x\mid \mu) = (1 - \mu) + \mu = 1\)),并且均值和方差为 。
现在我们假设我们有一个\(x\)的观测值的数据集\(\mathcal{D}=\{x_1, x_2, \cdots, x_N\}\)。假设每个观测都是独立地从\(\text{Bern}(x\mid \mu)\)中抽取的,因此我们可以构造关于\(\mu\)的似然函数如下:
依频率派的做法,我们可以通过最大化似然函数(或等价地最大化对数似然函数)来估计\(\mu\)的值。这种参数估计方法被称为最大似然估计(maximum likelihood estimation, MLE)(参见博客《统计推断:最大似然估计、贝叶斯估计与方差偏差分解》)。如果我们令\(\frac{\mathrm{d}\ln p(\mathcal{D}\mid \mu)}{\mathrm{d}\mu} = 0\),我们就得到了最大似然的估计值\(\mu_{\text{ML}} = \frac{1}{N}\sum_{i}x_i\)。这也被称为样本均值(sample mean)。如果我们把数据集里\(x=1\)的观测的数量记作\(m\),那么我们可以把上式写成下面的形式:
此时可以理解为数据集里\(x=1\)的观测所占的比例.
注 上述是频率派的参数估计方法,如果采用贝叶斯派的参数估计方法,在将参数\(\mu\)的先验分布选为均匀分布的情况下,会得到其后验概率分布近似为高斯分布\(\mathcal{N}(\mu_{\text{B}}, \frac{\mu_{\text{B}}(1 - \mu_{\text{B}})}{N})\),这里\(\mu_{\text{B}}\)和\(\mu_{\text{ML}}\)一样也是\(\frac{m}{N}\)(参见博客《概率论沉思录:初等假设检验》).
我们也可以求解给定数据集规模\(N\)的条件下,\(x=1\)的观测出现的数量\(m\)的概率分布。该分布即是我们在博客《概率论沉思录:初等抽样论》)中提到过的二项分布(binomial distribution):
二项分布的均值和方差如下所示:
注 这些结果也可以使用结论\(\mathbb{E}[x_1 + \cdots + x_N] = \mathbb{E}[x_1] + \cdots \mathbb{E}[x_N]\)(对随机变量\(x_i\)),与结论\(\mathrm{Var}[x_1 + \cdots + x_N] = \mathrm{Var}[x_1] + \cdots \mathrm{Var}[x_N]\)(对相互独立的随机变量\(x_i\))得到。由于\(m = x_1 + \cdots + x_N\),并且对于每次观察有\(\mathbb{E}[x_i] = \mu\)和\(\mathrm{Var}[x_i] = \mu (1 - \mu)\),应用该结论得到\(\mathbb{E}[m] = N\mu, \mathrm{Var}[m] = N\mu(1 - \mu)\).
类似地,关于数据集\(\mathcal{D}\),对于二项分布而言我们相当于拥有了单个样本点\(m\),我们也可以构造关于\(\mu\)的似然函数如下:
再次采用频率派的做法,令\(\frac{\mathrm{d}\ln p(\mathcal{D}\mid \mu)}{\mathrm{d}\mu} = 0\),我们就得到了二项分布参数\(\mu\)的最大似然估计值 。
可以看到,在二项分布中,参数\(\mu\)的最大似然解和伯努利分布同样为\(\mu_{\text{ML}} = \frac{m}{N}\).
我们前面得到了在二项分布中参数\(\mu\)的最大似然解\(\mu_{\text{ML}} = \frac{m}{N}\)。而我们之前提到过,我们使用的数据集对于想要拟合的二项分布而言相当于只有单个样本点,会给出严重的过拟合结果。为了用贝叶斯的观点看待这个问题,我们需要引入一个关于参数\(\mu\)的先验分布\(p(\mu)\)。我们注意到二项分布的似然函数是某个因子与\(\mu^m (1 - \mu)^{N - m}\)的乘积的形式。如果我们选择一个正比于\(\mu\)和\((1 - \mu)\)的幂指数的先验概率分布,那么后验概率分布(正比于先验和似然函数的乘积)就会有着与先验分布相同的函数形式(这个性质被叫做共轭性(conjugacy))。这样,先验分布的校正将表现为其参数的校正。这样在处理上是非常方便的,它通常使得计算相当容易。因此,我们把先验分布选择为Beta分布[2],定义为 。
其中归一化因子\(\Beta(a, b)\)经由我们在博客《概率论沉思录:初等假设检验》中提到过的Beta函数计算得到:
其中 。
为Gamma函数。对\(\Gamma(x + 1) = \int_{0}^{\infty}t^{x}e^{-t}\mathrm{d}t\)使用一次分部积分法[3]我们有\(\Gamma(x + 1) = \left[t^{x}(-e^{-t})\right]_{0}^{\infty} - \int_{0}^{\infty}xt^{x - 1}\left(-e^{-t}\right)\mathrm{d}t = x \Gamma(x)\),又因为\(\Gamma(1)=\int_{0}^{\infty}e^{-t}\mathrm{d}t=\left[-e^{-t}\right]_{0}^{\infty}=1\),因此用归纳法可证明当\(x\)为正整数时\(\Gamma(x) = (x - 1)!\)(参见博客《概率论沉思录:初等假设检验》).
Beta分布的均值和方差如下所示:
参数\(a\)和\(b\)经常被称为超参数(hyperparameter),因为它们控制了参数\(\mu\)的概率分布.
根据Beta先验\(\text{Beta}(\mu\mid a, b) = \frac{1}{\Beta(a, b)}\mu^{a - 1}(1 - \mu)^{b - 1}\)与二项分布的似然函数\(p(m\mid \mu) = \binom{N}{m}\mu^m(1 - \mu)^{N - m}\),我们可得到\(\mu\)的后验分布为:
这是\(\text{Beta}(\mu\mid m + a, N - m + b)\)分布.
我们看到,\(\mu\)的后验分布是另一个Beta分布,这反映出先验关于似然函数的共轭性质。我们还看到,如果一个数据集里有\(m\)次观测为\(x=1\),有\(N - m\)次观测为\(x = 0\),那么从先验概率到后验概率,\(a\)的值变大了\(m\),\(b\)的值变大了\(N - m\)。这让我们可以简单地把先验概率中的超参数\(a\)和\(b\)分别看成\(x = 1\)和\(x = 0\)的有效观测数(effective number of observation)。注意,\(a\)和\(b\)不一定是整数.
另外,如果我们接下来观测到更多的数据,那么后验概率分布可以扮演先验概率的角色。为了说明这一点,我们可以假想每次只取一个观测值,然后在每次观测之后更新当前的后验分布。在每个阶段,后验概率都可以视为一个\(\text{Beta}(\mu\mid a, b)\)分布,参数\(a\)和\(b\)分别表示对于\(x=1\)和\(x=0\)的观测总数(先验的和实际的)。观测到一个\(x = 1\)对应于把\(a\)的值增加\(1\),而观测到\(x=0\)会使\(b\)增加\(1\)。下图说明了这个过程中的一个步骤:
在该图中,先验分布为\(\text{Beta}(\mu\mid a=2, b=2) = 6\mu(1 - \mu)\),似然函数由公式\(p(m=1\mid \mu) = \mu\)给出(其中\(N=1\)),对应于\(x=1\)的一次观测,从而后验概率分布为\(\text{Beta}(\mu\mid a=3, b=2) = 12\mu^2(1 - \mu)\).
我们看到,如果我们接受了贝叶斯观点,那么学习过程中的顺序(sequential) 方法可以自然而然地得出。它与先验和似然函数的选择无关,只取决于数据独立同分布的假设。顺序方法每次使用一个观测值,或者每次使用一小批观测值。然后再使用下一个观测值之前丢掉它们.
注 顺序方法可以被用于实时学习的场景中。在实时学习的场景中,输入为一个持续稳定的数据流,模型必须在观测到所有数据之前就进行预测。由于顺序学习的方法不需要把所有的数据都存储到内存里,因此顺序方法对于大的数据集也很有用。最大似然方法也可以转化成顺序的框架.
对于\(\mu\)的后验分布\(\text{Beta}(m + a, N - m + b)\),如果我们想在此基础上使用点估计(而不同于直接进行最大似然估计),一个很自然的做法就是采用这个后验分布的均值做为贝叶斯估计量(Bayes estimator),如下式所示:
注 这里我们也可以采用最大后验点估计(maximum a posteriori, MAP)[4],该方法选择后验概率最大的点(在这里\(\mu\)是连续值的情况下,也即概率密度最大的点):
令\(\frac{\mathrm{d} p(\mu\mid m)}{\mathrm{d}\mu}=0\)可以得到其最大值是在\(\mu_{\text{MAP}}=\frac{m + a - 1}{a + b + N - 2}\)处.
现在我们来考虑一下\(\mu\)的贝叶斯估计量\(\mu_{\text{B}}\)是怎样形成的。先验分布\(\text{Beta}(\mu\mid a, b)\)有均值\(\frac{a}{a + b}\),它是我们在没有见到数据时对\(\mu\)的最好估计。当不考虑先验信息,我们可能会使用极大似然估计量\(\mu_{\text{ML}}=\frac{m}{N}\)当作对于\(\mu\)的估计,而\(\mu\)的贝叶斯估计量\(\mu_{\text{B}}\)则结合进了所有这些信息。如果把\(\mu_{\text{B}}\)写成下式,可以清楚地看到这些信息被结合进去的方式:
这样,\(\mu_{\text{B}}\)就表示成先验均值\(\mathbb{E}[\mu] = \frac{a}{a + b}\)和最大似然估计量\(\mu_{\text{ML}} = \frac{m}{N}\)(也即样本均值)的一个线性组合,其组合的权重由\(a\),\(b\)和\(N\)决定。可以看到,在数据集无限大的极限情况下,\(m, N \rightarrow \infty\),此时\(\mu_{\text{B}}\)变成了最大似然的结果\(\mu_{\text{ML}}\)。实际上,有个很普遍的情况是,贝叶斯的结果和最大似然的结果在数据集的规模趋于无穷的情况下会统一到一起。对于有限规模的数据集,\(\mu_{\text{B}}\)总是位于先验均值\(\mathbb{E}[\mu]\)和最大似然估计量\(\mu_{\text{ML}}\)之间.
从之前的图中我们可以看到,\(\mu\)的后验分布的图像相比其先验分布更尖。进一步地,随着观测数量的不断增加,后验分布的参数\(a\)或\(b\)也会不断增大,后验分布的数量还会越来越尖。下图展示了当\(a\)和\(b\)变化时,Beta分布\(\text{Beta}(\mu\mid a, b)\)关于\(\mu\)的函数图像的变化.
我们也能够通过Beta分布的方差公式\(\mathrm{Var}[\mu] = \frac{ab}{(a + b)^2(a + b + 1)}\)看出这种趋势。根据该公式,如果\(a\rightarrow\infty\)或\(b\rightarrow\infty\),那么方差就趋于0。我们可能想知道,下面这个性质是不是贝叶斯学习的一个共有属性:随着我们观测到越来越多的数据,后验概率表示的不确定性将会持续下降.
为了说明这一点,我们可以用频率学家的观点考虑贝叶斯学习问题。我们可以证明,平均来看,这种性质确实成立。考虑一个一般的贝叶斯推断问题,参数为\(\boldsymbol{\theta}\),并且我们观测到了一个数据集\(\mathcal{D}\),由联合概率分布\(p(\boldsymbol{\theta}, \mathcal{D})\)描述。我们有下列结果:
其中 。
该结果表明,\(\boldsymbol{\theta}\)的后验均值在产生数据集的整个分布上做平均后,等于\(\boldsymbol{\theta}\)的先验均值。类似地,我们可以证明 。
上式左侧的项是\(\boldsymbol{\theta}\)的先验方差。在右侧,第一项是\(\boldsymbol{\theta}\)的平均后验方差,第二项是\(\boldsymbol{\theta}\)的后验均值的方差。由于这个方差非负,因此这个结果表明,平均来看,\(\boldsymbol{\theta}\)的后验方差小于或等于先验方差。后验均值的方差越大,方差减小得就越多。但是需要注意的是,这个结果只在平均情况下成立,对于一个特定的观测数据集,有可能后验方差大于先验方差.
二元随机变量可以用来描述只能取两种可能值中的一种的这样的量。然而,我们经常会遇到可以取\(K\)个互斥状态中的某一种的离散变量。一种比较方便的表示方法是“\(1\)-of-\(K\)”表示法。这种表示方法中,变量被表示成一个\(K\)维向量\(\boldsymbol{x}\),向量中的一个元素\(x_k\)等于\(1\),剩余元素等于\(0\)(注意,这样的向量满足\(\sum_{k}x_k = 1\))。例如,如果我们有一个能够取\(K=6\)种状态的变量,这个变量的某次特定的观测恰好对应于\(x_3=1\)的状态,那么\(\boldsymbol{x}\)就可以表示为\(\boldsymbol{x} = (0, 0, 1, 0, 0, 0)^T\)。\(\boldsymbol{x}\)的分布为类别分布(categorical distribution):
其中\(\boldsymbol{\mu} = (\mu_1, \cdots, \mu_K)^T\),参数\(\mu_k\)表示\(x_k=1\)的概率(\(0 \leqslant \mu_k \leqslant 1, \sum_{k}\mu_k = 1\))。上述概率分布可以被看做是伯努利分布对于多个输出的一个推广。这个分布是归一化的(\(\sum_{\boldsymbol{x}}p(\boldsymbol{x}\mid \boldsymbol{u}) = \sum_{k}\mu_k = 1\)),并且均值为 。
类似地,我们考虑一个有\(x\)的独立观测值的数据集\(\mathcal{D}=\{x_1, x_2, \cdots, x_N\}\)。对应的似然函数形式为 。
依频率派的做法,为了找到\(\boldsymbol{\mu}\)的最大似然解,我们可以关于\(\mu_k\)最大化\(\ln p(\mathcal{D}\mid \boldsymbol{\mu})\),并且要满足约束\(\sum_{k}\mu_k=1\)(这可以通过拉格朗日乘数\(\lambda\)实现),此时即最大化:
令上式关于\(\mu_k\)的导数等于\(0\),我们有\(\mu_k = -\frac{m_k}{\lambda}\)。把该结果代入到约束\(\sum_{k}\mu_k=1\)中,解得\(\lambda = -N\)。于是我们得到了最大似然解 。
它是在\(N\)次观测中,\(x_k=1\)的观测所占的比例.
类比于二项分布之于伯努利分布,我们也可以考虑\(m_1, \cdots, m_K\)在参数\(\boldsymbol{\mu}\)和观测总数\(N\)下的联合分布。该分布即是我们在博客《概率论沉思录:初等抽样论》)中提到过的多项分布(multinomial distribution):
其中\(\sum_{k=1}^Km_k=N\).
类似地,关于数据集\(\mathcal{D}\),对于多项分布而言我们相当于拥有了单个样本点\((m_1, m_2, \cdots, m_K)\),我们也可以构造关于\(\boldsymbol{\mu}\)的似然函数如下:
再次采用频率派的做法,为了找到\(\boldsymbol{\mu}\)的最大似然解,我们可以关于\(\mu_k\)最大化\(\ln p(\mathcal{D}\mid \boldsymbol{\mu})\),并且要满足约束\(\sum_{k}\mu_k=1\)(这也可以通过拉格朗日乘数\(\lambda\)实现),这样我们就得到了多项分布参数\(\mu\)的最大似然估计值 。
可以看到,在多项分布中,参数\(\mu_k\)的最大似然解和“\(1\)-of-\(K\)”随机变量的分布同样为\(\mu^{\text{ML}}_k = \frac{m_k}{N}\).
现在我们介绍多项分布\(\text{Mult}(m_1,\cdots, m_K\mid \boldsymbol{\mu}, N)\)的参数\(\boldsymbol{\mu}\)的一族先验分布。观察多项式分布的形式,我们将其对应的共轭先验选择为狄利克雷分布(Dirichlet distribution)[5],定义为 。
其中归一化因子\(\Beta(\boldsymbol{\alpha})\)经由多项Beta函数[5]计算得到:
其中积分区域\(\Omega\)也即\(\boldsymbol{\mu}\)的值域(\(0\leqslant\mu_k\leqslant 1\)且\(\sum_{k}\mu_k = 1\)),为\(\mathbb{R}^K\)中的\(K - 1\)维的单纯形(simplex)。下图展示了\(\boldsymbol{\mu} = (\mu_1, \mu_2, \mu_3)^T\)在\(\mathbb{R}^3\)中的分布情况,可以看到其被限制在了一个二维单纯形平面中:
参数\(\boldsymbol{\alpha} = (\alpha_1, \cdots, \alpha_K)^T\)。下图展示了在不同的参数\(\boldsymbol{\alpha} = (\alpha_1, \alpha_2, \alpha_3)^T\)的情况下,单纯形上的狄利克雷分布的图像:
其中两个水平轴是单纯形平面上的坐标轴,垂直轴对应于概率密度的值。这里\(\boldsymbol{\alpha}=(0.1, 0.1, 0.1)^T\)对应于左图,\(\boldsymbol{\alpha}=(1, 1, 1)^T\)对应于中图,\(\boldsymbol{\alpha}=(10, 10, 10)^T\)对应于右图.
根据狄利克雷先验\(\text{Dir}(\boldsymbol{\mu}\mid \boldsymbol{\alpha}) = \frac{1}{\Beta(\boldsymbol{\alpha})} \prod_k\mu_k^{\alpha_k - 1}\)与多项分布的似然函数\(p(\mathcal{D}\mid \boldsymbol{\mu}) = \prod_k\mu_k^{m_k}\),我们可以可得到\(\boldsymbol{\mu}\)的后验分布为:
这是\(\text{Dir}(\boldsymbol{\mu}\mid \boldsymbol{m} + \boldsymbol{\alpha})\)分布,其中\(\boldsymbol{m} = (m_1, \cdots, m_K)^T\).
类比于我们之前为二项分布选择先验分布\(\text{Beta}(\mu\mid a, b)\),将参数\(a\)和\(b\)分别看成\(x = 1\)和\(x = 0\)的有效观测数,这里我们为多项分布选择先验分布\(\text{Dir}(\boldsymbol{\mu}\mid \boldsymbol{\alpha})\),也可以将参数\(\alpha_k\)看成\(x_k = 1\)的有效观测数.
需要注意的是,具有两个状态的量既可以表示为二元变量然后使用二项分布建模,也可以表示为类别变量然后使用多项分布建模.
最后此篇关于贝叶斯机器学习:共轭先验的文章就讲到这里了,如果你想了解更多关于贝叶斯机器学习:共轭先验的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
简介 在上一篇文章《机器学习:神经网络构建(上)》中讨论了线性层、激活函数以及损失函数层的构建方式,本节中将进一步讨论网络构建方式,并完整的搭建一个简单的分类器网络。 目录 网络Netwo
简介 在本篇文章中,我们采用逻辑回归作为案例,探索神经网络的构建方式。文章详细阐述了神经网络中层结构的实现过程,并提供了线性层、激活函数以及损失函数的定义(实现方法)。 目录 背景介绍
简介 在前两篇文章中,我们详细探讨了如何利用采样数据来估计回归曲线。接下来,在本节中,我们将深入讨论如何处理分类问题。 章节安排 背景介绍 数学方法 程序实现 背景介绍 线
简介 在上一篇文章《机器学习:线性回归(上)》中讨论了二维数据下的线性回归及求解方法,本节中我们将进一步的将其推广至高维情形。 章节安排 背景介绍 最小二乘法 梯度下降法 程序
PyCaret是一个开源、低代码Python机器学习库,能够自动化机器学习工作流程。它是一个端到端的机器学习和模型管理工具,极大地加快了实验周期,提高了工作效率。PyCaret本质上是围绕几个机器学习
在我的研究进展中,我现在已经将寄生虫从图像中分离出来。寄生虫看起来像蠕虫。我希望 MATLAB 读取所有输入图像,查找类似深紫色图像的蠕虫,如果检测到,则给出检测到的答复。我尝试使用直方图比较,但我认
目前我正在尝试了解机器学习算法的工作方式,但我没有真正了解的一件事是预测标签的计算准确度与视觉混淆矩阵之间的明显差异。我会尽量解释清楚。 这是数据集的片段(这里你可以看到 9 个样本(在真实数据集中大
第一章 绪论 机器学习 : 致力于研究如何通过计算的手段,利用经验来改善系统自身的性能。在计算机系统中, “经验” 通常以“数据“形式存在,因此,机器学习所研究的主要内容,是关于在计算
1. 算法原理(K-Nearest Neighbor) 本质是通过距离判断两个样本是否相似,如果距离够近就认为他们足够相似属于同一类别 找到离其最近的 k 个样本,并将这些样本称
前言 K-means是一种经典的无监督学习算法,用于对数据进行聚类。K-means算法将数据集视为具有n个特征的n维空间,并尝试通过最小化簇内平方误差的总和来将数据点划分为簇。本文将介绍K-m
目录 前言 介绍LightGBM LightGBM的背景和起源 L
前言 可以说掌握了机器学习,你就具备了与机器对话,充分利用机器为人类服务的能力。在人工智能时代,这将成为一项必备技能,就好比十年前你是编程大牛,二十年前你英语超好一样。因此,无论你是什么专业的
几个贯穿始终的概念 当我们把人类学习简单事物的过程抽象为几个阶段,再将这些阶段通过不同的方法具体化为代码,依靠通过计算机的基础能力-- 计算 。我们就可以让机器能够“学会”一些简单的事物。
1、选题背景 人脸识别技术是模式识别和计算机视觉领域最富挑战性的研究课题之一,也是近年来的研究热点,人脸性别识别作为人脸识别技术
每当我们在公有云或者私有云发布训练好的大数据模型,为了方便大家辨识、理解和运用,参照huggingface所制定的标准制作一个Model Card展示页,是种非常好的模型展示和组织形式。 下面就是一
2. 支持向量机 对偶优化 拉格朗日乘数法可用于解决带条件优化问题,其基本形式为: \[\begin{gather} \min_w f(w),\\ \mathrm{s.t.} \quad
我正在尝试运行以下代码: https://github.com/opencv/opencv/blob/master/samples/dnn/classification.cpp 我在这里找到所有经过预
我是机器学习新手。当我使用 scikit-learn 模块中的波士顿数据集练习具有默认参数的决策树回归模型时。 在此链接解决方案( How to Build a Decision tree Regre
我有用于训练的数据。当我将其输入神经网络时,该数据出现 3% 的错误。 我知道这些数据有一定的过度代表性 - 例如,第 5 类的示例大约是其他类的十分之一。 我的作业指出,我可以通过偏置训练数据(即删
我在 Python 的多类分类中使用 SVM 时遇到问题。事实上,问题在于性别分类(来自图像),其中训练数据集仅包含“y=1”或“ y=-1”作为类标签(二进制)。但是,在预测中,如果是男性,我必须预
我是一名优秀的程序员,十分优秀!