1. 机器学习基本知识(3)——机器学习的主要挑战

news2024/12/16 20:16:14

1.5 机器学习的主要挑战

1.5.1 训练数据不足

  • 对于复杂问题而言,数据比算法更重要
  • 但中小型数据集仍然很普遍,获得额外的训练数据并不总是一件轻而易举或物美价廉的事情,所以暂时不要抛弃算法。

1.5.2 训练数据不具有代表性

  • 采样偏差:如果样本太小,那么会出现采样噪声(即非代表性数据被选中),但如果采样方法有缺陷,即使是非常大的样本也可能不具有代表性。

1.5.3 低质量数据

训练数据充满错误、异常值和噪声(例如,低质量的测量产生的数据),系统将更难检测到底层模式,也就更不太可能表现良好。

需要对数据进行清洗,必须决定是完全忽略此属性、忽略这些实例、将缺失值补充完整(例如,填写年龄的中位数),还是训练一个具有该特征的模型,再训练一个没有该特征的模型。

1.5.4 无关特征

机器学习项目成功的一个关键部分是提取出好的特征集来进行训练。这个过程称为特征工程,包括以下步骤:

  • 特征选择(在现有特征中选择最有用的特征进行训练)。
  • 特征提取(结合现有特征产生更有用的特征,正如我们之前看到的,降维算法可以提供帮助)。
  • 通过收集新数据创建新特征。

1.5.5 过拟合训练数据

  • 过拟合,也就是指该模型在训练数据上表现良好,但泛化效果不佳。
  • 当模型相对于训练数据的数量和噪声过于复杂时,就会发生过拟合。以下是可能的解决方案:
    • 通过选择参数较少的模型(例如,线性模型而不是高阶多项式模型)、减少训练数据中的属性数量或约束模型来简化模型。
    • 收集更多训练数据。
    • 减少训练数据中的噪声(例如,修复数据错误并移除异常值)。
  • 正则化:通过约束模型使它更简单,并降低过拟合风险的过程。

正则化例子:

例如,我们之前定义的线性模型有两个参数:θ0和θ1。

因此,该学习算法有两个自由度来调整模型使其适应训练数据,它可以调整直线的高度(θ0)和斜率(θ1)。

如果我们强制θ=0,该算法只有一个自由度,并且会更难正确地拟合数据:它所能做的就是向上或向下移动线以尽可能接近训练实例,所以它最终会在平均值附近。这确实是一个非常简单的模型!

如果我们允许算法修改θ1,但强制它保持较小的值,那么该学习算法的自由度将在1到2之间。它生成的模型会比有两个自由度的模型更简单,但比只有一个自由度的模型要复杂一些。

你希望在完美拟合训练数据和保持模型足够简单之间找到适当的平衡点,以确保模型能够较好地泛化。

image-20241210162817076

  • 超参数:学习期间应用的正则化程度可以由超参数控制。超参数是学习算法(而非模型)的参数。因此,它不受学习算法本身的影响,必须在训练前设置并在训练期间保持不变。

如果将正则化超参数设置得非常大,你将得到一个几乎平坦的模型(斜率接近于零)。学习算法虽然肯定不会过拟合训练数据,但也不太可能找到好的解决方案。调整超参数是构建机器学习系统的重要部分。

1.5.6 欠拟合训练数据

欠拟合与过拟合正好相反:当模型太简单而无法学习数据的底层结构时,就会发生欠拟合。

例如,生活满意度的线性模型容易出现欠拟合。

因为现实情况总是比模型更复杂,所以它的预测必然是不准确的,即使是在训练样例上也是如此。

以下是解决此问题的主要方式:

  • 选择具有更多参数的更强大的模型。
  • 为学习算法提供更好的特征(特征工程)。
  • 减少对模型的约束(例如通过减少正则化超参数)。

