以下涵盖期望(均值)、方差、标准差、协方差、相关系数、最大似然估计(MLE),并补充手工计算示例、Python 代码示例及学习资料链接。
3. 统计量
核心目标 :掌握 AI 中高频使用的核心统计量(期望、方差、标准差、协方差、相关系数),理解其核心含义和计算方法,熟练掌握最大似然估计(MLE)的核心思想与应用,能完成简单手工计算,通过代码实现统计量计算和 MLE 参数估计。为后续模型评估、特征选择、参数优化(如神经网络权重估计)奠定基础------统计量是 AI 中"描述数据特征""估计模型参数"的核心工具。
说明:知识点侧重"AI 实战应用",不深究复杂的统计理论推导,重点掌握"统计量含义""计算方法""AI 场景应用"。
3.1 期望(均值)、方差、标准差
三者是描述"单变量数据特征"的核心统计量:期望(均值)描述数据的"中心位置",方差和标准差描述数据的"离散程度"(波动大小)。AI 中常用于数据预处理、模型误差评估、特征稳定性分析。
3.1.1 期望(均值)
定义 :随机变量取值的加权平均(离散型)或积分(连续型),反映数据的"中心位置"。AI 中更常用 样本均值(用样本数据估计总体期望)。
核心公式:
- 离散型随机变量期望:E[X] = \sum_{i=1}^n x_i P(X=x_i)
- 样本均值(AI 高频使用):\bar{x} = \frac{1}{n} \sum_{i=1}^n x_i
在 AI 中的应用:
- 数据预处理(如计算特征均值,用于标准化、归一化)。
- 模型预测结果评估(如回归任务中,预测值的均值与真实值均值对比,判断模型偏差)。
- 损失函数设计(如均方误差 MSE,基于均值偏差计算)。
注意:样本均值是总体期望的无偏估计,样本量越大越准确;均值易受极端值影响,AI 中常结合中位数使用。
3.1.2 方差与标准差
定义:方差衡量数据与均值的偏离程度,标准差是方差的平方根(与原始数据同量纲,更易解读)。
核心公式:
- 总体方差:\sigma^2 = \frac{1}{N} \sum_{i=1}^N (x_i - \mu)^2
- 样本方差(无偏估计,AI 常用):s^2 = \frac{1}{n-1} \sum_{i=1}^n (x_i - \bar{x})^2
- 标准差:\sigma = \sqrt{\sigma^2},s = \sqrt{s^2}
在 AI 中的应用:
- 特征稳定性分析(方差越小,特征越稳定)。
- 数据标准化(Z-score:z = \frac{x - \bar{x}}{s},使数据均值为0、方差为1)。
- 模型误差评估(预测值的标准差越小,模型越稳定)。
3.1.3 手工计算示例
例 :数据集 X = [2, 4, 6, 8, 10],计算均值、样本方差、样本标准差。
解:
\bar{x} = \frac{2+4+6+8+10}{5} = 6。
s^2 = \frac{(2-6)^2+(4-6)^2+(6-6)^2+(8-6)^2+(10-6)^2}{5-1} = \frac{16+4+0+4+16}{4} = 10。
s = \sqrt{10} \approx 3.162。
3.1.4 Python 代码示例
import numpy as np
data = np.array([2, 4, 6, 8, 10])
mean = np.mean(data)
var = np.var(data, ddof=1) # ddof=1 表示无偏样本方差
std = np.std(data, ddof=1)
print(f"均值: {mean}")
print(f"方差: {var}")
print(f"标准差: {std:.3f}")
# 数据标准化
standardized = (data - mean) / std
print(f"标准化后: {standardized}")
print(f"标准化后均值: {np.mean(standardized):.2e}, 标准差: {np.std(standardized, ddof=1):.3f}")
3.2 协方差与相关系数(衡量两个变量是否同向变化)
两者描述"两个变量之间线性关系"的核心统计量,AI 中常用于特征选择(避免特征冗余)、多变量建模、相关性分析(如特征与标签的关联程度)。
3.2.1 协方差
定义 :衡量两个随机变量 X 和 Y 的 线性关联方向。若协方差为正,表示一个变量增大时另一个也倾向于增大;为负则表示反向变化。
核心公式:
- 总体协方差:\text{Cov}(X,Y) = \frac{1}{N} \sum_{i=1}^N (x_i - \mu_X)(y_i - \mu_Y)
- 样本协方差(AI 常用):\text{Cov}(X,Y) = \frac{1}{n-1} \sum_{i=1}^n (x_i - \bar{x})(y_i - \bar{y})
结果解读:
- \text{Cov} > 0:正相关
- \text{Cov} < 0:负相关
- \text{Cov} = 0:无线性相关(但可能存在非线性相关)
局限性:协方差的取值范围受变量量纲影响,无法直接判断相关性强弱。
在 AI 中的应用:
- 特征冗余分析(协方差绝对值越大,线性相关性越强,可考虑删除冗余特征)。
- 协方差矩阵是主成分分析(PCA)和多元线性回归的基础。
3.2.2 皮尔逊相关系数
定义:标准化后的协方差,消除量纲影响,取值 [-1, 1],既能判断方向也能判断强度。
核心公式:
\rho_{X,Y} = \frac{\text{Cov}(X,Y)}{\sigma_X \sigma_Y}, \quad r = \frac{\sum (x_i-\bar{x})(y_i-\bar{y})}{\sqrt{\sum (x_i-\bar{x})^2}\sqrt{\sum (y_i-\bar{y})^2}}
结果解读:
- r = 1:完全正相关
- r = -1:完全负相关
- |r| 越接近 1,线性相关性越强;r = 0 表示无线性相关。
在 AI 中的应用:
- 特征选择:保留与目标变量相关系数绝对值大的特征。
- 特征冗余处理:两特征相关系数 |r| > 0.8 视为高度相关,可删除其一。
- 模型评估:预测值与真实值的相关系数衡量拟合效果。
3.2.3 手工计算示例
例1(完全正相关) :X = [1,2,3,4,5],Y = [2,4,6,8,10]。
\bar{x}=3,\bar{y}=6,\sum (x_i-\bar{x})(y_i-\bar{y}) = 20,\sum (x_i-\bar{x})^2=10,\sum (y_i-\bar{y})^2=40。
r = \frac{20}{\sqrt{10}\sqrt{40}} = \frac{20}{20}=1。
例2(完全负相关) :X = [1,2,3,4,5],Y = [5,4,3,2,1]。
\bar{x}=3,\bar{y}=3,偏差乘积和 = (-2)*2 + (-1)*1 + 0*0 + 1*(-1) + 2*(-2) = -10。
s_X^2 = 2.5,s_X \approx 1.581,s_Y 相同。r = \frac{-10/4}{1.581\times1.581} = \frac{-2.5}{2.5} = -1。
3.2.4 Python 代码示例
import numpy as np
import matplotlib.pyplot as plt
X = np.array([1, 2, 3, 4, 5])
Y = np.array([2, 4, 6, 8, 10])
cov_matrix = np.cov(X, Y, ddof=1)
cov_xy = cov_matrix[0, 1]
corr_matrix = np.corrcoef(X, Y)
r = corr_matrix[0, 1]
print(f"协方差: {cov_xy}")
print(f"相关系数: {r}")
# 可视化
plt.scatter(X, Y)
plt.xlabel('X'); plt.ylabel('Y')
plt.title(f'散点图 (r = {r:.2f})')
plt.grid(alpha=0.3)
plt.show()
# 模拟不同相关程度
np.random.seed(42)
X_rand = np.random.randn(100)
Y_pos = X_rand + np.random.randn(100)*0.2
Y_neg = -X_rand + np.random.randn(100)*0.2
Y_zero = np.random.randn(100)
print(f"正相关 r = {np.corrcoef(X_rand, Y_pos)[0,1]:.3f}")
print(f"负相关 r = {np.corrcoef(X_rand, Y_neg)[0,1]:.3f}")
print(f"不相关 r = {np.corrcoef(X_rand, Y_zero)[0,1]:.3f}")
3.3 最大似然估计(MLE)------ 找参数使观测数据概率最大
3.3.1 核心思想
最大似然估计 :寻找参数 \theta,使得在当前参数下,观测数据出现的概率(似然函数)最大。
即 \hat{\theta}{\text{MLE}} = \arg\max{\theta} L(\theta; \text{data}) = \arg\max_{\theta} P(\text{data} | \theta)。
核心步骤(AI 实战简化版):
- 假设数据服从某个已知分布(如正态分布、伯努利分布),写出单个样本的概率密度/质量函数。
- 假设样本独立,构造联合似然函数(所有样本概率乘积)。
- 取对数(乘积变求和,简化计算)。
- 对参数求导并令导数为零,求解参数。
在 AI 中的应用:
- 线性回归:误差服从正态分布时,MLE 等价于最小二乘法。
- 逻辑回归:损失函数(交叉熵)正是伯努利分布的负对数似然。
- 高斯混合模型(GMM)参数估计(常与 EM 算法结合)。
- 深度学习中的很多损失函数都可从 MLE 角度推导。
3.3.2 手工计算示例
例1(正态分布 MLE) :样本 [1,3,5,7,9] 来自 N(\mu,\sigma^2),估计 \mu,\sigma^2。
解:\hat{\mu} = \frac{1+3+5+7+9}{5}=5,
\hat{\sigma}^2 = \frac{1}{5}[(1-5)^2+(3-5)^2+(5-5)^2+(7-5)^2+(9-5)^2] = \frac{40}{5}=8。
例2(伯努利分布 MLE) :10 次试验中 7 次成功,估计成功概率 p。
解:似然 L(p)=p^7(1-p)^3,对数求导得 \hat{p}=7/10=0.7。
3.3.3 MLE 与线性回归(最小二乘等价性)
线性回归模型 y_i = w^T x_i + \epsilon_i,\epsilon_i \sim N(0,\sigma^2)。
负对数似然:-\ell(w) \propto \frac{1}{2\sigma^2}\sum (y_i - w^T x_i)^2,最小化即最小二乘法。
3.3.4 Python 代码示例
import numpy as np
from scipy.stats import norm
from scipy.optimize import minimize
# 生成正态分布数据(真实 mu=5, sigma=2)
np.random.seed(42)
data = np.random.normal(loc=5, scale=2, size=1000)
# 简化版 MLE
mu_mle = np.mean(data)
sigma_mle = np.std(data, ddof=0) # ddof=0 对应 MLE 的总体方差
print(f"MLE 估计: mu={mu_mle:.3f}, sigma={sigma_mle:.3f}")
# 通过优化负对数似然验证
def neg_log_likelihood(params, data):
mu, sigma = params
if sigma <= 0:
return 1e10
return -np.sum(norm.logpdf(data, loc=mu, scale=sigma))
result = minimize(neg_log_likelihood, [0,1], args=(data,))
print(f"优化估计: mu={result.x[0]:.3f}, sigma={result.x[1]:.3f}")
# 伯努利分布 MLE
from scipy.stats import bernoulli
samples = bernoulli.rvs(p=0.7, size=100)
p_mle = np.mean(samples)
print(f"伯努利 MLE: p={p_mle:.3f}")
3.4 学习资料链接
3.5 小结与学习建议
| 统计量 | 核心公式 | AI 应用 | 重要性 |
|---|---|---|---|
| 均值 | \bar{x} = \frac{1}{n}\sum x_i | 数据中心化、偏差评估 | ★★★★★ |
| 方差 | s^2 = \frac{1}{n-1}\sum (x_i-\bar{x})^2 | 数据离散度、标准化 | ★★★★ |
| 标准差 | s = \sqrt{s^2} | 同量纲离散度 | ★★★★ |
| 协方差 | \text{cov}(X,Y)=\frac{1}{n-1}\sum (x_i-\bar{x})(y_i-\bar{y}) | 相关性方向 | ★★★ |
| 相关系数 | r = \frac{\text{cov}(X,Y)}{s_X s_Y} | 特征选择、冗余检测 | ★★★★ |
| MLE | \hat{\theta}=\arg\max L(\theta) | 参数估计(线性/逻辑回归等) | ★★★★★ |
学习路径:
- 手工计算均值、方差、协方差,理解公式。
- 用 Python 验证统计量性质,掌握
numpy函数。 - 理解 MLE 思想,通过伯努利、正态分布例子掌握计算步骤。
- 将 MLE 与线性回归的最小二乘法联系起来。
注意:MLE 是统计学习的核心方法,后续几乎所有参数模型(逻辑回归、朴素贝叶斯、神经网络)都可以从 MLE 角度理解其损失函数。协方差与相关系数是特征工程和 PCA 的基础。无需深究严格推导,重点掌握"计算方法""结果解读""AI 场景应用"。