Datawhale X 李宏毅苹果书 AI夏令营task2笔记

1.2 线性模型

1.2.1 分段线性曲线

建立分段线性曲线的必要性:线性模型也许过于简单,x1 跟 y 可能中间有比较复杂的关系。对于线性模型来说,y只能随x的增加而增加,这显然与现实情况不符。这一种来自于模型的限制称为模型的偏差。

1.建立分段线性曲线:

如图1.8,分段线性曲线(红色线)可以看作是一个常数再加上一堆其他的函数(蓝色线)。如果分段线性曲线越复杂,转折的点越多,所需的蓝色函数就越多。其中红线每个转折都是一个常数项加上hard sigmoid函数。当有足够的其他函数把它加起来,就可以变成连续的曲线(如图1.9)

Sigmoid 函数:当y与x的关系非常复杂,直接写 HardSigmoid 不是很容易时,可以用一条曲线来理解它,即用 Sigmoid 函数来逼近 Hard Sigmoid函数,Sigmoid 函数的表达式为:

值得一提的是,调整这里的 b、w 和 c 可以制造各种不同形状的 Sigmoid 函数,用各种不同形状的 Sigmoid函数去逼近 Hard Sigmoid 函数。如图 1.11 所示,如果改 w,就会改变斜率,就会改变斜坡的坡度。如果改了 b,就可以把这一个 Sigmoid 函数左右移动;如果改 c,就可以改变它的高度,如图所示:

2.定义损失:

之前是 L(w, b),因为 w 跟 b 是未知的。现在未知的参数很多了,再把它一个一个列出来太累了,所以直接用 θ 来统设所有的参数,所以损失函数就变成 L(θ)。损失函数便能够判断 θ 的好坏。

损失的计算:要找到 θ 让损失越小越好,可以让损失最小的一组 θ 称为 θ∗。一开始要随机选一个初始比较有灵活性函数的计算过程的数值 θ0。接下来计算每一个未知的参数对 L 的微分,得到向量 g,即可以让损失变低的函数g = ∇L(θ0) 。
        假设有 1000 个参数,这个向量的长度就是 1000,这个向量也称为梯度,∇L 代表梯度。L(θ0) 是指计算梯度的位置,是在 θ 等于 θ0 的地方。计算出 g 后,接下来跟新参数,让θ0 代表起始的值,根据梯度去把 θ0 更新成 θ1,再算一次梯度,再根据梯度把 θ1 再更新成 θ2,再算一次梯度把 θ2 更新成 θ3,以此类推,直到不想做。或者计算出梯度为 0 向量,导致无法再更新参数为止。简化过程如图所示:

1.2.2 模型变形

在了解模型变形前,需要先了解激活函数的概念。

激活函数:首先HardSigmoid 可以看作是两个修正线性单元(ReLU)的加总,其对印的公式为c ∗ max(0, b + wx1)。而2 个 ReLU 才能够合成一个 Hard Sigmoid。要合成 i 个 Hard Sigmoid,需要 i 个 Sigmoid,如果 ReLU 要做到一样的事情,则需要 2i 个 ReLU,因为 2 个 ReLU 合起来才是一个 Hard Sigmoid。因此表示一个 Hard 的 Sigmoid 不是只有一种做法。所以在机器学习里面,Sigmoid 或 ReLU 称为激活函数。

继续改模型的方法:从 x 变成 a,就是把 x 乘上 w 加 b,再通过Sigmoid 函数。不一定要通过 Sigmoid 函数,通过 ReLU 也可以得到 a,同样的事情再反复地多做几次。 所以可以把 x 做这一连串的运算产生 a,接下来把 a 做这一连串的运算产生 a′、w'、b'。之后将a'再次带入,可不断将误差减小。

 1.2.3 机器学习框架:

构建机器学习框架的方法:1、写出含有未知参数的函数;

                                           2、定义损失;

                                           3、优化损失

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值