CHƯƠNG 1 TỔNG QUAN VỀ HỌC MÁY Trong chương này, trình bày một số kiến thức tổng quan về học máy, các khái niệm liên quan đến ứng dụng mô hình học máy để có thể có cơ sở nghiên cứu các nội dung sau. Thuật toán học máy Một thuật toán machine learning là một thuật toán có khả năng học tập từ dữ liệu. Theo Mitchell [3], “A computer program is said to learn from experience E with respect to some tasks T and performance measure P , if its performance at tasks in T , as measured by P , improves with experience E. Một chương trình máy tính được gọi là “học tập” từ kinh nghiệm E để hoàn thành nhiệm vụ T với hiệu quả được đo bằng phép đánh giá P , nếu hiệu quả của nó khi thực hiện nhiệm vụ T , khi được đánh giá bởi P , cải thiện theo kinh nghiệm E.
Lấy ví dụ về một chương trình máy tính có khả năng tự chơi cờ vây. Chương trình này tự học từ các ván cờ đã chơi trước đó của con người để tính toán ra các chiến thuật hợp lý nhất. Mục đích của việc học này là tạo ra một chương trình có khả năng giành phần thắng cao. Chương trình này cũng có thể tự cải thiện khả năng của mình bằng cách chơi hàng triệu ván cờ với chính nó.
Trong ví dụ này, chương trình máy tính có nhiệm vụ chơi cờ vây thông qua kinh nghiệm là các ván cờ đã chơi với chính nó và của con người. Phép đánh giá ở đây chính là khả năng giành chiến thắng của chương trình. Để xây dựng một chương trình máy tính có khả năng học, ta cần xác định rõ ba yếu tố: nhiệm vụ, phép đánh giá, và nguồn dữ liệu huấn 6 LUAN VAN CHAT LUONG download : add luanvanchat@agmail. Hay một chương trình học máy có khả năng dự đoán thành tích học tập của học sinh như mục tiêu của đề tài luận văn đang giải quyết.
Máy tính dựa vào các dữ liệu của các học sinh đã biết thành tích, phân tích các đặc trưng ảnh hưởng đến đầu ra, thực hiện training mô hình để có được mô hình dự đoán trên một mô hình học máy nào đấy để đưa ra kết quả dự đoán. Nhiệm vụ ở đây là đưa ra kết quả học tập dự đoán, từ kinh nghiệm là rất nhiều học sinh đã biết kết quả trên cơ sở mô tả được mỗi điểm dữ liệu là mỗi học sinh ấy có những thành phần nào (véc tơ dữ liệu), kết quả dự đoán được kiểm nghiệm so sánh với kết quả thực tế của học sinh trên tập dữ liệu test. Rồi đánh giá, cải thiện mô hình. Dữ liệu Các nhiệm vụ trong machine learning được mô tả thông qua việc một hệ thống xử lý một điểm dữ liệu đầu vào như thế nào.
Một điểm dữ liệu có thể là một bức ảnh, một đoạn âm thanh, một văn bản, hoặc một tập các hành vi của người dùng trên Internet. Để chương trình máy tính có thể học được, các điểm dữ liệu thường được đưa về dạng tập hợp các con số mà mỗi số được gọi là một đặc trưng (feature). Có những loại dữ liệu được biểu diễn dưới dạng ma trận hoặc mảng nhiều chiều. Một bức ảnh xám có thể được coi là một ma trận mà mỗi phần tử là giá trị độ sáng của điểm ảnh tương ứng.
Một bức ảnh màu ba kênh đỏ, lục, và lam có thể được biểu diễn bởi một mảng ba chiều. Trong cuốn sách này, các điểm dữ liệu đều được biểu diễn dưới dạng mảng một chiều, còn được gọi là vector đặc trưng (feature vector). Vector đặc trưng của một điểm dữ liệu thường được ký hiệu là x ∈ Rd trong đó d là số 7 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com lượng đặc trưng. Các mảng nhiều chiều được hiểu là đã bị vector hoá (vectorized) thành mảng một chiều.
Kinh nghiệm trong machine learning là bộ dữ liệu được sử dụng để xây dựng mô hình. Trong quá trình xây dựng mô hình, bộ dữ liệu thường được chia ra làm ba tập dữ liệu không giao nhau: tập huấn luyện, tập kiểm tra, và tập xác thực. Tập huấn luyện (training set) bao gồm các điểm dữ liệu được sử dụng trực tiếp trong việc xây dựng mô hình. Tập kiểm tra (test set) gồm các dữ liệu được dùng để đánh giá hiệu quả của mô hình.
Để đảm bảo tính phổ quát, dữ liệu kiểm tra không được sử dụng trong quá trình xây dựng mô hình. Điều kiện cần để một mô hình hiệu quả là kết quả đánh giá trên cả tập huấn luyện và tập kiểm tra đều cao. Tập kiểm tra đại diện cho dữ liệu mà mô hình chưa từng thấy, có thể xuất hiện trong quá trình vận hành mô hình trên thực tế. Một mô hình hoạt động hiệu quả trên tập huấn luyện chưa chắc đã hoạt động hiệu quả trên tập kiểm tra.
Để tăng hiệu quả của mô hình trên dữ liệu kiểm tra, người ta thường sử dụng một tập dữ liệu nữa được gọi là tập xác thực (validation set). Tập xác thực này được sử dụng trong việc lựa chọn các siêu tham số mô hình. Một điểm dữ liệu mà đề tài luận văn đang nghiên cứu là thông tin đầu vào của một học sinh. Đó có thể là rất nhiều những thông tin chúng ta thu thập được như họ tên, bố mẹ, nghề nghiệp bố mẹ, số giờ học tập trong tuần, số giờ đọc sách trung bình.Lượng thông tin này cần được chuẩn hóa thành một véc tơ đặc trưng cho dữ liệu.
Các phương pháp trong học máy cũng giúp chúng ta đo lường được sự ảnh hưởng của các thành phần đặc trưng đến đầu ra để loại bớt những thông tin dư thừa và xây dựng véc tơ đặc trưng hợp lý. 8 LUAN VAN CHAT LUONG download : add luanvanchat@agmail. Các bài toán cơ bản trong machine learning Nhiều bài toán phức tạp có thể được giải quyết bằng machine learning. Dưới đây là một số bài toán phổ biến.
Phân loại Phân loại (classification) là một trong những bài toán được nghiên cứu nhiều nhất trong machine learning. Trong bài toán này, chương trình được yêu cầu xác định lớp/nhãn (class/label) của một điểm dữ liệu trong số C nhãn khác nhau. Cặp (dữ liệu, nhãn) được ký hiệu là (x, y) với y nhận một trong C giá trị trong tập đích Y. Trong bài toán này, việc xây dựng mô hình tương đương với việc đi tìm hàm số f ánh xạ một điểm dữ liệu x vào một phần tử y ∈ Y : y = f (x).
Ví dụ 1 : Bài toán phân loại ảnh chữ số viết tay có mười nhãn là các chữ số từ không đến chín. Trong bài toán này: • Nhiệm vụ: xác định nhãn của một ảnh chữ số viết tay. • Phép đánh giá: số lượng ảnh được gán nhãn đúng. • Kinh nghiệm: dữ liệu gồm các cặp (ảnh chữ số, nhãn) biết trước.
Ví dụ 2 : Bài toán phân loại email rác. Trong bài toán này: • Nhiệm vụ: xác một email mới trong hộp thư đến là email rác hay không. • Phép đánh giá: tỉ lệ email rác tìm thấy email thường được xác định đúng. • Kinh nghiệm: cặp các (email, nhãn) thu thập được trước đó.
Ví dụ 3 : Bài toán dự đoán thành tích học tập của học sinh cũng có thể nhìn dưới góc độ một bài toán phân loại. Dữ liệu (học sinh) được phân về, chẳng hạn một trong 4 loại: Xuất sắc, Giỏi, Khá, Trung bình. 9 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com • Nhiệm vụ: Phân loại một học sinh về một trong các nhóm học tập: Xuất sắc, giỏi, khá, trung bình. • Kinh nghiệm: Dữ liệu của hàng ngàn học sinh đã được phân loại trước đó.
Chẳng hạn học sinh hay đọc sách, học nhiều, không nghiện game thì kết quả học tập thường tốt. Học sinh có bố mẹ bỏ nhau, ở với ông bà, chơi game nhiều thường học không tốt. • Phép đánh giá: Tỉ lệ phân lớp đúng trên dữ liệu test. Hồi quy Nếu tập đích Y gồm các giá trị thực (có thể vô hạn) thì bài toán được gọi là hồi quy(regression).
Trong bài toán này, ta cần xây dựng một hàm số f : Rd → R. Ví dụ 1 : Ước lượng giá của một căn nhà rộng x m2 , có y phòng ngủ và cách trung tâm thành phố z km. Ví dụ 2 : Microsoft có một ứng dụng dự đoán giới tính và tuổi dựa trên khuôn mặt (http://how-old. Phần dự đoán giới tính có thể được coi là một mô hình phân loại, phần dự đoán tuổi có thể coi là một mô hình hồi quy.
Chú ý rằng nếu coi tuổi là một số nguyên dương không lớn hơn 150, ta có 150 nhãn khác nhau và phần xác định tuổi có thể được coi là một mô hình phân loại. Bài toán hồi quy có thể mở rộng ra việc dự đoán nhiều đầu ra cùng một lúc, khi đó, hàm cần tìm sẽ là f : Rd → Rm. Một ví dụ là bài toán tạo ảnh độ phân giải cao từ một ảnh có độ phân giải thấp hơn. Khi đó, việc dự đoán giá trị các điểm trong ảnh đầu ra là một bài toán hồi quy nhiều đầu ra.
Ví dụ 3 : Bài toán dự đoán thành tích học tập của học sinh cũng là một bài toán hồi quy. Với mỗi dữ liệu đầu vào chưa biết kết quả học 10 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com tập (là một số thực từ 0.0 theo thang phẩy học sinh phổ thông Việt Nam, làm tròn đến 2 chữ số sau dấu phẩy.) chúng ta mong muốn xây dựng một mô hình hồi quy để đưa ra điểm phẩy dự đoán của học sinh đó. Các tham số mô hình là nghiệm tối ưu của bài toán tối ưu min hàm mất mát, là tổng sai số của các dự đoán trên dữ liệu training đã biết. Máy dịch Trong bài toán máy dịch (machine translation), chương trình máy tính được yêu cầu dịch một đoạn văn trong một ngôn ngữ sang một ngôn ngữ khác.
Dữ liệu huấn luyện là các cặp văn bản song ngữ. Các văn bản này có thể chỉ gồm hai ngôn ngữ đang xét hoặc có thêm các ngôn ngữ trung gian. Lời giải cho bài toán này gần đây đã có nhiều bước phát triển vượt bậc dựa trên các thuật toán deep learning. Phân cụm Phân cụm (clustering) là bài toán chia dữ liệu X thành các cụm nhỏ dựa trên sự liên quan giữa các dữ liệu trong mỗi cụm.
Trong bài toán này, dữ liệu huấn luyện không có nhãn, mô hình tự phân chia dữ liệu thành các cụm khác nhau. Điều này giống với việc yêu cầu một đứa trẻ phân cụm các mảnh ghép với nhiều hình thù và màu sắc khác nhau.