机器学习番外篇(1):极大似然估计和最小二乘法

最近自己会把自己个人博客中的文章陆陆续续的复制到CSDN上来,欢迎大家关注我的 个人博客,以及我的github

番外篇的内容主要是讲解一些在机器学习中经常会用到但是比较边缘化的知识,或者是某几个知识之间的一些联系和思考。番外篇的第一篇文章就来说一下“极大似然估计”,以及它与最小二乘法、负的对数似然之间的联系。

一、极大似然估计

极大似然估计(Maximum Likelihood Estimate,MLE)是一种在“模型已定,参数未知”的情况下来根据已有的观测值来确定最有可能的模型的参数的参数估计方法。其中“似然”二字是文言文,可以翻译成“可能这样”、“似乎这样”的意思,用现在的话说,就是“概率”的意思。


极大似然估计的步骤如下:

(1). 写出似然函数

(2). 对似然函数取对数,并化简整理

(3). 对数似然函数对参数 θ \theta θ求导,并令导数为0

(4). 求得参数 θ \theta θ,得到最终的模型


下面来看一下极大似然估计可行的原因以及其详细步骤。

假设我们已经知道样本满足的模型(概率分布)为 p ( x ; θ ) p(x;\theta) p(x;θ),其中 θ \theta θ是未知参数, p ( x ; θ ) p(x;\theta) p(x;θ)表示在参数为 θ \theta θ时出现观测数据的概率。

现在已知多个样本的观测值(具体的数值): x 1 , x 2 , . . . , x n x_1,x_2,...,x_n x1,x2,...,xn,可以假设这些样本的观测值是独立同分布的。那么这些样本观测值同时出现的概率就是它们的联合概率密度:
L ( x ; θ ) = p ( x 1 , x 2 , . . . , x n ; θ ) = p ( x 1 ; θ ) ⋅ ( x 2 ; θ ) ⋅ . . . ⋅ ( x n ; θ ) L(x;\theta)=p(x_1,x_2,...,x_n;\theta)=p(x_1;\theta)\cdotp(x_2;\theta)\cdot...\cdotp(x_n;\theta) L(x;θ)=p(x1,x2,...,xn;θ)=p(x1;θ)(x2;θ)...(xn;θ)
上述等式成立的条件是样本观测值之间独立。现在我们想去求使得以上概率最大时的参数是多少,通常的想法是一个函数只有在导数为0的时候才可能取极值,所以应该对以上概率函数求导,并令导数为0,求得参数 θ \theta θ。若有多个极值点,则还需要比较每个极值点的函数值大小。

但是因为上述概率函数是乘积的形式,不易求导,所以可以对其取对数,让它变为累加的形式,同时概率函数的单调性也不会发生变化。得以下公式:
l n [ L ( x ; θ ) ] = l n [ p ( x 1 ; θ ) ⋅ ( x 2 ; θ ) ⋅ . . . ⋅ ( x n ; θ ) ] = l n [ p ( x 1 ; θ ) ] + l n [ p ( x 2 ; θ ) ] + . . . + l n [ p ( x n ; θ ) ] ln[L(x;\theta)]=ln[p(x_1;\theta)\cdotp(x_2;\theta)\cdot...\cdotp(x_n;\theta)]=ln[p(x_1;\theta)]+ln[p(x_2;\theta)]+...+ln[p(x_n;\theta)] ln[L(x;θ)]=ln[p(x1;θ)(x2;θ)...(xn;θ)]=ln[p(x1;θ)]+ln[p(x2;θ)]+...+ln[p(xn;θ)]
再对其求导,并令导数为0:
∂ l n [ L ( x ; θ ) ] ∂ θ = 0 \frac{\partial ln[L(x;\theta)]}{\partial \theta}=0 θln[L(x;θ)]=0
求得参数 θ \theta θ后就得到了完整的模型 p ( x ; θ ) p(x;\theta) p(x;θ)

二、极大似然估计和最小二乘法

最小二乘法在机器学习的第0篇已经提到过,它的基本思想是:把使得测量值和真实值之间误差的平方和最小的测量值y当作真实值。可以用公式表示为:
min ⁡ y ( ∑ ( y − y ^ ) 2 ) ⇒ 真 值 y \min_y(\sum{(y-\hat y)^2})\Rightarrow 真值y ymin((yy^)2)y
下面我们就来看一下极大似然估计和最小二乘法之间的关系,或者说从极大似然估计的角度解释最小二乘法。


假设在样本的真实值 y y y和预测值 y ^ \hat{y} y^之间存在以下关系:
y i ( x i ) = y i ^ ( x i ; θ ) + ε i y_i(x_i)=\hat{y_i}(x_i;\theta)+\varepsilon_i yi(xi)=yi^(xi;θ)+εi
其中 x x x是样本, θ \theta θ是预测模型的参数, ε \varepsilon ε是预测值与真实值之间的误差。

