Datawhale 机器学习入门Task2

线性模型

将输入的特征 x 乘上一 个权重,再加上一个偏置就得到预测的结果,这样的模型称为线性模型(linear model)。就是说能够简化为y = \sum wx+b格式的模型,可以被称为线性模型。

分段线性曲线

顾名思义, 分段线性曲线是由多段线性函数组合而成的曲线, 例如一条折线。分段线性曲线用来描述简单线性模型不能准确描述的模型。当我们需要的模型是一条折线时, 显然线性 模型有很大的限制,这一种来自于模型的限制称为模型的偏差,无法模拟真实的情况。

在初中我们就学过用分段函数来表示折线, 那能不能用分段函数来表示呢? 虽然方向是对的, 但是没有那么简单。别忘了我们最终要用梯度下降法来优化模型, 这就需要我们进行大量导数运算, 分段函数的导数不一定存在。对此我们可以采用Sigmoid 函数来解决, Sigmoid 函数的表达式为:y = c\frac{1}{1+e^-{(b+wx)}}

理论上来说用足够多的Sigmoid 函数我们可以表示任意一条曲线。先让我们从简单的例子开始: 假设需要三个Sigmoid 函数来表示一个模型,同时该模型需要的特征也变成三个x_{1} x_{2} x_{3}。这样Sigmoid 函数中指数部分将变为b +\sum wx,三个Sigmoid 函数就会变成

为了方便表示我们将其写成矩阵相乘的形式

简写成r = b +wx, 再进一步用\sigma ()来表示Sigmoid 函数, 规定a = \sigma (r)那么最终用线性代数来表示模型就变成了y = b+c^{T}a, 最后又回到了线性模型。

上图为模型的详细展开,将模型中所有的参数拼接在一起可以得到一个长的向量\theta, 损失函数就变成 L(\theta ), 再进行梯度下降即可。

在实际的训练中会把 N 笔数据随机分成一个一个的批量(batch), 不是拿 L 来算梯度,实际上是拿一个批量算出来的 L1, L2, L3 来计算梯度。把所 有的批量都看过一次,称为一个回合(epoch), 每一次更新参数叫做一次更新。更新跟回合是不同的东西。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值