李宏毅机器学习课程学习笔记04 | 浅谈机器学习-宝可梦、数码宝贝分类器

news2025/4/6 2:54:05

文章目录

    • 案例:宝可梦、数码宝贝分类器
      • 第一步:需要定义一个含有未知数的function
      • 第二步:loss of a function
      • 如何Sample Training Examples => 如何抽样可以得到一个较好的结果
        • 如何权衡模型的复杂程度 Tradeoff of Model Complexity

todo
这里主要讲了如果挑选训练数据集,后续的内容在,等之后看到这里再补充笔记

案例:宝可梦、数码宝贝分类器

案例:需要找一个函数,输入一个动物,输出类别宝可梦还是数码宝贝

第一步:需要定义一个含有未知数的function

先对资料做一些观察,想象一下function应该长什么样。

观察发现①数码宝贝的线条比较复杂②宝可梦的线条比较简单 => 根据线条风格区分

使用一些工具包做Edge detection边缘检测后,将图片隐射成黑白,白色的为边缘,输出白色像素点的个数。白色像素点的个数超过某个阈值,说明线条复杂。

这个阈值h是一个未知参数,我们先假设函数只有这一个未知参数。

第二步:loss of a function

首先需要数据集D,loss根据数据集D算出

1.有数据集 D = { ( x 1 , y ^ 1 ) , . . . . , ( x n , y ^ n ) } D=\{(x^1,\hat{y}^1),....,(x^n,\hat{y}^n)\} D={(x1,y^1),....,(xn,y^n)},n表示第几个资料

x x x:输入宝可梦或者数码宝贝的图片

y ^ \hat y y^: 该图是宝可梦还是数码宝贝

2.先随机给个阈值h,然后根据资料D计算参数h的loss

数据集的损失L(h,D):输入阈值h和数据集D,输出错误率

每一笔资料的loss l ( h , x n , y ^ n ) ) l(h,x^n,\hat{y}^n)) l(h,xn,y^n)):h是f的参数,输入xn,输出yn,比较model值与真实值是否相等,不相等就输出0,相等就输出1

Error rate 很直观。也可以选择使用cross-entropy

如何Sample Training Examples => 如何抽样可以得到一个较好的结果

理想情况:假设我们可以收集所有的宝可梦和数码宝贝,其集合为 D a l l D_{all} Dall。我们找到了最好的阈值 h a l l h^{all} hall, h a l l = a r g min ⁡ h L ( h , D a l l ) h^{all} = arg\min_hL(h,D_{all}) hall=argminhL(h,Dall)

这里的损失函数不可以微分,所以没办法用梯度下降方法。但是h的个数其实是有限的,可以通过穷举的方法找出使损失函数值最小的阈值h。

事实情况:我们只能收集到 D a l l D_{all} Dall中的部分案例 D t r a i n D_{train} Dtrain(从all中随机抽样出来的案例,案例符合独立同分布), D t r a i n = { ( x 1 , y ^ 1 ) , . . . . , ( x n , y ^ n ) } D_{train}=\{(x^1,\hat{y}^1),....,(x^n,\hat{y}^n)\} Dtrain={(x1,y^1),....,(xn,y^n)}。可以找到 h t r a i n = a r g min ⁡ h L ( h , D t r a i n ) h^{train} = arg\min_hL(h,D_{train}) htrain=argminhL(h,Dtrain)

希望现实情况的 h t r a i n h^{train} htrain在所有数据集中的表现和 h a l l h^{all} hall在所有数据集中的表现越接近越好。

不同的 D t r a i n D_{train} Dtrain训练出来出来的 h t r a i n h^{train} htrain不同,这里 h t r a i n h^{train} htrain在所有数据集中的表现很依赖训练h时Sample到的数据集。

问题:我们希望 L ( h t r a i n , D a l l ) − L ( h a l l , D a l l ) ≤ δ L(h^{train},D_{all}) - L(h^{all},D_{all}) \leq \delta L(htrain,Dall)L(hall,Dall)δ,什么样的 D t r a i n D_{train} Dtrain训练出来的 h t r a i n h^{train} htrain可以满足这个期望?

