目錄常見演算法
演算法分類
比喻說明
最優化理論研究的問題是判定給定目標函式的最大值(最小值)是否存在,並找到令目標函式取到最大值(最小值)的數值。
人工智慧問題最後都會歸結為乙個優化問題的求解:在複雜環境與多體互動中做出最優決策。
最優化演算法可能找到全域性最小值,也可能找到區域性最小值,理想情況下,最優化演算法的目標就是找到全域性最小值。
當目標函式的輸入引數較多、解空間較大時,絕大多數演算法都不能滿足全域性搜尋,只能求出區域性最小值。
人工智慧和深度學習的應用,只要目標函式的取值足夠小,就可以把這個值當作最小值使用,作為對效能和複雜度的折中。
目標函式就是實現最小化或最大化的目標函式,也被稱為評價函式。
指經過多步迭代之後得出的數值不應該無限的增大,而是趨於某個數值,
區域性最小值只是比所有鄰近點的函式值都小
比定義域內所有其他點的函式值都小,包括了和所有的區域性最小值對比
微積分中重要基礎概念,是函式的區域性性質,又名微商、導函式值。
導數在幾何中可以求切線,在代數中可求瞬時變化率,在物理中可求速度、加速度。
乙個函式在某一點的導數描述了這個函式在這一點也附近的變化率。 概念如下
>當函式y=f(x)的自變數x在一點x0上產生乙個增量δx時,函式輸出值的增量δy與自變數增量δx的比值在δx趨於0時的極限a如果存在,a即為在x0處的導數,記作f'(x0)或df(x0)/dx。
描述的是目標函式隨輸入的變化而變化
描述的是一階導數隨輸入的變化而變化,提供了關於目標函式曲率(curvature)的資訊
梯度的本意是乙個向量,其方向上的方向導數最大,其大小正好是此最大方向導數.
表示某一函式在該點處的方向導數沿著該方向取得最大值,即函式在該點處沿著該方向(此梯度的方向)變化最快,變化率最大(為該梯度的模)。
梯度的方向是方向導數中取到最大值的方向,梯度的值是方向導數的最大值
曲率影響的是目標函式的下降速度。曲率為正,目標函式會比梯度下降法預期下降得更慢,曲率為負反之。
對自變數的取值沒有限制 。例如:梯度下降法(gradient descent)
對x變數取值限制在特定的集合內。例如:線性規劃(linear programming)
直觀地說,就是沿著目標函式下降最快的方向尋找最小值,
舉例:爬山時沿著坡度最陡的路徑尋找山頂。
在數學上,梯度的方向是目標函式導數的反方向
當輸入為向量時,目標函式的影象就變成了高維空間的曲面,這時的梯度就是垂直於曲面等高線並指向高度增加方向的向量,要上目標函式以最快的速度下降,就要讓自變數在負梯度的方向移動
另乙個重要的是步長,也就是每次更新f(x)時x的變化值。較小的步長會導致收斂過程較慢,步長過大可能會導致一步邁過了最小值點。
以上是針對單個樣本的梯度下降法,當可用的訓練樣本有多個時,樣本的使用批處理模式和隨機梯度下降法模式。
計算出每個樣本上目標函式的梯度,再將不同樣本的梯度進行求和,求和的結果作為本次更新中目標函式的梯度。
在每次更新中只使用乙個樣本,下一次更新中使用另一樣本,在不斷迭代更新過程中實現對所有樣本的遍歷。在訓練集規模較大時,隨機梯度下降法的效能更好。
把求解最優化問題想象成爬山,隨機梯度下降法,就是每走一步換乙個方向。
牛頓法是將二階導數引入優化過程,對二階近似後的目標函式求導,並讓導數為0,得到向量表示的就是下降最快的方向,牛頓法比梯度下降法快收斂速度更快
尋找最小值是先確定方向,再確定步長,需要使用目標函式的一階導數和二階導數
尋找最小值是先確定步長,再確定搜尋方向。以步長為引數劃定乙個區域,再在這個區域內尋找最快下降的方向。
靈感**於20世紀50年代誕生的仿生學,將生物進化等自然現象的機理應用於現實世界複雜問題的優化之中,並取得了不俗的效果。核心是大自然中的「優勝劣汰」的生存法則,在演算法的實現中新增了選擇和突變等經驗因素。
啟發式演算法的例項包括
啟發式演算法其實也是搜尋,是依賴經驗的碰運氣式的搜尋,相比之下,基於梯度的這些方法更像是地毯式搜尋,兩者相結合的話,就是在搜尋效率和解的最優性上做些折中。
神經網路演算法就是一類啟發式演算法,模擬的是大腦中神經元競爭和協作的機制。
以山峰為例,全域性最小值對應著山脈中最高的頂峰。
找到這個頂峰最好的辦法是站在更高的位置上,將所有的山峰盡收眼底,再在其中找到最高的一座。
但是我們沒有這樣的上帝視角,都是在山腳下,一步一步地尋找著附近的高峰,但是受視野的限制,最終找到的可能只是方圓十里之內的頂峰(區域性最小值)
在體重秤上稱量時,當人站上去時指標就開始抖動,抖動幅度越來越小,最後基本穩定在乙個值,讀取這個數字即可。
假設體重秤稱量是有演算法控制的,那麼這個擺動幾下很快就能穩定在乙個值的就是收斂性比較快(比較好)的演算法;要擺動很久才能穩定的就是收斂性比較慢(比較差)的演算法;
如果擺幅隨著時間的推移反而越來越大,那收斂性就非常不好,通常就沒有解。
最優化理論
最優化 optimization 應用數學的重要研究領域.它是研究在給定約束之下如何尋求某些因素 的量 以使某一 或某些 指標達到最優的一些學科的總稱.由於運籌學中出現的問題大多即是最優化所研究的問題,因此運籌學的許多分支,如數學規劃 組合最優化 排隊論,以及決策論等也是最優化的組成部分.此外,最優...
最優化理論
2017 10 24 最優化是應用數學的乙個分支,只不過對於計算機系的同學而言其實還是非常重要的。像現在很火的方向,如機器學習 計算機視覺 計算機圖形學 機械人等方向中都有非常基礎的應用,還有機械 物理 生物等,更不用說金融方向的quant。相信很多同學都學過最優化,對於軟體方向的同學應該是四年級的...
20190602 最優化理論基礎
所謂最優化方法,就是求乙個多元函式在某個給定集合上的極值。min f x s.t.x屬於k k是某個給定的集合 稱為可行集或者是可行域 f x 是定義在集合k上的實值函式,此外,在模型中,x通常稱為決策變數,s.t.是subject to 的縮寫 人們按照可行集的性質對最優化問題,進行乙個大致的分類...