02--13神经网络模型实例演示&14过拟合问题解决方案

神经网络模型:

输入层:输入的值,比如一副图像的像素值。

隐藏层:隐藏层实际上是不存在的,只是为了让大家方便理解而产生的,隐藏层其实是权重参数的计算结果。 

为什么要存在隐藏层呢?

因为在隐藏层中要进行激活函数的操作,隐藏层越多,就可以加越多激活函数。正是由于这些激活函数,才让我们神经网络表现出非常强大的效果。

神经网络第二个特点:它是一个非线性的结构。

激活函数:将线性函数转化为非线性函数。

单层网络结构:

双层网络结构:

max函数相当于激活函数

拿sigmod函数作为激活函数有没有一些缺点呢?

 

使用sigmod函数作为激活函数会出现严重的梯度消失现象。

RELU函数: max(0,x)

RELU激活函数求导非常简单,并且能解决梯度消失问题。当今的神经网络,机器学习以及深度学习领域,通常使用的都是RELU激活函数。RELU激活函数已经把SIGMOD激活函数给替换掉了。

神经元个数越多,会使得最终效果越好一些。

通过以下这个网址可以观测神经元对拟合效果的影响。

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

神经元个数越多,也更容易出现过拟合的结果。

神经网络最头疼的地方,就是过拟合。神经网络的过拟合线性非常严重!!

14过拟合问题解决方案

正则化在神经网络中的重要作用:

正则化:λ*w*w (λ乘以w的平方)为正则化。

从图中我们可以看出:

当λ=0.001时,神经网络出现过拟合现象。

当λ=0.01时,神经网络没有出现过拟合现象。

当λ=0.1时,泛化能力强。

越多的神经元,就越能表达复杂的模型。

神经元,就相当于权重参数。神经元越多,权重参数就越大。

数据预处理

original data: 初始数据。

zero-centered data:以0为中心化的数据。

normalized data: 归一化数据。

DROP-OUT

当进行神经网络迭代的时候,有些时候可以跳过某些神经元。不更新它了,

每次迭代时,进行随机选择,哪些神经元不参与更新迭代。drop-out率代表保留率。

drop-out = 60%。代表保留率。

这样可以削减神经网络的大小,使得神经网络不是那么臃肿。

猜你喜欢

转载自blog.csdn.net/qq_41858768/article/details/81098942