轉自:https://blog.csdn.net/qq_39422642/article/details/78816637網絡
概要:機器學習
1. 凸優化的定義
1.1 凸優化
1.2 全局最優化與局部最優化函數
2. Least-squares and linear programming(最小二乘與線性規劃)
2.1 最小二乘
2.2 線性規劃工具
3. 最優化方法的通常結構學習
4. 優化理論在機器學習,深度學習中扮演的角色優化
1.優化的定義spa
1.1 凸優化.net
最優化問題目前在機器學習,數據挖掘等領域應用很是普遍,由於機器學習簡單來講,主要作的就是優化問題,先初始化一下權重參數,而後利用優化方法來優化這個權重,直到準確率再也不是上升,迭代中止,那到底什麼是最優化問題呢?3d
它的通常形式爲:xml
第一個爲優化的目標,即最小化目標函數f(x),而帶大於號或小於號的,則是約束條件。咱們但願找到一個知足約束條件的x∗,使得對於任意的z知足約束條件:
有
而x∗就是咱們所求的最後結果。
至關於你要從上海去北京,你能夠選擇搭飛機,或者火車,動車,但只給你500塊錢,要求你以最快的時間到達,其中到達的時間就是優化的目標,500塊錢是限制條件,選擇動車,火車,或者什麼火車都是x。
知足全部約束條件的點集稱爲可行域,記爲X,又能夠寫爲:
,s.t表示受限於(subject to)。
在優化問題中,應用最普遍的是凸優化問題:
咱們稱這樣的優化問題爲凸優化問題。
用圖像來表示就是:
函數上方的點集就是凸集,函數上任意兩點的連線,仍然在函數圖像上方。
一句話說清楚就是:但願找到合適的x,使得f0(x)最小。
1.2 全局最優化與局部最優化
全局最優化指的是在知足條件約束的狀況下,找到惟一的一個點知足最大值或者最小值。
局部最優化指的是在知足條件約束的狀況下,有可能找到一個局部最大/小點,但不是全局最大或者最小的點。
用圖像表示爲:
2.Least-squares and linear programming(最小二乘與線性規劃)
關於這兩個問題的更詳細的例子會在接下來的文章中說到,此次只是簡單的介紹一下咱們的內容。
2.1 最小二乘
最小二乘問題是無約束的優化問題,一般能夠理解爲測量值與真實值之間的偏差平方和:
這個問題既然沒有約束條件,那應該怎麼求解呢?咱們的目標是求解出最好的x,觀察這個式子能夠發現,這個式子必定是大於等於0的,因此這樣的最優化問題,咱們能夠把它轉成線性方程來求解:
AT爲A的轉置,所以根據矩陣的逆:
能夠把上式表示爲:
加權的最小二乘問題:
權值均爲正數,表明每個 對結果的影響程度。
正則化的最小二乘問題:
ρ是人爲的選擇的,用來權衡 最小化 的同時,使得沒必要太大的關係。
2.2 線性規劃
另外一類重要的優化問題是線性規劃,它的目標函數和約束條件都是線性的:
用畫圖的方法,就是根據條件,畫出可行域,而後將目標函數在可行域上移動,直到獲得最大值。
3.最優化方法的通常結構
最優化的過程,至關於登山,如圖:
但願找到一個點列xk使得他的函數值是一直減小的,直到到達某一中止條件或者達到最小值的點xk.
用數學上的術語能夠表示爲:
從這裏能夠看到不一樣的步長和不一樣的搜索方向組成了不一樣的優化方法,這就是最優化理論中所討論的。f是xk的函數,搜索方向dk是f在xk是f在xk處的降低方向,即dk知足:
或者
而最優化的基本能夠表示爲:給定初始點xk
不斷迭代,直到xk+1知足某種某種中止條件,即獲得最優解xk+1
最優化中的問題中,大部分都是在尋找各類各樣的方法肯定步長和方向,使得迭代的速度儘量快,獲得的解儘量是最優的解。
4.優化理論在機器學習,深度學習中扮演的角色
凸優化,或者更普遍的說,是最優化理論,在目前的機器學習,數據挖掘,或者是深度學習的神經網絡中,都要用到。
他的地位至關於人的脊背同樣的,支撐着整個模型的學習過程。由於模型,通俗來講就像人學習思考同樣,咱們本身知道本身該學什麼,該怎麼學,發現本身的知識學錯了以後怎麼調整,但計算機可沒有人這麼聰明,知道學什麼,往哪裏學。
而最優化,就是告訴模型應該學什麼,怎麼學的工具。模型學習的每每都是一個映射函數,也就是模型中的參數W,這個參數的好壞,得看答案才能知道,但知道本身錯了以後,該往哪裏學,怎麼學,怎麼調整,這就是優化理論在其中扮演的角色。若是沒有優化理論,那麼模型是不知道該怎麼學習的,也就是沒有了最優化,模型的學習永遠都是停滯不前的,這下你知道最優化理論的重要性了吧。