1.L2、L1正则化
L2:
放公式:
一步的情况:
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/cadccb6d07cc45293c1e9a2397d16c41.png)
**从整体看,**分析最小值W 附近的情况,假设J在W取得最小值,我们可以用二次函数来近似表达J在W*邻域:
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/10379db176f1f9ce11dca78320002b4a.png)
A:因为这里假设的是二次函数,也就是存在二阶导数。
如果假设w周围是一次的话,那么就是J(w-w),J是雅可比矩阵
由于是在最小值W*附近,所以H对称半正定。
加上weight decay(L2正则项)并对其求导:
在W*附近有
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/16508344a89fa54e1d0d25dc010681ab.png)
.
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/10b85f8ac9bc29f04ffe6c3e952e7e77.png)
因为H对称,进行分解
.
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/326dfff86a6912f5f566e779be97d1a5.png)
进行一波分析:
Q:加入weight decay之后,对最后的W是什么样的影响?
A:对于小的特征值对应的特征向量,也就是对应值对J贡献较小的feature set{wi | wi属于W},weight decay削弱了其对J的影响,提高了泛化能力。
具体分析见原文:
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/29d600df4e45d6ba849270822dda5fdb.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/997010d99e4f35d15aee09fc70a9ff17.png)
总结:weight decay的效果是削弱对J的值改变不大的方向,保留对J的比较重要的方向(这个方向上的值的改变对J的值改变较大)
L1
一步的情况:
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/727498fc6e97f8ea6184aa6a7fdf5e5c.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/ac65db417aa7f60073605057dae7f73f.png)
从整体看:这里不能假设成二次函数,怎么办呢?可以添加对角Hessian矩阵,来近似在最优值W附近为二次函数
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/3d0de1f3231125c7372067dc07bcf1b9.png)
不过要保证输入的特征是统计不相关的。
这样
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/137e811336d2a1822545bed0e70da785.png)
经过计算可得:
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/4eb38af5d76a3c5e82197f897003de79.png)
可以看出,当选择足够大的参数α之后,就可以让参数足够的稀疏
2.增加噪声
增加网络噪声(如dropout)
增加输出噪声(如让label不是0-1,而是a,a∈[0,1])
3.半监督/多任务
半监督是:有label和没有label的数据一起学习,生成模型p(x,y)与判别模型p(y|x)共享参数
多任务:如图
4.生成模型/判别模型
生成模型:学习P(x,y),然后求P(y|x)
判别模型:直接学习P(y|x)
5.Moore-Penrose伪逆
伪逆的求法还有,取SVD,QR