坐标轴下降法(解决L1正则化不可导的问题)

来源:互联网 发布:linux 查看中间几行 编辑:程序博客网 时间:2024/06/04 17:47


坐标轴下降法(解决L1正则化不可导的问题)


参考:http://www.cnblogs.com/pinard/p/6018889.html


    设lasso回归的损失函数为:

          

          

    其中,n为样本个数,m为特征个数。

    由于lasso回归的损失函数是不可导的,所以梯度下降算法将不再有效,下面利用坐标轴下降法进行求解。

坐标轴下降法和梯度下降法具有同样的思想,都是沿着某个方向不断迭代,但是梯度下降法是沿着当前点的负梯度方向进行参数更新,而坐标轴下降法是沿着坐标轴的方向。

 

    下面为具体的更新过程。

    1选取初始参数

           

    2针对当前得到的参数进行迭代,假设已经求出第k-1轮的参数,现在由求,其中,则:


          


    3通过以上步骤即可以得到每轮的迭代结果,如果相对于的变化很小,则停止迭代,否则,重复步骤(2).

 

    通过以上迭代过程可以看出

    1. 坐标轴下降法进行参数更新时,每次总是固定另外m-1个值,求另外一个的局部最优值,这样也避免了Lasso回归的损失函数不可导的问题。

    2. 坐标轴下降法每轮迭代都需要O(mn)的计算。(和梯度下降算法相同)

 

    坐标轴下降法的数学依据为:

    对于一个可微凸函数,其中的向量,如果对于一个解,使得在某个坐标轴

都能达到最小值,则就是的全局的最小值点。





1 0