机器学习入门(二):如何构建机器学习模型,机器学习的三要素,欠拟合,过拟合

简介: 机器学习入门(二):如何构建机器学习模型,机器学习的三要素,欠拟合,过拟合

前言

本篇内容我们的目标为:

  • 掌握如何构建机器学习模型
  • 掌握构建机器学习三要素
  • 理解什么是欠拟合和过拟合
  • 理解什么是泛化能力

在回顾机器学习三要素之前,我们先简单了解一下处理一个机器学习任务需要有那些步骤或流程。

1.如何构建机器学习模型?

机器学习工作流程总结

1.获取数据

2.数据基本处理

3.特征工程

4.机器学习(模型训练)

5.模型评估

结果达到要求,上线服务,没有达到要求,重新上面步骤

  • 我们使用机器学习监督学习分类预测模型的工作流程讲解机器学习系统整套处理过程:

2.机器学习三要素

统计学习 = 模型 + 策略 + 算法

模型:规律 y = wx + b

策略:什么样的模型是好的模型?损失函数

算法:如何高效找到最优参数, 模型中的参数a和b

2.1 模型

机器学习中,首先要考虑学习什么样的模型,在监督学习中,如模型 y=kx+b 就是所要学习的内容。 模型通常分为决策函数或条件概率分布。由决策函数表示的模型为非概率模型,由条件概率分布表示的模型为概率模型。

模型是指在对实际问题进行分析和高度抽象基础上建立起来的一组数学表达式

2.2 策略

评价模型的好坏,使用损失函数进行度量,模型给出的值与实际真实值存在的差别。 损失函数度量模型一次预测的好坏,常用的损失函数有:

函数的损失值越小,模型就越好。

2.3 算法

机器学习的算法就是求解最优化问题的算法。如果最优化问题有显示的解析解,这个最优化问题就比较简单,但通常这个解析解不存在,所以就需要利用数值计算的方法来求解。机器学习可以利用已有的最优化算法,也可以开发独自的最优化算法。

3.拟合问题

3.1 欠拟合

下图中,蓝色点是初始数据点, 用来训练模型。绿色的线用来表示最佳模型, 红色的线表示当前的模型

上面两张图中,红色直线代表的模型都属于欠拟合的情况:

  • 模型在训练集上表现的效果差,没有充分利用数据
  • 预测准确率很低,拟合结果严重不符合预期

产生的原因 :模型过于简单

出现的场景:欠拟合一般出现在机器学习模型刚刚训练的时候,也就是说一开始我们的模型往往是欠拟合也正是因为如此才有了优化的空间,我们通过不断优化调整算法来使得模型的表达能力更强。

解决办法:

(1)添加其他特征项:因为特征项不够而导致欠拟合,可以添加其他特征项来很好的解决。

(2)添加多项式特征,我们可以在线性模型中通过添加二次或三次项使得模型的泛化能力更强。

(3)减少正则化参数,正则化的目的是用来防止过拟合的,但是现在模型出现了欠拟合,需要减少正则化参数。

3.2 过拟合

上图是模型过拟合的情况:即模型在训练集上表现的很好,但是在测试集上效果却很差。也就是说,在已知的数据集合中非常好,再添加一些新数据进来效果就会差很多。

产生的原因: 可能是模型太过于复杂、数据不纯、训练数据太少等造成。

出现的场景: 当模型优化到一定程度,就会出现过拟合的情况。

解决办法:

(1)重新清洗数据:导致过拟合一个原因可能是数据不纯导致的

(2)增大训练的数据量:导致过拟合的另一个原因是训练数据量太小,训练数据占总数据比例太低。

(3)采用正则化方法对参数施加惩罚:导致过拟合的原因可能是模型太过于复杂,我们可以对比较重要的特征增加其权重,而不重要的特征降低其权重的方法。常用的有L1正则和L2正则,后续课程中会详细介绍

(4)采用dropout方法,即采用随机采样的方法训练模型,常用于神经网络算法中。

注意:模型的过拟合是无法彻底避免的,我们能做的只是缓解,或者说减小其风险,因为机器学习面临的是NP难问题(这列问题不存在有效精确解,必须寻求这类问题的有效近似算法求解),因此过拟合是不可避免的。在实际的任务中往往通过多种算法的选择,甚至对同一个算法,当使用不同参数配置时,也会产生不同的模型。那么,我们也就面临究竟选择哪一种算法,使用哪一种参数配置?这就是我们在机器学习中的“模型选择”问题,理想的解决方案当然是对候选模型的泛化误差进行评估,然后选择泛化误差最小的那个模型。我们更详细的模型选择会有专门的专题讲到,如具体的评估方法(交叉验证)、性能度量准则、偏差和方差折中等。

