Datawhale X 李宏毅苹果书 AI夏令营 Task2打卡

线性模型(Linear model)

通常模型的修改来自于对问题的理解,即领域知识

 基本定义:把输入特征x乘上一个权重,再加上一个偏置就可以得到预测的结果。

优点:简单易理解,可理解性好(权重w可以直观表达了各属性在预测中的重要性)

1 分段线性曲线

1.1 线性模型的局限性

  • Linear(线性)的Model太过简单,对于绝大多数的实际情况来说x1与y的关系不是简单的线性关系。
  • 随著 x1 越来越高,y 就应该越来越大,可以通过设定不同的 w改变这条线的斜率,可以设定不同的 b改变这一条蓝色的直线跟 y 轴的交点,但是无论怎么改 w 和 b,x1与y永远都是线性关系,永远都是x1越大y就越大。
  • 模型的偏差(Model Bias):无论如何调整Model中的参数,都无法用Linear的Model制造类似红色的折线,也就是指模型无法模拟真实情况。

1.2 分段曲线的拟合

图中的各种Curves(曲线)都是由许多线段组成的,称为Piecewise Linear 的 Curves(分段线性曲线)。这些曲线都可以用常数+各种蓝色Function组成。曲线转折越多、越复杂,需要的蓝色Function就越多。

在实际案例的训练数据选择中,有时也会考虑数据本身的周期性等规律,以求更好减小模型在训练数据上的损失。

1.3 连续曲线的拟合

基于分段曲线可以逼近任何连续曲线的原理,我们可以使用Sigmoid函数来逼近Hard Sigmoid函数

当x1的值趋近于无穷大时,指数项会消失,函数收敛于c处,当x1趋近于负无穷小,y的值则趋近于0。

1.3.1 Sigmoid函数

中调整 b、w 和 c 可以制造各种不同形状的 Sigmoid 函数

 

在拟合连续曲线时,使用的Sigmoid函数数量(超参数的一种)可以自行设定,其数量越多,就可以产生有越多断线的分段线性函数,可以逼近更复杂的函数。

1.3.2 损失函数的计算

在这种拟合情况下,将损失函数设置为L(θ),其中,θ代表某一组W,b,的值,通过带入特征值x,可以得到预估的y,从而得到与真实标签之间的误差e,将所有误差通过一定计算进行总和,可以得到对应损失。

为了优化模型,减小损失,可以在一开始先设置一个初始值θ0,

一般来说,梯度更新的停止条件是计算出梯度为0向量,导致无法再更新参数(较小可能)或者我们主动终止计算。

1.3.3 批量

批量(batch):存有B笔数据(N笔数据被随机分成一个个批量)的一组数据。

在实际情况中,通常是每次先选一个批量计算损失函数L的值,并进行梯度更新。当所有批量都看过一次后,称为一个回合(epoch)

注:每次更新一次参数叫做一次更新,把所有的批量都看过一遍,叫做一个回合

2 模型变形

2.1 修正线性单元(Rectified Linear Unit,ReLU)

定义:是一种常用的人工神经网络中的激活函数(activation function)

形式 f(x) = max(0,x)/。它在x大于零的时候激活,输出x;在x小于等于零的时候不激活,输出零。

优点:计算简单、神经元数量少、训练速度快、避免梯度消失的问题等。

它已成为现代神经网络中最为普遍的激活函数之一,用于隐藏层中。

 2.2 神经网络(neural network)

过拟合(overfitting):模型在训练数据和测试数据上的能力/结果不一致。

3 机器学习框架

对于训练集,训练过程有3个步骤:

知识竞答

①下面哪种激活函数可以用来逼近Hard Sigmoid函数

A) ReLU
B) Sigmoid
C) tanh
D) softmax
E) ELU

B

②在深度学习中,我们经常遇到过拟合现象。以下哪些方法可以用来解决过拟合现象?

A) 增加训练数据量
B) 减少模型的参数数量
C) 增加模型的层数
D) 使用正则化技术
E) 使用Dropout技术

ABDE

③在预测观看人次的模型中,考虑前 7 天的数据而非前 1 天的数据有什么好处?
A. 可以降低模型的复杂度
B. 可以减少训练时间
C. 可以捕捉数据的周期性变化,降低损失
D. 可以提高模型的非线性能力
E. 可以避免过拟合

C

④教程中提到,模型在训练数据上的性能通常好于在测试数据上的性能。这种现象为什么会发生?

这种现象发生是因为模型直接在训练数据上优化,不可避免会学习到一些训练数据特有的模式,包括可能的噪声。测试数据代表了模型未见过的数据,更能反映模型的泛化能力。在实际应用中,应该更关注模型在测试数据上的表现。

⑤在教程的视频观看次数预测例子中,我们看到了如何从考虑前1天扩展到考虑前7天、28天甚至56天。这种扩展的意义是什么?教程中显示,从28天增加到56天时,在未见过的数据上的性能并没有显著提升,为什么考虑更多天数不一定总能提高预测准确性?

