L1范数正则化

前端之家收集整理的这篇文章主要介绍了L1范数正则化前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。


L1范数正则化

编辑 锁定
L1范数正则化( L1 regularization 或 lasso )是机器学习(machine learning)中重要的手段,在 支持向量机(support vector machine)学习过程中,实际是一种对于 成本函数(cost function)求解最优的过程,因此,L1范数正则化通过向成本函数添加L1范数,使得学习得到的结果满足稀疏化(sparsity),从而方便人类提取特征。
中文
L1范数正则化
外文名
L1 regularization
别名
稀疏规则算子
别名
lasso

L1范数正则化L1范数的定义

编辑
L1范数(L1 norm)是指向量中各个元素绝对值之和,也有个美称叫“稀疏规则算子”(Lasso regularization)。
比如 向量
, 那么A的L1范数为 @H_301_93@

L1范数正则化L1范数正规化原理

编辑
支持向量机(support vector machine)学习过程中,实际是一种对于 成本函数(cost function)求解最优的过程。

L1范数正则化成本函数的构建原理

例如我们有一个数学模型的样子(structure),
,其中x是输入,y是输出
如果我们已知
,那么我们可以根据任何输入x的值,知道输出y的值。这叫预测(prediction)。
因此,问题进化为,我们手里有很对很多组x对应的y,但是不知道
!我们想通过测量很多组的x和y,来推断出
为多少。
我们将
T记为
记为
那么原式则写为
那么
因此我们现在知道
,我们希望通过计算得到
由于我们手中的很多组x和y都是通过实验的结果测试出来的。测量的结果就会有误差,因此
不可能计算你的准,那么我们很容易想到使用 最小二乘法(least square) 来计算
我们构建一个方程,这个方程也是最小二乘法的核心
支持向量机的本质,就是找到一组
能够让
最小!
因此,就是我们的成本函数

L1范数正则化用最小二乘法学习的问题

如果我们的问题是’ 灰箱‘(grey Box)(即我们已经知道数学模型,而不知道参数),直接用最小二乘法找到
是很简洁的。
如果我们的问题是‘黑箱’(black Box) (即 我们既不知道数学模型,也不知道参数),在拟合时,我们就不知道我们需要用几阶的多项式模型来逼近(或者几个核函数来逼近(kernel function),为了简便,不在这里赘述)。那么我们甚至连
的个数都不知道。
我们只能通过尝试和专家经验来猜测阶数。如果我们的阶数猜测多了,就会多出很多冗余的项。我们希望这些冗余项对应的权值
为0,这样我们就知道哪些项是无关的,是冗余的项。
但是只用最小二乘法确定
时,可能所有的
的绝对值都极其巨大,这是很正常的现象,但是它使得我们无法剔除无关项,得到的模型也毫无实际意义,模型处于ill-condition状态 (即输入很小的变化,就会引起输出病态的巨大的变化)。

L1范数正则化最大复杂度模型+L1正规化(惩罚项)

我们在成本函数中加入L1范数(其实就是惩罚项),成本函数
变为
其中
是我们用来控制L1正规化影响的权重系数。
因此,我们的目标成为了 : 找到一组
使得
最小!
继而使用最小二乘法,完成运算。

L1范数正则化为什么要这样构建成本函数???

如上文所述,监督机器学习问题无非就是“minimize your error while regularizing your parameters”,也就是在规则化参数的同时 最小化误差(最小二乘法的原理)。最小化误差是为了让我们的模型拟合我们的训练数据,而规则化参数是防止我们的模型过分拟合我们的训练数据。因为参数太多,会导致我们的模型复杂度上升,容易过拟合,也就是我们的训练误差会很小。但训练误差小并不是我们的最终目标,我们的目标是希望模型的测试误差小,也就是能准确的预测新的样本。所以,我们需要保证模型“简单”的基础上 最小化训练误差,这样得到的参数才具有好的泛化性能(也就是测试误差也小),而模型“简单”就是通过规则函数来实现的。另外,规则项的使用还可以约束我们的模型的特性。这样就可以将人对这个模型的先验知识融入到模型的学习当中,强行地让学习到的模型具有人想要的特性,例如稀疏、低秩、平滑等等。 [1]
原文链接:https://www.f2er.com/regex/359086.html

猜你在找的正则表达式相关文章