1.随机初始化一组参数theta
2.求梯度g,loss对theta求偏导
3.使用梯度下降公式 W(t+1) = Wt - η*g
4.判断收敛
我们添加正则项即在MSE上加L1/L2,添加上后直接改变的就是梯度下降的第二步,
此时g变成了g = (MSE + L1/L2)求偏导,那么第三步就W(t+1) = Wt - *
这样原来的梯度下降就多了一部分,使得每次迭代都让参数W多调整了一些,更接近于0,让参数W尽可能变小。
2.L1和L2正则项公式展开写我们梯度下降时加上正则项改变的是第二步:对L1或者L2求偏导。
L1因为是每个W单纯的相加,这样对每个W求偏导后,最后结果只能是1或者-1,那么就是所有的W同时调整-1*η学习率,所以所有的W调整的幅度一样,就有可能最终相交在轴上。
L2是平方再加和的形式,那么求导后就等于2*Wj,这样W越大,调整的幅度就越大,Wj越小调整的幅度就越小。这样所有的W就都尽可能地往原点0调整
结果:1.L1和L2都有提高泛化能力的作用,但是如果我们是为了提高模型的泛化能力,比较常用的是L2正则项。
2.L1正则项有一个副产品就是可以做特征的选择,因为使用L1正则项后,由于L1洗漱性的特性,有一些W会变成零,我们就可以认为这些W维度不重要,那么这样就可以帮助我们去掉一些不重要的维度(机器学习开始的时候做降维特征的选择)。