范数及其应用

范数

范数的通常化定义:设\(p\geq 1\)的实数,p-norm定义为:机器学习

\[ || x ||_{p}\; :=\; (\sum_{i=1}^{n}{\left| x_{i} \right|^{p}})^{\frac{1}{p}} \]函数

L0范数

\[\left| \left| x \right| \right|_{0}\; :=\; ^{0}\sqrt{\sum_{i=0}^{n}{x_{i}^{0}}}\]学习

严格来说,L0不属于范数,上面的公式让人难以理解。在实际应用中,人们每每采用如下定义:优化

\[\left| \left| x \right| \right|_{0}\; \; =\; \#\left( i \right)\; with\; x_{i}\; \neq \; 0\]编码

其表示向量中全部非零元素的个数。spa

L1范数

\[\left| \left| x \right| \right|_{1}\; :=\; \sum_{i=1}^{n}{\left| x_{i} \right|} \].net

也称为曼哈顿距离。orm

L0范数是指向量中非0的元素的个数。若是咱们用L0范数来规则化一个参数矩阵W的话,就是但愿W的大部分元素都是0。换句话说,让参数W是稀疏的。看到了“稀疏”二字,你们都应该从当下风风火火的“压缩感知”和“稀疏编码”中醒悟过来,原来用的漫山遍野的“稀疏”就是经过这玩意来实现的。blog

但你又开始怀疑了,是这样吗?看到的papers世界中,稀疏不是都经过L1范数来实现吗?脑海里是否是处处都是||W||1影子呀!get

L1范数和L0范数能够实现稀疏,L1因具备比L0更好的优化求解特性而被普遍应用。

L2范数

范数中最多见,也最著名的非L2范数莫属。
\[\left| \left| x \right| \right|_{2}\; :=\; \sqrt{\sum_{i=1}^{n}{x_{i}^{2}}}\]

L2范数的优势

从学习理论的角度来讲,L2范数能够防止过拟合,提高模型的泛化能力。
从优化或者数值计算的角度来讲,L2范数有助于处理condition number很差的状况下矩阵求逆很困难的问题。

L1和L2的差异,为何一个让绝对值最小,一个让平方最小,会有那么大的差异呢?

降低速度:
L1就是按绝对值函数的“坡”降低的,而L2是按二次函数的“坡”降低。
模型空间的限制:
对于L1和L2规则化的代价函数来讲,咱们写成一下形式:

\[ Lasso:\; \min_w{||y-Xw||^2},\; s.t.\ ||w||_1\leq{C}\\ Ridge:\; \min_w{||y-Xw||^2},\; s.t.\ ||w||_2\leq{C}\\ \]

考虑二维的状况,等高线与norm ball相交的地方就是最优解。L1-ball的最优势大都出如今"角点"处,这便大几率产生了稀疏性;L2-ball却不能够,它只是一种规则化手段。

无限范数

infinity norm:
\[\left| \left| x \right| \right|_{\infty }\; :=\; ^{\infty }\sqrt{\sum_{i=1}^{n}{x_{i}^{\infty }}}\]

即:
\[\left| \left| x \right| \right|_{\infty }\; =\; ^{\infty }\sqrt{\sum_{i=1}^{n}{x_{i}^{\infty }}}\; =\; ^{\infty }\sqrt{x_{j}^{\infty }}\; \; =\; \max \left( \left| x_{j} \right|\right) \]
表示的是X向量中最大元素的长度。

机器学习中的应用

正则化

对模型复杂度进行惩罚,若是惩罚项选择L1,则是咱们所说的Lasso回归,而L2则是Ridge回归。

贝叶斯

正则化项从贝叶斯学习理论的角度来看,其至关于一种先验函数分布

即当你训练一个模型时,仅仅依靠当前的训练集数据是不够的,为了实现更好的预测(泛化)效果,咱们还应该加上先验项。

而L1则至关于设置一个Laplacean先验,而L2则相似于 Gaussian先验。

L1先验对大值和小值的tolerate很好,而L2先验则倾向于均匀化大值和小值。

贝叶斯回归和图模型

回归模型\(y=Xw+\epsilon\),能够看作是:
\[p(y|X; w,\lambda)=N(Xw,\lambda) ,\; p(\epsilon)=N(0,\lambda)\]

贝叶斯分布:
\[p(\epsilon)=\frac{1}{\sqrt{2\pi}\delta}*\exp(-\frac{\epsilon^2}{2\delta^2})\]
因此:
\[p(y|x;w)=\frac{1}{\sqrt{2\pi}\delta}*\exp(-\frac{(y-w^Tx)^2}{2\delta^2})\]

对极大似然MLE取对数:
\[ \begin{split} l(w)&=log(\prod_{i=1}^{m}{\frac{1}{\sqrt{2\pi}\delta}*\exp(-\frac{(y-w^Tx)^2}{2\delta^2})}) \\ &=mlog(\frac{1}{\sqrt{2\pi}\delta}) - \frac{1}{2\delta^2}{\sum_{i=1}^{m}{(y-w^Tx)^2}} \end{split}\]

即:
\[w_{MLE}=arg\; min\sum_{i=1}^{m}{(y-w^Tx)^2}\]
这就导出了平方损失函数。这是在咱们对参数 w 没有加入任何先验分布的状况下。

在数据维度很高的状况下,咱们的模型参数不少,模型复杂度高,容易发生过拟合。这个时候,咱们能够对参数 w 引入先验分布,下降模型复杂度。

Ridge Regression

假设参数w服从协方差为\(\alpha\)的标准高斯分布。
\[ \begin{split} L(w)&=p(y|x;w*p(w))\\ &=\prod_{i=1}^{m}{\frac{1}{\sqrt{2\pi}\delta}*\exp(-\frac{(y-w^Tx)^2}{2\delta^2})})* \prod_{j=1}{n}{\frac{1}{\sqrt{2\pi}\alpha}*\exp(-\frac{(w)^2}{2\alpha^2})}, w是n个参数\\ &=\prod_{i=1}^{m}{\frac{1}{\sqrt{2\pi}\delta}*\exp(-\frac{(y-w^Tx)^2}{2\delta^2})})* \frac{1}{(2\pi)^{n/2}}\frac{1}{|\Sigma|^{1/2}}exp[-\frac{1}{2}{w^T\Sigma^{-1}w}] \end{split} \]

