這裡,我們簡單談談建立乙個數學模型時,乙個最關鍵的問題。即什麼樣的模型是好的,或者說怎麼評價模型的準確性。在構建數學模型解決實際問題的過程中,經常遇到的乙個概念是過度擬合,即模型盡可能的貼近了訓練資料,在測試資料中表現較差。很多演算法都有這樣的問題,例如在回歸分析中,線性回歸還是非線性回歸?在應用knn演算法(k鄰近)時選擇k=1還是k=100?我們僅僅給出乙個基本的概念,具體操作方法將在後面進一步詳述。但是千萬不要認為基本概念的理解不重要,沒有基礎概念的理解,對所有方法的使用都將是邯鄲學步,不能夠靈活準確的使用。
在統計方法選擇那篇文章中,我們提到了靈活性、光滑度或柔性水平這幾個概念,其實它們都指向了自由度這個與數學模型相關的關鍵概念。
自由度這個概念經常會被我們提到。我們先不具體談在每個模型或函式中自由度是如何體現的,而是先對自由度有乙個直觀的概念。我們可以簡單的認為,自由度就是描述曲線光滑程度的量。限定性強且曲線平坦的模型比鋸齒狀的曲線具有更小的自由度。乙個最普遍使用的評價模型精度的指標是均方誤差(mean squared error, mse),這個概念應用是如此的廣泛,只要談起數學模型總是繞不開它。其表示式為:ms
e=1n
∑1n(
yi−f
(xi)
)2其中
f 是模型函式。我們最感興趣的是測試資料的均方誤差。下面我們要稍微解釋一下,數學證明略過,測試資料的mse可以進一步分解為方差(variance),偏差(bias)和不可約誤差,即: ms
e=va
r(f(
x0))
+[bi
as(f
(x0)
)]2+
var(
ε)其中,方差(va
r(f(
x0))
)指的是用乙個不同訓練資料集估計
f 時,估計函式的該變數。如果乙個模型有較大的方差,那麼訓練資料集微笑的變化也能導致
f較大的改變。偏差([b
ias(
f(x0
))]2
)指的是選擇乙個簡單模型逼近真實函式時帶入的誤差,其構成可能會比較複雜。
一般來說,使用光滑度更高的方法,所得的模型方差會增加,偏差會減小。
選擇合適的自由度,實際上就是權衡偏差和方差。這裡並沒有乙個準則,往往需要在實際問題中通過測試變數來進行判斷。解決實際問題時,如何進行自由度的判斷將在後面「交叉驗證方法」中給出乙個可行的方法。
數學之美 十四 談談數學模型的重要性
發表者 吳軍,google 研究員 注 一直關注數學之美系列的讀者可能已經發現,我們對任何問題總是在找相應的準確的數學模型。為了說明模型的重要性,今年七月份我在 google 中國內部講課時用了整整一堂課來講這個問題,下面的內容是我講座的摘要。在包括哥白尼 伽利略和牛頓在內的所有天文學家中,我最佩服...
如何做高自由度的遊戲
易經 繫辭 生生之謂易 道德經 道生一,一生二,二生三,三生萬物。萬物負陰而抱陽,沖氣以為和。所謂高自由度是指,玩家的行為選擇自由度很高,並且每一種選擇都對遊戲的勝負有不同程度的影響。那麼如何讓遊戲具有高自由度呢?乙個乙個的新增功能,給玩家可選擇的行為,顯然是不行的。乙個乙個的加,策略始終都有上限,...
非線性單自由度系統的Newmark beta方法
受外部動力作用的單自由度阻尼質量彈簧系統的非線性 或線性 響應。求解粘性阻尼質量彈簧系統的常微分運動方程,該系統在受到任意外力時會表現出非線性,週期性,力 位移行為。導數通過使用 1 中提出的newmark beta方法隨時間隱式積分。然後,將控制方程的完整數值形式表示為殘差,並使用從 2 中獲得的...