Chương 1: Tổng quan đề tài nghiên cứu Chương 2. Học máy và các ứng dụng trong các bài toán kinh tế Chương 3. Bài toán phân loại khách hàng theo chủ đề dựa trên học máy Chương 4: Thực nghiệm, đánh giá và thảo luận 15 Luan van CHƯƠNG 2: HỌC MÁY VÀ ỨNG DỤNG TRONG BÀI TOÁN KINH TẾ 2. TỔNG QUAN VỀ HỌC MÁY Học máy (Machine Learning) là một lĩnh vực con của trí tuệ nhân tạo (Artificial Intelligence) sử dụng các thuật toán cho phép máy tính có thể học từ dữ liệu để thực hiện các công việc thay vì được lập trình một cách rõ ràng.
Học máy liên quan đến việc nghiên cứu và xây dựng các kĩ thuật cho phép các hệ thống “học” tự động từ dữ liệu để giải quyết những vấn đề cụ thể. Ví dụ như các máy có thể “học” cách phân loại thư điện tử xem có phải thư rác (spam) hay không và tự động xếp thư vào thư mục tương ứng. Học máy rất gần với suy diễn thống kê (statistical inference) tuy có khác nhau về thuật ngữ. Học máy có liên quan lớn đến thống kê, vì cả hai lĩnh vực đều nghiên cứu việc phân tích dữ liệu, nhưng khác với thống kê, học máy tập trung vào sự phức tạp của các giải thuật trong việc thực thi tính toán.
Nhiều bài toán suy luận được xếp vào loại bài toán NP-khó, vì thế một phần của học máy là nghiên cứu sự phát triển các giải thuật suy luận xấp xỉ mà có thể xử lý được. Học máy có hiện nay được áp dụng rộng rãi bao gồm máy truy tìm dữ liệu, chẩn đoán y khoa, phát hiện thẻ tín dụng giả, phân tích thị trường chứng khoán, phân loại các chuỗi DNA, nhận dạng tiếng nói và chữ viết, dịch tự động, chơi trò chơi và cử động rô- bốt (Robot locomotion). Các bài toán ứng dụng của học máy bao gồm: Thứ nhất là trong bài toán xử lý ảnh (Image Processing): Bài toán xử lý ảnh giải quyết các vấn đề phân tích thông tin từ hình ảnh hay thực hiện một số phép biến đổi như: bài toán gắn thẻ hình ảnh (Image Tagging); bài toán nhận dạng ký tự (Optical Character Recognition); bài toán ứng dụng trong ô tô tự lái (Self-driving cars), một phần cơ chế sử dụng trong bài toán của ô tô tự lái là xử lý ảnh. Thứ hai là trong bài toán phân tích văn bản (Text analysis): Phân tích văn bản là công việc trích xuất hoặc phân loại thông tin từ các tài liệu hoặc dữ liệu văn bản.
Các văn bản ở đây có thể là các bài đăng trên các mạng xã hội, các nội dung trong email, các đoạn trao đổi giữa khách hàng và doanh nghiệp hoặc các tài liệu văn bản khác, …hoặc ứng dụng trong các bài toán lọc spam (Spam filtering). Phân loại văn bản là xác định chủ đề cho một văn bản, dựa trên các chủ đề để phân loại hay xếp lớp sau đó lọc thành các nhóm; ngoài ra Phân tích quan điểm (Sentiment Analysis); Khai thác thông tin (Information Extraction), từ một văn bản, học cách để trích xuất các thông tin hữu ích. Chẳng hạn như trích xuất địa chỉ, tên người, từ khóa,… Thứ ba là trong bài toán khai phá dữ liệu: Khai phá dữ liệu (Data mining) là quá trình khám phá ra các thông tin có giá trị hoặc đưa ra các dự đoán từ dữ liệu như bài toán: Phát hiện bất thường (Anomaly detection); Phát hiện các quy luật (Association rules); Gom nhóm (Grouping) và Dự đoán (Predictions),. 16 Luan van Thứ tư là trong bài toán ứng dụng cho trò chơi điện tử và Robot: Trò chơi điện tử (Video games) và robot (Robotics) là lĩnh vực lớn có sự góp mặt của machine learning.
Một kỹ thuật phổ biến được áp dụng trong trường hợp này là Học tăng cường (Reinforcement learning). QUY TRÌNH PHÂN TÍCH DỮ LIỆU BẰNG HỌC MÁY Một bài toán khi ứng dụng học máy để phân tích cần trải qua 3 bước chính: Thứ nhất là chọn mô hình: Chọn một mô hình thống kê cho tập dữ liệu, ví dụ như mô hình thống kê Bec-nu-li, mô hình phân phối chuẩn. Thứ hai là tìm tham số: Các mô hình thống kê có các tham số tương ứng, nhiệm vụ lúc này là tìm các tham số này sao cho phù hợp với tập dữ liệu nhất có thể. Thứ ba là suy luận hay dự đoán: Sau khi có được mô hình và tham số, có thể dựa vào chúng để đưa ra suy luận cho một đầu vào mới nào đó.
Quy trình phân tích dữ liệu thường có 2 giai đoạn nhỏ là Chuẩn hóa dữ liệu và phân chia chúng thành các tập nhỏ hơn gồm: Tập dữ liệu huấn luyện (Training set): Chiếm 60%, dùng để máy học khi huấn luyện; Tập kiểm chứng (Cross validation set): Chiếm 20%. Dùng để kiểm chứng mô hình khi huấn luyện; Tập kiểm tra (Test set): Chiếm 20%. Dùng để kiểm tra xem mô hình đã phù hợp chưa sau khi huấn luyện.1: Quy trình xử lý dữ liệu bằng học máy (Nguồn: Nhóm nghiên cứu tổng hợp) 2. MỘT SỐ THUẬT TOÁN HỌC MÁY PHỔ BIẾN 2.
Phân loại dựa trên phương thức học Các thuật toán trong học máy có thể được phân nhóm dựa trên phương thức học bao gồm: Học có giám sát (Supervised Learning), Học không giám sát (Unsupervised 17 Luan van Learning), Học bán giám sát (hay học kết hợp – Semi Supervised Learning) và Học tăng cường (Reinforcement Learning) minh họa như trong Hình 2.2 Phân loại thuật toán theo phương pháp học Học có giám sát Học không giám sát Học bán giám sát Học tăng cường Hình 2.2: Phân loại các thuật toán theo phương pháp học (Nguồn: Nhóm nghiên cứu tổng hợp) - Học có giám sát: Học có giám sát hay còn gọi là học có thầy 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. Khi đó, thông qua một quá trình huấn luyện, một mô hình sẽ được xây dựng để cho ra các dự đoán và khi các dự đoán bị sai thì mô hình này sẽ được tinh chỉnh lại. Việc huấn luyện sẽ tiếp tục cho đến khi mô hình đạt được mức độ chính xác mong muốn trên dữ liệu huấn luyện. Điều này cũng giống như khi chúng ta đi học trên lớp, ta biết câu trả lời chính xác từ giáo viên (tập dữ liệu có nhãn) và từ đó ta sẽ sửa chữa nếu làm sai.
Ví dụ như trong nhận dạng chữ số viết tay, ta 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. Hoặc người 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 nà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. Các thuật toán học có giám sát còn được phân ra thành hai loại chính là phân lớp (Classification) và hồi quy (Regression). + Phân lớp: 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. Hoặc ví dụ nhận dạng ký số viết tay ở trên cũng thuộc bài toán phân lớp, bao gồm mười lớp ứng với các số từ 0 đến 9. Tương tự cho ví dụ nhận dạng khuôn mặt với hai lớp là phải và không phải khuôn mặt, … Các thuật toán phân lớp phổ biến như K-Nearest Neighbors, mạng nơron nhân tạo, SVM, … + Hồi quy: Một bài toán được xem là hồi quy nếu nhãn không được chia thành các nhóm mà là một giá trị thực cụ thể (miền giá trị là liên tục). Hầu hết các bài toán dự báo (giá cổ phiếu, giá nhà, …) thường được xếp vào bài toán hồi quy, … Các thuật toán hồi quy như Linear Regression, Logistic Regression, … - Học không giám sát: Trái với Supervised learning, học không giám sát hay học không thầy 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à ta không biết câu trả lời chính xác cho mỗi dữ liệu đầu vào.
Điều này cũng giống như 18 Luan van khi ta học mà không có thầy cô, sẽ không trí tuệ nhân tạo cho ta biết đáp án đúng là gì. 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í 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). + 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. Điều này cũng giống như việc ta đưa cho một đứa trẻ rất nhiều mảnh ghép với các hình dạng và màu sắc khác nhau, có thể là tam giác, vuông, tròn với màu xanh, đỏ, tím, vàng, sau đó yêu cầu trẻ phân chúng thành từng nhóm. Mặc dù ta không dạy trẻ mảnh nào tương ứng với hình nào hoặc màu nào, nhưng nhiều khả năng trẻ vẫn có thể phân loại các mảnh ghép theo màu sắc hoặc hình dạng. + Luật kết hợp: Là bài toán mà khi chúng ta muốn khám phá ra một quy luật dựa trên nhiều dữ liệu cho trước.
Ví 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 khan giả xem phim này sẽ có xu hướng thích xem phim kia, dựa vào đó ta 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ọc bán giám sát: 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ỏ. Phần lớn các bài toán thực tế của học máy 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ữ.