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

 设lasso回归的损失函数为:

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

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

 

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

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

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

 

    下面为具体的更新过程。

    1选取初始参数

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

 

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

 

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

 

    (3)通过以上步骤即可以得到每轮的迭代结果,如果坐标轴下降法(解决L1正则化不可导的问题)相对于坐标轴下降法(解决L1正则化不可导的问题)的变化很小,则停止迭代,否则,重复步骤(2).

 

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

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

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

 

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

    对于一个可微凸函数坐标轴下降法(解决L1正则化不可导的问题),其中坐标轴下降法(解决L1正则化不可导的问题)坐标轴下降法(解决L1正则化不可导的问题)的向量,如果对于一个解坐标轴下降法(解决L1正则化不可导的问题),使得坐标轴下降法(解决L1正则化不可导的问题)在某个坐标轴

坐标轴下降法(解决L1正则化不可导的问题)都能达到最小值,则坐标轴下降法(解决L1正则化不可导的问题)就是坐标轴下降法(解决L1正则化不可导的问题)的全局的最小值点。