损失函数:均方误和交叉熵,激活函数的作用

简介: 损失函数(loss function)或代价函数(cost function)是将随机事件或其有关随机变量的取值映射为非负实数以表示该随机事件的“风险”或“损失”的函数。

损失函数



通过损失函数求解进行模型评估


损失函数(loss function)或代价函数(cost function)是将随机事件或其有关随机变量的取值映射为非负实数以表示该随机事件的“风险”或“损失”的函数。


在应用中,损失函数通常作为学习准则与优化问题相联系,即通过最小化损失函数求解和评估模型。


常见损失函数


  • 交叉熵损失函数
  • 0-1损失函数
  • 平方损失函数(线性回归:最小二乘法)


损失函数:均方误和交叉熵



一、均方误差函数:


image.png

其中,t是真实标签,y是网络预测值。


然后我们将其对权重w求导:


发现它的变化与激活函数的导数有关系,也就是激活函数梯度f'(z)越大,w的大小调整得越快,训练收敛越快。反之,f'(z)越小,w的大小调整得越慢,训练收敛越慢。

以一个二分类问题为例,进行两组实验。


在上图两点中,0.98距离0差距较大但是它的梯度(斜率)趋于零,根据我们上面的分析,也就是说它调整的慢(收敛慢),同样0.82相比0.98来说与零相差小,但是它的梯度很大,所以它的收敛快。


下图是基于两点的loss变化图:


我们可以根据上图中绿色线(梯度斜率)变化大致画出来

 

我们可以根据上图中红色线(梯度斜率)变化大致画出来

所以在这里就产生了一个矛盾,当误差较大时我们希望它调整的大一些,加快收敛。但是如上述的0.98处一样,误差大但是变化率小,收敛的比慢。0.82位置误差相对小但是权值调整速度比较快,因此就有了交叉熵函数。


二、交叉熵函数:


同样我们对其w求导:


其中呢,

也就是

所以我们发现交叉熵函数w的调整与(y-t)相关,就是与网络误差值正相关,误差越大,调整越大,收敛越快,这是我们想要的。


三、结论


回归用均方误差,分类用交叉熵。


四、实验证明


在MNIST数据集上经过5个epoch来做对比,很明显交叉熵的收敛速度较快。


激活函数的作用



处理线性不可分问题,解决非线性的问题


1.为何引入非线性的激活函数?


如果不用激活函数,在这种情况下每一层输出都是上层输入的线性函数。容易验证,无论神经网络有多少层,输出都是输入的线性组合,与没有隐藏层效果相当,这种情况就是最原始的感知机(Perceptron)了。因此引入非线性函数作为激活函数,这样深层神经网络就有意义了(不再是输入的线性组合,可以逼近任意函数)。最早的想法是sigmoid函数或者tanh函数,输出有界,很容易充当下一层输入。


引入ReLu的原因


第一,采用sigmoid等函数,算激活函数时(指数运算),计算量大,反向传播求误差梯度时,求导涉及除法,计算量相对大,而采用Relu激活函数,整个过程的计算量节省很多。


第二,对于深层网络,sigmoid函数反向传播时,很容易就会出现 梯度消失 的情况(在sigmoid接近饱和区时,变换太缓慢,导数趋于0,这种情况会造成信息丢失),从而无法完成深层网络的训练。


第三,ReLu会使一部分神经元的输出为0,这样就造成了 网络的稀疏性,并且减少了参数的相互依存关系,缓解了过拟合问题的发生

相关文章
|
监控 安全 Java
SpringBoot-开启Admin监控服务
本文介绍如何在SpringBoot项目中开启Admin监控服务。
431 0
|
算法 程序员 Go
[软件工程导论(第六版)]第6章 详细设计(复习笔记)
[软件工程导论(第六版)]第6章 详细设计(复习笔记)
|
人工智能 自然语言处理 安全
搭建微信公众号AI助手
将微信公众号(订阅号)变为AI智能客服仅需四步:创建大模型问答应用、搭建微信公众号连接流、引入AI智能客服及增加私有知识。首先在百炼平台创建应用并获取API密钥;其次利用阿里云AppFlow服务无代码连接微信公众号与大模型应用;接着配置公众号引入AI客服;最后上传企业知识文档提升客服精准度。通过这些步骤,轻松实现智能化客户服务。
1389 2
|
存储 算法 网络安全
二进制加密PHP Webshell原理及简单实现
二进制加密PHP Webshell原理及简单实现
372 8
|
机器学习/深度学习 数据可视化 TensorFlow
使用Python实现深度学习模型:图像语义分割与对象检测
【7月更文挑战第15天】 使用Python实现深度学习模型:图像语义分割与对象检测
355 2
|
存储 JSON 数据可视化
数据可视化大屏电商数据展示平台开发实录(Echarts柱图曲线图、mysql筛选统计语句、时间计算、大数据量统计)
数据可视化大屏电商数据展示平台开发实录(Echarts柱图曲线图、mysql筛选统计语句、时间计算、大数据量统计)
820 0
|
存储 机器学习/深度学习 缓存
【C++】deque的实现原理简单介绍
【C++】deque的实现原理简单介绍