如何规划电子商务网站,网站进行规划与设计,网络空间 网站 域名,单一页面网站怎么做前言
本文隶属于专栏《机器学习数学通关指南》#xff0c;该专栏为笔者原创#xff0c;引用请注明来源#xff0c;不足和错误之处请在评论区帮忙指出#xff0c;谢谢#xff01; 本专栏目录结构和参考文献请见《机器学习数学通关指南》 正文 #x1f4da; 1. 似然函数该专栏为笔者原创引用请注明来源不足和错误之处请在评论区帮忙指出谢谢 本专栏目录结构和参考文献请见《机器学习数学通关指南》 正文 1. 似然函数直观理解与数学定义 核心概念
似然函数是机器学习中参数估计的基石它从数据与模型之间的关系出发提供了一种优化参数的数学框架。 直观理解假设你正在调整相机参数以拍摄最清晰的照片。似然函数就像是一个清晰度指标告诉你当前参数设置下能获得这张照片的可能性有多大。 数学定义
对于参数 θ \theta θ 和观测数据 x { x 1 , x 2 , . . . , x n } \mathbf{x} \{x_1, x_2, ..., x_n\} x{x1,x2,...,xn}似然函数 L ( θ ∣ x ) L(\theta | \mathbf{x}) L(θ∣x) 表示在参数取值为 θ \theta θ 时观测到数据 x \mathbf{x} x 的可能性 离散随机变量 L ( θ ∣ x ) P ( x ∣ θ ) ∏ i 1 n P ( X i x i ∣ θ ) L(\theta | \mathbf{x}) P(\mathbf{x}|\theta) \prod_{i1}^n P(X_i x_i | \theta) L(θ∣x)P(x∣θ)∏i1nP(Xixi∣θ) 连续随机变量 L ( θ ∣ x ) f ( x ∣ θ ) ∏ i 1 n f ( x i ∣ θ ) L(\theta | \mathbf{x}) f(\mathbf{x}|\theta) \prod_{i1}^n f(x_i | \theta) L(θ∣x)f(x∣θ)∏i1nf(xi∣θ)
其中 P P P 是概率质量函数 f f f 是概率密度函数。 似然函数 vs 概率函数
概率函数似然函数固定参数变化数据固定数据变化参数预测未来观测值反推可能的参数值积分/求和为1无标准化约束 2. 极大似然估计(MLE)原理与方法 基本思想 核心原则在所有可能的参数值中选择那个使得观测数据出现概率最大的参数值。 计算步骤
构建似然函数 L ( θ ∣ x ) L(\theta|\mathbf{x}) L(θ∣x)取对数转换 ℓ ( θ ∣ x ) ln L ( θ ∣ x ) \ell(\theta|\mathbf{x}) \ln L(\theta|\mathbf{x}) ℓ(θ∣x)lnL(θ∣x)简化计算不改变最优解求导数 ∂ ℓ ( θ ∣ x ) ∂ θ 0 \frac{\partial \ell(\theta|\mathbf{x})}{\partial \theta} 0 ∂θ∂ℓ(θ∣x)0解方程得到参数估计 θ ^ M L E \hat{\theta}_{MLE} θ^MLE Python实现示例
import numpy as np
import matplotlib.pyplot as plt
from scipy.optimize import minimize
from scipy.stats import norm# 生成一些服从正态分布的数据
np.random.seed(42)
true_mean 5
true_std 2
data np.random.normal(true_mean, true_std, size100)# 定义正态分布的负对数似然函数
def negative_log_likelihood(params):mean, std params# 防止标准差为负if std 0:return 1e10# 计算负对数似然return -np.sum(norm.logpdf(data, mean, std))# 使用优化方法找到最大似然估计值
initial_guess [0, 1] # 初始猜测值
result minimize(negative_log_likelihood, initial_guess)
mle_mean, mle_std result.xprint(f真实参数: 均值{true_mean}, 标准差{true_std})
print(fMLE估计: 均值{mle_mean:.4f}, 标准差{mle_std:.4f})3. 关键性质与统计特点 统计性质
一致性 ✓: 随着样本量增大MLE估计值收敛到真实参数值渐近正态性 ✓: 大样本条件下MLE估计值近似服从正态分布渐近有效性 ✓: 在正则条件下MLE估计值达到克拉默-拉奥下界(最小方差)不变性 ✓: 若 θ ^ \hat{\theta} θ^ 是 θ \theta θ 的MLE则 g ( θ ^ ) g(\hat{\theta}) g(θ^) 是 g ( θ ) g(\theta) g(θ) 的MLE
⚠️ 局限性
小样本下可能有偏如正态分布方差估计中修正后的无偏估计为 σ ^ 2 n n − 1 ⋅ 1 n ∑ i 1 n ( x i − x ˉ ) 2 \hat{\sigma}^2 \frac{n}{n-1} \cdot \frac{1}{n}\sum_{i1}^n(x_i - \bar{x})^2 σ^2n−1n⋅n1∑i1n(xi−xˉ)2依赖模型假设模型错误指定会导致参数估计偏差计算复杂性复杂模型中可能需要数值优化方法 4. MLE与贝叶斯估计的对比 思想差异
极大似然估计 (MLE)最大后验估计 (MAP)完全贝叶斯推断 θ ^ M L E argmax θ L ( θ ∣ x ) \hat{\theta}_{MLE} \underset{\theta}{\operatorname{argmax}} \, L(\theta|\mathbf{x}) θ^MLEθargmaxL(θ∣x) θ ^ M A P argmax θ L ( θ ∣ x ) P ( θ ) \hat{\theta}_{MAP} \underset{\theta}{\operatorname{argmax}} \, L(\theta|\mathbf{x})P(\theta) θ^MAPθargmaxL(θ∣x)P(θ) P ( θ ∣ x ) ∝ L ( θ ∣ x ) P ( θ ) P(\theta|\mathbf{x}) \propto L(\theta|\mathbf{x})P(\theta) P(θ∣x)∝L(θ∣x)P(θ)仅考虑似然结合先验与似然计算完整后验分布点估计点估计分布估计无超参数需要先验超参数需要先验超参数 实际应用选择
样本量大MLE与MAP接近先验影响减弱样本量小先验信息重要性增加贝叶斯方法优势明显计算资源受限MLE计算效率通常更高需要不确定性量化完全贝叶斯方法提供完整后验分布
️ 5. 机器学习中的应用与实践 经典机器学习模型 逻辑回归最大化条件似然函数 L ( θ ) ∏ i 1 n p ( y i ∣ x i , θ ) y i ⋅ ( 1 − p ( y i ∣ x i , θ ) ) 1 − y i L(\theta) \prod_{i1}^n p(y_i|x_i,\theta)^{y_i} \cdot (1-p(y_i|x_i,\theta))^{1-y_i} L(θ)∏i1np(yi∣xi,θ)yi⋅(1−p(yi∣xi,θ))1−yi其中 p ( y ∣ x , θ ) 1 1 e − θ T x p(y|x,\theta) \frac{1}{1e^{-\theta^Tx}} p(y∣x,θ)1e−θTx1 线性回归假设噪声服从正态分布MLE等价于最小二乘法 θ ^ M L E ( X T X ) − 1 X T y \hat{\theta}_{MLE} (X^TX)^{-1}X^Ty θ^MLE(XTX)−1XTy 高斯混合模型(GMM)使用EM算法求解隐变量模型的MLE 深度学习视角
交叉熵损失函数实质上是分类问题的负对数似然均方误差(MSE)对应于高斯噪声假设下的负对数似然神经网络训练可视为对条件概率分布 p ( y ∣ x , θ ) p(y|x,\theta) p(y∣x,θ) 的参数估计 常见问题与解决方案
问题解决方案原理过拟合L1/L2正则化等价于添加参数先验数值问题对数似然、梯度裁剪避免数值下溢/上溢多峰似然表面多次随机初始化跳出局部最优计算效率随机梯度下降(SGD)基于数据子集近似更新 6. 案例分析与代码实践 案例1二项分布参数估计
假设从某二项分布 B ( n , p ) B(n,p) B(n,p) 中抽取样本其中 n n n 已知求 p p p 的MLE
# 假设我们有20次试验每次10个伯努利试验记录成功次数
trials 10
successes [4, 5, 6, 3, 7, 5, 4, 6, 5, 6, 7, 5, 4, 3, 6, 5, 4, 5, 6, 5]# MLE估计
p_mle sum(successes) / (trials * len(successes))
print(f成功概率的MLE估计: p {p_mle:.4f})# 95%置信区间使用正态近似
import scipy.stats as stats
std_err np.sqrt(p_mle * (1 - p_mle) / (trials * len(successes)))
ci_95 stats.norm.interval(0.95, locp_mle, scalestd_err)
print(f95%置信区间: ({ci_95[0]:.4f}, {ci_95:.4f}))案例2指数分布与生存分析
在生存分析中假设时间服从指数分布 f ( t ∣ λ ) λ e − λ t f(t|\lambda) \lambda e^{-\lambda t} f(t∣λ)λe−λt
# 假设我们有一些生存时间数据(如设备故障时间)
survival_times [2.5, 3.7, 0.5, 6.2, 4.1, 3.4, 2.8, 1.9, 5.6, 4.4]# 指数分布的MLE估计
lambda_mle 1 / np.mean(survival_times)
print(f失效率参数λ的MLE估计: {lambda_mle:.4f})
print(f平均寿命(1/λ)的MLE估计: {1/lambda_mle:.4f})# 绘制数据与拟合分布
x np.linspace(0, 10, 1000)
pdf_fitted lambda_mle * np.exp(-lambda_mle * x)plt.figure(figsize(10, 6))
plt.hist(survival_times, bins10, densityTrue, alpha0.7, label观测数据)
plt.plot(x, pdf_fitted, r-, linewidth2, labelf拟合指数分布(λ{lambda_mle:.4f}))
plt.xlabel(生存时间)
plt.ylabel(概率密度)
plt.legend()
plt.title(指数分布MLE拟合示例)
plt.grid(True, alpha0.3)
plt.show()案例3多元高斯分布参数估计
在多变量数据分析中对协方差矩阵的估计
# 生成二元高斯分布数据
n_samples 200
mean_true np.array([1, 2])
cov_true np.array([[2, 0.5], [0.5, 1]])np.random.seed(42)
data np.random.multivariate_normal(mean_true, cov_true, sizen_samples)# MLE估计
mean_mle np.mean(data, axis0)
cov_mle np.cov(data, rowvarFalse)print(真实均值向量:, mean_true)
print(MLE均值向量:, mean_mle)
print(\n真实协方差矩阵:)
print(cov_true)
print(\nMLE协方差矩阵:)
print(cov_mle)# 可视化
plt.figure(figsize(10, 6))
# 绘制数据点
plt.scatter(data[:, 0], data[:, 1], alpha0.6)
# 添加真实均值与估计均值
plt.scatter(mean_true[0], mean_true, colorred, s100, marker*, label真实均值)
plt.scatter(mean_mle[0], mean_mle, colorgreen, s100, marker, labelMLE均值)
# 绘制95%置信椭圆
from matplotlib.patches import Ellipse
def plot_cov_ellipse(cov, pos, nstd2, axNone, **kwargs):绘制协方差矩阵的置信椭圆if ax is None:ax plt.gca()vals, vecs np.linalg.eigh(cov)order vals.argsort()[::-1]vals vals[order]vecs vecs[:, order]theta np.degrees(np.arctan2(*vecs[:, 0][::-1]))width, height 2 * nstd * np.sqrt(vals)ellip Ellipse(xypos, widthwidth, heightheight, angletheta, **kwargs)return ax.add_patch(ellip)# 绘制真实与估计的协方差椭圆
plot_cov_ellipse(cov_true, mean_true, nstd2, edgecolorred, facecolornone, label真实协方差)
plot_cov_ellipse(cov_mle, mean_mle, nstd2, edgecolorgreen, facecolornone, labelMLE协方差)plt.axis(equal)
plt.grid(True, alpha0.3)
plt.legend()
plt.title(二元高斯分布MLE参数估计)
plt.show()7. 前沿扩展与进阶技巧 正则化与惩罚似然 问题背景在高维或小样本情况下MLE容易过拟合 解决方法添加惩罚项控制复杂度类似于引入参数先验
L2正则化 高斯先验 ℓ penalized ( θ ) ℓ ( θ ) − λ 2 ∥ θ ∥ 2 2 \ell_{\text{penalized}}(\theta) \ell(\theta) - \frac{\lambda}{2}\|\theta\|_2^2 ℓpenalized(θ)ℓ(θ)−2λ∥θ∥22L1正则化 拉普拉斯先验 ℓ penalized ( θ ) ℓ ( θ ) − λ ∥ θ ∥ 1 \ell_{\text{penalized}}(\theta) \ell(\theta) - \lambda\|\theta\|_1 ℓpenalized(θ)ℓ(θ)−λ∥θ∥1 EM算法与隐变量模型
当模型包含隐变量 z z z 时直接优化似然函数 p ( x ∣ θ ) p(x|\theta) p(x∣θ) 变得困难。EM算法通过迭代优化来解决
E步计算 Q ( θ ∣ θ ( t ) ) E z ∣ x , θ ( t ) [ log p ( x , z ∣ θ ) ] Q(\theta|\theta^{(t)}) \mathbb{E}_{z|x,\theta^{(t)}}[\log p(x,z|\theta)] Q(θ∣θ(t))Ez∣x,θ(t)[logp(x,z∣θ)]M步更新 θ ( t 1 ) arg max θ Q ( θ ∣ θ ( t ) ) \theta^{(t1)} \arg\max_{\theta} Q(\theta|\theta^{(t)}) θ(t1)argmaxθQ(θ∣θ(t))
应用GMM聚类、隐马尔可夫模型、主题模型等 变分推断与近似最大似然
对于复杂模型可使用变分方法近似计算
变分贝叶斯近似后验分布 p ( θ ∣ x ) ≈ q ( θ ) p(\theta|x) \approx q(\theta) p(θ∣x)≈q(θ)变分自编码器(VAE)使用神经网络近似复杂分布优化证据下界(ELBO) 总结与关键要点
✅ 似然函数衡量参数解释观测数据的能力是参数估计的基础✅ 极大似然估计选择使数据出现概率最大的参数值✅ 实用性质一致性、渐近正态性、不变性但小样本下可能有偏✅ 机器学习应用逻辑回归、线性模型、神经网络损失函数、聚类模型✅ 优化技巧对数转换、正则化、数值优化方法✅ 扩展方向贝叶斯方法、惩罚似然、EM算法、变分推断