Chương 1 - Giới thiệu chung. Chương này trình bày những nội dung chính sau: Giới thiệu về học máy, quá trình học máy, các thành phần chính của bài toán học máy, các vấn đề trong học máy, vấn đề over-fitting, các môi trường chính,.... Mời các bạn cùng tham khảo nội dung chi tiết.
Học Máy (IT 4862) Nguyễn ễ Nhật hậ Quang quangnn-fit@mail.hut.edu.vn Trường Đại học Bách Khoa Hà Nội Viện Công nghệ thông tin truyền thông Năm học 2011-2012 Nội d dung mơn h học: Giới thiệu chung • Học máy • Cơng cụ WEKA Đánh giá hiệu hệ thống ố học máy Các phương pháp học dựa xác suất Các phương pháp học có giám sát Các p phương gp pháp p học ọ không gg giám sát Lọc cộng tác Học tăng cường Học Máy – IT 4862 Giới thiệu Học máy Học máy (Machine Learning – ML) lĩnh vực nghiên cứu Trí tuệ nhân tạo (Artificial Intelligence – AI) Các định nghĩa học máy → Một q trình nhờ hệ thống cải thiện hiệu suất (hiệu hoạt động) [Simon, 1983] → Một q trình mà chương trình máy tính cải thiện hiệu suất cơng việc thơng qua kinh nghiệm [Mitchell, 1997] → Việc ệ lập ập trình máy y tính để tối ưu hóa ộ tiêu chí hiệu ệ suất dựa ự liệu ví dụ kinh nghiệm khứ [Alpaydin, 2004] Biểu diễn toán học máy [Mitchell, 1997] H máy Học = Cải thiệ thiện hiệu hiệ ả ột công ô việc iệ thông thô qua ki kinh h nghiệm hiệ • Một cơng việc (nhiệm vụ) T • Đối với tiêu chí đánh giá hiệu P • Thơng qua (sử dụng) kinh nghiệm E Học Máy – IT 4862 Ví dụ tốn học máy (1) Lọc thư rác – Email spam filtering • T: Dự đoán (để lọc) thư điện p email)) tử thư rác ((spam • P: % of thư điện tử gửi đến phân loại xác • E: Một tập thư điện tử (emails) mẫu, thư điện tử biểu diễn tập thuộc tính (vd: tập từ khó ) khóa) nhãn hã lớp lớ (thư (th thường/thư th /th rác) tương ứng Học Máy – IT 4862 Thư rác? Thư thường Thư rác Ví dụ toán học máy (2) Phân loại trang Web T: Phân loại trang Web theo chủ đề ề định trước P: Tỷ lệ (%) trang Web phân loại xác E: Một tập E tậ trang t W b Web, t ỗi trang t W b gắn Web ắ với ới ột chủ đề Chủ đề? Học Máy – IT 4862 Ví dụ tốn học máy (3) Nhận dạng chữ viết tay T: Nhận dạng phân loại từ ảnh chữ viết tay P: Tỷ lệ (%) từ nhận dạng phân loại E: Một tập ảnh chữ viết tay, ảnh gắn với định danh từ Học Máy – IT 4862 Từ nào? we in the right way Ví dụ tốn học máy (4) Dự đốn rủi ro cho vay tài • T: Xác định mức độ rủi ro (vd: cao/thấp) hồ sơ xin vay tài • P: Tỷ lệ % hồ sơ xin vay có mức độ rủi ro cao (không trả lại tiền vay)) đ xác định đị h hí h xác • E: Một tập hồ sơ xin vay; hồ sơ biểu diễn tập p thuộc tính mức độ rủi ro (cao/thấp) Học Máy – IT 4862 al al al al al al al al al al al al al al al al al al al al kjasgsdfogsdjgfopjkhdrgfopjkhal kjasgsdfogsdjgfopjkhdrgfopjkhal kjasgsdfogsdjgfopjkhdrgfopjkhal kjasgsdfogsdjgfopjkhdrgfopjkhal kjasgsdfogsdjgfopjkhdrgfopjkhal kjasgsdfogsdjgfopjkhdrgfopjkhal kjasgsdfogsdjgfopjkhdrgfopjkhal kjasgsdfogsdjgfopjkhdrgfopjkhal kjasgsdfogsdjgfopjkhdrgfopjkhal kjasgsdfogsdjgfopjkhdrgfopjkhal kjasgsdfogsdjgfopjkhdrgfopjkhal kjasgsdfogsdjgfopjkhdrgfopjkhal kjasgsdfogsdjgfopjkhdrgfopjkhal kjasgsdfogsdjgfopjkhdrgfopjkhal kjasgsdfogsdjgfopjkhdrgfopjkhal kjasgsdfogsdjgfopjkhdrgfopjkhal kjasgsdfogsdjgfopjkhdrgfopjkhal kjasgsdfogsdjgfopjkhdrgfopjkhal kjasgsdfogsdjgfopjkhdrgfopjkhal kjasgsdfogsdjgfopjkhdrgfopjkhal kj kj kj kj kj kj kj kj kj kj kj kj kj kj kj kj kj kj kj kj Rủi ro? Cao Từ chối Thấp Chấp nhận Quá trình học máy Tập học (Training set) Huấn luyện hệ thống Tập liệu (Dataset) Tập tối ưu (Validation set) Tối ưu hóa tham số hệ thống Tập thử nghiệm (Test set) Học Máy – IT 4862 Thử nghiệm hệ thống học Các thành phần tốn học máy (1) Lựa chọn ví dụ học (training/learning examples) • Các thơng tin hướng dẫn q trình học (training feedback) chứa ví dụ học, cung cấp gián tiếp (vd: từ môi trường hoạt động) • Các ví dụ học theo kiểu có giám sát (supervised) hay khơng có giám sát (unsupervised) • Các ví dụ học phải tương thích với (đại diện cho) ví dụ sử dụng ụ g hệ ệ thống g g tương g lai ((future test examples) p ) Xác định hàm mục tiêu (giả thiết, khái niệm) cần học • F: X → {0,1} • F: X → Một tập nhãn lớp • F: X → R+ (miền giá tri số thực dương) • … Học Máy – IT 4862 Các thành phần tốn học máy (2) Lựa chọn cách biểu diễn cho hàm mục tiêu cần học • • • • • Hàm đa thức (a polynomial function) Một tập luật (a set of rules) Một định (a decision tree) Một mạng nơ nơ-ron ron nhân tạo (an artificial neural network) … Lựa ự chọn ọ ộ g giải thuật ậ học ọ máyy học ọ ((xấp p xỉ)) ợ hàm mục tiêu • • • • • Phương pháp học hồi quy (Regression-based) Phương pháp học quy nạp luật (Rule induction) Phương pháp học định (ID3 C4.5) Phương pháp học lan truyền ngược (Back-propagation) … Học Máy – IT 4862 10 WEKA – Môi trườngg Explorer p Học Máy – IT 4862 21 WEKA – Môi trườngg Explorer p Preprocess Để chọn thay đổi (xử lý) liệu làm việc Classify Để huấn luyện kiểm tra mơ hình học máy (phân loại, hồi q quy/dự y ự đốn)) Cluster Để học nhóm từ liệu (phân cụm) Associate Để khám phá luật kết hợp từ liệu Select attributes Để ể xác định lựa chọn thuộc tính liên quan (quan trọng) liệu Visualize Để xem (hiển thị) biểu đồ tương tác chiều liệu Học Máy – IT 4862 22 WEKA – Khuôn dạngg tập p liệu WEKA làm việc với tập tin văn (text) có khn dạng ARFF Ví dụ tập liệu Tên tập ệ liệu @relation weather outlook {sunny, overcast, rainy} Thuộc tính kiểu định danh temperature real humidity i i real Thuộc tính kiểu số windy {TRUE, FALSE} play {yes, no} Thuộc tính phân lớp (mặc định thuộc tính cuối cùng) @data sunny,85,85,FALSE,no Các ví dụ , , , ,y overcast,83,86,FALSE,yes (instances) … @attribute @attribute @ @attribute i @attribute @attribute Học Máy – IT 4862 23 WEKA Explorer: p Tiền xử lýý liệu Dữ liệu nhập vào (imported) từ tập tin có khuôn dạng: g ARFF,, CSV Dữ liệu đọc vào từ địa URL, từ sở liệu thông qua JDBC Các công cụ tiền xử lý liệu WEKA gọi filters • • • • • • Rời rạc hóa (Discretization) Chuẩn hóa (Normalization) Lấy mẫu (Re-sampling) Lựa chọn thuộc tính (Attribute selection) Ch ể đổi (T Chuyển (Transforming) f i ) kết hợp h (Combining) (C bi i ) th thuộc ộ tính tí h … →Hãyy xem giao g diện WEKA Explorer… Học Máy – IT 4862 24 WEKA Explorer: p Các p phân lớp p ((1)) Các phân lớp (Classifiers) WEKA tương ứng với mơ hình dự đốn đại lượng kiểu định danh (phân lớp) đại lượng kiểu số (hồi quy/dự đoán) Các kỹ thuật phân lớp hỗ trợ WEKA • Nạve Bayes classifier and Bayesian networks • Decision trees • Instance-based classifiers • Support vector machines • Neural networks •… → Hãy Hã xem giao i diện diệ ủ WEKA Explorer… E l Học Máy – IT 4862 25 WEKA Explorer: p Các p phân lớp p ((2)) Lựa chọn phân lớp (classifier) Lựa chọn tùy chọn cho việc kiểm tra (test options) • Use training set Bộ phân loại học đánh giá tập học • Supplied test set Sử dụng tập liệu khác (với tập học) việc đánh giá • Cross-validation Tập liệu chia thành k tập (folds) có kích thước xấp xỉ nhau, phân loại học đánh giá phương pháp cross-validation • Percentage split Chỉ định tỷ lệ phân chia tập liệu việc đánh giá Học Máy – IT 4862 26 WEKA Explorer: p Các p phân lớp p ((3)) More options… • Output model model Hiển thị phân lớp học • Output per-class stats Hiển thị thông tin thống kê precision/recall lớp • Output entropy evaluation measures measures Hiển thị đánh giá độ hỗn tạp (entropy) tập liệu • Output confusion matrix Hiển thị thông tin ma trận lỗi phân lớp ((confusion matrix)) phân lớp học • Store predictions for visualization Các dự đoán phân lớp lưu lại nhớ, để hiển thị sau • Output predictions Hiển thị chi tiết dự đốn tập kiểm tra • Cost-sensitive evaluation Các lỗi (của phân lớp) xác định dựa ma trận chi phí (cost matrix) định • Random seed for XVal / % Split Chỉ định giá trị random seed sử d dụng cho h ttrình ì h llựa chọn h ngẫu ẫ nhiên hiê víí d dụ cho h tậ tập kiể kiểm tra t Học Máy – IT 4862 27 WEKA Explorer: p Các p phân lớp p ((4)) Classifier output hiển thị thông tin quan trọng • Run information information Các tùy chọn mô hình học học, tên tập liệu, số lượng ví dụ, thuộc tính, f.f thí nghiệm • Classifier model (full training set) Biểu diễn (dạng text) phân lớp học • Predictions on test data Thơng tin chi tiết dự đốn phân lớp tập kiểm tra • Summary S Cá thống Các thố kê ề mức ứ độ hí h xác ủ phân hâ lớ lớp, f.f thí nghiệm chọn • Detailed Accuracy By Class Thông tin chi tiết mức độ xác ủ phân hâ lớ lớp ới ỗi lớ lớp • Confusion Matrix Các thành phần ma trận thể số lượng ví dụ kiểm tra (test instances) phân lớp bị phân hâ lớ lớp saii Học Máy – IT 4862 28 WEKA Explorer: p Các p phân lớp p ((5)) Result list cung cấp số chức hữu ích • Save model model Lưu lại mơ hình tương ứng với phân lớp học vào tập tin nhị phân (binary file) • Load model Đọc lại mơ hình học trước từ tập tin nhị phân • Re-evaluate model on current test set Đánh giá mơ hình (bộ phân lớp) học trước tập kiểm tra (test set) hiệ t i • Visualize classifier errors Hiển thị cửa sổ biểu đồ thể kết việc phân lớp Các ví dụ phân lớp xác biểu diễn ký hiệu dấu chéo (x), cịn ví dụ bị phân lớp sai biểu diễn ký hiệu ô vuông ( ) • … Học Máy – IT 4862 29 WEKA Explorer: Các phân cụm (1) Các phân cụm (Cluster builders) WEKA tương ứng với mơ hình tìm nhóm ví dụ tương tự tập liệu Các kỹ thuật phân cụm hỗ trợ WEKA • Expectation maximization (EM) • k-Means • Các phân cụm hiển thị kết so sánh h với ới cụm (lớ (lớp)) thực th tế →Hãy xem giao diện WEKA Explorer … Học Máy – IT 4862 30 WEKA Explorer: Các phân cụm (2) Lựa chọn phân cụm (cluster builder) Lựa L chọn h chế hế độ phân hâ cụm (cluster ( l t mode) d ) • Use training set Các cụm học kiểm tra tập học • Supplied test set Sử dụng tập liệu khác để kiểm tra cụm học • Percentage split Chỉ định tỷ lệ phân chia tập liệu ban đầu cho việc xây dựng tập kiểm tra • Classes to cl clusters sters e evaluation al ation So sánh độ xác ác cụm c m học lớp định Store clusters for visualization → Lưu lại phân lớp nhớ, để thị sau Ignore attributes → Lựa chọn thuộc tính khơng tham gia vào trình học cụm Học Máy – IT 4862 31 WEKA Explorer: Phát luật kết hợp Lựa chọn mơ hình (giải thuật) phát luật kết hợp Associator A i t output t t hiển thị thơng tin quan trọng • Run information Các tùy chọn mơ hình phát luật kết hợp, tên tập liệu, số lượng ví dụ, thuộc tính • Associator model (full training set) Biểu ể diễn (dạng text) tập luật kết hợp phát • Độ hỗ trợ tối thiểu (minimum support) • Độ tin cậy tối thiểu (minimum confidence) • Kích thước tập mục thường xuyên (large/frequent itemsets)) • Liệt kê luật kết hợp tìm → Hãyy xem g giao diện WEKA Explorer… p Học Máy – IT 4862 32 WEKA Explorer: p Lựa chọn thuộc tính Để xác định thuộc tính quan trọng Trong WEKA, phương pháp lựa chọn thuộc tính (attribute selection) bao gồm phần: • Attribute Evaluator Evaluator Để xác định phương pháp đánh giá mức độ phù hợp thuộc tính Vd: correlation-based, wrapper, information gain, chisquared,… squared • Search Method Để xác định phương pháp (thứ tự) xét thuộc tính Vd: best-first, random, exhaustive, ranking,… → Hãy xem giao diện WEKA Explorer… Học Máy – IT 4862 33 WEKA Explorer: p Hiển thị liệu Hiển thị liệu cần thiết thực tế Giúp p để xác định mức độ khó khăn tốn học WEKA hiển thị • Mỗi thuộc tính riêng lẻ (1-D visualization) • Một cặp thuộc tính (2 (2-D D visualization) Các giá trị (các nhãn) lớp khác hiển thị màu khác Th h ttrượtt Jitter Thanh Jitt hỗ trợ t việc iệ hiển hiể thị rõ õ ràng h hơn, có nhiều ví dụ (điểm) tập trung xung quanh vị trí biểu đồ Tính phóng to/thu nhỏ (bằng cách tăng/giảm giá trị PlotSize PointSize) →Hãy xem giao diện WEKA Explorer… Học Máy – IT 4862 34 References • E Alpaydin Introduction to Machine Learning The MIT Press, 2004 • T M Mitchell Machine Learning McGraw-Hill, 1997 • H A Simon Why Should Machines Learn? In R S Michalski, J Carbonell, and T M Mitchell (Eds.): Machine learning: g An artificial intelligence g approach, pp chapter 2, pp 25-38 Morgan Kaufmann, 1983 Học Máy – IT 4862 35 ... pháp học quy nạp luật (Rule induction) Phương pháp học định (ID3 C4.5) Phương pháp học lan truyền ngược (Back-propagation) … Học Máy – IT 4862 10 Các vấn đề Học máy (1) Giải thuật học máy (Learning... tượng) cụ thể, giải thuật học máy thực tốt nhất? Học Máy – IT 4862 11 Các vấn đề Học máy (2) Các ví dụ học (Training examples) • Bao nhiêu ví dụ học đủ? • Kích thước tập học (tập huấn luyện) ảnh... cộng tác Học tăng cường Học Máy – IT 4862 Giới thiệu Học máy Học máy (Machine Learning – ML) lĩnh vực nghiên cứu Trí tuệ nhân tạo (Artificial Intelligence – AI) Các định nghĩa học máy → Một