这可以通过多种方式进行攻击,包括通过Karush–Kuhn–Tucker条件的相当经济的方法。
下面是一个非常基本的替代参数。
正交设计的最小二乘解
假设由正交列组成。然后,最小二乘解是
X
β^LS=(XTX)−1XTy=XTy.
一些等效的问题
通过拉格朗日形式,可以直接看出问题中考虑的等效问题是
minβ12∥y−Xβ∥22+γ∥β∥1.
扩展第一项,我们得到,由于不包含任何对于感兴趣的变量,我们可以将其丢弃,然后考虑另一个等效问题,
12yTy−yTXβ+12βTβyTy
minβ(−yTXβ+12∥β∥2)+γ∥β∥1.
注意,先前的问题可以重写为
β^LS=XTy
minβ∑i=1p−β^LSiβi+12β2i+γ|βi|.
现在,我们的目标函数是目标的总和,每个目标对应一个单独的变量,因此可以分别求解它们。βi
整体等于部分之和
确定一个。然后,我们要最小化
i
Li=−β^LSiβi+12β2i+γ|βi|.
如果,那么我们必须具有因为否则我们可以翻转其符号并为目标函数获得一个较低的值。同样,如果,那么我们必须选择。β^LSi>0βi≥0β^LSi<0βi≤0
情况1:。由于,
并针对并将其设置为零,我们得到,这仅在右侧为非负值时才可行,因此在这种情况下,实际的解决方案是
β^LSi>0βi≥0
Li=−β^LSiβi+12β2i+γβi,
βiβi=β^LSi−γβ^lassoi=(β^LSi−γ)+=sgn(β^LSi)(|β^LSi|−γ)+.
情况2:。这意味着我们必须具有,因此
关于并将其设置为零,我们得到。但是,再次,为了确保这是可行的,我们需要,这可以通过使
β^LSi≤0βi≤0
Li=−β^LSiβi+12β2i−γβi.
βiβi=β^LSi+γ=sgn(β^LSi)(|β^LSi|−γ)βi≤0β^lassoi=sgn(β^LSi)(|β^LSi|−γ)+.
在这两种情况下,我们都获得了所需的形式,因此就完成了。
结束语
请注意,随着增加,每个必然减少,因此也是如此。当,我们恢复OLS解,并且对于,我们对所有都获得。γ|β^lassoi|∥β^lasso∥1γ=0γ>maxi|β^LSi|β^lassoi=0i