当前位置: 首页 > news >正文

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

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

一、机器学习算法分类

机器学习(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%旧模型)

动态流程调整:

在这里插入图片描述

相关文章:

  • JavaScript中Object()的解析与应用
  • Redis—主从复制
  • webpack+vite前端构建工具 -答疑
  • kubernetes部署3节点高可用elasticsearch v8.14.3
  • 【数学基础】复杂度理论
  • Python异步编程深度解析
  • 基于Spring Boot的网上购物平台设计与实现
  • AD22以上的基础操作
  • C++算法学习专题:双指针
  • 编译安装交叉工具链 riscv-gnu-toolchain
  • RGB+EVS视觉融合相机:事件相机的革命性突破​
  • 微机系统 第九章 人机接口 (包含了第四章的题)
  • MCPA2APPT:基于 A2A+MCP+ADK 的多智能体流式并发高质量 PPT 智能生成系统
  • 《自动控制原理 》- 第 1 章 自动控制的基本原理与方式
  • 分布式电源采集控制装置:江苏光伏电站的“智能调度中枢
  • java nio 所有影响 plc 的方法一览表
  • TCP 和 UDP 是什么?
  • 计算机操作系统(十七)内存管理
  • 暑假复习篇之运算与逻辑
  • 【软考--软件设计师】11 关系型数据库