李沐深度学习-ch05

10.多层感知机MLP

最早的一个人工智能算法(简单二分类)

训练感知机时相当于做异或判断,如果yi真实值与利用wi和bi计算值异号,则不断更新w和b。
在这里插入图片描述
相当于一个批量大小为1的梯度下降,其中的loss函数计算方式可以理解为,当分类正确时y<w,x>是正值,则loss为0了,否则分类不正确loss不为0。

总结:

  • 感知机是一个二分类模型,是最早的AI模型之一。
  • 它的求解算法等价于使用批量大小为1的梯度下降。
  • 它不能拟合XOR函数,导致的第一次AI寒冬。(后来发现可以使用多层感知机及逆行拟合)

神经网络中为什么需要使用激活函数?

如果不用激活函数,每一层输出都是上层输入的线性函数,无论神经网络有多少层,输出都是输入的线性组合,这种情况就是最原始的感知机(Perceptron)。如果使用的话,激活函数给神经元引入了非线性因素,使得神经网络可以任意逼近任何非线性函数,这样神经网络就可以应用到众多的非线性模型中。**如果不使用激活函数的话,虽然我们使用了隐藏层,但是实际还是一个单元神经,所以我们需要使用激活函数。**层中每少一个激活就相当于少一层。

具体详细内容可见如下博客:
https://blog.csdn.net/Fhujinwu/article/details/108665953

在这里插入图片描述
一般来说对于隐藏层中每层的个数应该是先大后小的,不能让隐藏层先经过少的隐藏层再进入多数量的隐藏层,因为如果先把把个数缩小的话会损失很多信息。

多层感知机总结:

  • 多层感知机使用隐藏层和激活函数来得到非线性模型
  • 常用激活函数是Sigmoid,TanhReLU
  • 使用Softmax来处理多分类问题
  • 超参数为隐藏层数,和各个隐藏层大小

nn.Sequential和nn.Module区别与选择

即李沐使用的nn.Sequential和小土堆使用的nn.Module的区别如下:
https://blog.csdn.net/ftimes/article/details/105100522

11.模型选择和欠拟合、过拟合

**训练误差:**模型在训练数据上的误差
**泛化误差:**模型在新数据上的误差
**验证数据集:**用来评估模型好坏的数据集
**测试数据集:**只用一次的数据集,即最后打分的数据集
非大数据集上通常使用K-折交叉验证

模型容量
拟合各种函数的能力
低容量的模型难以拟合训练数据
高通量的模型可以记住所有的训练数据
在这里插入图片描述
估计同类算法模型的容量的两个因素
参数的个数
参数的选择范围

数据复杂度的多个因素:
样本个数
每个样本的元素个数
时间、空间结构
多样性

12.权重衰退

控制模型的容量:使用均方范数作为硬性限制
通过限制参数值的选择范围来控制模型容量
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
总结:
1.权重衰退通过L2正则项使得模型参数不会过大,从而控制模型复杂度
2.正则项权重lamda是控制模型复杂度的超参数

13.丢弃法(dropout)

动机:
一个好的模型需要对输入数据的扰动鲁棒

dropout需要在层中间加入噪音,这个噪音是随机的。
但是需要无偏差的加入噪音,保证原来数据的期望不变
可以得到以下Xi公式:
在这里插入图片描述

丢弃法(dropout)使用方法:
通常将丢弃法作用在隐藏全连接的输出上

训练步骤:
1.首先获得第一层的数据h
2.使用dropout获得h’
3.下一层的输如则为h’
(如图所示,左边为正常结构,右边是使用了dropout方法,少了两个神经元,是由于dropout的作用丢弃了)
在这里插入图片描述
总结:
1.丢弃法将一些输出项随机置0来控制模型复杂度
2.常作用在多层感知机的隐藏层输出上
3.丢弃概率是控制模型复杂度的超参数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值