Datawhale X 李宏毅苹果书 AI夏令营 Task2 了解线性模型

线性模型

在task1中已经找到一组w和b,该组w和b的损失是480,是所有损失中最小的,已知

  • 2017~2020每天的观看次数

由于已经确定了w和b,所以用这个函数去预测2021年1月1日~2021年2月14日的观看人次,最后取一个平均值,在2021年没有看过的数据上(2021年2月15日以后的),误差值用L’来表示,该误差值是0.58(我不知道怎么得出来的),看下面的图
在这里插入图片描述
图片解释

  • 横轴是时间
  • 纵轴是观看次数,单位:千人
    可以看到蓝色的线相对于红色的线向右偏移了一点, y = 100 + 0.97 x 1 y=100+0.97x_{1} y=100+0.97x1中的100和0.97就是w和b了,观察真实数据发现一个神奇的现象,即每隔7填就会有两天特别低(周五和周六),也就是周期性,那么我们能否参考前7天的数据,把7天前的数据丢给模型,让模型直接预测七天后的观看人次,会不会更准呢?模型的修改往往来自领域知识

顺着上面的思路,我们写出下面的新模型
y = b + ∑ j = 1 7 w j x j y=b+\sum_{j=1}^{7}w_{j}x_{j} y=b+j=17wjxj

  • x j 表示前 7 天的数据 x_{j}表示前7天的数据 xj表示前7天的数据
  • w是权重
  • b是偏置,可以理解为修正

使用该模型预测,其在训练数据上的损失是380,用梯度下降算出w跟b的最优值如下所示
在这里插入图片描述

w i ∗ w_{i}^{*} wi的值设置为很大的话,表示前一天的观看次数对预测第二天观看次数的影响很大。
并且如果前几天的观看次数很高,那么未来的观看次数可能会降低,这也是为什么 w i   2 < = i < = 5 w_{i} \ 2<=i<=5 wi 2<=i<=5设置为负值的原因,因为这些数据与预测值之间存在反比关系

如果只考虑前七天的数据,模型也可以考虑更多的天数,例如前28天。这意味着模型将使用更多的历史数据来预测未来的观看次数,从而提高预测的准确性。通过这种方式,模型可以更好地捕捉数据之间的复杂关系,并做出更准确的预测,

函数修改为
y = b + ∑ j = 1 28 w j x j y=b+\sum_{j=1}^{28}w_{j}x_{j} y=b+j=128wjxj
损失是460,似乎又好了一点,

这样的模型叫做线性模型
接下来是优化

分段性曲线

线性模型的局限性

在这里插入图片描述
这种模型的特点是x越大y越大,通过控制b的大小来控制与y轴的交叉点,这种规律是存在,但似乎太简单了,现实生活中可能会存在这样的当x在A和B之间的时候,x的增大y也增大,当x在B和C之间的时候,x的增大y变小等等,这样不管如何设置w和b,永远制造不出红色线,这就是线性模型的限制
写到这里的时候我就感觉可以用分段函数来解决

红色的曲线可以看作是一个常数加上一群一次函数,只不过这个书里面把一次函数叫做 H a r d   S i g m o i d 函数 Hard \ Sigmoid函数 Hard Sigmoid函数

H a r d   S i g m o i d 函数 Hard \ Sigmoid函数 Hard Sigmoid函数的特性是当输入的值,当x轴的值小于某一个阈值的时候,大于另外一个定值阈值的时候,中间有一个斜坡

在这里插入图片描述
x 1 < = A x_{1}<=A x1<=A,则这一段函数用f1来表示,f1的斜率和红色直线被 x 1 = A x_{1}=A x1=A这条直线所截得得部分保持一致,且f1的b要和红色直线被 x 1 = A x_{1}=A x1=A这条直线所截得的线与y轴的交叉点保持一致

A < = x 1 < = B A<=x_{1}<=B A<=x1<=B,则用f2来表示,f2的斜率要和红色中间部分的斜率保持一致
B < = x 1 < = D B<=x_{1}<=D B<=x1<=D,则用f3来表示,f3的斜率要和红色右边部分的斜率保持一致

