最優化理論與凸優化到底是幹嘛的?

2021-08-13 15:30:22 字數 3685 閱讀 9184

凸優化的定義

1.1 凸優化

1.2 全域性最優化與區域性最優化

least-squares and linear programming(最小二乘與線性規劃)

2.1 最小二乘

2.2 線性規劃

最優化方法的一般結構

優化理論在機器學習,深度學習中扮演的角色

1.優化的定義

1.1 凸優化

最優化問題目前在機器學習,資料探勘等領域應用非常廣泛,因為機器學習簡單來說,主要做的就是優化問題,先初始化一下權重引數,然後利用優化方法來優化這個權重,直到準確率不再是上公升,迭代停止,那到底什麼是最優化問題呢?

它的一般形式為:mi

nimi

zef0

(x)

使得fi

(x)≤

bi,i

=1,⋯

,m第乙個為優化的目標,即最小化目標函式f(x),而帶大於號或小於號的,則是約束條件。我們希望找到乙個滿足約束條件的x∗

,使得對於任意的

z 滿足約束條件:f1

(z)≤

b1,⋯

,fm(

z)≤b

m有f0

(z)≥

f0(x

∗) 而

x∗就是我們所求的最後結果。

滿足所有約束條件的點集稱為可行域,記為x,又可以寫為:mi

nf(x

)s.t

x∈x

,s.t表示受限於(subject to)。

在優化問題中,應用最廣泛的是凸優化問題:

用影象來表示就是:

函式上方的點集就是凸集,函式上任意兩點的連線,仍然在函式影象上方。

一句話說清楚就是:希望找到合適的

x ,使得f0

(x)最小。

1.2 全域性最優化與區域性最優化

全域性最優化指的是在滿足條件約束的情況下,找到唯一的乙個點滿足最大值或者最小值。

區域性最優化指的是在滿足條件約束的情況下,有可能找到乙個區域性最大/小點,但不是全域性最大或者最小的點。

用影象表示為:

2.least-squares and linear programming(最小二乘與線性規劃)

關於這兩個問題的更詳細的例子會在接下來的文章中說到,這次只是簡單的介紹一下我們的內容。

2.1 最小二乘

最小二乘問題是無約束的優化問題,通常可以理解為測量值與真實值之間的誤差平方和:mi

nimi

zef0

(x)=∥

ax−b

∥22=

∑i=1

k(at

ix−b

i)2

其中a∈r

kxn(

k>n)

,ati

為a的第

i行,向

量x就是

我們的優

化目標。

這個問題既然沒有約束條件,那應該怎麼求解呢?我們的目標是求解出最好的x,觀察這個式子可以發現,這個式子一定是大於等於0的,所以這樣的最優化問題,我們可以把它轉成線性方程來求解:at

ax=a

tb a

t 為a的轉置,因此根據矩陣的逆:(a

ta)−

1ata

=1可以把上式表示為:x=

(ata

)−1a

tb加權的最小二乘問題:∑i

=1kw

i(at

ix−b

i)2

權值均為正數,代表每乙個at

ix−b

i 對結果的影響程度。

正則化的最小二乘問題:∑i

=1k(

atix

−bi)

2+ρ∑

i=1n

x2i

ρ 是人為的選擇的,用來權衡 最小化∑k

i=1(

atix

−bi)

2 的同時,使得∑n

i=1x

2i不必太大的關係。

2.2 線性規劃

另一類重要的優化問題是線性規劃,它的目標函式和約束條件都是線性的:mi

nimi

zect

x s.

tati

x≤bi

,i=1

,⋯,m

用畫圖的方法,就是根據條件,畫出可行域,然後將目標函式在可行域上移動,直到得到最大值。

3.最優化方法的一般結構

最優化的過程,相當於爬山,如圖:

希望找到乙個點列xk

使得他的函式值是一直減少的,直到到達某一停止條件或者達到最小值的點xk

.用數學上的術語可以表示為:

從這裡可以看到不同的步長和不同的搜尋方向組成了不同的優化方法,這就是最優化理論中所討論的。

f 是xk

的函式,搜尋方向dk

是f在x

k 處的下降方向,即dk

滿足:∇f

(xk)

tdk<0

或者f(x

k+1)

=f(x

k+αkdk)

xk)

而最優化的基本可以表示為:給定初始點xk

確定搜尋方向dk

,即按照一定規則畫方法確定f在xk

處的下降方向

確定步長因子αk

,使得目標函式有一定的下降令x

k+1=

xk+α

kdk

不斷迭代,直到xk

+1滿足某種某種停止條件,即得到最優解xk

+1最優化中的問題中,大部分都是在尋找各種各樣的方法確定步長和方向,使得迭代的速度盡可能快,得到的解盡可能是最優的解。

4.優化理論在機器學習,深度學習中扮演的角色
凸優化,或者更廣泛的說,是最優化理論,在目前的機器學習,資料探勘,或者是深度學習的神經網路中,都要用到。

他的地位相當於人的脊背一樣的,支撐著整個模型的學習過程。因為模型,通俗來說就像人學習思考一樣,我們自己知道自己該學什麼,該怎麼學,發現自己的知識學錯了之後怎麼調整,但計算機可沒有人這麼聰明,知道學什麼,往**學。

而最優化,就是告訴模型應該學什麼,怎麼學的工具。模型學習的往往都是乙個對映函式,也就是模型中的引數w,這個引數的好壞,得看答案才能知道,但知道自己錯了之後,該往**學,怎麼學,怎麼調整,這就是優化理論在其中扮演的角色。如果沒有優化理論,那麼模型是不知道該怎麼學習的,也就是沒有了最優化,模型的學習永遠都是停滯不前的,這下你知道最優化理論的重要性了吧。

最優化理論與方法 《數值與最優化方法》(目錄)

對於每乙個方法,都大致按照 問題形式 演算法步驟 和 收斂分析 來進行展開的。而對於科研中常用方法,則講透本質思想。數值與最優化方法 一 包括 一.無約束最優化計算方法1.1 數學基礎 1.1.1 等值線 1.1.2 可微與梯度 1.1.3 方向導數 1.1.4 hesse矩陣 1.1.5 多元函式...

最優化理論與技術 一維搜尋

目錄 分割法 進退法 二次插值法 拋物線插值法 三次插值法 初始點 x 0 按照某種規則 a 產生下乙個迭代點 x a x k 點列 收斂於最優解 x 初始點 x 0 按照某種規則 a 產生下乙個迭代點 x a x k f x 0 f x 1 f x k 下降迭代演算法步驟 給出初始點 x 0 令 ...

sql優化實戰 排序字段 到底是time還是ID

查到有這樣一段話,很耗cpu資源 code setstatistics io on setstatistics time onselect top10 feedbackid,userid,contentid,content time,addtype,ip from cyzonefeedback wh...