机器学习笔记2 - 机器学习的一般流程


image.png

1、数据基本处理

数据集的划分

  • 根据用途可将获取到的数据划分为训练集和测试集,有时还会有验证集。
  • 一般而言训练集用于训练模型,测试集用于测试模型的效果(泛化误差)。严格来讲,测试集的数据不能直接或间接(根据测试结果来调整模型参数)的用于模型训练。
  • 验证集在模型训练阶段不会带入模型进行训练,但当模型训练结束之后,我们会把模型带入验证集进行计算,通过观测验证集上模型运行结果,判断模型是否要进行调整,验证集也会模型训练,只不过验证集训练的不是模型参数,而是模型超参数。
  • 训练集和测试集的划分:可以随机划分,一般情况下70%-80%作为训练集、20%-30%作为测试集。
  • 总的来说,测试集是严格不能带入训练的数据集,在实际建模过程中我们可以先把测试集切分出来,然后"假装这个数据集不存在",在剩余的数据集中划分训练集和验证集,把训练集带入模型进行运算,再把验证集放在训练好的模型中进行运行,观测运行结果,再进行模型调整。
  • 在一些不太严谨的情况下会混用测试集和验证集,不对二者进行区分;但在一些情况下(如在线提交结果的数据竞赛),是需要对二者做严格的区分的。
  • 在机器学习理论体系中,一个更加严谨的做法,是先划分训练集和测试集,然后再在训练集上划分测试集,并且"训练集-测试集"划分方法用于进行模型参数训练,而"训练集-验证集"的划分方法主要用于进行模型超参数选取。

2、特征工程

  • 使用专业知识是的特征能在机器学习算法上发挥更好的作用的过程。

2.1 特征提取

特征通常来自文献调研,看同行在解决同类问题时都使用了哪些特征;也可自行引入新的特征。

2.2 特征预处理

2.3 特征降维

去掉对模型影响不大的特征

常用的线性降维方法,如PCA;非线性降维方法,如tSNE,UMAP。

3、机器学习

3.1 提出基本模型

基于对数据的初步认识,或者分析的需求,提出一个模型。

3.2 确定损失函数(可自定义)

根据模型确定损失函数并进行构建

3.3 根据损失函数的性质,选择优化放法(求最小值)

  • 最小二乘法(适用范围有限)

3.4 利用优化算法进行损失函数求解

计算出模型的测试/泛化误差

3.5 调参或更换其他模型

基于测试结果调整模型参数

若调整参数仍无法得到理想的结果,则可以考虑更换模型,并重复3.2 ~ 3.4的步骤。

4、模型评估

机器学习笔记3-模型评估
© 著作权归作者所有,转载或内容合作请联系作者

喜欢的朋友记得点赞、收藏、关注哦!!!

相关推荐
KNeeg_31 分钟前
Spring循环依赖以及三个级别缓存
java·spring·缓存
AI_Gump1 小时前
【AI阅读】20250717阅读输入
java·spring boot·spring
ldj20202 小时前
Docker的docker-compose类比Spring的ApplicationContext
spring·docker
angushine3 小时前
logstash采集springboot微服务日志
spring boot·微服务·linq
懂得节能嘛.4 小时前
【SpringAI实战】ChatPDF实现RAG知识库
java·后端·spring
探索java4 小时前
Spring 解析 XML 配置文件的过程(从读取 XML 到生成 BeanDefinition)
xml·java·spring·xmlbeanfactory
武昌库里写JAVA4 小时前
「mysql」Mac osx彻底删除mysql
vue.js·spring boot·毕业设计·layui·课程设计
JosieBook5 小时前
【web应用】基于Vue3和Spring Boot的课程管理前后端数据交互过程
前端·spring boot·交互
daixin88485 小时前
SpringMVC的请求执行流程是什么样的?
java·开发语言·spring
pengzhuofan5 小时前
Web开发系列-第9章 SpringBootWeb登录认证
java·spring boot·后端·web