先要理解损失函数可视化
针对参数空间内的损失函数等高线图,满足相同loss值的解有无穷多个。
损失函数添加正则项的一般形式:
L
=
∑
i
=
1
n
[
y
i
−
∑
j
=
1
p
(
w
j
∗
x
i
)
−
b
]
+
λ
∑
j
=
1
p
∣
w
j
∣
q
L=\sum_{i=1}^n[y_i-\sum_{j=1}^p(w_j*x_i)-b]+λ\sum_{j=1}^p|w_j|^q
L=i=1∑n[yi−j=1∑p(wj∗xi)−b]+λj=1∑p∣wj∣q
我们做出
∑
j
=
1
p
∣
w
j
∣
q
\sum_{j=1}^p|w_j|^q
∑j=1p∣wj∣q在不同
q
q
q下的图像:
在损失函数可视化中我们画了损失函数
∑
i
=
1
n
[
y
i
−
∑
j
=
1
p
(
w
i
∗
x
i
)
−
b
]
\sum_{i=1}^n[y_i-\sum_{j=1}^p(w_i*x_i)-b]
∑i=1n[yi−∑j=1p(wi∗xi)−b]的等高线形式,如果将不带正则项的损失函数图像和正则图像放在一起:
以左图最外圈来说,损失函数值达到最外圈所对应的值时,这样
w
1
w_1
w1和
w
2
w_2
w2有无穷多个,那么如果我们加了
l
1
l_1
l1正则项,表示从这无穷多个中选择一个,这一个是这去穷多个中
w
1
+
w
2
w_1+w_2
w1+w2最小的一个。如果一条直线与多个等高线相交,那么这些交点处的
w
1
+
w
2
w_1+w_2
w1+w2都是相等的,此时选择等高线最小的解,如图中点5。
右图同理 l 2 l_2 l2正则第一次与等高线相切的点对应的 w 1 w_1 w1和 w 2 w_2 w2是无穷多个解中 w 1 2 + w 2 2 w_1^2+w_2^2 w12+w22最小的一个。
所以可以得到结论:等高线与正则项首次相交的地方就是最优解。正则项缩小了我们求解的参数空间范围。
https://blog.csdn.net/zandaoguang/article/details/107970123
http://freemind.pluskid.org/machine-learning/sparsity-and-some-basics-of-l1-regularization/#ed61992b37932e208ae114be75e42a3e6dc34cb3http://
从贝叶斯角度深入理解正则化
——一定要看
为什么不用L0作为正则项?
从理论来说,L0确实是求稀疏解的最好的正则项,但是机器学习中特征的维度往往很大,你也可以理解为系数很多很多,然后解L0又是个NP-hard问题,因此在实际工程应用中极有限制,不可行。
为啥我们非得得到稀疏解呢?
这个问题并不绝对。从统计上来说,稀疏解可以舒缓模型的过拟合问题,毕竟可以使模型复杂度降低了——即让一部分属性失效了。