一、机器学习基础框架体系
1.1 机器学习定义与核心范式
机器学习是使计算机系统通过经验自动改进的学科,其核心是通过算法从数据中学习模式,而非依赖显式编程。整个领域建立在数据驱动和统计学习两大支柱之上。
1.2 机器学习三大范式及其关系
二、监督学习:从标注数据中学习
2.1 分类算法体系
2.1.1 线性分类器
逻辑回归:基于S形函数输出概率值
支持向量机(SVM):寻找最大间隔超平面
线性判别分析(LDA):最大化类间距离,最小化类内距离
2.1.2 树型分类器
# 决策树与集成学习算法关系
tree_based_models = {
'基础模型': {
'决策树': ['CART', 'ID3', 'C4.5']
},
'集成方法': {
'Bagging': ['随机森林', 'Extra Trees'],
'Boosting': ['AdaBoost', '梯度提升树', 'XGBoost', 'LightGBM', 'CatBoost'],
'Stacking': ['多层模型集成']
}
}
2.1.3 概率分类器
朴素贝叶斯:基于贝叶斯定理与特征条件独立假设
高斯过程:非参数化贝叶斯方法
2.1.4 神经网络分类器
多层感知机(MLP):基础前馈神经网络
卷积神经网络(CNN):专用于图像处理
循环神经网络(RNN):处理序列数据
2.2 回归算法体系
2.2.1 线性回归家族
简单线性回归:单特征线性关系建模
多元线性回归:多特征线性关系建模
多项式回归:非线性关系通过特征变换转为线性
2.2.2 正则化回归
岭回归(L2正则化):解决多重共线性问题
Lasso回归(L1正则化):同时进行特征选择
弹性网络(ElasticNet):L1和L2正则化的结合
2.2.3 非线性回归
回归树与森林:基于树的回归方法
支持向量回归(SVR):基于间隔的回归方法
神经网络回归:深度学习方法回归问题
三、无监督学习:发现数据内在结构
3.1 聚类分析算法体系
3.1.1 基于划分的聚类
K-Means:通过最小化簇内平方和进行划分
K-Medoids:使用实际数据点作为簇中心
CLARA:适用于大规模数据的K-Medoids改进
3.1.2 基于层次的聚类
凝聚聚类:自底向上合并策略
分裂聚类:自顶向下分裂策略
BIRCH:适用于大规模数据集的层次方法
3.1.3 基于密度的聚类
DBSCAN:发现任意形状的簇并识别噪声点
OPTICS:改进的密度聚类,处理不同密度簇
Mean-Shift:通过密度梯度上升找到簇中心
3.1.4 基于模型的聚类
高斯混合模型(GMM):假设数据来自多个高斯分布
自组织映射(SOM):通过神经网络进行拓扑保持聚类
3.2 降维算法体系
3.2.1 线性降维
主成分分析(PCA):最大化方差保持的线性投影
线性判别分析(LDA):最大化类间可分性的线性投影
因子分析:发现潜在影响变量的线性方法
3.2.2 非线性降维
t-SNE:保持局部结构的随机邻域嵌入
UMAP:基于拓扑理论的现代降维方法
自编码器:基于神经网络的特征学习
3.3 关联规则学习
3.3.1 频繁项集挖掘
Apriori算法:基于候选生成的广度优先搜索
FP-Growth:基于模式树的高效算法
3.3.2 关联规则生成
支持度-置信度框架:经典关联规则度量
序列模式挖掘:发现时间序列中的关联规则
四、强化学习:智能决策与交互学习
4.1 基于价值的强化学习
Q-Learning:学习动作价值函数
深度Q网络(DQN):结合深度学习的Q-Learning
SARSA:在线策略TD学习算法
4.2 基于策略的强化学习
REINFORCE:蒙特卡洛策略梯度算法
Actor-Critic:结合价值函数和策略梯度
近端策略优化(PPO):稳定的策略优化算法
4.3 基于模型的强化学习
动力学模型学习:学习环境转移模型
蒙特卡洛树搜索(MCTS):结合树搜索与强化学习
五、机器学习算法选择框架
5.1 基于问题类型的算法选择
问题类型 | 推荐算法 | 适用场景 |
---|---|---|
二分类 | 逻辑回归、SVM、随机森林 | 垃圾邮件检测、欺诈识别 |
多分类 | 随机森林、梯度提升、神经网络 | 图像分类、文本分类 |
回归 | 线性回归、梯度提升、神经网络 | 房价预测、销量预测 |
聚类 | K-Means、DBSCAN、层次聚类 | 客户分群、异常检测 |
降维 | PCA、t-SNE、UMAP | 数据可视化、特征提取 |
关联规则 | Apriori、FP-Growth | 推荐系统、购物篮分析 |
5.2 基于数据特性的算法选择
def algorithm_selection_guide(n_samples, n_features, data_type):
"""
基于数据特征的算法选择指南
"""
if n_samples < 1000:
# 小样本数据
if n_features < 20:
return "线性模型、SVM、朴素贝叶斯"
else:
return "正则化线性模型、核SVM"
elif n_samples < 100000:
# 中等规模数据
if n_features < 100:
return "集成方法、神经网络"
else:
return "线性模型、特征选择后集成方法"
else:
# 大规模数据
if data_type == "结构化":
return "梯度提升树、线性模型"
else:
return "深度学习、随机森林"
六、机器学习评估体系
6.1 分类问题评估指标
准确率:整体预测正确的比例
精确率与召回率:针对正类的预测质量
F1分数:精确率和召回率的调和平均
ROC-AUC:分类器整体性能评估
混淆矩阵:详细分类结果分析
6.2 回归问题评估指标
均方误差(MSE):预测误差的平方平均
平均绝对误差(MAE):预测误差的绝对平均
R²决定系数:模型解释方差比例
6.3 聚类效果评估指标
轮廓系数:簇内紧密度与簇间分离度
Calinski-Harabasz指数:簇间离散与簇内离散比值
Davies-Bouldin指数:簇间相似度度量
七、实际应用框架
7.1 端到端机器学习流水线
7.2 行业特定应用框架
7.2.1 金融风控系统
数据层:交易数据、用户行为、外部征信
特征层:风险特征工程、时序特征提取
算法层:梯度提升树检测欺诈、深度学习反洗钱
决策层:风险评分、自动审核、人工复核
7.2.2 推荐系统架构
召回层:协同过滤、内容过滤、热榜召回
排序层:机器学习排序(CTR预测)、深度学习排序
重排层:业务规则、多样性控制、新鲜度注入
总结
机器学习是一个层次分明、逻辑严谨的体系,从基础的学习范式到具体的算法实现,再到实际应用部署,形成了一个完整的知识框架。理解这个框架的关键在于把握三个维度:问题类型决定算法类别,数据特性影响算法选择,业务需求指导应用设计。
成功的机器学习应用需要在这三个维度间找到最佳平衡点,选择最适合的算法解决特定的业务问题。随着技术的不断发展,新的算法和方法不断涌现,但这个基础框架为理解和应用机器学习提供了坚实的基础。