3.3 奥卡姆剃刀原则

奥卡姆剃刀原则是模型选择的基本而且重要的原则。 模型是越复杂,出现过拟合的几率就越高,因此,我们更喜欢采用较为简单的模型。这种策略与应用就是一直说的奥卡姆剃刀(Occam’s razor)或节俭原则(principe of parsimony)一致。 奥卡姆剃刀:给定两个具有相同泛化误差的模型,较简单的模型比较复杂的模型更可取。

3.4 泛化能力

下图是泛化能力较好的图示,M=3表示3次多项式

机器学习的目标是使学得的模型能很好地适用于“新样本”,而不是仅仅在训练样本上工作的很好;即便对聚类这样的无监督学习任务,我们也希望学得的簇划分能适用于没在训练集中出现的样本。

学得模型适用于新样本的能力,称为“泛化”能力。具有强泛化能力的模型能很好地适用于整个样本空间。(现实任务中的样本空间的规模通常很大,如20 个属性,每个属性有10个可能取值,则样本空间的规模是1020)。

泛化的概念

【基础概念】模型具有好的泛化能力指的是:模型不但在训练数据集上表现的效果很好,对于新数据的适应能力也有很好的效果。

当我们讨论一个机器学习模型学习能力和泛化能力的好坏时,我们通常使用过拟合和欠拟合的概念,过拟合和欠拟合也是机器学习算法表现差的两大原因。

4.小结

让我们静下心来回忆一下本篇文章的内容:

  1. 模型是指在对实际问题进行分析和高度抽象基础上建立起来的一组数学表达式。策略用于评价模型的好坏,给出预测值和真实值之间的差距机器学习的。算法就是求解最优化问题的算法
  2. 欠拟合指的是模型在训练集效果不佳,在测试集效果也不佳。过拟合指的是模型在训练集效果不错,在测试集效果不佳
  3. 奥卡姆剃刀原则是模型选择的基本而且重要的原则。模型是越复杂,出现过拟合的几率就越高,因此,我们更喜欢采用较为简单的模型
  4. 模型的泛化能力指的是对未知样本的预测能力

希望本篇文章对您有所帮助,感谢支持!

相关文章
|
5月前
|
机器学习/深度学习 数据可视化 算法
机器学习-可解释性机器学习:随机森林与fastshap的可视化模型解析
机器学习-可解释性机器学习:随机森林与fastshap的可视化模型解析
607 1
|
11月前
|
机器学习/深度学习 算法
【机器学习基础】正则化
【机器学习基础】正则化
72 0
|
2月前
|
机器学习/深度学习 数据采集 算法
深度学习和机器学习中针对非时间序列的回归任务,有哪些改进角度?
本文探讨了在深度学习和机器学习中针对非时间序列的回归任务的多种改进策略,包括数据预处理、数据集增强、特征选择、模型选择、模型正则化与泛化、优化器选择、学习率调整、超参数调优以及性能评估与模型解释,旨在提升模型的性能和可解释性。
53 1
深度学习和机器学习中针对非时间序列的回归任务,有哪些改进角度?
|
3月前
|
机器学习/深度学习 人工智能 算法
探索机器学习中的正则化技术
在机器学习领域,正则化技术是防止过拟合的关键手段之一。本文将深入探讨L1与L2正则化方法的理论基础、实际应用及其对模型性能的影响。通过对比分析与案例研究,本文旨在为读者提供一套系统的正则化应用框架,帮助构建更加健壮和可靠的机器学习模型。
|
5月前
|
机器学习/深度学习 数据可视化 数据挖掘
机器学习降维技术全面对比评析
机器学习降维技术全面对比评析
130 1
|
5月前
|
机器学习/深度学习 算法 数据挖掘
机器学习(七)模型选择
机器学习(七)模型选择
84 0
|
机器学习/深度学习 数据采集 算法
集成学习:机器学习模型如何“博采众长”
集成学习:机器学习模型如何“博采众长”
|
机器学习/深度学习 自然语言处理 算法
|
机器学习/深度学习 数据采集 算法
学习笔记: 机器学习经典算法-模型泛化
机器学习经典算法-个人笔记和学习心得分享
152 0
|
机器学习/深度学习
如何进行特征选择|机器学习
如何进行特征选择|机器学习