神经网络激活函数以及过拟合欠拟合理解

一、过拟合

就是所建的机器学习模型或者是深度学习模型在训练样本中表现得过于优越,在验证数据集以及测试数据集中却表现不佳。

导致这种现象的原因有以下2种:

①数据集特征单一,或者数据量过少

    可以丰富数据集

②网络层数较深,参数过多

    适当的减少网络层数,激活函数使用relu也是一种方法,因为他会将小于0的部分全部归为0,从而造成了网络的稀疏性,并且减少了参数的相互依存关系,缓解了过拟合问题的发生

 

二、欠拟合

就是所建的模型在训练样本中的表现都很一般

    可以通过增加网络复杂度或者在模型中增加多点特征点

 

三、激活函数

作用:通过激活函数,神经网络就可以拟合各种非线性曲线,所以激活函数肯定都是非线性的

① sigmod

神经网络激活函数以及过拟合欠拟合理解_第1张图片

 

②tanh

神经网络激活函数以及过拟合欠拟合理解_第2张图片

 

③relu(最常用)

神经网络激活函数以及过拟合欠拟合理解_第3张图片

为什么引入Relu呢?
    第一,采用sigmoid等函数,反向传播求误差梯度时,求导计算量很大,而Relu求导非常容易。
    第二,对于深层网络,sigmoid函数反向传播时,很容易就会出现梯度消失的情况(在sigmoid接近饱和区时,变换太缓慢,导数趋于0),从而无法完成深层网络的训练。
    第三,Relu会使一部分神经元的输出为0,这样就造成了网络的稀疏性,并且减少了参数的相互依存关系,缓解了过拟合问题的发生(以及一些人的生物解释balabala)。
 

④Leakrelu(针对relu会导致神经元死亡现象的改进)

    小于0时不为0,而是接近于0,当使用relu效果不好时,可以试试看leakrelu

神经网络激活函数以及过拟合欠拟合理解_第4张图片

 

⑤softmax

    用于多分类过程中,是二分类函数sigmod在多分类上的推广

    目的:将多分类的结果以概率的形式展现出来(当前神经元输出的结果比上所有神经元输出的结果)

神经网络激活函数以及过拟合欠拟合理解_第5张图片

 

⑥其他激活函数

神经网络激活函数以及过拟合欠拟合理解_第6张图片

 

四、激活函数如何选择

 

 

你可能感兴趣的:(人工智能,神经网络)