这样看上去可行,但如果函数过多呢?不可取啊,有或者是下面的曲线呢?
在这里插入图片描述
取点,然后用调整,用极限逼近

那如果x和y地关系特别复杂呢?用曲线来表示,这里地曲线形似S型曲线,函数表达式也叫做 S i g m o i d 函数,其表达式如下所示 Sigmoid函数,其表达式如下所示 Sigmoid函数,其表达式如下所示
y = c 1 1 + e − ( b + w x 1 ) y=c\frac{1}{1+e^{-(b+wx_{1})}} y=c1+e(b+wx1)1

  • 横轴输入是 x 1 x_{1} x1
  • 输出是y
  • c是常数
    在这里插入图片描述
    极限知识
    x 1 x_{1} x1地值,趋于无穷大地时候, e − ( b + w x 1 ) e^{-(b+wx_{1})} e(b+wx1)这一项会消失,那么就会收敛在高度为c地地方
    x 1 x_{1} x1地值负地非常大地时候,分母会很大,趋近0

我们就可以通过调整b,w和c得到不同形状地Signmoid函数去逼近Hard Sigmoid函数
在这里插入图片描述
如下图所示,红色这条线就是 0 加 1+2+3,而 1、2、3 都是蓝色的函数,其都可写成 (b + wx1),去做 Sigmoid 再乘上 c i c_{i} ci,只是 1、2、3 的 w、b、c 不同。
在这里插入图片描述

在这里插入图片描述

  • x i x_{i} xi表示前i天观看次数,每一个i就代表了一个蓝色地函数,每个蓝色函数都用一个Sigmoid函数来逼近它
    b 1 + w 11 x 1 + w 12 x 2 + w 13 x 3 b_{1}+w_{11}x_{1}+w_{12}x{2}+w{13}x_{3} b1+w11x1+w12x2+w13x3
    $w_{ij}代表在第i个Sigmoid里卖弄,乘给第j个特征地权重,w地第一个下标代表是现在在考虑地是第一个Sigmoid函数,为了简化起见,括号里面地式子为
    r 1 = b 1 + w 11 x 1 + w 12 x 2 + w 13 x 3 r_{1}=b_{1}+w_{11}x_{1}+w_{12}x_{2}+w_{13}x_{3} r1=b1+w11x1+w12x2+w13x3
    r 2 = b 2 + w 21 x 1 + w 22 x 2 + w 23 x 3 r_{2}=b_{2}+w_{21}x_{1}+w_{22}x_{2}+w_{23}x_{3} r2=b2+w21x1+w22x2+w23x3
    r 3 = b 3 + w 31 x 1 + w 32 x 2 + w 33 x 3 r_{3}=b_{3}+w_{31}x_{1}+w_{32}x_{2}+w_{33}x_{3} r3=b3+w31x1+w32x2+w33x3
    看上去有点像矩阵和向量相乘地方法
    [ r 1 r 2 r 3 ] = [ b 1 b 2 b 3 ] + [ w 11 w 12 w 13 w 21 w 22 w 23 w 31 w 32 w 33 ] [ x 1 x 2 x 3 ] \begin{bmatrix} r_{1}\\ r_{2}\\ r_{3} \end{bmatrix} = \begin{bmatrix} b_{1}\\ b_{2}\\ b_{3} \end{bmatrix} +\begin{bmatrix} w_{11} && w_{12} && w_{13}\\ w_{21} && w_{22} && w_{23}\\ w_{31} && w_{32} && w_{33}\\ \end{bmatrix} \begin{bmatrix} x_{1}\\ x_{2}\\ x_{3} \end{bmatrix} r1r2r3 = b1b2b3 + w11w21w31w12w22w32w13w23w33 x1x2x3
    线性代数比较常用地表示方式为
    r=b+Wx

r对应地是r1,r2,r3,r1,r2,r3分别通过Sigmoid函数得到 a 1 , a 2 , a 3 a_{1},a_{2},a_{3} a1,a2,a3

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
线写到这里

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值