L1范数正则化

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

L1范数正则化

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

目录

  1. 1 L1范数的定义
  2. 2 L1范数正规化原理
  1. 成本函数的构建原理
  2. 用最小二乘法学习的问题
  3. 最大复杂度模型+L1正规化(惩罚项)
  1. 为什么要这样构建成本函数???
@H_404_1@ @H_404_1@ @H_404_1@
@H_404_1@

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

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

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

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

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

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

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

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

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

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

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

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

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