
Bài giảng Lập trình Python cho máy học: Bài 11 - TS. Nguyễn Vinh Tiệp
lượt xem 1
download

Bài giảng "Lập trình Python cho máy học: Bài 11 - Xây dựng mô hình máy học (tt)" tập trung vào các kỹ thuật quan trọng trong việc xây dựng và tối ưu hóa mô hình máy học. Nội dung bao gồm: Model Selection và Evaluation; Handle Imbalanced Data Method; Error Analysis Model. Mời các bạn cùng tham khảo!
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Lập trình Python cho máy học: Bài 11 - TS. Nguyễn Vinh Tiệp
- ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN XÂY DỰNG MÔ HÌNH MÁY HỌC Thực hiện bởi Trường Đại học Công nghệ Thông tin, ĐHQG-HCM 1
- NỘI DUNG I. Model Selection và Evaluation A. Holdout Validation B. Cross Validation C. Adversarial Validation D. Hyper-parameters Optimization E. Evaluation Metric II. Handle Imbalanced Data Method A. Resampling B. Cost sensitive learning C. Tools III. Error Analysis Model 18 May, 2024 Thực hiện bởi Trường Đại học Công nghệ Thông tin, ĐHQG-HCM 2
- Tại sao lại dùng đánh giá số liệu? Làm thế nào để đánh giá/đo lường mô hình có hoạt động tốt hay không? Đánh giá hiệu suất mô hình Chỉ số đánh giá so sánh dự đoán của các mô hình với các giá trị mục tiêu thực tế Evaluation Metric? Khi phát triển các mô hình ML, người ta thường thử nghiệm các thuật toán, siêu tham số hoặc kỹ thuật kỹ thuật tính năng khác nhau Lựa chọn & so sánh mô hình Các chỉ số đánh giá cho phép so sánh công bằng giữa các mô hình khác nhau, giúp xác định mô hình hoạt động tốt nhất Trường ĐH CNTT – Lập trình Python cho Máy học (CS116)
- Tại sao Evaluation Metric? Tập trung vào việc cải thiện các khía cạnh của hiệu suất của mô hình có liên quan nhất đến vấn đề cụ thể Tối ưu hóa mô hình Số liệu đánh giá có thể được sử dụng làm hàm mục tiêu trong quá trình huấn luyện mô hình Why Evaluation Metric? Các vấn đề như overfitting hoặc underfitting, mất cân bằng lớp hoặc phương sai cao trong dự đoán khi huấn luyện mô hình Chẩn đoán sự cố mô hình Một số chỉ số đánh giá có thể giúp xác định vấn đề Trường ĐH CNTT – Lập trình Python cho Máy học (CS116)
- Tại sao Evaluation Metric? Làm thế nào để giúp truyền đạt hiệu suất của một mô hình cho các bên liên quan? Giải thích hiệu suất của mô hình Chỉ số đánh giá cung cấp cơ sở để diễn giải hiệu quả của mô hình và tác động kinh doanh tiềm năng Why Evaluation Metric? Hiệu suất của một mô hình học máy được triển khai cần được theo dõi để đảm bảo nó duy trì hiệu quả theo thời gian. Giám sát và bảo trì . Các chỉ số đánh giá có thể được sử dụng để theo dõi hiệu suất của mô hình và kích hoạt cập nhật hoặc huấn luyện lại khi cần thiết. Trường ĐH CNTT – Lập trình Python cho Máy học (CS116)
- Chỉ số đánh giá phân loại ❏ Một số chỉ số đánh giá phân loại https://machinelearningcoban.com/2017/08/31/evaluation/ 6 Trường ĐH CNTT – Lập trình Python cho Máy học (CS116)
- Khi nào Precision > Recall? ❏ Sự lựa chọn giữa precision và recall thường phụ thuộc vào vấn đề cụ thể và chi phí của False positives so với false negative. ❏ Khi FP tốn kém hơn: ❏ Phát hiện email spam: FP (một email quan trọng bị đánh dấu không chính xác là spam) ❏ Lọc nội dung an toàn (dành cho trẻ em): tốt hơn hết là lọc sai một số nội dung an toàn (Lower recall) thay vì mạo hiểm để nội dung không phù hợp đi qua (lower precision) F-Beta score (beta < 1) Precision Score PR curve & AP F0.5 score Trường ĐH CNTT – Lập trình Python cho Máy học (CS116)
- Khi nào Recall > Precision? ❏ Khi chi phí bỏ lỡ một mẫu positive (false negative) là cao ❏ Chẩn đoán y tế: khi chẩn đoán một căn bệnh nguy hiểm như ung thư, chúng ta muốn phát hiện càng nhiều trường hợp thực sự mắc bệnh (true positive) càng tốt (cần xử lý một số FP → xét nghiệm thêm) ❏ Phát hiện gian lận: bắt càng nhiều giao dịch gian lận càng tốt (high recall, sau đó xử lý FP theo yêu cầu thêm thông tin) F-Beta score (beta > 1) Recall Score ROC - AUC F2 score Trường ĐH CNTT – Lập trình Python cho Máy học (CS116)
- Số liệu đánh giá cho Imbalanced Classification ❏ Imbalanced Classification: Chọn chỉ số phù hợp với trường hợp https://machinelearningmastery.com/tour-of-evaluation-metrics-for-imbalanced-classification/ 9 Trường ĐH CNTT – Lập trình Python cho Máy học (CS116)
- Chỉ số cho bài toán hồi quy ❏ Một số chỉ số hồi quy: 10 Trường ĐH CNTT – Lập trình Python cho Máy học (CS116)
- Sklearn: Metrics ❏ sklearn.metrics 11 Trường ĐH CNTT – Lập trình Python cho Máy học (CS116)
- Imbalanced Data ❏ Dữ liệu mất cân bằng (imbalanced data) đề cập đến một tình huống trong đó sự phân bố của lớp đầu ra không bằng nhau hoặc sai lệch đáng kể ❏ Mô hình có xu hướng thiên về lớp đa số → hiệu suất kém trong lớp thiểu số 0 1 12 Trường ĐH CNTT – Lập trình Python cho Máy học (CS116)
- Phương pháp xử lý dữ liệu mất cân bằng Cost Sensitive Learning Resampling One-class Learning Ensemble Method (Class Weighted) Trường ĐH CNTT – Lập trình Python cho Máy học (CS116)
- Resampling ❏ Cách phổ biến nhất để xử lý dữ liệu mất cân bằng là Resampling (lấy mẫu lại) ❏ Có hai phương pháp chính: undersampling và oversampling 14 Trường ĐH CNTT – Lập trình Python cho Máy học (CS116)
- Overfitting trong quá trình Cross Validation ❏ Hãy cẩn thận với vấn đề "Rò rỉ dữ liệu“ (data leakage) → Overfitting The Wrong Way The Right Way Trường ĐH CNTT – Lập trình Python cho Máy học (CS116)
- Imbalanced-learn ❏ github: imbalanced learn scikit learn ❏ Example: example code ❏ Documentation: introduction 16 Trường ĐH CNTT – Lập trình Python cho Máy học (CS116)
- Faster Resampling with Imbalance-learn + CuML 17 Trường ĐH CNTT – Lập trình Python cho Máy học (CS116)
- Rapids Imbalanced Learn ❏ cuML thường cung cấp tốc độ gấp 5-15 lần cho các kỹ thuật như SMOTE, ADASYN, và EditedNearestNeighbours và tăng tốc 100–300x cho các kỹ thuật như SVMSMOTE và CondensedNearestNeighbor. ❏ Cài đặt: link 18 Trường ĐH CNTT – Lập trình Python cho Máy học (CS116)
- Oversampling method ❏ Có một số kỹ thuật phổ biến: ❏ SMOTE ❏ SVMSMOTE ❏ ADASYN 19 Trường ĐH CNTT – Lập trình Python cho Máy học (CS116)
- SMOTE ❏ SMOTE (Synthetic Minority Oversampling Technique) là một kỹ thuật oversampling được sử dụng để tạo dữ liệu tổng hợp cho các lớp ít dữ liệu. https://varshasaini.in/glossary/smote/ Trường ĐH CNTT – Lập trình Python cho Máy học (CS116)

CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Lập trình Python: Bài 2 - Trương Xuân Nam
26 p |
79 |
27
-
Bài giảng Lập trình Python: Bài 3 - Trương Xuân Nam
18 p |
81 |
26
-
Bài giảng Lập trình Python: Bài 1 - Trương Xuân Nam
42 p |
146 |
24
-
Bài giảng Lập trình Python: Bài 4 - Trương Xuân Nam
24 p |
81 |
24
-
Bài giảng Lập trình Python: Bài 5 - Trương Xuân Nam
28 p |
62 |
23
-
Bài giảng Lập trình Python: Bài 9 - Trương Xuân Nam
30 p |
67 |
21
-
Bài giảng Lập trình Python cho máy học: Bài mở đầu - TS. Nguyễn Vinh Tiệp
45 p |
2 |
2
-
Bài giảng Lập trình Python cho máy học: Bài 3 - TS. Nguyễn Vinh Tiệp
18 p |
2 |
2
-
Bài giảng Lập trình Python cho máy học: Bài 1 - TS. Nguyễn Vinh Tiệp
40 p |
5 |
2
-
Bài giảng Lập trình Python cho máy học: Bài 4 - TS. Nguyễn Vinh Tiệp
43 p |
3 |
2
-
Bài giảng Lập trình Python cho máy học: Bài 6 - TS. Nguyễn Vinh Tiệp
39 p |
2 |
1
-
Bài giảng Lập trình Python cho máy học: Bài 9 - TS. Nguyễn Vinh Tiệp
57 p |
1 |
1
-
Bài giảng Lập trình Python cho máy học: Bài 7 - TS. Nguyễn Vinh Tiệp
42 p |
1 |
1
-
Bài giảng Lập trình Python cho máy học: Bài 10 - TS. Nguyễn Vinh Tiệp
39 p |
1 |
1
-
Bài giảng Lập trình Python cho máy học: Bài 2 - TS. Nguyễn Vinh Tiệp
38 p |
2 |
1
-
Bài giảng Lập trình Python cho máy học: Bài 5 - TS. Nguyễn Vinh Tiệp
71 p |
1 |
1
-
Bài giảng Lập trình Python cho máy học: Bài 8 - TS. Nguyễn Vinh Tiệp
32 p |
1 |
1


Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn
