惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

云风的 BLOG
云风的 BLOG
IT之家
IT之家
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
V
Visual Studio Blog
博客园 - 司徒正美
美团技术团队
Last Week in AI
Last Week in AI
月光博客
月光博客
博客园 - 叶小钗
MongoDB | Blog
MongoDB | Blog
U
Unit 42
T
Tailwind CSS Blog
GbyAI
GbyAI
T
The Blog of Author Tim Ferriss
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
H
Hackread – Cybersecurity News, Data Breaches, AI and More
酷 壳 – CoolShell
酷 壳 – CoolShell
Google DeepMind News
Google DeepMind News
H
Help Net Security
Hugging Face - Blog
Hugging Face - Blog
爱范儿
爱范儿
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
N
Netflix TechBlog - Medium
B
Blog RSS Feed
大猫的无限游戏
大猫的无限游戏
aimingoo的专栏
aimingoo的专栏
A
About on SuperTechFans
Y
Y Combinator Blog
罗磊的独立博客
D
DataBreaches.Net
有赞技术团队
有赞技术团队
MyScale Blog
MyScale Blog
博客园_首页
博客园 - 三生石上(FineUI控件)
G
Google Developers Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
雷峰网
雷峰网
博客园 - 【当耐特】
Engineering at Meta
Engineering at Meta
博客园 - Franky
M
MIT News - Artificial intelligence
B
Blog
The Cloudflare Blog
Apple Machine Learning Research
Apple Machine Learning Research
I
InfoQ
S
SegmentFault 最新的问题
F
Fortinet All Blogs
阮一峰的网络日志
阮一峰的网络日志
Stack Overflow Blog
Stack Overflow Blog
Microsoft Security Blog
Microsoft Security Blog

人人都是产品经理

