Datawhale X 李宏毅苹果书 AI夏令营-深度学习入门班-task2-分段线性曲线

引入

上一篇文章中我们了解了机器学习中最基本的模型线性模型(Linear models),由于其过于简单(只能调整其斜率w与截距b)无法反映真实数据中多数折线或曲线情况这种限制称为模型偏差(model bias)。下文介绍:如何构建更复杂,误差更小的函数解决问题。

注:此处的bias与线性模型中的b不同。

构建函数

思路

  • 折线

选取一个可调整的“标准函数”,让其作为基本元素叠加构造出折线的效果。转折点越多,取用的标准函数越多。

  • 曲线

在曲线上取尽量多的点连成折线,将其转化成折线图后,进入折线思路。任何曲线都可以用折线逼近,取的点越多,函数构建越精确。

如上图,将蓝色“标准函数”0+1+2+3,就能构造出红色的模型函数。

构建模型函数

新模型函数为:分段线性曲线(piecewise linear curve)此处选取Sigmoid函数(名字源于其像S型,又称S型函数)作为“标准函数”。极限后为Hard Sigmoid函数。其表达式为:

其中通过调整参数w、b、c,构造不同形状的折线,贴近目标函数。效果如下:

计算参数

  • 优化模型函数

类比线性函数的优化过程,分段线性函数加入天数的考虑后如下:

注:对wij的解释:i为参与的标准函数(sigmoid)编号,j为天数的叠加编号。如下:

  • 计算操作

所含参数:b(数值)、w、b(偏置bias)、c。通过上一篇文章梯度下降(gradient descent)寻找Loss函数全局最小值(global minima)的方法精确参数。简化操作如下:

  • 简化处理

对于大量数据的处理,可部分简化处理,将N组数据随机分成一个一个的批量(batch),根据每一个批量算出来的 L1、L2、L3 来计算梯度,并更新参数。把所有的批量都看一次称为一个回合(epoch)。每算出一个L,计算一个梯度,更新一次参数,称为一次更新(update)

其他“标准模型”

Sigmoid函数之外,还有修正线性单元(Rectified Linear Unit,ReLU),二者是常用的激活函数(activation function)。两个ReLU能合成一个Sigmoid函数。下图是ReLU表达式:

注:ReLU相对来说是比Sigmoid函数要好的。

继续优化模型,可以从 x 变成 a,就是将x通过Sigmoid 函数或通过 ReLU 得到 a,把 x 做一连串的运算产生 a,接下来把 a 做同样一连串的运算产生 a′。

注:w, b 和 w′, b′ 不是同一个参数,是增加了更多的未知的参数。

  • 这里会出现一个小问题

在由三层到四层深入运算时,发现在训练数据中减小了误差,但是在未知数据中反而增大了误差。这种情况称为过拟合(overfitting)

深度学习框架

在以上构建函数过程中,Sigmoid 和ReLU 称为神经元(neuron),很多的神经元串联成神经网络(neural network),这是模拟人脑中的称呼。后来将每一排为一层,称为隐藏层(hiddenlayer),隐藏层越多就越深,故称这套技术为深度学习。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值