码迷,mamicode.com
首页 > 其他好文 > 详细

神经网络

时间:2018-07-26 13:22:08      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:技术分享   end   否则   阅读   dom   数值   rop   html   数据   

浅层神经网络:

神经网络的输出

 

技术分享图片

 

矩阵公式:输出=激活函数(输入x权重+偏差)

 

多层感知器识别手写数字:

关键点:

  1. input:[None,784]
  2. output:[None,10]
  3. 隐藏层:256
  4. 如何随机初始化参数
  5. loss函数如何计算
 

随机初始化

weight:
np.random.randn() or np.random.uniform() # 正态分布打破对称性
bias:
初始化为0是可行的。

 

深层神经网络:

深层神经网络

 

技术分享图片

 

为什么深层的网络在很多问题上比浅层的好?

 
  1. 前几层学习低层次简单特征
  2. 后几层结合多个简单特征,探测复杂特征
 

深层的网络隐藏单元数量相对较少,隐藏层数目较多,如果浅层的网络想要达到同样的 计算结果则需要指数级增长的单元数量才能达到。

 

参数VS超参数

 
  1. 学习率
  2. 梯度下降循环数量
  3. 隐藏层数
  4. 隐藏层单元数目
  5. 激活函数选择
 

应用深度学习领域,一个很大程度基于经验的过程,凭经验的过程通俗来说,就是试直到你找到合适的数值。

 

改善深层神经网络:

关于训练集、验证集、测试集的划分。

大数据时代,测试集的主要目的是正确评估分类器的性能,
所以,如果拥有百万数据,我们只需要 1000 条数据,便足以评估单个分类器,并且准确评估该分类器的性能.
98%,1%,1%.

 

验证集和测试集要确保同一分布

 

数据归一化:

机器学习模型使用梯度下降法求最优解时,归一化往往非常有必要,否则很难收敛甚至不能收敛,一般归一化操作有两种:

1.最值归一化

 技术分享图片

2. 均值标准差归一化

技术分享图片

 

交叉验证集:

 

正则化:

1. 岭回归和lasso回归

2. dropout

3. 数据扩增

4. early stopping(提早停止训练神经网络)

技术分享图片

为什么正则化可以减少过拟合?

直观上理解就是如果正则化设置得足够大,权重矩阵

被设置为接近于 0 的值,直观
理解就是把多隐藏单元的权重设为 0,于是基本上消除了这些隐藏单元的影响。

 

梯度消失、梯度爆炸:

解决:随机初始化神经网络参数。

如何初始化神经网络权重参数?

relu激活函数:

w[i] = np.random.randn(shape)*np.sqrt(2/n[i-1]) # n[i-1]:上一层的输入特征数,w[i]这一层的权重系数

#### np.sqrt(1/n[i-1])

#### np.sqrt(2/(n[i-1]+n[i]))   

梯度调试(只在调试的时候使用):

采用双边误差检验时,我们使用双边误差,(f(θ+x)-f(θ-x))/2x,因为单边误差(f(θ+x)/x)不够准确。

如果不正确,程序可能有bug需要你去解决。。。

 

Adam优化算法:

 

系统地组织超参调试过程的技巧:

学习率α>隐藏层节点数>mini_batch size >隐藏层数>学习次数

 大量阅读别人的案例。

神经网络

标签:技术分享   end   否则   阅读   dom   数值   rop   html   数据   

原文地址:https://www.cnblogs.com/zenan/p/9341137.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!