机器学习笔记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-模型评估
© 著作权归作者所有,转载或内容合作请联系作者

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

相关推荐
qq_12498707531 小时前
基于小程序中医食谱推荐系统的设计(源码+论文+部署+安装)
java·spring boot·后端·微信小程序·小程序·毕业设计·计算机毕业设计
Coder_Boy_1 小时前
基于SpringAI的在线考试系统-阅卷评分模块时序图
java·人工智能·spring boot
Remember_9931 小时前
【数据结构】深入理解优先级队列与堆:从原理到应用
java·数据结构·算法·spring·leetcode·maven·哈希算法
千寻技术帮1 小时前
10336_基于SSM的少数民族文化商城
mysql·毕业设计·ssm·非遗商城
牧小七1 小时前
SpringBoot使用validation
spring boot
汤姆yu2 小时前
基于springboot的直播管理系统
java·spring boot·后端
leikooo2 小时前
Spring AI 工具调用回调与流式前端展示的完整落地方案
java·spring·ai·ai编程
vx1_Biye_Design2 小时前
基于web的物流管理系统的设计与实现-计算机毕业设计源码44333
java·前端·spring boot·spring·eclipse·tomcat·maven
饱饱要坚持可持续发展观3 小时前
SpringBoot 集成 Liquibase
java·spring boot·后端
学Linux的语莫3 小时前
python项目打包为镜像
java·python·spring