似然函数和对数似然

文章讲述了似然函数在线性回归中的应用,如何通过将误差项代入正态分布的概率密度函数并计算乘积来估计参数。介绍了对数似然的使用,以解决乘法运算的问题,并指出对数似然函数的优化形式——最小化误差项平方和,即最小二乘法。

似然函数是将线性回归模型的输出(或者说误差项 ϵ ( i ) \epsilon^{(i)} ϵ(i))代入其概率密度函数(正态分布的PDF),然后对所有数据点的这些概率进行乘积,从而得到整体数据集在给定参数下出现的可能性。
对于简单的线性回归模型,我们有如下的公式:
y ( i ) = θ T x ( i ) + ϵ ( i ) y^{(i)} = \theta^T x^{(i)} + \epsilon^{(i)} y(i)=θTx(i)+ϵ(i)
其中, y ( i ) y^{(i)} y(i)是响应变量, x ( i ) { x^{(i)}} x(i)是特征向量, θ θ θ是模型的系数,而 ϵ ( i ) \epsilon^{(i)} ϵ(i)是误差项。
在构建似然函数时,我们通常假设误差项 ϵ ( i ) \epsilon^{(i)} ϵ(i)遵循正态分布,即 ϵ ( i ) ∼ N ( 0 , σ 2 ) \epsilon^{(i)} \sim N(0, \sigma^2) ϵ(i)N(0,σ2),这里概率密度函数为:
p ( ϵ ( i ) ) = 1 2 π σ 2 exp ⁡ ( − ( ϵ ( i ) ) 2 2 σ 2 ) p(\epsilon^{(i)}) = \frac{1}{\sqrt{2\pi\sigma^2}} \exp\left(-\frac{(\epsilon^{(i)})^2}{2\sigma^2}\right) p(ϵ(i))=2πσ2 1exp(2σ2(ϵ(i))2)
在这个假设下,将线性回归模型代入概率密度函数,对于单个观测值 y ( i ) y^{(i)} y(i),其概率密度函数可以表示为:
p ( y ( i ) ∣ x ( i ) , θ , σ 2 ) = 1 2 π σ 2 exp ⁡ ( − ( y ( i ) − θ T x ( i ) ) 2 2 σ 2 ) p(y^{(i)} | x^{(i)}, \theta, \sigma^2) = \frac{1}{\sqrt{2\pi\sigma^2}} \exp\left(-\frac{(y^{(i)} - \theta^T x^{(i)})^2}{2\sigma^2}\right) p(y(i)x(i),θ,σ2)=2πσ2 1exp(2σ2(y(i)θTx(i))2)
这里, y ( i ) − θ T x ( i ) y^{(i)} - \theta^T x^{(i)} y(i)θTx(i)实际上就是误差项 ϵ ( i ) \epsilon^{(i)} ϵ(i)

似然函数 L ( θ , σ 2 ∣ X , Y ) L(\theta, \sigma^2 | X, Y) L(θ,σ2X,Y)是在所有观测数据下这些概率密度函数的乘积:

L ( θ , σ 2 ∣ X , Y ) = ∏ i = 1 n p ( y ( i ) ∣ x ( i ) , θ , σ 2 ) L(\theta, \sigma^2 | X, Y) = \prod_{i=1}^{n} p(y^{(i)} | x^{(i)}, \theta, \sigma^2) L(θ,σ2X,Y)=i=1np(y(i)x(i),θ,σ2)

这里,( X ) 和 ( Y ) 分别代表所有的特征向量和响应变量。

在最大似然估计(MLE)中,目标是找到参数 θ \theta θ σ 2 \sigma^2 σ2,使得这个似然函数最大化。这些参数是在给定数据下最能解释观测到的数据的参数。

总结来说,似然函数是将线性回归模型的输出(或者说误差项 ϵ ( i ) \epsilon^{(i)} ϵ(i))代入其概率密度函数(正态分布的PDF),然后对所有数据点的这些概率进行乘积,从而得到整体数据集在给定参数下出现的可能性。


对数似然:由于似然函数是乘法运算,导致运算效率低,通过Log对数运算把乘法运算转换为加法运算能极大提升效率,并且加法运算能解决大量乘法运算的数值下溢问题。对数函数是单调递增的,所以它不改变似然函数最大值的位置。因此在许多统计分析和机器学习应用中,大都会使用对数似然而不是原始的似然函数。
对于线性回归模型的例子,假设误差项服从正态分布,似然函数可以表示为:

