热门问题
时间线
聊天
视角

坐標下降法

来自维基百科,自由的百科全书

Remove ads

坐標下降法(英語:coordinate descent)是一種非梯度優化算法。算法在每次迭代中,在當前點處沿一個坐標方向進行一維搜索英語line search以求得一個函數的局部極小值。在整個過程中循環使用不同的坐標方向。對於不可拆分的函數而言,算法可能無法在較小的迭代步數中求得最優解。為了加速收斂,可以採用一個適當的坐標系,例如通過主成分分析獲得一個坐標間儘可能不相互關聯的新坐標系(參考自適應坐標下降法英語Adaptive coordinate descent)。

算法描述

坐標下降法基於的思想是多變量函數可以通過每次沿一個方向優化來獲取最小值。與通過梯度獲取最速下降的方向不同,在坐標下降法中,優化方向從算法一開始就予以固定。例如,可以選擇線性空間的一組作為搜索方向。 在算法中,循環最小化各個坐標方向上的目標函數值。亦即,如果已給定,那麼,的第個維度為

因而,從一個初始的猜測值以求得函數的局部最優值,可以迭代獲得的序列。

通過在每一次迭代中採用一維搜索英語line search,可以很自然地獲得不等式

可以知道,這一序列與最速下降具有類似的收斂性質。如果在某次迭代中,函數得不到優化,說明一個駐點已經達到。

這一過程可以用下圖表示。

Thumb
Remove ads

例子

對於非平滑函數,坐標下降法可能會遇到問題。下圖展示了當函數等高線非平滑時,算法可能在非駐點中斷執行。

Thumb

應用

坐標下降法在機器學習中有應用,例如訓練線性支持向量機[1](可見LIBLINEAR英語LIBLINEAR)以及非負矩陣分解英語non-negative matrix factorization[2]

參見

參考

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads