Optimization
為什麼數值解比解析解更受歡迎?
我只是在學習優化,以及解析解和數值解之間的區別。假設有一個成本函數
f(x)
,我們想找到x
最小化它的值。在分析解決方案中,我們將對 進行微分x
,即找到df(x)/dx
。而在數值解中,我們會嘗試 的值x
,並查看我們需要改變哪個方向x
才能向解移動(梯度下降)。在我看來,分析解決方案始終是首選,因為它可以為您提供準確的答案。您不會陷入局部最小值,並且可以確定您的解決方案是正確的。那麼為什麼我們不總是使用分析解決方案呢?
我知道數值解決方案使事情變得更容易,因為您不必手動計算解析解決方案,但在我看來,手動解決問題以獲得精確答案比通過計算來獲得近似答案更可取。有人可以幫我解決這個問題嗎?謝謝!
您的問題很有趣,因為它通常是優化的起點。
最好從一個關於解析解存在的具體例子開始。如果你看一下你的二階標準多項式, $ f(x)=ax^2+bx+c $ . 你有一個函數零點的公式,這是一個解析解。如果您有一個 5 階或更高階的多項式,則不存在這樣的公式。
這當然不是像最小化或最大化函數那樣的優化問題,但是當您找到導數為零的位置時,您實際上是在尋找函數的零,即導數。
所以似乎你不能總是用筆和紙來解決問題。這也取決於問題的規模。有時您需要估計數十億個參數,而人類要製定分析解決方案甚至找出它是否存在是不可行的。
在普通最小二乘或擬合線性模型的情況下,存在解析解。但是很容易稍微改變模型,以至於不存在這樣的解決方案(至少我們不知道)。套索就是一個例子。
因此,使用數值方法是完全合理的,因為可能不存在解析解,或者無法計算出這樣的解。