Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 23 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
23
Dung lượng
382,48 KB
Nội dung
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 dung d môn ô học: h Giới thiệu chung g Đánh giá hiệu hệ thống học máy Cá phương Các h pháp há học h dựa d t ê xác suất ất Các phương pháp học có giám sát Các phương pháp học không giám sát Lọc cộng tác Học tăng cường Học Máy – IT 4862 Đánh giá hiệu hệ thống học máy (1) Việc đánh giá hiệu hệ thống học máy thường thực dựa thực nghiệm (experimentally), (experimentally) dựa phân tích (analytically) • Các đánh g giá p phân tích ((analytical y evaluation)) nhằm chứng minh hệ thống đắn (correct) hoàn chỉnh (complete) (vd: chứng minh định lý Logics) • Không thể xây dựng đặc tả (định nghĩa) hình thức vấn đề mà ộ hệ ệ thống g học ọ máyy g giải q y ((Đối với toán học máy, tính đắn tính hoàn chỉnh gì?) Học Máy – IT 4862 Đánh giá hiệu hệ thống học máy (2) Tập trung vào việc đánh giá hiệu hệ thống • Thực cách tự động, động sử dụng tập ví dụ (tập thử nghiệm) • Không g cần tham g gia ((can thiệp) p) người g dùng g Các phương pháp đánh giá (evaluation methods) có ộ đá đánh g giá đá đáng g tin cậy ề hiệu ệu → Làm hệ thống? Các tiêu chí đánh g giá ((evaluation metrics)) → Làm để đo (tính toán) hiệu hệ thống? Học Máy – IT 4862 Các p phươngg pháp p p đánh giá g (1) Tập huấn ấ luyện Toàn tập ví dụ Được dùng để huấn ố luyện hệ thống Tập tối ưu Tùy chọn; dùng để tối ưu tham số hệ thống Tập ập kiểm thử Được dùng để đánh giá hệ thống (sau khi) đ h ấ luyện huấn l ệ Học Máy – IT 4862 Các p phươngg pháp p p đánh giá g (2) Làm để thu đánh giá đáng tin cậy ệ g hệ ệ thống? g hiệu • Tập huấn luyện lớn, hiệu hệ thống học tốt • Tập kiểm thử lớn, việc đánh giá xác • Vấn đề: Rất khó (ít khi) có tập liệu (rất) lớn Hiệu g hệ thống g không g p phụ thuộc vào g giải thuật học máy sử dụng, mà phụ thuộc vào: • Phân bố lớp (Class distribution) • Chi phí việc phân lớp sai (Cost of misclassification) • Kích thước tập huấn luyện (Size of the training set) • Kích thước tập kiểm thử (Size of the test set) Học Máy – IT 4862 Các p phươngg pháp p p đánh giá g (3) Hold-out Stratified sampling Repeated hold-out hold out Cross-validation • k-fold • Leave-one-out Bootstrap sampling Học Máy – IT 4862 Hold-out (Splitting) Toàn tập ví dụ D chia thành tập không giao • 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 hệ thống học → D = D_train ∪ D_test, thường |D_train| >> |D_test| Các yêu cầu: Bất kỳ ví dụ thuộc vào tập kiểm thử D_test không sử dụng trình huấn luyện hệ thống Bất kỳ víí dụ d đ sử dụng d t giai i i đoạn đ huấn h ấ luyện l ệ hệ thống thố (i.e., thuộc vào D_train) không sử dụng giai đoạn đánh giá hệ thống Các Cá víí d dụ kiểm kiể thử ttrong D_test cho h phép ột đá đánh h giá iá khô không thiên vị hiệu 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 ta có tập ví dụ D có kích thước lớn Học Máy – IT 4862 Stratified sampling Đối với tập ví dụ có kích thước nhỏ không cân xứng ((unbalanced datasets), ), ví dụ ụ g tập ập huấn luyện yệ thử nghiệm đại diện Ví dụ: Có (rất) ít, không có, ví dụ số lớp Mục tiêu: Phân bố ố lớp (class distribution) tập huấn ấ luyện tập kiểm thử phải xấp xỉ tập toàn ví dụ (D) Lấy mẫu phân tầng (Stratified sampling) • Là phương pháp để cân xứng (về phân bố lớp) • Đảm bảo tỷ lệ phân bố lớp (tỷ lệ ví dụ lớp) tập h ấ luyện huấn l ệ tậ tập kiểm kiể thử xấp ấ xỉỉ h Phương pháp lấy mẫu phân tầng không áp dụng cho toán học máy dự đoán/hồi quy (vì giá trị đầu hệ thống giá trị số, nhãn lớp) Học Máy – IT 4862 Repeated hold-out Áp dụng phương pháp đánh giá Hold-out nhiều lần, để sinh (sử dụng) tập huấn luyện thử nghiệm khác • Trong bước lặp, tỷ lệ định tập D 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) giá trịị lỗi ((hoặc ặ g giá trịị tiêu chí đánh g giá khác)) • Các g ghi nhận bước lặp lấy trung bình cộng (averaged) để xác định giá trị lỗi tổng thể Phương pháp không hoàn hảo • Mỗi bước lặp sử dụng tập kiểm thử khác • Có số ví dụ trùng lặp (được sử dụng lại nhiều lần) tập kiểm ể thử Học Máy – IT 4862 10 Cross-validation Để tránh việc trùng lặp tập kiểm thử (một số ví dụ xuất tập kiểm thử khác nhau) k-fold cross-validation • Tập toàn ví dụ D chia thành k tập không giao (gọi “fold”) fold ) có kích thước xấp xỉ • Mỗi lần (trong số k lần) lặp, tập sử dụng làm tập kiểm thử, (k-1) tập lại dùng làm tập huấn luyện • k giá trị lỗi (mỗi giá trị tương ứng với fold) tính trung bình cộng để thu giá trị lỗi tổng thể Các lựa chọn thông thường k: 10, Thông thường, tập (fold) lấy mẫu phân tầng (xấp xỉ phân bố lớp) trước áp dụng trình đánh giá Cross-validation Phù hợp ta có tập ví dụ D vừa nhỏ Học Máy – IT 4862 11 Leave-one-out cross-validation Một trường hợp (kiểu) phương pháp Cross-validation • Số lượng nhóm (folds) kích thước tập liệu (k=|D|) (k |D|) • Mỗi nhóm (fold) bao gồm ví dụ Khai thác tối đa ((triệt để)) tập p ví dụ ban đầu Không có bước lấy mẫu ngẫu nhiên (no random subsampling) Áp dụng lấy mẫu phân tầng (stratification) không phù hợp → Vì bước lặp, tập thử nghiệm gồm có ví dụ Chi phí tính toán (rất) cao Phù hợp ta có tập ví dụ D (rất) nhỏ Học Máy – IT 4862 12 Bootstrap sampling (1) Phương pháp Cross-validation sử dụng việc lấy mẫu không lặp lại (sampling without replacement) → Đối với ví dụ, dụ chọn (được sử dụng), dụng) chọn (sử dụng) lại cho tập huấn luyện Phương pháp Bootstrap sampling sử dụng việc lấy mẫu có lặp lại (sampling with replacement) để tạo nên tập huấn luyện • Giả sử tập toàn D bao gồm n ví dụ • Lấy mẫu có lặp lại n lần tập D, để tạo nên tập huấn luyện D train gồm n ví dụ D_train Từ tập D, lấy ngẫu nhiên ví dụ x (nhưng không loại bỏ x khỏi tập D) ¾ Đưa ví dụ x vào tập huấn luyện: D_train = D_train ∪ x ¾ Lặp lại bước n lần ầ ¾ • Sử dụng tập D_train để huấn luyện hệ thống • Sử dụng g tất ví dụ thuộc D g không g thuộc ộ D_train ể tạo nên tập thử nghiệm: D_test = {z∈D; z∉D_train} để Học Máy – IT 4862 13 Bootstrap sampling (2) Trong bước lặp, ví dụ có xác suất = ⎛⎜1 − ⎞⎟ n⎠ không lựa chọn đưa vào tập huấn luyện⎝ để Vì vậy, xác suất để ví dụ (sau trình lấy mẫu lặp lại – bootstrap sampling) đưa vào tập kiểm thử là: n Có nghĩa rằng: ⎛ 1⎞ −1 ⎜1 − ⎟ ≈ e ≈ 0.368 ⎝ n⎠ • Tậ Tập huấn h ấ lluyện ệ (có ( ó kí kích h th thước =n)) b bao gồm xấp ấ xỉỉ 63.2% 63 2% víí d dụ D (Lưu ý: Một ví dụ thuộc tập D xuất nhiều lần tập D_train) • Tập kiểm thử (có kích thướ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 Các tiêu chí đánh giá (2) Khả năng mở rộng (Scalability) Hiệu Hiệ năng ă của ủ hệ thống thố ((vd: d tố tốc độ học/ phân h / hâ lloại) i) th thay đổi như thế nào đối với kích thước của tập dữ liệu Khả năng ă diễ diễn giải... (rất) nhỏ Học Máy – IT 4862 14 Tập p tối ưu (Validation set) Các ví dụ trong tập kiểm thử không thể được sử dụng (theo bất kỳ cách nào!) trong quá trình huấn luyện hệ thống Trong một số ố bài toán học máy, quá trình huấn ấ luyện hệ thống ố bao gồm 2 giai đoạn • Giai đoạn ạ thứ 1: Huấn luyện yệ hệ ệ thống g ((= Học ọ hàm mục ụ tiêu)) • Giai đoạn thứ 2: Tối ưu giá trị các tham số của hệ thống Tập... được sử dụng để tối ưu giá trị các tham số trong giải thuật học máy được sử dụng → Đối với một tham số, số giá trị tối ưu là giá trị giúp sinh ra hiệu năng cực đại đối với tập tối ưu Học Máy – IT 4862 15 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ủa 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)... (Interpretability) t t bilit ) →Mức độ dễ hiểu (đối với người sử dụng) của các kết quả và hoạt động của hệ thống Mức độ phức tạp (Complexity) →Mức độ phức tạp của mô hình hệ thống (hàm mục tiêu) học được Học Máy – IT 4862 17 Tính chính xác Đối với bài toán phân loại → Giá trị ((kết q quả)) đầu ra của hệ thống g là một g giá trị định danh (a = b) 1 ⎧1, if ( ) Identical o ( x ), c ( x ) ; Identical ( a , b ) =... 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 Accuracy = Đối 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ố Error = 1 D _ test ∑ Error ( x); Error ( x) = d ( x) − o( x) 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)... C Học Máy – IT 4862 Re call = ∑ Re call(c ) i i =1 C 21 F1 Tiêu chí đánh giá F1 là sự kết hợp của 2 tiêu chí đánh giá Precision và Recall F1 = 2 Pr ecision Re call = Pr ecision + Re call 2 1 1 + Pr ecision Re call 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ị 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 Lựa chọn mô hình học được Việc lựa chọn mô hình cần tìm ra sự thỏa hiệp (compromise) phù hợp giữa • Mức độ phức tạp của mô hình hệ thống học được • Mức độ chính xác về dự đoán của hệ thống đối với tập huấn luyện Nguyên lý Occam’s razor Một mô hình tốt ố là một... không thuộc lớp ci được phân loại (chính xác) Lớp ci Được phân Đ hâ lớp lớ bởi hệ thống Thuộc Phân lớp Thuộc thực sự (đúng) Ko thuộc Ko thuộc TPi FNi FPi TNi • FNi: Số lượng các ví dụ thuộc lớp ci- bị phân loại nhầm ầ (vào các lớp khác ci) Học Máy – IT 4862 19 Precision and Recall (1) Rất hay được sử dụng để đánh giá các hệ ệ thống gp phân loại ạ văn bản Precision đối với lớp ci → Tổng g số các ví dụ... được dùng làm tập huấn luyện • k giá trị lỗi (mỗi giá trị tương ứng với một fold) được tính trung bình cộng để thu được giá trị lỗi tổng thể Các lựa chọn thông thường của k: 10, hoặc 5 Thông thường, mỗi tập con (fold) được lấy mẫu phân tầng (xấp xỉ phân bố lớp) trước khi áp dụng quá trình đánh giá Cross-validation Phù hợp khi ta có tập ví dụ D vừa và nhỏ Học Máy – IT 4862 11 Leave-one-out cross-validation... D) ¾ Đưa ví dụ x vào trong tập huấn luyện: D_train = D_train ∪ x ¾ Lặp lại 2 bước trên n lần ầ ¾ • Sử dụng tập D_train để huấn luyện hệ thống • Sử dụng g tất cả các ví dụ thuộc D nhưng g không g thuộc ộ D_train ể tạo nên tập thử nghiệm: D_test = {z∈D; z∉D_train} để Học Máy – IT 4862 13 Bootstrap sampling (2) Trong mỗi bước lặp, một ví dụ có xác suất = ⎛⎜1 − 1 ⎞⎟ n⎠ không được lựa chọn đưa vào tập ... mà ộ hệ ệ thống g học ọ máyy g giải q y ((Đối với toán học máy, tính đắn tính hoàn chỉnh gì?) Học Máy – IT 4862 Đánh giá hiệu hệ thống học máy (2) Tập trung vào việc đánh giá hiệu hệ thống. .. phương pháp học không giám sát Lọc cộng tác Học tăng cường Học Máy – IT 4862 Đánh giá hiệu hệ thống học máy (1) Việc đánh giá hiệu hệ thống học máy thường thực dựa thực nghiệm (experimentally),... ệ Học Máy – IT 4862 Các p phươngg pháp p p đánh giá g (2) Làm để thu đánh giá đáng tin cậy ệ g hệ ệ thống? g hiệu • Tập huấn luyện lớn, hiệu hệ thống học tốt • Tập kiểm thử lớn, việc đánh giá