取对数,得:
\[ \begin{split} l(w)&=log(L(w)) \\ &= m\log{\frac{1}{\sqrt{2\pi}}} + nlog\frac{1}{\sqrt{2\pi}} -\frac{1}{2}\log{|\Sigma|}- \frac{1}{2\delta^2}{\sum_{i=1}^{m}{(y-w^Tx)^2}}-\frac{1}{2}\frac{1}{\alpha}w^Tw \end{split} \]

和w有关的项:
\[J(w)=\frac{1}{m}{||y-w^Tx||_2} + \lambda||w||_2\]

ridge regression 并不具备产生稀疏解的能力,也就是说参数并不会真出现不少零,只是会让权值在0附近分布很密集。

假设咱们的预测结果与两个特征相关,L2正则倾向于综合二者的影响,给影响大的特征赋予高的权重;而L1正则倾向于选择影响较大的参数,而舍弃掉影响较小的那个。实际应用中L2正则表现每每会优于 L1正则,但 L1正则会大大下降咱们的计算量。

Lasso

若是对w引入Laplace分布呢?Laplace分布:

\[f(x|u,b)=\frac{1}{2b}\exp({-\frac{|x-u|}{b}})\]


重复以前的推导过程咱们很容易获得:

\[w_{MAP} = arg \min(\frac{1}{2\delta^2}{\sum_{i=1}^{m}(y-w^Tx)^2} + \frac{1}{2b^2}{||w||_1})\]

LASSO 仍然是一个 convex optimization 问题,它的优良性质是能产生稀疏性,致使 w 中许多项变成零。等价于L1正则化。

Elastic Net

既然 L1和 L2正则各自都有本身的优点,那咱们能不能将他们 combine 起来?因而就有了混合先验几率,公式比较复杂,参数约束以下:

相关文章
相关标签/搜索