首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >机器学习入门系列(2)--机器学习概览(下)

机器学习入门系列(2)--机器学习概览(下)

作者头像
kbsc13
发布于 2019-08-16 03:43:14
发布于 2019-08-16 03:43:14
4740
举报
文章被收录于专栏:AI 算法笔记AI 算法笔记

本文大约 2800 字,阅读需要大约 8 分钟

这是本系列的第二篇,也是机器学习概览的下半部分,主要内容如下所示:

1. 机器学习的主要挑战1.1 训练数据量不足1.2 没有代表性的训练数据1.3 低质量的数据1.4 不相关的特征1.5 过拟合1.6 欠拟合2. 测试和评估3. 小结

1. 机器学习的主要挑战

在介绍基于模型学习算法的流程的时候,对于预测结果不好的问题分析,主要说了是数据问题还是模型问题,这同时也就是机器学习的效果不好的两个主要原因,即错误的数据和错误的算法。

1.1 训练数据量不足

第一个问题就是训练数据的数量问题,这是非常重要的问题。

因为即使是简单的问题,一般也需要数千的样本,这还是因为简单的问题一般采用简单的算法就可以解决,对于复杂的图像或语音问题,通常需要数百万的样本,特别是如果采用现在非常热门的深度学习算法,比如卷积神经网络模型,这些复杂的模型如果没有足够的数据量支持,非常容易陷入过拟合的情况。

实际上更多数量的训练集也是为了获得更有代表性的数据,能够学习到这类数据的所有特征。

但是,应该注意到,小型和中型的数据集仍然是非常常见的,获得额外的训练数据并不总是轻易和廉价的,所以不要抛弃算法。

1.2 没有代表性的训练数据

无论采用基于实例还是基于模型的学习,让训练数据对新数据具有代表性是非常重要的。如果训练集没有代表性,那么训练得到的模型就是不可能得到准确性的模型,比如人脸识别中,模型没有学习到某个人最明显的代表性的特征,比如高鼻梁或者没有眉毛等突出特征,那么模型对这个人的识别率就不会很高。

使用具有代表性的训练集对于推广到新案例是非常重要的。但是做起来比说起来要难:如果样本太小,就会有样本噪声(即会有一定概率包含没有代表性的数据),但是即使是非常大的样本也可能没有代表性,如果取样方法错误的话。这叫做样本偏差。

1.3 低质量的数据

低质量的数据指的是数据有错误、带有过多噪声或者是出现异常值等的数据,这种数据会影响系统整体的性能,因此,数据清洗对于构建一个机器学习系统或者一个机器学习项目来说都是必不可少的步骤。

对于这些低质量的数据,通常可以按照如下做法处理:

  • 如果一些实例是明显的异常值,最好删掉它们或尝试手工修改错误;
  • 如果一些实例缺少特征(比如,你的 5% 的顾客没有说明年龄),你必须决定是否忽略这个属性、忽略这些实例、填入缺失值(比如,年龄中位数),或者训练一个含有这个特征的模型和一个不含有这个特征的模型,等等。
1.4 不相关的特征

不相关的特征对于整个机器学习系统是有着反作用的效果,训练数据必须包含足够多的相关特征、非相关特征不多的情况下,才能训练出一个性能不错的模型。机器学习项目成功的关键之一是用好的特征进行训练。这个过程称作特征工程,包括:

  • 特征选择:在所有存在的特征中选取最有用的特征进行训练。
  • 特征提取:组合存在的特征,生成一个更有用的特征(如前面看到的,可以使用降维算法)。
  • 收集新数据创建新特征。
1.5 过拟合

上述四种情况都是坏数据的情况,接下来是两种算法问题,也是机器学习最常见的两种算法方面的问题,过拟合和欠拟合。

过拟合就是指算法模型在训练集上的性能非常好,但是泛化能力很差,即在测试集上的效果却很糟糕的情况。比如下图,采用一个高阶多项式回归模型来预测生活满意度和人均 GDP 的关系,很明显看出来,这个模型过拟合了训练数据,其预测效果并不会达到在训练数据上这么好的效果。

过拟合示例

通常对于比较复杂的模型,比如深度神经网络,它能够检测和识别到数据中比较细微的规律和特征,但是如果训练集包含噪声,或者训练集数量太少(数量太少会引入样本噪声),这种情况下,模型同样会学习这种噪声,从而导致模型的泛化能力的下降。

一般解决过拟合的方法有:

  • 简化模型,这包括了采用简单点的模型、减少特征数量以及限制模型,即采用正则化;
  • 增加训练数据
  • 减小训练数据的噪声,即数据清洗,比如修正数据错误和去除异常值等

其中正则化方法是比较常用的方法,它的作用就是限制模型,不让模型过于复杂,从而降低过拟合的风险或者是缓和过拟合的程度。常用的正则化方法是 L2 和 L1 正则化。正则化方法通常会采用一个超参数来控制其限制模型的强度。超参数是一个学习算法的参数(而不是模型的)。这样,它是不会被学习算法本身影响的,它优于训练,在训练中是保持不变的。如何调节超参数也是构建一个机器学习算法模型非常重要的一个步骤,也是让性能能够进一步提升的做法。

1.6 欠拟合

欠拟合和过拟合刚好相反,它就是模型的性能非常差,在训练数据和测试数据上的性能都不好。

通常也是因为模型过于简单,没有能够很好学习到数据的有效的相关的特征,解决方法有:

  • 选择一个更强大的模型,带有更多参数
  • 用更好的特征训练学习算法(特征工程)
  • 减小对模型的限制(比如,减小正则化超参数)

2. 测试和评估

当训练好一个机器学习模型后,接下来就需要对模型进行预测和评估,判断得到的模型是否可用,是否还能进行提升,并进行错误分析等操作。

一般在训练模型前,我们会将数据集分成两个集合,分别是训练集和测试集,通常 8:2 的比例,也就是 80% 的数据作为训练集,剩余是测试集。然后采用训练集训练模型,在测试集上用按照学习的问题采用对应评估指标评估模型的性能,比如分类问题,一般就是采用分类的准确率或者错误率作为评估的标准。

但这种划分数据集的方法,存在一个问题,就是如果需要调节超参数,比如对于正则化的超参数、学习率等,继续采用测试集来进行评估不同超参数对模型性能的影响,这会导致最后在测试集上测试得到性能最好的模型,实际上是过拟合了测试集,那么模型的泛化能力也不会太好。

所以,为了解决这个问题,我们还需要为调节超参数划分一个专门的数据集,测试集应该是用于测试最终得到的模型的性能。因此,我们再划分一个叫做验证集的数据集。

一种做法是可以将所有数据按照一定比例划分为训练集、验证集和测试集,比如按照 6:2:2 的比例划分;当然更通常的做法是采用交叉验证:训练集分成互补的子集,每个模型用不同的子集训练,再用剩下的子集验证。一旦确定模型类型和超参数,最终的模型使用这些超参数和全部的训练集进行训练,用测试集得到推广误差率。

3. 小结

最后我们总结下:

1. 机器学习的四个主要挑战是

  • 数据量太少
  • 数据问题,包括没有代表性数据和质量差
  • 不相关特征
  • 模型过拟合或者欠拟合

2. 过拟合的解法方法有:

  • 简化模型,包括采用更简单的模型和更少的参数
  • 正则化方法降低模型的复杂度
  • 收集或者采用更大的数据集
  • 数据清洗,去除噪声和异常值等

3. 欠拟合的解决方法:

  • 采用更强大的模型,包含更多的参数和学习能力
  • 降低正则化的强度
  • 使用更好的特征提取方法,即使用或者改善特征工程的工作

4. 采用交叉验证方法进行超参数条件和模型的选择

