如何預測資料:迴歸模型的評估
以均方誤差作為評估依據
A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P if its performance at tasks in T, as measured by P, improves with experience E.
Tom Mitchel
在如何預測資料:尋找迴歸模型的係數一文中我們暸解如何使用正規方程(Normal Equation)、梯度遞減(Gradient Descent)在 Python 與 R 語言的環境中尋找迴歸模型係數,並且運用散佈圖、線圖與曲面圖(Surface Plot)探索成本函數在梯度遞減過程中的變動,迴歸模型在資料散佈圖上的外觀,藉此對迴歸模型有更多的暸解。
接著我們會應用均方誤差(Mean Squared Error)來評估迴歸模型在驗證資料集上的表現,均方誤差愈小代表 h 函數與假設存在的 f 函數的相似程度愈高;藉由比較不同模型的均方誤差,資料科學家團隊可以挑選出適合部署至正式環境的迴歸模型,精進評估的方式包含在訓練資料中納入新變數與增加變數的次方項,在試圖縮小均方誤差的過程中也會發現迴歸模型面臨新的挑戰,像是變數的單位量級差距導致梯度遞減不均、隨機切割訓練驗證樣本所產生的變異與伴隨高次方項變數的過度配適,這時資料科學團隊會引進標準化、交叉驗證與正規化等技巧來因應。
摘要
本文使用艾姆斯房價資料集簡介如何在 Python 與 R 語言的環境中自訂或引用現成函數來標準化變數的單位量級、使用均方誤差評估與比較迴歸模型、利用納入更多變數與建立次方向精進評估、利用交叉驗證消弭資料切割的變異以及正規化迴歸模型避免過度配適。
標準化(Normalization)
在艾姆斯房價資料集中房價變數(SalePrice)數量級約莫落於數萬美元至數十萬美元之間,而生活空間大小(GrLivArea)數量級約莫落於數千英畝左右,這可能使得在同一個學習速率下,兩個係數收斂的速度差異過大,而導致其中一個係數已經收斂,但另外一個數字仍很緩慢地向低點前進,雖然成本函數遞減的速率已經平緩,迭代後所得到的係數卻與內建函數的相差甚遠,特別是常數項。