专栏首页光城(guangcity)机器学习入门之范数与正则化

机器学习入门之范数与正则化

0.导语

研究一下范数与正则化,并做相应记录!

1.范数

范数(Norm)是具有度量性质的函数,在机器学习中,经常用来衡量向量的大小

范数把一个向量映射为一个非负值的函数,我们可以将一个向量x,经范数后表示点距离原点的距离,那么L^p范数定义如下:

其中p属于R,p大于等于1。

2.经典范数

(1)L0范数:表示统计向量中非零元素的个数(不是严格意义上的范数)。

我们可以通过最小化L0范数,来寻找最少最优的稀疏特征项。但不幸的是,L0范数的最优化问题是一个NP hard问题(L0范数同样是非凸的)。因此,在实际应用中我们经常对L0进行凸松弛,理论上有证明,L1范数是L0范数的最优凸近似,因此通常使用L1范数来代替直接优化L0范数。

(2)L1范数:表示零元素与非零元素差别非常重要时使用。例如:每当x中某个元素从0增加到m,则对应的L1范数也会增加m。也就是每个元素绝对值之和。也被称为是"稀疏规则算子"。

(3)L2范数:是欧几里得范数,表示从原点出发到向量x确定的点的欧几里得距离。在快接近源值时L2范数增长缓慢,对于区分恰好是零的元素和非零但值很小的元素的情况就不适用了(转为L1范数)。也就是通常说的欧氏距离。有人把它的回归叫“岭回归”(Ridge Regression),也有人叫它“权值衰减”(Weight Decay)。

(4)Loo范数,表示最大范数,只是统计向量中的最大值,也就是最大幅值的元素的绝对值。

(5)Frobenius范数,类似于L2范数,用来衡量矩阵的大小!

最后,两个向量的点积也可以用范数来表示:

3.正则化

3.1 为何使用正则化

正则化可以避免过拟合的产生和减少网络误差。

3.2 正则化

(1)表达式:

第一项表示经验风险,第二项表示正则项。

正则化与范数关系

R(f)就是相关范数表达式。

(2)常见正则

  • L1正则

凸函数,不是处处可微分。得到的是稀疏解(最优解常出现在顶点上,且顶点上的 w 只有很少的元素是非零的)。

  • L2正则

凸函数,处处可微分,且易于优化。

  • Dropout

Dropout是深度学习中经常采用的一种正则化方法。核心思想是减少神经元之间复杂的共适应性。当隐藏层神经元被随机删除之后,使得全连接网络具有了一定的稀疏化,从而有效地减轻了不同特征的协同效应。使神经网络中的某些神经元随机失活,让模型不过度依赖某一神经元,达到增强模型鲁棒性以及控制过拟合的效果。

本文分享自微信公众号 - 光城(guangcity),作者:lightcity

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-03-03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 个人hexo博客的服务端部署及构建

    之前的Hexo博客放在Github上,速度太慢了,在腾讯云上买了台服务器,将博客放到上面,本节主要阐述Nginx服务端部署+Nginx优化+HTTPS部署。

    公众号guangcity
  • 一起来相约猫眼

    之前有人给我提了个需求,让我去看看猫眼专业版,字体反爬问题,我觉得有趣,因为之前没学过字体反爬。然后,就尝试去搞了一下,结果当时因为xx原因,放弃了。也是实力不...

    公众号guangcity
  • 光城归来之C语言开发网站

    最近要把防火墙项目做个页面,而底层全部c语言实现,那么就得做个web页面,想了一下,C大法这么厉害,也应该可以的,然后大家就见到了这篇文章。

    公众号guangcity
  • 收藏 | 彻底搞懂机器学习中的正则化

    在总结正则化(Regularization)之前,我们先谈一谈正则化是什么,为什么要正则化。

    计算机视觉联盟
  • 机器学习------令人头疼的正则化项

    监督机器学习问题无非就是在规则化参数的同时最小化误差。最小化误差是为了让模型拟合训练数据,而规则化参数是防止模型过分拟合训练数据,但训练误差小并不是最终目标,最...

    计算机视觉研究院
  • 矩阵理论·范数

    向量范数 1-范数: ,即向量元素绝对值之和,matlab调用函数norm(x, 1) 。 2-范数:,Euclid范数(欧几里得范数,常用计算向量长度),即向...

    Pulsar-V
  • 向量和矩阵的各种范数比较(1范数、2范数、无穷范数等等

    向量的1范数即:向量的各个元素的绝对值之和,上述向量a的1范数结果就是:29,MATLAB代码实现为:norm(a,1);

    marsggbo
  • 深度学习中的范数

    我们知道距离的定义是一个宽泛的概念,只要满足非负、自反、三角不等式就可以称之为距离。

    Steve Wang
  • 矩阵/向量的范数

    我们知道距离的定义是一个宽泛的概念,只要满足非负、自反、三角不等式就可以称之为距离。

    Steve Wang
  • 常见向量范数和矩阵范数及其MATLAB实现

    ,Euclid范数(欧几里得范数,常用计算向量长度),即向量元素绝对值的平方和再开方,matlab调用函数norm(x, 2)。

    于小勇

扫码关注云+社区

领取腾讯云代金券