线性代数、矩阵计算、自动求导

学习记录: 

关于这段知识我觉得这个blog讲的比较详细

【动手学深度学习 | week1b】05 线性代数 06矩阵计算 07 自动求导_import torchx = torch.arange(4.0)y = x*torch.dot(x_大胃羊的博客-CSDN博客https://blog.csdn.net/davidyang_980/article/details/122042158

《动手学深度学习》

动手学深度学习 (d2l.ai)https://zh-v2.d2l.ai/d2l-zh-pytorch.pdf

一、线性代数

线性模型

线性假设是指⽬标可以表⽰为特征的加权和,如下⾯的式⼦:

price = warea · area + wage · age + b

式子中的warea和wage 称为权重(weight),权重决定了每个特征对我们预测值的影响。b称为偏置(bias)、 偏移量(offset)或截距(intercept)。

严格来说,上式是输⼊特征的⼀个 仿射变换(affine transformation)。仿射变换的特点是通过 加权和对特征进⾏线性变换(linear transformation),并通过偏置项来进⾏平移(translation)。 输出的预测值由输⼊特征通过线性模型的仿射变换决定,仿射变换由所选权重和偏置确定。

⽤符号表⽰的矩阵X ∈ R n×d 可以很⽅便地引⽤我们整个数 据集的n个样本。其中,X的每⼀⾏是⼀个样本,每⼀列是⼀种特征。 对于特征集合X,预测值yˆ ∈ R n 可以通过矩阵-向量乘法表⽰为: yˆ = Xw + b

损失函数

损失函数(loss function) 能够量化⽬标的实际值与预测值之间的差距。通常我们会选择⾮负数作为损失,且数值越⼩表⽰损失越⼩, 完美预测时的损失为0。回归问题中最常⽤的损失函数是平⽅误差函数。当样本i的预测值为yˆ (i),其相应的真 实标签为y (i)时,平⽅误差可以定义为以下公式:

 在训练模型时,我们希望寻找⼀组参数(w∗ , b∗),这组参数能最⼩化在所有训练样本上的总损失。如下式:

解析解

线性回归的解可 以⽤⼀个公式简单地表达出来,这类解叫作解析解(analytical solution)⾸先,将偏置b合并到参数w中, 合并⽅法是在包含所有参数的矩阵中附加⼀列。我们的预测问题是最⼩化∥y − Xw∥ 2。这在损失平⾯上只有 ⼀个临界点,这个临界点对应于整个区域的损失极⼩点。将损失关于w的导数设为0,得到解析解:

随机梯度下降

随机梯度下降⼏乎可以优化所有深度学习模型。 它通过不断地在损失函数递减的⽅向上更新参数来降低误差。算法的步骤如下:(1)初始化模型参数的值,如随机初始化;(2)从数据集中随机抽取⼩批量样 本且在负梯度的⽅向上更新参数,并不断迭代这⼀步骤。对于平⽅损失和仿射变换,我们可以明确地写成如 下形式:

猜你喜欢

转载自blog.csdn.net/qq_46703208/article/details/129697581
今日推荐