为什么你的产品找不到差异化?90%的失败都卡在第一步上(下) – 人人都是产品经理, 3年从30万到1300万用户、获2200万美元融资,这个AI教育产品用“抽卡”破解了获客难题 – 人人都是产品经理, 园区招商系统怎么做才能真正帮到去化?我加了这一个功能,推广链接转发400次阅读过万 – 人人都是产品经理, AI大事件:OpenAI发完网络安全模型又搞药物研发,小鹏汽车要抓”DeepSeek时刻” – 人人都是产品经理, 电商不是卖货,是一场更残酷的产品经理实战 – 人人都是产品经理, 没想到,活动营销又回来了! – 人人都是产品经理, 为何All-in海外KOC:一场关于AI时代窗口期的豪赌 – 人人都是产品经理, 重新理解企业的内部协作 – 人人都是产品经理, 苹果的 AI 战略到底是什么? – 人人都是产品经理, 医疗智能体·第2讲——合规护城河:等保、PIPL与HIPAA的架构实战 – 人人都是产品经理, 向量知识库五步法:从“答非所问”到“精准回复” – 人人都是产品经理, 鸿蒙PC三方库构建总指挥HPKBUILD(sha)库为例 – 人人都是产品经理, 何时该用LLM?AI产品经理的LLM设计指南 – 人人都是产品经理, 医疗信息领域的需求方、决策方、准入方以及关注点(二) – 人人都是产品经理, 即梦涨价:一场被误读的「傲慢」 – 人人都是产品经理, 面试AI PM必答题:Hermes和OpenClaw的区别,如何讲清楚业务价值 – 人人都是产品经理, AI的下一张船票:世界模型——AI产品经理必须理解的技术拐点 – 人人都是产品经理, 小红书做GEO,怎么让AI信你?记住这 3 个重要信息 – 人人都是产品经理, 5 家印度 AI 初创公司,看看印度 AI 再做什么 – 人人都是产品经理, AI项目跨团队协作:产品技术业务如何不打架 – 人人都是产品经理, Agentic Workflow(智能体工作流):让AI从”答案生成器”变成”数字员工” – 人人都是产品经理, lycium_plusplus 项目全景解读:OpenHarmony 三方库构建的“大管家” – 人人都是产品经理, 从爆单救火到前置履约:两套预采策略,把生鲜大促履约效率拉满 – 人人都是产品经理, 什么时候该补货?我用一轮数据做了一个决定 – 人人都是产品经理, 从“机械兜底”到“动态分流”:AI客服重复进线治理的4大底层逻辑 – 人人都是产品经理, 抖音拼效率,红书拼洞察 – 人人都是产品经理, 全民狂欢与退潮——为什么龙虾这波热潮冷却得如此之快? – 人人都是产品经理, Stripe押注!MPP重塑全球支付 – 人人都是产品经理, 小红书GEO:AI引用你的内容,不是因为你对,而是因为你看起来可信 – 人人都是产品经理, 前百度副总裁押注办公Agent,日韩付费爆发,Manus迎来强劲对手 – 人人都是产品经理, 企事业单位数字化的业务供需本质 – 人人都是产品经理, 医疗智能体·第1讲——医疗信息化重构:从“辅助软件”到“自主智能体”的范式转移 – 人人都是产品经理, 粉丝量就是空气!!! – 人人都是产品经理, 用户说“薯片碎了”,机器回“要买吗?”:意图识别的翻车与破局 – 人人都是产品经理, RAG召回准确率从75到90 我做对了这三件事 – 人人都是产品经理, AI大事件:Anthropic改收费、OpenAI发安全版、手术机器人纳入医保、阿里发布”秒悟” – 人人都是产品经理, Chrome 推出 Skills 新功能,Agent 重塑上网方式 – 人人都是产品经理, GitHub前创始人拿了a16z的1700万美元,做Agent时代的Git – 人人都是产品经理 拷贝或克隆其他 Flutter OH 项目到本地后无法运行 – 人人都是产品经理, 优惠券设计:优惠券创建 – 人人都是产品经理, 不用死磕文档!AI 助手 1 小时搞定飞书 CLI 安装 + 配置 + 知识库 – 人人都是产品经理, 用小龙虾做竞品分析报告:从2天到20分钟,我是怎么做到的 – 人人都是产品经理 用小龙虾做市场分析报告:搞懂这3个公式,市场规模不再靠猜 – 人人都是产品经理, 你早就在做 Harness 工程,只是不知道它叫这个名字 – 人人都是产品经理, Think Long就够?你可能想多了! – 人人都是产品经理, 货代SRM实战:供应商准入怎么做,才能让资源池不是通讯录而是可交付网络? – 人人都是产品经理, 如何做好用户调研?详解基本技巧 – 人人都是产品经理, 木鸟、途家、美团对打,平台春天行动开“卷” – 人人都是产品经理, 入职才发现公司不靠谱?小红书从业者求职避坑指南 – 人人都是产品经理, 美国 AI 三巨头联手封堵,中国 AI 突围之路在何方 – 人人都是产品经理, 小红书,放在需求对面的镜子 – 人人都是产品经理, AI 会带来大规模失业吗? – 人人都是产品经理, 从出单到补货前,我第一次犹豫:该不该放大? – 人人都是产品经理, Flutter 三方库鸿蒙化适配:5 种高效检查方式,快速判断是否需要适配 – 人人都是产品经理, 从做产品进阶拿结果:医美机构产品经理转岗科室运营经理 – 人人都是产品经理, 阿里HappyHorse,一场关于“Token经济”的阳谋 – 人人都是产品经理, To B AI:客户留存落地的观察与思考 – 人人都是产品经理, AI产品的“生命线”——数据采集、标注、清洗的产品化设计 – 人人都是产品经理, 谈谈AI Agent(二):当“孩子”能自己“体验世界”时,你该学什么? – 人人都是产品经理, UI/UX设计师的3层能力进阶,前两层让你活下来,第三层…才是真正的分水岭 – 人人都是产品经理, 2分钟 → 30秒,效率提升75%:B端产品经理如何用「规则枷锁」驯服AI幻觉? – 人人都是产品经理, 还没来得及学OpenClaw,来了个更猛的:Hermes Agent – 人人都是产品经理, AI日报:宇树机器人跑出10m/s刷新世界纪录 – 人人都是产品经理, 一文说透基金互金如何用情绪价值引导用户决策做转化 – 人人都是产品经理, 当浏览器开始替你”看”网页:AI 浏览器正在亲手拆掉它脚下的那张网 – 人人都是产品经理, 0代码,一天时间我Vibe Coding了个网站 – 人人都是产品经理, Hermes 和 OpenClaw 之争,Agent 的能力应该“装上去”还是“长出来”? – 人人都是产品经理 视频生成的“桌子”,字节Seedance 2掀完,阿里快乐马掀 – 人人都是产品经理, 从听不懂到完全信任:我的 Codex 深度产品体验 – 人人都是产品经理, 当虚拟偶像有了北京户口,与真人偶像还有什么区别? – 人人都是产品经理, 会说,远远比会做更重要 —— 对 SBTI 爆火现象的五层观察 – 人人都是产品经理, AI产品经理必看:当“搭环境”比“选模型”更重要,你的认知还在2024年吗? – 人人都是产品经理, 2026年AI产品商业化核心逻辑:从功能demo到规模化营收的3个必破卡点 – 人人都是产品经理, 京东围绕供应链,卷起裤腿下场的那些事儿 – 人人都是产品经理, SBTI一夜刷屏:它赢在了“太会说人话” – 人人都是产品经理, 折扣零售的真相:不是便宜,而是价值感! – 人人都是产品经理, 和甲方吵了一架,最后加钱做了——我学到的ToB产品经理生存法则 – 人人都是产品经理, 和几位小红书操盘手聊了8小时,干货全在这 – 人人都是产品经理, 智谱GLM-5.1登场,开源模型首超Opus4.6!!! – 人人都是产品经理 Anthropic收入凭什么反超OpenAI,终于有人把这事说清楚了 – 人人都是产品经理, 史上最有故事感的技术报告——Claude最强模型Mythos 7个极其精彩的细节 – 人人都是产品经理, 模型不是壁垒,Harness 也不是 – 人人都是产品经理, 抖音本地生活业务思考21 – 人人都是产品经理, Superpowers:145k Star的AI编码框架,到底是什么来头? Superpowers:145k Star的AI编码框架,到底是什么来头? – 人人都是产品经理, OpenAI 的路走错了,Anthropic Harness 解法启示:模型需要实践专科生 – 人人都是产品经理, 画原型图的前一步:设计站点地图 – 人人都是产品经理, 给 DeepSeek 的最后一封催更信 – 人人都是产品经理, 手把手教你用 Claude Code 搭建 AI 营销团队:5 个 Agent、12 项技能,独立完成研究、写作、设计全流程 – 人人都是产品经理, 你以为大模型在学语言?不,它在重新发明语言学 – 人人都是产品经理 所谓Skill,不过是AI时代的工业垃圾 – 人人都是产品经理, 聊一聊内容传播的几个方法 – 人人都是产品经理, 当平台开始吃掉生态:从 OpenClaw 被封杀,读懂 Anthropic 的这盘棋 – 人人都是产品经理, 你装了 10 个 AI 插件,Obsidian 还是一个文件夹 – 人人都是产品经理 关于AI智能体架构演进的系统性思考:从单体试水到多体协同的重构 – 人人都是产品经理, 当“人”变成Skill,我们又该何去何从? – 人人都是产品经理 Mythos 事件:前沿 AI 治理的意外实验 – 人人都是产品经理, 货代CRM:信用与风险管理怎么做,才能把坏账风险拦在放货之前? – 人人都是产品经理, 从HR收集自拍照到员工自助录入——我见证了园区人脸识别从”不可用”到”真好用”的全过程 – 人人都是产品经理 千问闯关AI混沌期:阿里画靶,吴嘉张弓,马云射箭? – 人人都是产品经理,
AI届的英雄好汉“训练集、验证集、测试集”各显神通!
果酿 · 2024-02-01 · via 人人都是产品经理

