Datawhale X 李宏毅苹果书 AI夏令营:关于线性模型task2

线性模型:

经由上一篇文章的介绍,我们得出了一个合适的w与b的值,将其带入先前所建立的函式中,得到一个具体的函数。接下来使用该函数对某一时间段的观看次数进行拟合,得出模拟的数据,并将其与标签(label)进行对比,计算其损失(loss)。我们发现,该函数具有周期性。单纯使用一个一次函数无法准确预测数据,因此我们需要改进模型。

在观察数据后,我们得出结论,每七天有一次循环。因此我们将七天作为一组,重新建立一个函式。

该函式考虑了更多的信息,其对数据的预测准确度要高于前一个函式。创建一个模型往往需要考虑问题的具体情况以及对它的理解,这取决于研究者在该领域的专业知识。

尽管有些许不同,但以上两种函式实际上属于同一种模型,像这样把输入的特征 x 乘以权重w,再加上一个偏置b以得到预测结果的模型,称为线性模型(linear model)

分段线性模型

在面对某些问题时,单一的线性模型可能过于简单。如图所示,蓝色的线性模型并不能很好的预测红色曲线所代表的数据,因此我们采用另一种模型,分段线性曲线(piecewise linear curve)。

红色曲线可以看作是一个常数再加上一群 Hard Sigmoid 函数。Hard Sigmoid 函数的特性是当输入的值,当 x 轴的值小于某一个阈值并大于另一个阈值时,其中的权重是一定的。因此分段线性模型可以由大量的线性模型组成。

假如x与y的关系是一条曲线,那么通过大量的线性模型叠加,同样可以得到一个曲线模型。

假如x与y的关系非常复杂,也可以先尝试表达出未知数。例如写一个Sigmoid函数:

随后用它来逼近Hard Sigmoid 函数。

当 x1 的值,趋近于无穷大时,e−(b+wx1) 这一项会消失,当 x1 非常大时,这一项将会收敛在高度为 c 的地方。当 x1 负的非常大时,分母就会非常大,y的值就会趋近于 0。因此可以用这样的一个函数逼近蓝色的函数,即 Sigmoid 函数。为了简洁,去掉了指数的部分,蓝色函数的表达式为

因此可以用 Sigmoid 函数逼近 Hard Sigmoid 函数。

以此为例,许多模型都可以以这种方式进行拟合。

机器学习框架

我们会有大量训练数据以及测试数据,而测试集则是只有 x 没有 y。

步骤:

1. 先写出一个有未知数 θ 的函数,θ 代表一个模型里面所有的未知参数。

2. 定义损失,损失是一个函数,其输入就是一组参数,以此来判断这一组参数的好坏;

3. 解一个优化的问题,找一个 θ,该 θ 可以使损失的值越小越好。让损失的值最小的 θ 为θ∗,即

有了 θ∗ 以后,就把它拿来用在测试集上,也就是把 θ∗ 带入这些未知的参数,本来 fθfθ(x)里面有一些未知的参数,现在 θ 用 θ∗ 来取代,输入是测试集,输出的结果存起来,上传到Kaggle 就可以了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值