Datawhale X 李宏毅苹果书 AI夏令营 深度学习task02

线性模型和梯度下降

  • 梯度下降是一种用于寻找使损失函数最小化的参数的方法。对于线性模型 \(y=wx+b\),可以通过计算损失函数 \(L\) 对参数 \(w \) 和 \(b\) 的偏导数,并沿负梯度方向更新这些参数来逐步改进模型。

  • 参数更新:更新规则为 \(w_{\text {new }}=w_{\text {old }}-\eta \cdot \frac{\partial L}{\partial w}\)​ 和 \(\quad b_{\text {new }}=b_{\text {old }}-\eta \cdot \frac{\partial L}{\partial b}\)​,其中 \(\eta\) 是学习率。

  • 自动微分:现代深度学习框架如PyTorch能够自动计算梯度。

使用线性模型预测观看次数

  • 初始模型 \(y=\omega x+b\) 用于预测每日观看次数,最佳参数为 \(w^{*}=0.97\) 和 \(b^{*}=100\),在2017至2020年的训练数据上平均预测误差为480人。

  • 用2020年12月31日的观看次数预测2021年1月1日的观看次数。
  • 用2021年1月1日的观看次数预测1月2日的观看次数。
  • 以此类推,一直到2021年2月14日。 在这个过程中,发现平均预测误差为580人左右。

改进模型

  • 观察到观看次数具有每周循环模式,改进模型以考虑前7天的数据: \(\quad y=b+\sum_{j=1}^{7} w_{j} x_{j}\)​

  • 最优参数为 \(b^{*}=50, w_{1}^{*}=0.79,w_{2}^{*}=-0.31,,w_{3}^{*}=0.12, w_{4}^{*}=-0.01,w_{5}^{*}=-0.10, w_{6}^{*}=0.30,w_{7}^{*}=0.18\)

  • 这个模型在训练数据上的平均预测误差降低到380人,在未见过的数据上降低到490人。

  • 过后尝试了考虑28天 \(\quad y=b+\sum_{j=1}^{28} w_{j} x_{j}\)​,28 天是一个月,考虑前一个月每一天的观看人次,去预测隔天的观看人次,训练数据上是 330。在 2021 年的数据上,损失是 460,看起来又更好一点。

  • 过后尝试了考虑56天 \(\quad y=b+\sum_{j=1}^{56} w_{j} x_{j}\)​,如果考虑56天,在训练数据上损失是 320,在没看过的数据上损失还是 460。考虑更多天没有办法再更降低损失了。看来考虑天数这件事,也许已经到了一个极限。

模型灵活性与Sigmoid函数

  • Sigmoid函数可以用来逼近复杂的非线性关系,其形式为 \(y=\frac{c}{1+e^{-(b+wx)}} \),其中 \(c\) 是常数。

  • 通过调整参数 \(b\)、\(w\) 和 \(c\),可以创建不同形状的Sigmoid函数,并将它们组合起来逼近分段线性函数,进而逼近任意连续函数。

使用ReLU改进模型

  • 引入 修正线性单元(Rectified Linear Unit,ReLU)函数\((f(x)=max(0,x)) \)进一步增强模型的表达能力。通过叠加多次ReLU变换,模型能够在训练数据上取得更低的损失,并且在未见过的数据上也有较好的表现。

  • 实验结果显示,使用三次ReLU变换后的模型在训练数据上的损失从280降低到140,在未见过的数据上的损失从430降低到380。ReLU函数在输入大于0时输出原值,小于0时输出0。相比于Sigmoid函数,ReLU函数计算简单且避免了梯度消失问题,因此在深度学习中广泛使用。

  • 通过使用ReLU函数代替Sigmoid函数,模型可以变得更灵活,更好地拟合复杂的数据分布。实验显示,当使用100个ReLU函数时,模型在训练数据上的损失可以从320降低到280,这表明模型的表达能力得到了显著提升。

  • 通过将输入经过一系列的线性变换和ReLU激活函数,可以构造出多层神经网络。例如,从原始输入 \(x\) 开始,可以经过一系列的线性变换和ReLU激活函数得到 \(a\),然后再次重复这一过程得到 \(a^{'} \)。每重复一次,都可以视为增加了一层网络。实验结果显示,通过3次ReLU变换,模型在训练数据上的损失从280降低到了140,而在测试数据上的损失也从430降低到了380。

  • 通过增加模型的复杂度,特别是通过使用ReLU激活函数和构建更深的神经网络,我们可以显著提升模型的性能。然而,需要注意的是,增加模型的复杂度也会带来过拟合的风险,即模型在训练数据上表现良好,但在未见过的数据上表现不佳。

过拟合问题

  • 随着模型层数的增加,可能会出现 过拟合现象,即模型在训练数据上的表现很好,但在未见过的数据上表现较差。

  • 在选择模型时,应优先考虑在未见过的数据上表现较好的模型,即使它在训练数据上的表现不如其他模型。

机器学习框架

  • 机器学习流程包括定义模型函数、定义损失函数和执行优化算法。最终目标是找到使损失最小化的参数 \( θ^∗ \)。

  • 数据集分为 训练集测试集,前者用于训练模型,后者用于评估模型性能。

  • 28
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值