充分利用好训练集、验证集和测试集,有助于我们构建出性能优秀的模型,这篇文章里,作者就对三者做了介绍,并结合猫猫识别模型的模拟案例来展示训练集、验证集和测试集各自的能力,一起来看看作者的解读与分析。

各位看官:

欢迎一起揭秘AI的世界。AI的运行离不开数据,若数据就是AI的“大米”,良米炊而成饭,质地上乘。我们喂养给AI多好的“大米”,AI就会输出多好的“饭”。

原本是打算仅用一篇来说清楚AI数据集,但在持续的梳理和撰写过程中,发现字数越码越多,所以就决定分几篇说完吧。

上一篇《带你识别AI数据集的各种面孔 (AI从业万字干货)》中,我主要介绍了AI数据集是什么,这些数据集的常见格式有哪些,分别有哪些适用场景和局限之处,也给大家整理了一些网上的公开数据集,当我们需要数据来做AI项目时,可供君参考。

本篇,我会继续聊聊AI中的数据集。全文8000字左右,预计阅读时间8分钟,若是碎片时间不够,建议先收藏后看,便于找回。

照例,开篇提供文章结构导图,方便大家在阅读前总揽全局,有大致的画面框架。

Now let’s start,在人工智能和机器学习的世界里,数据训练是不可避免的。机器学习的核心任务就是从数据中学习和构建模型(该过程称之为训练),并且能够在未遇见的数据上进行预测。我们通过数据训练,期待模型能够展现出优秀的预测性能。

