机器学习算法实战系列:机器学习数学基础全解析——从线性代数到概率统计
引言
“数学是机器学习的灵魂!想真正理解算法背后的原理而不仅是调包?掌握这些数学工具将让你从调参侠蜕变为算法设计师!”
机器学习建立在坚实的数学基础之上,理解这些数学概念对于掌握算法本质至关重要。本文将系统讲解机器学习所需的数学知识体系,通过直观解释、几何图示和Python实现,带你深入理解线性代数、概率统计、优化理论等核心数学工具在实际机器学习中的应用。
第一部分:线性代数精要
1.1 向量与矩阵运算
基本概念
- 向量:机器学习的特征表示
import numpy as np v = np.array([1, 2, 3]) # 特征向量
- 矩阵:批量数据处理
X = np.array([[1, 2], [3, 4]]) # 设计矩阵
重要运算
- 点积:相似度计算
np.dot(v1, v2) # 或 v1 @ v2
- 矩阵乘法:神经网络前向传播
W = np.random.randn(3, 2) # 权重矩阵 output = X @ W # (n,2) @ (2,3) → (n,3)
1.2 矩阵分解
特征分解
A = QΛQ⁻¹
应用:PCA降维
eigvals, eigvecs = np.linalg.eig(cov_matrix)
SVD分解
A = UΣVᵀ
应用:推荐系统
U, s, Vh = np.linalg.svd(ratings_matrix)
第二部分:概率与统计基础
2.1 概率分布
常见分布
分布 | 公式 | 应用场景 |
---|---|---|
伯努利 | P(X=k)=pᵏ(1-p)¹⁻ᵏ | 二分类问题 |
高斯 | (2πσ²)^(-1/2)exp(-(x-μ)²/(2σ²)) | 误差假设 |
多项 | P(x₁,…,xₖ)=n!/(x₁!..xₖ!)p₁ˣ¹…pₖˣᵏ | 多分类问题 |
Python实现