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

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

前言

本篇内容我们的目标为:

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

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

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. 模型的泛化能力指的是对未知样本的预测能力

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

相关文章
|
6月前
|
人工智能 自然语言处理 IDE
模型微调不再被代码难住!PAI和Qwen3-Coder加速AI开发新体验
通义千问 AI 编程大模型 Qwen3-Coder 正式开源,阿里云人工智能平台 PAI 支持云上一键部署 Qwen3-Coder 模型,并可在交互式建模环境中使用 Qwen3-Coder 模型。
1130 109
|
7月前
|
人工智能 自然语言处理 运维
【新模型速递】PAI-Model Gallery云上一键部署Kimi K2模型
月之暗面发布开源模型Kimi K2,采用MoE架构,参数达1T,激活参数32B,具备强代码能力及Agent任务处理优势。在编程、工具调用、数学推理测试中表现优异。阿里云PAI-Model Gallery已支持云端部署,提供企业级方案。
421 0
【新模型速递】PAI-Model Gallery云上一键部署Kimi K2模型
|
6月前
|
机器学习/深度学习 数据采集 算法
量子机器学习入门:三种数据编码方法对比与应用
在量子机器学习中,数据编码方式决定了量子模型如何理解和处理信息。本文详解角度编码、振幅编码与基础编码三种方法,分析其原理、实现及适用场景,帮助读者选择最适合的编码策略,提升量子模型性能。
497 8
|
7月前
|
人工智能 自然语言处理 运维
【新模型速递】PAI-Model Gallery云上一键部署gpt-oss系列模型
阿里云 PAI-Model Gallery 已同步接入 gpt-oss 系列模型,提供企业级部署方案。
|
8月前
|
机器学习/深度学习 分布式计算 Java
Java 大视界 -- Java 大数据机器学习模型在遥感图像土地利用分类中的优化与应用(199)
本文探讨了Java大数据与机器学习模型在遥感图像土地利用分类中的优化与应用。面对传统方法效率低、精度差的问题,结合Hadoop、Spark与深度学习框架,实现了高效、精准的分类。通过实际案例展示了Java在数据处理、模型融合与参数调优中的强大能力,推动遥感图像分类迈向新高度。
|
8月前
|
机器学习/深度学习 存储 Java
Java 大视界 -- Java 大数据机器学习模型在游戏用户行为分析与游戏平衡优化中的应用(190)
本文探讨了Java大数据与机器学习模型在游戏用户行为分析及游戏平衡优化中的应用。通过数据采集、预处理与聚类分析,开发者可深入洞察玩家行为特征,构建个性化运营策略。同时,利用回归模型优化游戏数值与付费机制,提升游戏公平性与用户体验。
|
5月前
|
机器学习/深度学习 数据采集 人工智能
【机器学习算法篇】K-近邻算法
K近邻(KNN)是一种基于“物以类聚”思想的监督学习算法,通过计算样本间距离,选取最近K个邻居投票决定类别。支持多种距离度量,如欧式、曼哈顿、余弦相似度等,适用于分类与回归任务。结合Scikit-learn可高效实现,需合理选择K值并进行数据预处理,常用于鸢尾花分类等经典案例。(238字)
|
机器学习/深度学习 算法 数据挖掘
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构。本文介绍了K-means算法的基本原理,包括初始化、数据点分配与簇中心更新等步骤,以及如何在Python中实现该算法,最后讨论了其优缺点及应用场景。
1507 6
|
10月前
|
机器学习/深度学习 数据采集 人工智能
20分钟掌握机器学习算法指南
在短短20分钟内,从零开始理解主流机器学习算法的工作原理,掌握算法选择策略,并建立对神经网络的直观认识。本文用通俗易懂的语言和生动的比喻,帮助你告别算法选择的困惑,轻松踏入AI的大门。
698 8
|
11月前
|
机器学习/深度学习 存储 Kubernetes
【重磅发布】AllData数据中台核心功能:机器学习算法平台
杭州奥零数据科技有限公司成立于2023年,专注于数据中台业务,维护开源项目AllData并提供商业版解决方案。AllData提供数据集成、存储、开发、治理及BI展示等一站式服务,支持AI大模型应用,助力企业高效利用数据价值。

热门文章

最新文章