项目实践中,我们在构建模型的不同阶段时,通常会将数据集划分成三种:训练集、验证集和测试集。这样划分的目的是希望可以更好地评估模型的性能,同时也能避免数据过拟合和欠拟合的问题。

BTW,关于数据拟合的问题,我写过的一篇《(万字干货)如何训练优化“AI神经网络”模型?》中,有详细介绍,本篇不赘述。

接下来,我们将重点围绕训练集、验证集和测试集来展开,进一步揭晓AI数据集背后的故事。

一、教师角色:训练集(Training Set)

顾名思义,训练集是机器学习中用于训练模型的数据集合。训练集通常包含已标记的样本,即每个样本都有对应的输入特征和相应的目标标签或输出。

在训练模型的过程中,模型通过学习分析训练集中的样本数据来调整其参数和权重,以实现对新样本的准确预测或分类。

简单来说,训练集就像是教师,教学生知识,给学生提供教材,学生通过阅读和理解所教授的内容和教材来学习新的知识和技能。

所需的“知识”需具备一定的广度,我们在选取训练集时,要注意“训练集是否具备代表性”,“数据量大小是否足够”,“数据质量是否符合要求”。

1. 训练集中的样本需要具有代表性

这是指被训练的数据需要涵盖模型在实际应用中可能遇到的各种情况。

如果说,我们要构建一个用于图像分类的训练集,任务是将动物图像分为猫和狗两类。为了保证训练集的代表性,我们需要包含各种情境下的动物图像,比如以下因素:

【物种多样性】:确保训练集中涵盖多种不同种类的猫和狗,而不仅仅是某一特定品种。例如,包括短毛猫和长毛猫,各类狗的品种也要有广泛覆盖。

【背景和环境】:图像中的背景和环境对于模型的泛化至关重要。训练集应该包含不同的背景,例如室内、室外、草地、水域等,以确保模型不仅仅是学到了特定背景下的特征。

【姿势和动作】: 动物在图像中的不同姿势和动作也是代表性的一部分。包括站立、躺下、奔跑等动作,以及正面、侧面等不同的拍摄角度所呈现的图像。

【光照条件】: 不同的光照条件会影响图像的外观,因此训练集应该包含,例如阳光明媚、阴天、夜晚等不同光照条件下的样本。

【年龄和大小】:动物的不同年龄和大小也是重要的代表性样本。包含幼年和成年阶段,以及不同体型大小的猫和狗。

所以,为了确保模型在处理真实世界图像时能够实现更加精准的分类,我们最好提供一个涵盖各种情景的样本数据集。

因此,在构建训练集时,我们应当注重数据的代表性,帮助模型学到更全面的特征,提高模型在实际应用中的性能和可靠性,使其更好地适应和处理多样化的真实场景。

2. 训练集中的样本数量需足够大

除了训练集的代表性以外,样本数量也是至关重要的。在实际应用中,我们通常会发现,随着训练集样本数量的增加,模型的性能也会得到相应的提高。

我们发现,当训练集样本数量较小时,模型更容易受到随机变动的影响,导致模型对训练数据过于敏感,难以捕捉真实的数据分布。相反,大规模训练集则有助于降低随机性,使模型更稳健。

假设我们想让AI模型完成一个分类任务,比如训练一个神经网络来识别手写数字。

如果训练集只包含几十个图像,而且这些图像中只有很少的数字样本,那模型可能只能学到非常有限的特征,无法泛化到新的手写数字。也就是说,因为数据量过少,模型将无法成功完成手写数字的识别任务。

相反,如果我们有数万张包含各种手写数字的图像,模型将有更多机会学到数字的共同特征,从而提高其在未见过的数据上的表现。这时候,给它一个新的手写数字图片,它就可以成功识别了。