假设样本相互独立,并且误差 ε \varepsilon ε是由大量因素所造成的,则由中心极限定理可知,大量随机变量的和近似服从于正态分布 n ( μ , σ 2 ) n(\mu,\sigma^2) n(μ,σ2)。而通过等比例的调整模型的参数 θ \theta θ总是可以使得误差满足均值为0的正态分布,即 ε ∼ N ( 0 , σ 2 ) \varepsilon \sim N(0,\sigma^2) εN(0,σ2)
p ( ε i ) = 1 2 π σ exp ⁡ ( − ε i 2 2 σ 2 ) p(\varepsilon_i)=\frac{1}{\sqrt{2\pi}\sigma}\exp{(-\frac{\varepsilon_i^2}{2\sigma^2})} p(εi)=2π σ1exp(2σ2εi2)
又因为
ε i = y i ( x i ) − y i ^ ( x i ; θ ) \varepsilon_i=y_i(x_i)-\hat{y_i}(x_i;\theta) εi=yi(xi)yi^(xi;θ)
所以
p ( y i ∣ x i ; θ ) = p ( ε i ) = 1 2 π σ exp ⁡ [ − ( y i − y i ^ ) 2 2 σ 2 ] p(y_i|x_i;\theta)=p(\varepsilon_i)=\frac{1}{\sqrt{2\pi}\sigma}\exp{[-\frac{(y_i-\hat{y_i})^2}{2\sigma^2}]} p(yixi;θ)=p(εi)=2π σ1exp[2σ2(yiyi^)2]
极大似然函数为:
L ( θ ) = ∏ i = 1 n p ( y i ∣ x i ; θ ) L(\theta)=\prod_{i=1}^np(y_i|x_i;\theta) L(θ)=i=1np(yixi;θ)
对数似然函数为:
l n L ( θ ) = l n ∏ i = 1 n p ( y i ∣ x i ; θ ) = ∑ i = 1 n l n 1 2 π σ exp ⁡ [ − ( y i − y i ^ ) 2 2 σ 2 ] lnL(\theta)=ln\prod_{i=1}^np(y_i|x_i;\theta)=\sum_{i=1}^nln\frac{1}{\sqrt{2\pi}\sigma}\exp{[-\frac{(y_i-\hat{y_i})^2}{2\sigma^2}]} lnL(θ)=lni=1np(yixi;θ)=i=1nln2π σ1exp[2σ2(yiyi^)2]

= n ⋅ l n 1 2 π σ − 1 2 σ 2 ∑ i = 1 n ( y i − y i ^ ) 2 =n\cdot ln\frac{1}{\sqrt{2\pi}\sigma}-\frac{1}{2\sigma^2}\sum_{i=1}^n(y_i-\hat{y_i})^2 =nln2π σ12σ21i=1n(yiyi^)2

下一步就是通过求导求得使得对数似然函数取最大值时 θ \theta θ的取值。由于 n ⋅ l n 1 2 π σ n\cdot ln\frac{1}{\sqrt{2\pi}\sigma} nln2π σ1是个定值,所以只需要求 1 2 ∑ i = 1 n ( y i − y i ^ ) 2 \frac{1}{2}\sum_{i=1}^n(y_i-\hat{y_i})^2 21i=1n(yiyi^)2什么时候取最小值即可。

而这正好是最小二乘法要做的事情,即求 J ( θ ) = 1 2 ∑ i = 1 n ( y i − y i ^ ) 2 J(\theta)=\frac{1}{2}\sum_{i=1}^n(y_i-\hat{y_i})^2 J(θ)=21i=1n(yiyi^)2最小时的 θ \theta θ值。

所以在机器学习中,经常会用平方误差函数作为模型的损失函数,平方误差函数的本质其实就是上面推导出来的负对数似然函数。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
最小二乘法和最大似然估计是机器学习中常用的回归算法。最小二乘法的基本思想是选择参数使得模型能最好地拟合样本数据,也就是使得估计值和观测值之差的平方和最小化。这意味着最小二乘法将估计值与观测值的差异作为损失函数。 最大似然估计的基本思想是通过选择参数,使已知数据在某种意义下最有可能出现。这种意义通常指的是使数据的似然函数最大化。似然函数可以被理解为数据的概率分布函数,而最大似然估计的目标是找到使得数据的概率最大的参数。 在回归算法中,最小二乘法和最大似然估计都可以用于求解损失函数。不同之处在于最大似然估计需要已知数据的概率分布函数,而最小二乘法则不需要。一般假设数据满足正态分布函数的特性,此时最大似然估计和最小二乘法得到的结果是相同的。 总结起来,最小二乘法以估计值与观测值的差的平方和作为损失函数,而最大似然估计以最大化目标值的似然概率函数为目标函数。两种方法在某些情况下可以得到相同的结果,但在某些情况下可能会有不同的表现。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [最小二乘法,最大似然估计什么情况下统一](https://blog.csdn.net/weixin_45834085/article/details/102958745)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值