CS 229 - Học máy

Các mẹo và thủ thuật trong học máy
Star

Bởi Afshine AmidiShervine Amidi


Dịch bởi Trần Tuấn Anh, Nguyễn Trí Minh, Vinh Pham và Đàm Minh Tiến

Độ đo phân loại

Đối với phân loại nhị phân (binary classification) là các độ đo chính, chúng khá quan trọng để theo dõi (track), qua đó đánh giá hiệu năng của mô hình (model).

Ma trận nhầm lẫn (Confusion matrix) Confusion matrix được sử dụng để có kết quả hoàn chỉnh hơn khi đánh giá hiệu năng của model. Nó được định nghĩa như sau:

Lớp dự đoán
+ -
lớp thực sự + TP
True Positives
FN
False Negatives
Type II error
- FP
False Positives
Type I error
TN
True Negatives

Độ đo chính Các độ đo sau thường được sử dụng để đánh giá hiệu năng của mô hình phân loại:

Độ đo Công thức Diễn giải
chính xác $\displaystyle\frac{\textrm{TP}+\textrm{TN}}{\textrm{TP}+\textrm{TN}+\textrm{FP}+\textrm{FN}}$ Hiệu năng tổng thể của mô hình
Precision $\displaystyle\frac{\textrm{TP}}{\textrm{TP}+\textrm{FP}}$ Độ chính xác của các dự đoán positive
Recall
Sensitivity
$\displaystyle\frac{\textrm{TP}}{\textrm{TP}+\textrm{FN}}$ Bao phủ các mẫu thử chính xác (positive) thực sự
Specificity $\displaystyle\frac{\textrm{TN}}{\textrm{TN}+\textrm{FP}}$ Bao phủ các mẫu thử sai (negative) thực sự
Điểm F1 $\displaystyle\frac{2\textrm{TP}}{2\textrm{TP}+\textrm{FP}+\textrm{FN}}$ Độ đo Hybrid hữu ích cho các lớp không cân bằng (unbalanced classes)

ROC Đường cong thao tác nhận, được kí hiệu là ROC, là minh hoạ của TPR với FPR bằng việc thay đổi ngưỡng (threshold). Các độ đo này được tổng kết ở bảng bên dưới:

Độ đo Công thức Tương đương
True Positive Rate
TPR
$\displaystyle\frac{\textrm{TP}}{\textrm{TP}+\textrm{FN}}$ Recall, sensitivity
False Positive Rate
FPR
$\displaystyle\frac{\textrm{FP}}{\textrm{TN}+\textrm{FP}}$ 1-specificity

AUC Khu vực phía dưới đường cong thao tác nhận, còn được gọi tắt là AUC hoặc AUROC, là khu vực phía dưới ROC như hình minh hoạ phía dưới:


ROC AUC

Độ đo hồi quy

Độ đo cơ bản Cho trước mô hình hồi quy $f$, độ đo sau được sử dụng phổ biến để đánh giá hiệu năng của mô hình:

Tổng của tổng các bình phương Mô hình tổng bình phương Tổng bình phương dư
$\displaystyle\textrm{SS}_{\textrm{tot}}=\sum_{i=1}^m(y_i-\overline{y})^2$ $\displaystyle\textrm{SS}_{\textrm{reg}}=\sum_{i=1}^m(f(x_i)-\overline{y})^2$ $\displaystyle\textrm{SS}_{\textrm{res}}=\sum_{i=1}^m(y_i-f(x_i))^2$

Hệ số quyết định Hệ số quyết định, thường được kí hiệu là $R^2$ hoặc $r^2$, cung cấp độ đo mức độ tốt của kết quả quan sát đầu ra (được nhân rộng bởi mô hình), và được định nghĩa như sau:

\[\boxed{R^2=1-\frac{\textrm{SS}_\textrm{res}}{\textrm{SS}_\textrm{tot}}}\]

Độ đo chính Độ đo sau đây thường được sử dụng để đánh giá hiệu năng của mô hình hồi quy, bằng cách tính số lượng các biến $n$ mà độ đo đó sẽ cân nhắc:

CP của Mallow AIC BIC Adjusted $R^2$
$\displaystyle\frac{\textrm{SS}_{\textrm{res}}+2(n+1)\widehat{\sigma}^2}{m}$ $\displaystyle2\Big[(n+2)-\log(L)\Big]$ $\displaystyle\log(m)(n+2)-2\log(L)$ $\displaystyle1-\frac{(1-R^2)(m-1)}{m-n-1}$