1.5.7 总结💥

  • 机器学习是关于如何让机器更好地完成某些任务的理论,它从数据中学习而无须清晰地编写规则。
  • 机器学习系统有许多类型:有监督和无监督,批量的和在线的,基于实例的和基于模型的。
  • 在机器学习项目中,你从训练集中收集数据,然后将训练集提供给学习算法。
    • 如果该算法是基于模型的,它会调整一些参数以使模型拟合训练集(对训练集本身做出良好的预测),然后希望它也能够对新实例做出良好的预测。
    • 如果该算法是基于实例的,那么它会记住样例,并根据相似性度量将它们与学习过的实例进行比较,从而泛化到新实例。
  • 如果训练集太小,或者数据不具有代表性、有噪声或被不相关的特征(垃圾进、垃圾出)污染,那么系统的表现不会很好。
  • 最后,你的模型既不能太简单(这种情况会导致欠拟合)也不能太复杂(这种情况会导致过拟合)。
  • 一旦训练了一个模型,你就不能只是“希望”它泛化到新实例,你还需要评估它并在必要时对其进行微调。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2260674.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CentOS 上如何查看 SSH 服务使用的端口号?

我们知道,linux操作系统中的SSH默认情况下,端口是使用22,但是有些线上服务器并不是使用的默认端口,那么这个时候,我们应该如何快速知道SSH使用的哪个端口呢? 1、通过配置文件查看 cat /etc/ssh/sshd_confi…

【Java学习笔记】泛型

