三种常见的损失函数和两种常用的激活函数介绍和可视化
损失函数(Loss Function)是用于衡量模型在训练过程中预测值与真实值之间的差异程度的函数。在深度学习中,常见的损失函数有均方误差(Mean Squared Error,MSE)、交叉熵损失(Cross Entropy Loss)和对数损失(Log Loss)。
1. 均方误差(Mean Squared Error,MSE):
均方误差是最常见的损失函数之一,用于衡量模型预测值与真实值之间的差异程度。均方误差的计算公式为:
MSE = 1/n * Σ(y_pred - y_true)^2
其中,y_pred表示模型的预测值,y_true表示真实值,n表示样本数量。均方误差对于离值比较敏感,即当预测值与真实值相差较大时,均方误差会变得较大。
2. 交叉熵损失(Cross Entropy Loss):
CrossEntropy = -y_true * log(y_pred) - (1 - y_true) * log(1 - y_pred)
3. 对数损失(Log Loss):
对数损失也是一种常见的用于衡量分类模型的损失函数。对数损失的计算公式为:
LogLoss = -Σ(y_true * log(y_pred) + (1 - y_true) * log(1 - y_pred)) / n
激活函数(Activation Function)是神经网络中引入非线性变换的一种函数,用于增加神经网络的表达能力。常见的激活函数有sigmoid函数和ReLU函数。
1. sigmoid函数(Sigmoid Function):
sigmoid函数是一种常用的激活函数,其输出值介于0和1之间,具有将输入限定在一定范围内的特性。sigmoid函数的计算公式为:
正则化损失函数sigmoid(x) = 1 / (1 + exp(-x))
sigmoid函数将所有的输入映射到一个0到1之间的范围内,适用于二分类问题或输出概率的场景。
2. ReLU函数(Rectified Linear Unit):
ReLU函数是一种常用的激活函数,其输出值为输入值和0之间的最大值。ReLU函数的计算公式为:
ReLU(x) = max(0, x)
ReLU函数在x大于0的情况下不受限制,适用于解决梯度消失问题,并能提供更好的非线性能力。ReLU函数在深度学习中得到了广泛的应用。
损失函数和激活函数的可视化可以帮助我们更好地理解它们的特性和影响。下图展示了均方误差、交叉熵损失和对数损失函数的可视化结果。
均方误差损失是一个凸函数,当预测值与真实值之间的差异较小时,损失较小。随着差异的增加,损失会逐渐增大。均方误差对离值比较敏感,即当预测值与真实值相差较大时,损失会变得较大。
交叉熵损失在二分类问题中具有较好的优化性质,对于正确分类的样本,损失接近于0,对于错误分类的样本,损失较大。交叉熵损失函数的可视化呈现了一个单峰曲线,当预测概率为0或1时,损失最大。
对数损失同样对于正确分类的样本,损失接近于0,对于错误分类的样本,损失较大。对数损失函数的可视化结果类似于交叉熵损失,呈现了一个单峰曲线。
激活函数sigmoid的可视化结果显示,当输入值为正时,函数的值逐渐趋近于1;当输入值为负时,函数的值逐渐趋近于0。ReLU函数的可视化结果显示,当输入值为正时,函数的值等于输入值本身;当输入值为负时,函数的值为0。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论