Được sự gợi ý của giáo viên hướng dẫn, em bước đầu tìm hiểu nghiêncứu ứng dụng học máy trong giáo dục nhằm thực hiện một nhiệm vụ: Dự đoán kết quả học tập của học sinh dựa trên những dữ
Trang 1LỜI CAM ĐOAN
Tôi xin cam đoan: Luận văn thạc sỹ chuyên ngành Khoa học máytính, tên đề tài “Sử dụng một số thuật toán học máy để dự đoán thànhtích học tập của học sinh” là công trình nghiên cứu, tìm hiểu và trìnhbày do tôi thực hiện dưới sự hướng dẫn khoa học của TS Đàm ThanhPhương, Trường Đại học Công nghệ Thông tin và Truyền thông - Đạihọc Thái Nguyên
Kết quả tìm hiểu, nghiên cứu trong luận văn là hoàn toàn trung thực,không vi phạm bất cứ điều gì trong luật sở hữu trí tuệ và pháp luật ViệtNam Nếu sai, tôi hoàn toàn chịu trách nhiệm trước pháp luật
Tất cả các tài liệu, bài báo, khóa luận, công cụ phần mềm của các tácgiả khác được sử dụng lại trong luận văn này đều được chỉ dẫn tườngminh về tác giả và đều có trong danh mục tài liệu tham khảo
Thái Nguyên, ngày 18 tháng 10 năm 2020
Tác giả luận vănNguyễn Bích Quỳnh
Trang 2LỜI CẢM ƠN
Tác giả xin chân thành cảm ơn TS Đàm Thanh Phương, trường Đạihọc Công nghệ thông tin và truyền thông - Đại học Thái Nguyên, làgiáo viên hướng dẫn khoa học đã hướng dẫn tác giả hoàn thành luậnvăn này, xin được cảm ơn các thầy, cô giáo trường Đại học công nghệthông tin và truyền thông nơi tác giả theo học và hoàn thành chươngtrình cao học đã nhiệt tình giảng dạy và giúp đỡ
Xin cảm ơn trường THPT Lương Thế Vinh - Cẩm Phả - Quảng Ninhnơi tác giả công tác đã tạo mọi điều kiện thuận lợi để tác giả thu thập
dữ liệu, hoàn thành nghiên cứu và chương trình học tập
Và cuối cùng xin cảm ơn gia đình, bạn bè, đồng nghiệp đã động viên,giúp đỡ tác giả trong suốt thời gian học tập, nghiên cứu và hoàn thànhluận văn này
Xin chân thành cảm ơn
Thái Nguyên, ngày 18 tháng 9 năm 2020
Tác giả luận vănNguyễn Bích Quỳnh
Trang 3DANH SÁCH HÌNH VẼ
2.1 Phiếu khảo sát thông tin 21
2.2 Phiếu khảo sát thông tin (tiếp) 21
2.3 Một số thuộc tính (a) 23
2.4 Một số thuộc tính (b) 23
2.5 Một số thuộc tính (c) 23
2.6 24
2.7 Thống kê thuộc tính bị thiếu dữ liệu 25
2.8 Gom cụm các học sinh theo trung bình các môn 26
2.9 Feature Selection với Lasso 28
3.1 Accuracy explode các model khi sử dụng all features 39
3.2 Accuracy explode các model khi sử dụng features selection 40 3.3 Kết quả dự đoán điểm của một số học sinh khi sử dụng all feature 43
3.4 Kết quả dự đoán điểm của một số học sinh khi sử dụng feature selection 44
Trang 4DANH SÁCH BẢNG
3.1 Độ chính xác của các mô hình khi training với dữ liệu đủ
thuộc tính 393.2 Độ chính xác của các mô hình khi training với dữ liệu lựa
chọn thuộc tính 40
Trang 5||.|| Chuẩn Euclide.
code
Trang 6MỤC LỤC
Lời cam đoan i
Lời cảm ơn ii
Danh sách hình vẽ ii
Danh sách bảng iii
Danh mục ký hiệu, từ viết tắt v
Mở đầu 1
Chương 1 TỔNG QUAN VỀ HỌC MÁY 6
1.1 Thuật toán học máy 6
1.2 Dữ liệu 7
1.3 Các bài toán cơ bản trong machine learning 9
1.4 Phân nhóm các thuật toán machine learning 12
1.5 Hàm mất mát và tham số mô hình 17
Chương 2 THU THẬP VÀ XỬ LÝ DỮ LIỆU 19
2.1 Phát biểu bài toán 19
2.2 Thu thập dữ liệu 20
2.3 Feature Engineering 22
Chương 3 TRAINING MÔ HÌNH VÀ ĐÁNH GIÁ KẾT QUẢ 30 3.1 Một số thuật toán lựa chọn training mô hình 30
3.2 Training mô hình 38
3.3 Lựa chọn và tối ưu hóa tham số mô hình 40
Trang 73.4 Kết quả và đánh giá 43
Kết luận chung 45
Tài liệu tham khảo 45
PHỤ LỤC 47
3.1 Quá trình xử lý data - file process - data.py 47
3.2 file main 51
Trang 8MỞ ĐẦU
Ngày nay, khi xã hội ngày càng phát triển, việc đưa máy tính vào sửdụng, phục vụ cho công việc đời sống của con người đã sản sinh ra mộtkhối lượng dữ liệu lớn và phức tạp (big data), được số hóa và lưu trữtrên máy tính Những tập dữ liệu lớn này có thể bao gồm các dữ liệu cócấu trúc, không có cấu trúc và bán cấu trúc Đó có thể là dữ liệu thôngtin bán hàng trực tuyến, lưu lượng truy cập trang web, thông tin cánhân, thói quen hoạt động thường ngày của con người.v.v Chúng chứađựng nhiều thông tin quý báu mà khi khai thác hợp lý sẽ trở thành trithức, tài sản mang lại giá trị lớn Thách thức đặt ra cho con người làphải đưa ra các phương pháp, thuật toán và công cụ hợp lý làm sao đểphân tích được lượng dữ liệu lớn như vậy
Người ta nhận thấy máy tính có khả năng phân tích, xử lí khối dữliệu lớn và phức tạp, tìm ra các mẫu và quy luật, vượt quá khả năng,tốc độ tính toán ghi nhớ của bộ não con người Khái niệm học máy từ
đó hình thành Ý tưởng cơ bản của học máy là máy tính có thể học hỏi,học tự động theo kinh nghiệm [1] Máy tính phân tích lượng lớn dữ liệu,tìm thấy các mẫu, quy tắc ẩn trong dữ liệu, sử dụng các quy tắc đó để
mô tả dữ liệu mới một cách tự động và liên tục cải thiện
Học máy có rất nhiều ứng dụng, bao gồm nhiều lĩnh vực Máy tìmkiếm sử dụng học máy để xây dựng mối quan hệ tốt hơn giữa các cụm
từ tìm kiếm và các trang web Bằng cách phân tích nội dung của cáctrang web, công cụ tìm kiếm có thể xác định từ nào là cụm từ quantrọng nhất trong việc xác định một trang web nhất định và họ có thể sử
Trang 9dụng cụm từ này để trả thông tin kết quả phù hợp cho cụm từ tìm kiếmnhất định [2] Công nghệ nhận dạng hình ảnh cũng sử dụng học máy
để xác định các đối tượng cụ thể, chẳng hạn như khuôn mặt [5] Đầutiên thuật toán học máy phân tích hình ảnh có chứa một đối tượng nhấtđịnh Nếu được cung cấp đủ hình ảnh cho quá trình này, thuật toán cóthể xác định được hình ảnh có chứa đối tượng đó hay không [3] Ngoài
ra học máy có thể được sử dụng để hiểu loại sản phẩm mà khách hàngquan tâm, bằng cách phân tích các sản phẩm trong quá khứ mà ngườidùng đã mua Máy tính có thể đưa ra đề xuất các sản phẩm khách hàng
có thể mua với xác suất cao [1] Tất cả những ví dụ trên đều có nguyêntắc cơ bản giống nhau: Máy tính xử lý và học cách xác định dữ liệu, sau
đó sử dụng kiến thức này để đưa ra quyết định về dữ liệu trong tươnglai
Tùy theo loại dữ liệu đầu vào, thuật toán học máy có thể được chiathành học có giám sát và học không giám sát Trong học có giám sát,
dữ liệu đầu vào đã có nhãn và đi kèm với một cấu trúc đã biết [1], [5]
Dữ liệu đầu vào được gọi là dữ liệu huấn luyện Thuật toán thường cónhiệm vụ tạo ra một mô hình có thể dự đoán một số thuộc tính từ cácthuộc tính đã biết Sau khi mô hình được tạo, nó được sử dụng để xử
lý dữ liệu có cấu trúc giống dữ liệu đầu vào Trong học không giám sát,
dữ liệu đầu vào chưa có nhãn, không có cấu trúc Nhiệm vụ của thuậttoán là xác định một cấu trúc trong dữ liệu.[2]
Được sự gợi ý của giáo viên hướng dẫn, em bước đầu tìm hiểu nghiêncứu ứng dụng học máy trong giáo dục nhằm thực hiện một nhiệm vụ:
Dự đoán kết quả học tập của học sinh dựa trên những dữ liệu thu thậpđược của học sinh Đây là một hướng nghiên cứu đang thu hút sự quantâm của nhiều nhà khoa học trên thế giới [6], [7], [8] Trong [7], các tác
Trang 10giả sử dụng một số phương pháp phân lớp như mạng nơ ron, NB, Câyquyết định kết hợp với Bagging Boosting và Random Forest để nâng cao
độ chính xác dự đoán Kết quả dự đoán đánh giá trên 80% Trong [8],các tác giả đã hệ thống một số bài báo nghiên cứu ứng dụng học máytrong giáo dục và xem xét xu hướng ứng dụng trong thời gian tới [6] làmột luận văn thạc sĩ sử dụng ba phương pháp là hồi quy tuyến tính, câyquyết định và phân lớp Navie Bayes để dự đoán thành tích học tập Bêncạnh đó, [6] cũng tập trung vào các kỹ thuật feature engineering để xử
lý dữ liệu trích chọn đặc trưng nhằm nâng cao hiệu quả dự đoán Đề tàiluận văn nghiên cứu một số thuật toán học máy, thực hiện các nhiệm
vụ làm sạch dữ liệu, trích chọn đặc trưng từ dữ liệu thu thập được, từ
đó xây dựng mô hình dự đoán thành tích của học sinh, cụ thể là điểmphẩy trung bình môn học của học sinh Quá trình phân tích các dữ liệuhọc sinh cung cấp cũng hi vọng tìm ra được sự tương quan, ảnh hưởngcủa một số yếu tố thể hiện trong véc tơ đặc trưng của dữ liệu đến đầu
ra là kết quả học tập được thể hiện bằng điểm trung bình cùa học sinh
Từ đó, mong muốn đưa ra những khuyến nghị để học sinh phát huy ưuđiểm, hạn chế khuyết điểm và nâng cao hiệu quả học tập
Nội dung của luận văn gồm 3 chương:
Chương 1 Tổng quan về học máy
Chương này trình bày các kiến tổng quan về học máy, các khái niệmliên quan đến ứng dụng mô hình học máy và các thuật ngữ liên quan.Nội dung bao gồm
1.1 Tổng quan về học máy
1.2 Dữ liệu
1.3 Các bài toán cơ bản trong Machine Learning
1.4 Phân nhóm các thuật toán Machine Learning
Trang 111.5 Hàm mất mát và tham số mô hình.
Chương 2 Thu thập và xử lý dữ liệu
Nội dung chương 2 tập trung vào vấn đề thu thập và tiền xử lý dữliệu Quá trình trích chọn đặc trưng rất quan trọng trước khi đưa vào
mô hình huấn luyện Nó giúp cho chúng ta có thể giữ lại các đặc trưngquan trọng nhất phản ánh đúng bản chất của dữ liệu Nó cũng giúp chochúng ta bổ sung các dữ liệu còn thiếu, mất mát hay bị sai lệch khi điềutra Để cuối cùng, mỗi điểm dữ liệu được đặc trưng bởi một véc tơ đặctính đã chuẩn hóa mà máy tính có thể xử lý đồng bộ được Nội dung cụthể gồm:
2.1 Phát biểu bài toán
2.2 Thu thập dữ liệu
2.3 Feature Engineering
Chương 3 Training mô hình và đánh giá kết quả
Sau khi dữ liệu đã được tiền xử lý trong chương 2, chương 3 trình bàykết quả training một số mô hình học máy với dữ liệu này Các thuậttoán được nhắc lại để hiểu bản chất trong một phần Tuy nhiên, để thựchiện chúng ta có các thư viện trong Scikit learn của Python để gọi hàm
và xử lý Cũng có nhiều thành phần, nhiều hàm phải tự viết để thựchiện những nhiệm vụ cụ thể Sau đó, tiến hành đánh giá độ chính xác,phân tích kết quả và đưa ra những dự báo, khuyến nghị Chi tiết triểnkhai gồm có:
3.1 Một số thuật toán lựa chọn training mô hình
3.1 Training mô hình
3.2 Lựa chọn và tối ưu hóa tham số mô hình
3.3 Đánh giá kết quả
Trang 12Để quá trình chạy không quá rối với người dùng, em cũng có xây dựngmột giao diện web demo để những phần lập trình và gọi hàm sẽ được
xử lý trong blackbox, người dùng chỉ việc chọn tập test và nhìn kết quả
Em xin chân thành cảm ơn
Trang 13CHƯƠNG 1TỔ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
1.1 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ănghọc tập từ dữ liệu Theo Mitchell [3], “A computer program is said tolearn from experience E with respect to some tasks T and performancemeasure P, if its performance at tasks in T, as measured by P, improveswith experience E.”
Định nghĩa 1.1.1 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ằngphé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ươngtrình này cũng có thể tự cải thiện khả năng của mình bằng cách chơihà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ơivới chính nó và của con người Phép đánh giá ở đây chính là khả nănggià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ầnxác định rõ ba yếu tố: nhiệm vụ, phép đánh giá, và nguồn dữ liệu huấn
Trang 14Hay một chương trình học máy có khả năng dự đoán thành tích họctậ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áytí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íchcá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 rakế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ả đượcmỗ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
1.2 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ộtvă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ảngnhiều chiều Một bức ảnh xám có thể được coi là một ma trận mà mỗiphần tử là giá trị độ sáng của điểm ảnh tương ứng Một bức ảnh màu bakênh đỏ, lục, và lam có thể được biểu diễn bởi một mảng ba chiều Trongcuố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ộtchiều, còn được gọi là vector đặc trưng (feature vector) Vector đặc trưngcủa một điểm dữ liệu thường được ký hiệu là x ∈ Rd trong đó d là số
Trang 15lượ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ậpkiể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ụngtrự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ínhphổ quát, dữ liệu kiểm tra không được sử dụng trong quá trình xâydựng mô hình Điều kiện cần để một mô hình hiệu quả là kết quả đánhgiá trên cả tập huấn luyện và tập kiểm tra đều cao Tập kiểm tra đạidiệ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ìnhtrên dữ liệu kiểm tra, người ta thường sử dụng một tập dữ liệu nữa đượcgọi là tập xác thực (validation set) Tập xác thực này được sử dụng trongviệ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ậptrong tuần, số giờ đọc sách trung bình Lượng thông tin này cần đượcchuẩn hóa thành một véc tơ đặc trưng cho dữ liệu Các phương pháptrong học máy cũng giúp chúng ta đo lường được sự ảnh hưởng của cácthà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ý
Trang 161.3 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 [1]
1.3.1 Phân loại
Phân loại (classification) là một trong những bài toán được nghiêncứu nhiều nhất trong machine learning Trong bài toán này, chươngtrì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ánnà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) [1], [2]
Ví dụ 1: Bài toán phân loại ảnh chữ số viết tay có mười nhãn là cácchữ 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 haykhô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) đượcphân về, chẳng hạn một trong 4 loại: Xuất sắc, Giỏi, Khá, Trung bình
Trang 17• 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ạitrước đó Chẳng hạn học sinh hay đọc sách, học nhiều, không nghiệngame 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.v.v
• Phép đánh giá: Tỉ lệ phân lớp đúng trên dữ liệu test
mô hình hồi quy Chú ý rằng nếu coi tuổi là một số nguyên dương khônglớ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ùngmột lúc, khi đó, hàm cần tìm sẽ là f :Rd →Rm Một ví dụ là bài toántạ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 quynhiều đầu ra [1], [2]
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
Trang 18tập (là một số thực từ 0.0 đến 10.0 theo thang phẩy học sinh phổ thôngViệt Nam, làm tròn đến 2 chữ số sau dấu phẩy.) chúng ta mong muốnxây dựng một mô hình hồi quy để đưa ra điểm phẩy dự đoán của họcsinh đó Các tham số mô hình là nghiệm tối ưu của bài toán tối ưumin
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
1.3.3 Máy dịch
Trong bài toán máy dịch (machine translation), chương trình máytính được yêu cầu dịch một đoạn văn trong một ngôn ngữ sang mộtngôn ngữ khác Dữ liệu huấn luyện là các cặp văn bản song ngữ Cácvăn bản này có thể chỉ gồm hai ngôn ngữ đang xét hoặc có thêm cácngôn ngữ trung gian Lời giải cho bài toán này gần đây đã có nhiều bướcphát triển vượt bậc dựa trên các thuật toán deep learning.[2]
1.3.4 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ánnày, dữ liệu huấn luyện không có nhãn, mô hình tự phân chia dữ liệuthành các cụm khác nhau.[1]
Đ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épvới nhiều hình thù và màu sắc khác nhau Mặc dù không cho trẻ biếtmảnh nào tương ứng với hình nào hoặc màu nào, nhiều khả năng chúngvẫn có thể phân loại các mảnh ghép theo màu hoặc hình dạng
Ví dụ 1: Phân cụm khách hàng dựa trên hành vi mua hàng Dựa trênviệc mua bán và theo dõi của người dùng trên một trang web thươngmại điện tử, mô hình có thể phân người dùng vào các cụm theo sở thíchmua hàng Từ đó, mô hình có thể quảng cáo các mặt hàng mà người
Trang 19dùng có thể quan tâm.
Ví dụ 2: 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 phân cụm khi chúng ta mong muốn chương trình có thểphân cụm các học sinh một cách tự động đảm bảo các dữ liệu gần nhauđược phân về cùng một cụm Từ đó ta lấy tâm cụm hoặc một phần tửđại diện bất kỳ để suy đoán về các thành viên trong cụm có chung tínhchất
1.3.5 Hoàn thiện dữ liệu – data completion
Một bộ dữ liệu có thể có nhiều đặc trưng nhưng việc thu thập đặctrưng cho từng điểm dữ liệu đôi khi không khả thi Chẳng hạn, một bứcảnh có thể bị xước khiến nhiều điểm ảnh bị mất hay thông tin về tuổicủa một số khách hàng không thu thập được Hoàn thiện dữ liệu (datacompletion) là bài toán dự đoán các trường dữ liệu còn thiếu đó Nhiệm
vụ của bài toán này là dựa trên mối tương quan giữa các điểm dữ liệu
để dự đoán những giá trị còn thiếu Các hệ thống khuyến nghị là một
ví dụ điển hình của loại bài toán này [1] Trong đó, hệ thống đưa racác dự đoán đánh giá của người dùng đối với sản phẩm trên cơ sở cácđánh giá trước đó Từ đó có thể biết người dùng quan tâm, yêu thíchsản phẩm nào mà đưa ra những khuyến nghị
Ngoài ra, có nhiều bài toán machine learning khác như xếp hạng(ranking), thu thập thông tin (information retrieval), giảm chiều dữ liệu(dimentionality reduction), [5], [4],[1]
1.4 Phân nhóm các thuật toán machine learning
Dựa trên tính chất của tập dữ liệu, các thuật toán machine learning
có thể được phân thành hai nhóm chính là học có giám sát và học khônggiám sát Ngoài ra, có hai nhóm thuật toán khác gây nhiều chú ý trong
Trang 20thời gian gần đây là học bán giám sát và học củng cố.[1].
1.4.1 Học có giám sát
Một thuật toán machine learning được gọi là học có giám sát vised learning) nếu việc xây dựng mô hình dự đoán mối quan hệ giữađầu vào và đầu ra được thực hiện dựa trên các cặp (đầu vào, đầu ra) đãbiết trong tập huấn luyện Đây là nhóm thuật toán phổ biến nhất trongcác thuật toán machine learning
(super-Các thuật toán phân loại và hồi quy là hai ví dụ điển hình trong nhómnày Trong bài toán xác định xem một bức ảnh có chứa một xe máy haykhông, ta cần chuẩn bị các ảnh chứa và không chứa xe máy cùng vớinhãn của chúng Dữ liệu này được dùng như dữ liệu huấn luyện cho môhình phân loại Một ví dụ khác, nếu việc xây dựng một mô hình máydịch Anh – Việt được thực hiện dựa trên hàng triệu cặp văn bản Anh –Việt tương ứng, ta cũng nói thuật toán này là học có giám sát
Cách huấn luyện mô hình học máy như trên tương tự với cách dạyhọc sau đây của con người Ban đầu, cô giáo đưa các bức ảnh chứa chữ
số cho một đứa trẻ và chỉ ra đâu là chữ số không, đầu là chữ số một, Qua nhiều lần hướng dẫn, đứa trẻ có thể nhận được các chữ số trongmột bức ảnh chúng thậm chí chưa nhìn thấy bao giờ Quá trình cô giáochỉ cho đứa trẻ tên của từng chữ số tương đương với việc chỉ cho môhình học máy đầu ra tương ứng của mỗi điểm dữ liệu đầu vào Tên gọihọc có giám sát xuất phát từ đây
Diễn giải theo toán học, học có giám sát xảy ra khi việc dự đoán quan
hệ giữa đầu ra y và dữ liệu đầu vào x được thực hiện dựa trên các cặp
{(x1,y1), (x2,y2), , (xN,yN)}trong tập huấn luyện Việc huấn luyện
là việc xây dựng một hàm số f sao cho với mọi i = 1, 2, , N, f (xi)
gần với yi nhất có thể Hơn thế nữa, khi có một điểm dữ liệu x nằm
Trang 21ngoài tập huấn luyện, đầu ra dự đoán f (x) cũng gần với đầu ra thực sự
y
1.4.2 Học không giám sát
Trong một nhóm các thuật toán khác, dữ liệu huấn luyện chỉ bao gồmcác dữ liệu đầu vào x mà không có đầu ra tương ứng Các thuật toánmachine learning có thể không dự đoán được đầu ra nhưng vẫn tríchxuất được những thông tin quan trọng dựa trên mối liên quan giữa cácđiểm dữ liệu Các thuật toán trong nhóm này được gọi là học khônggiám sát (unsupervised learning)
Các thuật toán giải quyết bài toán phân cụm và giảm chiều dữ liệu
là các ví dụ điển hình của nhóm này Trong bài toán phân cụm, có thể
mô hình không trực tiếp dự đoán được đầu ra của dữ liệu nhưng vẫn cókhả năng phân các điểm dữ liệu có đặc tính gần giống nhau vào từngnhóm
Quay lại ví dụ trên, nếu cô giáo giao cho đứa trẻ các bức ảnh chứachữ số nhưng không nêu rõ tên gọi của chúng, đứa trẻ sẽ không biết têngọi của từng chữ số Tuy nhiên, đứa trẻ vẫn có thể tự chia các chữ số cónét giống nhau vào cùng một nhóm và xác định được nhóm tương ứngcủa một bức ảnh mới Đứa trẻ có thể tự thực hiện công việc này màkhông cần sự chỉ bảo hay giám sát của cô giáo Tên gọi học không giámsát xuất phát từ đây
1.4.3 Học bán giám sát
Ranh giới giữa học có giám sát và học không giám sát đôi khi không
rõ ràng Có những thuật toán mà tập huấn luyện bao gồm các cặp (đầuvào, đầu ra) và dữ liệu khác chỉ có đầu vào Những thuật toán này đượcgọi là học bán giám sát (semi-supervised learning)
Trang 22Xét một bài toán phân loại mà tập huấn luyện bao gồm các bức ảnhđược gán nhãn ‘chó’ hoặc ‘mèo’ và rất nhiều bức ảnh thú cưng tải từInternet chưa có nhãn Thực tế cho thấy ngày càng nhiều thuật toánrơi vào nhóm này vì việc thu thập nhãn cho dữ liệu có chi phí cao vàtốn thời gian Chẳng hạn, chỉ một phần nhỏ trong các bức ảnh y học
có nhãn vì quá trình gán nhãn tốn thời gian và cần sự can thiệp củacác chuyên gia Một ví dụ khác, thuật toán dò tìm vật thể cho xe tựlái được xây dựng trên một lượng lớn video thu được từ camera xe hơi;tuy nhiên, chỉ một lượng nhỏ các vật thể trong các video huấn luyện đóđược xác định cụ thể
1.4.4 Học củng cố
Có một nhóm các thuật toán machine learning khác có thể không yêucầu dữ liệu huấn luyện mà mô hình học cách ra quyết định bằng cáchgiao tiếp với môi trường xung quanh Các thuật toán thuộc nhóm nàyliên tục ra quyết định và nhận phản hồi từ môi trường để tự củng cốhành vi Nhóm các thuật toán này có tên học củng cố (reinforcementlearning)
Ví dụ 1: Gần đây, AlphaGo trở nên nổi tiếng với việc chơi cờ vâythắng cả con người (https://goo.gl/PzKcvP) Cờ vây được xem là tròchơi có độ phức tạp cực kỳ cao với tổng số thế cờ xấp xỉ 10761, con sốnày ở cờ vua là 10120 và tổng số nguyên tử trong toàn vũ trụ là khoảng
1080!! Hệ thống phải chọn ra một chiến thuật tối ưu trong số hàng nhiều
tỉ tỉ lựa chọn, và tất nhiên việc thử tất cả các lựa chọn là không khả thi
Về cơ bản, AlphaGo bao gồm các thuật toán thuộc cả học có giảm sát
và học củng cố Trong phần học có giám sát, dữ liệu từ các ván cờ docon người chơi với nhau được đưa vào để huấn luyện Tuy nhiên, mụcđích cuối cùng của AlphaGo không dừng lại ở việc chơi như con người
Trang 23mà thậm chí phải thắng cả con người Vì vậy, sau khi học xong các ván
cờ của con người, AlphaGo tự chơi với chính nó qua hàng triệu ván cờ
để tìm ra các nước đi tối ưu hơn Thuật toán trong phần tự chơi nàyđược xếp vào loại học củng cố
Gần đây, Google DeepMind đã tiến thêm một bước đáng kể với phaGo Zero Hệ thống này thậm chí không cần học từ các ván cờ củacon người Nó có thể tự chơi với chính mình để tìm ra các chiến thuậttối ưu Sau 40 ngày được huấn luyện, nó đã thắng tất cả các con người
Al-và hệ thống khác, bao gồm AlphaGo
Ví dụ 2: Huấn luyện cho máy tính chơi game Mario Đây là mộtchương trình thú vị dạy máy tính chơi trò chơi điện tử Mario Trờ chơinày đơn giản hơn cờ vây vì tại một thời điểm, tập hợp các quyết định
có thể ra gồm ít phần tử Người chơi chỉ phải bấm một số lượng nhỏ cácnút di chuyển, nhảy, bắn đạn Đồng thời, môi trường cũng đơn giản hơn
và lặp lại ở mỗi lần chơi (tại thời điểm cụ thể sẽ xuất hiện một chướngngại vật cố định ở một vị trí cố định) Đầu vào của là sơ đồ của mànhình tại thời điểm hiện tại, nhiệm vụ của thuật toán là tìm tổ hợp phímđược bấm với mỗi đầu vào
Việc huấn luyện một thuật toán học củng cố thông thường dựa trênmột đại lượng được gọi là điểm thưởng (reward) Mô hình cần tìm ramột thuật toán tối đa điểm thưởng đó qua rất nhiều lần chơi khác nhau.Trong trò chơi cờ vây, điểm thưởng có thể là số lượng ván thắng Trongtrò chơi Mario, điểm thưởng được xác định dựa trên quãng đường nhânvật Mario đi được và thời gian hoàn thành quãng đường đó Điểm thưởngnày không phải là điểm của trò chơi mà là điểm do chính người lập trìnhtạo ra
Trang 24tả thông qua một hàm số gọi là hàm mất mát (loss function hoặc costfunction) Hàm số này thường có giá trị nhỏ khi phép đánh giá cho kếtquả tốt và ngược lại Việc đi tìm các tham số mô hình sao cho phép đánhgiá trả về kết quả tốt tương đương với việc tối thiểu hàm mất mát Nhưvậy, việc xây dựng một mô hình machine learning chính là việc đi giảimột bài toán tối ưu Quá trình đó được coi là quá trình learning củamachine [1].
Tập hợp các tham số mô hình được ký hiệu bằng θ, hàm mất mátcủa mô hình được ký hiệu là L(θ) hoặc J (θ) Bài toán đi tìm tham số
mô hình tương đương với bài toán tối thiểu hàm mất mát:
L(θ) được hiểu là giá trị củaθ để hàm số L(θ)
đạt giá trị nhỏ nhất Biến số được ghi dưới dấu argmin là biến đangđược tối ưu Biến số này cần được chỉ rõ, trừ khi hàm mất mát chỉ phụthuộc vào một biến duy nhất Ký hiệu argmax cũng được sử dụng mộtcách tương tự khi cần tìm giá trị của các biến số để hàm số đạt giá trị
Trang 25Trong nội dung luận văn, cũng có một phần em nghiên cứu điều chỉnhcác tham số mô hình của thuật toán để xem xét hiệu quả Tuy nhiênviệc nghiên cứu sâu các bài toán tối ưu để đề xuất các tham số mô hìnhhiệu quả không phải là lĩnh vực nghiên cứu chính của đề tài.
Trang 26CHƯƠNG 2THU THẬP VÀ XỬ LÝ DỮ LIỆU
Nội dung chương 2 tập trung vào các vấn đề sau: Phát biểu bài toán,thu thập dữ liệu, tiền xử lý dữ liệu, tìm hiểu thuật toán và ứng dụngthuật toán vào xử lý dữ liệu
2.1 Phát biểu bài toán
Dựa trên những dữ liệu đã được thu thập về sự ảnh hưởng của nhiềuyếu tố đến kết quả học tập của học sinh, xây dựng mô hình học máy cóthể đưa ra dự đoán về một học sinh có véc tơ dữ liệu cho trước sẽ có kếtquả học tập như thế nào? Từ đó có thể tư vấn cho học sinh sinh viênkịp thời nếu có nhiều những dấu hiệu cho thấy em ấy sẽ học kém nếutiếp tục có những lối sống như trước để thay đổi hay phát huy nhữngkinh nghiệm ảnh hưởng tốt đến học tập
Kinh nghiệm E: Tập dữ liệu được khảo sát về kết quả học tập của họcsinh với đầy đủ những thuộc tính thu thập được
Nhiệm vụ T: Dự đoán (phân lớp, hồi quy) kết quả học tập cho các họcsinh chưa có kết quả
Phép đánh giá P: Ở đây là các phép đánh giá về độ chính xác của các
mô hình học máy, độ liên quan của các thuộc tính với đầu ra, các kỹthuật đánh giá mô hình học máy
Một số kỹ thuật Feature Engineering được sử dụng để trích chọn đặctrưng của dữ liệu [1]
1 Trực tiếp lấy dữ liệu thô
2 Lựa chọn đặc trưng
Trang 272.2 Thu thập dữ liệu
Thu thập dữ liệu là công việc rất quan trọng, vì không có dữ liệuthì không thể xây dựng được mô hình Thông qua tìm hiểu cá nhân vàtham khảo một số nghiên cứu tương tự cho thấy các thành phần như:Năng khiếu, di truyền dòng họ, bố mẹ và kết hợp các điều kiện hoàncảnh nghị lực sống có tác động ảnh hưởng trực tiếp đến kết quả học tậpcủa một học sinh Động cơ học tập, sức khỏe, gia đình, trường học, xãhội, mạng xã hội đều có những ảnh hưởng lớn đến kết quả học tập Từ
đó thiết kế và liệt kê rất nhiều những câu hỏi trong bảng hỏi để có thểlấy được nhiều thông tin nhất của học sinh Việc khảo sát và thu thậptrực tiếp được thực hiện với hơn 500 học sinh các khóa 19 (niên khóa2017-2020), 20 (niên khóa 2018-2021) và 21 (niên khóa 2019-2022) tạitrường THPT Lương Thế Vinh – Cẩm Phả - Quảng Ninh để đưa ra mốiliên hệ và dự đoán Phiếu khảo sát được thực hiện theo mẫu như hình2.1, 2.2 Bao gồm các thông tin:
1 Mã lớp - Định danh lớp học của học sinh
2 Họ và tên
3 TBCM - Điểm trung bình các môn trong năm học
4 Bi quan - Thái độ sống, lạc quan tích cực hay tiêu cực, bi quan
5 Học thêm - Có học thêm hay không
6 Người yêu - Có người yêu, bạn khác giới hay không
7 Học đại học - Có nguyện vọng học tiếp đại học hay không
8 Làm việc nhà - Có tham gia làm việc nhà thường xuyên không
9 Số lượng bạn bè
Trang 28Hình 2.1: Phiếu khảo sát thông tin
Hình 2.2: Phiếu khảo sát thông tin (tiếp)
Trang 2910 Thời gian ở trường.
11 Hút thuốc - Có hút thuốc hay không
12 Uống rượu - Lượng ml rượu uống trong tuần
13 Uống chè - Có thói quen uống chè không
14 Thời gian rảnh- Thời gian tính giờ trên tuần
15 Thời gian chơi game - Giờ trên tuần
16 Thời gian thể thao- Giờ trên tuần
17 Thời gian đọc sách - Giờ trên tuần
18 Thời gian học bài - Giờ trên tuần
2.3 Feature Engineering
Mỗi điểm dữ liệu trong một mô hình machine learning thường đượcbiểu diễn bằng một vector được gọi là vector đặc trưng (feature vector)[2] Trong cùng một mô hình, các vector đặc trưng của các điểm thường
có kích thước như nhau Điều này là cần thiết vì các mô hình bao gồm
Trang 30Hình 2.3: Một số thuộc tính (a).
Hình 2.4: Một số thuộc tính (b).
các phép toán với ma trận và vector, các phép toán này yêu cầu dữ liệu
có chiều phù hợp Tuy nhiên, dữ liệu thực tế thu thập được ở dạng thôvới kích thước khác nhau, một số trường dữ liệu thiếu, một số dư thừanên cần áp dụng các kỹ thuật Feature Engineering để xây dựng véc tơđặc trưng đảm bảo phản ánh đúng bản chất của mỗi điểm dữ liệu vàthực hiện được các thuật toán học máy, tăng hiệu quả của mô hình
Hình 2.5: Một số thuộc tính (c).
Trang 31Bước này nằm trong quan hệ tổng thể của một mô hình học máy cơbản được minh hoạc như hình 2.6 [1].
Pha huấn luyện
Dữ liệu huấn luyện
thô (đầu vào)
Đầu ra huấn luyện
( ytrain)
Thông tin biết trước về dữ liệu
Bộ trích chọn đặc trưng
Đặc trưng được trích chọn (X train ) Thuật toánphân loại,
hồi quy, phân cụm,
Pha kiểm tra
Dữ liệu kiểm tra
thô (đầu vào)
Bộ trích chọn đặc trưng
Đặc trưng được trích chọn (X test ) Thuật toánphân loại,
hồi quy, phân cụm,
Đầu ra dự đoán ( ytest) Hình 2.6: Mô hình chung trong các bài toán machine learning
2.3.1 Trực tiếp lấy dữ liệu thô
Dữ liệu khi khảo sát thu thập và số hóa trên máy tính chưa đượcchuẩn hóa, chưa tuân theo một quy tắc cụ thể ràng buộc chặt chẽ nào.Nhiều trường dữ liệu học sinh có thể trả lời là chữ có thể là số (như tuổi,thời gian học bài), có thể ngắn có thể dài (nhiều bạn khai đủ, một sốbạn khai thiếu thông tin), có thể viết tắt có thể không (nhiều học sinhtrả lời bằng lối viết tắt), có thể tiếng Anh (những từ thông dụng như