R语言mlr3包系列3.1——易理解的机器学习实现流程

本文详细介绍了机器学习的基本概念,包括有监督和无监督学习的区别,以及mlr3包中的机器学习流程框架,重点讲解了数据收集、模型训练、评估和优化的过程,特别强调了重抽样和嵌套重抽样的作用。作者承诺后续将提供代码演示以帮助读者理解和实践。
摘要由CSDN通过智能技术生成

讲在前面的话

大家看到文章的题目就可以知道,作者将会以一些大家都可以理解的图和文字来讲解一下机器学习实现流程,只有我们掌握了总体流程的实现框架,我们才能够更好地运用mlr3包并能灵活地写出代码完成大家想完成的任务。该文章对于未了解过机器学习的朋友和有一定基础的朋友都是适合的,只要大家耐心读完一定会有很大的收获。

机器学习简单回顾与总结

首先在讲解流程前,我们要明确一下我们的目的:我们要用机器学习做什么。在我的R语言mlr3包系列1——机器学习概述中就已经提到,这里简单地带过,如果大家想了解细节可以点击阅读一下。事实上,机器学习就是一个已知x,求y的过程。

对于有监督学习,是用已知的一系列 x 、 y 来计算函数表达式,再用该函数表达式来代入其他 x 值来预测 y ;
对于无监督学习,只用已知的一系列 x 根据一定的算法逻辑预测函数表达式,再用该表达式进行上述的预测。
以上两句话便是机器学习的核心思想,掌握这个思想以后,我们再讲解具体的流程也变得容易。

机器学习流程框架

机器学习核心步骤
如果大家看过官网关于mlr3包的介绍就能看到类似上图的图片,在此为大家方便理解作了该图。

如图所示,机器学习的大致流程如下:

  1. 收集数据。随后将收集好的数据集分为测试集非测试集
  2. 用非测试集训练学习器,构建对应的模型
  3. 将测试集的特征导入训练好的模型中,通过模型预测得到预测的目标
  4. 把测试集的目标与预测的目标进行对照,随后通过度量(评定预测结果的指标)评估模型性能;
  5. 最后对数据进行重抽样,重复上述步骤,优化模型性能,获得更好的泛化能力
    先来强调一下上述的一些名词:
  • 重抽样:就是对数据集重复抽样,得到数据集的若干副本。重抽样的原因就在于我们在随机将数据集分为测试集与非测试集时,每次随机平分的结果各不相同,这样用来训练学习器的数据及验证模型的数据都会不同。倘若进行多次重抽样,则会充分利用数据,更充分地评估模型性能。目前使用最多的便是嵌套重抽样

在这里插入图片描述
嵌套重抽样分为内外两层,在内外两层均作重抽样,从而得到更好的模型性能。请大家对照图看,具体过程如下:

在外层,对整个数据集重抽样,生成整个数据集的若干副本,每个副本包括两部分:非测试集测试集

在内层,是对每一次外循环的非测试集重抽样,生成非测试集的若干副本,每个副本都划分为两部分:训练集验证集,通过用训练集训练拟合模型,再通过验证集评估模型性能,我们可以找到适合模型的最优超参数,它将用于外层非测试集重新训练模型,测试集重新评估性能等;另外,内循环也可用于监视训练过程是否过拟合。

  • 模型:相当于一个将特征向量映射到目标值的函数,即我们上文在核心思想中所说的函数表达式。模型本身是在学习器的基础上创建的,只要我们调整了学习器的模型参数超参数即可得到模型。
    我用初中数学给大家举个简单的例子:我们已知有x1=0、y1=1,x2=1、y2=2,所以我们选择y=ax+b作框架,随后我们把这两组值代入,得到y=x+1。这里的x1、y1,x2、y2是非测试集,用来训练学习器;y=ax+b则为学习器;代入数据后得到的参数a=1、b=1,则被称为模型参数,即被数据训练后得到的参数;而超参数则是在y=ax+b背后的东西,即决定学习器的本身性能,但需要手动设置而无法通过训练得到的参数,在这里我们可以把学习器看作一个公式,该公式中有一些参数需要手动调整来改变本身性能;得到的y=x+1则视为模型。这样大家就能理解模型与学习器的关系。

  • 至于测试集与非测试集目标与特征大家都可以在R语言mlr3包系列1——机器学习概述中找到,文章内容不多,仔细阅读便可以理解。
    这样,我们的机器学习大致流程就讲解完毕。大家通过我的前几篇文章和这篇文章也能发现,机器学习本身并不难,难的是你需要把机器学习的核心逻辑搞懂,这样你将很容易上手。

一些后续

本来想着在这一篇文章中进行代码演示,但是看了大多数文章发现很多博主没有很细心地进行代码注释,容易让新手只知其然却不知其所以然,所以把第三篇分为几部分,后续将为大家进行机器学习基础流程的代码演示,做到讲解与代码相统一,使大家能够理解,最重要的是会用,毕竟很多人看了我的第2篇文章就会发现,mlr3基于的R6类和本身我们平时用到的代码不同,于是我将在近几日下苦功夫,为大家更好地学习与理解mlr3包而努力!望大家多多支持,点赞点关注

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值