扩展考虑的天数允许模型捕捉更长期的模式,如周期性变化。然而,考虑更多天数并不总是能提高准确性,因为:1) 可能引入无关或噪声信息;2) 增加了模型复杂度,可能导致过拟合;3) 很久以前的数据可能对当前预测不再相关。

⑥在视频观看人数预测模型中,为什么使用100个ReLU比使用10个ReLU效果更好?这种改进是否总是有效的?

每一层ReLU都可以被视为对数据的一次非线性变换,使用更多的ReLU可以增加模型的复杂度,使其能够捕捉更复杂的非线性关系。100个ReLU相比于10个ReLU,可以学习更细致的模式,有更强的表达能力。然而,这种改进并非总是有效,因为过多的ReLU可能导致过拟合,特别是在数据量较小的情况下。此外,还需要考虑计算资源和推理时间的限制。应该在模型性能不再显著提升,或者验证集性能开始下降时停止增加复杂度。

⑦在教程中,我们看到了如何使用ReLU函数构建深层网络。为什么要在每个线性变换后都加入非线性激活函数?如果去掉这些激活函数会发生什么?

非线性激活函数(如ReLU)在每个线性变换后引入非线性变换,使得模型能够学习复杂的非线性关系。如果去掉这些激活函数,多层线性变换可以简化为单个线性变换,这会大大降低模型的表达能力,使其无法捕捉复杂的模式。

⑧在改进模型时,为什么使用ReLU函数比使用Sigmoid函数效果更好?这可能与什么因素有关?

ReLU函数比Sigmoid函数计算更简单,能缓解梯度消失问题,允许模型学习更复杂的非线性关系。在视频观看人数预测这种可能存在突然变化的场景中,ReLU的非饱和性可能更有利于捕捉数据中的急剧变化。

与Sigmoid激活函数相比,ReLU有几个明显的优点。首先,ReLU在处理正数时非常简单,它直接将正数传递出去,这使得计算更高效。相比之下,Sigmoid函数在处理正数时会变得非常平缓,导致梯度变得非常小,这使得训练过程变得缓慢。这种平缓的性质还可能导致训练过程中会出现梯度消失的问题,即模型在训练时更新参数的速度变得非常慢。
其次,ReLU函数的计算过程非常简单,只需检查输入是否大于零,这使得模型训练速度更快。而Sigmoid函数需要进行复杂的数学运算,这会增加计算的复杂性和时间。

⑨在使用梯度下降法优化模型时,为什么使用小批量而不是整个数据集?这种方法有什么优势和劣势?

优势:
小批量更新可以充分利用现代计算硬件(如GPU)的并行处理能力,而且不需要等待整个数据集的梯度计算完成就可以更新参数,从而加快训练速度。其次,处理整个数据集可能需要大量内存,而小批量可以在有限的内存中进行训练,使得训练过程更加可行。另外还引入了一定的随机性,有助于逃离局部最小值
劣势:
由于小批量梯度下降每次更新都是基于一个子集的估计,这可能导致收敛路径不如全批量梯度下降平滑,有时可能会出现震荡或不稳定。此外,选择小批量的大小是一个需要经验的过程,不同的大小可能对训练过程的效率和模型性能产生影响。过小的批量可能导致梯度估计不准确,过大的批量可能导致内存不足或训练速度慢。

参考资料

Datawhale (linklearner.com)

机器学习——线性模型(内附详细公式推导)_简单描述几个线性模型建立的过程-CSDN博客

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

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

相关文章

算法基础-位运算

>> (右移运算) x >> y:表示将x的二进制值右移y位。 正数是直接右移y位,则高位(最左边)补y个0。 负数是求补码,然后右移y位,最高位补y个1,再求反码&#xff…

集成电路学习:什么是DAC数模转换器

DAC:数模转换器 DAC,全称Digital-to-Analog Converter,即数模转换器,是一种电子设备或电路,用于将数字信号转换为相应的模拟信号。在现代电子系统中,DAC扮演着至关重要的角色,它实现了数字电路与…

如何在UE5.4中重新定位动画?

动画在游戏和电影制作中扮演着至关重要的角色,而在虚幻引擎5.4(UE5.4)这一强大的实时3D创作平台中,重新定位动画的能力更是将创意表达推向了新的高度。本文将引导您探索UE5.4中重新定位动画的技巧,确保您的动画作品不仅…

Unity | 基础知识

装箱和拆箱: 获取对方的类型: GetType通过打点调用 as进行类型转换 运用Convert进行类型转换: 二维数组的定义 结构体类型 不同名称空间来调用:

Auto-Unit-Test-Case-Generator -- java项目自动测试生成

0.Pre-预备知识: 0.1.Maven是什么? [by Maven是什么?有什么作用?Maven的核心内容简述_maven是干什么用-CSDN博客 ] 是Java 领域中最流行的自动化构建工具之一,Maven 作为 Java 项目管理工具,具有: 包管…

互联网全景消息(1)之RabbitMq基础入门

一、消息中间件 1.1消息队列回顾 消息队列中间件是分布式系统中重要的组件,主要解决应用解耦,异步消息,流量削锋等问题,实 现高性能,高可用,可伸缩和最终一致性架构。目前使用较多的消息队列有ActiveMQ &a…

