Datawhale X 李宏毅深度学习入门 第五期

Hello,各位小伙伴们。我们今天来聊聊有关于深度学习第二篇——线性模型的具体内容分析。在上篇笔记中,我们简单介绍了一下机器学习的有关内容,我在文末提到了有关于线性模型的概念,今天,我将具体介绍一下线性模型这一讲的内容。

上一篇笔记中,我用后台的数据(2017-2021年的数据)拟合出了一个数据模型。我们通过对比和分析可以发现,机器拟合出的模型子啊已知数据上的误差L是480;在未知数据上的误差L’是580。于是我们得出一个结论,机器模型在训练数据上的误差是比较小的,在没训练过的数据上误差是比较大的。

现在我们来看一下真实的数据和机器拟合的数据之间的差别,我们用红线代表真实观看数据,用蓝色代表预测观看数据,可以得到以下的数据图:

相信大家可以发现,蓝色的线与红色的线十分相近,几乎就是红色的线往后平移一天。这其实是由于我们的预测模型是 y=0.97x+100, 而x的单位是1000次导致的。我们把x的1000拿出来,让x=1000*b,那前一天的数据就是1000b,而隔天的数据则是0.97*(b+1)*1000,所以看起来就像平移了一天一样。

我们再仔细观察这幅图,我们可以发现这个图是周期性的,每隔7天就会有两天的观看数据特别低,分别是周五和周六。我们之前的模型是以每天的观看数据进行预测的,无法预测到更后面的数据,所以我们需要对现有的模型进行修改。

根据它的周期性,我们将它的模型调整为:

                                           

这里的 j 指的是我们的特征值,也就是第几天,wj 指的是第 j 天的不同权重,xj指的是第 j天的观看数量。现在,我们再次进行预测,我们发现前7天模型进行预测的损失L’’是380,而只考虑一天进行预测的损失L是480,。显然,我们调整过的模型更为准确。

我们再次用28天和56天的数据进行调试,28天模型在训练数据上的损失是330,在未训练数据上的损失是460;56天模型在训练数据上的损失是320,在未训练数据上的损失是460。看来已经到极限了。

这些模型都是把输入的特征 x 乘上一个权重,再加上一个偏置就得到预测的结果,我们把这样的模型称为线性模型(linear model)

分段线性曲线

在线性模型中,y=wx+b,w是权重,b是偏置。我们可以用线性模型画出许多蓝色的线,但却无法表达出红色的线,那现在我们应该怎么办呢?

为了让函数不用分段,可以用任意x表示,在这里,我们选择用多个相近的蓝色线条进行组合,得到红色线条,如下图:

我们可以用0+1+2+3得到完整的红线。所以红线,即分段线性曲线,可以认为是一个常数+一堆蓝色函数组合而成的模型。分段线性曲线越复杂,转折点越多,所需要的蓝色曲线也越多。

肯能有小伙伴会问,如果不是线性曲线,是曲线该怎么办?同理,我们可以在曲线上取一些点,将它们连起来,得到新的分段线性曲线;这些点取的越接近,函数就越逼近原先的曲线。我们继续用一个常数和若干不同的蓝线来表示这个函数就可以了。

好了,现在让我们来一起认识一下这些蓝色的线,它们叫做Hard Sigmoid。它们的解析式不容易表达,但没关系我们可以用Sigmoid函数表达式来逼近它:

Sigmoid的函数表达式为:

                                                

如果 x1 的值,趋近于无穷大的时候,e −(b+wx1) 这一项就会消失,当 x1 非常大的时候,
这一条就会收敛在高度为 c 的地方。如果 x1 负的非常大的时候,分母的地方就会非常大,y
的值就会趋近于 0。
为了简洁,去掉了指数的部分,蓝色函数的表达式为:
调整这里的 bw c 可以制造各种不同形状的 Sigmoid 函数,用各种不同形状的 Sigmoid
函数去逼近 Hard Sigmoid 函数。如图 1.11 所示,如果改 w,就会改变斜率,就会改变斜坡
的坡度。如果改了 b,就可以把这一个 Sigmoid 函数左右移动;如果改 c,就可以改变它的高
度。所以只要有不同的 w 不同的 b 不同的 c,就可以制造出不同的 Sigmoid 函数,把不同的
Sigmoid 函数叠起来以后就可以去逼近各种不同的分段线性函数;分段线性函数可以拿来近
似各种不同的连续的函数。
所以,我们可以将红线表达成:
此外,我们可以代入不止一个特征值。我们可以用多个特征代入不同的 c, b, w,组合出各种不
同的函数,从而得到更有灵活性的函数。举个例子,对于x1,蓝线的表达式分别是c1sigmoid(b1+w1x1),  c2 sigmoid(b2+w2x1) 和 c3 sigmoid(b3+w3x1) ; 同理,对于x1,x2,x3,
蓝线的表达式为:c1sigmoid(b1+w11x1+w12x2+w13x3), c2 sigmoid(b2+w21x2+w22x2+w23x3),  
c3 sigmoid(b3+w31x3+w32x2+w33x3)。
为了简化表达,我们令:
r1 = b1 + w11x1 + w12x2 + w13x3
r2 = b2 + w21x1 + w22x2 + w23x3
r3 = b3 + w31x1 + w32x2 + w33x3
我们用矩阵跟向量相乘的写法,写了一个比较简洁的写法:
最终,我们化简为 r = b + Wx。
我们今天先学到这里,这就是有关于线性模型的初步内容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值