[算法系列]最優化問題綜述

2021-01-18 機器學習算法與Python實戰

▽▽▽

1 優化問題分類

優化問題一般可分為兩大類:無約束優化問題和約束優化問題,約束優化問題又可分為含等式約束優化問題和含不等式約束優化問題。

無約束優化問題


含等式約束的優化問題


含不等式約束的優化問題



2 求解策略

針對以上三種情形,各有不同的處理策略:



無約束的優化問題:可直接對其求導,並使其為0,這樣便能得到最終的最優解;


含等式約束的優化問題:主要通過拉格朗日乘數法將含等式約束的優化問題轉換成為無約束優化問題求解;


含有不等式約束的優化問題:主要通過KKT條件(Karush-Kuhn-Tucker Condition)將其轉化成無約束優化問題求解。



3 求解算法3.1 無約束優化算法

3.1.1 梯度下降法

梯度下降法是最早最簡單,也是最為常用的最優化方法。梯度下降法實現簡單,當目標函數是凸函數時,梯度下降法的解是全局解。一般情況下,其解不保證是全局最優解,梯度下降法的速度也未必是最快的。梯度下降法的優化思想是用當前位置負梯度方向作為搜索方向,因為該方向為當前位置的最快下降方向,所以也被稱為是」最速下降法「。最速下降法越接近目標值,步長越小,前進越慢。梯度下降法的搜索迭代示意圖如下圖所示:


  牛頓法的缺點:

  (1)靠近極小值時收斂速度減慢,如下圖所示;

  (2)直線搜索時可能會產生一些問題;

  (3)可能會「之字形」地下降。


  從上圖可以看出,梯度下降法在接近最優解的區域收斂速度明顯變慢,利用梯度下降法求解需要很多次的迭代。

  在機器學習中,基於基本的梯度下降法發展了兩種梯度下降方法,分別為隨機梯度下降法和批量梯度下降法。

  比如對一個線性回歸(Linear Logistics)模型,假設下面的h(x)是要擬合的函數,J(theta)為損失函數,theta是參數,要迭代求解的值,theta求解出來了那最終要擬合的函數h(theta)就出來了。其中m是訓練集的樣本個數,n是特徵的個數。


  1)批量梯度下降法(BatchGradient Descent,BGD)

  (1)將J(theta)對theta求偏導,得到每個theta對應的的梯度:



  (2)由於是要最小化風險函數,所以按每個參數theta的梯度負方向,來更新每個theta:



  (3)從上面公式可以注意到,它得到的是一個全局最優解,但是每迭代一步,都要用到訓練集所有的數據,如果m很大,那麼可想而知這種方法的迭代速度會相當的慢。所以,這就引入了另外一種方法——隨機梯度下降。

  對於批量梯度下降法,樣本個數m,x為n維向量,一次迭代需要把m個樣本全部帶入計算,迭代一次計算量為m*n2。

  2)隨機梯度下降(StochasticGradient Descent,SGD)

  (1)上面的風險函數可以寫成如下這種形式,損失函數對應的是訓練集中每個樣本的粒度,而上面批量梯度下降對應的是所有的訓練樣本:


  (2)每個樣本的損失函數,對theta求偏導得到對應梯度,來更新theta:


  (3)隨機梯度下降是通過每個樣本來迭代更新一次,如果樣本量很大的情況(例如幾十萬),那麼可能只用其中幾萬條或者幾千條的樣本,就已經將theta迭代到最優解了,對比上面的批量梯度下降,迭代一次需要用到十幾萬訓練樣本,一次迭代不可能最優,如果迭代10次的話就需要遍歷訓練樣本10次。但是,SGD伴隨的一個問題是噪音較BGD要多,使得SGD並不是每次迭代都向著整體最優化方向。

  隨機梯度下降每次迭代只使用一個樣本,迭代一次計算量為n2,當樣本個數m很大的時候,隨機梯度下降迭代一次的速度要遠高於批量梯度下降方法。兩者的關係可以這樣理解:隨機梯度下降方法以損失很小的一部分精確度和增加一定數量的迭代次數為代價,換取了總體的優化效率的提升。增加的迭代次數遠遠小於樣本的數量。

  對批量梯度下降法和隨機梯度下降法的總結:

  批量梯度下降---最小化所有訓練樣本的損失函數,使得最終求解的是全局的最優解,即求解的參數是使得風險函數最小,但是對於大規模樣本問題效率低下。

