如何評估分類器的效能?
在訓練期間,有多種方法可以估計模型的泛化誤差。估計誤差支援學習演算法進行模型選擇;即,發現一個不受過擬合影響的、具有正確複雜度的模型。
由於模型已經構建完成,因此它可以用於測試集中預測以前未見過資料的類別標籤。在測試集上衡量模型的效能通常很有用,因為這樣的衡量標準提供了對其泛化誤差的無偏估計。從測試集中評估的準確率或錯誤率可用於比較多個分類器在相同域上的關聯效能。
有多種常用方法可用於評估分類器的效能,如下所示:
留出法 - 在留出法中,帶有標籤例項的初始記錄被劃分為兩個不相交的集合,分別稱為訓練集和測試集。從訓練集中歸納一個分類模型,並在測試集上計算其效能。
分類器的效率可以根據歸納模型在測試集上的效率來計算。留出法有幾個眾所周知的缺點。首先,由於一些資料被保留用於測試,因此只有部分標籤例項可用於訓練。
因此,當使用一些標籤示例進行訓練時,歸納的模型可能不如最佳模型。其次,模型可能高度依賴於訓練集和測試集的結構。
另一方面,如果訓練集過大,則從較小的測試集中計算出的估計準確率的可靠性較低。因此,估計值具有較寬的置信區間。最後,訓練集和測試集之間沒有更高的分離。
隨機子取樣 - 可以多次重複留出法來提高分類器效能的計算。此方法稱為隨機子取樣。
令 acci 為第 i 次迭代期間的模型準確率。總體準確率由 accsub=$\mathrm{\displaystyle\sum\limits_{i=1}^k}$acci/k 給出
隨機子取樣遇到與留出法相關的幾個問題,因為它沒有使用盡可能多的資料用於訓練。它也沒有控制每次資料用於測試和訓練的次數。因此,某些資料可能比其他資料更常用於訓練。
交叉驗證 - 交叉驗證是隨機子取樣的替代方法。在這種方法中,每個資料都多次用於訓練,並且準確地一次用於測試。假設可以將記錄劃分為兩個大小相等子集。首先,可以選擇其中一個子集進行訓練,另一個子集進行測試。可以交換子集的角色,以便以前的訓練整合為測試集。此方法稱為二折交叉驗證。
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP