L1正則化求導問題

2021-08-15 02:47:12 字數 2328 閱讀 7543

在實現機器學習演算法時,最常用的是l2正則化,因為l2正則化有連續可微的性質,易求導。但l1能產生稀疏解,而且稀疏解的泛化能力會比較好,不過由於l1正則化並不是處處連續的,所以優化的時候會有一定難度。

對於目標函式不是連續可微的情況,可以用次梯度來進行優化,但次梯度存在兩個問題:

次梯度定義:次梯度,次導數

此時可以用proximal algorithm對l1進行求解。

定義如下: 設 f

:rn→

r∪f :r

n→r∪

為凸函式,那麼凸函式的上鏡圖(epigraph)定義為: ep

if= epi

f=是非空的閉凸集,其effective domain: do

mf= dom

f=即,f f

的取值範圍為有限個的一組點。

上鏡圖(epigraph)意為在函式影象之上。乙個用途是用來聯絡凸集合凸函式的。即,乙個函式為凸函式,當且僅當其上鏡圖是凸集。

proximal operatorproxf:

rn→r

n' role="presentation">f:

rn→r

nf:r

n→rn

的定義: pr

oxf(

v)=arg

minx(f

(x)+

12‖x

−v‖2

2)p ro

xf(v

)=arg⁡

minx(f

(x)+

12‖x

−v‖2

2)或者 或

者pro

xλf(

v)=arg

minx(f

(x)+

12λ‖

x−v‖

22) pro

xλf(

v)=arg

⁡minx(

f(x)

+12λ

‖x−v

‖22)

其中‖⋅

‖2‖ ⋅‖

2為歐幾里得範數,λ λ

視為引數即可(scaled function)。

由此可知,

proximal operator 公式是在尋找乙個距離點 v v

附近的點

x' role="presentation">x

x,使得 f(

x)f (x

)盡可能小,並且 f(

x)<=f(

v)f (x

)<=f(

v),如圖:

來自proximal algorithms by n. parikh and s. boyd

其中粗的黑線表示為作用域,細黑線表示函式f的等高線,藍色的點是

v v

,紅點是

x' role="presentation">x

x。函式域中的三點停留在域內,向函式的最小值移動,另外兩點移動到域的邊界,並朝函式的最小值移動。 引數

λ λ

控制 proximal operator 對映指向

f f

的最小值的程度,其中

λ' role="presentation">λ

λ的較大值與最小值附近的對映點相關聯,較小的值給出向最小值的較小移動。

假設目標函式為 y=

f(x)

+ϕ(x

) y=f

(x)+

ϕ(x)

其中 f(

x)f (x

)連續可微,ϕ(

x)ϕ (x

)不連續(比如l1正則化),這類目標函式在機器學習演算法中很常見。迭代優化步驟如下:

proximal 演算法中要求 ▽f

(x) ▽f(

x)滿足 lipschitz 條件其係數為

l l

,所以引數

λ' role="presentation">λ

λ的取值範圍為 λ∈

(0,1

l)λ ∈(

0,1l

),若

l l

未知,可以使用line search:

L1正則化與稀疏性 L1正則化不可導問題

l1正則化與稀疏性 座標軸下降法 解決l1正則化不可導的問題 lasso回歸演算法 座標軸下降法與最小角回歸法小結 l1正則化使得模型引數具有稀疏性的原理是什麼?機器學習經典之作 pattern recognition and machine learning 中的第三章作出的乙個解釋無疑是權威且直...

L1正則化和L2正則化

為了降低過擬合風險,需要控制模型複雜度,自然想到減少引數個數,但是這個問題不易直接解決,可以通過放寬條件控制。新增優化條件 這會使引數條件空間有明顯的凸角,這些突出點顯然會成為聯合優化時的最優解,但同時這些這些凸點中又會有較多的0值 由其限制條件可見,凸點都在座標軸上 因此l1範數會更易得到稀疏解,...

L1正則化和L2正則化

l1標準化與l2標準化 參考 l1 l2標準化及其python 實現 我們知道,正則化的目的是限制引數過多或者過大,避免模型更加複雜。l1 與 l2 解的稀疏性 以二維情況討論,上圖左邊是 l2 正則化,右邊是 l1 正則化。從另乙個方面來看,滿足正則化條件,實際上是求解藍色區域與黃色區域的交點,即...