隨機梯度下降---最小化每條樣本的損失函數,雖然不是每次迭代得到的損失函數都向著全局最優方向,但是大的整體的方向是向全局最優解的,最終的結果往往是在全局最優解附近,適用於大規模訓練樣本情況。


3.1.2 牛頓法和擬牛頓法

1)牛頓法(Newton's method)

  牛頓法是一種在實數域和複數域上近似求解方程的方法。方法是用函數f (x)的泰勒級數的前面幾項來尋找方程f (x) = 0的根。牛頓法最大的特點就在於它的收斂速度很快。

  具體步驟:

  首先,選擇一個接近函數 f (x)零點的 x0,計算相應的 f (x0) 和切線斜率f  ' (x0)(這裡f ' 表示函數 f  的導數)。然後我們計算穿過點(x0,  f  (x0)) 並且斜率為f '(x0)的直線和 x 軸的交點的x坐標,也就是求如下方程的解:

  我們將新求得的點的 x 坐標命名為x1,通常x1會比x0更接近方程f  (x) = 0的解。因此我們現在可以利用x1開始下一輪迭代。迭代公式可化簡為如下所示:

  已經證明,如果f  ' 是連續的,並且待求的零點x是孤立的,那麼在零點x周圍存在一個區域,只要初始值x0位於這個鄰近區域內,那麼牛頓法必定收斂。 並且,如果f  ' (x)不為0, 那麼牛頓法將具有平方收斂的性能. 粗略的說,這意味著每迭代一次,牛頓法結果的有效數字將增加一倍。下圖為一個牛頓法執行過程的例子。

由於牛頓法是基於當前位置的切線來確定下一次的位置,所以牛頓法又被很形象地稱為是"切線法"。牛頓法的搜索路徑(二維情況)如下圖所示:

  牛頓法搜索示例圖:


關於牛頓法和梯度下降法的效率對比:

從本質上去看,牛頓法是二階收斂,梯度下降是一階收斂,所以牛頓法就更快。如果更通俗地說的話,比如你想找一條最短的路徑走到一個盆地的最底部,梯度下降法每次只從你當前所處位置選一個坡度最大的方向走一步,牛頓法在選擇方向時,不僅會考慮坡度是否夠大,還會考慮你走了一步之後,坡度是否會變得更大。所以,可以說牛頓法比梯度下降法看得更遠一點,能更快地走到最底部。(牛頓法目光更加長遠,所以少走彎路;相對而言,梯度下降法只考慮了局部的最優,沒有全局思想。)

根據wiki上的解釋,從幾何上說,牛頓法就是用一個二次曲面去擬合你當前所處位置的局部曲面,而梯度下降法是用一個平面去擬合當前的局部曲面,通常情況下,二次曲面的擬合會比平面更好,所以牛頓法選擇的下降路徑會更符合真實的最優下降路徑。

註:紅色的牛頓法的迭代路徑,綠色的是梯度下降法的迭代路徑。

牛頓法的優缺點總結:

        優點:二階收斂,收斂速度快;

    缺點:牛頓法是一種迭代算法,每一步都需要求解目標函數的Hessian矩陣的逆矩陣,計算比較複雜。

2)擬牛頓法(Quasi-Newton Methods)

  擬牛頓法是求解非線性優化問題最有效的方法之一,於20世紀50年代由美國Argonne國家實驗室的物理學家W.C.Davidon所提出來。Davidon設計的這種算法在當時看來是非線性優化領域最具創造性的發明之一。不久R. Fletcher和M. J. D. Powell證實了這種新的算法遠比其他方法快速和可靠,使得非線性優化這門學科在一夜之間突飛猛進。

擬牛頓法的本質思想是改善牛頓法每次需要求解複雜的Hessian矩陣的逆矩陣的缺陷,它使用正定矩陣來近似Hessian矩陣的逆,從而簡化了運算的複雜度。擬牛頓法和最速下降法一樣只要求每一步迭代時知道目標函數的梯度。通過測量梯度的變化,構造一個目標函數的模型使之足以產生超線性收斂性。這類方法大大優於最速下降法,尤其對於困難的問題。另外,因為擬牛頓法不需要二階導數的信息,所以有時比牛頓法更為有效。如今,優化軟體中包含了大量的擬牛頓算法用來解決無約束,約束,和大規模的優化問題。

具體步驟:

  擬牛頓法的基本思想如下。首先構造目標函數在當前迭代xk的二次模型:

  這裡Bk是一個對稱正定矩陣,於是我們取這個二次模型的最優解作為搜索方向,並且得到新的迭代點:

  其中我們要求步長ak  