3. 训练集中的数据质量是关键

高质量的训练数据能帮助模型更准确地把握数据的真实分布,从而提升模型在处理未知数据时的表现。

训练集中的质量关注点会落在标签的准确性,图像质量,数据异常值或噪声,数据采样偏差,数据来源一致性等方面。

如果标签有误,模型将学到错误的关系,影响其泛化能力。

假设需要AI模型完成一个医学图像识别的任务,如果图像标签错误地标注了病变类型,模型可能会对患者的健康状况做出错误的预测。

如果训练集包含错误的数据,模型可能会学到不准确的模式。

例如,在图像分类任务中,如果识别猫狗的图像中,出现了其他动物的图片,模型就会因训练不到位,产生不准确的分类结果。

不只是错误数据,低质量的数据也不行。

如果识别猫狗的图像训练集中,大都是模糊的,分辨率低的,光线暗的,边缘不清晰的图片。那么最后模型的预测性能也不会好到哪里去。

还有哦,数据集中的采样偏差也可能导致模型在某些类别上表现较差。

如果训练集中某个类别的样本数量远远超过其他类别,模型可能会偏向于学习这个类别,而对其他类别的分类效果较差。

在金融欺诈检测中,如果正常交易的数量远远超过欺诈交易,模型可能更难捕捉欺诈交易的模式。

最后一点,如果训练集包含来自不同来源的数据,数据之间的不一致性可能导致模型性能下降。

例如,在自动驾驶领域,如果训练数据来自于不同城市或天气条件下的驾驶场景,模型可能在特定城市场景下的泛化能力较差。

4. 训练集模拟案例-猫猫识别模型

说了这么多,我们不妨来一个模拟案例-猫猫识别模型

此刻,我们脑暴一下,如果我们要训练一个识别猫的图像分类模型,我们该如何准备训练集数据呢?

首先,图片的数量不能少。我们至少要准备上万张图片,确保模型可以更全面地学习到猫的特征差异。

同时,我们在收集图片时,还需要注重图片的代表性。也就是说训练集应该包含各种各样的猫的图片。

这意味着我们不仅需要收集不同品种、年龄和颜色的猫的图片,还要收集正面、侧面、背面以及俯视和仰视角度的猫的图片。

此外,我们还需要收集在不同光照条件下拍摄的猫的图片,如自然光、室内灯光和夜晚等。同时,还应该收集各种背景环境的猫的图片,如草地、沙滩、街道等。

有了一定数量和代表性的图片后,在质量方面也不能忽视。因此,在收集图片时,我们需要确保训练集中的每一张图片都是高清的、无模糊或失真的,并且尽量避免使用过度处理或有滤镜效果的图片。

在图片中,猫的毛发、眼睛、耳朵等特征都是模型学习的重要依据,而高清图片能够为模型提供更丰富的细节信息。

如果图片质量较差,这些特征可能会被模糊或者丢失,导致模型无法准确识别。因此,在收集训练数据时,我们应尽量选择分辨率较高的图片,以便模型能够捕捉到更多的细节。

还有一点,我们可以在收集训练数据时,要尽量拿到无噪声的图片。因为无噪声的图片有助于提高模型的学习效率。

在实际场景中,拍摄环境可能受到光线、设备等因素的影响,导致图片存在一定的噪声。这些噪声会对模型的学习产生干扰,降低训练效果。

为了解决这个问题,要尽量选择光线充足、设备稳定的环境进行拍摄,或者通过后期处理技术去除图片中的噪声。

此外,我们还需要关注图片的色彩平衡和对比度。色彩平衡是指图片中各种颜色的分布是否均匀,对比度是指图片中明暗区域的对比程度。

一个具有良好色彩平衡和对比度的图片,能够更准确地反映猫的颜色和纹理信息,有助于模型进行准确的识别。因此,在进行图片收集时,我们应尽量选择色彩平衡且对比度适中的图片,以提高模型的学习效果。

还有非常关键的一环,当我们准备好了合适的图库后,我们需要关注每张图像是否添加了正确的标签。正确的标签会告诉模型,图像中是否真的包含猫。这是模型能正确训练的前提。

最后,我们将图片库数据进行划分,通常会划分出60%~80%左右的数量比例用于训练集中。剩下的划分到验证集和测试集中。

