(Luận văn thạc sĩ) Nghiên cứu một số phương pháp học máy có giám sát và ứng dụng trong hỗ trợ chẩn đoán bệnh ung thư vú (Breast Cancer)(Luận văn thạc sĩ) Nghiên cứu một số phương pháp học máy có giám sát và ứng dụng trong hỗ trợ chẩn đoán bệnh ung thư vú (Breast Cancer)(Luận văn thạc sĩ) Nghiên cứu một số phương pháp học máy có giám sát và ứng dụng trong hỗ trợ chẩn đoán bệnh ung thư vú (Breast Cancer)(Luận văn thạc sĩ) Nghiên cứu một số phương pháp học máy có giám sát và ứng dụng trong hỗ trợ chẩn đoán bệnh ung thư vú (Breast Cancer)(Luận văn thạc sĩ) Nghiên cứu một số phương pháp học máy có giám sát và ứng dụng trong hỗ trợ chẩn đoán bệnh ung thư vú (Breast Cancer)(Luận văn thạc sĩ) Nghiên cứu một số phương pháp học máy có giám sát và ứng dụng trong hỗ trợ chẩn đoán bệnh ung thư vú (Breast Cancer)(Luận văn thạc sĩ) Nghiên cứu một số phương pháp học máy có giám sát và ứng dụng trong hỗ trợ chẩn đoán bệnh ung thư vú (Breast Cancer)(Luận văn thạc sĩ) Nghiên cứu một số phương pháp học máy có giám sát và ứng dụng trong hỗ trợ chẩn đoán bệnh ung thư vú (Breast Cancer)(Luận văn thạc sĩ) Nghiên cứu một số phương pháp học máy có giám sát và ứng dụng trong hỗ trợ chẩn đoán bệnh ung thư vú (Breast Cancer)(Luận văn thạc sĩ) Nghiên cứu một số phương pháp học máy có giám sát và ứng dụng trong hỗ trợ chẩn đoán bệnh ung thư vú (Breast Cancer)(Luận văn thạc sĩ) Nghiên cứu một số phương pháp học máy có giám sát và ứng dụng trong hỗ trợ chẩn đoán bệnh ung thư vú (Breast Cancer)(Luận văn thạc sĩ) Nghiên cứu một số phương pháp học máy có giám sát và ứng dụng trong hỗ trợ chẩn đoán bệnh ung thư vú (Breast Cancer)(Luận văn thạc sĩ) Nghiên cứu một số phương pháp học máy có giám sát và ứng dụng trong hỗ trợ chẩn đoán bệnh ung thư vú (Breast Cancer)(Luận văn thạc sĩ) Nghiên cứu một số phương pháp học máy có giám sát và ứng dụng trong hỗ trợ chẩn đoán bệnh ung thư vú (Breast Cancer)(Luận văn thạc sĩ) Nghiên cứu một số phương pháp học máy có giám sát và ứng dụng trong hỗ trợ chẩn đoán bệnh ung thư vú (Breast Cancer)(Luận văn thạc sĩ) Nghiên cứu một số phương pháp học máy có giám sát và ứng dụng trong hỗ trợ chẩn đoán bệnh ung thư vú (Breast Cancer)(Luận văn thạc sĩ) Nghiên cứu một số phương pháp học máy có giám sát và ứng dụng trong hỗ trợ chẩn đoán bệnh ung thư vú (Breast Cancer)(Luận văn thạc sĩ) Nghiên cứu một số phương pháp học máy có giám sát và ứng dụng trong hỗ trợ chẩn đoán bệnh ung thư vú (Breast Cancer)(Luận văn thạc sĩ) Nghiên cứu một số phương pháp học máy có giám sát và ứng dụng trong hỗ trợ chẩn đoán bệnh ung thư vú (Breast Cancer)(Luận văn thạc sĩ) Nghiên cứu một số phương pháp học máy có giám sát và ứng dụng trong hỗ trợ chẩn đoán bệnh ung thư vú (Breast Cancer)(Luận văn thạc sĩ) Nghiên cứu một số phương pháp học máy có giám sát và ứng dụng trong hỗ trợ chẩn đoán bệnh ung thư vú (Breast Cancer)(Luận văn thạc sĩ) Nghiên cứu một số phương pháp học máy có giám sát và ứng dụng trong hỗ trợ chẩn đoán bệnh ung thư vú (Breast Cancer)
Trang 1NGHIÊN CỨU MỘT SỐ PHƯƠNG PHÁP HỌC MÁY CÓ GIÁM SÁT VÀ ỨNG DỤNG TRONG HỖ TRỢ CHẨN ĐOÁN BỆNH UNG THƯ VÚ (BREAST
Trang 2LỜI CẢM ƠN
Sau một thời gian tiến hành triển khai nghiên cứu, em cũng đã hoàn thành nội dung luận văn “ Nghiên cứu một số phương pháp học máy có giám sát và ứng dụng trong hỗ trợ chẩn đoán bệnh bệnh ung thư vú” Luận văn được hoàn thành không chỉ là công sức của bản thân tác giả mà còn có sự giúp đỡ, hỗ trợ tích cực của nhiều cá nhân
Em xin gửi lời cảm ơn tới các thầy cô Trường Đại học Công nghệ thông tin và Truyền thông - Đại học Thái Nguyên, những người đã tận tình giúp đỡ, hướng dẫn trong quá trình em học tập tại trường
Em cũng xin gửi lời cảm ơn chân thành đến gia đình, bạn bè, các anh/chị cùng lớp cao học K18A vì đã luôn động viên, quan tâm giúp đỡ em trong quá trình học tập
và thực hiện luận văn
Em xin trân trọng cảm ơn !
Thái Nguyên, tháng 11 năm 2021
Học viên thực hiện
Douangboudy Noysinakhone
Trang 3Tên đề tài luận văn: “Nghiên cứu một số phương pháp học máy có giám sát và ứng dụng trong hỗ trợ chẩn đoán bệnh bệnh ung thư vú “
Em xin cam đoan luận văn “Nghiên cứu một số phương pháp học máy có giám sát và ứng dụng trong hỗ trợ chẩn đoán bệnh bệnh ung thư vú” này là công trình nghiên cứu của cá nhân của em trong thời gian qua Mọi số liệu sử dụng phân tích trong luận văn và kết quả nghiên cứu là do em tự tìm hiểu, phân tích một cách khách quan, trung thực, có nguồn gốc rõ ràng và chưa được công bố dưới bất kỳ hình thức nào Em xin chịu hoàn toàn trách nhiệm nếu có sự không trung thực của các thông tin sử dụng trong công trình nghiên cứu này
Thái Nguyên, tháng 11 năm 2021
Học viên thực hiện
Douangboudy Noysinakhone
Trang 4MỤC LỤC
LỜI CẢM ƠN i
LỜI CAM ĐOAN iii
MỤC LỤC iv
DANH SÁCH BẢNG vii
DANH SÁCH HÌNH VẼ ix
DANH SÁCH CÁC TÙ VIẾT TẮT xi
MỞ ĐẦU 1
CHƯƠNG I TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU VÀ PHÁT HIỆN TRI THỨC 3 1.1 Giới thiệu tổng quan 3
1.1.1 Khái niệm khai phá dữ liệu 3
1.1.2 Một số ứng dụng của khai phá dữ liệu 4
1.1.3 Quá trình phát hiện tri thức và khai phá dữ liệu 4
1.1.4 Các bước của quá trình KPDL 5
1.2 Một số kỹ thuật khai phá dữ liệu cơ bản 6
1.2.1 Khai phá dữ liệu dự đoán 6
1.2.2 Khai phá dữ liệu mô tả 6
1.3 Tổng quan các phương pháp học máy cơ bản 7
1.3.1 Học có giám sát (supervised learning) 7
1.3.2 Học bán giám sát (Semi-supervised learning) 9
1.3.3 Học không có giám sát (Unsupervised learning) 9
1.3.4 Học tăng cường (Reinforcement learning) 9
1.4 Tổng kết Chương 10
CHƯƠNG II MỘT SỐ PHƯƠNG PHÁP HỌC MÁY CÓ GIÁM SÁT 11
2.1 Tổng quan về học máy có giám sát 11
2.1.1 Phân loại 12
2.1.2 Hồi quy 12
2.2 Phương pháp cây quyết định (decision tree) 12
2.2.1 Giới thiệu chung 12
2.2.2 Các kiểu cây quyết định 12
Trang 52.4.1 Định nghĩa 21
2.4.2 Mô hình phân lớp với Random Forest 23
2.4.3 Ứng dụng thuật toán Random Forest 23
2.5 Phương pháp máy hỗ trợ vector (support vector machine) 23
2.5.1 Tổng quan về Máy vectơ hỗ trợ 23
2.5.2 Nhận dạng mẫu và phân lớp siêu phẳng 24
2.5.3 Siêu phẳng tối ưu 25
2.5.4 Phân lớp lề mềm 28
2.6 Tổng kết Chương 2 29
CHƯƠNG III ỨNG DỤNG MỘT SỐ PHƯƠNG PHÁP HỌC MÁY CÓ GIÁM SÁT TRONG HỖ TRỢ CHẨN ĐOÁN BỆNH UNG THƯ VÚ 30
3.1 Tổng quan bài toán học có giám sát, hỗ trợ chẩn đoán bệnh ung thư vú 30
3.1.1 Học có giám sát và ứng dụng hỗ trợ chẩn đoán bệnh ung thư vú 31
3.1.2 Giới thiệu về ung thư vú 33
3.1.3 Công việc liên quan 34
3.1.4 Thu thập, tiền xử lý và mã hóa dữ liệu 35
3.1.5 Mô tả sơ lược về dữ liệu 36
3.2 Giới thiệu về công cụ Weka, cấu hình và ứng dụng trong hỗ trợ chẩn đoán bệnh ung thư vú 37
3.2.1 Khái niệm của công cụ Weka 37
3.2.2 Ưu điểm của Weka 38
3.2.3 Kiến trúc thư viện Weka 39
3.2.4 Các môi trường chính 40
3.2.5 Định dạng dữ liệu của Weka 40
3.2.6 Các bước chức năng phân lớp (Classify) 41
Trang 63.2.7 Mơ tả chức năng phân lớp (Classify) 45
3.3 Phân tích, đánh giá kết quả thực nghiệm 46
3.3.1 Thực nghiệm 47
3.3.2 Thực hiện phân lớp bằng thuật tốn Nạve Bayes 48
3.3.3 Thực hiện phân lớp bằng thuật tốn K-Nerrest neighbor 50
3.3.4 Thực hiện phân lớp bằng thuật tốn Support Vector Machines 53
3.3.5 Thực hiện phân lớp bằng thuật tốn Decision tree (J48) 55
3.4 Đánh giá mơ hình phân lớp dữ liệu Breast cancer 58
3.4.1 Đánh giá mơ hình bằng phương pháp Hold-out 58
3.4.2 Đánh giá mơ hình bằng phương pháp k-fold Cross validation 59
3.5 Kết luận thực nghiệm phân lớp dữ liệu Breast cancer 59
3.6 Thảo luận 63
3.7 Tổng kết Chương 3 64
KẾT LUẬN 65
TÀI LIỆU THAM KHẢO 66
Trang 7Bảng 3.3 : Dữ liệu về ung thư vú Wisconsin 48
Bảng 3.4: Độ chính xác của thuật tốn Nạve Bayes (kịch bản 1) 48
Bảng 3.5: Tĩm tắt cho Nạve Bayes (Kịch bản 1) 49
Bảng 3.6: Các thước đo độ chính xác của thuật tốn Nạve Bayes (kịch bản 1) 49
Bảng 3.7: Ma trận nhầm lẫn (kịch bản 1) 49
Bảng 3.8: Độ chính xác của thuật tốn Nạve Bayes (kịch bản 2) 49
Bảng 3.9: Tĩm tắt cho Nạve Bayes (Kịch bản 2) 50
Bảng 3.10: Các thước đo độ chính xác của thuật tốn Nạve Bayes (kịch bản 2) 50
Bảng 3.11: Ma trận nhầm lẫn của NB (kịch bản 2) 50
Bảng 3.12: Độ chính xác của thuật tốn k-NN (kịch bản 1) 51
Bảng 3.13: Tĩm tắt cho k-NN (kịch bản 1) 51
Bảng 3.14: Các thước đo độ chính xác của thuật tốn k-NN (kịch bản 1) 51
Bảng 3.15: Ma trận nhầm lẫn của k-NN (kịch bản 1) 52
Bảng 3.16: Độ chính xác của thuật tốn k-NN (kịch bản 2) 52
Bảng 3.17: Tĩm tắt cho k-NN (kịch bản 2) 52
Bảng 3.18: Các thước đo độ chính xác của thuật tốn k-NN (kịch bản 2) 52
Bảng 3.19: Ma trận nhầm lẫn của (kịch bản 2) 53
Bảng 3.20: Độ chính xác của thuật tốn SVM (kịch bản 1) 53
Bảng 3.21: Tĩm tắt cho SVM (kịch bản 1) 53
Bảng 3.22: Các thước đo độ chính xác của thuật tốn SVM (kịch bản 1) 54
Bảng 3.23: Ma trận nhầm lẫn của (kịch bản 1) 54
Bảng 3.24: Độ chính xác của thuật tốn SVM (kịch bản 2) 54
Bảng 3.25: Tĩm tắt cho SVM (kịch bản 2) 54
Bảng 3.26: Các thước đo độ chính xác của thuật tốn SVM (kịch bản 2) 55
Bảng 3.27: Ma trận nhầm lẫn của (kịch bản 2) 55
Trang 8Bảng 3.28: Độ chính xác của thuật toán J48 (kịch bản 1) 55
Bảng 3.29: Tóm tắt cho J48 (kịch bản 1) 55
Bảng 3.30: Các thước đo độ chính xác của thuật toán J48 (kịch bản 1) 55
Bảng 3.31: Ma trận nhầm lẫn của (kịch bản 1) 56
Bảng 3.32: Độ chính xác của thuật toán J48 (kịch bản 2) 56
Bảng 3.33: Tóm tắt cho J48 (kịch bản 2) 56
Bảng 3.34: Các thước đo độ chính xác của thuật toán J48 (kịch bản 2) 57
Bảng 3.35: Ma trận nhầm lẫn của (kịch bản 2) 57
Bảng 3.36: Hiệu năng của mô hình dự đoán, đánh giá bởi kiểm tra 80% 58
Bảng 3.37: Hiệu năng của mô hình dự đoán, đánh giá bởi kiểm tra chéo mặt (10-fold cross-validation) 59
Bảng 3.38: Hiệu suất của bộ phân loại 60
Bảng 3.39: Huấn luyện và lỗi mô phỏng 61
Bảng 3.40: So sánh các phép đo độ chính xác cho J48, SVM, NB và k-NN 61
Bảng 3.41 : Ma trận nhầm lẫn của 4 thuật toán 62
Trang 9Hình 1.5 : Thuật toán phân cụm 7
Hình 1.6 : Thuật toán học quy tắc kết hợp 7
Hình 1.7 : Thuật toán học có giám sát 8
Hình 1.8: Ảnh minh hoạ cho tập dữ liệu chữ số viết tay – MNIST 8
Hình 1.9: Thuật toán học không giám sát 9
Hình 1.10: Minh hoạ cho học tăng cường được áp dụng trong lý thuyết trò chơi 10
Hinh 2.1: Mô hình học có giám sát 11
Hình 2.2: Cây quyết định sau khi chọn nút gốc 16
Hình 2.3: Cây quyết định sau khi chọn nút cho nhánh trái cùng 17
Hình 2.4: Cây quyết định hoàn chỉnh 17
Hình 2.5: Định lý Bayes 18
Hình 2.6 : Mô hình Rừng ngẫu nhiên 22
Hình 2.7: Mô hình phân lớp với Random Forest 23
Hình 2.8 : Ví dụ siêu phẳng với lề cực đại trong không gian R2 24
Hình 2.9 : Một sự phân chia siêu phẳng (w, b) cho một tập dữ liệu huấn luyện hai chiều [4] 25
Hình 2.10: Cực đại lề siêu phẳng với các vector hỗ trợ [4] 25
Hình 2.11: Đồ thị biểu diễn giá trị α [4] 27
Hình 2.12: Phân lớp lề mềm [4] 28
Hình 3.1: Học có giám sát 30
Hình 3.2 : Ánh mịnh hoạ (1) 31
Hình 3.3: Ảnh minh hoạ (2) 32
Hình 3.4: Sơ đồ phương pháp phân lớp bệnh ung thư vú (Breast cancer) 36
Hình 3.5: Load breast cancer data 37
Hình 3.6: Giao diên ban đầu phần mền WEKA 38
Hình 3.7: Biểu diễn đọc dữ liệu vào chương trình Weka 41
Trang 10Hình 3.8: Biểu diễn chọn tap Classify để phân loại 42
Hình 3.9 : Biểu diễn chọn thuật toán phân loại và xác định tham số 42
Hình 3.10: Biểu diễn chọn kiểu test 43
Hình 3.11: Chạy thuật toán phân loại 43
Hình 3.12: Bảng lưu thông tin 44
Hình 3.13: Bảng kết quả sau chạy thuật toán phân loại 44
Hình 3.14 : Giải thích Running Information 45
Hình 3.15: Giải thích Classifier model (full training set) 45
Hình 3.16 : Giải thích xem xét tổng kết số liệu thống kê tập dữ liệu 46
Hình 3.17: Độ chính xác chi tiết cho từng phân lớp 46
Hình 3.18: Confusion matrix của bộ phân loại dữ liệu BreastCancer 46
Hình 3.19: Sơ đồ tổng thể mô hình phân lớp dự đoán bệnh ung thư (breast cancer) 47
Hình 3.20: Mô hình cây quyết định hiển thị bởi Hold-out J48 58
Hình 3.21 : Cây quyết định Visualization 58
Hình 3.22 :Biểu đồ so sánh của các bộ phân loại khác nhau 60
Hình 3.23: Sơ đồ so sánh các thuật toán học máy liên quan đến các tiêu chí đánh giá: KS, MAE, RMSE, RAE và RRSE 61
Hình 3.24 : Biểu đồ so sánh Ma trận nhầm lẫn 62
Trang 114 KDD Knowledge Discovery in
Database
Phát hiện tri thức trong CSDL
6 SVM Support Vector Machines Máy hỗ trợ vector
8 CNTT Information Technology Công nghệ thông tin
Language
Ngôn ngữ truy vấn có cấu trúc
11 ARFF Attribute-Relation File
Format
Định dạng tập tin thuộc tính quan hệ
12 SLIQ Supervised Learning In
Quest
Học có giám sát trong nhiệm vụ
13 CLS Concept Learning System Hệ thống học khái niệm
Trang 12MỞ ĐẦU
Trong những năm gần đây, việc ứng dụng công nghệ thông tin, đặc biệt là trí tuệ nhân tạo, trong hầu hết cách lĩnh vực của đời sống đang được quan tâm và mang lại hiệu quả rõ rệt Việc khai thác, tìm kiếm những thông tin, tri thức hữu ích từ những kho dữ liệu đã thu thập, lưu trữ trước đó để hỗ trợ cho việc ra quyết định của tương lai đang là
xu thế của thời đại Với sự tiến bộ không ngừng của khoa học kỹ thuật hiện nay, chất lượng đời sống của con người đã được cải thiện đáng kể, con người ngày càng quan tâm hơn đến vấn đề chăm sóc sức khỏe
Lĩnh vực y tế và chăm sóc sức khỏe vì vậy đang là một trong những vấn đề được Việt Nam và các nước trên thế giới coi là quốc sách hàng đầu cần được quan tâm đặc biệt Trên thế giới, lĩnh vực y tế và chăm sóc sức khỏe đã đạt được những thành tựu đột phá nhờ ứng dụng trí tuệ nhân tạo, học máy trong chẩn đoán và điều trị Có thể kể ra một số ví dụ điển hình như: các nhà khoa học máy tính tại Standford đã tạo ra một thuật toán dựa trên trí thông minh nhân tạo để chẩn đoán bệnh ung thư da thông qua một chiếc máy soi da Sức mạnh công nghệ cùng với trí tuệ nhân tạo đã mang lại những bước tiến lớn trong chẩn đoán và điều trị từ xa…
Ung thư vú là một trong những căn bệnh phổ biến của nữ giới, đang là một trong những vấn đề nhức nhối cần được quan tâm Chính vì vậy, vấn đề nghiên cứu ứng dụng các thuật toán học máy, từ đó xây dựng các mô hình có khả năng hỗ trợ chẩn đoán bệnh ung thư vú với độ chính xác cao, cùng với đó là chi phí ít nhất, thời gian nhanh nhất là một trong những vấn đề cấp thiết cần được quan tâm hiện nay Vì vậy, trong luận văn này, tác giả sẽ đề cập một số phương pháp học máy có giám sát và ứng dụng trong hỗ trợ chẩn đoán bệnh ung thư vú (breast cancer)
Ngoài phần mở đầu, kết luận và tài liệu tham khảo, nội dung chính của Luận văn này được bố cục và trình bày chi tiết trong 3 chương như sau:
Chương 1 Tổng quan về khai phá dữ liệu và phát hiện tri thức
Chương này giới thiệu tổng quát về quá trình phát hiện tri thức nói chung và khai phá dữ liệu nói riêng Đặc biệt nhấn mạnh về một số kỹ thuật chính được nghiên cứu trong luận văn đó là phương pháp học máy có giám sát và ứng dụng trong hỗ trợ chẩn đoán bệnh ung thư vú, một số kỹ thuật phân lớp, phân cụm
Trang 13Chương này giới thiệu và trình bày bài toán học có giám sát, hỗ trợ chẩn đoán bệnh ung thư vú Tiếp đó, giới thiệu và trình bày công cụ weka, một số thuật toán học
có giám sát, ứng dụng trong hỗ trợ chẩn đoán bệnh ung thư vú Một số kết quả thực nghiệm cũng được phân tích chi tiết trong Chương này
Trang 14CHƯƠNG I TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU VÀ PHÁT HIỆN TRI THỨC 1.1 Giới thiệu tổng quan
Trong thời đại hiện nay, với sự phát triển vượt vật của công nghệ thông tin, các
hệ thống thông tin có thể lưu trữ một khối lượng lớn dữ liệu về hoạt động hàng ngày của chúng Không có một lĩnh vực nào lại không cần đến sự hỗ trợ của công nghệ thông tin
và sự thành công của các lĩnh vực đó phụ thuộc rất nhiều vào việc nắm bắt thông tin một cách nhạy bén, nhanh chóng và hữu ích Với nhu cầu như thế nếu chỉ sử dụng thao tác thủ công truyền thống thì độ chính xác không cao và mất rất nhiều thời gian Từ khối
dữ liệu này, các kỹ thuật trong Khai Phá Dữ Liệu (KPDL) và Máy Học (MH) có thể dùng để trích xuất những thông tin hữu ích mà chúng ta chưa biết Các tri thức vừa học được có thể vận dụng để cải thiện hiệu quả hoạt động của hệ thống thông tin ban đầu
Do vậy việc khai phá tri thức từ dữ liệu trong các tập tài liệu lớn chứa đựng thông tin phục vụ nhu cầu nắm bắt thông tin có vai trò hết sức to lớn Từ đó, các kỹ thuật khai phá dữ liệu đã trở thành một lĩnh vực thời sự của nền CNTT thế giới hiện nay
1.1.1 Khái niệm khai phá dữ liệu
Khai phá dữ liệu (data mining) Là quá trình tính toán để tìm ra các mẫu trong
các bộ dữ liệu lớn liên quan đến các phương pháp tại giao điểm của máy học, thống kê
và các hệ thống cơ sở dữ liệu
Định nghĩa: Khai phá dữ liệu là một tập hợp các kỹ thuật được sử dụng để tự động khai thác và tìm ra các mối quan hệ lẫn nhau của dữ liệu trong một tập hợp dữ liệu khổng lồ và phức tạp, đồng thời cũng tìm ra các mẫu tiềm ẩn trong tập dữ liệu đó Khai phá dữ liệu là một bước trong bảy bước của quá trình KDD (Knowledge Discovery in Database) và KDD được xem như 7 quá trình khác nhau theo thứ tự sau:
1 Làm sạch dữ liệu (data cleaning & preprocessing)s: Loại bỏ nhiễu và các dữ liệu không cần thiết
2 Tích hợp dữ liệu: (data integration): quá trình hợp nhất dữ liệu thành những kho dữ liệu (data warehouses & data marts) sau khi đã làm sạch và tiền xử lý (data cleaning & preprocessing)
3 Trích chọn dữ liệu (data selection): trích chọn dữ liệu từ những kho dữ liệu và sau đó chuyển đổi về dạng thích hợp cho quá trình khai thác tri thức Quá trình này bao
Trang 15được thông qua các độ đo nào đó
7 Biểu diễn tri thức (knowledge presentation): Quá trình này sử dụng các kỹ thuật để biểu diễn và thể hiện trực quan cho người dùng
1.1.2 Một số ứng dụng của khai phá dữ liệu
Data Mining tuy là một hướng tiếp cận mới nhưng thu hút được rất nhiều sự quan tâm của các nhà nghiên cứu và phát triển nhờ vào những ứng dụng thực tiễn của nó Chúng ta có thể liệt kết ra đây một số ứng dụng điển hình:
• Phân tích dữ liệu và hỗ trợ ra quyết định (data analysis & decision support)
• Điều trị y học (medical treatment)
• Khai phá văn bản và khai phá web (Text mining & Web mining)
• Tin-sinh (Bioinformatics)
• Tài chính và thị trường chứng khoán (finance & stock market)
• Bảo hiểm (insurance)
• Nhận dạng (pattern recognition)
1.1.3 Quá trình phát hiện tri thức và khai phá dữ liệu
Một vấn đề rất quan trọng để dẫn đến thành công là việc biết sử dụng thông tin một cách có hiệu quả
Hình 1.1 : Quá trình phát hiện tri thức
Trang 16Trước khi đi vào tìm hiểu các giai đoạn trong KDD em đưa ra một số ví dụ để phân biệt ba khái niệm: dữ liệu, thông tin và tri thức
Hình 1.2: Mối quan hệ giữa thông tin, dữ liệu và tri thức
1.1.4 Các bước của quá trình KPDL
Các giải thuật KPDL thường được mô tả như những chương trình hoạt động trực tiếp trên tệp dữ liệu Với các phương pháp học máy và thống kê trước đây, thường thì bước đầu tiên là các giải thuật nạp toàn bộ tệp dữ liệu vào trong bộ nhớ Khi chuyển sang các ứng dụng công nghiệp liên quan đến việc khai phá các kho dữ liệu lớn, mô hình này không thể đáp ứng được Không chỉ bởi vì nó không thể nạp hết dữ liệu vào trong
bộ nhớ mà còn vì khó có thể chiết xuất dữ liệu ra các tệp đơn giản để phân tích được
Hình 1.3 : Quá trình KPDL
Trang 17❖ Phân lớp (Classification)
Một bài toán được gọi là phân lớp nếu các nhãn của dữ liệu đầu vào được chia thành một số hữu hạn lớp (miền giá trị là rời rạc) Chẳng hạn như tính năng xác định xem một email có phải là spam hay không của Gmail; xác định xem hình ảnh của con vật là chó hay mèo
❖ Hồi quy (Regression)
Hồi quy là quá trình tìm mối quan hệ phụ thuộc của một biến (được gọi là biến phụ thuộc hay biến được giải thích, biến được dự báo, biến được hồi quy, biến phản ứng, biến nội sinh) vào một hoặc nhiều biến khác (được gọi là biến độc lập, biến giải thích, biến dự báo, biến hồi quy, biến tác nhân hay biến kiểm soát, biến ngoại sinh) nhằm mục đích ước lượng hoặc tiên đoán giá trị kỳ vọng của biến phụ thuộc khi biết trước giá trị của biến độc lập
Hình 1.4 : Thuật toán hồi quy
1.2.2 Khai phá dữ liệu mô tả
Kỹ thuật này có nhiệm vụ mô tả về các tính chất hoặc các đặc tính chung của dữ liệu trong CSDL hiện có bao gồm các kỹ thuật: Phân cụm (clustering) và khai phá luật kết hợp (asociation rules)
Trang 18❖ Phân cụm
Một bài toán phân cụm / phân nhóm toàn bộ dữ liệu X thành các nhóm/cụm nhỏ dựa trên sự liên quan giữa các dữ liệu trong mỗi nhóm Chẳng hạn như phân nhóm khách hàng dựa vào độ tuổi, giới tính
Hình 1.5 : Thuật toán phân cụm
Tất cả các phương pháp đều sử dụng các cấu trúc vốn có trong dữ liệu để tổ chức tốt nhất dữ liệu thành các nhóm có mức độ phổ biến tối đa dựa vào trọng tâm (centroid)
và thứ bậc (hierarchal) như thể hiện ở Hình 1.5
❖ Luật kết hợp
Là bài toán mà khi em muốn khám phá ra một quy luật dựa trên nhiều dữ liệu cho trước Ví dụ như những khách hàng mua mặt hàng này sẽ mua thêm mặt hàng kia; hoặc khán giả xem phim này sẽ có xu hướng thích xem phim kia, dựa vào đó em có thể xây dựng những hệ thống gợi ý khách hàng (Recommendation System) nhằm thúc đẩy nhu cầu mua sắm hoặc xem phim…
Hình 1.6 : Thuật toán học quy tắc kết hợp
1.3 Tổng quan các phương pháp học máy cơ bản
1.3.1 Học có giám sát (supervised learning)
Học có giám sát là thuật toán dự đoán nhãn (label)/đầu ra (output) của một dữ liệu mới dựa trên tập dữ liệu huấn luyện mà trong đó mỗi mẫu dữ liệu đều đã được gán nhãn
Trang 19Hình 1.7 : Thuật toán học có giám sát
Một cách toán học, học có giám sát là khi em có một tập hợp biến đầu vào $ X={x_1,x_2,…,x_N} $ và một tập hợp nhãn tương ứng $ Y={y_1,y_2,…,y_N} $, trong
đó $ x_i$, $y_i $ là các vector Các cặp dữ liệu biết trước $( x_i, y_i ) \in X \times Y
$ được gọi là tập dữ liệu huấn luyện (training data) Từ tập dữ liệu huấn luyện này, em cần tạo ra một hàm số ánh xạ mỗi phần tử từ tập X sang một phần tử (xấp xỉ) tương ứng của tập Y:
𝑦𝑖 ≈ 𝑓(𝑥𝑖), ∀𝑖 = 1,2, … , 𝑁 Mục đích là xấp xỉ hàm số $f$ thật tốt để khi có một dữ liệu x mới, em có thể tính được nhãn tương ứng của nó $y=f(x)$
Ví dụ: Trong nhận dạng chữ số viết tay, em có ảnh của hàng nghìn trường hợp ứng với mỗi chữ số được viết bởi nhiều người khác nhau Em đưa các bức ảnh này vào một thuật toán học và chỉ cho nó biết “mỗi bức ảnh tương ứng với chữ số nào” Sau khi thuật toán tạo ra một mô hình, tức là một hàm số nhận đầu vào là một bức ảnh và cho ra kết quả là một chữ số Khi nhận được một bức ảnh mới mà mô hình “chưa từng gặp qua” và nó sẽ dự đoán xem bức ảnh đó tương ứng với chữ số nào
Hình 1.8: Ảnh minh hoạ cho tập dữ liệu chữ số viết tay – MNIST
Đối với những ai sử dụng mạng xã hội Facebook thì khá quen thuộc với tính năng phát hiện khuôn mặt trong một bức ảnh, bản chất của thuật toán dò tìm các khuôn mặt
Trang 20này là một thuật toán học có giám sát với tập huấn luyện là vô số ảnh đã được gán nhãn
là mặt người hay không phải mặt người
1.3.2 Học bán giám sát (Semi-supervised learning)
Là bài toán mà khi tập dữ liệu đầu vào X là hỗn hợp các mẫu có nhãn và không
có nhãn, trong đó số lượng có nhãn chỉ chiếm một phần nhỏ như minh hoạ
Phần lớn các bài toán thực tế của ML thuộc nhóm này vì việc thu thập dữ liệu có nhãn tốn rất nhiều thời gian và có chi phí cao Rất nhiều loại dữ liệu thậm chí cần phải
có chuyên gia mới gán nhãn được, chẳng hạn như ảnh y học hoặc các cặp câu song ngữ Ngược lại, dữ liệu chưa có nhãn có thể được thu thập với chi phí thấp từ internet
1.3.3 Học không có giám sát (Unsupervised learning)
Trái với Supervised learning, học không giám sát là thuật toán dự đoán nhãn của một dữ liệu mới dựa trên tập dữ liệu huấn luyện mà trong đó tất cả các mẫu dữ liệu đều chưa được gán nhãn hay nói cách khác là em không biết câu trả lời chính xác cho mỗi
dữ liệu đầu vào như minh hoạ Điều này cũng giống như khi em học mà không có thầy cô,
sẽ không ai cho em biết đáp án đúng là gì
Hình 1.9: Thuật toán học không giám sát
Khi đó, mục tiêu của thuật toán unsupervised learning không phải là tìm đầu ra chính xác mà sẽ hướng tới việc tìm ra cấu trúc hoặc sự liên hệ trong dữ liệu để thực hiện một công việc nào đó, ví dụ như gom cụm (clustering) hoặc giảm số chiều của dữ liệu (dimension reduction) để thuận tiện trong việc lưu trữ và tính toán
Các bài toán Unsupervised learning tiếp tục được chia nhỏ thành hai loại là phân cụm (Clustering) và luật kết hợp (Association Rule)
1.3.4 Học tăng cường (Reinforcement learning)
Học tăng tường hay học củng cố là bài toán giúp cho một hệ thống tự động xác định hành vi dựa trên hoàn cảnh để đạt được lợi ích cao nhất Hiện tại, reinforcement learning chủ yếu được áp dụng vào Lý Thuyết Trò Chơi (Game Theory), các thuật toán cần xác định nước đi tiếp theo để đạt được điểm số cao nhất
Trang 21Hình 1.10: Minh hoạ cho học tăng cường được áp dụng trong lý thuyết trò chơi
Trang 22CHƯƠNG II MỘT SỐ PHƯƠNG PHÁP HỌC MÁY CÓ GIÁM SÁT 2.1 Tổng quan về học máy có giám sát
Học máy có giám sát, còn được gọi là học máy có giám sát, là một danh mục con của học máy và trí tuệ nhân tạo Nó được định nghĩa bằng cách sử dụng các tập dữ liệu được gắn nhãn để huấn luyện các thuật toán nhằm phân loại dữ liệu hoặc dự đoán kết quả một cách chính xác Khi dữ liệu đầu vào được đưa vào mô hình, nó sẽ điều chỉnh trọng số của nó cho đến khi mô hình được lắp một cách thích hợp, điều này xảy ra như một phần của quá trình xác nhận chéo Học tập có giám sát giúp các tổ chức giải quyết nhiều vấn đề trong thế giới thực trên quy mô lớn, chẳng hạn như phân loại thư rác trong một thư mục riêng biệt từ hộp thư đến của bạn
Học có giám sát sử dụng một tập hợp đào tạo để dạy các mô hình nhằm mang lại kết quả đầu ra mong muốn Bộ dữ liệu đào tạo này bao gồm đầu vào và đầu ra chính xác, cho phép mô hình học hỏi theo thời gian Thuật toán đo độ chính xác của nó thông qua hàm mất mát, điều chỉnh cho đến khi sai số được giảm thiểu đến mức tối thiểu
Học có giám sát (supervised learning) là một kỹ thuật của ngành học máy nhằm mục đích xây dựng một hàm f từ dữ tập dữ liệu huấn luyện (Training data) Dữ liệu huấn luyện bao gồm các cặp đối tượng đầu vào và đầu ra mong muốn Đầu ra của hàm f có thể là một giá trị liên tục hoặc có thể là dự đoán một nhãn phân lớp cho một đối tượng đầu vào
Hinh 2.1: Mô hình học có giám sát
Nhiệm vụ của chương trình học có giám sát là dự đoán giá trị của hàm f cho một đối tượng đầu vào hợp lệ bất kỳ, sau khi đã xét một số mẫu dữ liệu huấn luyện (nghĩa là các cặp đầu vào và đầu ra tương ứng) Để đạt được điều này, chương trình học phải tổng quát hóa từ các dữ liệu sẵn có để dự đoán được những tình huống chưa gặp phải theo một cách hợp lý
Học có giám sát có thể được tách thành hai loại vấn đề khi khai thác dữ liệu-phân loại và hồi quy:
Trang 23Hồi quy được sử dụng để hiểu mối quan hệ giữa các biến phụ thuộc và độc lập
Nó thường được sử dụng để lập dự báo, chẳng hạn như doanh thu bán hàng cho một doanh nghiệp nhất định Hồi quy tuyến tính, hồi quy logistical và hồi quy đa thức là các thuật toán hồi quy phổ biến
2.2 Phương pháp cây quyết định (decision tree)
2.2.1 Giới thiệu chung
Trong lĩnh vực học máy, cây quyết định là một kiểu mô hình dự báo (predictive model), nghĩa là một ánh xạ từ các quan sát về một sự vật/hiện tượng tới các kết luận về giá trị mục tiêu của sự vật/hiện tượng Mỗi một nút trong (internal node) tương ứng với một biến; đường nối giữa nó với nút con của nó thể hiện một giá trị cụ thể cho biến đó Mỗi nút lá đại diện cho giá trị dự đoán của biến mục tiêu, cho trước các giá trị của các biến được biểu diễn bởi đường đi từ nút gốc tới nút lá đó Kỹ thuật học máy dùng trong cây quyết định được gọi là học bằng cây quyết định, hay chỉ gọi với cái tên ngắn gọn là cây quyết định Học bằng cây quyết định cũng là một phương pháp thông dụng trong khai phá dữ liệu Khi đó, cây quyết định mô tả một cấu trúc cây, trong đó, các lá đại diện cho các phân loại còn cành đại diện cho các kết hợp của các thuộc tính dẫn tới phân loại đó Một cây quyết định có thể được học bằng cách chia tập hợp nguồn thành các tập con dựa theo một kiểm tra giá trị thuộc tính Quá trình này được lặp lại một cách đệ quy cho mỗi tập con dẫn xuất
Dữ liệu được cho dưới dạng các bản ghi có dạng:
( x,y ) (𝑥1 , 𝑥2 ,𝑥3 , ,𝑥𝑘 , y)
Biến phụ thuộc (dependant variable) y là biến mà em cần tìm hiểu, phân loại hay tổng quát hóa 𝑥1, 𝑥2, 𝑥3… là các biến sẽ giúp em thực hiện công việc đó
2.2.2 Các kiểu cây quyết định
Cây quyết định còn có hai tên khác:
Trang 24● Cây hồi quy (Regression tree): ước lượng các hàm giá có giá trị là số thực thay
vì được sử dụng cho các nhiệm vụ phân loại (ví dụ: ước tính giá một ngôi nhà hoặc khoảng thời gian một bệnh nhân nằm viện)
● Cây phân loại (Classification tree): nếu y là một biến phân loại như: giới tính (nam hay nữ), kết quả của một trận đấu (thắng hay thua)
2.2.3 Ưu điểm của cây quyết định
So với các phương pháp khai phá dữ liệu khác, cây quyết định là phương pháp
● Cây quyết định có thể xử lý cả dữ liệu có giá trị bằng số và dữ liệu có giá trị
là tên thể loại Các kỹ thuật khác thường chuyên để phân tích các bộ dữ liệu chỉ gồm một loại biến
2.2.4 Các thuật toán xây dựng của cây quyết định
● Thuật toán CLS
Thuật toán CLS được thiết kế theo chiến lược chia để trị từ trên xuống
● Thuật toán ID3
ID3 được xem như là một cải tiến của CLS với khả năng lựa chọn thuộc tính tốt nhất để tiếp tục triển khai cây tại mỗi bước ID3 xây dựng cây quyết định từ trên- xuống (top -down)
● Thuật toán C4.5
Thuật toán xét tất cả các phép thử có thể để phân chia tập dữ liệu đã cho và chọn
ra một phép thử có giá trị GainRatio tốt nhất GainRatio là một đại lượng để đánh giá
độ hiệu quả của thuộc tính dùng để thực hiện phép tách trong thuật toán để phát triển cây quyết định
● Thuật toán SLIQ[5]
Thuật toán SLIQ (Supervised Learning In Quest) được gọi là thuật toán phân lớp leo thang nhanh Thuật toán này có thể áp dụng cho cả hai kiểu thuộc liên tục và thuộc tính rời rạc
Trang 25Bảng 2.1 : xây dựng cây quyết định cho tập dữ liệu huấn luyện
Chọn nút gốc của cây quyết định:
Tập dữ liệu hiện tại có 9 kết quả Yes và 5 kết quả No, em kí hiệu là S: [9+,5−][9+,5−]
Theo công thức tính Entropy (độ hỗn tạp dữ liệu) của một tập:
Entropy(S)= − p⊕𝑙𝑜𝑔2p⊕ − p⊖𝑙𝑜𝑔2p⊖
Trong đó:
● P⊕ là tỷ lệ các mẫu thuộc lớp dương trong S
● P⊖ là tỷ lệ các mẫu thuộc lớp âm trong S
Tổng quát, nếu có c lớp trong tập S:
Entropy (S) = ∑𝑐𝑖=1−𝑃𝑖𝑙𝑜𝑔2𝑃𝑖
Trang 26● Entropy là 0 nếu tất cả các thành viên của S đều thuộc về cùng một lớp
● Entropy là 1 nếu tập hợp chứa số lượng bằng nhau các thành viên thuộc lớp
Tiếp theo tính Information Gain (độ lợi thông tin) của thuộc tính trên tập S
Thông số này phản ánh mức độ hiệu quả của một thuộc tính trong phân lớp Đó là sự rút giảm mong muốn của Entropy gây ra bởi sự phân hoạch các mẫu dữ liệu theo thuộc tính này Công thức tính IG của thuộc tính A trên tập S như sau:
Gain ( S , A ) = Entropy (s) ∑ 𝑆2
𝑆 𝐸𝑛𝑡𝑟𝑜𝑝𝑦(𝑆𝑉)𝑣∈𝑉𝑎𝑙𝑢𝑒(𝐴)
Trong đó:
● Value(A) là tập các giá trị có thể cho thuộc tính A
● Sv là tập con của S mà A nhận giá trị v
Lấy ví dụ với thuộc tính A = Outlook, ta có Value(A) = {Sunny, Overcast, Rain},
và S Sunny = [2+,3− ] như đã tính ở trên
Trang 27Hình 2.2: Cây quyết định sau khi chọn nút gốc
Xây dựng tiếp cây quyết định:
Sau khi chọn được nút gốc là Outlook, tiếp theo em tính tiếp các nút tại mỗi thuộc tính của nút vừa chọn Trong hình 2.2:
● Nhánh bên trái cùng ứng với Outlook = Sunny, có SSunny là [2+,3−], chưa phân lớp hoàn toàn nên vẫn phải tính toán chọn nút tại đây Tương tự cho nhánh phải cùng
● Nhánh ở giữa ứng với Outlook = Overcast, tập dữ liệu tại nhánh này đã hoàn toàn phân lớp dương với 4+ và 0- Tại đây đã có thể quyết định, khi Outlook = Overcast thì có thể đi chơi tennis
Bây giờ em sẽ thực hiện tính toán với nhánh trái cùng, trên tập SSunny = [2+,3−] Hoàn toàn tương tự như cách tìm nút gốc, em tính Information Gain cho 3 thuộc tính còn lại là Temp, Humidity và Wind (trên tập SSunny)
Gain(SSunny,Temp)=0.571Gain(SSunny,Temp)=0.571
Gain(SSunny,Wind)=0.019Gain(SSunny,Wind)=0.019
Nhận thấy thuộc tính Humidity có Information Gain cao nhất, chọn thuộc tính này làm nút cho nhánh trái cùng
Trang 28Hình 2.3: Cây quyết định sau khi chọn nút cho nhánh trái cùng
Cây quyết định hoàn chỉnh:
Làm tương tự cho nút tại nhánh phải ngoài (đến khi tất cả các nút lá của cây đều
đã phân lớp), em được cây quyết định hoàn chỉnh như sau:
Hình 2.4: Cây quyết định hoàn chỉnh
2.3 Phương pháp Bayesian
2.3.1 Giới thiệu về Bayesian
Trong vòng những năm gần đây, em thấy ngày càng có nhiều ứng dụng dựa trên
kỹ thuật Machine Learning, đặc biệt là trong lĩnh vực search engine, thương mại điện
tử, quảng cáo, mạng xã hội, v,v, Những ứng dụng này tập trung vào độ chính xác trong
dự đoán và cần lượng data lớn ( tính bằng tetrabyte) Thực tế đó là nền tảng của những ông Tech lớn như Google, Facebook,
Trang 292.3.2 Định lý Bayes
Định lý Bayes là một thủ tục cho phép em biểu thị xác suất có điều kiện của một
sự kiện ngẫu nhiên A đã cho B, xét về phân phối xác suất của sự kiện B đã cho A và
phân phối xác suất chỉ có A
Định lý này rất hữu ích, nhờ có nó, em có thể liên quan đến xác suất xảy ra sự
kiện A khi biết rằng B xảy ra, với xác suất xảy ra điều ngược lại, nghĩa là B xảy ra với A
Hình 2.5: Định lý Bayes
2.3.3 Tìm hiểu về định lý thuật toán Bayes và ứng dụng
Định lý Bayes là một định lý toán học để tính xác suất xảy ra của một sự kiện
ngẫu nhiên A khi biết sự kiện liên quan B đã xảy ra
⮚ Xác suất có điều kiện
● Em có 2 sự kiện ngẫu nhiên A và B, nếu A và B là hai sự kiện liên quan tới nhau:
- P(A,B) = P(A|B)P(B) hoặc P(A,B) =P(B|A)P(A)
● Nếu hai sự kiện A và B là độc lập với nhau thì công thức trên sẽ trở thành: P(A,B) = P(A)P(B)
Trang 30P(y|𝑥1,…,𝑥𝑛) = 𝑃(𝑦)𝑃(𝑥1,…,𝑥𝑛|𝑦
𝑃(𝑥1, 𝑥𝑛)Dựa vào xác suất có điều kiện chúng em có thể khai triển như sau
P(𝑥1,…,𝑥𝑛|𝑦) = P (𝑥1|y,𝑥2, ,𝑥𝑛) P (x2, ,xn|y) P(𝑥1,…,𝑥𝑛) = P ( 𝑥1| 𝑥2,…., 𝑥𝑛) P (𝑥2,… 𝑥𝑛 )
Naive Bayes cho em một giả thuyết rằng tất cả các biến ngẫu nhiên 𝑥𝑖 là độc lập với nhau Vì vậy em có thể suy ra như sau:
P ( 𝑥1|y, 𝑥2,…, 𝑥𝑛) = P (𝑥1| y )
P (𝑥1|𝑥2, …, 𝑥𝑛) = P(𝑥1) Công thức ban đầu sẽ trở thành
P ( y | 𝑥1,…, 𝑥𝑛) = 𝑃(𝑦) ∏ 𝑃(𝑥𝑖|𝑦
𝑛
𝑃(𝑥 𝑖 )…𝑃(𝑥𝑛)
Để ước lượng xác suất của tất cả giá trị y với đầu vào X, em có thể thấy rằng P(X)
= P(𝑥1) P(𝑥𝑛) là một hằng số Vì vậy, để tìm được sắc suất lớn nhất của giá trị y với đầu vào X ta có công thức sau
P (y|𝑥1, … , 𝑥𝑛) ∝ P (y) ∏𝑛𝑖=1𝑃(𝑥𝑖|𝑦)𝑦̂ = 𝑎𝑟𝑔𝑚𝑎𝑥
𝑦 ( P(y) ∏𝑛𝑖=1𝑃(𝑥𝑖 |𝑦))
Trang 313 fish haul smoked f
v= (fish, smoked, line, haul, guitar,jazz)
Đưa vào một dữ liệu line guitar jazz jazz hỏi rằng nó thuộc lớp f hay lớp g Em
có thể áp dụng Naive Bayes để tính xác suất dữ liệu đưa vào thuộc lớp f hay lớp g như
Cho vào một từ 𝜔, em đếm số lượng từ 𝜔 xuất hiện trong lớp 𝑐 Chia cho tổng số
lượng từ thuộc vào lớp c Ngoài ra em sử dụng kỹ thuật Laplace Smoothing với α=1 để
tránh trường hợp P(𝜔 | c ) = 0 bằng cách cộng 1 vào tử và cộng số lượng từ trong từ điển vào mẫu Nó sẽ không ảnh hưởng tới kết quả cuối cùng Ngoài ra bạn có thể sử dụng hàm log để tránh gặp phải giá trị xác suất bằng 0
P(line|f)=(1+1)/(8+6)=2/14
P(guitar|f)=(0+1)/(8+6)=1/14
P(jazz|f)=(0+1)/(8+6)=1/14
Trang 32Bước 1: Từ tập dữ liệu ban đầu D, sử dụng kỹ thuật boostrap (lấy mẫu ngẫu nhiên
có hoàn lại) để tạo ra t tập dữ liệu con S = {S1, S2 ,St }
Bước 2: Trên mỗi tập dữ liệu 𝑠𝑗, xây dựng một cây quyết định ℎ𝑗 Mô hình Rừng ngẫu nhiên là mô hình ℎ = {ℎ𝑗}𝑗=1𝑡 Thay vì sử dụng tất cả các biến là biến ứng cử để lựa chọn điểm chia tốt nhất, tại mỗi nút RF chọn ngẫu nhiên một không gian tập con M’ thuộc tính từ M thuộc tính ban đầu ( M’ < < M) Bên cạnh đó, cây quyết định trong mô hình RF là cây quyết định không cắt nhánh
Bước 3: RF dự đoán nhãn lớp của phần tử mới đến bằng chiến lược bình chọn số đông của các cây quyết định Sự chính xác của RF phụ thuộc vào chất lượng dự đoán của các cây quyết định và mức độ tương quan giữa các cây trong rừng
Trong quá trình xây dựng các cây quyết định, RF phát triển các nút con từ một nút cha dựa trên việc đánh giá chỉ số Gini của một không gian con M’ các thuộc tính được chọn ngẫu nhiên từ không gian thuộc tính ban đầu Thuộc tính được chọn để tách nút t là thuộc tính có điểm cắt làm cực tiểu độ hỗn tạp của các tập mẫu sau khi chia
Công thức tính chỉ số Gini cho nút t như sau:
Trang 33Hình 2.6 : Mô hình Rừng ngẫu nhiên
Gọi s là một giá trị của thuộc tính 𝑥𝑗 Giả sử tách nút t thành 2 nút con: nút trái
𝑡𝐿 và nút phải 𝑡𝑅 tại s Tùy thuộc vào 𝑥𝑗 ≤ s hoặc 𝑥𝑗> s em có 2 nút con: 𝑡𝐿 =𝑥𝑗 ∈ t, 𝑥𝑗≤ s và 𝑡𝑅 =𝑥𝑗 ∈ t, 𝑥𝑗> s
Khi đó, tổng độ đo chỉ số Gini của 2 nút 𝑡𝐿 và 𝑡𝑅 sau khi dùng thuộc tính 𝑥𝑗 tách nút t tại s là:
∆Gini (s,t) = p(𝑡𝐿) Gini (𝑡𝐿) + p(𝑡𝑅) Gini(𝑡𝑅 ) (2)
Để đạt được điểm chia tốt, tại mỗi nút RF sẽ tìm tất cả các giá trị phân biệt của tất cả M’ thuộc tính để tìm ra điểm phân tách nút t (điểm s có độ đo ∆Gini(s,t) nhỏ nhất) Thuộc tính chứa điểm phân tách nút t được gọi là thuộc tính tách nút t
Gọi 𝐼𝑆𝑘(𝑥𝑗), 𝐼𝑆𝑥𝑗lần lượt là độ đo sự quan trọng của thuộc tính 𝑥𝑗 trong một cây quyết định 𝑇𝑘 ( k=1÷m) và trong một rừng ngẫu nhiên Công thức tính 𝐼𝑆𝑘(𝑥𝑗) và 𝐼𝑆𝑥𝑗như sau:
𝐼𝑆𝑘(𝑥𝑗) = ∑𝑡∈𝑇𝑘∆𝐺𝑖𝑛𝑖(𝑥𝑗, 𝑡) (3)
𝐼𝑆𝑥𝑗 = 1
𝑘∑𝑘𝑘=1𝐼𝑆𝑘(𝑥𝑗) (4) Chuẩn hóa min - max để chuyển độ đo sự quan trọng thuộc tính 𝑥𝑗về đoạn [0,1], theo công thức (5):
Trang 34𝑉𝐼𝑥𝑗 = 𝐼𝑆𝑋𝑗−𝑚𝑖𝑛𝑗=1
𝑀 (𝐼𝑆 𝑥𝑗)
𝑚𝑎𝑥𝑗=1𝑀 (𝐼𝑆 𝑥𝑗)−𝑚𝑖𝑛𝑗=1 𝑀 (𝐼𝑆 𝑥𝑗) (5) Kết quả dự đoán của mô hình rừng ngẫu nhiên là kết hợp kết quả của một số lượng lớn những cây quyết định có mối tương quan thấp (do RF lấy ngẫu nhiên mẫu và xây dựng các không gian con thuộc tính cũng ngẫu nhiên) nên RF đạt được cả độ lệch thấp và phương sai thấp
2.4.2 Mô hình phân lớp với Random Forest
Hình 2.7: Mô hình phân lớp với Random Forest
2.4.3 Ứng dụng thuật toán Random Forest
Thuật toán Random Forest được sử dụng trong rất nhiều lĩnh vực khác nhau, như Ngân hàng, Thị trường chứng khoán, Y học và Thương mại điện tử Trong Ngân hàng,
ví dụ, nó được sử dụng để phát hiện những khách hàng sẽ sử dụng dịch vụ của ngân hàng thường xuyên hơn những người khác và trả nợ đúng hạn Nó cũng được sử dụng
để phát hiện những khách hàng lừa đảo Trong lĩnh vực chăm sóc sức khỏe, nó được sử dụng để xác định sự kết hợp chính xác của các thành phần trong y học và để phân tích lịch sử y tế của bệnh nhân Và cuối cùng, trong thương mại điện tử được sử dụng để xác định xem khách hàng có thực sự thích sản phẩm đó hay không
2.5 Phương pháp máy hỗ trợ vector (support vector machine)
2.5.1 Tổng quan về Máy vectơ hỗ trợ
SVM là một giải thuật máy học dựa trên lý thuyết học thống kê Bài toán cơ bản của SVM là bài toán phân loại hai lớp: Cho trước r điểm trong không gian n chiều (mỗi điểm thuộc vào một lớp kí hiệu là +1 hoặc –1), mục đích của giải thuật SVM là tìm một siêu phẳng (hyperplane) phân hoạch tối ưu cho phép chia các điểm này thành hai phần
Trang 35Hình 2.8 : Ví dụ siêu phẳng với lề cực đại trong không gian R2
2.5.2 Nhận dạng mẫu và phân lớp siêu phẳng
Trong bài toán nhận dạng mẫu, em có một tập các điểm được biểu diễn như sau: (𝑥1,𝑦1 ), , (𝑥𝑚,𝑦𝑚) ∈ 𝑅𝑛 × { - 1, +1}
Nó thể hiện các vector n chiều 𝑥1 và nhãn 𝑦1 của nó Một nhãn với giá trị +1 xác định vector đó được phân vào lớp +1 và nhãn với giá trị -1 xác định vector đó được phân vào lớp -1 Em cần tìm một hàm:
f(x) = y : 𝑅𝑛 → { + 1, - 1}
để có thể phân lớp một cách chính xác các mẫu trong dữ liệu huấn luyện Máy vector hỗ trợ dựa trên một lớp các siêu phẳng sau:
w x + b = 0, w ∈ 𝑅𝑛 , b ∈ R
Trong đó, vector w định nghĩa một hướng vuông góc với một siêu phẳng, các giá
trị khác nhau của b dịch chuyển siêu phẳng này song song với nó Từ đó, siêu phẳng này
có thể chia không gian đầu vào thành hai phần: một phần chứa các vector thuộc lớp -1
và phần còn lại thuộc vào lớp +1 (Hình 2.9) Nếu tồn tại một siêu phẳng đó, dữ liệu sẽ được phân chia một cách tuyến tính Để tìm lớp cho một vector x, em có thể sử dụng hàm sau [4]:
f(x) = sign(w.x + b)
Trang 36Hình 2.9 : Một sự phân chia siêu phẳng (w, b) cho một tập dữ liệu huấn luyện hai
chiều [4]
2.5.3 Siêu phẳng tối ưu
Như em thấy biểu đồ bên phải của hình 2.10, có rất nhiều siêu phẳng phân lớp chính xác các dữ liệu huấn luyện Câu hỏi của em là bộ phân chia tuyến tính nào là tối
ưu nhất và làm thế nào để em xác định được giá trị của bộ phân chia tối ưu này
Hình 2.10: Cực đại lề siêu phẳng với các vector hỗ trợ [4]
Như em thấy ở hình 2.10 trên đây, các vector hỗ trợ có thể hỗ trợ tạo ra một siêu phẳng phân chia hai lớp với lề cực đại Siêu phẳng loại này thường được gọi là lề siêu phẳng tối ưu và chỉ có duy nhất một siêu phẳng như vậy
Để tính toán được lề này, em phải xây dựng hai siêu phẳng song song, mỗi một siêu phẳng thuộc về các lớp tương ứng Một sự phân chia tốt được thực hiện bởi một siêu phẳng có khoảng cách lớn nhất đến các điểm của hai lớp
Một cách mô hình hóa, em có một tập S các điểm 𝑥𝑖 ∈ 𝑅𝑛 với i = 1, 2, 3 m Mỗi một điểm 𝑥𝑖 thuộc một trong hai lớp với mức 𝑦𝑖 ∈ {-1, +1} Mục đích của em là thiết lập một công thức siêu phẳng phân chia một cách rõ ràng các điểm trong không gian đa
Trang 37Cặp (w, b) định nghĩa một siêu phẳng với công thức:
w.x + b = 0 được gọi là siêu phẳng phân cách Giá trị 2/||w|| là khoảng cách giữa hai lớp Trong đó hướng của vector w được gọi là lề
1/||w|| là khoảng cách nhỏ nhất giữa điểm 𝑥𝑖 và siêu phẳng (w, 𝑥𝑖) Do vậy, đối với tập S có thể phân chia tuyến tính, siêu phẳng có thể phân chia tối ưu là siêu phẳng phân chia với khoảng cách cực đại các điểm của S
Khi khoảng của điểm gần nhất bằng 1/||w||, siêu phẳng phân chia tối ưu có thể liên quan đến giải pháp sau:
Tối tiểu hóa: ||𝑤||2 / 2
Với ràng buộc: 𝑦𝑖 ( w.𝑥1+ b) – 1 ≥ 0
Do đó, em có thể tìm cặp các siêu phẳng có thể đưa ra lề cực đại bằng việc tối tiểu hóa ||𝑤||2 thỏa mãn (2) Các vector đó được gọi là các vector hỗ trợ, được mô tả trong hình 2.11
Vấn đề hạn chế trên có thể được giải quyết bằng việc sử dụng phương thức hàm nhân Lagrange Có hai lý do để em có thể sử dụng hàm nhân này Thứ nhất, hằng số (2)
sẽ được thay thế bằng hằng số trong hàm nhân Lagrange có thể rất dễ để nắm bắt Thứ hai, dữ liệu huấn luyện chỉ xuất hiện trong mô hình các điểm chấm giữa các vector
Do đó, em gọi một tham số 𝑎𝑖 , i = 1,2, ,m Em cần nhớ lại luật rằng, ràng buộc của mẫu 𝑐𝑖 ≥ 0, công thức ràng buộc được nhân với hệ số nhân Lagrange và trừ đi hàm mục tiêu Với các ràng buộc bình đẳng, hàm nhân Lagrange không bị ràng buộc
𝐿 =1
2||𝑤||2− ∑𝑚𝑖=1𝛼𝑖𝑦𝑖(𝑥𝑖 𝑤 + 𝑏) + ∑𝑚𝑖=1𝛼𝑖 (3)
Đây cũng chính là vấn đề lập trình phương trình bậc hai lồi, giải pháp của vấn đề này là tìm ra các điểm yên ngựa tương đương của vấn đề trên
Trang 38L(𝛼) = ∑ 𝛼𝑖 −1
2
𝑚 𝑖=1 ∑𝑚𝑖,𝑗=1𝛼𝑖𝛼𝑗𝑦𝑖𝑦𝑗𝑥𝑖 𝑥𝑗 (4)
Vấn đề mới này được gọi là sự chia đôi vấn đề chính ban đầu Nó có một thuộc
tính là giá trị cực đại của L, có ràng buộc α ≥ 0, xảy ra tại các giá trị giống nhau của w,
b và α, chính là giá trị tối tiểu của L, liên quan đến ràng buộc:
∑ 𝑦𝑖𝑎𝑖𝑚
𝑖=1
= 0
𝛼 ≥ 0 Chú ý rằng chỉ 𝑎𝑖 có thể khác không trong công thức (4) thỏa mãn ràng buộc (2) được thỏa mãn khi bằng nhau
Với tham số w, tham số b có thể được tính bằng:
b = 𝑦𝑖 – w.𝑎𝑖
Do đó, vấn đề phân lớp một điểm dữ liệu 𝑥𝑖 bây giờ sẽ được giải quyết bằng việc tính hàm dấu:
Sign ( ∑𝑚𝑖=𝑗𝛼𝑖𝑦𝑖𝑥𝑖 𝑥 + 𝑏) với 𝑥𝑖 là vector hỗ trợ
Hình 2.11: Đồ thị biểu diễn giá trị α [4]
Trang 39sai có thể nằm ở bên trong hoặc ở vùng bên kia của lề)
số ξi là hệ số khử ở bên phải của công thức (1) Siêu phẳng phân cách tối ưu có thể được tổng quát lại bằng công thức sau:
Tối tiểu hóa: