Deep Learnig(2)

1.神经网络起源:线性回归

(1)一个线性回归问题

   目标方程: y = a x 1 + b x 2 + c x 3 + d \mathrm{y}=\mathrm{ax}_{1}+\mathrm{bx}_{2}+\mathrm{cx}_{3}+\mathrm{d} y=ax1+bx2+cx3+d
   参数: m = [ a , b , c , d ] \mathrm{m}=[\mathrm{a}, \mathrm{b}, \mathrm{c}, \mathrm{d}] m=[a,b,c,d]
   数据:
[ ( x 1 , 1 , x 2 , 1 , x 3 , 1 ) , ( x 1 , 2 , x 2 , 2 , x 3 , 2 ) , … ( x 1 , n , x 2 , n , x 3 , n ) ] [ y 1 , y 2 … … y n ] \begin{array}{l} {\left[\left(x_{1,1}, x_{2,1}, x_{3,1}\right),\left(x_{1,2}, x_{2,2}, x_{3,2}\right), \ldots\left(x_{1, n}, x_{2, n}, x_{3, n}\right)\right]} \\ {\left[y_{1}, y_{2} \ldots \ldots y_{n}\right]} \end{array} [(x1,1,x2,1,x3,1),(x1,2,x2,2,x3,2),(x1,n,x2,n,x3,n)][y1,y2yn]
   预测: y ^ t = a x 1 , t + b x 2 , t + c x 3 , t + d \hat{y}_{t}=a x_{1, t}+b x_{2, t}+c x_{3, t}+d y^t=ax1,t+bx2,t+cx3,t+d
   目标:minimize ( y ^ t − y t ) \left(\hat{y}_{t}-y_{t}\right) (y^tyt)
   优化方法:梯度下降
在这里插入图片描述

(2)梯度下降法计算模型参数

   当前: m 0 = [ a 0 , b 0 , c 0 , d 0 ] \mathrm{m}_{0}=\left[\mathrm{a}_{0}, \mathrm{b}_{0}, \mathrm{c}_{0}, \mathrm{d}_{0}\right] m0=[a0,b0,c0,d0]
   梯度计算:
Loss ⁡ = a x 1 , t + b x 2 , t + c x 3 , t + d − y \operatorname{Loss}=\mathrm{ax}_{1, \mathrm{t}}+\mathrm{bx}_{2, \mathrm{t}}+\mathrm{cx}_{3, \mathrm{t}}+\mathrm{d}-\mathrm{y} Loss=ax1,t+bx2,t+cx3,t+dy
在这里插入图片描述
   参数更新: m : = m − η Δ m \mathrm{m}:=\mathrm{m}-\eta \Delta \mathrm{m} m:=mηΔm
   梯度下降法总结:
       随机初始化参数
       开启循环: t = 0 , 1 , 2 , ⋯ t=0,1,2,\cdots t=0,1,2,
          带入数据求出结果 y ^ t \hat{\mathrm{y}}_{\mathrm{t}} y^t
          与真值比较得到loss = y − y ^ t =y-\hat{y}_{t} =yy^t
          对各个变量求导得到 △ m \triangle \mathrm{m} m
          更新m
          如果loss足够小或t循环结束,终止。

(3)多目标学习

   通过合并多个任务loss,一般能产生比单个模型更好的结果。
在这里插入图片描述

线性回归的局限性:
   线性回归能够清楚的描述分割线性分布的数据,对非线性分布的数据描述较弱。

在这里插入图片描述

2.从线性到非线性

非线性激励
   考量标准:
      1.正向对输入的调整;
      2.反向梯度损失。
在这里插入图片描述
常用的非线性激励函数

(1)Sigmoid函数

   将输入数据映射到[0,1],梯度下降明显,至少减少 75 % 75 \% 75%,梯度最大值为0.25。
