记录机器学习公式推导的文档,好好学数学哦~
参考视频:https://www.bilibili.com/video/BV1aE411o7qd?p=2&spm_id_from=pageDriver
语雀文档:https://www.yuque.com/books/share/f4031f65-70c1-4909-ba01-c47c31398466/hu0291
对概率的诠释有两大学派,一种是频率派另一种是贝叶斯派。后面我们对观测集采用下面记号:
X N × p = ( x 1 , x 2 , ⋯ , x N ) T , x i = ( x i 1 , x i 2 , ⋯ , x i p ) T X_{N\times p}=(x_{1},x_{2},\cdots,x_{N})^{T},x_{i}=(x_{i1},x_{i2},\cdots,x_{ip})^{T} XN×p=(x1,x2,⋯,xN)T,xi=(xi1,xi2,⋯,xip)T
这个记号表示有 N N N 个样本,每个样本都是 p p p 维向量。其中每个观测都是由 p ( x ∣ θ ) p(x|\theta) p(x∣θ) 生成的。
p ( x ∣ θ ) p(x|\theta) p(x∣θ) 中的 θ \theta θ 是一个未知常量。对于 N N N 个观测来说观测集的概率为
p ( X ∣ θ ) = i i d ∏ i = 1 N p ( x i ∣ θ ) ) p(X|\theta)\mathop{=}\limits _{iid}\prod\limits _{i=1}^{N}p(x_{i}|\theta)) p(X∣θ)iid=i=1∏Np(xi∣θ))
为了求 θ \theta θ 的大小,我们采用最大对数似然MLE的方法:
θ M L E = a r g m a x θ log p ( X ∣ θ ) = i i d a r g m a x θ ∑ i = 1 N log p ( x i ∣ θ ) \theta_{MLE}=\mathop{argmax}\limits _{\theta}\log p(X|\theta)\mathop{=}\limits _{iid}\mathop{argmax}\limits _{\theta}\sum\limits _{i=1}^{N}\log p(x_{i}|\theta) θMLE=θargmaxlogp(X∣θ)iid=θargmaxi=1∑Nlogp(xi∣θ)
假设每个样本 x i x_i xi都是独立同分布(iid)于 p ( x i ∣ θ ) p(x_i| \theta) p(xi∣θ),那么有 P ( X ∣ θ ) = ∏ i = 1 N p ( x i ∣ θ ) P(X| \theta) = \prod_{i=1}^N p(x_i| \theta) P(X∣θ)=∏i=1Np(xi∣θ),对两边取对数连乘就变成连加。
频率派模型演化为统计机器学习,关键是优化问题,如设计模型,loss function,algorithm。
贝叶斯派认为 p ( x ∣ θ ) p(x|\theta) p(x∣θ) 中的 θ \theta θ 不是一个常量**。这个 θ \theta θ 满足一个预设的分布 θ ∼ p ( θ ) \theta\sim p(\theta) θ∼p(θ)** ,这个预设的分布就是先验,而这个先验是可以通过贝叶斯公式由后验得到。于是根据贝叶斯定理依赖观测集参数的后验可以写成:
p ( θ ∣ X ) = p ( X ∣ θ ) ⋅ p ( θ ) p ( X ) = p ( X ∣ θ ) ⋅ p ( θ ) ∫ θ p ( X ∣ θ ) ⋅ p ( θ ) d θ p(\theta|X)=\frac{p(X|\theta)\cdot p(\theta)}{p(X)}=\frac{p(X|\theta)\cdot p(\theta)}{\int\limits _{\theta}p(X|\theta)\cdot p(\theta)d\theta} p(θ∣X)=p(X)p(X∣θ)⋅p(θ)=θ∫p(X∣θ)⋅p(θ)dθp(X∣θ)⋅p(θ)
为了求 θ \theta θ 的值,我们要最大化这个参数后验MAP(最大后验概率估计):
θ M A P = a r g m a x θ p ( θ ∣ X ) = a r g m a x θ p ( X ∣ θ ) ⋅ p ( θ ) \theta_{MAP}=\mathop{argmax}\limits _{\theta}p(\theta|X)=\mathop{argmax}\limits _{\theta}p(X|\theta)\cdot p(\theta) θMAP=θargmaxp(θ∣X)=θargmaxp(X∣θ)⋅p(θ)
其中第二个等号是由于分母和 θ \theta θ 没有关系。求解这个 θ \theta θ 值后计算
p ( X ∣ θ ) ⋅ p ( θ ) ∫ θ p ( X ∣ θ ) ⋅ p ( θ ) d θ \frac{p(X|\theta)\cdot p(\theta)}{\int\limits _{\theta}p(X|\theta)\cdot p(\theta)d\theta} θ∫p(X∣θ)⋅p(θ)dθp(X∣θ)⋅p(θ)
,就得到了参数的后验概率。其中 p ( X ∣ θ ) p(X|\theta) p(X∣θ) 叫似然,是我们的模型分布。得到了参数的后验分布后,我们可以将这个分布用于预测贝叶斯预测:
p ( x n e w ∣ X ) = ∫ θ p ( x n e w ∣ θ ) ⋅ p ( θ ∣ X ) d θ p(x_{new}|X)=\int\limits _{\theta}p(x_{new}|\theta)\cdot p(\theta|X)d\theta p(xnew∣X)=θ∫p(xnew∣θ)⋅p(θ∣X)dθ
其中积分中的被乘数是模型,乘数是后验分布。
贝叶斯模型进而发展为概率图模型,关键就是求积分(比如常用的MCMC,蒙特卡洛方法)。
频率派和贝叶斯派分别给出了一系列的机器学习算法。频率派的观点导出了一系列的统计机器学习算法而贝叶斯派导出了概率图理论。在应用频率派的 MLE 方法时最优化理论占有重要地位。而贝叶斯派的算法无论是后验概率的建模还是应用这个后验进行推断时积分占有重要地位。因此采样积分方法如 MCMC 有很多应用。
高斯分布在机器学习中占有举足轻重的作用。在 MLE 方法中:
θ = ( μ , Σ ) = ( μ , σ 2 ) , θ M L E = a r g m a x θ log p ( X ∣ θ ) = i i d a r g m a x θ ∑ i = 1 N log p ( x i ∣ θ ) \theta=(\mu,\Sigma)=(\mu,\sigma^{2}),\theta_{MLE}=\mathop{argmax}\limits _{\theta}\log p(X|\theta)\mathop{=}\limits _{iid}\mathop{argmax}\limits _{\theta}\sum\limits _{i=1}^{N}\log p(x_{i}|\theta) θ=(μ,Σ)=(μ,σ2),θMLE=θargmaxlogp(X∣θ)iid=θargmaxi=1∑Nlogp(xi∣θ)
一般地,高斯分布的概率密度函数写为:
p ( x ∣ μ , Σ ) = 1 ( 2 π ) p / 2 ∣ Σ ∣ 1 / 2 e − 1 2 ( x − μ ) T Σ − 1 ( x − μ ) p(x|\mu,\Sigma)=\frac{1}{(2\pi)^{p/2}|\Sigma|^{1/2}}e^{-\frac{1}{2}(x-\mu)^{T}\Sigma^{-1}(x-\mu)} p(x∣μ,Σ)=(2π)p/2∣Σ∣1/21e−21(x−μ)TΣ−1(x−μ)
其中 Σ \Sigma Σ表示分布的协方差矩阵,在一维的情况其协方差矩阵即为该方差的1X1矩阵。
带入 MLE 中我们考虑一维的情况
log p ( X ∣ θ ) = ∑ i = 1 N log p ( x i ∣ θ ) = ∑ i = 1 N log 1 2 π σ exp ( − ( x i − μ ) 2 / 2 σ 2 ) \log p(X|\theta)=\sum\limits _{i=1}^{N}\log p(x_{i}|\theta)=\sum\limits _{i=1}^{N}\log\frac{1}{\sqrt{2\pi}\sigma}\exp(-(x_{i}-\mu)^{2}/2\sigma^{2}) logp(X∣θ)=i=1∑Nlogp(xi∣θ)=i=1∑Nlog2πσ1exp(−(xi−μ)2/2σ2)
首先对 μ \mu μ 的极值可以得到 :
μ M L E = a r g m a x μ log p ( X ∣ θ ) = a r g m a x μ ∑ i = 1 N ( x i − μ ) 2 \mu_{MLE}=\mathop{argmax}\limits _{\mu}\log p(X|\theta)=\mathop{argmax}\limits _{\mu}\sum\limits _{i=1}^{N}(x_{i}-\mu)^{2} μMLE=μargmaxlogp(X∣θ)=μargmaxi=1∑N(xi−μ)2
于是:
∂ ∂ μ ∑ i = 1 N ( x i − μ ) 2 = 0 ⟶ μ M L E = 1 N ∑ i = 1 N x i \frac{\partial}{\partial\mu}\sum\limits _{i=1}^{N}(x_{i}-\mu)^{2}=0\longrightarrow\mu_{MLE}=\frac{1}{N}\sum\limits _{i=1}^{N}x_{i} ∂μ∂i=1∑N(xi−μ)2=0⟶μMLE=N1i=1∑Nxi
就可以得到 μ \mu μ的估计值。
其次对 θ \theta θ 中的另一个参数 σ \sigma σ ,有:
σ M L E = a r g m a x σ log p ( X ∣ θ ) = a r g m a x σ ∑ i = 1 N [ − log σ − 1 2 σ 2 ( x i − μ ) 2 ] = a r g m i n σ ∑ i = 1 N [ log σ + 1 2 σ 2 ( x i − μ ) 2 ] \begin{align} \sigma_{MLE}=\mathop{argmax}\limits _{\sigma}\log p(X|\theta)&=\mathop{argmax}\limits _{\sigma}\sum\limits _{i=1}^{N}[-\log\sigma-\frac{1}{2\sigma^{2}}(x_{i}-\mu)^{2}]\nonumber\\ &=\mathop{argmin}\limits _{\sigma}\sum\limits _{i=1}^{N}[\log\sigma+\frac{1}{2\sigma^{2}}(x_{i}-\mu)^{2}] \end{align} σMLE=σargmaxlogp(X∣θ)=σargmaxi=1∑N[−logσ−2σ21(xi−μ)2]=σargmini=1∑N[logσ+2σ21(xi−μ)2]
于是:
∂ ∂ σ ∑ i = 1 N [ log σ + 1 2 σ 2 ( x i − μ ) 2 ] = 0 ⟶ σ M L E 2 = 1 N ∑ i = 1 N ( x i − μ ) 2 \frac{\partial}{\partial\sigma}\sum\limits _{i=1}^{N}[\log\sigma+\frac{1}{2\sigma^{2}}(x_{i}-\mu)^{2}]=0\longrightarrow\sigma_{MLE}^{2}=\frac{1}{N}\sum\limits _{i=1}^{N}(x_{i}-\mu)^{2} ∂σ∂i=1∑N[logσ+2σ21(xi−μ)2]=0⟶σMLE2=N1i=1∑N(xi−μ)2
值得注意的是,上面的推导中,首先对 μ \mu μ 求 MLE, 然后利用这个结果求 σ M L E \sigma_{MLE} σMLE ,因此可以预期的是对数据集求期望时 E D [ μ M L E ] \mathbb{E}_{\mathcal{D}}[\mu_{MLE}] ED[μMLE] 是无偏差的:
E D [ μ M L E ] = E D [ 1 N ∑ i = 1 N x i ] = 1 N ∑ i = 1 N E D [ x i ] = μ \mathbb{E}_{\mathcal{D}}[\mu_{MLE}]=\mathbb{E}_{\mathcal{D}}[\frac{1}{N}\sum\limits _{i=1}^{N}x_{i}]=\frac{1}{N}\sum\limits _{i=1}^{N}\mathbb{E}_{\mathcal{D}}[x_{i}]=\mu ED[μMLE]=ED[N1i=1∑Nxi]=N1i=1∑NED[xi]=μ
但是当对 σ M L E \sigma_{MLE} σMLE 求 期望的时候由于使用了单个数据集的 μ M L E \mu_{MLE} μMLE,其方差会比真实的方差更小,因此对所有数据集求期望的时候我们会发现 σ M L E \sigma_{MLE} σMLE 是 有偏的:
E D [ σ M L E 2 ] = E D [ 1 N ∑ i = 1 N ( x i − μ M L E ) 2 ] = E D [ 1 N ∑ i = 1 N ( x i 2 − 2 x i μ M L E + μ M L E 2 ) = E D [ 1 N ∑ i = 1 N x i 2 − μ M L E 2 ] = E D [ 1 N ∑ i = 1 N x i 2 − μ 2 + μ 2 − μ M L E 2 ] = E D [ 1 N ∑ i = 1 N x i 2 − μ 2 ] − E D [ μ M L E 2 − μ 2 ] = σ 2 − ( E D [ μ M L E 2 ] − μ 2 ) = σ 2 − ( E D [ μ M L E 2 ] − E D 2 [ μ M L E ] ) = σ 2 − V a r [ μ M L E ] = σ 2 − V a r [ 1 N ∑ i = 1 N x i ] = σ 2 − 1 N 2 ∑ i = 1 N V a r [ x i ] = N − 1 N σ 2 \begin{align} \mathbb{E}_{\mathcal{D}}[\sigma_{MLE}^{2}]&=\mathbb{E}_{\mathcal{D}}[\frac{1}{N}\sum\limits _{i=1}^{N}(x_{i}-\mu_{MLE})^{2}]=\mathbb{E}_{\mathcal{D}}[\frac{1}{N}\sum\limits _{i=1}^{N}(x_{i}^{2}-2x_{i}\mu_{MLE}+\mu_{MLE}^{2})\nonumber \\&=\mathbb{E}_{\mathcal{D}}[\frac{1}{N}\sum\limits _{i=1}^{N}x_{i}^{2}-\mu_{MLE}^{2}]=\mathbb{E}_{\mathcal{D}}[\frac{1}{N}\sum\limits _{i=1}^{N}x_{i}^{2}-\mu^{2}+\mu^{2}-\mu_{MLE}^{2}]\nonumber\\ &= \mathbb{E}_{\mathcal{D}}[\frac{1}{N}\sum\limits _{i=1}^{N}x_{i}^{2}-\mu^{2}]-\mathbb{E}_{\mathcal{D}}[\mu_{MLE}^{2}-\mu^{2}]=\sigma^{2}-(\mathbb{E}_{\mathcal{D}}[\mu_{MLE}^{2}]-\mu^{2})\nonumber\\&=\sigma^{2}-(\mathbb{E}_{\mathcal{D}}[\mu_{MLE}^{2}]-\mathbb{E}_{\mathcal{D}}^{2}[\mu_{MLE}])=\sigma^{2}-Var[\mu_{MLE}]\nonumber\\&=\sigma^{2}-Var[\frac{1}{N}\sum\limits _{i=1}^{N}x_{i}]=\sigma^{2}-\frac{1}{N^{2}}\sum\limits _{i=1}^{N}Var[x_{i}]=\frac{N-1}{N}\sigma^{2} \end{align} ED[σMLE2]=ED[N1i=1∑N(xi−μMLE)2]=ED[N1i=1∑N(xi2−2xiμMLE+μMLE2)=ED[N1i=1∑Nxi2−μMLE2]=ED[N1i=1∑Nxi2−μ2+μ2−μMLE2]=ED[N1i=1∑Nxi2−μ2]−ED[μMLE2−μ2]=σ2−(ED[μMLE2]−μ2)=σ2−(ED[μMLE2]−ED2[μMLE])=σ2−Var[μMLE]=σ2−Var[N1i=1∑Nxi]=σ2−N21i=1∑NVar[xi]=NN−1σ2
所以:
σ ^ 2 = 1 N − 1 ∑ i = 1 N ( x i − μ ) 2 \hat{\sigma}^{2}=\frac{1}{N-1}\sum\limits _{i=1}^{N}(x_{i}-\mu)^{2} σ^2=N−11i=1∑N(xi−μ)2