作者saltlake (SaltLake)
看板Math
標題Re: [微積] 最佳化的概念
時間Sun Sep 15 05:53:14 2024
※ 引述《vacuityhu (真空管)》之銘言:
: 假設我有一組數據F_data
: 有一個函數F(a, θ, c) = a*cos(θ) + c
: 則可定義出我的objective function
: min|| F-F_data ||_2, minimize的對象是a, θ, c, 且0<=θ<=2pi
^^^^^^^^^
自變數 θ 僅在特定區間有定義
: 為了求解這個最佳化問題
: 我可能可以選擇Gauss–Newton algorithm
這基本概念就是切線法,從初始猜測點做函數切線,看切線與水平軸
交點者何,再以該交點為猜測點做函數切線,直到結果收斂。
不管你是手工還是寫程式去執行這個計算過程,請問當你的切線與水
平軸交點「超過 θ 的定義區間時」,你怎樣處理?
: 或是Levenberg–Marquardt algorithm
: 或其他不同的演算法等等
這些有的沒有的演算法,預設處理的對象是,自變數的值域在整條實數
軸,想要處理自變數值域受限的問題,必須另外修正。
: 我的問題是, 當我選擇不同算法的時候
考慮個別演算法之前,請先確認所設定的受限制的優化問題是否有唯一解。
為此,就有自變數有區間限制條件的狀況,可利用拉格朗日乘數把限制條件與
目標函數結合成為增廣的目標函數,再透過卡魯什-庫恩-塔克定理
(Karush–Kuhn–Tucker theorem) 檢查最佳解的存在與唯一性。講白了就是
把前面的增廣函數對各個自變數做偏微分而得到一組聯立方程式。接著檢查這方
程式的解之性質。
: 這各種算法理論上應該要收斂到同一個最佳解嗎?
如前述,你列出的那些方法僅能處理未受限的優化問題。優化問題限制時,需要
先把目標函數透過拉格朗日乘數與限制條件結合,對各自變數取一皆偏微分後,
把原本受限優化問題轉換成聯立非線性方程組求解的問題,再尋找或套用適當的
演算法。
: 我以為當objective function決定的當下, 最佳解就跟著決定了
: 而不同算法只是走著不同的路線往最佳解收斂
: 不知道我的理解是不是對的QQ
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.136.196.227 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Math/M.1726350796.A.980.html
※ 編輯: saltlake (220.136.196.227 臺灣), 09/15/2024 08:32:57