《MATLAB Deep Learning》Ch4 & Ch5 学习笔记

Ch4 - Neural Network and Classification

Binary Classification

二分类问题只需要一个输出层结点,因为我们只需指定一个阈值 threshold 就可以把结果分为两类。

当我们使用 Sigmoid 激活函数 + 交叉熵损失函数时,输出层误差有着十分简洁的形式。详细推导可以参考 为什么sigmoid激活函数,使用交叉熵损失函数更好
在这里插入图片描述

Multiclass Classification

在多分类问题中,我们通常使输出层的结点数目与分类数目相一致。

一个有效的策略是使用 one-hot 编码,这时每一个输出层结点都被映射到类向量的其中一个元素。
在这里插入图片描述
我们引入 Softmax 函数作为激活函数,它不仅考虑了输入数据的加权和,也考虑到了其他输出结点的值。也就是说,对比 Sigmoid 函数,Softmax 函数考虑到了输出结点之间的相对量级(relative magnitudes)。
在这里插入图片描述
Softmax 激活函数 + 交叉熵损失函数的误差推导可以参考 简单易懂的softmax交叉熵损失函数求导。注意这里的误差计算虽然看起来跟前面的 Sigmoid + 交叉熵 一样,但这里的 delta 和 e 是向量(之前的是标量)。
在这里插入图片描述

Ch5 - Deep Learning

在使用后向传播算法时,添加额外的隐藏层反而常常导致较差的表现,深度学习为我们提供了解决方案。实际上,深度学习并没有任何关键技术上的革新,它带来的是一系列细微的技术改良(technical improvements)的集合。

更深的网络反而表现更差的原因是网络没有得到很好地训练,后向传播算法在训练过程中存在着以下三个问题:Vanishing gradient, Over-fitting, Computational load.

解决梯度弥散/消失(Vanishing gradient )的一项代表性技术是使用 Rectified Linear Unit (ReLU) 激活函数。
在这里插入图片描述
Sigmoid 激活函数将输出值限定在一定的范围内,而 Relu 激活函数没有此限制。另外,x > 0 时,导数为 1,可见此时它能将误差无衰减地向前传递。
在这里插入图片描述
解决过拟合问题的一项代表性技术是 Dropout(随机失活),此外,添加正则项和使用更大的数据集也可有效避免模型过拟合。

最后,由于高性能硬件产品(GPU)的发展和其他一些算法(Batch normalization,批归一化)的发现,深度学习的计算负荷(computational load)也被减轻到了一个可观的水平。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值