DeepLearning六脉神剑第2式-正则化、Dropout、批量归一化

DeepLearning六脉神剑第2式-正则化、Dropout、批量归一化

前面学习了传统的卷积神经网络模型,接下来我们学习深度学习中的一些简单的数据处理算法,例如:正则化、Dropout、批量归一化等。

1、泛化、拟合
在传统的机器学习算法中,主要挑战是所使用的的算法必须能够在先前为观测到的新输入上表现良好,而不只是在训练集上表现良好,即在先前未进行观测到的输入上表现良好的能力被称为泛化

而决定决定机器学习算法效果的因素有:
(1)降低训练误差
(2)缩小训练误差和测试误差之间的差距

在这两个因素直接导致拟合是否会产生欠拟合、过拟合。
欠拟合:模型不能在训练集上获得足够低的误差
过拟合:训练误差和测试误差之间的差距过大

通过调整模型的容量可以去在一定范围解决欠拟合或是过拟合的问题,即:增大训练集的容量可以防止过拟合,因为容量低的模型可能很难成功拟合数据集。

奥卡姆剃刀原则:在同样能够解释已知观测现象的假设中,我们应该选择最简单的那一个。
没有免费午餐定理:在所有的算法中没有比他更好的算法,即在特定的任务中使用特定的算法进行处理。

2、正则化
简而言之,正则化是一种为了减少测试误差的行为(有时候需要增加误差)。我们在构造机器学习模型时,最终目的是让模型在面对新数据的时候,可以有很好的表现。当你用比较复杂的模型比如神经网络,去拟合数据时,很容易出现过拟合现象,这会导致模型的泛化能力下降,这时候,我们就需要使用正则化,让训练出来的模型没有那么复杂。

机器学习中几乎都可以看到损失函数后面会添加一个额外项,常用的额外项一般有两种,一般英文称作 ℓ1​-norm 和 ℓ2​-norm,中文称作 L1正则化 和 L2正则化,或者 L1范数 和 L2范数。

L1正则化和L2正则化可以看做是损失函数的惩罚项。所谓『惩罚』是指对损失函数中的某些参数做一些限制。对于线性回归模型,使用L1正则化的模型建叫做Lasso回归,使用L2正则化的模型叫做Ridge回归(岭回归)。下图是Python中Lasso回归的损失函数,式中加号后面一项α∣∣w∣∣1​即为L1正则化项。
在这里插入图片描述
下图是Python中Ridge回归的损失函数,后面的那部分即是L2正则项:
在这里插入图片描述
一般回归分析中回归w

w表示特征的系数,从上式可以看到正则化项是对系数做了处理(限制)。L1正则化和L2正则化的说明如下:

  • L1正则化是指权值向量w中各个元素的绝对值之和,通常表示为∣∣w∣∣1
  • L2正则化是指权值向量w中各个元素的平方和然后再求平方根(可以看到Ridge回归的L2正则化项有平方符号),通常表示为∣∣w∣∣2

一般都会在正则化项之前添加一个数,Python中用α表示,一些文章也用λ表示。这个系数需要用户指定。

那添加L1和L2正则化有什么用?下面是L1正则化和L2正则化的作用,这些表述可以在很多文章中找到。

  • L1正则化可以产生稀疏权值矩阵,即产生一个稀疏模型,可以用于特征选择

  • L2正则化可以防止模型过拟合(overfitting);一定程度上,L1也可以防止过拟合

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值