李宏毅2021春季机器学习课程笔记2:General Guidance

李宏毅2021年机器学习作业2(classification)实验记录 李宏毅2021年机器学习作业2学习笔记前言一、问题描述二、实验过程2.1 跑助教提供的baseline2.2 修改激活函数2.3 Normalization2.4 Drop out2.5 提高epoch2.6 weight_decay2.7 在2.5的基础上继续提升epoch到120 前言 声明:本文参考了李宏毅机器学习2021年作业例程,开发平台是kaggle notebook。 一、问题描述 实质是一个多分类问题。 B站作业讲解视频 Kaggle地址 我们可以借助于深度学习的框架(例如:Tenso 阅读详情

1. Framework of ML

基本机器学习的整体流程都是大同小异的,会有一堆Training data,包含 L a b e l Label Label,各种 F e a t u r e Feature Feature;而testing data没有 L a b e l Label Label
对于不同的用途,用到的输入与得到的输出都是不同的。
在这里插入图片描述
其中,Training data用来训练model的参数,以loss最小为目标不断进行优化,最后上传到Kaggle,具体步骤如下,
在这里插入图片描述
通过以上步骤,我们就完成了一次课程任务,但是仅仅懂得这些知识,并不足以达到老师要求的hard baseline,因此我们需要进一步对以上步骤进行改进。

2. General Guidance

具体的改进问题判断与解决方法步骤如下(适用于大多数网络设计):在这里插入图片描述
当作业在kaggle上得分低时,首先检测网络在training data上的loss,要确保model在training data能学起来。
当发现training data的loss很大时,可能是model bias、optimization;如果在training data上loss很小时,这时在testing data上loss很大可能是overfitting或mismatch,如果testing data上loss也很小,呢么大概率可以芜湖起飞!

2.1 model bias

在这里插入图片描述

这里的model bias,指的就是你的model设计太过simple,这里的simple我们可以理解为太简单,无法适应实际情况,弹性不够。
在这里插入图片描述

Solution

这时,能让loss变小的function,并不在你的model所构建出的假设空间中,所以不论怎么训练参数都无法达到好的效果。
所以我们应该重新设计model,让它变得更复杂更有弹性,比如,增加更多的参数、使用更deep的frame等等
在这里插入图片描述

2.2 Optimization Issue

在这里插入图片描述
当training data上的loss过大时,不一定是model bias,也有可能是Optimization做的不好。很多时候很容易卡在局部最优解,gradient descent这个方法学习不到function set中比较好的呢一组参数。

判断Optimization问题还是model bias方法:
在这里插入图片描述
如果层数与参数增加了,效果反而不如简单的model时,大概率就是出现了Optimization问题。 反之,可能是model设计问题。
所以,我们可以先跑一些比较浅的网络,甚至一些不是deep learning的传统方法,之后与深度学习进行对比,发现问题所在。在这里插入图片描述

Solution

参考这一篇博客 李宏毅2021春季机器学习课程笔记3:Optimization & Tips for Training & Classification

2.3 overfitting

当训练集的loss大于测试集的loss时,可能是遇到了overfitting(一定要跟训练集对比)
在这里插入图片描述
造成Overfitting的原因是,model过于灵活,自由学习(freestyle哈哈哈)产生了训练集上的结果好,但完全不符合实际结果的model
在这里插入图片描述
在这里插入图片描述

Solution
  1. 增加训练数据
    收集更多的资料,这样就算model较为复杂也可以相对增加model的正确性。
    同时,我们还可以做Data augmentation,比如把图像左右翻转,放大缩小等等来创造新的资料。
    在这里插入图片描述
  2. 减小模型flexible
    给模型一些限制,减少模型参数、让model公用参数、更少的训练Feature、早停法、Regularization(正则化)、Dropout
    3.
    但是,我们也不能过于限制模型,过于限制又会导致模型出现model bias问题
    在这里插入图片描述
    我们可以发现随着model 的复杂性不断提升,testing loss会先下降后增加。这代表到了某个程度,overfitting的状况就会出现,所以我们需要选择一个最适合的model。
    在这里插入图片描述
    但是,我们不能用testing的结果反过来推断我们的模型,这是不讲武德的,训练集和测试集是互相独立的。
    所以,我们使用一个Validation set作为验证集,来调整我们的模型
    在这里插入图片描述
N-fold Cross Validation的做法

我们将Training set分成N等分,其中一份作为Val,其他的用作训练,重复N次后,取平均值作为结果.
在这里插入图片描述

2.4 mismatch

这也算是一种overfitting,但是它的原因和overfitting不一样,它无法通过收集更多的资料来解决。
这是因为它的训练资料和测试资料是不一样的,这样就算训练资料再增加也没有帮助了。
在这里插入图片描述

Solution

参考HW11

3. Conclude

通过这节课,我对于机器学习减小loss所需要做的工作有了初步的认识,这样以后发现loss较大不至于无从下手。
通过这个树状图的思路,一步一步解决问题。
在这里插入图片描述

损失函数与优化器:从「梯度是怎么被造出来的」到「梯度是怎么被用掉的」 本文揭示损失函数与优化器本质一体:优化器仅依赖损失产生的梯度,而损失决定梯度的方向、尺度与噪声特性。错误的损失选择(如分类用MSE)会导致梯度失衡,使优化器失效;不同损失(如Huber、Focal)通过调控梯度分布影响优化过程。实测表明,归约方式、标签结构与损失配对直接决定梯度行为,进而影响收敛性与泛化。核心观点:选对损失,才是让优化器“看得懂”的前提。 阅读详情

相关推荐

李宏毅ML作业2(薪资水平分类

李宏毅ML作业2: 薪资水平分类(kaggle预测与报告题目)源码 配合博客阅读: https://blog.youkuaiyun.com/lagoon_lala/article/details/117136745

李宏毅机器学习笔记—第二节—General Guidance

1.机器学习的任务攻略(General Guidance) 2.类神经网络训练不起来怎么办(When gradient is small) 1.局部最小值和鞍点(Local Minimum And Saddle Point) 2.批次与动量(_Batch and Momentum) 3.自动调整学习率(Learning rate) 4.损失函数也可能有影响(Loss) 5.批次标准化(_Batch Normalization) ...

Mr_Suda的博客 812

Lhy_Machine_Learning:李宏毅2021Spring机器学习课程课件及作业

Lhy_Machine_Learning 李宏毅2021Spring机器学习课程课件及作业 B站视频地址: : 课程主页: : 不定期分享读研干货,点赞关注一起进步: ://space.bilibili.com/46880349 人工智能技术探讨群:78174903 第一节简介作业HW1:回归 第二节深度学习作业HW2:分类 第三节自我注意作业HW3:CNN HW4:自我注意 第四节机器学习理论 第五节变压器作业HW5:变压器 第六节生成模型作业HW6:GAN 第七节自我监督学习作业HW7:BERT HW8:自动编码器 第八节可解释的AI /对抗攻击作业HW9:可解释的AI HW10:对抗攻击 第九节域适应/ RL作业HW11:适应 第十节RL作业HW12:RL 第十篇隐私与ML 第十二节Quantum ML 第十三节Life / Long / Compression作业HW1

李宏毅2021机器学习笔记——General Guidance

General Guidance : overfit Framework of ML ​ 我们已经看了作业一了,其实之后好几个作业,它看起来的样子,基本上都是大同小异 ​ 就是你会有一堆训练的资料,这些训练集裡面,会包含了xxx跟yyy的hat,x¹x¹x¹ 和跟它对应的y^¹ŷ¹y^​¹,x²x²x² 跟它对应的y^²ŷ²y^​²,一直到xⁿxⁿxⁿ 还有它对应的y^ⁿŷⁿy^​ⁿ ​ 测试集,测试集就是你只有x没有y,其实在之后每一个作业,看起来都是非常类似的格式 作业二,其实是做语音辨识,我们的

Alex_SCY的博客 914

计组实验之四路表决器

请在之前四路表决器电路实现的基础上,继续用连接线 联接CD4511,将投票为1的票数总和显示到一个 LED上,思考如何做?由于我们需要通过显示字形来直接看出有几个1,在这里,我们最多有四个1,即显示字形最多到4就行,所以我们需要将有几个1用2进制数来表示,下面给出了相关电路图。显示输入插口,按真值表(自拟)要求,逐次改变输入变量, 测量相应的输出值,验证逻辑功能, 与表3-1 进行比较, 验证所设计的逻辑电路是否符合要求。用实验结果与真值表3-1和3-2进行比对,可以得出,我们实验结果是正确的。

szyugly的博客 1万+

5G NR上行控制信道PUCCH

一、PUCCH概述 PUCCH用于承载上行控制信息,相比LTE,NR PUCCH支持5种不同的格式,按照时域上所占用的符号数量可以分为短格式和长格式两种,如下表所示,短格式占用1-2个符号,可以承载1-2bit信息,长格式占用4-14个符号,可承载大于2bit的信息。NR引入短格式PUCCH的目的是可以缩短HARQ-ACK反馈的时延,长格式仍然是考虑到持续时间长可以保证覆盖。 NR中,考虑到系...

一个关于5G NR的博客^^ 3万+

【《2021机器学习-李宏毅》学习笔记】

台湾大学李宏毅老师开设的《机器学习》近年来广受好评,成为国内众多深度学习/人工智能的学生/爱好者的 入门第一课。本文给出个人在学习过程中所做的笔记总结,希望能帮到大家。

chh13502的博客 2万+

面向网络攻击行为可视化分析系统实现【WebSocket + 可视化】

本系统主要应用于网站运维管理,它解决了网站运维人员排查网络攻击行为复杂且繁琐等问题,提高了运维人员网络安全分析的效率和准确性。

oNew_Lifeo的博客 1623

深度学习21_李宏毅_03_General Guidance

General Guidance : overfit Framework of ML ​ 我们已经看了作业一了,其实之后好几个作业,它看起来的样子,基本上都是大同小异 ​ 就是你会有一堆训练的资料,这些训练集裡面,会包含了xxx跟yyy的hat,x¹x¹x¹ 和跟它对应的y^¹ŷ¹y^​¹,x²x²x² 跟它对应的y^²ŷ²y^​²,一直到xⁿxⁿxⁿ 还有它对应的y^ⁿŷⁿy^​ⁿ ​ 测试集,测试集就是你只有x没有y,其实在之后每一个作业,看起来都是非常类似的格式 作业二,其实是做语音辨识,我们的

uncle_q_的博客 463

【EB_Tresos专题】-06-配置一个UDS诊断DID

<--返回「Autosar_BSW高阶配置」总目录--> <--返回「Autosar_BSW高阶配置」专栏主页--> <--返回「个人博客」首页--> <--返回「Autosar_BSW高阶配置」总目录--> <--返回「Autosar_BSW高阶配置」专栏主页--> <--返回「个人博客」首页--> 结尾 ...

「汽车电子助手」的博客 4089

华为OD机试双机位C卷-MVP争夺战 (C/C++/Py/Java/Js/Go)

华为OD机试(机考)双机位C卷 【MVP争夺战】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试 - MVP争夺战,

qq_45776114的博客 1173

【李宏毅2021机器学习深度学习——作业2 Classification】 Phoneme Classification 记录(双过strong baseline)

文章目录实验结果:(接近 strong baseline,等待改进中...)可视化实验记录:(稳定在0.75升不上去了,50个epoch可以收敛了)修改记录:做完这个实验应该有的收获:参考资料: 实验结果:(接近 strong baseline,等待改进中…) 可视化实验记录:(稳定在0.75升不上去了,50个epoch可以收敛了) 修改记录: 数据方面: 调整验证集比例为0.01,不需要那么多:VAL_RATIO = 0.01 BATCH_SIZE = 2048,用到bn,BATCH_SIZE必须大

py今天刷题了吗 2867

SAP-ABAP:SAP信贷管理核心:CL_UKM_BUPA_FACTORY类完整解析与实践指南

SAP信贷管理核心类CL_UKM_BUPA_FACTORY解析 CL_UKM_BUPA_FACTORY是SAP信贷管理(UKM)模块的核心类,作为业务伙伴信贷数据的中央控制台,它提供: 统一入口:标准化实例化客户/供应商信贷对象 主要功能: 获取单条/批量业务伙伴数据 安全保存数据变更 封装底层数据访问逻辑 典型应用场景: 信贷主数据批量维护 自动化限额调整 订单信贷实时检查 性能优化建议: 使用批量方法替代循环单条处理 合理设置字段选择 实施缓存策略 该类通过简洁API简化复杂信贷操作,是SAP信贷管理开

baidu_35680696的博客 1210

【李宏毅机器学习2021】Task02 回归

本系列是针对datawhale《李宏毅机器学习-2022 10月》的学习笔记。本次是对回归的学习总结。本节通过视频学习到回归任务的提出,三个要素,及如何优化。李老师通过层层递进,提出问题解决问题的方式不断打磨方法,从中介绍回归任务的始末,引出深度学习及网络加深伴随的过拟合问题。

QAQterrible的博客 1002

ESP32-S3 调试经验:使用 ESP-PROG 与内置 USB-JTAG

关键词:ESP32 调试、ESP32-S3、ESP-PROG、JTAG、VSCode、OpenOCD、GDB作为一个前端开发转硬件调试新手,我最近花了不少时间在上。因为国内开发者常用 ESP32 做 IoT 项目,但大多数教程都比较零散,有些还过时,所以我决定把这次调试经历整理下来,希望能帮到后来人。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 1226

CollisionLoss 设计与实现原理说明

文章摘要 CollisionLoss是一种用于自动驾驶轨迹规划的碰撞惩罚损失函数,其核心思想是用多个沿车身纵轴排列的圆盘来近似表示车辆(Oriented Bounding Box)。该设计通过圆盘间的距离计算实现碰撞检测,具有以下特点: 可微性:圆盘距离计算处处可微,便于梯度回传,而传统矩形碰撞检测(分离轴定理)不可微且计算复杂。 多圆盘设计:沿车身纵向排列多个圆盘能更精确地拟合细长车体,避免单圆盘过度膨胀导致的误报。 安全覆盖:圆盘半径经过数学推导,确保完全覆盖车体矩形,避免漏检(宁可保守)。 软惩罚机制

@bangbang的博客 97

2021-08-21 ML-李宏毅 lesson2

LESSON two 1.Frame of ML 数据分为training和testing两种,基本步骤如下: function with \theta =》L (\theta) =》=argmin_\theta L=》\theta*=》f_\theta*(testing)​ 先选取模型和参数,接着将参数合并再定义出系统的损失函数,然后代入随机选择的training data,最后通过梯度下降法进行迭代更新,进而选出最优的参数,将该组参数作为function去label the testing

DoomZone的博客 228

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

机器学习模型评测:holdout cross-validation & k-fold cross-validation

cross-validation:从 holdout validation 到 k-fold validation 2016年01月15日 11:06:00 Inside_Zhang 阅读数:4445 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.youkuaiyun.com/lanchunhui/article/details/50522424 构建机器学习模型的一个...

m0_37876745的博客 5713

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

李宏毅2021课程-机器学习作业2phoneme classification

前言:并没有过strong baseline,public score和provate score为0.705。发现网上对hw2的讨论比较少,所以和大家分享一下。 主要修改部分, 1.将助教的样本代码中的segmiod改成了relu 2.batch size改成了16,epoch改成50 3.采用了L2正则化 4.学习率每5代变成原来的0.1倍 # fix random seed for reproducibility same_seeds(0) # get device device =

weixin_44942542的博客 1195

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

李宏毅机器学习2021系列 作业2-年收入判断:4步实现概率生成模型。

目录项目描述直接上代码1.数据准备2.求均值和方差3.计算weights和bias4.预测 项目描述 二元分类是机器学习中最基础的问题之一,在这份教学中,你将学会如何实作一个线性二元分类器,来根据人们的个人资料,判断其年收入是否高于 50,000 美元。我们将以两种方法: logistic regression 与 generative model,来达成以上目的,你可以尝试了解、分析两者的设计理念及差别。 实现二分类任务: 个人收入是否超过50000元? 直接上代码 1.数据准备 with open(X

qq_39748940的博客 1386

2-1 李宏毅2021春季机器学习教程-第二节机器学习任务攻略

李宏毅2021春季机器学习课程-第二节机器学习任务攻略笔记。

csdn_xmj的博客 3758

李宏毅深度学习2021春HW4实验四,Strong Baseline,使用Conformer

目录任务简介原始模型优化(Transformer)优化思路Conformer简介Conformer使用:Conformer参数优化完整代码 如果您有更好的实现方式请留言告诉作者~~~ 任务简介 对给定的一段语音数据预测说话者,就是一个分类问题,总共600个说话者。数据已经预处理好了,我们只需要读入即可。strong baseline的score在0.954 原始模型优化(Transformer) 在demo中,transformer使用head=2,双头,TransformerEncoderLayer中f

给我一个姑娘的博客 6430

【第84期】过拟合欠拟合与复杂度对照的实验与排查

系列:《从小白到 AI 大模型开发工程师的进阶之路》 技术点:AI-0306 过拟合与欠拟合 主人公:小蓝伞 前置:AI-0302 本期产出:学习曲线小蓝伞用越来越高次的多项式拟合一条带噪曲线,训练误差继续下降,但这不能说明他更接近真实关系。本期固定训练样本与噪声,只改变多项式次数,比较对训练点和无噪参考曲线的误差,并区分验证曲线与学习曲线。教学情境用来组织问题,下面的执行数据来自构造实验。

qq_36085846的博客 170

从认识人工智能到理解机器学习:我的 AI 入门第一课

正式开始学习人工智能之前,我对 AI 的认识其实比较模糊:知道 ChatGPT、知道大模型,也知道现在很多岗位都在谈 AI,但如果有人问我“人工智能到底是什么”“机器是怎么学会识别一只猫的”,我未必能从头到尾讲清楚。上午的课程更偏向行业全景:人工智能的发展、研究方向、NLP、岗位分工、学习路线和 AI Coding 工具。下午的课程更偏向技术基础:机器学习的原理、有监督学习、深度学习、模型训练和评估方法。

chh563的博客 527

低温ECR-MOCVD生长(002)GaN:椭偏仪测厚与电学性能

本研究用ECR-MOCVD在Si(111)和蓝宝石衬底上低温生长GaN薄膜,蓝宝石1.0SCCM、2h样品呈完全(002)择优取向,椭偏仪测厚32.81nm,迁移率10.42cm²/(V·s)。文章梳理了生长温度、TMGa流量与生长时间对结晶取向、膜厚、粗糙度、光学带隙和电学性能的影响。

Flexfilm_的博客 394

小批量训练的JAX机器学习

本文介绍基于BFGS的小批量训练算法,针对全批量方法在高样本量下计算复杂度高的问题,结合JAX的自动微分与高效计算,实现快速收敛。通过optimtool库中的改进的bfgs优化器与小批量策略,支持分类与回归任务,具备早停机制与灵活监控选项,显著提升大规模机器学习训练效率。

林景的博客 131
上一篇: 李宏毅2021春季机器学习课程笔记1:Introduction, Colab & PyTorch, HW1
下一篇: 李宏毅2021春季机器学习课程笔记3:Optimization & Tips for Training & Classification
Andy in boots
博客等级 码龄7年 73粉丝 69原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值