李弘毅机器学习课程笔记(二):机器/深度学习入门

本文探讨了一个初步模型的表现,并对其进行调优。通过对模型偏差的分析,引入了sigmoid函数以改进线性模型,同时讨论了如何使用ReLU函数提升模型性能。此外,还介绍了如何通过增加Layer进一步优化模型。

上一篇我们已经找到了一个Model,那么这个Model是不是最优的呢?

模型回顾

在这里插入图片描述
将Model应用到训练集上的Loss是0.48K,运用到测试集上的Loss是0.58K,那么,是不是还可以做得更好呢?
通过观察下图实际数据和预测数据的对比图:
在这里插入图片描述
我们发现预测数据总是稍微领先于实际数据,这也很好解释,模型显示,预测数据几乎就是用前一天的实际数据加上0.1K。
另外,我们发现数据似乎以一周为一个周期:每逢周五周六,观看人数处于最低值,每逢周一周二,观看人数处于最高值。
很自然的,我们考虑将前7天,前28天,前56天考虑进来,通过上面的步骤,可以发现训练集上的Loss逐渐变小,测试集上的Loss虽然变小了,但是不是特别明显。
在这里插入图片描述

模型调优

通过上面的过程,我们发现,线性模型似乎走到了它的极限,这说明我们的Model存在Model bias, 需要调整模型的形式来进行进一步的优化。
在这里插入图片描述
通过观察上图的红色曲线,很容易发现,我们用一条曲线不能得到良好的拟合,但是,可以用下面一系列的反Z型曲线的组合来表示由分段曲线组成的红色曲线。
在这里插入图片描述
那么,对于任何一条曲线,我们都可以在其上取若干点,用折线来近似估计它们。只要点取得足够密,那么折线将会越接近原来的曲线。
在这里插入图片描述
那么,对于单条的反Z型曲线,我们可以用sigmoid函数来进行拟合
在这里插入图片描述
sigmoid函数的特性如下:
在这里插入图片描述

  • 不同的w会改变曲线的坡度,w越大坡度越陡峭
  • 不同的b会改变曲线在x方向的位移,b越大曲线越往向右移
  • 不同的c会改变曲线在y方向的高度,c越大曲线越高

那么,根据上面的分析,对于最初我们实际数据画出的曲线,我们可以采用若干个sigmoid函数来进行拟合:
在这里插入图片描述
这样,最初的Model: y=b+wx就可以进化为带sigmoid的形式,同样的,最初的多个feature的Model也可以进化为类似的带sigmoid的形式。这里多个feature的一般形式到sigmoid的形式的转变不是那么直观:需要将若干个x的累加当作一个整体看待,如有更好的理解方法吗,请评论:)
在这里插入图片描述

举例

如果feature个数为3, sigmoid函数的个数为3,那么,蓝色框内就可以改写为如下:
在这里插入图片描述
写成矩阵的形式:
在这里插入图片描述
进一步的,将r进行sigmoid函数求值处理:
在这里插入图片描述
进一步的,再将b和c一块考虑,可以得到最后的形式:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值