滿足Wolfe條件。這樣的迭代與牛頓法類似,區別就在於用近似的Hesse矩陣Bk  代替真實的Hesse矩陣。所以擬牛頓法最關鍵的地方就是每一步迭代中矩陣Bk的更新。現在假設得到一個新的迭代xk+1,並得到一個新的二次模型:

   

  我們儘可能地利用上一步的信息來選取Bk。具體地,我們要求


  從而得到

  這個公式被稱為割線方程。常用的擬牛頓法有DFP算法和BFGS算法。


3.1.3 共軛梯度法

共軛梯度法是介於最速下降法與牛頓法之間的一個方法,它僅需利用一階導數信息,但克服了最速下降法收斂慢的缺點,又避免了牛頓法需要存儲和計算Hesse矩陣並求逆的缺點,共軛梯度法不僅是解決大型線性方程組最有用的方法之一,也是解大型非線性最優化最有效的算法之一。 在各種優化算法中,共軛梯度法是非常重要的一種。其優點是所需存儲量小,具有步收斂性,穩定性高,而且不需要任何外來參數。

  具體的實現步驟請參加wiki百科共軛梯度法。

  下圖為共軛梯度法和梯度下降法搜索最優解的路徑對比示意圖:

 

註:綠色為梯度下降法,紅色代表共軛梯度法

  

3.2 約束優化算法3.2.1 含等式約束優化算法——拉格朗日乘數法


3.2.2 含不等式約束優化算法——KKT條件




4 智能優化算法 

4.1、遺傳算法 

遺傳算法(GeneticAlgorithm)是一類借鑑生物界的進化規律(適者生存,優勝劣汰遺傳機制)演化而來的隨機化搜索方法。

4.2、模擬退火算法 

是用來求解最優化問題的算法。比如著名的TSP問題,函數最大值最小值問題等等。

4.3、粒子群優化算法 

和模擬退火算法相似,它也是從隨機解出發,通過迭代尋找最優解,它也是通過適應度來評價解的品質,但它比遺傳算法規則更為簡單,它沒有遺傳算法的「交叉」(Crossover) 和「變異」(Mutation) 操作,它通過追隨當前搜索到的最優值來尋找全局最優。

4.4、蟻群算法 

蟻群算法(antcolony optimization, ACO),又稱螞蟻算法,是一種用來在圖中尋找優化路徑的機率型算法。

4.5、免疫算法 

免疫算法是一種具有生成+檢測 (generate andtest)的迭代過程的搜索算法。從理論上分析,迭代過程中,在保留上一代最佳個體的前提下,遺傳算法是全局收斂的。

4.6、克隆選擇算法 

根據克隆選擇原理設計的免疫算法。解決問題時,一般把問題定義為抗原,而問題的解就是抗體集合。在特定的形態空間中,隨機產生的抗體試圖與抗原發生匹配,即嘗試解決問題。匹配度高的抗體有可能產生更好的解,被賦予更大的克隆概率參與下一次匹配。

4.7、和聲搜索算法 

和聲搜索(HarmonySearch, HS)算法是一種新穎的智能優化算法。類似於遺傳算法對生物進化的模仿、模擬退火算法對物理退火的模擬以及粒子群優化算法對鳥群的模仿等,和聲算法模擬了音樂演奏的原理。

4.8、禁忌搜索算法 

禁忌(TabuSearch)算法是一種亞啟發式(meta-heuristic)隨機搜索算法,它從一個初始可行解出發,選擇一系列的特定搜索方向(移動)作為試探,選擇實現讓特定的目標函數值變化最多的移動。為了避免陷入局部最優解,TS搜索中採用了一種靈活的「記憶」技術,對已經進行的優化過程進行記錄和選擇,指導下一步的搜索方向,這就是Tabu表的建立。

4.9、差分進化算法 

它是由Storn等人於1995年提出的,和其它演化算法一樣,DE是一種模擬生物進化的隨機模型,通過反覆迭代,使得那些適應環境的個體被保存了下來。但相比於進化算法,DE保留了基於種群的全局搜索策略,採用實數編碼、基於差分的簡單變異操作和一對一的競爭生存策略,降低了遺傳操作的複雜性。同時,DE特有的記憶能力使其可以動態跟蹤當前的搜索情況,以調整其搜索策略,具有較強的全局收斂能力和魯棒性,且不需要藉助問題的特徵信息,適於求解一些利用常規的數學規劃方法所無法求解的複雜環境中的優化問題。

