机器学习中的极大似然估计

极大似然估计(MLE)

考虑一组含有 m m m个样本的数据集 X = { x ( 1 ) , . . . , x ( m ) } \mathbb{X}=\{x^{(1)}, ..., x^{(m)}\} X={x(1),...,x(m)},独立的由未知的真实数据生成分布 p d a t a ( x ) p_{data}(\mathbf{x}) pdata(x)生成。
p m o d e l ( x ; θ ) p_{model}(\mathbf{x;\theta)} pmodel(x;θ)是由模型参数确定在相同特征空间上的概率分布。模型由参数 θ \theta θ唯一确定,参数 θ \theta θ确定了一个参数空间 Θ \Theta Θ,不同的 θ \theta θ对应的不同的模型。机器学习的本质就是希望通过数据找到数据背后的真实生成分布 p d a t a p_{data} pdata,也就是希望用模型分布 p m o d e l p_{model} pmodel拟合数据生成分布 p d a t a p_{data} pdata,但是数据生成分布 p d a t a p_{data} pdata是未知的,是我们想要拟合的对象。我们拥有的是从 p d a t a p_{data} pdata采样得到的有限的样本。因此,模型训练的本质就在参数空间 Θ \Theta Θ上寻找最优参数 θ ^ \hat{\theta} θ^使模型拟合训练集,也就是使模型分布近似训练集上的经验分布 p ^ d a t a ( x ) \hat{p}_{data}(x) p^data(x)。训练模型事实上就在训练集上对参数 θ \theta θ的极大似然估计。从贝叶斯估计的角度,参数的极大似然估计体现了数据对模型参数的偏好。

θ \theta θ的极大似然被定义为:
θ M L = a r g   m a x θ   p m o d e l ( X ; θ ) = a r g   m a x θ   ∏ i = 1 m p m o d e l ( x ( i ) ; θ ) \begin{aligned} \theta_{ML}&=\underset{\theta}\mathbf{arg\ max}\ p_{model}(\mathbb{X};\theta)\\ &=\underset{\theta}\mathbf{arg\ max}\ \prod_{i=1}^{m}p_{model}(x^{(i)};\theta) \end{aligned} θML=θarg max pmodel(X;θ)=θarg max i=1mpmodel(x(i);θ)
因此模型的训练就是以最大化似然函数为目标的优化问题。该问题的目标函数为:
L ( θ ) = ∏ i = 1 m p m o d e l ( x ( i ) ; θ ) L(\theta)=\prod_{i=1}^mp_{model}(x^{(i)};\theta) L(θ)=i=1mpmodel(x(i);θ)

使用对数似然(Log-Likelihood,LL)可将乘积转换为求和,更便于计算。
l n L ( θ ) = ∑ i = 1 m l n p m o d e l ( x ( i ) ; θ ) lnL(\theta)=\sum_{i=1}^mlnp_{model}(x^{(i)};\theta) lnL(θ)=i=1mlnpmodel(x(i);θ)
实践中,通常以负对数似然(Negative Log-Likelihood, NLL)作为代价函数,并通过最小化代价函数寻找最优参数。
J ( θ ) = − l n L ( θ ) = − ∑ i = 1 m l n p m o d e l ( x ( i ) ; θ ) \begin{aligned} J(\theta)&= -lnL(\theta)\\ &=-\sum_{i=1}^mlnp_{model}(x^{(i)};\theta) \end{aligned} J(θ)=lnL(θ)=i=1mlnpmodel(x(i);θ)
以上就是机器学习中参数模型通用理论基础。主要是两个部分:

  1. 定义模型,即定义 p m o d e l p_{model} pmodel
  2. 训练模型,即求 θ ^ = a r g   m i n θ   J ( θ ) \hat{\theta}=\underset{\theta}{arg\ min}\ J(\theta) θ^=θarg min J(θ)

条件似然估计

最大似然估计很容易扩展到估计条件概率 P ( y ∣ x ; θ ) P (\mathbf{y}|\mathbf{x};\theta) P(yx;θ),从而给定x预测y。实际上这是最常见的情况,因为这构成了大多数监督学习的基础。如果 X X X表示所有的输入, Y Y Y表示我们观测到的目标,那么条件最大似然估计是
θ M L = a r g   m a x θ P ( Y ∣ X ; θ ) = a r g   m a x θ ∑ i = 1 m l n P ( y ( i ) ∣ x ( i ) ; θ ) \begin{aligned} \theta_{ML}&=\underset {\theta} {\mathbf{arg\ max}}P(Y|X;\theta)\\ &=\underset{\theta}{\mathbf{arg \ max}}\sum_{i=1}^mlnP(y^{(i)}|x^{(i)};\theta) \end{aligned} θML=θarg maxP(YX;θ)=θarg maxi=1mlnP(y(i)x(i);θ)

