机器学习之L1、L2的区别与相关数学基础知识
机器学习数学基础概念、知识汇总(线代)
- 数学概念
- 映射与函数
- 线性与非线性
- 空间
- 线性空间(向量空间)
- 向量
- 基
- 矩阵
- 范数
- L-p范数
- L-0范数
- L-1范数
- L-2范数
- L-∞范数
- 机器学习中的正则化
- L1正则化
- L2正则化
- L1与L2的区别
数学概念
本文将总结在机器学习与深度学习中所涉及到的一些基础数学知识与概念。并阐述该数学知识在机器学习中的一些意义。(本文不定期持续更新)
映射与函数
映射表达的就是一个集合通过某种关系转为另外一个集合。而函数是一种特殊的映射。为了更好地在数学上表达这种映射关系(尤其是线性关系),引入了矩阵。
线性与非线性
线性linear,指量与量之间按比例、成直线的关系,在数学上可以理解为一阶导数为常数的函数;在函数中,可以简单地理解为由数字相乘和相加组合而成,并不包含任何次方的概念
非线性non-linear则指不按比例、不成直线的关系,一阶导数不为常数。在函数中任何二次或多次方的多项式,都是非线性的。
空间
现代数学以集合为研究对象,有了研究对象,还需要有研究对象需要遵循的规则。定义一个规则后就得到了一个赋有某种规则的集合,即一个空间。
因此,数学中的空间的组成包括两个部分:研究的对象和内在的规则,或者叫做元素和结构。
线性空间(向量空间)
线性空间就是定义了加法和数乘的空间。在机器学习过程中,本人认为,可以狭义的认为向量空间等同于线性空间
向量
既然空间是一个集合,那么组成线性空间这个集合的元素被称作向量。
向量(也称为欧几里得向量、几何向量、矢量),指具有大小(magnitude)和方向的量。它可以形象化地表示为带箭头的线段。箭头所指:代表向量的方向;线段长度:代表向量的大小。
基
基,是线性代数的概念。在线性代数中,基(也称为基底)是描述、刻画向量空间的基本工具。这里可以想象一下,如果我们要在一个三维空间去描述一个向量,首先我们需要去做一个坐标系。那么这个坐标系,就可以看作是我们的基。(可以扩展至多维空间也是同样的道理)
向量空间的基是它的一个特殊的子集,基的元素称为基向量。
向量空间中任意一个元素,都可以唯一地表示成基向量的线性组合。如果基中元素个数有限,就称向量空间为有限维向量空间,将元素的个数称作向量空间的维数。
(个人理解就是任何在线性空间中,不能再被拆分的所有向量都可以称之为这个空间的基向量)
同理,推导出任何一些线性不相关的
矩阵
矩阵(Matrix)是一个按照长方阵列排列的复数或实数集合。
这里推荐一下这篇文章:https://blog.csdn.net/qq_34993631/article/details/80671693
如果没兴趣看的话,简而言之矩阵的本质是用来形容运动的。而“运动”可以理解为伸缩和旋转。
机器学习为什么要用矩阵?试着想一想机器学习的过程用来提取特征性向量,在训练过程中也是将数据变成一个个的特征向量。n个样本每个样本具有m个特征,将组成一个n*m的矩阵。
同时,矩阵可以用来表达一种映射关系。一个向量通过矩阵所表达的映射关系得到另一个向量。(可以简单的理解为原始向量在训练中不断通过这种映射关系的计算提取最终的特征向量的过程。)
关于机器学习所涉及的所有其他的关于矩阵相关的知识,参考另一篇文章:
范数
范数,是具有“长度”概念的函数。是矢量空间内的所有矢量赋予非零的正长度或大小。范数是一种强化了的距离概念,它在定义上比距离多了一条数乘的运算法则。有时候为了便于理解,我们可以把范数当作距离来理解。
向量空间中的向量都是有大小的,这个大小如何度量,就是用范数来度量的,不同的范数都可以来度量这个大小,就好比米和尺都可以来度量远近一样;对于矩阵范数,学过线性代数,我们知道,通过运算AX=B,可以将向量X变化为B,矩阵范数就是来度量这个变化大小的。
∥ x ∥ \left \| \boldsymbol{x} \right \| ∥x∥、 ∥ X ∥ \left \| \boldsymbol{X} \right \| ∥X∥
其中, x \boldsymbol{x} x、 X \boldsymbol{X} X 分别表示向量和矩阵
参考链接:范数定义和数学意义.
L-p范数
L-P范数不是一个范数,而是一组范数:
L-0范数
当P=0时,也就是L0范数,由上面可知,L0范数并不是一个真正的范数,它主要被用来度量向量中非零元素的个数。
我们知道非零元素的零次方为1,但零的零次方为0,非零数开零次方都是什么鬼,很不好说明L0的意义,所以在通常情况下,大家都用的是:
表示向量x中非零元素的个数。
对于L0范数,其优化问题为:
使得其非常适合机器学习中稀疏编码(一种无监督学习),特征选择的应用。
(由于L0是一个NP-hard问题,所以一般用L1来对模型进行约束)
L-1范数
定义:
∥ X ∥ 1 = ∑ i = 1 n ∣ x i ∣ {\left\| X \right\|_1} = \sum\limits_{i = 1}^n {\left| {{x_i}} \right|} ∥X∥1=i=1∑n∣xi∣
即 各个元素的绝对值之和。
L1范数有很多的名字,例如我们熟悉的曼哈顿距离、最小绝对误差等。使用L1范数可以度量两个向量间的差异,如绝对误差和(Sum of Absolute Difference):
优化问题如下:
对L1优化的解是一个稀疏解,因此L1范数也被叫做稀疏规则算子。通过L1可以实现特征的稀疏,去掉一些没有信息的特征。
L-2范数
L2范数是我们最常见最常用的范数了,我们用的最多的度量距离欧氏距离就是一种L2范数,它的定义如下:
像L1范数一样,L2也可以度量两个向量间的差异,如平方差和:
优化问题:
L2范数通常会被用来做优化目标函数的正则化项,防止模型为了迎合训练集而过于复杂造成过拟合的情况,从而提高模型的泛化能力。
L-∞范数
它主要被用来度量向量元素的最大值,与L0一样,通常情况下表示为 :
机器学习中的正则化
正则化让模型根据训练数据中常见的模式来学习相对简单的模型,无正则化的模型用大参数学习大噪声。
L1正则化
损失函数为:
其中L0表示没有正则化时的损失函数。对它求w的偏导:
∂ ℓ ∂ w = ∂ ℓ 0 ∂ w + λ ⋅ s g n ( w ) \frac{\partial{\ell}}{\partial{w}} = \frac{\partial{\ell_0}}{\partial{w}} + {\lambda}\cdot sgn(w) ∂w∂ℓ=∂w∂ℓ0+λ⋅sgn(w)
L1正则能让模型变得稀疏。L1对于小权重减小地很快,对大权重减小较慢,因此最终模型的权重主要集中在那些高重要度的特征上,对于不重要的特征,权重会很快趋近于0。
L2正则化
损失函数:
最小化损失函数:
L2正则化通过权重衰减,保证了模型的简单,提高了泛化能力。
原因解释:参考链接
L1与L2的区别
L1减少的是一个常量,L2减少的是权重的固定比例
L1使权重稀疏,L2使权重平滑
L1优点是能够获得sparse模型,对于large-scale的问题来说这一点很重要,因为可以减少存储空间
L2优点是实现简单,能够起到正则化的作用。缺点就是L1的优点:无法获得sparse模型
机器学习之L1、L2的区别与相关数学基础知识相关推荐
- L1 L2 正则化区别
文章一 文章二 机器学习中,如果参数过多,模型过于复杂,容易造成过拟合(overfit).即模型在训练样本数据上表现的很好,但在实际测试样本上表现的较差,不具备良好的泛化能力.为了避免过拟合,最常用的 ...
- 机器学习中L1正则化和L2正则化
深度学习中的归一化(normalization)和正则化(regularization)_qq_26697045的博客-CSDN博客_权重归一化 1.L1和L2的区别 在机器学习中: - L1 reg ...
- 机器学习基础-23:矩阵理论(L0/L1/L2范数等)
机器学习基础-23:矩阵理论(L0/L1/L2范数等) 机器学习原理与实践(开源图书)-总目录,建议收藏,告别碎片阅读! 线性代数是数学的一个分支,广泛应用于科学和工程领域.线性代数和矩阵理论是机器学 ...
- 机器学习中L1正则化和L2正则化是什么?区别是什么?
机器学习中L1正则化和L2正则化是什么?区别是什么? 我们所说的正则化,就是在原来的loss function的基础上,加上了一些正则化项或者称为模型复杂度惩罚项. 结构风险最小化: 在经验风险最小化 ...
- Lasso回归系列三:机器学习中的L0, L1, L2, L2,1范数
L0, L1, L2, L2,1范数 机器学习中的范数定义不同于数学中的定义. 对于向量xxx (x=[x1,x2,x3,...xm]x=[x_1,x_2,x_3,... x_m]x=[x1,x2 ...
- LibLinear使用总结(L1,L2正则)
liblinear实践初步 在相关推荐项目的改版中,对liblinear/fm/xgboost等主流成熟算法模型的训练效果进行了尝试和对比,并在一期改造中选择了liblinear实际上线使用.本文主要 ...
- 正则化与L0,L1,L2范数简介
参考:机器学习中的范数规则化之(一)L0.L1与L2范数 1. 常见的范数 1.1 L0 范数 向量中非零元素的个数,即稀疏度,适合稀疏编码,特征选择. 1.2 L1 范数 又叫曼哈顿距离或最小绝对误 ...
- [转] L1 L2范数
作者:Andy Yang 链接:https://www.zhihu.com/question/26485586/answer/616029832 来源:知乎 著作权归作者所有.商业转载请联系作者获得授 ...
- L1 L2 LASSO问题
Sparsity 是当今机器学习领域中的一个重要话题.John Lafferty 和 Larry Wasserman 在 2006 年的一篇评论中提到: Some current challenges ...
最新文章
- 2007 China MVP Open Day
- Spark任务调度流程及调度策略分析
- 洛谷P1667/[10.22 模拟赛] 数列 (思维+模拟)
- 给在读研究生的一封信(强烈推荐)
- Excel关于使用图形的妙招技法
- 基于ABP落地领域驱动设计-02.聚合和聚合根的最佳实践和原则
- 数学笔记3——导数3(隐函数的导数)
- mysql-优化班学习-8-20170606-MySQL索引
- 实用的软件安装及使用
- Java测试类的编写与使用
- Python 爬虫 ~ Prison Oriented Programming。
- Java初学者作业——声明变量储存商品信息并进行输出
- 在我离开一段时间后锁定计算机,离开电脑一段时间怎么让win10自动锁屏
- 一级路由器映射二级路由器端口映射
- 大家总在讲情商,那到底什么是情商?
- linux 内核空间与用户空间通信,liunx用户空间和内核空间之间的通信实现(在PPC下的实现)...
- 新出免费字体——阿里巴巴普惠字体(附安装使用教程)
- Cocos2d如何实现MVC
- python 收音机
- puppy linux 5.11中文集成清爽160m,中文Puppy Linux开发者之家