
迴歸模型就是用來預測數值的工具,它會依據訓練資料中已知的特徵與已知的標籤(答案)來學習。訓練過程其實是一種反覆試驗:先選一個演算法來建立模型,檢查它的預測表現,再調整方法或參數,重新訓練。這樣不斷重複,直到模型的準確度夠好為止(其實任何監督式機器學習模型皆然)。

訓練流程
- 隨機分割(Split)資料集(dataset),大部分資料作為訓練資料集,保留部分資料作為未來評估模型準確性的測試資料集。
- 使用訓練資料集讓演算法推算,常見的方式:線性迴歸linear regression。
- 使用測試資料集來測試模型,比較實際值y和預測值ŷ
- 計算預測準確度。
評估迴歸模型
根據實際值y和預測值ŷ的差異,可以計算以下常用的評估方式。平均絕對誤差 (Mean Absolute Error, MAE)
- 平均|ŷ-y|
- 不考量正負差異(取絕對值)
- 平均考量所有誤差
平均平方誤差 (Mean Squared Error, MSE)
- 平均(ŷ-y)2
- 計算時,放大較大的誤差(平方)。
因為實際使用模型時,誤差小(即使誤差次數多)的模型,理論上會比誤差很大(即使誤差次數少)的模型好用。
均方根誤差 (Root Mean Squared Error, RMSE) (√MSE)
- 與MSE相似,但MSE將數字平方,所以產生的量不再代表y的數字意義。
- 將MSE開根號,讓數字接近y的數字水準。
- 例如,用迴歸模型預測冰淇淋銷售數,模型MSE是6,RMSE是2.45,亦及誤差2.45支冰淇淋。
決定係數、判定係數 (Coefficient of determination, R2)
- R2 = 1- ∑(y-ŷ)2 ÷ ∑(y-ȳ)2 (1 - 實際值和預測值的差距/實際值和平均值的差距)
- 介於 0 和 1 之間的值,值越接近 1,模型就越符合驗證資料。
R2=1:模型完美預測所有資料點
R2=0:模型和使用平均值來預測一樣爛
R2<0:模型比隨便猜(例如用平均值)還糟糕 - 驗證結果中可以由模型解釋的差異比例之計量
迭代訓練Iterative training
一般訓練模型時,會使用反覆迭代的方式來訓練、評估模型,反覆嘗試調整。
- 特徵選擇與準備:選擇要納入模型的特徵,以及對這些特徵進行的計算與處理,以協助模型達到更佳的擬合效果。
- 演算法選擇:除了線性迴歸,還有許多其他的迴歸演算法可供選擇。
- 演算法參數Algorithm parameters:用來控制演算法行為的數值設定,這些參數更準確地稱為超參數(hyperparameters),以區別於模型中的 x 和 y 變數參數。
AI-900系列文章目錄:
《AI-900》證照考試準備心得與筆記分享 - 系列文章