是不是觉得,机器识别图片和我们人类识别图片,有很大的差异呢?连准备训练数据都有那么多注意事项,这和我们随便拿一张有猫的图片教小孩识别图中的猫,还是很不一样的。

二、辅导员角色:验证集(Validation Set)

在机器学习中,训练集是用来训练模型的数据,而验证集通常是从原始数据集中划分出来的一个子集,用于在训练过程中检查模型的性能,是在过拟合或欠拟合的情况下对模型进行评估和调整的数据。

验证集的主要目的是为了找到一个最佳的模型及参数,使得模型在未知数据上的表现最好。

之前提到,训练集一般会占用60%或80%的比例,对应的验证集则一般会占用20%或10%的比例。划分比例的依据可以根据实际需求和数据集的大小来确定。

通常情况下,我们可以使用随机抽样的方法从原始数据集中划分验证集。

验证集在整个模型训练的过程中起着关键的作用,我们从几个方面出发,聊聊其重要性。

1. 调整模型的超参数

在机器学习模型中,有许多超参数需要我们参与设置,例如学习率、隐藏层神经元数量等。这些超参数的选择对模型的性能有很大影响。

为了找到最优的超参数组合,我们可以将训练过程分为多个阶段,每个阶段使用不同的超参数组合进行训练。然后,我们可以使用验证集来评估每个阶段模型的性能,从而选择出最优的超参数组合。

BTW,补充一个知识点,关于模型参数和模型超参数,是怎么回事。

在机器学习中,模型参数是模型内部的配置变量,它们是在建模过程中通过数据自动学习得到的。例如,在线性回归或逻辑回归模型中,这些参数对应于方程中的系数;在支持向量机中,它们是支持向量;在神经网络中,则是连接不同层之间的权重。这些参数的学习是模型训练的核心,旨在捕捉数据中的模式和关系。

相对地,模型超参数是模型外部的配置变量,它们不是从数据中学习得到的,而是由研究人员或数据科学家根据先验知识和经验预先设定的。超参数包括学习率、迭代次数、网络层数、隐藏单元的数量等,它们对模型的性能和训练过程有显著影响。正确的超参数选择对于获得高效的模型至关重要,通常需要通过实验和调优来确定最佳值。

2. 早停策略

在训练过程中,如果我们发现模型在验证集上的性能不再提高时,可以提前停止训练。

具体来说,我们可以设置一个小的阈值,当模型在连续多个迭代周期内,验证集上的误差没有降低到这个阈值以下时,我们就认为模型已经收敛,可以停止训练。

这样既可以节省训练时间,也可以降低不必要的成本。

3. 防止过拟合

过拟合是机器学习中的一个常见问题,指的是模型在训练集上表现很好,但在测试集上表现较差的现象。这是因为模型过于复杂,学习到了训练集中的一些噪声和异常数据。

为了解决这个问题,我们可以使用验证集来监控模型在训练过程中的性能。

如果发现模型在训练集上的表现越来越好,但在验证集上的表现越来越差,那么我们可以考虑减少模型的复杂度或者增加正则化项,以防止过拟合的发生。

4. 对比不同模型结构

我们可以通过对比不同模型结构在验证集上的性能,选择最适合任务的模型结构。

这有助于避免选择过于简单或过于复杂的模型,从而提高模型的实际效果。

比如,比较卷积神经网络(CNN) 和循环神经网络(RNN) 在情感分析任务上的性能。通过观察它们的表现,选择更适合处理文本数据的模型结构。

5. 验证集模拟案例-猫猫识别模型

了解了验证集后,我们趁热打铁,继续猫猫识别模型的模拟案例。

为了有效完成猫的图像识别任务,我们假设已经选择好了一个合适的图像分类模型:卷积神经网络(CNN)。

在训练CNN模型时,我们需要设置一些超参数,如学习率、批次大小、迭代次数等。

一般来说,我们可以先设置一个较大的学习率,然后逐渐减小,以加快收敛速度。

批次大小和迭代次数的选择则需要根据具体任务和计算资源来确定。

在模型的训练过程中,我们需要周期性地使用验证集来评估模型在未见过的数据上的表现。这有助于检测模型是否过拟合训练,泛化能力如何等等。

评估性能时,我们会用到一些数据指标。最常用的指标是准确率(accuracy),即正确分类的样本数占总样本数的比例。

