Trong phần này nghiên cứu sẽ áp dụng phương pháp MF để xây dựng mô hình dự đoán điểm. MF là mô hình dự đoán dựa trên quan điểm rằng mỗi sinh viên hay môn học đều có những đặc trưng tiềm ẩn, thuộc nhóm mô hình latent factor. Mục tiêu của phương pháp này là tìm cách biểu diễn lại các sinh viên và môn học trong một không gian đặc trưng để phục vụ việc dự đoán.
Tiền xử lý dữ liệu
Trong phần tiền xử lý dữ liệu với mô hình MF, nghiên cứu sẽ thực hiện thay đổi khoảng giá trị của điểm số, thay vì thang điểm từ 0 – 10 thì chuyển thành từ 0 – 1. Với khoảng giá trị ban đầu của dữ liệu điểm từ 0 – 10 là khá lớn khiến cho quá trình tối ưu hóa các ma trận đặc trưng ẩn có tốc độ chậm và có thể khiến hàm tối ưu không thể hội tụ được. Cho nên việc co khoảng giá trị này lại bằng cách chia toàn bộ điểm số trong ma
trận năng lực G cho 10 để khoảng giá trị lúc này chỉ còn từ 0 – 1 khiến dễ dàng hơn trong việc tính các ma trận đặc trưng của sinh viên và môn học từ ma trận năng lực G.
Sau khi co khoảng giá trị của dữ liệu điểm trong ma trận G, tiếp tục thực hiện chuẩn hóa dữ liệu điểm bằng một trong hai cách theo hàng hoặc theo cột tương tự như với hai mô hình phía trên. Cũng tương tự với hai mô hình trên, nghiên cứu tiến hành chuẩn hóa dữ liệu theo hàng bằng cách lấy điểm các môn của sinh viên và trừ đi điểm trung bình các môn của sinh viên đó.
Huấn luyện
Gọi ma trận năng lực sau khi được xử lý ở bước trên là G có kích thước là m × n, trong đó m là số sinh viên và n là số môn học. Và hai ma trận đặc trưng cho sinh viên và môn học lần lượt là hai ma trận không rỗng Sf, Cf có kích thước là m × k và k × n. Khi đó, tích của hai ma trận Sf và Cf là một ma trận 𝐺̂ có kích thước m × n. Ta có công thức sau:
𝐺 ≈ 𝐺̂ = 𝑆𝑓 ⋅ 𝐶𝑓 (2.5)
Công thức 2.5 thể hiện mong muốn tích của hai ma trận Sf và Cf sẽ tương đương với ma trận G và sai số giữa tích đó với G nhỏ ở mức chấp nhận được, nhưng cũng không được nhỏ quá để tránh việc mô hình bị overfitting. Cụ thể, ta tính toán và tối ưu hóa hàm mất mát sau:
𝑙𝑜𝑠𝑠(𝑆𝑓, 𝐶𝑓) = 1
2𝑡∑𝑛𝑖=1∑𝑚𝑗=1(𝑔𝑖𝑗 − 𝑆𝑓 ⋅ 𝐶𝑓)2[𝑔𝑖𝑗 ≠ 𝑛𝑢𝑙𝑙] +𝜆
2(‖𝑆𝑓‖𝐹2 + ‖𝐶𝑓‖𝐹2) (2.6) Trong công thức 2.6, t là ký hiệu của tổng số các giá trị đã có trong ma trận G, có thể được tính bằng cách
𝑡 = ∑𝑛𝑖=1∑𝑚𝑗=11[𝑔𝑖𝑗 ≠ 𝑛𝑢𝑙𝑙] (2.7)
Còn ||a||F2 là chuẩn Frobenius của ma trận a, có công thức tính là:
‖𝑎‖𝐹2 = √∑ ∑𝑚 𝑎𝑖𝑗2 𝑗=1 𝑛
𝑖=1 (2.8)
Để cập nhật hai ma trận đặc trưng, ta chia nhỏ hàm mất mát thành hai hàm, mỗi hàm sẽ có một biến là ma trận đặc trưng Sf hoặc Cf:
𝑙𝑜𝑠𝑠(𝑆𝑓) = 1 2𝑡∑𝑛𝑖=1∑𝑚𝑗=1(𝑔𝑖𝑗 − 𝑆𝑓 ⋅ 𝐶𝑓)2[𝑔𝑖𝑗 ≠ 𝑛𝑢𝑙𝑙] +𝜆 2‖𝑆𝑓‖𝐹2 (2.9) 𝑙𝑜𝑠𝑠(𝐶𝑓) = 1 2𝑡∑𝑛𝑖=1∑𝑚𝑗=1(𝑔𝑖𝑗− 𝑆𝑓 ⋅ 𝐶𝑓)2[𝑔𝑖𝑗 ≠ 𝑛𝑢𝑙𝑙] +𝜆 2‖𝐶𝑓‖𝐹2 (2.10) Và ta sẽ sử dụng phương pháp xuống dốc (gradient descent) để cập nhật cho các ma trận này:
𝑆𝑓 = 𝑆𝑓 − 𝑙𝑟 ⋅ 𝑙𝑜𝑠𝑠(𝑆𝑓) (2.11)
𝐶𝑓 = 𝐶𝑓 − 𝑙𝑟 ⋅ 𝑙𝑜𝑠𝑠(𝐶𝑓) (2.12)
Để đánh giá xem cần phải thực hiện số vòng lặp để cập nhật các ma trận là bao nhiêu để tối ưu hóa được độ mất mát mà vẫn không bị overfitting, thực hiện việc kiểm thử với một phần dữ liệu rời và so sánh với hàm mất mát (2.6). Ban đầu, khi tăng số vòng lặp cập nhật, loss(Sf, Cf) giảm và sai số dự đoán cũng giảm, có nghĩa là độ chính xác của mô hình ngày càng tăng. Tiếp tục tăng số vòng lặp cập nhật ma trận lên, loss(Sf, Cf) vẫn giảm nhưng sai số dự đoán lại tăng, có nghĩa là mô hình đang dần bị overfitting. Khi đó ta sẽ dừng việc tăng số vòng lặp cập nhật ma trận và chọn số vòng lặp trước khi sai số dự đoán tăng để huấn luyện. Sau khi thực nghiệm, nhận thấy 100 là số lần lặp tốt nhất trong trường hợp này.
Dự đoán kết quả học tập
Ma trận 𝐺̂ chính là ma trận G khi đã được điền đầy đủ dữ liệu. Cho nên các phần tử cần dự đoán trong G đều đã có giá trị tương ứng trong 𝐺̂. Việc dự đoán bây giờ có nghĩa là ta sẽ lấy phần tử cần dự đoán trong 𝐺̂ và đưa nó về lại thang điểm từ 0 đến 10. Nếu x là môn học cần dự đoán điểm của sinh viên a (x thuộc tập hợp các môn học đã biết), ta sẽ có công thức dự đoán điểm như sau:
𝑝𝑟𝑒(𝑎, 𝑥) = [( 𝑔̂𝑎𝑥 + 𝑚𝑒𝑎𝑛) ∗ 10] (2.13)
Trong đó, 𝑔̂𝑎𝑥 là phần tử tương ứng với hàng a cột x trong ma trận 𝐺̂ và mean là trung bình hàng hoặc cột đã được trừ đi trong phần tiền xử lý dữ liệu.
CHƯƠNG 3. THỬ NGHIỆM VÀ ĐÁNH GIÁ MÔ HÌNH
Trong phần này, luận văn sẽ tiến hành thực nghiệm các mô hình đã đề xuất trong chương 2 với tập dữ liệu thực tế, sau đó sẽ đánh giá độ chính xác kết quả dự đoán của từng mô hình. Dữ liệu được sử dụng để thực nghiệm mô hình là dữ liệu kết quả học tập thực tế của sinh viên tại Trường Đại học Công nghệ - Đại học Quốc gia Hà Nội (ĐHQGHN). Đây là một trong các cơ sở đào tạo tổ chức đào tạo đại học theo tín chỉ trong 4 năm học với 8 học kỳ. Trước mỗi học kỳ, sinh viên sẽ có khoảng hai đến ba tuần để lựa chọn, đăng ký các môn học mà mình muốn học trong học kỳ tiếp theo. Kết quả học tập của sinh viên được đánh giá thông qua điểm số mà sinh viên đạt được. Điểm số này thường được tính theo thang bậc 10, và sau đó quy đổi sang thang điểm chữ từ A đến F để phù hợp với quy định đào tạo theo tín chỉ. Mỗi giảng viên sẽ có các hình thức đánh giá và cho điểm sinh viên khác nhau. Điểm số trung bình môn chính là kết quả đánh giá cuối cùng môn học, thường bao gồm 30% đến 40% điểm thành phần và 60% đến 70% điểm cuối kỳ.