深度学习与神经网络:AIC,BIC,L1,L2

在学习深度学习时,我们经常会听到AIC, BIC 还有l1, lasso 等regularization 的知识。

但是随之产生了一些问题,其中一个就是AIC,BIC和l1,l2的应用场景是不是相同或者有重叠的地方?

首先先让我们思考两个问题

1)实现参数的稀疏有什么好处吗?

一个好处是可以简化模型,避免过拟合。因为一个模型中真正重要的参数可能并不多,如果考虑所有的参数起作用,那么可以对训练数据可以预测的很好,但是对测试数据就只能呵呵了。另一个好处是参数变少可以使整个模型获得更好的可解释性。

2)参数值越小代表模型越简单吗?

是的。为什么参数越小,说明模型越简单呢,这是因为越复杂的模型,越是会尝试对所有的样本进行拟合,甚至包括一些异常样本点,这就容易造成在较小的区间里预测值产生较大的波动,这种较大的波动也反映了在这个区间里的导数很大,而只有较大的参数值才能产生较大的导数。因此复杂的模型,其参数值会比较大。

接下来我将对AIC和BIC以及L系列正规化进行一些介绍:

1:AIC和BIC

AIC和BIC是同一个指标,一般用于选择模型,也就是模型的比较优劣

他们的不同之处在于

AIC=-2 ln(L) + 2 k 中文名字:赤池信息量 akaike information criterion

BIC=-2 ln(L) + ln(n)*k 中文名字:贝叶斯信息量 bayesian information criterion

HQ=-2 ln(L) + ln(ln(n))*k hannan-quinn criterion

构造这些统计量所遵循的统计思想是一致的,就是在考虑拟合残差的同时,依自变量个数施加“惩罚”。

但,倘若因此就说它们是同一个指标,恐怕还是有些不妥,毕竟“惩罚”的力度还是不尽相同的。

此外,这些信息量的用途不仅限于选择模型,还能用于选取合适的变换等等。而在那些时候,这些信息量又是另一个模样,也就是说它们有许多变体。因此,它们也被称为AIC准则、BIC准则等等。它们中的每一个体现的都是一系列的标准,而非单独的一个简单式子

[有关赤池信息量的更多信息可以参照一下的博客BIC AIC HQ - s1491695565的专栏 - 博客频道 - CSDN.NET]

2:L0,L1,L2正则化的一些介绍:

在机器学习中,我们听到的L0,L1这样的正则化方法比AIC,BIC要多得多,那么这些正则化的概念是什么呢?

1:正则化概念

L0正则化的值是模型参数中非零参数的个数。

L1正则化表示各个参数绝对值之和。

L2正则化标识各个参数的平方的和的开方值。

1:L0正则化

从我们开头的那两个问题我们可以知道,稀疏的参数可以有效地解决过拟合的问题,因此我们可以用非零参数的个数去做正则化的运算来去解决过拟合的问题.但是因为L0正则化很难求解,是一个NP,所以我们一般都采用L1正则化.

2:L1正则化

因为L1正则化是L0正则化的最优凸近似,并且在比L0更好求解的同时,也可以实现稀疏的效果,因此在实际过程中L1常常用来代替L0,来防止过拟合,L1之所以可以解决过拟合,是因为L1的范数是各个参数的绝对值相加得到的,我们在之前讨论了参数的大小和模型的复杂度是成正比对的,因此越是复杂的模型,其中的L1范数也就越大,最终导致的损失函数也就越大,其实也就说明这个模型不够优秀.

3:L2正则化

L2和L1正则化去解决过拟合的方法基本一样,只是形式的表现上有所区别,L2范数是各参数的平方和再求平方根,我们让L2范数的正则项

最小,可以使W的每个元素都很小,都接近于0。但与L1范数不一样的是,它不会是每个元素为0,而只是接近于0。越小的参数说明模型越简单,越简单的模型越不容易产生过拟合现象。

对着两种进行对比,L1会趋向于产生少量的特征,而其他的特征都是0,而L2会选择更多的特征,这些特征都会接近于0。L1在特征选择时候非常有用,而L2就只是一种规则化而已。在所有特征中只有少数特征起重要作用的情况下,选择L1比较合适,因为它能自动选择特征。而如果所有特征中,大部分特征都能起作用,而且起的作用很平均,那么使用L2也许更合适。

回到我们的文章最先的问题中,我们应该怎么选择AIC和BIC以及L系类正则化问题中,我想在机器学习领域,大家对 L1和 L2 说的很赞,他们就是不同的正则化方式,主要用于参数学习。但是AIC/BIC 虽然也是一种正则化,但他们多用于结构选择。比如贝叶斯网结构学习时,单纯用似然会导致极其稠密的网络,使用这两种信息准则替代似然,会得到比较满意的解。

l1, l2 是在模型训练的过程中通过正则项来控制feature 个数,达到防止模型过拟合的问题。

AIC,BIC是在已经训练出来的模型中选择更好的那个模型时候的判断准则。

他们的共性是都是为了找到更好的模型。 区别是l1,l2在模型训练的过程中通过加约束来达到生成更好的模型的目的。 而AIC,BIC是在已经训练好的不同模型里面筛选出相对最好的那个模型,目的不同,最终的结果也一定有所差距.

好了,这就是这篇文章的所有内容,大家如果有更好的建议和观点也希望和我一起多多讨论

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏PPV课数据科学社区

机器学习系列:(八)感知器

感知器 前面,我们介绍了广义线性模型,用联接方程描述解释变量、超参数和响应变量的线性关系。这一章,我们将介绍另一种线性模型,称为感知器(perceptron)。...

39112
来自专栏WD学习记录

机器学习 学习笔记(17) 集成学习

集成学习通过构建并结合多个学习器来完成学习任务,有时候也被称为多分类器系统(multi-classifier system)、基于委员会的学习(committe...

1522
来自专栏和蔼的张星的图像处理专栏

FHOG传统hog特征提取。FHOG

关于HOG特征(梯度统计直方图)简单介绍一下,首先是对原图进行灰度化(hog统计的是梯度信息,色彩几乎没有贡献),再进行gamma压缩和归一化(减轻光照影响)。...

1.3K2
来自专栏机器学习算法原理与实践

典型关联分析(CCA)原理总结

    典型关联分析(Canonical Correlation Analysis,以下简称CCA)是最常用的挖掘数据关联关系的算法之一。比如我们拿到两组数据,...

1032
来自专栏杨熹的专栏

PCA 的数学原理和可视化效果

本文结构: 什么是 PCA 数学原理 可视化效果 ---- 1. 什么是 PCA PCA (principal component analysis, 主成分分...

3739
来自专栏大数据文摘

论文Express | 英伟达最新:多模态无监督图像迁移网络框架

1322
来自专栏Soul Joy Hub

《deep learning》学习笔记(4)——数值计算

http://blog.csdn.net/u011239443/article/details/78048424 对于机器学习的问题,有一部分可以通过数学推导的...

2815
来自专栏智能算法

主成分分析到底怎么分析?

PCA(Principal Component Analysis)是一种常用的数据分析方法。PCA通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提...

33310
来自专栏ATYUN订阅号

t检验的工作原理和在Python中的实现

因此,总有一天你可能会使用t检验,深入了解它的工作原理非常重要。作为开发人员,通过从头开始实现假设检验以理解。

1.7K5
来自专栏机器人网

令人印象深刻的10张机器学习经典图片

入门机器学习, 总有几张图片, 令人印象深刻. 以下是十张经典图片, 图解机器学习, 非常有 启发性:

1094

扫码关注云+社区

领取腾讯云代金券