数据库mysql8.x中修改密码的方法

mysql数据库最新版本9.x都出来了,再不学就要被淘汰了!!这次使用的是8.0.39版本,大家可以去官网下载使用。 官网地址:https://dev.mysql.com/downloads/mysql/ 安装好后,默认密码是一串很难记忆的字符,记录…

day-46 旋转图像

思路 不能使用辅助数组,所以关键在于弄清楚旋转后坐标的变化规律。当矩阵的大小n为偶数时,以n/2行和n/2列的元素为起点,当矩阵的大小n为奇数时,以n/2行和(n1)/2列的元素为起点 解题过程 关键:旋…

【JavaWeb】Cookie、Session

文章目录 Cookie、Session一、Cookie(客户端)1、Cookie 的 特点2、Cookie 的 工作原理3、Cookie 的 基本操作5、Cookie 的 域名与路径6、Cookie 的 存活时间7、Cookie 的 删除 二、Session(服务端)1、Session 的 特点2、Session 的…

【学习笔记】卫星通信NTN 3GPP标准化进展分析(四)- 3GPP Release18内容

一、引言: 本文来自3GPP Joern Krause, 3GPP MCC (May 14,2024) Non-Terrestrial Networks (NTN) (3gpp.org) 本文总结了NTN标准化进程以及后续的研究计划,是学习NTN协议的入门。 【学习笔记】卫星通信NTN 3GPP标准化进展分析(一&#xff…

Codeforces Round 964 (Div. 4) A-E Java题解

比赛地址 Dashboard - Codeforces Round 964 (Div. 4) - Codeforces A题 签到题 给一个两位数 求各位上的数字和 直接对10取余加上本来的数除以10 // 注意类名必须为 Main, 不要有任何 package xxx 信息 // package Dduo; import java.io.*; import java.math.*; import j…

【Android自定义控件】Kotlin实现滚动效果的数字加减控件

前言 因业务上的需要,在APP中点餐时要有商品数目增减操作,数目增减的过程中有翻动的动画效果展现。在Android中有多种方式可以实现,本篇文章记录通过自定义View结合控件的平移动画相结合来实现此需求。 需求分析 根据上图分析控件的实现过程以…

力扣763-划分字母区间(Java详细题解)

题目链接:763. 划分字母区间 - 力扣(LeetCode) 前情提要: 因为本人最近都来刷贪心类的题目所以该题就默认用贪心方法来做。 贪心方法:局部最优推出全局最优。 如果一个题你觉得可以用局部最优推出全局最优&#xf…

【STM32】RS485

RS485是常见的串口接口。 大部分图片来源:正点原子HAL库课程 专栏目录:记录自己的嵌入式学习之路-CSDN博客 目录 1 串口、UART、TTL、RS232、RS422、RS485的关系 1.1 串口 1.2 UART、TTL、RS232、RS422、RS485 1.3 常见串口标准的比较 …

JS 如何判断是否是IE浏览器

例子 if(!!window.ActiveXObject || "ActiveXObject" in window){alert("抱歉,不支持IE浏览器!");return; }

【微机原理】v和∧区别

🌟 嗨,我是命运之光! 🌍 2024,每日百字,记录时光,感谢有你一路同行。 🚀 携手启航,探索未知,激发潜能,每一步都意义非凡。 在汇编语言和逻辑表达…

UE 【材质编辑】自定义材质节点

使用UE的材质编辑器,蓝图提供了大量的节点函数: 实际上,这是一段封装好的包含一串HLSL代码的容器。打开“Source/Runtime/Engine/Classes/Material”,可以看到很多不同节点的头文件: 照葫芦画瓢 以UMaterialExpressi…

★ 算法OJ题 ★ 力扣 LCR179 - 和为 s 的两个数字

Ciallo&#xff5e;(∠・ω< )⌒☆ ~ 今天&#xff0c;小诗歌剧将和大家一起做一道双指针算法题--和为 s 的两个数字~ 目录 一 题目 二 算法解析 三 编写算法 一 题目 LCR 179. 查找总价格为目标值的两个商品 - 力扣&#xff08;LeetCode&#xff09; 二 算法解析 …

MacOS使用FileZilla通过ssh密钥文件连接远程服务器(已解决)

需求描述 mac电脑,使用filezilla通过FTP连接远程服务器,使用ssh密钥文件代替密码。 版本信息 MacOS:Sonoma 14.5 M3芯片 FileZilla:3.66.5 在这里插入图片描述 连接 1. 创建站点 打开filezilla工具,右上角选择“文件 -> 站点管理器”,打开站点管理器弹窗。 2.…

AI搜索:重塑信息获取的新纪元

在信息爆炸的时代&#xff0c;如何快速、准确地获取所需信息成为了每个人面临的挑战。传统的搜索引擎虽然在一定程度上解决了这一问题&#xff0c;但广告干扰、结果冗余、内容质量参差不齐等问题仍让用户体验大打折扣。随着AI技术的不断发展&#xff0c;AI搜索产品以其独特的优…