机器学习开篇:算法分类与开发流程

发布于:2025-06-29 ⋅ 阅读:(22) ⋅ 点赞:(0)

种一棵树最好的时间是十年前,其次是现在。

一、机器学习算法分类

机器学习(ML,Meachine Learning)是人工智能的核心领域,让计算机从数据中学习规律并做出预测,本文简单介绍机器学习的算法分类和开发流程。

常见的机器学习算法从学习方式上可以分为以下几类:监督学习无监督学习半监督学习等其它类型,其中监督学习是指使用带有标签(已标记)的数据集进行训练,模型通过学习输入特征与标签之间的映射关系进行预测或分类,监督学习又可以根据输出是否连续分为分类和回归问题,连续的称为回归,离散的称为分类;而无监督学习则是指处理无标签(未标记)的数据集,模型通过算法自行发现数据中的隐藏结构或模式(如聚类、降维)

机器学习
算法分类
子类 定义 常见算法 应用场景示例
监督学习 分类 使用带有标签的数据集进行训练
模型输出离散数据
k-近邻算法
贝叶斯分类
决策树
逻辑森林
逻辑回归
SVM
神经网络
垃圾邮件检测
图像识别
回归 使用带有标签的数据集进行训练
模型输出连续数据
线性回归
岭回归
随机森林
房价预测
销量预测
无监督学习 聚类 聚类算法将数据点分组
使得同一组内的数据点相似度高
而不同组的数据点相似度低
K-means算法
层次聚类
客户分群
文档主题分类
降维 减少数据集中的特征数量
以简化模型并提高计算效率
主成分分析(PCA) 分析药物主要成分
其它 半监督学习 结合少量标注数据和大量未标注数据进行学习 标签传播
半监督SVM
医学图像分析
自监督学习 通过数据自身的结构生成标签进行训练 Masked Language Model(BERT)
对比学习
自然语言处理
图像预训练
强化学习 通过与环境的交互学习最优策略
以最大化长期奖励
Q-Learning
深度Q网络(DQN)
策略梯度
游戏AI
机器人控制
自动驾驶
深度学习 多层神经网络自动提取特征
可应用于监督/无监督/强化学习
CNN
RNN
图像识别
文本生成

二、机器学习开发流程

以监督学习为例,但核心步骤适用于所有机器学习任务

2.1 步骤1-问题定义

核心目标:将模糊的业务需求转化为可量化的机器学习任务。

关键操作 说明 案例
确定任务类型 分类/回归/聚类? 用户流失预测 → 二分类任务
定义成功指标 选择与业务目标一致的评估指标 欺诈检测 → 高召回率(宁错杀不放过)
推荐系统 → 精确率
约束条件分析 时延要求、可解释性需求、计算资源限制 医疗诊断 → 需要可解释性(选择决策树而非神经网络)
可行性评估 数据是否足够?特征是否可获取? 使用数据矩阵草图验证特征覆盖率

常见陷阱:

  • 将回归问题错误定义为分类问题(如将销售额预测转为"高/中/低"三分类)
  • 忽略业务成本(如信用卡欺诈中误判好客户的代价)

2.2 步骤2-数据收集

数据类型 获取方式 预处理难点
结构化数据 SQL查询、数据仓库导出 处理缺失值
文本数据 API抓取、日志解析 分词、去停用词
图像数据 爬虫、公开数据集 尺寸归一化
时序数据 IoT传感器、用户行为日志 处理时间漂移

2.3 步骤3-数据预处理

核心目标:将原始数据转化为信息密度更高的特征。

2.3.1 数据清洗

缺失值处理策略:

方法 适用场景
删除样本 缺失率<5%且随机缺失
中位数/众数填充 数值型/分类型特征
模型预测填充 高价值数据且缺失有模式
增加缺失标志位 缺失本身包含信息

2.3.2 特征工程

特征变换技巧:

  • 数值特征:对数变换(右偏分布)、Box-Cox变换
  • 时间特征:提取"小时/星期几/是否节假日"
  • 文本特征:TF-IDF、Word2Vec嵌入
  • 组合特征:用户年龄 × 商品价格(交互效应)

降维策略对比:

方法 保留信息 可解释性 线性假设 适用场景
PCA 全局结构 需要 图像预处理
t-SNE 局部结构 不需要 高维数据可视化
LDA 类别区分 需要 分类任务特征压缩
自编码器 非线性 不需要 复杂数据表示学习

2.3.3 数据分割

把处理好的数据按一定比例划分训练集、测试集、验证集。

2.4 步骤4-模型选择与训练

简单算法选型决策树:

在这里插入图片描述

scikit-learn的算法选择决策:

在这里插入图片描述

计算优化技巧:

  • 使用GPU加速(CUDA)
  • 分布式训练(如Spark MLlib)
  • 增量学习(partial_fit)处理超大数据

2.5 步骤5-模型评估

评估指标全景图:

分类任务:
  ┌─宏观指标──准确率(Accuracy)
  ├─类别平衡─┤
  │          └─F1-score(F1)
  │
  ├─概率评估─AUC-ROC曲线
  │
  └─业务对齐─精确率(Precision)/召回率(Recall)权衡

回归任务:
  ├─绝对误差─MAE(平均绝对误差)
  ├─放大异常─MSE(均方误差)
  └─比例解释─R²(决定系数)

典型问题诊断:

  • 准确率高但AUC低 → 模型无区分力
  • 验证集表现远差于训练集 → 过拟合
  • 某些类别召回率极低 → 样本不平衡

2.6 步骤6-模型调优

调优方法对比:

方法 搜索效率 并行性 适用空间大小 代码实现
网格搜索 小(<10维) GridSearchCV
随机搜索 中(<100维) RandomizedSearchCV
贝叶斯优化 BayesianOptimization
遗传算法 极大 TPOT

调优黄金法则:

  • 先粗调(大范围随机搜索)
  • 再精调(小范围贝叶斯优化)
  • 最终确认需在测试集上只评估一次。

2.7 步骤7-模型部署与监控

简单的部署架构示例:

用户请求 → API网关 → 预测微服务 → 模型缓存 
                     ↓
             监控系统(Prometheus)
                     ↓
             日志分析 → 模型性能仪表盘

监控关键指标:

  • 预测分布变化(PSI群体稳定性指数)
  • 特征漂移检测(KL散度)
  • 业务指标关联性(如推荐系统CTR变化)

可参考的迭代触发机制:

监控警报规则:
  - PSI > 0.25 → 严重漂移
  - 精度下降 > 15% → 需要重新训练
  - 新数据量 > 10倍原始数据 → 自动触发增量训练

模型版本管理参考:

  • 使用MLflow/DVC跟踪实验
  • A/B测试流量分配(10%新模型 vs 90%旧模型)

动态流程调整:

在这里插入图片描述


网站公告

今日签到

点亮在社区的每一天
去签到