Các thuật toán học máy tính Các thuật toán học máy tính Các thuật toán học máy tính Các thuật toán học máy tính Các thuật toán học máy tính Các thuật toán học máy tính Các thuật toán học máy tính Các thuật toán học máy tính Các thuật toán học máy tính Các thuật toán học máy tính Các thuật toán học máy tính
Trang 1Bài tập lớn 3
CÁC THUẬT TỐN HỌC MÁY
Nội dung
Xây dựng bộ phân lớp dữ liệu dựa trên các thuật tốn học máy đã học: Cây quyết định và Nạve Bayes
Mục tiêu
- Sinh viên xây dựng cây quyết định và Nạve Bayes, dựa trên dữ liệu huấn luyện
cụ thể, đồng thời làm quen với cơng cụ khai thác dữ liệu mã nguồn mở Weka
- Bài tập này gồm hai phần Phần đầu tiên về lí thuyết cây quyết định và Nạve Bayes Phần thứ hai là các bài tập thực hành trên cơng cụ khai thác dữ liệu Weka (http://www.cs.waikato.ac.nz/ml/weka/)
Phần I – Cây quyết định và Nạve Bayes (6 điểm)
Mục tiêu của bài tập này là làm quen với phương pháp học máy Cây quyết định và Học xác suất (Nạve Bayes) Sinh viên sẽ thực hành trên một tập dữ liệu đơn giản như bên dưới để đưa ra quyết định cĩ đi trượt tuyết hay khơng Quyết định này đưa ra dựa trên các thuộc tính snow (tình trạng tuyết rơi), weather (tình trạng thời tuyết), season (cĩ phải mùa cao điểm hay khơng), và physical condition (điều kiện cơ thể)
snow weather season physical condition go skiing
sticky foggy low rested no
fresh sunny low injured no
fresh sunny low rested yes
fresh sunny high rested yes
fresh sunny mid rested yes
frosted windy high tired no
sticky sunny low rested yes
frosted foggy mid rested no
fresh windy low rested yes
fresh windy low rested yes
fresh foggy low rested yes
Trang 2sticky sunny mid rested yes
frosted foggy low injured no
a Xây dựng cây quyết định dựa vào dữ liệu trong bảng trên bằng cách tính độ hỗn loạn trung bình cho từng nút cĩ thể cĩ Trình bày vào báo cáo tất cả các bước tính tốn và cây quyết định kết quả
Gợi ý: Nhắc lại cơng thức tính entropy và average entropy
- Entropy = – p.log2p – (1 – p).log2(1 – p) với p là tỉ lệ các mẫu dương trong tập huấn luyện
- Average Entropy =
b Áp dụng phương pháp học xác suất Nạve Bayes vào bảng dữ liệu trên, với mỗi thuộc tính, hãy thống kê các chỉ số sau và trình bày vào bảng
- Số lượng mẫu chứa thuộc tính ứng với từng phân lớp
- Xác suất của các giá trị thuộc tính ứng với từng phân lớp
- Các giá trị xác suất đã được làm trơn Laplace
Gợi ý: cơng thức tính xác suất điều kiện trong trường hợp cĩ hai phân lớp:
) ( )
| ( ) ( )
| (
) ( )
| ( )
| (
2 2 1
1
1 1 1
C P C X P C P C X P
C P C X P X
C P
+
=
với C1, C2 là hai phân lớp, và X là tập các sự kiện được cung cấp
Ví dụ: xét một bảng dữ liệu đơn giản như sau
snow weather go skiing fresh foggy no sticky windy no sticky sunny yes
∑
∈Value ( A)
v
Av
v H p
Trang 3Weather yes no
foggy 1 1 sunny 1 1 windy 1 1
yes no foggy 1/3 1/3 sunny 1/3 1/3 windy 1/3 1/3
yes no foggy 2/6 2/6 sunny 2/6 2/6 windy 2/6 2/6
3 3 yes no 3/6 3/6 yes no 4/8 4/8 Với một mẫu mới “snow = fresh and weather = sunny”, thử xác định xem xác suất khơng đi trượt tuyết là bao nhiêu?
- P(C1) = P(go skiing = no) = 4/8
- P(C2) = P(go skiing = yes) = 4/8
- P(X|C1) = P(snow = fresh and weather = sunny | go skiing = no)
= 2/6*2/6 = 1/9
- P(X|C2) = P(snow = fresh and weather = sunny | go skiing = yes)
= 3/6*2/6 = 1/6 Vậy xác suất khơng đi trượt tuyết là
% 40 5
2 8 / 4
* 6 / 1 8 / 4
* 9 / 1
8 / 4
* 9 / 1 )
( )
| ( ) ( )
| (
) ( )
| ( )
|
(
2 2 1
1
1 1
+
= +
=
C P C X P C P C X P
C P C X P X
C
P
c Hãy quyết định xem một sự kiện cĩ các giá trị thuộc tính như bảng bên dưới thì
cĩ đi trượt tuyết hay khơng, dựa vào bộ phân lớp Cây quyết định và Nạve Bayes Trình bày chi tiết từng bước suy luận (ví dụ căn cứ vào nút nào trên cây quyết định hoặc tính xác suất như thế nào trong Nạve Bayes)
snow weather season physical condition go skiing
sticky windy high tired ?
d Thực hiện tương tự câu c nhưng lưu ý lúc này mẫu cĩ giá trị thiếu
snow weather season physical condition go skiing
- windy mid injured ?
Trang 4Phần II – Thực hành với Weka (4 điểm)
Cơng cụ sử dụng trong bài tập này gọi là WEKA, một phần mềm được xây dựng dựa trên ngơn ngữ Java Cơng cụ này rất trực quan và dễ sử dụng Hãy tải phần mềm (nên dùng phiên bản GUI) từ trang web www.cs.waikato.ac.nz/ml/weka/index.html và cài đặt theo như hướng dẫn Để thực hiện bài tập này, sinh viên chỉ cần nắm cách sử dụng WEKA Explorer (xem hướng dẫn sử dụng Explorer trong thư mục cài đặt và trên website của WEKA)
Hãy tạo tập tin ARFF từ bảng dữ liệu về trượt tuyết trong phần I để sử dụng trong chương trình WEKA
a Hãy sử dụng tập dữ liệu vừa được tạo để thực nghiệm hai thuật tốn Cây quyết định và Nạve Bayes bằng WEKA
- Thực nghiệm cây quyết định: chọn thuật tốn ID3, vẽ lại cây quyết định
- Thực nghiệm Nạve Bayes: chọn thuật tốn NaiveBayesSimple, ghi nhận lại các giá trị xác suất mà WEKA tính được
- Các bộ phân lớp do WEKA xây dựng cĩ giống với kết quả tính được từ
lí thuyết khơng? Nếu khơng thì tại sao?
- Trong cả hai trường hợp thực nghiệm, bằng cách chọn kiểu test là Cross-validation với số fold mặc định là 10, hãy cho biết: tỉ lệ chính xác của
bộ phân lớp, số mẫu phân lớp đúng/sai/khơng phân lớp được, diễn giải lại phân bố dữ liệu theo thơng tin từ Confusion matrix
b Hãy phân lớp cho hai mẫu mới trong câu c và d của Phần I bằng hai phương pháp: Cây quyết định và Nạve Bayes Kết quả do WEKA dự đốn cĩ giống như kết quả tính tốn theo lí thuyết khơng? Nếu khơng thì tại sao? Với phương pháp ID3 bạn
cĩ dự đốn được mẫu mới khơng? Tại sao, hãy đề xuất cách giải quyết nếu cĩ
Trang 5THỜI HẠN VÀ YÊU CẦU NỘP BÀI
Thời gian: 2 tuần (02/12/2008 – 15/12/2008)
Quy định nộp: Nộp bài qua Moodle theo thời hạn đã chỉ định, cấu trúc bài nộp
như sau:
¾ Document: trình bày nội dung trả lời cho các câu hỏi trong đề bài