自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 李沐 损失函数【动手学深度学习v2】

梯度下降时,沿负梯度方向更新参数,导数决定如何更新参数。y'(预测值)与y相差较大时,梯度较大,对参数更新的幅度较大。当越靠近原点,梯度的绝对值越来越小,对参数更新的幅度也越来越小。接下来,我们需要一个损失函数来度量预测的效果。我们将使用最大似然估计。:梯度,当y'>0时,导数为1,y'<0时,导数为-1。:二次函数,y为0时,关于y'的函数。:二次函数,y为0时,关于y'的函数。:高斯分布,似然函数,1^(-l):梯度,一次函数,且穿过原点。稳定性好,问题是0点处不可导。l= |预测值-真实值|

2024-06-25 21:37:11 166

原创 李沐 Softmax 回归 【动手学深度学习v2】

:label:我们从一个图像分类问题开始。 假设每次输入是一个2×2的灰度图像。 我们可以用一个标量表示每个像素值,每个图像对应四个特征𝑥1,𝑥2,𝑥3,𝑥4。此外,假设每个图像属于类别“猫”“鸡”和“狗”中的一个。接下来,我们要选择如何表示标签。我们有两个明显的选择:均方损失通常指的是均方误差(Mean Square Error, MSE),它是评估回归模型预测性能的一个常用指标。均方误差是通过计算预测值与实际值之差的平方和的平均值来得到的。公式:𝑛 是样本数量,𝑓(𝑥𝑖)是第 𝑖 个样

2024-05-18 21:48:10 637

原创 李沐 线性回归的简洁实现 【动手学深度学习v2】

对于标准深度学习模型,我们可以使用框架的预定义好的层。这使我们只需关注使用哪些层来构造模型,而不必关注层的实现细节。我们首先定义一个模型变量net,它是一个Sequential类的实例。Sequential类将多个层串联在一起。当给定输入数据时,Sequential实例将数据传入到第一层, 然后将第一层的输出作为第二层的输入,以此类推。线性回归就是一个简单的单层的神经网络,因此实际上不需要Sequential。但是由于以后几乎所有的模型都是多层的,在这里使用Sequential会让你熟悉。

2024-05-17 23:19:39 865 1

原创 李沐 线性回归的从0开始实现【动手学深度学习v2】

接下来,我们必须[定义模型,将模型的输入和参数同模型的输出关联起来。计算线性模型的输出——计算输入特征𝑋和模型权重𝑤的矩阵-向量乘法后加上偏置𝑏。注意,上面的Xw是一个向量,而𝑏是一个标量。根据广播机制: 当一个向量加一个标量时,标量会被加到向量的每个分量上。

2024-05-17 21:41:46 890 1

原创 李沐 基础优化算法【动手学深度学习v2】

基础优化算法中最常见的算法为 梯度下降。不断更新w0,使其接近最优解。更新法则为等于上一时刻减去(标量,学习率)与损失函数关于的梯度的乘积。初始时t=1,表示从w0到w1的向量,再与w0相加,就得到了w1的位置。同样,接下来t=2,从w1的位置开始,先计算梯度,再走一步得到w2的位置……学习率为超参数,是需要人为指定的值。不能太小:步长有限,步数较多,计算梯度的成本较高。不能太大:导致一直在震荡,并没有真正地下降。梯度的计算复杂度,与样本的个数线性相关在训练我们的模型时,我们经常希望能够同时处理整个小批量的

2024-05-08 11:24:50 183

原创 李沐 线性回归 【动手学深度学习v2】

线性模型可以看做是单层神经网络,是最简单的一种神经网络其中,1/2是为了在求导时方便消去。假设xi(即小x)为列向量,再经过转置,则X(即大X)的每一行就是一个样本。同样,y为列向量,每一行的yi是实数的数值。对于模型,在每一个数据上的损失,求均值,可得到损失函数。公式如下:与X,y,w,b有关其中,1/2来自损失函数,1/n表示求平均。针对每一个样本,用真实值yi减去预测值(<xi,w>+b),也可写成向量版本,再求平方和。目标为找到w和b使得平方中的项的值最小,即最小化损失!w*和b*就是我们的解。解释

2024-05-08 11:08:08 105

原创 李沐 自动求导实现【动手学深度学习v2】

中所说,求导是几乎所有深度学习优化算法的关键步骤。虽然求导的计算很简单,只需要一些基本的微积分。但对于复杂的模型,手工进行更新是一件很痛苦的事情(而且经常容易出错)。深度学习框架通过自动计算导数,即自动微分来加快求导。实际中,根据设计好的模型,系统会构建一个计算图, 来跟踪计算是哪些数据通过哪些操作组合起来产生输出。自动微分使系统能够随后反向传播梯度。这里,反向传播意味着跟踪整个计算图,填充关于每个参数的偏导数。

2024-05-07 21:51:09 648

原创 李沐 自动求导【动手学深度学习v2】

前向:需要存储所有中间结果反向:从相反方向执行图,可以去除不必要的枝,需要用到中间结果。

2024-05-07 20:34:54 142

原创 李沐 矩阵计算【动手学深度学习v2】

将导数拓展到不可微的函数。

2024-05-07 19:56:15 109

原创 李沐 线性代数【动手学深度学习v2】

向量全由0。

2024-05-07 18:54:02 1121

原创 李沐 数据预处理【动手学深度学习v2】

sec_pandas为了能用深度学习来解决现实世界的问题,我们经常从预处理原始数据开始, 而不是从那些准备好的张量格式数据开始。在Python中常用的数据分析工具中,我们通常使用pandas软件包。像庞大的Python生态系统中的许多其他扩展包一样,pandas可以与张量兼容。本节我们将简要介绍使用pandas预处理原始数据,并将原始数据转换为张量格式的步骤。后面的章节将介绍更多的数据预处理技术。

2024-05-06 22:03:54 390

原创 李沐 数据操作实现【动手学深度学习v2】

这个新的张量包含与转换前相同的值,但是它被看成一个3行4列的矩阵。注意,通过改变张量的形状,张量的大小不会改变。对于将两个数组作为输入的函数,按元素运算将二元运算符应用于两个数组中的每对位置对应的元素。在下面的例子中,我们使用逗号来表示一个具有5个元素的元组,其中每个元素都是按元素操作的结果。虽然我们讨论的是矩阵的索引,但这也适用于向量和超过2个维度的张量。在上面的例子中,为了获得一个3行的矩阵,我们手动指定了它有3行和4列。在上面的部分中,我们看到了如何在相同形状的两个张量上执行按元素操作。

2024-05-06 21:35:54 942

原创 李沐 数据操作【动手学深度学习v2】

区间为左闭右开,子区域取1,2两行,1:指取1列及向后的所有列。·每个元素的数据类型:例如32位浮点数。·每个元素的值,例如全是0,或者随机数。·形状:例如3x4矩阵。从0行开始,3行一跳。从0列开始,2列一跳。

2024-04-29 11:24:07 83

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除