h a l l h^{all} hall是从 D a l l D_{all} Dall中找出来让 L ( h a l l , D a l l ) L(h^{all},D_{all}) L(hall,Dall)最小的值,所以 L ( h t r a i n , D a l l ) L(h^{train},D_{all}) L(htrain,Dall)是大于等于 L ( h a l l , D a l l ) L(h^{all},D_{all}) L(hall,Dall)

不过 L ( h t r a i n , D t r a i n ) L(h^{train},D_{train}) L(htrain,Dtrain)是有可能小于 L ( h a l l , D a l l ) L(h^{all},D_{all}) L(hall,Dall)

Smaple出来的资料 D t r a i n D_{train} Dtrain,穷举所有可能的h(从1到10000),任意h满足 ∣ L ( h , D t r a i n ) − L ( h , D a l l ) ∣ ≤ δ 2 |L(h,D_{train}) - L(h,D_{all})| \leq \frac{\delta}{2} L(h,Dtrain)L(h,Dall)2δ,理想和显示就会很接近。 => D t r a i n D_{train} Dtrain D a l l D_{all} Dall分布很像。

问题:有多大的可能性Sample出来一个bad D t r a i n D_{train} Dtrain

  • 以下的讨论与模型无关
  • 以下的讨论对资料本来的分布无假设
  • 以下的讨论可以使用任何loss function

