从神经网络视角看均方误差与交叉熵作为损失函数时的共同点
来源:互联网 发布:北航大数据技术与应用 编辑:程序博客网 时间:2024/06/05 15:04
缩写:
- NN: neural network, 神经网络
- MSE: Mean Squared Error, 均方误差
- CEE: Cross Entropy Error, 交叉熵误差.(此缩写不是一个conventional缩写)
标记符号:
net 或neti , 净输出值,net=wTx a 或ai , 神经元的激活函数输出值:a=f(net)
本文所有的
Introduction
MSE与CEE是两种常用的loss function, 它们在形式上很不一样, 但在使用梯度下降算法学习最优参数时, 会发现它们其实是殊途同归.
很多机器学习算法都可以转换成浅层神经网络模型(本文中特指全连接的MLP). 而神经网络的BP算法(BP算法也是梯度下降算法)最核心的一步就是计算敏感度(见BP), 采用不同损失函数和激活函数的NN在BP算法上的差异也主要存在于敏感度上. 所以将有监督机器学习算法转化为神经网络模型后, 只需要计算出输出神经元的敏感度就可以看出MSE与CEE之间的很多异同点.
在利用mini-batch SGD训练神经网络时, 通常是先计算批次中每一个样本产生的梯度, 然后取平均值. 所以接下来的分析中, 只关注单个训练样本产生的loss. 根据这个loss计算敏感度.
使用MSE的典型代表是线性回归, 使用CEE的代表则是逻辑回归. 这两个算法的一些相同点与不同点可以参考blog.
问题描述:
- 给定:
- 训练集
D={(x(1),y(1)),…,(x(i),y(i)),…,(x(N),y(N))} ,x(N)∈χ ,χ:Rd ,y(i)∈R - model family
f(x)
- 训练集
- 目标: 利用
D 学习一个具体的f(x) 用于对新样本x′ 进行预测:y′=f(x′)
注意, 线性回归的
均方误差---线性回归
线性回归使用均方误差(Mean Squared Error, MSE)作为loss function.
将线性回归问题
- 输入层:
d 个神经元,d 为x 的维度. - 输出层:
1 个神经元, 激活函数为identical, 即a=net=wTx . - 隐层: 无
在样本
输出神经元的敏感度:
交叉熵---逻辑回归
逻辑回归使用最大似然方法估计参数.
二分类逻辑回归
先说二分类逻辑回归, 即
样本
log-likelihood:
最大化
这实际上就是二分类问题的交叉熵loss. 如blog所示, 当
输出神经元的敏感度:
相信你已经看出来了, 线性回归NN的敏感度
多分类逻辑回归
先将多分类逻辑回归转换成神经网络模型:
- 输入层: 同上
- 输出层: 有多少种类别, 就有多少个输出神经元. 用
C 来表示类别数目, 所以输出层有C 个神经元. 激活函数为softmax函数. 输出值和二分类逻辑回归一样被当成概率作为分类依据. - 隐层: 无
依然只考虑单个样本
而第
它代表
为方便写出它的似然函数, 先将
其中,
它实际上代表第
所以样本
注意, 这里的权值
log似然函数:
从
同样的, 最大化
这是更一般化的交叉熵. 代入softmax函数, 即
第
很神奇的一幕又出现了. 上面说过, 把目标值向量化后,
总结与讨论
主要结论:
- 以均方误差或交叉熵误差作为loss function的NN, 其输出层神经元的敏感度是它的激活值与目标值的差值
比较有用的by-product:
- 很多机器学习算法都可以转换成浅层神经网络模型
- softmax与sigmoid 函数的导数形式:
s′=s(1−s) - 最大似然估计的loss function 是交叉熵
- 深度学习中常用的softmax loss其实也是交叉熵.
- 从神经网络视角看均方误差与交叉熵作为损失函数时的共同点
- 从神经网络视角看均方误差与交叉熵作为损失函数时的共同点
- 理解交叉熵作为损失函数在神经网络中的作用
- 神经网络的交叉熵损失函数
- 机器学习使用交叉熵作为损失函数的原因
- 为什么在神经网络中要使用交叉熵而不是均方差作为损失函数
- 交叉熵损失函数
- 交叉熵损失函数
- 交叉熵损失函数
- 交叉熵损失函数
- 交叉熵损失函数
- 交叉熵损失函数
- 交叉熵损失函数
- 交叉熵损失函数
- 交叉熵损失函数
- 使用TensorFlow编写损失函数 交叉熵(cross entrophy)| 均方误差(MSE)
- 人工智能里的数学修炼 | 交叉熵损失函数:从信息说起
- 交叉熵和损失函数
- 封装和继承
- 银行ATM简易程序
- CodeForces 735D - Taxes(数论)
- 杭电2013 C++
- 枯树
- 从神经网络视角看均方误差与交叉熵作为损失函数时的共同点
- Linux主机名命名规范
- servlet小型服务器程序
- 省市县js插件
- 枯树
- Creating an Audio Calling App with Ionic and PhoneRTC
- 怎样写参数个数可变的宏
- synchronized关键字、ReentrantLock与原子类比较
- jQuery EasyUI datagrid实现本地分页的方法