CHƯƠNG I: CƠ SỞ LÝ THUYẾT 1. Tổng quan về học máy 1. Giới thiệu về học máy Học máy [1] hay máy học có tên tiếng Anh đầy đủ là Machine Learning, viết tắt là ML. Thuật toán Machine Learning là các chương trình máy tính có khả năng học hỏi và hoàn thành các nhiệm vụ, đồng thời là cách để cải thiện hiệu suất theo thời gian vô cùng hiệu quả.
Ngoài ra, Machine Learning còn được biết là còn là công nghệ phát triển từ lĩnh vực trí tuệ nhân tạo tiên tiến nhất hiện nay. Để đảm bảo không có sai lệch và không xuất hiện dữ liệu giả, Machine Learning vẫn cần quá trình tìm hiểu và lựa chọn kỹ thuật phân tích dữ liệu từ con người. Học máy ngày càng mang tính phổ biến trên toàn thế giới. Sự tăng trưởng vượt bậc của dữ liệu lớn (Big Data) và các thuật toán Machine Learning đã cải thiện độ chính xác của những mô hình và dự đoán tương lai.
Trong đó, bước huấn luyện sẽ chỉ dùng dữ liệu huấn luyện, bước kiểm thử sẽ chỉ dùng dữ liệu trong tập kiểm thử. Ứng dụng của học máy Học máy ngày càng được ứng dụng rộng rãi, đa lĩnh vực trong thực tiễn cuộc sống con người ngày nay. Machine Learning đang được sử dụng với mục đích phân tích dữ liệu lớn để có thể đưa ra những dự đoán xu hướng trong tương lai. Ví dụ như dự đoán kết quả bầu cử chính trị, dự đoán biến động của thị trường chứng khoán … Machine Learning cũng được áp dụng trong công nghệ nhận diện hình ảnh [6] nhằm cung cấp dữ liệu cho các mô hình định giá hoặc mô hình kinh tế.
Bằng khả năng phân tích dữ liệu từ hệ thống vệ tinh, thuật toán học máy sẽ tiến hành xử lý và cung cấp tới bạn những thông tin về số lượng khách hàng tại bãi đậu xe, các hoạt động vận chuyển, sản lượng sản xuất. Về cơ bản, nó là một cách tiếp cận để xác định và phát hiện các đặc trưng của một đối tượng trong hình ảnh kỹ thuật số. Hơn nữa, kỹ thuật SVTH: Phan Thị Cẩm Nhi 6 Khóa luận tốt nghiệp GVHD: TS. Hoàng Hữu Trung này có thể được sử dụng để phân tích sâu hơn, chẳng hạn như nhận dạng mẫu, nhận diện hình khuôn, nhận dạng khuôn mặt, nhận dạng ký tự quang học và nhiều hơn nữa,.
Phân loại tin tức [7] là một ứng dụng điểm chuẩn khác của phương pháp học máy. Như một vấn đề thực tế là bây giờ khối lượng thông tin đã tăng lên rất nhiều trên web. Tuy nhiên, mỗi người có sở thích hoặc lựa chọn cá nhân của mình. Vì vậy, để chọn hoặc thu thập một phần thông tin phù hợp trở thành một thách thức đối với người dùng từ vô số nội dung trên trang web.
Phân loại các danh mục một cách rõ ràng, dễ điều hướng giúp cho các khách hàng mục tiêu chắc chắn sẽ tăng khả năng truy cập các trang tin tức. Hơn nữa, độc giả hoặc người dùng có thể tìm kiếm tin tức cụ thể một cách hiệu quả và nhanh chóng. Có một số phương pháp học máy trong mục đích này, đó là, máy vectơ hỗ trợ, Naive Bayes, K hàng xóm lân cận,… Học máy cũng đang được sử dụng trong một loạt các ứng dụng mạng xã hội [7] ngày nay. Một trong những ví dụ nổi tiếng nhất là Facebook News Feed.
Nguồn cấp tin tức sử dụng học máy để cá nhân hóa từng nguồn cấp dữ liệu thành viên. Nếu một thành viên thường xuyên dừng lại để đọc hoặc thích một bài đăng của một người bạn cụ thể, News Feed sẽ bắt đầu hiển thị nhiều hơn về hoạt động của người bạn đó trước đó trong nguồn cấp dữ liệu. Đằng sau hệ thống ấy, phần mềm sử dụng phân tích thống kê và phân tích dự đoán để xác định các mẫu trong dữ liệu người dùng và sử dụng các mẫu đó để điền vào News Feed. Nếu thành viên không còn dừng lại để đọc, thích hoặc bình luận trên các bài đăng của bạn bè, dữ liệu mới đó sẽ được bao gồm trong tập dữ liệu và News Feed sẽ điều chỉnh tương ứng.
Không chỉ riêng Facebook, ta có thể bắt gặp những tính năng tương tự đó qua các mạng xã hội khác như Google, Instagram,… Đối với việc kinh doanh của một công ty [8] có hàng tấn dữ liệu (tệp người dùng, dữ liệu tài chính, dữ liệu sản phẩm, dữ liệu thống kê đường dây nóng, báo cáo nhân sự,…) học máy có thể: phân đoạn khách hàng và chọn chiến lược tiếp thị tốt nhất cho mỗi phân khúc; đề xuất các sản phẩm phù hợp cho khách hàng dựa trên sản phẩm mua được bởi những khách hàng tương tự; phát hiện những giao dịch có khả năng cao là giả mạo; dự báo doanh thu của năm sau. SVTH: Phan Thị Cẩm Nhi 7 Khóa luận tốt nghiệp GVHD: TS. Hoàng Hữu Trung Tương quan với khai phá dữ liệu Khai phá dữ liệu và học máy là hai khái niệm hay bị nhầm lẫn. Hai lĩnh vực này nhìn chung gần với nhau và đôi khi dùng chung nhiều phương pháp, công cụ nhưng khác biệt chính là ở mục tiêu: - Khai phá dữ liệu: thường mục tiêu là tìm kiếm những thông tin, tri thức hoàn toàn mới tiềm năng có ích trong nguồn dữ liệu.
- Học máy: dự đoán một số thông tin của dữ liệu dựa trên những đặc tính đã biết. Phân loại các phương pháp học máy Thuật toán học máy được chia thành 4 loại [1] bao gồm: học có giám sát, học không giám sát, học bán giám sát và học tăng cường. Học có giám sát (Supervised Learning) - Supervised learning [9] là thuật toán dự đoán đầu ra (outcome) của một dữ liệu mới (new input) dựa trên các cặp (input, outcome) đã biết từ trước. Cặp dữ liệu này còn được gọi là (data, label), tức (dữ liệu, nhãn).
Supervised learning là nhóm phổ biến nhất trong các thuật toán Machine Learning. - Một cách toán học, Supervised learning là khi chúng ra có một tập hợp biến đầu vào = { , ,… } và một tập hợp nhãn tương ứng = { , ,… }, trong đó , là các vector. Các cặp dữ liệu biết trước ( , ) ∈ được gọi là tập training data (dữ liệu huấn luyện). Từ tập training data này, chúng ta cần tạo ra một hàm số ánh xạ mỗi phần tử từ tập sang một phần tử (xấp xỉ) tương ứng của tập : ≈ ( ), ∀ = 1,2, … , Mục đích là xấp xỉ hàm số thật tốt để khi có một dữ liệu mới, chúng ta có thể tính được nhãn tương ứng của nó = ( ) - Sau khi tìm hiểu cách tốt nhất để mô hình hóa các mối quan hệ cho dữ liệu được gán nhãn, thuật toán huấn luyện sẽ được sử dụng cho các bộ dữ liệu mới.
- Ứng dụng của học có giám sát chính là giúp xác định tín hiệu tốt nhất để dự báo xu hướng, lợi nhuận trong tương lai trong lĩnh vực cổ phiếu, chứng khoán. - Thuật toán supervised learning còn được tiếp tục chia nhỏ ra thành hai loại chính: Phân loại (Classification) và Hồi quy (Regression) SVTH: Phan Thị Cẩm Nhi 8 Khóa luận tốt nghiệp GVHD: TS. Hoàng Hữu Trung 1. Học không có giám sát (Unsupervised Learning) - Học không giám sát [1] sử dụng những dữ liệu chưa được gán nhãn sẵn để suy luận và tìm cách để mô tả dữ liệu cùng cấu trúc của chúng.
- Ứng dụng của học không giám sát đó là hỗ trợ phân loại thành các nhóm có đặc điểm tương đồng. Học bán giám sát (Semi-supervised Learning) - Học bán giám sát [1] là dạng kết hợp giữa học có giám sát và học không giám sát. - Trong đó, nó kết hợp các ví dụ có nhãn và không nhãn để sinh ra một hàm hoặc một bộ phân loại thích hợp. Học tăng cường (Reinforcement Learning) - Học tăng cường [1] không dựa trên việc học có giám sát hay học không giám sát, mà các thuật toán học cách tự phản ứng với môi trường.
- Phương pháp học này đang phát triển nhanh chóng và tạo ra nhiều thuật toán học tập, hữu ích trong lĩnh vực Robot, trò chơi, hệ thống tự động thông minh,… 1. Phân cụm và phân lớp 1. Phân cụm (Clustering) Phân cụm [10], hay còn gọi là phân nhóm, là việc nhóm dữ liệu thành các cụm sao cho các dữ liệu trong cụm đó có tính tương đồng cao và độ bất đồng giữa các cụm lớn. Và những bất đồng được đánh giá dựa trên các giá trị thuộc tính được dùng để mô tả các đối tượng dữ liệu.
Các phương pháp phân cụm phổ biến [10]: - Phương pháp phân mảnh (fragmentation methods) - Phương pháp phân tầng (hierarchical methods) - Phương pháp lưới (grid-based methods) - Phương pháp dựa vào mô hình (model-based methods) - Phân cụm dựa vào ràng buộc (constraint-based clustering) SVTH: Phan Thị Cẩm Nhi 9 Khóa luận tốt nghiệp GVHD: TS. Hoàng Hữu Trung 1. Phân lớp (Classification) Phân lớp [11], hay còn gọi là phân loại, là việc phân tích dữ liệu dựa trên tập huấn luyện, giá trị hay là nhãn lớp của một thuộc tính phân lớp để tạo lập các mô hình mô tả các phân lớp dữ liệu quan trọng. Những phân tích đó sẽ giúp chúng ta hiểu sâu hơn về dữ liệu ở mức lớn và bao quát hơn.
Ứng dụng của phân lớp trong thực tế: Phân loại một email là thư phiền (spam) hay không. Dự đoán xem người nghe thích bài hát hay thể loại nhạc nào. Chọn phương thức điều trị phù hợp cho các bệnh nhân. Đặc trưng của mô hình phân lớp là học dựa trên tập dữ liệu mẫu có sẵn.
Những dữ liệu thô đầu vào (như: văn bản, hình ảnh, âm thanh) được chuyển đổi thành các vector. Số chiều của các vector này tùy thuộc vào từng trường hợp cụ thể. Đặc biệt trong các chiều này, có một chiều chứa nhãn phân lớp có sẵn tương ứng với từng trường hợp cụ thể. Ví dụ về bài toán sử dụng mô hình phân lớp Nguồn: machinelearningcoban.com Dựa trên tập dữ liệu vào dạng vector này, các thuật toán đặc thù sẽ được triển khai để tiến hành thiết lập một ánh xạ , ∈.
Trong đó C là tập các nhãn và là vector với các chiều. chính là mô hình thu được thông qua quá trình học. SVTH: Phan Thị Cẩm Nhi 10 Khóa luận tốt nghiệp GVHD: TS. Hoàng Hữu Trung 1.
Các phương pháp phân lớp Một bài toán được gọi là Phân lớp nếu các nhãn dán của dữ liệu đầu vào được chia thành một số hữu hạn nhóm. Ví dụ: Gmail xác định xem một email có phải là spam hay không; các hãng tín dụng xác định xem một khách hàng có khả năng thanh toán nợ hay không.