4.10、BP神經網絡算法 

BP神經網絡是一種基於有監督的學習,使用非線性可導函數作為傳遞函數的前饋神經網絡。


5 算法比較

5.1 無約束優化算法

Ø  坐標輪換法具有不需要導數信息的優點,計算過程比較簡單,程序實現也比較容易,但存在算法收斂速度較慢、計算效率低等缺點。坐標輪換法主要用來解決優化問題設計變量數目小於10的小規模無約束優化問題;另外,坐標輪換法還可解決目標函數的等值線為圓或平行於坐標軸的優化問題。

Ø  與其他無約束優化算法相比,最速下降法具有方法簡單等優點,計算效率在最初幾步迭代時較高,且對初始點不敏感,因而常與其他方法一起使用,但最速下降法需要目標函數的一階導數信息。

Ø  求解無約束優化問題的牛頓法對給定的初始點比較敏。如果初始點選擇的比較好,則其解決優化問題的收斂過程會很快;如果選擇不當,則可能會出現收斂失敗的情況。另外,牛頓法存在計算過程複雜、計算量特別大等缺點,因此主要適合於設計變量數目小的優化問題及目標函數階次較低的優化問題。

Ø  共軛梯度法具有收斂速度快等優點,其收斂速度遠快於最速下降法。共軛梯度法計算簡單,所需要的存儲空間少,適合於優化變量數目較多的中等規模優化問題。

Ø  在無約束優化方法中,Powell法是計算效率比較高的優化算法之一,它不需要目標函數的導數,是求解中小型規模優化問題的有效方法。

Ø  變尺度法也是計算效率比較高的優化算法之一,可用來解決高階目標函數的優化問題,但存在程序實現比較複雜、存儲空間比較大等缺點。

Ø  單純形法具有不需目標函數導數信息、程序實現簡單、計算效率比較高等優點。

5.2 約束優化算法

Ø  Monte Carlo法具有方法簡單、不需要導數信息等優點,但存在求解高維優化問題時計算量大等不足;

Ø  隨機方向搜索法具有優化求解過程收斂快,但存在局部尋優的不足,因而在使用時需採用選擇多個不同初始點的策略;

Ø  複合形法具有程序實現簡單等優點,但在解決設計變量和約束條件多的優化問題時優化效率比較低;

Ø  可行方向法是解決約束優化問題的有效方法之一,適合求解中等規模化問題,但存在程序實現複雜等不足;

Ø  廣義簡約梯度法具有算法收斂快、計算精度高等優點,但也存在程序實現複雜等不足;

Ø  罰函數優化方法包括內點法、外點法、混合法等,具有方法實現簡單等優點,但存在優化過程不穩定、收斂速度較慢等缺點,適宜於解決中小規模優化問題;

Ø  序列線性規劃法收斂較慢,只適用於非線性程度不是很強的優化問題;

Ø  序列二次規劃法是收斂速度較快、優化比較有效的方法之一,比較適合於中等規模優化問題;

5.3 智能算法

遺傳算法:優點是能很好的處理約束,能很好的跳出局部最優,最終得到全局最優解,全局搜索能力強;缺點是收斂較慢,局部搜索能力較弱,運行時間長,且容易受參數的影響。

遺傳算法適合求解離散問題,具備數學理論支持,但是存在著漢明懸崖等問題。

模擬退火:優點是局部搜索能力強,運行時間較短;缺點是全局搜索能力差,容易受參數的影響。

爬山算法:顯然爬山算法較簡單,效率高,但是處理多約束大規模問題時力不從心,往往不能得到較好的解。

粒子群算法適合求解實數問題,算法簡單,計算方便,求解速度快,但是存在著陷入局部最優等問題。

蟻群算法適合在圖上搜索路徑問題,計算開銷會大。

要將三種算法進行混合,就要針對特定問題,然後融合其中的優勢,比如將遺傳算法中的變異算子加入粒子群中就可以形成基於變異的粒子群算法。

6 參考資料及文檔



