跳到主要內容

淺談機器學習原理-估模型好壞

評估模型好壞

淺談機器學習原理筆記--

評估模型好壞

  • MSE (Mean Squared Error) 是用來評估模型預測值與實際值之間差異的一種常用指標。將預測誤差平方後平均,懲罰大誤差, MSE 的值越小,表示模型的預測越準確。公式如下:

    MSE=1ni=1n(yiy^i)2MSE = \frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2

    其中:

    • ( n ) 是樣本數量
    • ( y_i ) 是實際值
    • ( \hat{y}_i ) 是模型的預測值

適合用 MSE 的情境:

  1. 回歸(Regression)問題

不適合用 MSE 的情境:

  1. 資料尺度差異大 :
  2. 對離群值敏感的場景:資料裡常有極端值
  3. 分類問題(Classification)

RMSE (Root Mean Squared Error)

  • RMSE (Root Mean Squared Error)
    RMSE 是 MSE 的平方根,能夠將誤差的單位與原始數據保持一致,因此更容易解釋。公式如下:

    RMSE=1ni=1n(yiy^i)2RMSE = \sqrt{\frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2}

    其中:

    • ( n ) 是樣本數量
    • ( y_i ) 是實際值
    • ( \hat{y}_i ) 是模型的預測值

    適用情境:

    • 與 MSE 類似,適合回歸問題。
    • 結果的單位和原數據一樣,例如房價是 $10,000,那 RMSE = 8,000 是好解釋的。

    不適合用 RMSE 的情境 :

    • 與 MSE 一樣,對離群值敏感。
  • MAE (Mean Absolute Error)
    MAE 是另一種用來評估模型預測誤差的指標,計算的是預測值與實際值之間誤差的絕對值平均。公式如下:

    MAE=1ni=1nyiy^iMAE = \frac{1}{n} \sum_{i=1}^{n} |y_i - \hat{y}_i|

    其中:

    • ( n ) 是樣本數量
    • ( y_i ) 是實際值
    • ( \hat{y}_i ) 是模型的預測值

    適用情境:

    • 回歸問題,尤其是對離群值不敏感的場景。
    • 當需要簡單解釋誤差時,MAE 提供了直觀的平均偏差。

    不適合用 MAE 的情境:

    • 當需要懲罰大誤差時,MAE 不如 MSE 或 RMSE 敏感。
    • 當數據尺度差異較大時,MAE 可能無法提供足夠的信息。
  • R2R^2 Score (決定係數)
    R2R^2 Score 衡量的是「你的模型預測有多接近真實值」,可以理解為模型對資料的解釋力或擬合度。是用來評估回歸模型性能的一個指標,表示模型解釋變異的能力。其值介於 0 和 1 之間,越接近 1 表示模型的解釋能力越強。公式如下:

    R2=1i=1n(yiy^i)2i=1n(yiyˉ)2R^2 = 1 - \frac{\sum_{i=1}^{n} (y_i - \hat{y}_i)^2}{\sum_{i=1}^{n} (y_i - \bar{y})^2}

    其中:

    • ( y_i ): 實際值
    • ( \hat{y}_i ): 模型的預測值
    • ( \bar{y} ): 實際值的平均值
    • ( n ): 樣本數量

    適用情境:

    • 回歸問題,尤其是需要衡量模型對數據變異的解釋能力時。
    • 用於比較不同回歸模型的性能。

    注意事項:

    • R2=1R^2 = 1 時,表示模型完美擬合數據。(預測值 = 真實值)
    • R2=0R^2 = 0 時,表示模型的預測能力與簡單使用平均值的模型相同。
    • R2R^2可能為負值,表示模型的預測能力比使用平均值更差。

    範例:
    假設我們有以下數據:

    • 實際值 y=[3,0.5,2,7]y = [3, -0.5, 2, 7]
    • 預測值 y^=[2.5,0.0,2,8]\hat{y} = [2.5, 0.0, 2, 8]

    因此,模型的 ( R^2 ) Score 約為 0.948,表示模型能解釋約 94.8% 的數據變異。

    適用情境:

    • 回歸問題

    不適合用 MAE 的情境:

    • 如果資料有離群值,R² 容易被影響
  • 混淆矩陣(Confusion Matrix) 是用來評估分類模型性能的一種工具。它是一個表格,顯示了模型的預測結果與實際結果之間的對應關係。混淆矩陣的基本結構如下:

    實際\預測 陽性 (Positive) 陰性 (Negative)
    陽性 TP (True Positive) FN (False Negative)
    陰性 FP (False Positive) TN (True Negative)
    • TP (True Positive): 實際為陽性,且模型預測為陽性
    • FN (False Negative): 實際為陽性,但模型預測為陰性
    • FP (False Positive): 實際為陰性,但模型預測為陽性
    • TN (True Negative): 實際為陰性,且模型預測為陰性

    常見指標

    1. 準確率 (Accuracy):

      Accuracy=TP+TNTP+TN+FP+FNAccuracy = \frac{TP + TN}{TP + TN + FP + FN}

      表示模型預測正確的比例。
    2. 精確率 (Precision):

      Precision=TPTP+FPPrecision = \frac{TP}{TP + FP}

      表示模型預測為陽性的結果中,實際為陽性的比例。
    3. 召回率 (Recall):

      Recall=TPTP+FNRecall = \frac{TP}{TP + FN}

      表示實際為陽性的樣本中,被模型正確預測為陽性的比例。
    4. F1 分數 (F1 Score):

      F1=2PrecisionRecallPrecision+RecallF1 = 2 \cdot \frac{Precision \cdot Recall}{Precision + Recall}

      是精確率與召回率的調和平均,用於平衡兩者。

    適用情境

    • 分類問題: 如垃圾郵件檢測、醫學診斷、信用卡欺詐檢測等。
    • 不平衡資料集: 當正陰性樣本數量差異較大時,混淆矩陣能提供更細緻的評估指標。
    • 模型調參: 幫助選擇最佳的分類閾值或模型參數。

    範例

    假設我們有一個二元分類問題,模型預測結果如下:

    • 實際陽性: 50 個
    • 實際陰性: 50 個
    • 預測陽性: 40 個,其中 35 個為正確預測 (TP),5 個為錯誤預測 (FP)
    • 預測陰性: 60 個,其中 45 個為正確預測 (TN),15 個為錯誤預測 (FN)

    混淆矩陣如下:

    實際\預測 陽性 (Positive) 陰性 (Negative)
    陽性 35 15
    陰性 5 45

    根據此矩陣,我們可以計算:

    • 準確率:
    • Accuracy=35+45100=0.8Accuracy = \frac{35 + 45}{100} = 0.8

    • 精確率:
    • Precision=3535+5=0.875Precision = \frac{35}{35 + 5} = 0.875

    • 召回率:
    • Recall=3535+15=0.7Recall = \frac{35}{35 + 15} = 0.7

    • F1 分數:

      F1=20.8750.70.875+0.70.778F1 = 2 \cdot \frac{0.875 \cdot 0.7}{0.875 + 0.7} \approx 0.778

參考資料

留言