博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
深度学习(二)——传统神经网络
阅读量:3947 次
发布时间:2019-05-24

本文共 1330 字,大约阅读时间需要 4 分钟。

目录

线性回归

1、概念

利用线性关系来描述输入到输出的映射关系。
例:在这里插入图片描述
2、应用场景
网络分析、银行风险分析、基金股价预测、天气预报······

3、优化方法

梯度下降法:
在这里插入图片描述
在这里插入图片描述
梯度计算:
在这里插入图片描述
参数更新:
在这里插入图片描述
4、输出
可以多目标学习,通过合并多个任务loss,一般能够产生此单个模型更好的效果。
在这里插入图片描述
5、局限
线性回归能够清楚的描述分割线性分布的数据,对非线性分布的数据描述较弱。
在这里插入图片描述

从线性到非线性

1、非线性激励

在这里插入图片描述
2、考量标准

  • 正向对输入的调整
  • 反向梯度损失

3、常用非线性激励函数

  • Sigmoid
    在这里插入图片描述
    能将输入数据映射到[0,1],但反向梯度下降非常明显。
  • tahn
    在这里插入图片描述
    能将输入数据映射到[-1,1],反向梯度下降明显。
  • ReLU
    在这里插入图片描述
    正向截断负值损失大量特征,反向梯度没有损失
  • Leaky ReLU
    在这里插入图片描述
    与ReLU相比保留更多参数,反向梯度没有损失,负值时少量梯度反向传播

神经网络的构建

从第一层神经网络到最终输出,每一个神经元的数值由前一层神经元数值,神经元参数W、b以及激励函数共同决定第n+1层第k个神经元的方程,可由公式表示为:

在这里插入图片描述
在这里,m表示第n层神经网络的宽度,n为当前神经网络的深度。
在这里插入图片描述

神经网络的配件

1、损失函数-Loss

影响深度学习性能最重要因素之一,是外部世界对神经网络模型训练的直接指导。合适的损失函数能够确保深度学习模型收敛的更好,设计合适的损失函数是研究工作的主要内容之一。

  • Softmax
    在这里插入图片描述
    使用Softmax函数的好处是这样可以使得分类问题的预测结果更加明显,不同类别之间的差距更大。
  • Cross entropy
    在这里插入图片描述
    Cross entropy的用途:可以用于目标为[0,1]区间的回归问题,以及生成问题。
  • 自定义损失函数
    看中某一个属性:单独将某一些预测值取出或者赋予不同大小的参数;
    合并多个loss:多目标训练任务,设置合理的loss结合方式。例如图片中,识别位置的loss和识别种类的loss作相应的结合,最终结合到一起共同指导模型的训练;
    神经网络融合:不同神经网络loss结合,共同loss对网络进行训练指导,emsemble.

2、学习率-Learning rate

在这里插入图片描述
设置的数值大,收敛的速度比较快;设置的数值小,则产生的精度比较高。
学习率的设置:

  • Fixed 直接固定学习率
  • Step 通过设置步长逐步调整学习速率
  • Adagrad 在训练参数的过程中动态调整学习率

3、动量

在模型梯度下降的过程中,会让模型沿着已经得到优化的方向前进,不用重新找方向,只是需要微调。
在这里插入图片描述
在这里插入图片描述
前一种是在原点上考虑梯度,然后结合动量投射相加做更新;
后一种是在动量投射的基础之上进行梯度更新,动量相加做更新。

4、过拟合-Overfitting

在这里插入图片描述
如果更多的参数能够参与决策,会对输入有更高的适应性,w‘更好。
应对过拟合:

  • Regularization
    在这里插入图片描述
  • Dropout
    随机的选择一部分神经元将他们的输出置为零,一般选择的Dropout的比例为50%。随机选择神经元节点会使得表现更加均衡。
  • Fine-tuning /Data Augmentation
    本质上就是用一些已经训练好的模型,再去进行训练,这个过程中,大部分的参数已经不用再更新,实际的参数大量减少。
    在这里插入图片描述

转载地址:http://qrmwi.baihongyu.com/

你可能感兴趣的文章
FTP下载类, windows平台下对CFtpConnection上传下载的封装类
查看>>
代码自动生成-宏带来的奇技淫巧
查看>>
VC com开发中实现IObjectSafety
查看>>
c# 正则表达式基础
查看>>
C#3.0语言新特性
查看>>
W32Dasm反汇编工具使用教程
查看>>
EXE破解工具介绍
查看>>
机械码对应值
查看>>
常用语音编码的WAVE文件头格式剖析--各种编码
查看>>
在VC6集成环境中开发设备驱动程序的方法
查看>>
如何进行软件需求分析
查看>>
有关数据挖掘的10个常见问题
查看>>
电信数据挖掘
查看>>
电信数据挖掘之流失管理
查看>>
电信运营商如何进行客户细分
查看>>
c++名库介绍
查看>>
boost1.43在win7下的编译
查看>>
VC++工程如何脱离VSS环境
查看>>
转 hook 自绘原理
查看>>
NSIS 脚本介绍
查看>>