trong đó $L$ là khả năng và $\widehat{\sigma}^2$ là giá trị ước tính của phương sai tương ứng với mỗi response (hồi đáp).


Lựa chọn model (mô hình)

Vocabulary Khi lựa chọn mô hình, chúng ta chia tập dữ liệu thành 3 tập con như sau:

Tập huấn luyện Tập xác thực Tập kiểm tra (testing)
• Mô hình được huấn luyện
• Thường là 80% tập dữ liệu
• mô hình được xác thực
• Thường là 20% tập dữ liệu
• Cũng được gọi là hold-out hoặc development set (tập phát triển)
• mô hình đưa ra dự đoán
• Dữ liệu chưa được biết

Khi mô hình đã được chọn, nó sẽ được huấn luyện trên tập dữ liệu đầu vào và được test trên tập dữ liệu test hoàn toàn khác. Tất cả được minh hoạ ở hình bên dưới:

Partition of the dataset

Cross-validation Cross-validation, còn được gọi là CV, một phương thức được sử dụng để chọn ra một mô hình không dựa quá nhiều vào tập dữ liệu huấn luyện ban đầu. Các loại khác nhau được tổng kết ở bảng bên dưới:

k-fold Leave-p-out
• Huấn luyện trên $k−1$ phần và đánh giá trên 1 phần còn lại
• Thường thì $k=5$ hoặc 10
• Huấn luyện trên $n-p$ phần và đánh giá trên $p$ phần còn lại
• Trường hợp $p=1$ được gọi là leave-one-out

Phương thức hay được sử dụng được gọi là $k$-fold cross-validation và chia dữ liệu huấn luyện thành $k$ phần, đánh giá mô hình trên 1 phần trong khi huấn luyện mô hình trên $k-1$ phần còn lại, tất cả $k$ lần. Lỗi sau đó được tính trung bình trên $k$ phần và được đặt tên là cross-validation error.

Cross-validation

Chuẩn hoá Mục đích của thủ tục chuẩn hoá là tránh cho mô hình bị overfit với dữ liệu, do đó gặp phải vấn đề phương sai lớn. Bảng sau đây sẽ tổng kết các loại kĩ thuật chuẩn hoá khác nhau hay được sử dụng:

LASSO Ridge Elastic Net
• Giảm hệ số xuống còn 0
• Tốt cho việc lựa chọn biến
Làm cho hệ số nhỏ hơn Thay đổi giữa chọn biến và hệ số nhỏ hơn
Lasso Ridge Elastic Net
$...+\lambda||\theta||_1$
$\lambda\in\mathbb{R}$
$...+\lambda||\theta||_2^2$
$\lambda\in\mathbb{R}$
$...+\lambda\Big[(1-\alpha)||\theta||_1+\alpha||\theta||_2^2\Big]$
$\lambda\in\mathbb{R},\alpha\in[0,1]$

Dự đoán

Bias Bias của mô hình là sai số giữa dự đoán mong đợi và dự đoán của mô hình trên các điểm dữ liệu cho trước.


Phương sai Phương sai của một mô hình là sự thay đổi dự đoán của mô hình trên các điểm dữ liệu cho trước.


Sự đánh đổi bias/phương sai Mô hình càng đơn giản bias càng lớn, mô hình càng phức tạp phương sai càng cao.


Underfitting Just right Overfitting
Symptoms • Lỗi huấn luyện cao
• Lỗi huấn luyện tiến gần tới lỗi test
• Bias cao
• Lỗi huấn luyện thấp hơn một chút so với lỗi test • Lỗi huấn luyện rất thấp
• Lỗi huấn luyện thấp hơn lỗi test rất nhiều
• Phương sai cao
Minh hoạ hồi quy Underfit in regression Right fit in regression Overfit in regression
Minh hoạ phân loại Underfit in classification Right fit in classification Overfit in classification
Minh hoạ deep learning (học sâu) Underfit in deep learning Right fit in deep learning Overfit in deep learning
Biện pháp khắc phục có thể dùng • Mô hình phức tạp
• Thêm nhiều đặc trưng
• Huấn luyện lâu hơn
• Thực hiện chuẩn hóa
• Lấy nhiều dữ liệu hơn

Phân tích lỗi Phân tích lỗi là phân tích nguyên nhân của sự khác biệt trong hiệu năng giữa mô hình hiện tại và mô hình lí tưởng.


Phân tích Ablative Phân tích Ablative là phân tích nguyên nhân của sự khác biệt giữa hiệu năng của mô hình hiện tại và mô hình cơ sở.