0419

B站深度学习视频https://www.bilibili.com/video/BV1ht411i7Ld?p=1

  12-17  总结

 

 

神经网络泛化能力一定要强

 

**函数与损失函数

https://www.jianshu.com/p/e5bcdd932d05

**函数的作用

线性模型的表达能力不够,**函数增加神经网络模型的非线性,提升神经网络模型表达能力(数据往往线性不可分 )。

几种**函数:

Sigmoid:常用来做二分类任务,会造成梯度消失

Tanh:sigmod函数曲线相近。两个函数输入很大或是很小时,输出几乎平滑,梯度很小,不利于权重更新。不同的是输出区间,tanh的输出区间是在(-1,1)之间,函数以0为中心。比sigmoid 好。一般二分类问题中,隐藏层用tanh函数,输出层用sigmod函数。

Relu:f(x)=max(0,x)

从零开始深度学习0419——CNN基本知识

Softmax:常用在多分类神经网络输出

Leaky relu

Elu

Maxout

几种损失函数

二次代价函数

交叉熵代价函数

 

 

 

梯度消失

从零开始深度学习0419——CNN基本知识

使用sigmoid**函数,会造成梯度消失的问题。

在输入x大于10后,计算sigmoid的斜率会约等于0,而更新w是一个累乘的过程,就会使前面的w值计算结果无限接近与0,造成梯度消失问题

 

 

可视化神经网络演示网页

https://cs.stanford.edu/people/karpathy/convnetjs/demo/classify2d.html

 

 

正则化,提高神经网络的泛化能力

从零开始深度学习0419——CNN基本知识

 

神经元越多,越能表示复杂的模型,但是过拟合的风险也越高

 

 

数据预处理

从零开始深度学习0419——CNN基本知识

原始数据—> 以0 为中心化 -à归一化处理    保证所有数据都是在(0,1)之间

 

Numpy.mean

https://blog.csdn.net/lilong117194/article/details/78397329

mean()函数功能:求取均值 
经常操作的参数为axis,以m * n矩阵举例:

axis 不设置值,对 m*n 个数求均值,返回一个实数

axis = 0:固定列,压缩行,对各列求均值,返回 1* n 矩阵

axis =1 :固定行,压缩列,对各行求均值,返回 m *1 矩阵

 

numpy.std

https://blog.csdn.net/chixujohnny/article/details/51106481

计算矩阵标准差

axis=0计算每一列的标准差

axis=1计算每一行的标准差

 

 

权重初始化

权重初始化的时候,不能全是1,或者全是2等等,因为无论是几这样反向传播回来的时候都是朝1个方向去更新的。相当于这个神经网络迭代太慢了或者太弱了

 

通常要进行高斯初始化或者随机初始化。

从零开始深度学习0419——CNN基本知识

偏置b 初始化一般是0或者1   对结果影响很小

 

 

Droup-Out

为了防止过拟合

每次随机选择神经元。  

假如设定 droup-out率 保留率 60%  就是每次随机选择60%的神经元去玩前向传播+反向传播

从零开始深度学习0419——CNN基本知识

迭代次数去弥补神经元少的问题

 

 

 

 

Anaconda

anaconda search  -t conda tensorflow  查找tensorflow  有哪些可安装的库

anaconda show …..    搜索出安装这个库 需要什么命令

相关文章:

  • 2021-12-01
  • 2021-12-31
  • 2021-05-14
  • 2021-07-21
  • 2021-11-21
  • 2021-12-18
  • 2021-09-29
  • 2022-12-23
猜你喜欢
  • 2022-01-06
  • 2021-05-03
  • 2022-01-01
  • 2021-08-27
  • 2021-04-28
  • 2021-08-13
  • 2022-01-03
相关资源
相似解决方案