y ( x ) = sigmoid ⁡ ( x ) = 1 1 + e − x y(x)=\operatorname{sigmoid}(x)=\frac{1}{1+e^{-x}} y(x)=sigmoid(x)=1+ex1
y ( x ) ′ = y ( x ) ( 1 − y ( x ) ) ) \left.y(x)^{\prime}=y(x)(1-y(x))\right) y(x)=y(x)(1y(x)))
在这里插入图片描述

(2)tahn函数

   将输入数据映射到[0,1],梯度下降明显。
f ( x ) = tanh ⁡ ( x ) = 2 1 + e − 2 x − 1 f ′ ( x ) = 1 − f ( x ) 2 \begin{aligned} &f(x)=\tanh (x)=\frac{2}{1+e^{-2 x}}-1\\ &f^{\prime}(x)=1-f(x)^{2} \end{aligned} f(x)=tanh(x)=1+e2x21f(x)=1f(x)2
在这里插入图片描述

(3)ReLu函数

   正向截断负值,损失大量特征(特征足够多,不会有影响),但是反向梯度没有损失。
f ( x ) = { 0  for  x < 0 x  for  x ≥ 0 f ′ ( x ) = { 0  for  x < 0 1  for  x ≥ 0 \begin{aligned} &f(x)=\left\{\begin{array}{lll} 0 & \text { for } & x<0 \\ x & \text { for } & x \geq 0 \end{array}\right.\\ &f^{\prime}(x)=\left\{\begin{array}{lll} 0 & \text { for } & x<0 \\ 1 & \text { for } & x \geq 0 \end{array}\right. \end{aligned} f(x)={0x for  for x<0x0f(x)={01 for  for x<0x0
在这里插入图片描述

(4)Leaky ReLU函数

   保留更多参数,少量梯度反向传播。
f ( x ) = { 0.01 x  for  x < 0 x  for  x ≥ 0 f ′ ( x ) = { 0.01  for  x < 0 1  for  x ≥ 0 \begin{aligned} &f(x)=\left\{\begin{array}{rll} 0.01 x & \text { for } & x<0 \\ x & \text { for } & x \geq 0 \end{array}\right.\\ &f^{\prime}(x)=\left\{\begin{array}{rll} 0.01 & \text { for } & x<0 \\ 1 & \text { for } & x \geq 0 \end{array}\right. \end{aligned} f(x)={0.01xx for  for x<0x0f(x)={0.011 for  for x<0x0
神经元-神经网络
在这里插入图片描述

问题:有没有线性回归网络?

并没有。
X 1 = W 0 ⋅ X 0 , X 2 = W 1 ⋅ X 1 , Y = W 2 ⋅ X 2 Y = W 2 ⋅ W 1 ⋅ W 0 ⋅ X 0 = W 3 ⋅ X 0 \begin{array}{l} X_{1}=W_{0} \cdot X_{0}, X_{2}=W_{1} \cdot X_{1}, Y=W_{2} \cdot X_{2} \\ Y=W_{2} \cdot W_{1} \cdot W_{0} \cdot X_{0}=W_{3} \cdot X_{0} \end{array} X1=W0X0,X2=W1X1,Y=W2X2Y=W2W1W0X0=W3X0

3.神经网络的构建

(1)神经元的“并联”和“串联”

   从第一层神经完了过得到最终输出,每一个神经元的数值由前一层神经元数值,神经元参数W,b以及激励函数共同决定,第n+1层第k个神经元的方程可由公式表示为:
z n + 1 , k = ∑ i = 1 m W n , k , i ⋅ x n , i + b n , k y n + 1 , k = 1 1 + e − z n + 1 , k \begin{aligned} &z_{n+1, k}=\sum_{i=1}^{m} W_{n, k, i} \cdot x_{n, i}+b_{n, k}\\ &y_{n+1, k}=\frac{1}{1+e^{-z_{n+1, k}}} \end{aligned} zn+1,k=i=1mWn,k,ixn,i+bn,kyn+1,k=1+ezn+1,k1
在这里插入图片描述

(2)神经元的优化

   链式法则
   计算梯度:
      
      output->last layer Loss–> Δ y n \Delta \mathrm{y}_{\mathrm{n}} Δyn
      layer–>layer Δ y n − > Δ x n \quad \Delta \mathrm{y}_{\mathrm{n}^{-}}>\Delta \mathrm{x}_{\mathrm{n}} Δyn>Δxn
      layer->parameter Δ y n − > Δ w n \quad \Delta \mathrm{y}_{\mathrm{n}^{-}}>\Delta \mathrm{w}_{\mathrm{n}} Δyn>Δwn
在这里插入图片描述

4.神经网络的配件

(1)损失函数

   Softmax:
σ ( z ) j = e z j ∑ k = 1 K e z k  for  j = 1 , … , K \sigma(\mathbf{z})_{j}=\frac{e^{z_{j}}}{\sum_{k=1}^{K} e^{z_{k}}} \quad \text { for } j=1, \ldots, K σ(z)j=k=1Kezkezj for j=1,,K
      Loss影响:
[ 1 , 2 , 3 , 4 , 1 , 2 , 3 ] ⟶ [ 0.024 , 0.064 , 0.175 , 0.475 , 0.024 , 0.064 , 0.175 ] [1,2,3,4,1,2,3] \longrightarrow[0.024,0.064,0.175,0.475,0.024,0.064,0.175] [1,2,3,4,1,2,3][0.024,0.064,0.175,0.475,0.024,0.064,0.175]
      Softmax好处,分类问题的预测结果更明显。
   交叉熵:
L ( w ) = 1 N ∑ n = 1 N H ( p n , q n ) = − 1 N ∑ n = 1 N [ y n log ⁡ y ^ n + ( 1 − y n ) log ⁡ ( 1 − y ^ n ) ] L(\mathbf{w})=\frac{1}{N} \sum_{n=1}^{N} H\left(p_{n}, q_{n}\right)=-\frac{1}{N} \sum_{n=1}^{N}\left[y_{n} \log \hat{y}_{n}+\left(1-y_{n}\right) \log \left(1-\hat{y}_{n}\right)\right] L(w)=N1n=1NH(pn,qn)=N1n=1N[ynlogy^n+(1yn)log(1y^n)]
      Explode问题解决:
Loss = − Σ ( l ⋅ log ⁡ ( p + 0.05 1.05 ) + ( 1 − l ) ⋅ log ⁡ ( 1.05 − p 1.05 ) ) \text {Loss}=-\Sigma\left(l \cdot \log \left(\frac{p+0.05}{1.05}\right)+(1-l) \cdot \log \left(\frac{1.05-p}{1.05}\right)\right) Loss=Σ(llog(1.05p+0.05)+(1l)log(1.051.05p))
      用途,目标为 [ 0 , 1 ] [0,1] [0,1]区间的回归问题,以及生成。
   自定义损失函数
      a.看重某一属性:单独将某一些预测值取出或赋予不同大小的参数;
      b.合并多个loss:多目标训练任务,设置合理的loss结合方式(各种运算)
      c.神经网络融合:不同神经网络loss融合,共同loss对网络进行训练指导。

(2)学习率

   数值大:收敛速度快,数值小,精度高。
在这里插入图片描述
   选择合适的学习率:
      (1)Fixed;
      (2)Step;
      (3)Adagrad;
在这里插入图片描述
      (4)RMSprop;
在这里插入图片描述

(3)动量

   正常情况在这里插入图片描述
   动量更新:
在这里插入图片描述
方向不同找的更准确。
在这里插入图片描述

(4)过拟合

在这里插入图片描述
   过拟合应对:

a.正则化

在这里插入图片描述

b.Dropout

随机舍弃掉一些特征,通常为50%,与Pooling的区别:Pooling本质是降维,Droupout本质是正则化。

c.Fine-tuning

大部分参数不用更新,实际的参数大量减少。
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值