此外,我们还可以使用其他指标,如精确率(precision)、召回率(recall)和F1分数(F1-score)等,以便更全面地了解模型的性能。这些指标可以反映CNN模型对新的猫图片数据的分类能力。

BTW,关于这些指标的详细解释,我在本篇《产品经理的独门技能—AI监督学习(6000字干货)》中有进一步的介绍,感兴趣的朋友也可以去看看。

通过验证集的指标反馈,我们会观测到一些问题。

如果模型在某一类别上的准确率较低,可能说明该类别的训练样本较少或者特征不够明显。

针对这种情况,我们可以尝试增加该类别的训练样本或者调整模型结构。

此外,我们还需要注意数据的过拟合现象。

如果出现过拟合问题,我们可以采用增加数据量、简化模型、正则化技术等方法来解决。

最后,我们还需要关注验证集的损失函数(loss function)。损失函数用于衡量模型预测结果与真实结果之间的差距。

损失函数的值越小,越意味着模型的预测结果与真实结果更接近。《万字干货)如何训练优化“AI神经网络”模型?》中有对损失函数的展开介绍。

总体而言,验证集的使用是一个迭代的调优过程,它会辅助我们观测和调整CNN模型,以确保模型能够有效学习和区分猫的特征,提高CNN模型在实际应用中识别猫图像的准确性和可靠性。

至此,我们可以说,算是完成了CNN模型在验证集上的训练调优。

温馨提示,在使用验证集时,我们还需要注意一些问题。

首先,我们不能在验证集上进行多次迭代,否则验证集就变成了一个“小训练集”。就可能会导致信息泄露,使得模型过分适应验证集的数据分布,从而失去了泛化能力。

还需注意的是,为了避免信息泄露。验证集中的数据应该是模型在训练过程中没有见过的,以真实地模拟模型在实际应用中的性能。

三、考官角色:测试集(Test Set)

现在,我们已经知道了验证集主要用于在训练过程中对模型进行评估和调整。

那它能保证模型在未来的未知数据上具有良好的性能吗?

为了找到这个答案,我们在验证集训练完成后,还需要进行测试,以进一步评估模型的泛化能力。

这时候,测试集就要闪亮登场了。

它扮演着模型性能的“考官”角色,它的考核结果将帮助我们衡量模型是否真正学会了我们需要它学习的知识。

测试集也是从原始数据集中分离出来的一部分数据,但它不参与模型的训练过程。它是一个独立的数据集,其中的数据样例是模型在实际应用中首次遇到的数据,之前素未谋面。

测试集在整个模型训练的过程中,无论是评估模型泛化能力,还是发现潜在问题,又或者是帮助模型优化和调参等方面,都起到了重要的作用。

下面我们来展开讨论一下测试集在整个数据集中起到了什么作用?

1. 评估模型的泛化能力

测试集的最大价值之一是用于评估模型的泛化能力,以衡量模型在未知数据上的表现。

在AI模型训练过程中,我们往往会在训练集上看到很好的表现。

然而,这并不意味着模型已经真正掌握了知识,能够在新遇到的数据上同样表现优秀。为了验证这一点,我们需要借助测试集来进行评估。

通过测试集,我们可以得到模型在真实世界中的泛化能力,而不仅仅是在训练数据上的记忆能力。

我们的目标不仅仅是让模型在训练中取得高分,而是要确保它能够灵活应对新的挑战。

2. 发现潜在问题

测试集会帮助我们发现模型的潜在问题,比如,发现模型不稳定。

正常来说,在不同时间或不同环境下,模型在测试集上的性能应该保持相对一致。

又或者,发现数据质量不一致性的问题,测试集中出现了与训练集不同的数据分布或标签分布。

测试集还可以用于评估模型对于异常情况的处理能力。

在真实场景中,模型可能会面对不同于训练数据的情形,如噪声、异常值或极端情况。

测试集的设计可以包含这些异常情况,帮助评估模型的鲁棒性和处理能力。

一个鲁棒性强的模型能够在各种条件下都能稳定地工作,而不会因为某些小的变化或者噪声而导致性能大幅下降。

例如,一个用于自动驾驶汽车的图像识别模型,即使在雨天、雾天或者光照不足的情况下,也能够准确地识别出物体,我们就可以说这个模型的鲁棒性很强。