一、泛型的好处 好处:减少了类型转换的次数,提高了效率 二、泛型介绍 泛型:接受任何数据类型 的 数据类型 (特别强调: E 具体的数据类型在定义 Person 对象的时候指定,即在编译期间,就确定 E 是什么类型…

benchANT (Time Series: Devops) 榜单数据解读

近日,国际权威数据库性能测试榜单 benchANT 更新了 Time Series: Devops(时序数据库)场景排名,KaiwuDB 数据库在 xsmall 和 small 两类规格下的时序数据写入吞吐、查询吞吐、查询延迟、成本效益等多项指标刷新榜单原有数据纪录 &a…

多进程并发跑程序:pytest-xdist记录

多进程并发跑程序:pytest-xdist记录 pytest -s E:\testXdist\test_dandu.py pytest -s testXdist\test_dandu.py pytest -s :是按用例顺序依次跑用例 pytest -vs -n auto E:\testXdist\test_dandu.py pytest -vs -n auto,auto表示以全部进程…

网络层IP协议(TCP)

IP协议: 在了解IP协议之前,我们市面上看到的"路由器"其实就是工作在网络层。如下图: 那么网络层中的IP协议究竟是如何发送数据包的呢? IP报头: IP协议的报头是比较复杂的,作为程序猿只需要我们重…

前端传入Grule,后端保存到 .grl 文件中

前端传入Grule,后端保存到 .grl 文件中 通过简单的输入框,将Grule的部分拆解成 规则名称 规则描述 规则优先级 规则条件 规则逻辑Grule关键字 when Then 模拟了 if 判断的条件和逻辑部分 类似于 shell 和 ruby 之类的脚本语言,有 then 关键字…

vlan和vlanif

文章目录 1、为什么会有vlan的存在2、vlan(虚拟局域网)1、vlan原理1. 为什么这样划分了2、如何实现不同交换机相同的vlan实现互访呢3、最优化的解决方法,vlan不同交换机4、vlan标签和vlan数据帧 5、vlan实现2、基于vlan的划分方式1、基于接口的vlan划分方式2、基于m…

遗传算法与深度学习实战(27)——进化卷积神经网络

遗传算法与深度学习实战(27)——进化卷积神经网络 0. 前言1. 自定义交叉算子2. 自定义突变操作符3. 进化卷积神经网络小结系列链接 0. 前言 DEAP toolbox 中提供的标准遗传操作符对于自定义的网络架构基因序列来说是不够的。这是因为任何标准的交叉算子…

react-dnd 拖拽事件与输入框的文本选中冲突

问题描述 当我们使用拖拽库的时候,往往会遇到拖拽的一个元素他的子孙元素有输入框类型的dom节点,当拖拽的事件绑定在该元素身上时候,发现子孙的输入框不能进行文本选中了,会按住鼠标去选中文本的时候会触发拖拽 实际的效果&…

经典NLP案例 | 推文评论情绪分析:从数据预处理到模型构建的全面指南

NLP经典案例:推文评论情绪提取 项目背景 “My ridiculous dog is amazing.” [sentiment: positive] 由于所有推文每秒都在传播,很难判断特定推文背后的情绪是否会影响一家公司或一个人的品牌,因为它的病毒式传播(积极&#xff0…

杨振宁大学物理视频中黄色的字,c#写程序去掉(原版改进,三)

上一节,我们分清了主次矛盾,并搞定了主要矛盾(去掉黄色的字),这一节解决次要矛盾(矩形色带)。 我们的想法如图: 1,我们找到稳定黄色的最左边,最右边两点&…

第24周:文献阅读

目录 摘要 Abstract 一、现有问题 二、提出方法 三、创新点 模型结构创新 强化学习与GAN结合 属性特征与通顺性优化 四、方法论 生成对抗网络(GAN) 强化学习(RL) 模型组件 五、实验研究 数据集 数据预处理 评价指…

SQL server学习05-查询数据表中的数据(上)

目录 一,基本格式 1,简单的SQL查询语句 2,关键字TOP 3,关键字DISTINCT 二,模糊查询 1,通配符 三,对结果集排序 1,不含关键字DISTINCT 2,含关键字DISTINCT 3&…

【Azure 架构师学习笔记】- Azure Function (1) --环境搭建和背景介绍

本文属于【Azure 架构师学习笔记】系列。 本文属于【Azure Function 】系列。 前言 随着无服务计算的兴起和大数据环境中的数据集成需求, 需要使用某些轻量级的服务,来实现一些简单操作。因此Azure Function就成了微软云上的一个必不可少的组成部分。 …

KeepAlive与RouterView缓存

参考 vue动态组件<Component>与<KeepAlive> KeepAlive官网介绍 缓存之keep-alive的理解和应用 Vue3Vite KeepAlive页面缓存问题 vue多级菜单(路由)导致缓存(keep-alive)失效 vue3 router-view keeperalive对于同一路径但路径…

Linux:进程(环境变量、程序地址空间)

目录 冯诺依曼体系结构 操作系统 设计操作系统的目的 操作系统的管理 进程 PCB fork 进程状态 进程状态查看 僵尸进程 孤儿进程 进程优先级 查看、修改进程优先级命令 竞争、独立、并行、并发 进程切换 活动队列和运行队列 活动队列 过期队列 active指针…

希迪智驾持续亏损8.2亿:毛利率下滑,冲刺“自动驾驶矿卡第一股”

《港湾商业观察》黄懿 近日,希迪智驾(湖南)股份有限公司(下称“希迪智驾”)向港交所主板递交上市申请,联席保荐人为中金公司、中信建投国际、中国平安资本(香港)。 资料显示&#…

Rust之抽空学习系列(三)—— 编程通用概念(中)

Rust之抽空学习系列(三)—— 编程通用概念(中) 1、变量&可变性 在Rust中,变量默认是不可变的 fn main() {let x 5;println!("x is {}", x); }使用let来声明一个变量,此时变量默认是不可变…

OpenCV中的识别图片颜色并绘制轮廓

一、实验原理 使用OpenCV库在图像中识别和绘制特定颜色(黄色)的轮廓 二、实验代码 import cv2 import numpy as np# 读取图片并调整大小 img cv2.imread(./color_1.png) img cv2.resize(img,(600,600))# 将图片从BGR颜色空间转换到HSV颜色空间 img_h…

【Qt】qt基础

目录 一、使用Qt Creator创建qt项目 二、项目文件解析 三、Qt中创建图形化界面的程序的两种方法 四、对象树 五、Qt中处理打印乱码问题的利器:qDebug() 一、使用Qt Creator创建qt项目 1.选择项目模板 选中第一类模板Application(Qt应用程序,包含普…