LỜI MỞ ĐẦU 1. Học máy (Machine learning) là một ngành khoa học nghiên cứu các kĩ thuật, các phƣơng pháp cho phép các máy tính có khả năng "học" giống nhƣ con ngƣời. Hay nói một cách khác cụ thể hơn, học máy là một phƣơng pháp để tạo ra các chƣơng trình máy tính bằng việc phân tích các tập dữ liệu, qua đó máy tính có khả năng tích lũy đƣợc tri thức thông qua việc học đƣợc các khái niệm để có thể ra quyết định trong các trƣờng hợp tƣơng tự. Lĩnh vực học máy truyền thống thƣờng đƣợc chia thành bốn lĩnh vực con, bao gồm: Học có giám sát (Supervised learning), Học không giám sát (Unsupervised learning), Học nửa giám sát (Semi-Supervised learning) và Học tăng cƣờng (Reinforcement learning).
Học nửa giám sát sử dụng cả dữ liệu đã gán nhãn và chƣa gán nhãn để huấn luyện - điển hình là một lƣợng nhỏ dữ liệu có gán nhãn cùng với lƣợng lớn dữ liệu chƣa gán nhãn. Học nửa giám sát đứng giữa học không giám sát (không có bất kì dữ liệu có nhãn nào) và có giám sát (toàn bộ dữ liệu đều đƣợc gán nhãn). Để gán nhãn dữ liệu cho một bài toán học máy thƣờng đòi hỏi một phân loại bằng tay các ví dụ huấn luyện. Chi phí cho quy trình này khiến tập dữ liệu đƣợc gán nhãn hoàn toàn trở nên không khả thi, trong khi dữ liệu không.
Trong tình huống đó, học nửa giám sát có giá trị thực tiễn lớn lao. Chính vì vậy, học nửa giám sát là sự kết hợp một số lƣợng lớn các dữ liệu chƣa đƣợc gán nhãn cùng với các dữ liệu đã đƣợc gán nhãn để xây dựng các bộ phân lớp tốt hơn. Một số phƣơng pháp điển hình trong lĩnh vực này đƣợc kể đến nhƣ: Phƣơng pháp EM với mô hình sinh hỗn hợp (EM with generative mixture models), phƣơng pháp Tự huấn luyện (Self-training), phƣơng pháp Đồng huấn luyện (Co-training), phƣơng pháp máy véc tơ hỗ trợ (Transductive support vector machines) và phƣơng pháp Dựa trên đồ thị (Graph-based). Trong đó phƣơng pháp học nửa giám sát dựa trên đồ thị (Graph-based) đang là hƣớng nghiên cứu mở và đem lại hiệu quả lớn.
Với những lý do trên, tác giả đã chọn đề tài “ Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.vn LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ” làm đề tài nghiên cứu luận văn tốt nghiệp thạc sĩ chuyên ngành Khoa học máy tính. Nghiên cứu tổng quan về học nửa giám sát và một số phƣơng pháp học nửa giám sát. Nghiên cứu phƣơng pháp học nửa giám sát dựa trên đồ thị Cài đặt thử nghiệm thuật toán lan truyền nhãn trên đồ thị và thuật toán tự huấn luyện. Đối tượng nghiên cứu: Học nửa giám sát.
Phạm vi nghiên cứu: - Nghiên cứu tổng quan về học có giám sát, học không giám sát và học nửa giám sát. - Các phƣơng pháp học nửa giám sát phổ biến. - Phƣơng pháp học nửa giám sát dựa trên đồ thị (Graph-based) và một số thuật toán. - Cài đặt thử nghiệm thuật toán lan truyền nhãn trong phƣơng pháp học nửa giám sát dựa trên đồ thị và thuật toán tự huấn luyện.
Các luận điểm chính mà luận văn đã thể hiện đƣợc: Nghiên cứu tổng quan và đánh giá các phƣơng pháp học nửa giám sát, tập trung vào phƣơng pháp học nửa giám sát dựa trên đồ thị. Tập trung tìm hiểu một số thuật toán trong lĩnh vực học nửa giám sát nhƣ: Phƣơng pháp EM với mô hình sinh hỗn hợp, phƣơng pháp Tự huấn luyện, phƣơng pháp Đồng huấn luyện và phƣơng pháp máy véc tơ hỗ trợ. Đồng thời tập trung nghiên cứu chi tiết phƣơng pháp dựa trên đồ thị. Cài đặt phần mềm thử nghiệm mô phỏng thuật toán lan truyền nhãn và thuật toán tự huấn luyện, đánh giá độ phức tạp của hai thuật toán này.
Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.vn LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com - Đọc tài liệu, phân tích, tổng hợp. - Thống kê, phân tích dữ liệu. - Thực nghiệm và đánh giá kết quả. - Kết hợp nghiên cứu lý thuyết, tìm hiểu tình hình ứng dụng, đánh giá khả năng ứng dụng và đề xuất giải pháp.
Nội dung luận văn gồm 03 chƣơng: Chƣơng 1: Tổng quan về các phƣơng pháp học máy Chƣơng này trình bày tổng quan về các phƣơng pháp học máy gồm phƣơng pháp Học có giám sát (Supervised learning), Học không giám sát (Unsupervised learning), Học nửa giám sát (Semi-Supervised learning). Chƣơng 2: Phƣơng pháp học nửa giám sát dựa trên đồ thị Tập trung tìm hiểu một số thuật toán trong lĩnh vực học nửa giám sát nhƣ: Phƣơng pháp EM với mô hình sinh hỗn hợp, phƣơng pháp Tự huấn luyện, phƣơng pháp Đồng huấn luyện và phƣơng pháp máy véc tơ hỗ trợ. Đồng thời tập trung nghiên cứu chi tiết phƣơng pháp dựa trên đồ thị. Chƣơng 3: Cài đặt và thử nghiệm thuật toán Cài đặt thử nghiệm thuật toán tự huấn luyện và lan truyền nhãn dựa trên đồ thị.
Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.vn LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com CHƢƠNG 1: TỔNG QUAN VỀ CÁC PHƢƠNG PHÁP HỌC MÁY 1. Giới thiệu về học máy Học máy (Machine Learning) là một ngành khoa học nghiên cứu các thuật toán cho phép máy tính có thể học đƣợc các khái niệm (concept)[7]. Có hai loại phƣơng pháp học máy chính: Phƣơng pháp quy nạp: Máy học/phân biệt các khái niệm dựa trên dữ liệu đã thu thập đƣợc trƣớc đó. Phƣơng pháp này cho phép tận dụng đƣợc nguồn dữ liệu rất nhiều và sẵn có.
Phƣơng pháp suy diễn: Máy học/phân biệt các khái niệm dựa vào các luật. Phƣơng pháp này cho phép tận dụng đƣợc các kiến thức chuyên ngành để hỗ trợ máy tính. Hiện nay, các thuật toán đều cố gắng tận dụng đƣợc ƣu điểm của hai phƣơng pháp này. Các ngành khoa học liên quan đến lĩnh vực học máy điển hình là: Lý thuyết thống kê: các kết quả trong xác suất thống kê là tiền đề cho rất nhiều phƣơng pháp học máy.
Đặc biệt, lý thuyết thống kê cho phép ƣớc lƣợng sai số của các phƣơng pháp học máy. Các phƣơng pháp tính: các thuật toán học máy thƣờng sử dụng các tính toán số thực/số nguyên trên dữ liệu rất lớn. Trong đó, các bài toán nhƣ: tối ƣu có/không ràng buộc, giải phƣơng trình tuyến tính v.v… đƣợc sử dụng rất phổ biến. Khoa học máy tính: là cơ sở để thiết kế các thuật toán, đồng thời đánh giá thời gian chạy, bộ nhớ của các thuật toán học máy.
Lĩnh vực học máy truyền thống thƣờng đƣợc chia thành bốn lĩnh vực con: Học có giám sát: Máy tính đƣợc xem một số mẫu gồm đầu vào và đầu ra tƣơng ứng trƣớc. Sau khi học xong các mẫu này, máy tính quan sát một đầu vào mới và cho ra kết quả. Học không giám sát: Máy tính chỉ đƣợc xem các mẫu không có đầu ra, sau đó máy tính phải tự tìm cách phân loại các mẫu này và các mẫu mới. Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.vn LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Học nửa giám sát: Một dạng lai giữa hai nhóm giải thuật trên.
Học tăng cƣờng: Máy tính đƣa ra quyết định hành động và nhận kết quả phản hồi từ môi trƣờng. Sau đó máy tính tìm cách chỉnh sửa cách ra quyết định hành động của mình. Học máy có ứng dụng rộng khắp trong các ngành khoa học/sản xuất, đặc biệt những ngành cần phân tích khối lƣợng dữ liệu khổng lồ. Một số ứng dụng thƣờng thấy: Xử lý ngôn ngữ tự nhiên (Natural Language Processing): xử lý văn bản, giao tiếp ngƣời – máy, … Nhận dạng (Pattern Recognition): nhận dạng tiếng nói, chữ viết tay, vân tay, thị giác máy (Computer Vision) … Tìm kiếm (Search Engine) Chẩn đoán trong y tế: phân tích ảnh X-quang, các hệ chuyên gia chẩn đoán tự động.
Tin sinh học: phân loại chuỗi gene, quá trình hình thành gene/protein Vật lý: phân tích ảnh thiên văn, tác động giữa các hạt … Phát hiện gian lận tài chính (financial fraud): gian lận thẻ tỉn dụng Phân tích thị trƣờng chứng khoán (stock market analysis) Chơi trò chơi: tự động chơi cờ, hành động của các nhân vật ảo Rôbốt: là tổng hợp của rất nhiều ngành khoa học, trong đó học máy tạo nên hệ thần kinh/bộ não của ngƣời máy. Trong đó phải kể đến các ứng dụng quan trọng nhất của nó trong khai phá dữ liệu. Khai phá dữ liệu (Data mining) là quá trình khám phá các tri thức mới và các tri thức có ích ở dạng tiềm năng trong nguồn dữ liệu đã có. Khai phá dữ liệu là một bƣớc của quá trình khai phá tri thức, bao gồm: Xác định vấn đề và không gian dữ liệu để giải quyết vấn đề.
Chuẩn bị dữ liệu, bao gồm các quá trình làm sạch dữ liệu, tích hợp dữ liệu, chọn dữ liệu, biến đổi dữ liệu. Khai phá dữ liệu: xác định nhiệm vụ khai phá dữ liệu và lựa chọn kĩ thuật khai phá dữ liệu. Kết quả cho ta một nguồn tri thức thô. Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.vn LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Đánh giá: dựa trên một số tiêu chí tiến hành kiểm tra và lọc nguồn tri thức thu đƣợc.
Quá trình khai phá tri thức không chỉ là một quá trình tuần tự từ bƣớc đầu tiên đến bƣớc cuối cùng mà là một quá trình lặp và có quay trở lại các bƣớc đã qua. Về cơ bản, khai phá dữ liệu có thể ứng dụng cho bất kỳ kho thông tin nào bao gồm: Các cơ sở dữ liệu quan hệ, kho dữ liệu, các cơ sở dữ liệu giao tác, các hệ thống cơ sở dữ liệu tiên tiến, các tệp,. Phân lớp dữ liệu Phân lớp dữ liệu là kĩ thuật dựa trên tập dữ liệu huấn luyện và những giá trị trong một thuộc tính phân lớp (hay còn gọi là nhãn của lớp), sử dụng nó trong việc phân lớp dữ liệu mới. Phân lớp cũng là tiên đoán loại lớp của nhãn.
Bên cạnh kĩ thuật phân lớp còn có một hình thức tƣơng tự gọi là kĩ thuật tiên đoán, kĩ thuật tiên đoán khác với phân lớp ở chỗ phân lớp chỉ liên quan đến tiên đoán loại lớp của nhãn còn kĩ thuật tiên đoán mô hình những hàm đánh giá liên tục[6]. Kĩ thuật phân lớp đƣợc tiến hành bao gồm 2 bƣớc: Xây dựng mô hình và sử dụng mô hình. Xây dựng mô hình: là mô tả một tập những lớp đƣợc định nghĩa trƣớc, trong đó mỗi bộ hoặc mẫu đƣợc gán thuộc về một lớp đƣợc định nghĩa trƣớc nhƣ là đƣợc xát định bởi thuộc tính nhãn lớp, tập hợp của những bộ đƣợc sử dụng trong việc sử dụng mô hình đƣợc gọi là tập huấn luyện. Mô hình đƣợc biểu diễn là những luật phân lớp, cây quyết định và những công thức toán học .