A 04 座標軸下降法

2021-10-03 13:25:18 字數 2569 閱讀 7098

座標軸下降法顧名思義,沿著座標軸下降。座標軸下降法和梯度下降法使用的都是迭代法,即使用啟發式的方式一步一步迭代求解函式的最小值。

可以想象乙個可微的凸函式j(ω

)j(\omega)

j(ω)

,其中ω

\omega

ω是乙個n∗1

n*1n∗

1維的向量。如果在這n

nn維空間中存在著某一點ω

‾\overline

ω能夠使得j(ω

)j(\omega)

j(ω)

在每乙個座標軸上都是最小的,那麼我們則可以說j(ω

‾)j(\overline)

j(ω)

是全域性最小值。如二維空間(x,

y)(x,y)

(x,y

)中的曲線x

2x^2

x2,當x

xx和y

yy都是最小的時候,即為曲線x

2x^2

x2最小值的時候。(注:lasso回歸的目標函式雖然不可微,但是由於目標函式非正則項是可微的,l1正則項是凸函式,因此也可以使用該結論。)

座標軸下降法即在ω

\omega

ω的每個座標軸上做迭代下降,當每個座標軸上的值都收斂時,則可以說明達到了j(ω

)j(\omega)

j(ω)

的全域性最小值。

ω

\omega

ω取初值記為ω(0

)\omega^

ω(0)

,其中(0)

(0)(0

)表示迭代的輪數,初輪數為0。

對於第k

kk輪的迭代,依次求解ωi(

k)(i

=1,2

,⋯,n

)^ \quad(i=1,2,\cdots,n)

ωi​(k)

(i=1

,2,⋯

,n),即

ω i(

k)∈a

rgmi

n⏟ωi

j(ω1

(k),

ω2(k

),⋯,

ωn(k

))^ \in \underbrace_\,j(^,^,\cdots,^)

ωi​(k)

∈ωi​

argm

in​​

j(ω1

​(k)

,ω2​

(k),

⋯,ωn

​(k)

)其中由於在每次單獨對乙個座標軸迭代的時候其他座標軸上的值為常數。也就是ωi(

k)^ωi

​(k)

是使j (ω

1(k)

,ωi−

1(k)

,ωi+

1(k)

,⋯,ω

n(k)

)j(^,^,^,\cdots,^)

j(ω1​(

k),ω

i​−1

(k),

ωi​+

1(k)

,⋯,ω

n​(k

))為最小的值,除了ωi(

k)^ωi

​(k)

為變數外,其他引數都為常數,則對j(ω

1(k)

,ωi−

1(k)

,ωi+

1(k)

,⋯,ω

n(k)

)j(^,^,^,\cdots,^)

j(ω1​(

k),ω

i​−1

(k),

ωi​+

1(k)

,⋯,ω

n​(k

))求導即可得該函式的最小值。

檢查ω (k

)^ω(k)

和ω (k

−1)^

ω(k−1)

在每個維度上的變化情況,如果所有維度的變換都小於某個閾值,則ω(k

)^ω(k)

為最終結果,否則迴圈第2步,進入k+1

k+1k+

1次迭代。

兩者都是迭代方法,並且每一輪迭代都需要o(m

n)o(mn)

o(mn

)的計算量,其中m

mm為樣本數,n

nn為特徵數。

座標軸下降法固定n−1

n-1n−

1個座標,沿著剩下的乙個座標軸迭代,得到函式的區域性最小值;梯度下降法則是沿著梯度的負方向得到函式的區域性最小值。

座標軸下降法是一種非梯度優化演算法,但是乙個週期中迴圈使用不同的座標方向迭代,相當於梯度下降的一輪迭代。

由於座標軸下降法是利用當前座標方向迭代,不需要求目標函式的倒數;梯度下降法是利用目標函式的偏導數來確定迭代方向的。

Echart總結 一 座標軸屬性

demo xaxis show true false name 座標軸名字 namelocation 座標軸位置 property namestyle 座標軸名稱樣式 namestyle,namegap 15 座標軸名稱與軸線之間的距離。namerotate null,旋轉角度 property a...

4 談談gnuplot(十四) 第二座標軸

回首看看我們以前所有的作圖,橫座標都標示在底部,而縱座標都標示在左側。其實,在影象頂部和右側,還隱藏著一對不太引人注意的座標軸,我們可以管它們叫做 第二座標軸 平時,它們只是第一對座標軸的映象 在我們需要的時候,它們可以用來表示不同的物理量。有時候,我們會有兩組性質不同但是又相互關聯的資料,這時候我...

Python資料視覺化3 座標軸設定

座標軸設定 import matplotlib.pyplot as plt import numpy as np 定義資料 x np.linspace 3,3,50 y1 2 x 1 y2 x 2 定義figure plt.figure 繪圖 x,y2 plt.plot x,y2 繪圖 x,y1 p...