监督学习中的判别模型,直接对类别后验概率分布 p ( y ∣ x ) p(y|x) p(yx)进行建模,并不关心 x x x的分布是如何的。类似的,在这种情况下,我们希望用模型分布 p m o d e l ( y ∣ x ; θ ) p_{model}(y|x;\theta) pmodel(yx;θ)对真实的条件概率分布 p d a t a ( y ∣ x ) p_{data}(y|x) pdata(yx)进行近似。此时,似然函数为:
L ( θ ) = ∏ i = 1 m p m o d e l ( y ( i ) ∣ x ( i ) ; θ ) L(\theta)=\prod_{i=1}^mp_{model}(y^{(i)}|x^{(i)};\theta) L(θ)=i=1mpmodel(y(i)x(i);θ)
代价函数为:
J ( θ ) = − l n L ( θ ) = − ∑ i = 1 m l n p m o d e l ( y ( i ) ∣ x ( i ) ; θ ) \begin{aligned} J(\theta)&=-lnL(\theta)\\ &=-\sum_{i=1}^mlnp_{model}(y^{(i)}|x^{(i)};\theta) \end{aligned} J(θ)=lnL(θ)=i=1mlnpmodel(y(i)x(i);θ)

似然函数的解释

似然函数是模型参数 θ \theta θ的函数,是在模型分布上采样得到数据生成分布上的观测值的概率值。如果这个概率值越大,就说明模型分布越接近真实数据分布。这个函数就衡量了模型分布 p m o d e l p_{model} pmodel和真实数据生成分布 p d a t a p_{data} pdata之间的匹配程度。最大似然的目的就是寻找模型假设空间中的最优参数 θ \theta θ,使得模型拟合样本。

范式

1. Logistic Regression

比如在Logistic Regression中,直接对二分类问题建立概率模型。模型输出为:
y ^ = p ( y = 1 ∣ x ; w , b ) = σ ( w T x + b ) \hat{y}=p(y=1|x;\mathbf w, b)=\sigma(\mathbf{w}^Tx+b) y^=p(y=1x;w,b)=σ(wTx+b)
其中 σ ( ⋅ ) \sigma(\cdot) σ()为sigmoid函数,定义为:
σ ( x ) = 1 1 + e x p ( − x ) \sigma(x)=\large{\frac{1}{1+\mathbf{exp}(-x)}} σ(x)=1+exp(x)1

利用条件MLE来估计其模型参数 w \mathbf{w} w b b b
首先,模型为
p m o d e l ( y ∣ x ; θ ) = σ ( w T x ( i ) + b ) y ( i ) ( 1 − σ ( w T x ( i ) + b ) ) ( 1 − y ( i ) ) p_{model}(y|x;\theta)=\sigma(\mathbf{w}^Tx^{(i)}+b)^{y^{(i)}}(1-\sigma(\mathbf{w}^Tx^{(i)}+b))^{(1-y^{(i)})} pmodel(yx;θ)=σ(wTx(i)+b)y(i)(1σ(wTx(i)+b))(1y(i))

似然函数为
L ( θ ) = ∏ i = 1 m p ( y ( i ) ∣ x ( i ) ; θ ) = ∏ i = 1 m p ( y ( i ) ∣ x ( i ) ; θ ) = σ ( w T x + b ) y ( i ) ( 1 − σ ( w T x + b ) ) ( 1 − y ( i ) ) \begin{aligned} L(\theta)&=\prod_{i=1}^mp(y^{(i)}|x^{(i)};\theta)\\ &=\prod_{i=1}^mp(y^{(i)}|x^{(i)};\theta)=\sigma(\mathbf{w}^Tx+b)^{y^{(i)}}(1-\sigma(\mathbf{w}^Tx+b))^{(1-y^{(i)})} \end{aligned} L(θ)=i=1mp(y(i)x(i);θ)=i=1mp(y(i)x(i);θ)=σ(wTx+b)y(i)(1σ(wTx+b))(1y(i))
代价函数为:
J ( θ ) = − l n L ( θ ) = − ∑ i = 1 m [ y ( i ) l o g y ( i ) + ( 1 − y ( i ) ) ( 1 − l o g y ( i ) ) ] \begin{aligned} J(\theta)&=-lnL(\theta)\\ &= -\sum_{i=1}^m[y^{(i)}\mathbf{log}y^{(i)}+(1-y^{(i)})(1-\mathbf{log}y^{(i)})] \end{aligned} J(θ)=lnL(θ)=i=1m[y(i)logy(i)+(1y(i))(1logy(i))]

在机器学习中,代价函数要取平均,使模型不受训练数据大小的影响。因此有:
J ( θ ) = − 1 m ∑ i = 1 m [ y ( i ) l o g y ( i ) + ( 1 − y ( i ) ) ( 1 − l o g y ( i ) ) ] J(\theta)=-\frac{1}{m}\sum_{i=1}^m[y^{(i)}\mathbf{log}y^{(i)}+(1-y^{(i)})(1-\mathbf{log}y^{(i)})] J(θ)=m1i=1m[y(i)logy(i)+(1y(i))(1logy(i))]
这就是标准的Logistic Regression的代价函数了,可以看出它完全可以有概率的角度推导出来。

2. Linear Regression

线性回归可以从最小二乘的角度拟合模型,也可以认为是一种概率模型。
首先,模型的预测输出为:
y ^ = h θ ( x ) = θ T x \hat{y}=h_{\theta}(x)=\theta^Tx y^=hθ(x)=θTx
为使模型参数拟合训练集,可直接定义代价函数为:
J ( θ ) = 1 m ∑ i = 1 m ( y ( i ) − θ T x ( i ) ) 2 J(\theta)=\frac{1}{m}\sum_{i=1}^m(y^{(i)}-\theta^Tx^{(i)})^2 J(θ)=m1i=1m(y(i)θTx(i))2
这被称为最小二乘回归。
线性回归也可以从概率的角度进行解释。
y = y ^ + ϵ = θ T x + ϵ y=\hat{y}+\epsilon=\theta^Tx+\epsilon y=y^+ϵ=θTx+ϵ
其中, ϵ \epsilon ϵ为预测误差。
假设 ϵ ∼ N ( 0 , σ 2 ) \epsilon\sim N(0, \sigma^2) ϵN(0,σ2),有
y ∼ N ( θ T x , σ 2 ) y\sim N(\theta^Tx, \sigma^2) yN(θTx,σ2)
线性模型的建立的条件概率为:
p m o d e l ( y ( i ) ∣ x ( i ) ; θ ) = 1 2 π σ 2 e x p ( − 1 2 σ 2 ( y ( i ) − θ T x ( i ) ) ) 2 p_{model}(y^{(i)}|x^{(i)};\theta)=\frac{1}{\sqrt{2\pi}\sigma^2}\mathbf {exp}(-\frac{1}{2\sigma^2}(y^{(i)}-\theta^Tx^{(i)}))^2 pmodel(y(i)x(i);θ)=2π σ21exp(2σ21(y(i)θTx(i)))2
以负对数似然为代价函数,有
J ( θ ) = m l n ( 2 π σ 2 ) + m 2 σ 2 ∑ i = 1 m ( y ( i ) − θ T x ( i ) ) 2 ∝ 1 m ∑ i = 1 m ( y ( i ) − θ T x ( i ) ) 2 \begin{aligned} J(\theta)&=mln(\sqrt{2\pi\sigma^2})+\frac{m}{2\sigma^2}\sum_{i=1}^m(y^{(i)}-\theta^Tx^{(i)})^2\\ &\propto\frac{1}{m}\sum_{i=1}^m(y^{(i)}-\theta^Tx^{(i)})^2 \end{aligned} J(θ)=mln(2πσ2 )+2σ2mi=1m(y(i)θTx(i))2m1i=1m(y(i)θTx(i))2

3. Softmax Regression

Softmax Regression是Logistic Regression在多分类问题上的推广。假设所分类任务有 k k k个类别,则对于一个输入样本 x x x,则Softmax Regression输出一个概率分布 p = ( p 1 , p 2 , . . . , p k ) T \mathbf{p}=(p_1, p_2,..., p_k)^T p=(p1,p2,...,pk)T
p = s ( W x ) \mathbf p=s(Wx) p=s(Wx)
其中, W = ( θ 1 T , θ 2 T , . . . , θ k T ) T W=(\theta_1^T, \theta_2^T, ...,\theta_k^T)^T W=(θ1T,θ2T,...,θkT)T为权重矩阵, s s s为softmax函数,定义如下:
s i ( x ) = e x p ( x i ) ∑ e x p ( x i ) s_i(x)=\frac{\mathbf{exp}(x_i)}{\sum \mathbf{exp}(x_i)} si(x)=exp(xi)exp(xi)

模型确定的条件概率分布为:
p m o d e l ( y ∣ x ; W ) = ∏ i − 1 k s i ( W x ) y i = y T s ( W x ) p_{model}(\mathbf y|x;W)=\prod_{i-1}^ks_i(Wx)^{y_i}=\mathbf y^Ts(Wx) pmodel(yx;W)=i1ksi(Wx)yi=yTs(Wx)
其中 y \mathbf y y是类别的one-hot编码。
以负对数似然为代价函数,可得:
J ( θ ) = − 1 m ∑ i = 1 m l n ( y ( i ) T s ( W x ( i ) ) ) = − 1 m ∑ i = 1 m l n ( ∏ i − 1 k s i ( W x ( i ) ) y i ( i ) ) = − 1 m ∑ i = 1 m ∑ j = 1 k y i ( i ) l n ( s i ( W x ( i ) ) ) \begin{aligned} J(\theta)&=-\frac{1}{m}\sum_{i=1}^mln(\mathbf y^{(i)T}s(Wx^{(i)}))\\ &=-\frac{1}{m}\sum_{i=1}^mln(\prod_{i-1}^ks_i(Wx^{(i)})^{y_i^{(i)}})\\ &=-\frac{1}{m}\sum_{i=1}^m \sum_{j=1}^ky_i^{(i)}ln(s_i(Wx^{(i)})) \end{aligned} J(θ)=m1i=1mln(y(i)Ts(Wx(i)))=m1i=1mln(i1ksi(Wx(i))yi(i))=m1i=1mj=1kyi(i)ln(si(Wx(i)))

总结

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值