相關焦點

  • 案例實踐丨最優化算法的前世今生
    從實際生活中最基礎的應用切入,黃鉑將抽象的算法概念生動化,解釋了什麼叫最優化問題、凸優化及算法分類、機器學習與人工智慧應用。最優化問題及基礎應用人生不如意之事十之八九,想達到我們想要達到的目標時,通常都有各種各樣的限制。那麼所謂最優化問題,就是指用最優的方式去平衡理想與現實之間的關係。
  • 吉林大學數學學院最優化理論學位課程教學大綱
    、約束最優化和非光滑最優化的理論和計算方法。目的是把最優化的基本思想、理論、方法和技巧傳授給學生,並通過講解這些理論、方法和技巧在一些具體實例中的應用,使學生們利用最優化的基本理論、方法和技巧去解決科學研究中遇到的一些具體問題。適用對象是應用數學、計算數學、統計學和運籌學的碩士研究生。   2、授課的具體內容   第一章 引論   主要講述最優化理論的數學基礎和無約束最優化的最優性條件和最優化方法的結構。
  • 聯邦學習算法綜述
    聯邦學習算法綜述王健宗1,孔令煒1,黃章成1,陳霖捷1,劉懿1,何安珣1,肖京21. 平安科技(深圳)有限公司,廣東深圳 5180632. 中國平安保險(集團)股份有限公司,廣東深圳 518031摘要:近年來,聯邦學習作為解決數據孤島問題的技術被廣泛關注,已經開始被應用於金融、醫療健康以及智慧城市等領域。
  • 【算法系列】凸優化的應用——Python求解優化問題(附代碼)
    :無約束優化問題和約束優化問題,約束優化問題又可分為含等式約束優化問題和含不等式約束優化問題。無約束優化問題含等式約束的優化問題含不等式約束的優化問題針對以上三種情形,各有不同的處理策略:無約束的優化問題:可直接對其求導,並使其為0,這樣便能得到最終的最優解;含等式約束的優化問題:主要通過拉格朗日乘數法將含等式約束的優化問題轉換成為無約束優化問題求解;含有不等式約束的優化問題:主要通過KKT條件(Karush-Kuhn-Tucker Condition
  • 綜述|線結構光中心提取算法研究發展
    因此光條紋中心點的提取是立體視覺測量中的關鍵問題,目前使用最廣泛的中心提取算法是Steger C在二十世紀末提出的基於Hessian矩陣的Steger算法,長期以來國內外研發團隊基於Steger算法以及其他傳統算法不斷做出改進,顯著提高了中心提取算法精度。
  • 矩形平面陣列天線旁瓣電平優化的遺傳算法
    優化,通過提出新的自適應變異算子改進了算法的收斂性能,良好的計算結果表明遺傳算法是目前求解此類問題的有效方法.  關鍵詞:陣列天線;旁瓣電平;遺傳算法;最優化本文引用地址:http://www.eepw.com.cn/article/156831.htmSidelobe Reduction of Plane Array Using Genetic
  • 2019-2020年度 Top10 綜述
    2019-2020年,IJAC發表了一系列國內外知名學者的高質量綜述,其中包括美工程院院士、全球高被引top1學者Anil K. Jain教授、美外籍院士Brian D. O.Jain(全球高被引Top1)團隊和Jiliang Tang 團隊合作帶來的特約綜述。文章總結、討論了與對抗樣本及其應對策略相關的研究,系統且全面地綜述了圖像、圖形、文本領域的前沿算法,概覽了對抗攻擊與防禦(adversarial attacks and defenses)的主要技術與成果,全文開放獲取!
  • 【薦讀】DNA結合蛋白特徵提取算法綜述
    DNA結合蛋白特徵提取算法綜述https://doi.org/10.12677/HJCB.2020.102003DNA結合蛋白特徵提取算法綜述在過去十幾年,出現了大量識別DNA結合蛋白的計算方法,在漢斯出版社《計算生物學》期刊中,有論文將從特徵提取的角度出發,對這些方法進行總結,並選擇其中九種典型的計算方法進行實證分析,確定這些方法的實際結果,為DNA結合蛋白分類算法研究者提供新的思路和有價值的參考。
  • 史上最全GAN綜述2020版:算法、理論及應用
    時至今日,基於 GAN 設計的新型算法如雨後春筍般紛紛湧現了出來、對於 GAN 存在的模式坍塌和收斂性等理論問題的深入分析層出不窮,其應用也廣泛滲透到了諸如計算機視覺、自然語言處理、醫療人工智慧等領域中。本文是一份出自陶大程、葉傑平老師等大牛之手的 GAN 詳細綜述,介紹了近年來有關 GAN 模型的相關研究進展,並指出了今後該領域的發展方向。
  • NumPy論文登上Nature;高效Transformer綜述
    基於少量樣本進行學習和泛化的能力是區分人工智慧和人類智能的重要分界線,因為人類往往能夠基於一個或少量樣本建立對新事物的認知,而機器學習算法通常需要數百或數千個監督樣本才能實現泛化。少樣本學習的研究可以追溯到 21 世紀初,近年來隨著深度學習技術的發展它也受到廣泛的關注,但是目前關於 FSL 的綜述文章較少。
  • 100個深度圖像分割算法,紐約大學UCLA等最新綜述論文
    圖像分割(Image Segmentation)是計算機視覺的經典問題之一,受到了廣泛關注,每年在各大會議上都有大量的相關文章發表。在前深度學習時代有大量的方法提出,比如分水嶺、GraphCut等。隨著深度學習的興起,大量的算法提出如R-CNN、Mask-RCNN等。
  • 自適應濾波算法理解與應用
    4) 幹擾消除:在一類應用中,自適應濾波器以某種意義上的最優化方式消除包含在基本信號中的未知幹擾。基本信號用作自適應濾波器的期望響應,參考信號用作濾波器的輸入。參考信號來自定位的某一傳感器或一組傳感器,並以承載新息的信號是微弱的或基本不可預測的方式,供給基本信號上。
  • 深度學習中7種最優化算法的可視化與理解
    + np.cos(7*x)points_x = np.linspace(-20, 20, 1000)points_y = f(points_x)# 純粹的梯度下降法,GDfor i in range(10): # 繪製原來的函數 plt.plot(points_x, points_y, c="b", alpha=0.5, linestyle="-") # 算法開始
  • 基於MSP430系列微控制器的FFT算法實現
    摘要:傅立葉變換算法在供電質量監測系統中被用來進行諧波分析,如何加快分析速度和降低系統成本是當前這種監測系統設計關注的主要問題。
  • 【優化】遺傳算法介紹
    [2]葛繼科,邱玉輝,吳春明,蒲國林.遺傳算法研究綜述[J].計算機應用研究,2008(10):2911-2916.[3]雷德明.多維實數編碼遺傳算法[J].控制與決策,2000(02):239-241.[4]臧文科. DNA遺傳算法的集成研究與應用[D].山東師範大學,2018.
  • 2020年氫氣醫學系列綜述文章
    退一步可以閱讀這個領域的文獻綜述,這些綜述文章往往是本領域學者對過去某一個方面進行的回顧和總結,可以讓我們在短時間內比較全面地了解這個方面的進展。對非專業人員,閱讀這個領域的書籍或科普書是比較便捷的途徑,這也是我們最近努力開展的工作。我們計劃出版三本氫氣醫學相關書籍,給這個領域的初學者和從業人員參考。
  • 淺議文獻綜述寫作中應當注意的問題
    一般而言,文獻綜述的內容,來自於已發表過的文獻資料,是能反映某一研究專題近年來的新趨勢、新發現、新技術,論述的是該專題或某領域新的研發趨向。因此,達晉編譯認為,撰寫文獻綜述應當注意以下幾個問題:一、綜而不述。
  • 數學與統計學院舉行「學術前沿研究系列綜述報告」
    4月18日下午,數學與統計學院在學院南階梯教室進行了第十場 「學術前沿研究系列綜述報告」。本次報告題目為「流形上的(穩定)近復結構」,報告人為學院青年教師楊會軍副教授。楊會軍從(近)復結構的基本定義、相關背景、國內外研究進展以及自己的研究工作四個方面展開報告。他重點關注流形上(穩定)近復結構的存在性問題。
  • VisualFortran常用數值算法集(圖)
    內容包括:解線性代數方程組、插值、數值積分、特殊函數、函數逼近、隨機數、排序、特徵值問題、數據擬合、方程求根和非線性方程組求解、函數的極值和最優化、傅立葉變換譜方法、數據的統計描述、解常微分方程組、兩點邊值問題的解法和解偏微分方程組。每一個子程序都包括功能、方法、使用說明、子程序和例子五部分。本書的所有子過程都在Visual Fortran5.0版本上進行過驗證,程序都能正確運行。
  • 【乾貨】機器學習最常用優化之一——梯度下降優化算法綜述
    原標題:【乾貨】機器學習最常用優化之一——梯度下降優化算法綜述 1新智元獲授權轉載 這篇文章旨在提供梯度下降算法中的不同變種的介紹,幫助使用者根據具體需要進行使用。 這篇文章首先介紹梯度下降算法的三種框架,然後介紹它們所存在的問題與挑戰,接著介紹一些如何進行改進來解決這些問題,隨後,介紹如何在並行環境中或者分布式環境中使用梯度下降算法。最後,指出一些有利於梯度下降的策略。