Bài giảng Học máy - L2: Đánh giá hiệu năng hệ thống học máy
Việc đánh giá hiệu năng hệ thống học máy thường được
thực hiện dựa trên thực nghiệm (experimentally) h , hơn là
dựa trên phân tích (analytically)
• Các đánh g p ( y ) iá phân tích (analytical evaluation) nhằm
chứng minh một hệ thống là đúng đắn (correct) và
hoàn chỉnh (complete) (vd: các bộ chứng minh định lý
trong Logics)
• Không thể xây dựng một đặc tả (định nghĩa) hình thức
của vấn đề mà một hệ thống học máy giải q y uyết (Đối
với bài toán học máy, thì tính đúng đắn và tính hoàn
chỉnh là gì?)
thực hiện dựa trên thực nghiệm (experimentally) h , hơn là
dựa trên phân tích (analytically)
• Các đánh g p ( y ) iá phân tích (analytical evaluation) nhằm
chứng minh một hệ thống là đúng đắn (correct) và
hoàn chỉnh (complete) (vd: các bộ chứng minh định lý
trong Logics)
• Không thể xây dựng một đặc tả (định nghĩa) hình thức
của vấn đề mà một hệ thống học máy giải q y uyết (Đối
với bài toán học máy, thì tính đúng đắn và tính hoàn
chỉnh là gì?)
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Học máy - L2: Đánh giá hiệu năng hệ thống học máy", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.
File đính kèm:
- bai_giang_hoc_may_l2_danh_gia_hieu_nang_he_thong_hoc_may.pdf
Nội dung text: Bài giảng Học máy - L2: Đánh giá hiệu năng hệ thống học máy
- Nội dung môn học: Giới thiệu chung Đánh giá hiệunăng hệ thống họcmáy Cácphương pháp học dựa têtrên xácsuất Các phương pháp họccógiámsát Các phương pháp học không giám sát Lọc cộng tác Họctăng cường ọ H c Máy – IT 4862 2
- Đánh giá hiệu năng hệ thống học máy (2) Tập trung vào việc đánh giá hiệu năng của hệ thống • Thựchic hiệnnm mộtcáchtt cách tự động, sử dụng mộttt tậppcácví các ví dụ (tập thử nghiệm) • Không cần sự tham gg(ia (can thiệp) của người dùng Các phương pháp đánh giá (evaluation methods) → Lààsaocóm sao có được một đáágánh giá đágáng tin cậy về hiệu năng của hệ thống? Các tiêu chí đánh gg(iá (evaluation metrics ) → Làm sao để đo (tính toán) hiệu năng của hệ thống? ọ H c Máy – IT 4862 4
- Các phươnggp pháp đánh giá (2) Làm thế nào để thu được một đánh giá đáng tin cậy về hiệu năng của hệ thống? • Tập huấn luyện càng lớn, thì hiệu năng của hệ thống học càng tốt • Tập kiểm thử càng lớn, thì việc đánh giá càng chính xác • Vấn đề: Rất khó (ít khi) có thể có được các tập dữ liệu (rất) lớn Hiệu năng của hệ thốnggg không chỉ phụ thuộc vào giải thuật học máy được sử dụng, mà còn phụ thuộc vào: • Phân bố lớp (Class distribution) • Chi phí của việc phân lớp sai (Cost of misclassification) • Kích thước của tập huấn luyện (Size of the training set) • Kích th ướccc củata tậppki kiểmmth thử (Size of the test set) ọ H c Máy – IT 4862 6
- Hold-out (Splitting) Toàn bộ tập ví dụ D được chia thành 2 tập con không giao nhau • Tập huấn luyện D__train – để huấn luyện hệ thống • Tập kiểm thử D_test – để đánh giá hiệu năng của hệ thống đã học → D = D_train ∪ D_test, và thường là |D_train| >> |D_test| Các yêu cầu: Bất kỳ ví dụ nào thuộc vào tập kiểm thử D_test đều không được sử dụng trong quá trình huấn luyện hệ thống Bấtkt kỳ vííd dụ nào được sử dụng ttiirong giai đoạn huấn luyện hệ thống (i.e., thuộc vào D_train) đều không được sử dụng trong giai đoạn đánh giá hệ thống Các v í dụ kiểm thử trong D_test chhého phép một đáhánh g iákhôiá không thiên vị đối với hiệu năng của hệ thống Các lựa chọn thường gặp: |D_train|=(2/3).|D|, |D_test|=(1/3).|D| Phù hợp khi ta có tập ví dụ D có kích thước lớn ọ H c Máy – IT 4862 8
- Repeated hold-out Áp dụng phương pháp đánh giá Hold-out nhiều lần, để sinh ra (sử dụng) các tậphup huấnluyn luyệnvàthn và thử nghiệmkhácm khác nhau • Trong mỗi bước lặp, một tỷ lệ nhất định của tập D được lựa chọn ngẫu nhiên để tạo nên tập huấn luyện (có thể sử dụng kết hợp với phương pháp lấy mẫu phân tầng – stratified sampling) • Các giá trị lỗi (hoặc các giá trị đối với các tiêu chí đánh g)giá khác) ghi nhận được trong các bước lặp này được lấy trung bình cộng (averaged) để xác định giá trị lỗi tổng thể Phương pháp này vẫn không hoàn hảo • Mỗi bước lặp sử dụng một tập kiểm thử khác nhau • Có một số ví dụ trùng lặp (được sử dụng lại nhiều lần) trong các tập kiểm thử này ọ H c Máy – IT 4862 10
- Leave-one-out cross-validation Một trường hợp (kiểu) của phương pháp Cross-validation • Số lượng các nhóm (folds) bằng kích thướccc củata tậpdp dữ liệu(u (k=|D|) • Mỗi nhóm (fold) chỉ bao gồm một ví dụ Khai thác tối đa (triệt để) tập ví dụ ban đầu Không hề có bước lấy mẫu ngẫu nhiên (no random sub- sampling) Áp dụng lấy mẫu phân tầng (stratification) không phù hợp → Vì ở mỗi bước lặp, tập thử nghiệm chỉ gồm có một ví dụ Chi phí tính toán (rất) cao Phù hợp khi ta có một tập ví dụ D (rất) nhỏ ọ H c Máy – IT 4862 12
- Bootstrap sampling (2) ⎛ 1 ⎞ Trong mỗi bước lặp, một ví dụ có xác suất = ⎜ 1 − ⎟ để không được lựa chọn đưa vào tập huấn luyện⎝ n ⎠ Vì vậy, xác suất để một ví dụ (sau quá trình lấy mẫu lặp lại – bootstrap sampling) được đưa vào tập kiểm thử là: n ⎛ 1 ⎞ ⎜1− ⎟ ≈ e−1 ≈ 0.368 ⎝ n ⎠ Có nghĩa rằng: • Tập huấn luyện ((ókíhthcó kích thước =n)b) bao gồm xấp xỉ 63. 2% c ác v í dụ trong D (Lưu ý: Một ví dụ thuộc tập D có thể xuất hiện nhiều lần trong tập D_train) • Tậpkip kiểmmth thử (có kích thướcc< <n) bao gồmxm xấppx xỉ 36.8% các ví dụ trong D (Lưu ý: Một ví dụ thuộc tập D chỉ có thể xuất hiện tối đa 1 lần trong tập D_test) Phù hợp khi ta có mộttt tậpdp dữ liệu D có kích thước(rc (rất) nhỏ ọ H c Máy – IT 4862 14
- Các tiêu chí đánh giá (1) Tính chính xác (Accuracy) →Mức độ dự đoán (phân lớp) chính xác củaah hệ thống (đã được huấn luyện) đối với các ví dụ kiểm chứng (test instances) Tính hiệu quả (Efficiency) →Chi phí về thời gian và tài nguyên (bộ nhớ) cần thiết cho việc huấn luyện và kiểm thử hệ thống Khả năng xử lý nhiễu (Robustness) →Khả năng xử lý (chịu được) của hệ thống đối với các ví dụ nhiễu (lỗi) hoặc thiếu giá trị ọ H c Máy – IT 4862 16
- Tính chính xác Đối với bài toán phân loại → Giá trị (kết quả) đầu ra của hệ thống là một giá trị định danh 1 ⎧1, if (a = b) Accuracy = ∑ Identical()o(x),c(x) ; Identical(a,b) = ⎨ D _ test x∈D _test ⎩0, if otherwise •x: Một ví dụ trong tập thử nghiệm D_test •o(x): Giá trị đầu ra (phân lớp) bởi hệ thống đối với ví dụ x •c(x): Phân lớp thực sự (đúng) đối với ví dụ x Đốivi với bài toán hồi quy (dự đoán) →Giá trị (kết quả) đầu ra của hệ thống là một giá trị số 1 Error = ∑ Error(x); Error(x) = d(x) − o(x) D _ test x∈D _ test •o(x): Giá trị đầu ra (dự đoán) bởi hệ thống đối với ví dụ x •d(x): Giá trị đầu ra thực sự (đúng) đối với ví dụ x • Accuracy là một hàm đảo (inverse function) đối với Error ọ H c Máy – IT 4862 18
- Precision and Recall (1) Rất hay được sử dụng để đánh giá các hệ thốnggp phân loại văn bản Precision đối với lớp ci TP → Tổng số các ví dụ thuộc lớp ci i Pr ecision(ci ) = được phân loại chính xác chia cho TPi + FPi tổng số các ví dụ được phân loại vào lớp ci Recall đối với lớp ci TPi → Tổng số các ví dụ thuộc lớpc Recall(ci ) = i TP + FN được phân loại chính xác chia cho i i tổng số các ví dụ thuộc lớp ci ọ H c Máy – IT 4862 20
- F1 Tiêu chí đánh giá F1 là sự kết hợp của 2 tiêu chí đánh giá Precision và Recall 2.Pr ecision.Recall 2 F = = 1 1 1 Pr ecision + Recall + Pr ecision Recall F1 là một trung bình điều hòa (harmonic mean) của các tiêu chí Precision và Recall •F1 có xu hướng lấy giá trị gần với giá trị nào nhỏ hơn giữa 2 giá trị Precision và Recall •F1 có giá trị lớn nếu cả 2 giá trị Precision và Recall đều lớn ọ H c Máy – IT 4862 22