intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Lập trình Python cho máy học: Bài 9 - TS. Nguyễn Vinh Tiệp

Chia sẻ: _ _ | Ngày: | Loại File: PDF | Số trang:57

2
lượt xem
1
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài giảng "Lập trình Python cho máy học: Bài 9 - Mô hình và bài toán máy học" trình bày về bài toán máy học; mô hình máy học; máy học tự động (Auto Machine learning). Mời các bạn cùng tham khảo!

Chủ đề:
Lưu

Nội dung Text: Bài giảng Lập trình Python cho máy học: Bài 9 - TS. Nguyễn Vinh Tiệp

  1. ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN MÔ HÌNH VÀ BÀI TOÁN MÁY HỌC TS. Nguyễn Vinh Tiệp Thực hiện bởi Trường Đại học Công nghệ Thông tin, ĐHQG-HCM 1
  2. NỘI DUNG I. Bài toán máy học II. Mô hình máy học A. Nền tảng B. Bagging and Boosting C. Mô hình cây (tree-based) III. Máy học tự động (Auto Machine learning) 9 May, 2024 Thực hiện bởi Trường Đại học Công nghệ Thông tin, ĐHQG-HCM 2
  3. Bagging ❏ Thuộc vào nhóm mô hình học kết hợp (ensemble-based learning) ❏ Các mô hình Weak learners mà chừng học song song và độc lập, kết hợp các mô hình để xác định dự đoán trung bình của mô hình ❏ Vd: Random Forest https://www.geeksforgeeks.org/bagging-vs-boosting-in-machine-learning/ Trường ĐH CNTT – Lập trình Python cho Máy học (CS116)
  4. Các bước thực hiện của mô hình Bagging Bước 1 Bước 2 Bước 3 Bước 4 Nhiều tập hợp con được Một mô hình cơ sở được Mỗi mô hình được học Các dự đoán cuối cùng tạo từ tập dữ liệu gốc với tạo trên mỗi tập hợp con song song với mỗi tập được xác định bằng cách các bộ dữ liệu bằng này huấn luyện và độc lập với kết hợp các dự đoán từ nhau, chọn các quan sát nhau tất cả các mô hình có thể thay thế Trường ĐH CNTT – Lập trình Python cho Máy học (CS116)
  5. Random Forest ❏ Sử dụng Bagging (Bootstrap Aggregating) để huấn luyện từng mô hình Decision Tree trên một tập hợp con dữ liệu ngẫu nhiên khác nhau ❏ Giảm sự tương quan giữa các cây và làm cho ensemble trở nên mạnh mẽ hơn https://en.wikipedia.org/wiki/Random_forest Trường ĐH CNTT – Lập trình Python cho Máy học (CS116)
  6. Siêu tham số quan trọng ❏ Siêu tham số để tăng khả năng dự đoán ❏ Random Forest sklearn n_estimators max_features min_samples_leaf criterion Số cây trong rừng - Số lượng đặc trưng Số lượng mẫu tối Chức năng đo lường The number of trees cần xem xét khi tìm thiểu cần có ở một nút chất lượng của sự in forest kiếm sự phân chia lá phân chia tốt nhất max_depth max_leaf_nodes Độ sâu tối đa của cây. Nếu Phát triển với Không, thì các nút sẽ được max_leaf_nodes theo mở rộng cho đến khi tất cả cách tốt nhất đầu tiên các lá đều thuần túy hoặc cho đến khi tất cả các lá chứa ít hơn min_samples_split Trường ĐH CNTT – Lập trình Python cho Máy học (CS116)
  7. Ưu điểm Hiệu quả Xử lý chiều dữ liệu Tính linh hoạt cao (high Được coi là mô hình rất Có thể được sử dụng cho dimensionality) bài toán hồi quy và phân chính xác và mạnh mẽ và chạy hiệu quả trên tập dữ loại, đồng thời chúng liệu lớn Có thể xử lý các tập dữ tương đối dễ điều chỉnh liệu có số lượng đặc vì không yêu cầu điều trưng cao và không yêu chỉnh siêu tham số nhiều cầu chia tỷ lệ đặc trưng Trường ĐH CNTT – Lập trình Python cho Máy học (CS116)
  8. Ưu điểm Mạnh mẽ với dữ liệu Parallelizable Feature Importance outlier & non-linear Việc huấn luyện các cây Đưa ra ước tính tốt về khác nhau có thể được những đặc trùng nào là Ít có xu hướng overfitting quan trọng trong dữ liệu cơ thực hiện song song vì và mạnh mẽ đối với các bản đang được lập mô mỗi cây được xây dựng ngoại lệ, cũng như có khả hình hóa độc lập năng mô hình hóa mối → lựa chọn tính năng quan hệ phi tuyến tính, phức tạp Trường ĐH CNTT – Lập trình Python cho Máy học (CS116)
  9. Nhược điểm Interpretability Computational Bias with imbalanced complexity data Khó diễn giải so với cây quyết định Có thể tạo số lượng cây Có thể có bias đối với lớp quyết định khá lớn và tốn chiếm đa số khi xử lý các nhiều bộ nhớ tập dữ liệu mất cân bằng Trường ĐH CNTT – Lập trình Python cho Máy học (CS116)
  10. Ví dụ Notebook example Trường ĐH CNTT – Lập trình Python cho Máy học (CS116)
  11. Boosting ❏ Thuộc vào nhóm mô hình học kết hợp (ensemble-based learning) ❏ Weak learners học tuần tự và thích ứng để cải thiện dự đoán mô hình của thuật toán học ❏ AdaBoost, XGBoost, LightGBM, CatBoost https://www.geeksforgeeks.org/bagging-vs-boosting-in-machine-learning/ Trường ĐH CNTT – Lập trình Python cho Máy học (CS116)
  12. Các bước cài đặt phương pháp Boosting Step 1 Step 2 Step 3 Step 4 End Initialise the dataset Provide this as input to Increase the weight of the if (got required results) and assign equal the model and identify wrongly classified data weight to each of the the wrongly classified points. data point data points else Trường ĐH CNTT – Lập trình Python cho Máy học (CS116)
  13. How Gradient Boosting Work? https://docs.aws.amazon.com/sagemaker/latest/dg/xgboost-HowItWorks.html Trường ĐH CNTT – Lập trình Python cho Máy học (CS116)
  14. Gradient Boosting: Ví dụ Year Salary (1000 $) Bạn có thể xây dựng mô hình 5 82 Gradient Boosting để dự đoán mức lương dựa trên số năm kinh 7 80 nghiệm không? 12 103 23 118 25 172 28 127 29 204 34 189 35 99 40 166 Trường ĐH CNTT – Lập trình Python cho Máy học (CS116)
  15. Gradient Boosting: Ví dụ ❏ Bước đầu tiên: mô hình nên được khởi tạo bằng một hàm F0(x). ❏ Tính toán sai số dư cho từng trường hợp (y - F0(x)). https://www.analyticsvidhya.com/blog/2018/09/an-end- to-end-guide-to-understand-the-math-behind-xgboost/ Trường ĐH CNTT – Lập trình Python cho Máy học (CS116)
  16. Gradient Boosting: Ví dụ ❏ Sử dụng sai số dư (y - F0(x)) để tạo một bộ học yếu h1(x) ❏ Dự đoán được tính: F1(x) = F0(x) + h1(x) Trường ĐH CNTT – Lập trình Python cho Máy học (CS116)
  17. Gradient Boosting: Ví dụ ❏ Việc này có thể lặp lại thêm 2 lần để tính toán h2(x) và h3(x). Trường ĐH CNTT – Lập trình Python cho Máy học (CS116)
  18. Gradient Boosting: Ví dụ ❏ MSE cho F0(x), F1(x) và F2(x) lần lượt là 875, 692 và 540 → Xây dựng h4(x), h5(x) .. và so sánh MSE? Trường ĐH CNTT – Lập trình Python cho Máy học (CS116)
  19. Gradient Boosting: Residual Error ❏ Tại giai đoạn mà độ chính xác tối đa được đạt bằng phương pháp boosting, các sai số dư xuất hiện có vẻ được phân bố ngẫu nhiên mà không có bất kỳ mẫu nào. Trường ĐH CNTT – Lập trình Python cho Máy học (CS116)
  20. Sự khác biệt giữa Bagging và Boosting Bagging Boosting Giảm sự biến động Giảm sự thiên vị Mỗi mô hình được xây dựng độc Các mô hình mới bị ảnh hưởng bởi lập hiệu suất của các mô hình được xây dựng trước đó Các mô hình yếu (weak models) Các mô hình yếu (weak models) được huấn luyện song song được huấn luyện tuần tự Trường ĐH CNTT – Lập trình Python cho Máy học (CS116)
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
81=>0