以上就是本文的主要内容和总结,因为我还没有开通留言功能,所以欢迎关注我的微信公众号--一个算法汪的技术成长之路或者扫描下方的二维码,和我分享你的建议和看法,指正文章中可能存在的错误,大家一起交流,学习和进步!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-09-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 算法猿的成长 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
机器学习入门系列(1)--机器学习概览
一个简单的例子,也是经常提及的例子:垃圾邮件过滤器。它可以根据垃圾邮件(比如,用户标记的垃圾邮件)和普通邮件(非垃圾邮件,也称作 ham)学习标记垃圾邮件。用来进行学习的样例称作训练集。每个训练样例称作训练实例(或样本)。在这个例子中,任务 T 就是标记新邮件是否是垃圾邮件,经验E是训练数据,性能 P 需要定义:例如,可以使用正确分类的比例。这个性能指标称为准确率,通常用在分类任务中。
kbsc13
2019/08/16
7750
Scikit-Learn 与 TensorFlow 机器学习实用指南学习笔记2 — 机器学习的主要挑战
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/red_stone1/article/details/84556338
红色石头
2019/05/25
3800
机器学习训练中常见的问题和挑战!
由于我们的主要任务是选择一种学习算法,并对某些数据进行训练,所以最可能出现的两个问题不外乎是“坏算法”和“坏数据”,本文主要从坏数据出发,带大家了解目前机器学习面临的常见问题和挑战,从而更好地学习机器学习理论。
Datawhale
2020/10/23
3690
机器学习训练中常见的问题和挑战!
《Scikit-Learn与TensorFlow机器学习实用指南》 第1章 机器学习概览什么是机器学习?为什么使用机器学习?机器学习系统的类型批量和线上学习基于实例vs基于模型学习机器学习的主要挑战测
---- 本书翻译已加入ApachCN的开源协作项目,见 https://github.com/apachecn/hands_on_Ml_with_Sklearn_and_TF/tree/dev/docs。 我负责翻译的是第一章和第二章。 ApacheCN_飞龙转载了后面的章节,大家可以去他的页面查看,《第3章 分类》链接 ---- 下载本书和代码:https://www.jianshu.com/p/9efbae6dbf8e 本书自2017年4月9日出版,便长期占据美国亚马逊Compu
SeanCheney
2018/04/24
1.8K0
《Scikit-Learn与TensorFlow机器学习实用指南》 第1章 机器学习概览什么是机器学习?为什么使用机器学习?机器学习系统的类型批量和线上学习基于实例vs基于模型学习机器学习的主要挑战测
3000字详细总结机器学习中如何对模型进行选择、评估、优化
对于一个机器学习工程而言,我们可以选择的模型众多,就之前的章节,我们已经可以选择:
double
2018/07/31
1.1K0
[Deep-Learning-with-Python]机器学习基础
二分类、多分类以及回归问题都属于监督学习--目标是学习训练输入和对应标签之间的关系。 监督学习只是机器学习的冰山一角。机器学习主要分为4类:监督学习、非监督学习、半监督学习和强化学习。
用户1631856
2018/08/01
3730
[Deep-Learning-with-Python]机器学习基础
机器学习基础
请记住,在本章中讨论的大多数技术都是机器学习和深度学习通用的,一部分用于解决过拟合问题的技术(如dropout)除外。
用户9882025
2022/07/11
5510
机器学习基础
机器学习调优实战
导语 机器学习算法性能很差怎么办?过拟合和欠拟合是什么?调优方法有哪些?如何高效运用trick? 大家知道最近 A.I 非常火,经常看到各种相关技术介绍,像什么论坛啊、牛人讲座啊,当然网上也有很多非常
laura
2017/06/12
5.5K0
机器学习调优实战
好书|第一章:The Machine Learning Landscape
【需要英文电子书籍和配套的EPUB阅读器的朋友,请把这篇文章分享到您的朋友圈,添加我的个人微信:luqin360,截图给我,我会发给您;若是需要一起参与读书和讨论,也请告诉我,我会邀请你入群。】
陆勤_数据人网
2019/05/17
4650
机器学习入门(二):如何构建机器学习模型,机器学习的三要素,欠拟合,过拟合
在回顾机器学习三要素之前,我们先简单了解一下处理一个机器学习任务需要有那些步骤或流程。
小言从不摸鱼
2024/09/10
3050
机器学习入门(二):如何构建机器学习模型,机器学习的三要素,欠拟合,过拟合
10招解决机器学习模型过拟合
增加更多的训练数据有助于防止过拟合,主要是因为更多的数据能够提供更全面、更准确的信息,从而使模型更好地学习数据中的真实模式。以下是一些解释:
皮大大
2023/08/18
1.7K0
【机器学习的基本思想】模型优化与评估
  在前几篇文章中,我们介绍了k近邻算法和线性回归两个基本的机器学习模型。或许已经注意到,除了模型本身以外,要训练一个好的机器学习模型,还有许多需要注意的地方。例如,我们将数据集分为训练集和测试集,在前者上用不同参数训练,再在后者上测试,以选出效果最好的模型参数。此外,在线性回归一文中,我们还对数据集做了预处理,把每个特征下的数据分别做归一化,放缩到同一数量级上。诸如此类的细节在机器学习中还有很多,它们虽然本身和算法关系不大,但对模型最终效果的好坏又有着至关重要的影响,而把握好这些细节的前提是深入理解机器学习的基本思想。本文就来讲解这些机器学习模型的基本思想。
