热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

深入解析监督学习的核心概念与应用

本文深入探讨了监督学习的基本原理及其广泛应用。监督学习作为机器学习的重要分支,通过利用带有标签的训练数据,能够有效构建预测模型。文章详细解析了监督学习的关键概念,如特征选择、模型评估和过拟合问题,并介绍了其在图像识别、自然语言处理等领域的实际应用。

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

机器学习分为监督学习,非监督学习,强化学习和深度学习。

监督学习,是从标记的训练数据来推断一个功能的机器学习任务。

比如,在家里教宝宝认识苹果和梨,你拿出四个苹果和四个梨,放桌子上教宝宝认识这些水果。这些苹果和梨就是已经标注好的数据。

然后指着苹果对宝宝说:“来,宝宝,往这看,这是苹果,来跟我念,苹——果——。”

“苹——果——。”

“好。”

然后又指着香蕉对宝宝说:“来,看这里,这是梨,来给我念,梨——。”

“梨——。”

依次把这些水果都教宝宝认一遍。这就是监督学习的训练过程,训练完成后还要做一下测试,看看宝宝是否都学习会了。

监督学习中,一般把数据分成两部分,一部分是学习数据,占总数据集的80%以上,一部分是测数据,占总数据集的20%一下。测试时,你从冰箱里拿出一个苹果和一个梨,问宝宝:“宝宝,这是什么呀?”。这就是监督学习的测试过程。

在测试中,宝宝把苹果认错了,你分析发现,原来你教宝宝的时候用的是红苹果,测试时,用的是青苹果。这说明你对数据划分的不合理,训练数据中应该包括红苹果和青苹果。

为了避免这个问题,在训练时,先把数据随机打乱,再把数据分成训练数据和测试数据。

其实在真正的监督学习中,学习过程类型与上面说的类似,只是在学习时,使用了一些算法,数据量级也是上百万,上千万,甚至上亿的。

为了训练出更好的机器学习模型,我们会先选择一个合适的机器学习算法,再为这个算法准备好不同的参数。

在训练时,我们把学习算法和参数结合起来,组合成一个模型。为选出一个最好的模型,我们会使用一些交叉验证法,计算出一个得分,哪个模型得分高就选哪个模型。

交叉验证法有很多种,我们一般使用K折交叉验证。K折交叉验证是把训练数据分成K份,然后依次拿出一份做为验证数据,其剩下他的K-1份数据做为训练数据,用来训练机器学习模型,训练完成后,再拿验证数据,测试模型得分。 这样循环执行K次,然后再把每次验证得分加一起算平均值,作为模型的得分,得分最高的模型,就是我们选取的模型。

然后再用测试数据测试我们选取的模型,看看它的正确率怎么样。

有时我们在训练时,得分很高,但是在测试时,正确率却很低。我们把这种现象叫过拟合。过拟合出现的原因是训练条件太苛刻了。比如,你在教宝宝认苹果的时候,拿出一个红苹果,对宝宝说:“宝宝,这是苹果,它的颜色的红的,上面还有个把。” 然后你再拿出来一个红色没把的苹果,他就不认识了。因为你教他的时候,条件太苛刻了,红色带把的苹果叫苹果。这就叫过拟合。

出现过拟合,那么我们就需要,调整参数,再重新训练。找到最好的模型,然后测试。直到测试的正确率满意为止。


转:https://my.oschina.net/u/587323/blog/1596840



推荐阅读
  • Coursera ML 机器学习
    2019独角兽企业重金招聘Python工程师标准线性回归算法计算过程CostFunction梯度下降算法多变量回归![选择特征](https:static.oschina.n ... [详细]
  • 尽管深度学习带来了广泛的应用前景,其训练通常需要强大的计算资源。然而,并非所有开发者都能负担得起高性能服务器或专用硬件。本文探讨了如何在有限的硬件条件下(如ARM CPU)高效运行深度神经网络,特别是通过选择合适的工具和框架来加速模型推理。 ... [详细]
  • Python 工具推荐 | PyHubWeekly 第二十一期:提升命令行体验的五大工具
    本期 PyHubWeekly 为大家精选了 GitHub 上五个优秀的 Python 工具,涵盖金融数据可视化、终端美化、国际化支持、图像增强和远程 Shell 环境配置。欢迎关注并参与项目。 ... [详细]
  • 本文探讨了如何在给定整数N的情况下,找到两个不同的整数a和b,使得它们的和最大,并且满足特定的数学条件。 ... [详细]
  • 机器学习中的相似度度量与模型优化
    本文探讨了机器学习中常见的相似度度量方法,包括余弦相似度、欧氏距离和马氏距离,并详细介绍了如何通过选择合适的模型复杂度和正则化来提高模型的泛化能力。此外,文章还涵盖了模型评估的各种方法和指标,以及不同分类器的工作原理和应用场景。 ... [详细]
  • 自学编程与计算机专业背景者的差异分析
    本文探讨了自学编程者和计算机专业毕业生在技能、知识结构及职业发展上的不同之处,结合实际案例分析两者的优势与劣势。 ... [详细]
  • 毕业设计:基于机器学习与深度学习的垃圾邮件(短信)分类算法实现
    本文详细介绍了如何使用机器学习和深度学习技术对垃圾邮件和短信进行分类。内容涵盖从数据集介绍、预处理、特征提取到模型训练与评估的完整流程,并提供了具体的代码示例和实验结果。 ... [详细]
  • 本文深入探讨了基于Pairwise和Listwise方法的排序学习,结合PaddlePaddle平台提供的丰富运算组件,详细介绍了如何通过这些方法构建高效、精准的排序模型。文章不仅涵盖了基础理论,还提供了实际应用场景和技术实现细节。 ... [详细]
  • 机器学习核心概念与技术
    本文系统梳理了机器学习的关键知识点,涵盖模型评估、正则化、线性模型、支持向量机、决策树及集成学习等内容,并深入探讨了各算法的原理和应用场景。 ... [详细]
  • 随着生活节奏的加快和压力的增加,越来越多的人感到不快乐。本文探讨了现代社会中导致人们幸福感下降的各种因素,并提供了一些改善建议。 ... [详细]
  • Python中HOG图像特征提取与应用
    本文介绍如何在Python中使用HOG(Histogram of Oriented Gradients)算法进行图像特征提取,探讨其在目标检测中的应用,并详细解释实现步骤。 ... [详细]
  • 深入浅出TensorFlow数据读写机制
    本文详细介绍TensorFlow中的数据读写操作,包括TFRecord文件的创建与读取,以及数据集(dataset)的相关概念和使用方法。 ... [详细]
  • 解决PyCharm中安装PyTorch深度学习d2l包的问题
    本文详细介绍了如何在PyCharm中成功安装用于PyTorch深度学习的d2l包,包括环境配置、安装步骤及常见问题的解决方案。 ... [详细]
  • LambdaMART算法详解
    本文详细介绍了LambdaMART算法的背景、原理及其在信息检索中的应用。首先回顾了LambdaMART的发展历程,包括其前身RankNet和LambdaRank,然后深入探讨了LambdaMART如何结合梯度提升决策树(GBDT)和LambdaRank来优化排序问题。 ... [详细]
  • 新手指南:在Windows 10上搭建深度学习与PyTorch开发环境
    本文详细记录了一名新手在Windows 10操作系统上搭建深度学习环境的过程,包括安装必要的软件和配置环境变量等步骤,旨在帮助同样初入该领域的读者避免常见的错误。 ... [详细]
author-avatar
霙昉蘖976
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有