每一个坏的资料,背后都存在一个h使得 ∣ L ( h , D t r a i n ) − L ( h , D a l l ) ∣ > ϵ |L(h,D_{train}) - L(h,D_{all})| \gt \epsilon L(h,Dtrain)L(h,Dall)>ϵ => P ( D t r a i n   i s   b a d ) = ∪ h ∈ H P ( D t r a i n   i s   b a d   d u e   t o   h ≤ ∑ h ∈ H P ( D t r a i n   i s   b a d   d u e   t o   h ) P(D_{train} \ is \ bad) = \cup_{h \in \Eta} P(D_{train} \ is \ bad \ due \ to \ h\leq \sum_{h\in \Eta} P(D_{train} \ is \ bad \ due \ to \ h) P(Dtrain is bad)=hHP(Dtrain is bad due to hhHP(Dtrain is bad due to h)重叠的地方会多次被计算

由最后的式子可知, ∣ H ∣ |H| H是候选项h的数量,N是所选数据集 D t r a i n D_{train} Dtrain里资料的个数

  1. 增加训练样本数量,N越大 D t r a i n D_{train} Dtrain越接近 D a l l D_{all} Dall P ( D t r a i n   i s   b a d ) P(D_{train} \ is \ bad) P(Dtrain is bad)的概率越小。
  2. 较少模型复杂性,|H|候选项的数目越小,较少模型的复杂程度, P ( D t r a i n   i s   b a d ) P(D_{train} \ is \ bad) P(Dtrain is bad)的概率越小。

其实这些理论只是用来试图解释原理,但并没有人用在实际数据集中真正计算,因为计算的结果往往会大于1

最小样本量应该满足以下式子

问题:本案例中h的取值是离散的,所以 ∣ H ∣ |H| H是个确定值。当h取值是连续的, ∣ H ∣ |H| H是一个无穷 ,那 P ( D t r a i n   i s   b a d ) P(D_{train} \ is \ bad) P(Dtrain is bad)永远小于无穷大,那式子还有什么意思?

回答

  1. 在计算机中没有真正连续的东西,用计算机中的bit描述数值时,精度终究是有限的(所以就不是无穷的)。
  2. VC-dimension另外一种计算参数是连续时模型的复杂程度
如何权衡模型的复杂程度 Tradeoff of Model Complexity

理论上,理想与现实接近的方法

  1. 增加训练样本数量,N越大 D t r a i n D_{train} Dtrain越接近 D a l l D_{all} Dall P ( D t r a i n   i s   b a d ) P(D_{train} \ is \ bad) P(Dtrain is bad)的概率越小。
  2. 较少模型复杂性,|H|候选项的数目越小,较少模型的复杂程度, P ( D t r a i n   i s   b a d ) P(D_{train} \ is \ bad) P(Dtrain is bad)的概率越小。

问题:|H|太小会导致什么问题?模型复杂程度太小会导致什么问题?

|H|太小,能选择的h数量太少,可能找不到使 L ( h , D a l l ) L(h,D_{all}) L(h,Dall)最小的h。(大海捞针,针不在大海)

收集数据集中案例的个数N通常不是我们能控制的,可能想采用小的|H|来让理想和现实更接近。

=> 小的|H|会导致可选择的参数h数量变少,导致最优的 h a l l h^{all} hall在可选范围之外,也就是说得到一个较大的 L ( h a l l , D a l l ) L(h^{all},D_{all}) L(hall,Dall)

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

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

相关文章

Redis详解(实战 + 面试)

目录 Redis 是单线程的!为什么 Redis-Key(操作redis的key命令) String 扩展字符串操作命令 数字增长命令 字符串范围range命令 设置过期时间命令 批量设置值 string设置对象,但最好使用hash来存储对象 组合命令getset,先get然后在set Hash hash命令: h…

ISP CIE-XYZ色彩空间

1. 颜色匹配实验 1931年,CIE综合了前人实验数据,统一采用700nm(红)、546.1nm(绿)、435.8nm(蓝)​作为标准三原色波长,绘制了色彩匹配函数,如下图。选定这些波…

【强化学习笔记1】从强化学习的基本概念到近端策略优化(PPO)

好久没有更新了。最近想学习一下强化学习,本系列是李宏毅老师强化学习的课程笔记。 1. Policy-based Model 1.1 Actor 在policy-based model中,主要的目的就是训练一个actor。 对于一个episode(例如,玩一局游戏)&…

STM32中的ADC

目录 一:什么是ADC 二:ADC的用途 三:STM32F103ZET6的ADC 3.1ADC对应的引脚 3.2ADC时钟 3.3ADC的工作模式 ​编辑3.4ADC校准 3.5ADC转换结构和实际电压的换算 四:ADC配置步骤 五:两个重要的函数 一&#xff1a…

开启AI短剧新纪元!SkyReels-V1/A1双剑合璧!昆仑万维开源首个面向AI短剧的视频生成模型

论文链接:https://arxiv.org/abs/2502.10841 项目链接:https://skyworkai.github.io/skyreels-a1.github.io/ Demo链接:https://www.skyreels.ai/ 开源地址:https://github.com/SkyworkAI/SkyReels-A1 https://github.com/Skywork…

【uniapp】在UniApp中实现持久化存储:安卓--生成写入数据为jsontxt

在移动应用开发中,数据存储是一个至关重要的环节。对于使用UniApp开发的Android应用来说,缓存(Cache)是一种常见的数据存储方式,它能够提高应用的性能和用户体验。然而,缓存数据在用户清除缓存或清除应用数…

使用IDEA如何隐藏文件或文件夹

选择file -> settings 选择Editor -> File Types ->Ignored Files and Folders (忽略文件和目录) 点击号就可以指定想要隐藏的文件或文件夹

git从零学起

从事了多年java开发,一直在用svn进行版本控制,如今更换了公司,使用的是git进行版本控制,所以打算记录一下git学习的点滴,和大家一起分享。 百度百科: Git(读音为/gɪt/)是一个开源…

汽车低频发射天线介绍

汽车低频PKE天线是基于RFID技术的深度研究及产品开发应用的一种天线,在汽车的智能系统中发挥着重要作用,以下是关于它的详细介绍: 移动管家PKE低频天线结构与原理 结构:产品一般由一个高Q值磁棒天线和一个高压电容组成&#xff…

【Java分布式】Nacos注册中心

Nacos注册中心 SpringCloudAlibaba 也推出了一个名为 Nacos 的注册中心,相比 Eureka 功能更加丰富,在国内受欢迎程度较高。 官网:https://nacos.io/zh-cn/ 集群 Nacos就将同一机房内的实例划分为一个集群,一个服务可以包含多个集…

5G学习笔记之BWP

我们只会经历一种人生,我们选择的人生。 参考:《5G NR标准》、《5G无线系统指南:如微见著,赋能数字化时代》 目录 1. 概述2. BWP频域位置3. 初始与专用BWP4. 默认BWP5. 切换BWP 1. 概述 在LTE的设计中,默认所有终端均能处理最大2…

(十一)基于vue3+mapbox-GL实现模拟高德实时导航轨迹播放

要在 Vue 3 项目中结合 Mapbox GL 实现类似高德地图的实时导航轨迹功能,您可以按照以下步骤进行: 安装依赖: 首先,安装 mapbox-gl 和 @turf/turf 这两个必要的库: npm install mapbox-gl @turf/turf引入 Mapbox GL: 在组件中引入 mapbox-gl 并初始化地图实例: <templ…

【Transformer模型学习】第三篇:位置编码

文章目录 0. 前言1. 为什么需要位置编码&#xff1f;2. 如何进行位置编码&#xff1f;3. 正弦和余弦位置编码4. 举个例子4.1 参数设置4.2 计算分母项4.3 计算位置编码4.4 位置编码矩阵 5. 相对位置信息6. 改进的位置编码方式——RoPE6.1 RoPE的核心思想6.2 RoPE的优势 7. 总结 …

(十 六)趣学设计模式 之 责任链模式!

目录 一、 啥是责任链模式&#xff1f;二、 为什么要用责任链模式&#xff1f;三、 责任链模式的实现方式四、 责任链模式的优缺点五、 责任链模式的应用场景六、 总结 &#x1f31f;我的其他文章也讲解的比较有趣&#x1f601;&#xff0c;如果喜欢博主的讲解方式&#xff0c;…

20250225-代码笔记03-class CVRPModel AND other class

文章目录 前言一、class CVRPModel(nn.Module):__init__(self, **model_params)函数功能函数代码 二、class CVRPModel(nn.Module):pre_forward(self, reset_state)函数功能函数代码 三、class CVRPModel(nn.Module):forward(self, state)函数功能函数代码 四、def _get_encodi…

面试常问的压力测试问题

性能测试作为软件开发中的关键环节&#xff0c;确保系统在高负载下仍能高效运行。压力测试作为性能测试的重要类型&#xff0c;旨在通过施加超出正常负载的压力&#xff0c;观察系统在极端条件下的表现。面试中&#xff0c;相关问题常被问及&#xff0c;包括定义、重要性、与负…

使用Java构建高效的Web服务架构

使用Java构建高效的Web服务架构 随着互联网技术的飞速发展&#xff0c;Web服务在现代应用中扮演着至关重要的角色。尤其是在企业级应用中&#xff0c;如何构建一个高效、可扩展且易维护的Web服务架构&#xff0c;成为了开发者和架构师面临的一项重要挑战。Java作为一种成熟、稳…

《Python实战进阶》No 10:基于Flask案例的Web 安全性:防止 SQL 注入、XSS 和 CSRF 攻击

第10集&#xff1a;Web 安全性&#xff1a;防止 SQL 注入、XSS 和 CSRF 攻击 在现代 Web 开发中&#xff0c;安全性是至关重要的。无论是用户数据的保护&#xff0c;还是系统稳定性的维护&#xff0c;开发者都需要对常见的 Web 安全威胁有深刻的理解&#xff0c;并采取有效的防…

蓝桥备赛(六)- C/C++输入输出

一、OJ题目输入情况汇总 OJ&#xff08;online judge&#xff09; 接下来会有例题 &#xff0c; 根据一下题目 &#xff0c; 对这些情况进行分析 1.1 单组测试用例 单在 --> 程序运行一次 &#xff0c; 就处理一组 练习一&#xff1a;计算 (ab)/c 的值 B2009 计算 (ab)/c …

企微审批中MySQL字段TEXT类型被截断的排查与修复实践

在MySQL中&#xff0c;TEXT类型字段常用于存储较大的文本数据&#xff0c;但在一些应用场景中&#xff0c;当文本内容较大时&#xff0c;TEXT类型字段可能无法满足需求&#xff0c;导致数据截断或插入失败。为了避免这种问题&#xff0c;了解不同文本类型&#xff08;如TEXT、M…