机器学习(二十一):错误分析、创造数据和迁移学习

一、错误分析

假设交叉验证集一共有500个数据点,模型拟合结果中,有100个数据点有误。

错误分析就是,手动地分析这100个错误数据(或随机选择一些错误数据),根据它们的共同属性、共同特征分类,然后根据特征进一步优化模型。

二、创造数据

首先,获取大量数据的成本很高,错误分析可以告诉我们,着重获取某一方面/特征的数据,而不是获取所有数据,可以减少成本。

当需要获取更多数据时,常用的添加数据的方法有数据增强和数据合成:

2.1 数据增强

数据增强:对原数据进行扭曲或改变,创造更多格外数据,常用于图像和语言类型的任务

例如,图像识别:通过把已有的图像进行旋转、放大、缩小、调整对比度、镜像、网格扭曲图像,创造更多的额外数据

语音识别:增加噪音背景,降低音质(像是在坏的录音机录制一样的声音)

2.2 数据合成

数据合成:创造合成,主要应用于计算机视觉任务。

例如:识别图像中文字的任务:可以在文本编辑器随机敲入一些文本,把不同字体、对比度、颜色的字体进行截图,创造合成数据。

三、迁移学习

对于没有大量数据的学习任务,可以使用迁移学习,使用来自不同任务的数据来帮助训练模型。

第一步:监督预训练

在拥有大型数据集的任务中,预先训练神经网络。例如此任务从大量图片中训练识别1000种分类:猫、狗、车、人等等,训练出隐藏层的参数。

第二步:微调

在数据量小的任务中,使用预先训练好的神经网络,隐藏层参数使用预先训练出的参数,然后使用本任务的数据进行参数微调。例如本任务需要从少量图片中训练识别数字0-9,可以使用上一步训练好的参数w1-w4,b1-b4,然后使用本任务的输入图片微调参数。

如果数据量很小,就只需要微调输出层参数;如果数据量大,可以微调所有参数。

微调的前提是使用和预训练相同类型的输入。

常用的操作:

  1. 下载具有相同类型的、在大型数据集上预先训练过的神经网络
  2. 使用自己的数据进行微调

四、机器学习项目的完整周期

机器学习项目的完整周期:

部署到生产环境以后,需要继续监控系统和维护系统,如果有需要,需要获取更多数据,重新训练模型。

学习来源:吴恩达机器学习,13.1-13.6节

相关推荐
沐飞工具箱7 分钟前
游戏、漫画、视频里的外语怎么实时翻译?从 OCR + AI 原理聊聊 VoriTrans 屏幕翻译
人工智能·游戏·实时互动·音视频·自动翻译
深蓝AI2 小时前
Postman 静默改装你的编码 Agent:一份 SEVERE issue 里的六条证据链
人工智能·程序员
QY_Research_6 小时前
2026房地产NFT平台创业机遇与落地指南分析报告
大数据·人工智能·物联网·机器人·制造
机器人零零壹7 小时前
技术白皮书:iRobotCAM如何解决机器人激光切割应用中的核心难点,从CAD离线编程到双目视觉定位与轨迹自适应提升复杂空间曲线切割的精度、效率与柔性化水平
人工智能·算法
电子元件小说家8 小时前
2026年四季度电感市场观察:AI算力与汽车电子驱动下的选型与验证建议智能硬件
人工智能·汽车
网易CodeWave-小码哥8 小时前
支持多模块 Java 微服务导入|CodeWave SDD V4.5.10 上线
人工智能
AI你一生一世8 小时前
不止于时序存储:DolphinDB 如何成为 AI 时代的工业智能底座
java·人工智能·struts·时序数据库·工业智能·dolphindb·ai基础设施
belldeep8 小时前
python:genesis-world, Genesis-Embodied-AI
人工智能·python·ai·genesis
怕浪猫8 小时前
小程序成长计划上新:10 亿 Token 现在能调 DeepSeek-v4.1-flash了
人工智能·aigc·ai编程
ss2739 小时前
为什么PostgreSQL适合AI场景?
数据库·人工智能·postgresql