因此,通过测试集,我们能发现模型的潜在问题和缺陷,也有助于我们及时对模型进行调整和改进。

3. 模型调优

测试集的结果为我们提供了宝贵的反馈,它们是优化模型和调整参数的客观依据。

通过分析测试集的表现,我们可以确定最佳的模型结构和参数设置。

例如,我们可以根据测试集的准确率来调整神经网络的层数、每层的神经元数量以及激活函数等关键参数。

如果测试结果显示,使用卷积神经网络(CNN)和特定参数配置时,模型的表现最为出色,那么我们很可能会选择这个配置作为我们的最终模型。

这样的选择会更靠谱和可信。因为它是基于测试集上实际的数据反馈,而不是仅仅依赖于训练集上的性能来确定模型是否具有良好的泛化能力。

4. 防止过拟合

测试集可以帮助我们检测模型是否过拟合。当模型在训练集和验证集上表现良好,但在测试集上表现不佳时,这可能是一个警示信号。

打个比方,假设我们有一个信贷审批模型,它在训练和验证阶段都展现出了很高的准确率,但在测试阶段准确率却明显降低。

这种情况通常意味着模型对训练数据过于敏感,没有很好地泛化到新数据上。

我们需要采取一些措施,如简化模型结构或引入正则化方法来减少过拟合的风险。

最后,在整个AI项目中,我们也要注意做好数据隔离,保证数据独立性,避免在处理过程中将测试集的信息泄露到训练集中。

我们需要确保AI遇见的测试集中的数据都是新面孔。

5. 测试集模拟案例-猫猫识别模型

我们继续猫猫识别模型的模拟案例,说说测试集的使用。

照例,要先做好数据准备和数据划分。通常,测试集占原始数据集的10%至20%。

数据划分时要确保数据分布的一致性,以便在不同阶段的模型训练和评估中能够准确地反映出模型的性能。

然后,我们将经历过训练集和验证集考验后的模型,引入测试集进行训练并观测,通过数据指标来进行评估。

我们可以重点关注准确率和损失函数这两个值,准确率表示模型在识别猫图像时的正确率,损失函数表示模型在预测猫图像时的误差。

根据测试集反馈的指标结果,我们可以知晓模型是否能够准确地识别图像中的猫。

比如当出现新的猫的姿势、颜色和背景时,当图片的光照和清晰度水准不一时,模型是否都能认出图中有猫。

当模型经过测试集的检验后,我们最后要做的,就是完成模型部署。

我们将表现最好的猫猫图像识别模型部署到实际应用中。例如,我们可以将这个模型应用于智能监控系统,自动识别和追踪摄像头范围内的猫。

四、总结与预告

以上,就是关于训练集,验证集,测试集的独家介绍了。我将三者比喻成了教师、辅导员和考官,通过猫猫识别模型的模拟案例来展示了它们各自的能力。

训练集为模型提供了学习的基础,使得模型能够从数据中学习到规律和特征。

正如,古人云:“授人以鱼不如授人以渔”,训练集就是那个“渔”,它为模型提供了学习的方法和途径。

验证集的作用在于调整模型的超参数,防止过拟合,采用早停策略,以及对比不同模型结构。

通过验证集,我们能够在训练过程中及时发现模型的问题,并采取相应的措施进行调整。

恰似,“他山之石,可以攻玉”,验证集就是那个“他山之石”,它帮助我们发现问题,改进模型。

测试集是对模型最终性能的评估,它能够客观地反映模型的泛化能力。

可谓,“路遥知马力,日久见人心”,测试集就是那个“路遥”探测器,它能够检验模型的真正实力。

“工欲善其事,必先利其器”,训练集、验证集和测试集就是我们构建和评估模型的“利器”。

充分利用好它们,我们可以构建出性能优秀、泛化能力强的模型,在人工智能的发展中,抓住机遇,收获成功。

预告一下,AI数据集的内容我还没说完。

下一篇章我会唠唠“训练集,验证集,测试集”的区别和联系,也会说一些目前国内数据集的现状、挑战和应对之策。

作者:果酿,公众号:果酿产品说

本文由 @果酿 原创发布于人人都是产品经理,未经作者许可,禁止转载。

题图来自 Unsplash,基于CC0协议。

该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务。