Francek Chen
2025/01/22
1710
【机器学习的基本思想】模型优化与评估
解决机器学习问题的一般流程
本期将针对机器学习的新朋友,为大家讲解解决机器学习问题的一般思路: 很多博客、教程中都对机器学习、深度学习的具体方法有很详细的讲解,但却很少有人对机器学习问题的流程进行总结,而了解解决机器学习问题的一
磐创AI
2018/04/24
1.5K0
解决机器学习问题的一般流程
【机器学习】过拟合与欠拟合——如何优化模型性能
在机器学习中,模型的表现不仅依赖于算法的选择,还依赖于模型对数据的拟合情况。过拟合(Overfitting)和欠拟合(Underfitting)是模型训练过程中常见的问题。过拟合意味着模型过于复杂,以至于“记住”了训练数据中的噪声,而欠拟合则意味着模型过于简单,无法捕捉到数据的主要特征。本文将深入探讨过拟合与欠拟合的定义、表现、原因及常见的解决方案,帮助你优化模型性能。
Qiuner
2024/09/26
1.8K0
【机器学习】过拟合与欠拟合——如何优化模型性能
算法工程师-机器学习面试题总结(1)
损失函数是在机器学习和优化算法中使用的一种衡量模型预测结果与真实值之间差异的函数。其目标是最小化模型的预测误差,从而提高模型的性能。
机器学习AI算法工程
2023/09/04
7450
算法工程师-机器学习面试题总结(1)
机器学习:应用和设计模型
在训练数据的时候,可能会发现模型的效果不是很好,于是就需要对模型进行调整,一般有以下几种方式:
Here_SDUT
2022/09/19
7650
机器学习:应用和设计模型
python机器学习基础
最常见的机器学习类型。给定一组样本(通常是人工标准),它可以学会将数据映射到已知目标(也叫标注)。监督学习广泛应用到光学字符识别、语音识别、图像分类和语言翻译。
皮大大
2023/08/23
3280
机器学习相关概念--拟合问题
 😎下图中,蓝色点是初始数据点, 用来训练模型。绿色的线用来表示最佳模型, 红色的线表示当前的模型
用户10950404
2024/07/30
1940
机器学习相关概念--拟合问题
机器学习入门 8-7 偏差方差平衡
本系列是《玩转机器学习教程》一个整理的视频笔记。本小节主要介绍什么是偏差和方差,并从偏差和方差这种更高更全面的视角来探讨模型过拟合和欠拟合,最后提出在算法层面上主要解决高方差,并提出五条解决高方差的手段。
触摸壹缕阳光
2020/01/14
1K0
机器学习入门 8-7 偏差方差平衡
机器学习基础——概述
        机器学习是一种利用数据构建模型并通过算法进行预测或分类的技术。在机器学习中,计算机通过训练算法从已有数据中发现模式,以提高其处理新数据的能力。其核心思想是让计算机在没有明确编程的情况下,从数据中自动学习。
星辰与你
2024/10/17
6240
推荐阅读
相关推荐
机器学习入门系列(1)--机器学习概览
更多 >
领券
一站式MCP教程库,解锁AI应用新玩法
涵盖代码开发、场景应用、自动测试全流程,助你从零构建专属AI助手
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档