专题:Python机器学习系统学习
关键词:Python, 机器学习, 概率论, 贝叶斯定理, 正态分布, 极大似然估计, 交叉熵, 假设检验
概率是描述随机事件发生可能性的数学工具,在机器学习中无处不在。理解概率的不同视角有助于深入把握算法本质。
古典概型是最直观的概率定义:如果一个随机试验有 N 个等可能的基本结果,事件 A 包含其中 M 个,则 P(A) = M / N。例如掷一枚均匀骰子,掷出 3 点的概率为 1/6。古典概型要求所有结果等可能且有限,实际应用场景受限。
频率学派将概率定义为事件在大量重复试验中发生的频率极限。例如抛一枚硬币一万次,正面出现 5023 次,则正面概率近似 0.5023。频率学派的核心理念是:参数是固定的未知常数,数据是随机的,我们通过数据来估计参数。极大似然估计(MLE)是频率学派的典型方法。
贝叶斯学派将概率解释为对不确定性的主观信念度量。贝叶斯学派认为参数本身也是随机变量,具有先验分布,通过观测数据更新为后验分布。这种视角在机器学习中极为重要,正则化、高斯过程、变分推断等都深受贝叶斯思想影响。
条件概率 P(A|B) 表示在事件 B 已发生的条件下事件 A 发生的概率,计算公式为 P(A|B) = P(AB) / P(B)(P(B) > 0)。
乘法定理由条件概率推导而来:P(AB) = P(A) * P(B|A) = P(B) * P(A|B)。当 A 和 B 相互独立时,P(AB) = P(A) * P(B)。独立性假设在朴素贝叶斯分类器中起到关键作用——它简化了联合概率的计算,尽管现实中特征往往并非完全独立。
如果事件 B₁, B₂, ..., Bₙ 构成样本空间的一个完备划分(两两互斥且并集为全集),则对任意事件 A 有:
P(A) = Σᵢ P(Bᵢ) * P(A|Bᵢ)
全概率公式的核心思想是"分而治之":将复杂事件按不同原因分解,分别计算条件概率后加权求和。这在机器学习中常用于处理分层数据或混合模型。
贝叶斯定理是全概率公式和条件概率的直接推论,是机器学习中最核心的公式之一:
贝叶斯公式:P(Bᵢ|A) = P(Bᵢ) * P(A|Bᵢ) / P(A) = P(Bᵢ) * P(A|Bᵢ) / Σⱼ P(Bⱼ) * P(A|Bⱼ)
其中 P(Bᵢ) 是先验概率(prior),P(Bᵢ|A) 是后验概率(posterior),P(A|Bᵢ) 是似然(likelihood)。
贝叶斯定理描述了当我们观察到新证据 A 后,如何更新对 Bᵢ 的信念:后验概率正比于先验概率乘以似然。这个更新过程是贝叶斯学习的核心。
朴素贝叶斯分类器直接应用贝叶斯定理,假设特征之间相互独立:
P(类别|特征) ∝ P(类别) * Π P(特征ᵢ|类别)
尽管独立性假设在实际中很少严格成立,朴素贝叶斯在文本分类、垃圾邮件过滤等任务中表现优异。
贝叶斯推断广泛应用于机器学习模型:贝叶斯线性回归对权重引入先验分布,通过后验分布进行预测,自动实现正则化效果;高斯过程回归利用贝叶斯框架进行非参数建模;变分自编码器(VAE)和贝叶斯神经网络则将贝叶斯思想扩展到深度学习领域。
随机变量是样本空间到实数集的映射函数。根据取值特点分为两类:
描述离散随机变量用概率质量函数(PMF),即 P(X = x) 的取值;描述连续随机变量用概率密度函数(PDF),其积分给出区间概率。两者的桥梁是累积分布函数(CDF):F(x) = P(X ≤ x),对所有随机变量类型都适用。
数学期望(均值)是随机变量取值以概率为权重的加权平均。离散情形:E[X] = Σ xᵢ * P(X=xᵢ);连续情形:E[X] = ∫ x * f(x) dx。期望是线性算子:E[aX + bY] = aE[X] + bE[Y]。
在机器学习中,期望无处不在:损失函数通常是预测误差的期望,交叉验证评估的是模型泛化误差的期望。
方差衡量随机变量取值与其期望的偏离程度:Var(X) = E[(X - μ)²] = E[X²] - μ²。标准差 σ = √Var(X) 与原始数据同量纲,更具可解释性。
方差刻画了数据分布的分散程度。偏差-方差权衡(Bias-Variance Tradeoff)是机器学习的核心概念:模型过于简单导致高偏差(欠拟合),过于复杂导致高方差(过拟合)。
协方差衡量两个随机变量的联合变动:Cov(X,Y) = E[(X - μₓ)(Y - μᵧ)] = E[XY] - E[X]E[Y]。协方差为正表示 X 增大时 Y 倾向于增大,为负则相反。
皮尔逊相关系数 ρ = Cov(X,Y) / (σₓ * σᵧ) 将协方差归一化到 [-1, 1],消除了量纲影响。相关系数的绝对值和符号描述了线性相关程度。
矩是描述分布形态的统计量:一阶原点矩即期望,二阶中心矩即方差。三阶中心矩反映偏度(skewness)——分布不对称的方向和程度;四阶中心矩反映峰度(kurtosis)——分布尾部的厚重程度。这些高阶矩在金融风险分析和异常检测中有重要应用。
数据标准化:将数据减去均值除以标准差,使各维特征处于同一量纲,是许多算法(SVM、神经网络)的必要预处理步骤。标准化后的特征服从均值为 0、方差为 1 的分布。
PCA 中的协方差矩阵:主成分分析首先计算数据的协方差矩阵,然后对其做特征值分解。特征向量指向数据方差最大的方向,对应主成分方向;特征值大小表示该方向上方差大小。PCA 的本质是在协方差矩阵指导下寻找最优低维表示。
点估计的目标是用样本数据估计总体分布的未知参数。两种核心方法:
矩估计(Method of Moments):用样本矩代替总体矩,建立方程组求解参数。例如用样本均值估计总体期望,用样本方差估计总体方差。矩估计计算简单,但统计效率较低。
极大似然估计(MLE):寻找使观测数据出现概率(似然函数)最大的参数值。似然函数 L(θ) = Πᵢ P(xᵢ|θ),最大化对数似然等价于最大化原始似然。MLE 具有渐近无偏性、一致性和渐近正态性等优良性质。线性回归的最小二乘解等价于高斯误差假设下的 MLE;逻辑回归的损失函数直接由 MLE 推导而来。
MAP 是贝叶斯版本的"极大似然估计":在参数先验分布已知的前提下,最大化后验概率 P(θ|D) ∝ P(D|θ) * P(θ)。MAP 与 MLE 的区别在于多了先验项 P(θ)。
从正则化角度理解:当先验为拉普拉斯分布时,MAP 等价于 L1 正则化(Lasso);当先验为正态分布时,MAP 等价于 L2 正则化(Ridge)。因此,正则化项可以被理解为贝叶斯先验。
核心对比:MLE 最大化 P(数据|参数),MAP 最大化 P(参数|数据)。MLE 只依赖数据,MAP 结合先验知识与数据。当数据量足够大时,两者趋近一致;在小样本场景下,MAP 通过先验引入正则化,通常表现更优。
点估计给出一个具体数值,置信区间给出一个包含真实参数的范围及其可信程度。例如 95% 置信区间意味着:重复抽样 100 次,大约有 95 次构造的区间会包含真实参数。置信区间比点估计提供了更丰富的不确定性信息,在模型评估中非常重要。
假设检验用于判断样本数据是否支持某个关于总体的论断。核心要素包括:
第一类错误(假阳性):原假设为真但被拒绝,概率为 α。相当于"冤枉好人"。
第二类错误(假阴性):原假设为假但未被拒绝,概率为 β。相当于"放走坏人"。
在机器学习中,两类错误的权衡无处不在:癌症筛查要降低假阴性(避免漏诊),垃圾邮件过滤要降低假阳性(避免误删正常邮件)。ROC 曲线和 AUC 指标正是通过调整阈值来刻画这种权衡关系。
在机器学习预处理中,统计检验常用于特征选择:对每个特征与目标变量进行假设检验,根据 p 值筛选出与目标变量显著相关的特征。例如使用 f_classif 做 F 检验筛选分类特征,使用 chi2 做卡方检验筛选类别特征。SelectKBest 是 scikit-learn 中基于统计检验的特征选择工具。
信息熵是信息论的核心概念,由香农于 1948 年提出,用于度量随机变量的不确定性或信息量。熵越大,不确定性越高。
离散随机变量的熵定义为:H(X) = -Σ P(x) * log₂ P(x)。以 2 为底时单位是比特(bit),以 e 为底时单位是纳特(nat)。
例如一枚公平硬币的熵为 1 bit(两种结果等概率),而一枚两面都是正面的硬币熵为 0(结果完全确定)。
直观理解:熵衡量了"平均需要多少比特信息才能确定随机变量的取值"。确定性越高的系统熵越低,混沌系统熵越高。
联合熵 H(X,Y) 衡量联合分布的不确定性:H(X,Y) = -ΣΣ P(x,y) * log P(x,y)。
条件熵 H(Y|X) = H(X,Y) - H(X),表示在已知 X 的条件下 Y 剩余的不确定性。条件熵越小,说明 X 包含的关于 Y 的信息越多。
交叉熵衡量两个概率分布 P 和 Q 之间的差异:H(P, Q) = -Σ P(x) * log Q(x)。
在机器学习中,P 是真实标签分布(one-hot 编码),Q 是模型预测分布。最小化交叉熵等价于极大似然估计。交叉熵损失函数(Cross-Entropy Loss)是分类任务中最常用的损失函数:
KL 散度(相对熵)衡量两个概率分布之间的距离:D_KL(P || Q) = Σ P(x) * log(P(x)/Q(x))。
KL 散度不是对称的(D_KL(P||Q) ≠ D_KL(Q||P)),因此不是真正的距离度量。但它在机器学习中极为重要:变分自编码器(VAE)的损失函数包含 KL 散度项,用于约束隐变量分布接近先验分布;模型蒸馏中也用 KL 散度衡量教师网络和学生网络输出的差异。
互信息衡量两个随机变量共享的信息量:I(X; Y) = H(X) - H(X|Y) = H(Y) - H(Y|X) = D_KL(P(X,Y) || P(X)P(Y))。
如果 X 和 Y 独立,则 I(X; Y) = 0;如果 X 完全决定 Y,则互信息达到最大。互信息捕捉了变量间的非线性关系,比相关系数更通用。在特征选择中,互信息可以用来发现与目标变量高度相关但非线性的特征。
决策树算法使用信息增益选择分裂特征:信息增益 = H(目标) - H(目标|特征)。信息增益越大,说明该特征对降低目标变量不确定性贡献越大。ID3 算法直接使用信息增益作为分裂准则。C4.5 算法使用信息增益比(Gain Ratio)来克服信息增益偏向多取值特征的缺点。
概率论与数理统计是机器学习的理论基石。本文从六个维度建立了核心知识框架:
① 概率基础(贝叶斯定理)→ ② 随机变量与常见分布 → ③ 期望方差与相关性分析 → ④ 参数估计(MLE/MAP)→ ⑤ 假设检验与统计推断 → ⑥ 信息论(交叉熵/KL散度)。
建议按此路径逐步深入,每掌握一个概念就思考其在机器学习算法中的对应应用,做到理论与实践相结合。
后续学习建议:熟练掌握 scipy.stats 和 numpy 中的概率统计函数,通过实际数据集进行探索性数据分析(EDA)和统计建模,在实践中深化对概率统计的理解。在此基础上,进一步学习线性代数、微积分和最优化理论,构建完整的机器学习数学基础。