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
561,41 KB
Nội dung
Học Máy (Machine Learning) Thân Quang Khốt khoattq@soict.hust.edu.vn Viện Cơng nghệ thông tin Truyền thông Trường Đại học Bách Khoa Hà Nội Năm 2016 Nội dung môn học: n Giới thiệu chung n Các phương pháp học không giám sát n Các phương pháp học có giám sát n Đánh giá hiệu hệ thống học máy Đánh giá hiệu hệ thống học máy n Làm để thu đánh giá đáng tin cậy hiệu hệ thống? q q Tập huấn luyện lớn, hiệu hệ thống học có xu hướng tốt Tập kiểm thử lớn, việc đánh giá xác n Làm để lựa chọn tốt tham số cho phương pháp học máy? n Ngoài giải thuật học, hiệu hệ thống phụ thuộc vào: q q q Phân bố lớp (Class distribution) Kích thước tập huấn luyện (Size of the training set) Khả đại diện tập học (representative of the whole space) Đánh giá hiệu hệ thống học máy n Đánh giá lý thuyết (theoretical evaluation): nghiên cứu khía cạnh lý thuyết hệ thống mà chứng minh q q q q Tốc độ học, thời gian học, Bao nhiêu ví dụ học đủ? Độ xác trung bình hệ thống, Khả chống nhiễu,… n Đánh giá thực nghiệm (experimental evaluation): quan sát hệ thống làm việc thực tế, sử dụng nhiều tập liệu tiêu chí đánh giá Tổng hợp đánh giá từ quan sát n Chúng ta nghiên cứu cách đánh giá thực nghiệm Đánh giá hiệu hệ thống học máy… n Bài toán đánh giá (model assessment): cần đánh giá hiệu phương pháp (model) học máy A, dựa liệu quan sát D n Việc đánh giá hiệu hệ thống • Thực cách tự động, sử dụng tập ví dụ • Khơng cần tham gia (can thiệp) người dùng n Chiến lược đánh giá (evaluation strategies) → Làm có đánh giá đáng tin cậy hiệu hệ thống? n Các tiêu chí đánh giá (evaluation metrics) → Làm để đo hiệu hệ thống? Các phương pháp đánh giá n Hold-out n Stratified sampling n Repeated hold-out n Cross-validation • k-fold • Leave-one-out n Bootstrap sampling Hold-out (Splitting) n Tồ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| n 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 q Bất kỳ ví dụ sử dụng giai đoạn huấn luyện hệ thống (i.e., thuộc vào D_train) không sử dụng giai đoạn đánh giá hệ thống q Các ví dụ kiểm thử D_test cho phép đánh giá không thiên vị hiệu hệ thống q Các lựa chọn thường gặp: |D_train|=(2/3).|D|, |D_test|=(1/3).|D| n Phù hợp ta có tập ví dụ D có kích thước lớn n Stratified sampling n Đối với tập ví dụ có kích thước nhỏ khơng cân xứng (unbalanced datasets), ví dụ tập huấn luyện thử nghiệm khơng phải đại diện q Ví dụ: Có (rất) ví dụ số lớp n 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) n 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 huấn luyện tập kiểm thử xấp xỉ n Phương pháp lấy mẫu phân tầng không áp dụng cho tốn hồi quy (vì giá trị đầu hệ thống giá trị số thực, nhãn lớp) Repeated hold-out n Á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) • Các giá trị lỗi (hoặc giá trị tiêu chí đánh giá khác) 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ể n Phương pháp khơng hồ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ử 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) n k-fold cross-validation n • Tập tồn ví dụ D chia thành k tập không giao (gọi “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, n 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 n Phù hợp ta có tập ví dụ D vừa nhỏ n 10 Leave-one-out cross-validation n 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|) • Mỗi nhóm (fold) bao gồm ví dụ n Khai thác tối đa (triệt để) tập ví dụ ban đầu n Khơng có bước lấy mẫu ngẫu nhiên (no random subsampling) n Á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ụ n Chi phí tính tốn (rất) cao n Phù hợp ta có tập ví dụ D (rất) nhỏ 11 Bootstrap sampling n 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ụ, chọn (được sử dụng), khơng thể chọn (sử dụng) lại cho tập huấn luyện 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 tồ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ụ Ø 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 tất ví dụ thuộc D không thuộc D_train để tạo nên tập thử nghiệm: D_test = {z∈D; z∉D_train} 12 Bootstrap sampling bước lặp, ví dụ có xác suất = ⎛⎜1 − ⎞⎟ để không lựa chọn đưa vào tập huấn luyện ⎝ n ⎠ n Trong n Vì vậy, xác suất để ví dụ (sau q trình lấy mẫu lặp lại – bootstrap sampling) đưa vào tập kiểm thử là: n n Có nghĩa rằng: ⎛ 1⎞ −1 ⎜1 − ⎟ ≈ e ≈ 0.368 ⎝ n⎠ • Tập huấn luyện (có kích thước =n) bao gồm xấp xỉ 63.2% ví 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