L ( θ , σ 2 ∣ X , Y ) = ∏ i = 1 n 1 2 π σ 2 exp ⁡ ( − ( y ( i ) − θ T x ( i ) ) 2 2 σ 2 ) L(\theta, \sigma^2 | X, Y) = \prod_{i=1}^{n} \frac{1}{\sqrt{2\pi\sigma^2}} \exp\left(-\frac{(y^{(i)} - \theta^T x^{(i)})^2}{2\sigma^2}\right) L(θ,σ2X,Y)=i=1n2πσ2 1exp(2σ2(y(i)θTx(i))2)

对数似然函数 log ⁡ L ( θ , σ 2 ∣ X , Y ) \log L(\theta, \sigma^2 | X, Y) logL(θ,σ2X,Y)则是:

log ⁡ L ( θ , σ 2 ∣ X , Y ) = ∑ i = 1 n log ⁡ ( 1 2 π σ 2 ) − ( y ( i ) − θ T x ( i ) ) 2 2 σ 2 \log L(\theta, \sigma^2 | X, Y) = \sum_{i=1}^{n} \log\left(\frac{1}{\sqrt{2\pi\sigma^2}}\right) - \frac{(y^{(i)} - \theta^T x^{(i)})^2}{2\sigma^2} logL(θ,σ2X,Y)=i=1nlog(2πσ2 1)2σ2(y(i)θTx(i))2

这可以进一步简化为:

log ⁡ L ( θ , σ 2 ∣ X , Y ) = − n 2 log ⁡ ( 2 π σ 2 ) − 1 2 σ 2 ∑ i = 1 n ( y ( i ) − θ T x ( i ) ) 2 \log L(\theta, \sigma^2 | X, Y) = -\frac{n}{2} \log(2\pi\sigma^2) - \frac{1}{2\sigma^2} \sum_{i=1}^{n} (y^{(i)} - \theta^T x^{(i)})^2 logL(θ,σ2X,Y)=2nlog(2πσ2)2σ21i=1n(y(i)θTx(i))2

在最大化对数似然函数的过程中,我们寻找能使 log ⁡ L ( θ , σ 2 ∣ X , Y ) \log L(\theta, \sigma^2 | X, Y) logL(θ,σ2X,Y)最大的参数 θ \theta θ σ 2 \sigma^2 σ2。这个过程等价于最小化误差项的平方和,这是线性回归中常用的最小二乘法。

### 对数似然函数的概念与计算方法 #### 什么是似然函数似然函数是一种用于描述数据集模型参数之间关系的数学工具。给定一组观测数据 \(X\) 一个概率分布模型 \(P(X|\theta)\),其中 \(\theta\) 是待估参数,则该模型的概率密度函数可以被看作是一个关于参数 \(\theta\) 的函数,称为似然函数 \(L(\theta|X)\)[^1]。 #### 对数似然函数的作用 由于原始似然函数可能涉及多个乘积项,在实际操作中容易引发数值不稳定性(例如下溢现象),因此通常会取自对数来转换成加法形式。这种变换不仅保持单调性不变,还极大地简化了优化过程中的梯度求导运算。 对于独立同分布的数据样本集合\({x_1, x_2,... ,x_n}\),其联合概率可表示为\( P(x_1,x_2,…,x_n | θ)=∏_{i=1}^{n} p(xi|θ) \). 取对数之后得到如下表达式: \[ l(θ|x_1,x_2,…,x_n )=\sum _{ i=1 }^{ n }{ log(p(x_i|θ)) }\] 此即为对数似然函数的形式化定义[^1]。 #### 如何利用对数进行参数估计? 在最大估计(Maximum Likelihood Estimation, MLE)框架下,目标是最优解使得观察到当前数据的可能性最大化。具体来说就是寻找能够使下面这个方程达到最大的那个特定值或者向量: \[ argmax⁡_\theta ∑_{i=1}^Nlog(f_X (x_i ;θ ))\] 这里f_X代表某个已知但含有未知参量θ的概率质量/密度函数;而{x₁,...,xₙ}则是我们的训练实例组成的序列。 以下是实现这一功能的一个简单Python例子: ```python import numpy as np from scipy.optimize import minimize def gaussian_log_likelihood(params, data): mu, sigma = params if sigma < 0: return float('inf') # Ensure positive variance constraint llh = -np.sum(-0.5 * ((data - mu)/sigma)**2 - np.log(sigma*np.sqrt(2*np.pi))) return llh # Example usage with synthetic Gaussian distributed dataset mu_true, sig_true = 3., 1. data_sample = np.random.normal(loc=mu_true, scale=sig_true, size=(100,)) initial_guesses=[0., .5] result=minimize(gaussian_log_likelihood, initial_guesses,args=(data_sample)) print("Estimated Mean:", result.x[0], ", Estimated StdDev:", abs(result.x[1])) ``` 通过上述代码片段展示了如何基于正态分布假设构建并最小化负对数损失以获取最佳拟合均值μ标准差σ的过程。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值