首页 > Web开发 > 详细

神经网络和深度学习 (Neural Network & Deep Learning)

时间:2020-07-15 01:21:05      阅读:52      评论:0      收藏:0      [点我收藏+]

  深度学习其实就是有更多隐层的神经网络,可以学习到更复杂的特征。得益于数据量的急剧增多和计算能力的提升,神经网络重新得到了人们的关注。

1. 符号说明

 技术分享图片

 

技术分享图片

 2. 激活函数

  为什么神经网络需要激活函数呢?如果没有激活函数,可以推导出神经网络的输出y是关于输入x的线性组合,那么神经网络的隐层就没有任何意义,对于这样的模型,直接使用线性回归拟合就可以了。

  一些常见的激活函数如下所示:

技术分享图片

  在上一篇文章中推导了BP算法,其中使用了Sigmoid函数作为激活函数,具有良好的连续性和可导性。

  使用tanh函数时,神经网络中的参数能得到标准化,所有的数据会聚集在0附近,更有利于收敛。

  而上面两个函数在x较大或较小时,其导数接近于0,在使用梯度下降法时会导致收敛速度慢,因此,又提出了ReLU函数。

  Leaky ReLU函数是对ReLU的改良,使x为负数时导数不为0,该函数使用较少。

技术分享图片

   在神经网络中,每一层可以使用不同的激活函数,例如隐层使用ReLU函数,输出层使用sigmoid函数。

 3. Logistic Regression

  逻辑回归模型可以帮助我们更好地理解神经网络。

技术分享图片

 

  接下来需要定义损失函数(Loss function),假设有m个样本,在线性回归方程中,我们定义的损失函数是所有模型误差的平方和。理论上,也可以对逻辑回归模型沿用这个定义,但问题是这样的损失函数会是非凸的:

技术分享图片

技术分享图片

 

   此时,损失函数里有许多局部极小值,这将影响梯度下降法寻找全局最小值。我们重新定义逻辑回归的损失函数为:

技术分享图片

  我们需要最小化损失函数。

  逻辑回归中的梯度下降:

技术分享图片

技术分享图片

 4. Forward and backward propagations

技术分享图片

技术分享图片

   程序编写过程中需要特别注意各矩阵维度定义。

5. 参数和超参数

技术分享图片

 

   超参数的选择会直接影响到参数的训练结果。

 

 

以上内容主要参考吴恩达《深度学习》课程第一课

神经网络和深度学习 (Neural Network & Deep Learning)

原文:https://www.cnblogs.com/sun-a/p/13298941.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!