type
status
date
slug
summary
tags
category
icon
password
3.1.1 线性回归基本元素
线性回归的假设:
- 自变量 与因变量 之间关系是线性的(可以包含一些噪声)
- 噪声分布比较正常
3.1.1.1 线性模型
以预测房屋价格为例,目标可以表示为特征的加权和
其中两个 是权重,表示特征值对预测值的影响程度
成为偏置,为了使线性方程满足预测值的结果
对于一个数据集,我们的目标是寻找模型的 和 ,似的模型的预测更加符合真实值
在机器学习中,由于涉及的特征比较多,因此一般采用高维数据集,用线性代数表示法比较方便
若用、 这两个向量表示所有 x 与 w,可以写成
再进一步, 表示的是单个样本的特征,为了表示 n 个样本的特征,我们可以采用向量组合而成的矩阵 来表示
在寻找模型参数 和 之前,我们还需要两个东西:
- 模型质量好坏的度量方式
- 能够通过更新模型以提高预测质量的方法
3.1.1.2 损失函数
损失函数能够量化实际值和预测值之间的差距
一般 loss 都是非负的,数值越小损失越小
平方误差:
这里用了个 1/2 其实没啥影响,只是为了求导后常数系数为 1
为了度量模型在整个数据集上的质量,我们需要计算在 n 个样本上的损失均值
我们希望能够找到一组参数 使得训练样本上的总损失最小,记作
3.1.1.3 解析解
线性回归问题比较简单,存在解析解,这里可以表示出来
不过正常情况下没这么简单的问题,所以就不用想着写出解析解了
3.1.1.4 随机梯度下降
这里使用梯度下降的方法来优化模型
这里使用模型参数的梯度进行更新,为了解决计算慢的问题,我们会随机抽取小批量进行计算并更新,称为小批量随机梯度下降
步骤
- 首先随机抽取小批量
- 计算小批量的 loss 关于模型参数的梯度
- 用梯度与 相乘,从参数值中减掉,完成更新
- 记录最终的参数估计值
参数含义
- 批量大小 batch size
- 学习率 learning rate
这两个称为超参数,由人为调整,而非训练得到
人为调整的过程叫做调参
线性回归是整个域中只有一个最小值的学习问题,然而深度神经网络的损失平面又多个最小值
我们需要找到一组参数,使得其在测试集上有较低的损失,这个挑战叫做泛化
3.1.2 矢量化加速
计算是我们调用线性代数库,避免自己手写 for 循环,提升运算速率
3.1.3 正态分布与平方损失
公式
符号
- 随机变量
- 均值
- 标准差 (平方是方差)

根据极大化似然估计法, 和 的最优值是使得整个数据集的似然最大的值
3.1.4 从线性回归到深度网络
这里尝试使用深度网络来描述线性模型
3.1.4.1 神经网络图

这里的 是输入,输入数也就是特征维度,是 d
这里的输出数是 1,也就是
这里的神经网络的层数为 1,成为单层神经网络
线性回归中,每个输出都与输入相连,这种变换成为全链接层/稠密层
3.1.4.2 生物学

这里的神经元接受多个输入,并加权,进一步处理,得到数值后输入到下一个神经元
3.1.5 小结
- 机器学习模型中的关键要素是训练数据、损失函数、优化算法,还有模型本身。
- 矢量化使数学表达上更简洁,同时运行的更快。
- 最小化目标函数和执行极大似然估计等价。
- 线性回归模型也是一个简单的神经网络。
- 作者:昊卿
- 链接:hqhq1025.tech/article/%20d2l/linear-regression
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。