Việc lựa chọn đội tuyển học sinh giỏi các môn Tin học, Toán, Lí, Hoá,… tại các trường THPT trên địa bàn tỉnh Bình Dương, cũng như trên cả nước hiện nay thông thường dựa trên cảm tính là
Trang 1ỦY BAN NHÂN DÂN TỈNH BÌNH DƯƠNG
TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT
TRẦN THỊ MỘNG THU
KHAI PHÁ DỮ LIỆU GIÁO DỤC
ĐỂ CHỌN HỌC SINH CÓ KHẢ NĂNG VÀO ĐỘI TUYỂN HỌC SINH GIỎI TIN HỌC
– ÁP DỤNG CHO TRƯỜNG THPT Ở BÌNH DƯƠNG
CHUYÊN NGÀNH: HỆ THỐNG THÔNG TIN
MÃ SỐ: 218480104015
LUẬN VĂN THẠC SĨ
BÌNH DƯƠNG – 2023
Trang 2ii
ỦY BAN NHÂN DÂN TỈNH BÌNH DƯƠNG
TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT
TRẦN THỊ MỘNG THU
KHAI PHÁ DỮ LIỆU GIÁO DỤC
ĐỂ CHỌN HỌC SINH CÓ KHẢ NĂNG VÀO ĐỘI TUYỂN HỌC SINH GIỎI TIN HỌC – ÁP DỤNG CHO TRƯỜNG THPT Ở BÌNH DƯƠNG
CHUYÊN NGÀNH: HỆ THỐNG THÔNG TIN
MÃ SỐ: 218480104015
LUẬN VĂN THẠC SĨ NGƯỜI HƯỚNG DẪN KHOA HỌC:
PGS.TS TRẦN VĨNH PHƯỚC
BÌNH DƯƠNG – 2023
Trang 3iii
LỜI CAM ĐOAN
Tôi cam đoan đây là công trình nghiên cứu của riêng tôi Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công trình nghiên cứu nào khác
Tôi xin cam đoan rằng mọi thông tin trích dẫn trong luận văn đã được chỉ
rõ nguồn gốc
Người thực hiện
Trần Thị Mộng Thu
Trang 4iv
LỜI CẢM ƠN
Tôi xin chân thành cảm ơn quý thầy cô giảng viên và chuyên viên tại trường Đại học Thủ Dầu Một đã truyền đạt những kiến thức quý báu cũng như hỗ trợ cho tôi trong quá trình học tập và nghiên cứu
Đặc biệt, tôi xin gửi lời cám ơn đến Thầy PGS.TS Trần Vĩnh Phước, Thầy
đã hết lòng tận tình hướng dẫn và hỗ trợ tôi trong suốt quá trình nghiên cứu và thực hiện luận văn này
Tôi xin chân thành cảm ơn Ban lãnh đạo nhà trường và các em học sinh của trường THPT Huỳnh Văn Nghệ, trường THPT Chuyên Hùng Vương đã hỗ trợ tôi thực hiện việc khảo sát về mặt dữ liệu trong luận văn
Tôi xin gửi lời cảm ơn sâu sắc đến gia đình, cha, mẹ, chồng của tôi đã luôn bên cạnh hỗ trợ, động viên và tạo điều kiện thuận lợi cho tôi hoàn thành luận văn
Cuối cùng, tôi xin cảm ơn các bạn cùng lớp CH21HT01 đã luôn chia sẻ, trao đổi, thảo luận trong quá trình học tập và nghiên cứu
Trang 5Với đề tài “Khai phá dữ liệu giáo dục để chọn học sinh có khả năng vào
đội tuyển học sinh giỏi Tin học – Áp dụng cho trường THPT ở Bình Dương” giúp
cho việc tuyển chọn học sinh vào đội tuyển một cách khách quan, có khả năng đạt nhiều giải cao trong các kỳ thi học sinh giỏi hơn
Đề tài này đề xuất mô hình gợi ý cho bài toán tuyển chọn học sinh có khả năng đạt giải khi tham gia các kỳ thi học sinh giỏi vào đội tuyển Đề tài trình bày kiến thức nền tảng về mô hình Support Vector Machines (SVM) và áp dụng vào bài toán dự đoán Tiếp theo, để thu thập dữ liệu cho việc huấn luyện mô hình cần tiến hành khảo sát bằng cách cho học sinh nhập trực tiếp câu trả lời vào Google Forms Sau đó, dữ liệu thu thập được xử lý và đưa vào mô hình đề xuất Cuối cùng, sử dụng kết quả dự đoán thông qua việc huấn luyện mô hình để đưa ra gợi
ý cho việc tuyển chọn học sinh giỏi
Trang 6vi
MỤC LỤC
Trang
LỜI CAM ĐOAN iii
LỜI CẢM ƠN iv
TÓM TẮT v
MỤC LỤC vi
DANH MỤC CHỮ VIẾT TẮT viii
DANH MỤC BẢNG ix
DANH MỤC HÌNH, ĐỒ THỊ x
MỞ ĐẦU 1
1 Lý do chọn đề tài 1
2 Mục tiêu của đề tài 2
3 Đối tượng và phạm vi nghiên cứu 2
3.1 Đối tượng nghiên cứu 2
3.2 Phạm vi nghiên cứu 2
4 Phương pháp nghiên cứu 2
5 Ý nghĩa khoa học và thực tiễn 3
6 Cấu trúc luận văn 3
Chương 1 BỐI CẢNH VÀ NGHIÊN CỨU CÓ LIÊN QUAN 5
1.1 Bối cảnh 5
1.2 Các nghiên cứu liên quan 6
1.3 Hiệu suất mô hình hoá 8
1.4 Tuyển chọn học sinh vào đội tuyển học sinh giỏi 9
1.4.1 Các tính năng toán học của Winner-Domain 9
1.4.2 Tuyển chọn học sinh vào đội tuyển HSG 10
Chương 2 CƠ SỞ LÝ THUYẾT 11
2.1 Giới thiệu về SVM (Support Vector Machine) 11
2.2 Khoảng cách từ một điểm đến một siêu phẳng 12
2.3 Thuật toán SVM (Support Vector Machine) 13
2.3.1 SVM (Support Vector Machine) là gì? 13
2.3.2 Xác định hyper-plane trong SVM [21] 14
2.3.2.1 Xác định hyper-plane (Scenario-1) 14
2.3.2.2 Xác định hyper-plane (Scenario-2) 15
Trang 7vii
2.3.2.3 Xác định hyper-plane (Scenario-3) 15
2.3.2.4 Xác định hyper-plane (Scenario-4) 16
2.3.2.5 Xác định hyper-plane (Scenario-5) 17
2.3.3 Margin trong SVM 18
2.3.4 Kernel trick 19
2.4 Missed values 21
2.4.1 Missed values 21
2.4.2 K-Nearest Neighbors Imputer 22
2.5 Mô phỏng thuật toán SVM 23
2.5.1 Các bước thực hiện SVM 23
2.5.2 Mô phỏng thuật toán SVM 24
Chương 3 MÔ HÌNH DỰ ĐOÁN HỌC SINH GIỎI 25
3.1 Phân tích bài toán 25
3.2 Chuẩn bị dữ liệu 26
3.3 Xử lý dữ liệu 27
3.3.1 Xử lý dữ liệu thu thập 27
3.3.2 Xử lý dữ liệu bị thiếu 31
3.3.3 Xử lý dữ liệu bị mất cân bằng 33
3.4 Huấn luyện dữ liệu 36
3.5 So sánh các mô hình 39
Chương 4 KẾT LUẬN 42
4.1 Kết quả đạt được 42
4.2 Tồn tại và hạn chế 42
4.3 Hướng phát triển 42
TÀI LIỆU THAM KHẢO 43
PHỤ LỤC 47
Trang 9ix
DANH MỤC BẢNG
- Bảng 3.1 Xử lý điểm các môn 28
- Bảng 3.2 Xử lý thuộc tính team, Degree 29
- Bảng 3.3 Xử lý thuộc tính Like Informatic, Game 29
- Bảng 3.4 Xử lý thuộc tính Personality 29
- Bảng 3.5 Xử lý thuộc tính Interest 29
- Bảng 3.6 Xử lý thuộc tính Datetime, Weektime 29
- Bảng 3.7 Xử lý thuộc tính Parents, Lover 30
- Bảng 3.8 Xử lý thuộc tính Family, Opinion 30
- Bảng 3.9 Xử lý thuộc tính Mentality 30
- Bảng 3.10 Xử lý thuộc tính Sport, Sports 30
- Bảng 3.11 Xử lý thuộc tính Program 31
- Bảng 3.12 Kiểm tra số dòng của thuộc tính bị trống 31
- Bảng 3.13 Kiểm tra số dòng của thuộc tính bị trống sau khi xử lý 32
- Bảng 3.14 Bảng so sánh các mô hình 40
Trang 10x
DANH MỤC HÌNH, ĐỒ THỊ
Hình 3.1 Biểu đồ khảo sát dữ liệu học sinh các lớp 26
Hình 3.2 Biểu đồ khảo sát dữ liệu học sinh đạt và chưa đạt giải HSG 27
Hình 3.3 5 dòng đầu của bộ dữ liệu 27
Hình 3.4 Thống kê cơ bản: max, min, mean của các columns trong dataset 27
Hình 3.5 Bảng điểm học tập của học sinh 28
Hình 3.6 Bảng thông tin phi học tập của học sinh 28
Hình 3.7 Xử lý giá trị thiếu 32
Hình 3.8 Biểu đồ so sánh miền Win và Unsuccessful 33
Hình 3.9 Code tạo tập dữ liệu mẫu 34
Hình 3.10 Code cân bằng dữ liệu SVMSMOTE 34
Hình 3.11 Các thông số đánh giá mô hình trên tập kiểm tra 35
Hình 3.12 Biểu đồ so sánh miền Win và Unsuccessful sau khi cân bằng 36
Hình 3.13 Confusion Matrix 37
Hình 3.14 Đo độ chính xác của mô hình trên tập kiểm tra 38
Hình 3.15 Tính điểm precision-recall 39
Hình 3.16 Confusion Matrix mô hình SVM và Logistic Regression 39
Hình 3.17 Confusion Matrix mô hình Decision Tree và Random Forest 40
Trang 11Giáo dục và đào tạo đóng vai trò quan trọng trong việc phát triển tài năng, nâng cao sự hiểu biết và năng lực của người dân, tạo điều kiện thuận lợi cho sự nghiên cứu, sáng tạo và phát triển kinh tế xã hội Điều này đồng thời giúp củng
cố và bảo tồn các giá trị văn hóa và đạo đức truyền thống của dân tộc
Hằng năm, cuộc thi học sinh giỏi cấp tỉnh và cấp quốc gia được tổ chức là một phần quan trọng của hệ thống giáo dục Việt Nam Cuộc thi nhằm tìm kiếm tuyển chọn những học sinh có kiến thức và khả năng xuất sắc để đại diện cho Việt Nam tham gia các cuộc thi quốc tế, như các kỳ thi Học sinh giỏi quốc tế, các cuộc thi khoa học và toán học quốc tế, và các sự kiện giáo dục quốc tế khác
Cuộc thi học sinh giỏi đã thu hút sự quan tâm của rất nhiều học sinh, giáo viên và phụ huynh, và nó đã trở thành một sự kiện quan trọng trong lịch trình giáo dục của Việt Nam Nó cũng giúp thúc đẩy sự phát triển và tạo ra cơ hội cho các tài năng trẻ thể hiện bản thân và đóng góp cho xã hội
Vào tháng 10 hằng năm, Sở Giáo dục và Đào tạo tỉnh Bình Dương tổ chức cuộc thi học sinh giỏi cấp tỉnh, nhằm lựa chọn những học sinh có kiến thức và thành tích học tập xuất sắc vào đội tuyển dự thi học sinh giỏi cấp quốc gia từ các trường THPT của tỉnh Các trường THPT có học sinh đạt giải ở kỳ thi học sinh giỏi cấp tỉnh, cấp quốc gia là một đóng góp thành tích rất lớn trong phong trào thi đua “Dạy tốt, học tốt” Chính vì vậy, mỗi trường THPT trong tỉnh ngay từ đầu mỗi năm học đều tuyển chọn học sinh giỏi để thành lập đội tuyển dự thi cấp tỉnh, cấp quốc gia từ nguồn học sinh các khối 10, 11, 12 của trường
Việc lựa chọn đội tuyển học sinh giỏi các môn Tin học, Toán, Lí, Hoá,… tại các trường THPT trên địa bàn tỉnh Bình Dương, cũng như trên cả nước hiện nay thông thường dựa trên cảm tính là kết quả học tập của học sinh và cảm tính
Trang 122
của giáo viên tuyển chọn Vấn đề đặt ra, là làm thế nào để tuyển chọn học sinh vào đội tuyển một cách khách quan và khả năng đạt giải cao trong các kỳ thi học sinh giỏi?
Đề tài “Khai phá dữ liệu giáo dục để chọn học sinh có khả năng vào đội
tuyển học sinh giỏi Tin học – Áp dụng cho trường THPT ở Bình Dương” nhằm
mục đích tuyển chọn học sinh vào đội tuyển học sinh giỏi môn Tin học, áp dụng tại trường THPT của tỉnh Bình Dương
2 Mục tiêu của đề tài
Đề tài “Khai phá dữ liệu giáo dục để chọn học sinh có khả năng vào đội
tuyển học sinh giỏi Tin học - Áp dụng cho trường THPT ở tỉnh Bình Dương”
nhằm mục đích tuyển chọn học sinh vào đội tuyển học sinh giỏi môn Tin học
3 Đối tượng và phạm vi nghiên cứu
3.1 Đối tượng nghiên cứu
- Học sinh trong các trường THPT ở tỉnh Bình Dương
- Khai phá dữ liệu giáo dục
- Đề xuất áp dụng mô hình SVM (Support Vector Machine) cho bài toán
dự đoán
3.2 Phạm vi nghiên cứu
Trong đề tài này, nghiên cứu bộ dữ liệu liên quan đến học sinh trong các trường THPT ở tỉnh Bình Dương Thuộc tính biểu diễn đặc điểm ảnh hưởng đến kết quả bao gồm các yếu tố học tập và phi học tập
4 Phương pháp nghiên cứu
- Nghiên cứu lý thuyết:
+ Phương pháp mô hình hóa toán học
+ Phương pháp học máy với tiếp cận SVM
+ Phương pháp toán học
+ Phương pháp lập trình
- Phương pháp thực nghiệm:
Trang 133
+ Phương pháp khảo sát để thu thập dữ liệu về những học sinh đã đạt giải các kì thi học sinh giỏi các cấp, khảo sát học sinh đang trong đội tuyển, học sinh không là đội tuyển các trường
+ Phương pháp thực nghiệm được áp dụng để cài đặt thử nghiệm chương trình với dữ liệu thu thập được, lựa chọn mô hình SVM để dự đoán kết quả
5 Ý nghĩa khoa học và thực tiễn
Đề tài giúp việc lựa chọn đội tuyển học sinh giỏi nhằm đạt giải cao trong các kỳ thi của ngành giáo dục trở nên dễ dàng hơn Đồng thời, đề tài cũng đã nêu được khả năng ứng dụng của mô hình SVM trong việc dự đoán kết quả là hoàn toàn khả thi và cho kết quả đáng khích lệ
6 Cấu trúc luận văn
Nội dung của luận văn được tổ chức thành các chương với cấu trúc như sau:
- Phần mở đầu
Giới thiệu về mục tiêu, đối tượng và phạm vi nghiên cứu, phương pháp và
ý nghĩa của nghiên cứu cũng như xác định cấu trúc của luận văn
- Chương 1 Bối cảnh và nghiên cứu có liên quan
Chương giới thiệu về bối cảnh hiện nay của việc tuyển chọn đội tuyển HSG trong cả nước nói chung và của tỉnh Bình Dương nói riêng; chương cũng nêu lên các nghiên cứu có liên quan đến hiệu suất học tập của học sinh, hiệu suất
mô hình hoá và trình bày thuật toán tuyển chọn đội tuyển HSG
- Chương 2 Cơ sở lý thuyết
Chương giới thiệu về thuật toán SVM (Support Vector Machine), cách tìm khoảng cách từ một điểm đến một siêu phẳng, cách xác định hyper-plane, margin
và kernel trick cũng như cách xử lý missed values bằng K-Nearest Neighbors Imputer, mô phỏng thuật toán SVM
- Chương 3 Mô hình dự đoán học sinh giỏi
Chương giới thiệu về bộ dữ liệu của mô hình, cách xử lý dữ liệu và tiến hình dự đoán kết quả học sinh đạt giải học sinh giỏi
Trang 144
- Chương 4 Kết luận
Tổng kết và nêu ra những điểm còn tồn tại của đề tài cũng như hướng cải tiến trong tương lai
Trang 15Vào đầu năm học, các trường THPT thường thực hiện việc tuyển chọn học sinh giỏi từ các khối lớp 10, 11 và 12 trong các môn học như Tin học, Toán, Tiếng Anh, Ngữ văn, Địa lý và nhiều môn khác để lập nên đội tuyển cho các môn tham dự kỳ thi học sinh giỏi cấp tỉnh Thông thường, để chọn học sinh vào đội tuyển, giáo viên sẽ chọn theo cảm tính của họ, dựa trên kết quả học tập, kỹ năng và thái độ trong việc học tập của học sinh
Những học sinh được chọn vào đội tuyển của các môn sẽ được giáo viên
bộ môn ôn luyện về kiến thức, kỹ năng làm bài,… chuẩn bị cho các kỳ thi sắp diễn ra Do đó, việc lựa chọn cẩn thận và hiệu quả học sinh cho các đội tuyển đóng một vai trò quan trọng trong việc giành chiến thắng (đoạt giải cao) tại các
kỳ thi Đồng thời, cũng giúp giảm bớt áp lực của giáo viên thực hiện ôn luyện cho đội tuyển, cũng như tránh mất thời gian ôn luyện mà không đạt được kết quả như mong đợi
Trong thời gian qua, Sở Giáo dục và Đào tạo tỉnh Bình Dương là một trong những cái nôi của việc tuyển chọn và ôn luyện cho đội tuyển học sinh giỏi trong các kỳ thi của tỉnh, cũng như kỳ thi quốc gia Theo công bố của Bộ Giáo dục và Đào tạo trong 4 năm trở lại đây, kết quả thi HSG của tỉnh Bình Dương như sau:
Trang 16ba, 16 giải khuyến khích
- Năm học 2021-2022, tỉnh Bình Dương đạt 34 giải, trong đó trường THPT Chuyên Hùng Vương đạt 33/34 giải gồm: 01 giải nhất, 03 giải nhì, 09 giải
ba và 20 giải khuyến khích Đặc biệt, em Nguyễn Phú Bình lớp 12Tin đã xuất sắc đạt giải Nhất ở bộ môn Tin học
- Năm học 2022-2023, tỉnh Bình Dương đạt 31 giải gồm: 01 giải Nhất; 03 giải Nhì; 08 giải Ba và 19 giải Khuyến khích Cụ thể, giải nhất thuộc về môn Vật Lý; giải nhì thuộc về ba môn Sinh học, Tin học và Ngữ văn
Các trường THPT trên địa bàn tỉnh Bình Dương không ngừng đầu tư cả về thời gian và nâng cao chất lượng ôn luyện cho đội tuyển của trường với mong muốn đạt giải trong kỳ thi cấp tỉnh, được chọn đi thi tại kỳ thi cấp quốc gia Các trường THPT có học sinh đạt giải ở kỳ thi học sinh giỏi cấp tỉnh, cấp quốc gia là một đóng góp thành tích rất lớn trong phong trào thi đua “Dạy tốt, học tốt” của nhà trường
1.2 Các nghiên cứu liên quan
Trong những năm gần đây, việc khai thác dữ liệu trong lĩnh vực giáo dục
đã trở thành một chủ đề đáng chú ý thu hút sự quan tâm của nhiều tác giả và nhà nghiên cứu Nghiên cứu này được tiến hành với mục tiêu đa dạng, bao gồm cải thiện chất lượng giảng dạy, tối ưu hóa tổ chức lớp học và can thiệp sớm vào thành tích học tập của học sinh Điều này có thể bao gồm việc sử dụng dữ liệu để theo dõi tiến trình học tập của học sinh, dự đoán khả năng thành công của học sinh, hoặc thậm chí để phát triển các biện pháp can thiệp và hỗ trợ học tập để đảm bảo rằng học sinh đạt được kết quả tốt nhất Khai thác dữ liệu trong lĩnh vực giáo dục mang lại cơ hội để tối ưu hóa quá trình học tập và giúp cải thiện hiệu suất của học sinh [1-4]
Trang 177
Các đề tài trong lĩnh vực giáo dục tập trung vào việc nghiên cứu và xác định những yếu tố ảnh hưởng đến kết quả học tập [2, 4] của học sinh Nhiều tác giả đã nổ lực để xác định và tìm hiểu những yếu tố này, nhằm hiểu rõ hơn về những yếu tố nào có tác động đến hiệu suất học tập của học sinh [2]
Một số tác giả đã đưa ra quan điểm rằng kết quả học tập của học sinh chịu ảnh hưởng từ các yếu tố như kiến thức, kỹ năng cá nhân và thái độ trong quá trình học tập [5, 6] Nghĩa là để đạt được kết quả tốt trong việc học, học sinh cần phải có kiến thức cơ bản, kỹ năng học tập tốt và một thái độ tích cực và chủ động đối với quá trình học Những yếu tố này cùng đóng vai trò quan trọng trong việc ảnh hưởng đến thành tích học tập của học sinh
Bên cạnh đó, các kỹ năng và thái độ cá nhân của học sinh, chẳng hạn như động cơ bản thân [7], tự tin, tự lực [8], khả năng tự tìm tòi, khả năng tự nghiên cứu [9], khả năng tự phân tích [10], tư duy phản biện [11], khả năng sáng tạo tư duy, và khả năng làm việc nhóm [12] cũng có tác động đáng kể đến kết quả học tập của học sinh Hơn nữa, những yếu tố bên ngoài cũng ảnh hưởng đến hiệu suất học tập của học sinh Điều này bao gồm nền kinh tế và xã hội, gia đình và hành
vi của học sinh [2] Tất cả những yếu tố này cùng đóng vai trò quan trọng trong việc xác định thành tích học tập của học sinh [13]
Các kỹ thuật khai thác dữ liệu và học máy đã trải qua sự cải tiến đáng kể, đóng góp quan trọng vào việc khám phá các giá trị ẩn trong dữ liệu giáo dục Một
số tác giả đã áp dụng các phương pháp tiếp cận như phân loại, phân cụm, hồi quy, cây quyết định, mạng thần kinh, và lân cận gần nhất để phân tích quá trình học tập, hiệu suất học tập và mối tương quan giữa hoạt động và các yếu tố tác động Điều này có nghĩa rằng các công cụ và phương pháp hiện đại trong lĩnh vực khai thác dữ liệu và học máy đã trở thành một phần quan trọng của việc nghiên cứu và cải thiện giáo dục, giúp phân tích và hiểu rõ sâu hơn về cách các yếu tố tác động ảnh hưởng đến quá trình học tập và hiệu suất học tập của học sinh Những người khác đã áp dụng các thuật toán của giám sát, không giám sát, bán giám sát, củng cố nghiêng về khám phá học sinh mô hình, dự đoán kết quả học tập của học sinh [14]
Trang 188
Nhiều nhà nghiên cứu khác đã áp dụng một loạt các thuật toán trong lĩnh vực học máy, bao gồm thuật toán giám sát, không giám sát và bán giám sát, để tập trung vào việc khám phá mô hình học tập của học sinh và dự đoán kết quả học tập của học sinh Điều này có nghĩa rằng họ sử dụng các phương pháp từ học máy để nắm bắt thông tin từ dữ liệu giáo dục, từ đó tạo ra các mô hình và dự đoán về hiệu suất học tập của học sinh Việc này giúp cải thiện sự hiểu biết về cách các yếu tố khác nhau tác động đến thành tích học tập và có thể giúp dự đoán kết quả học tập của học sinh trong tương lai [13, 15, 16]
1.3 Hiệu suất mô hình hoá
Các đặc trưng ảnh hưởng đến hiệu suất học tập của học sinh bao gồm cả các yếu tố học tập và các yếu tố phi học tập Các yếu tố học tập thường có thể được đánh giá và ước tính thông qua việc xem xét lịch sử học tập của học sinh, chẳng hạn như điểm số học kỳ trước, hoặc tham gia vào các hoạt động học tập
Các yếu tố phi học tập, bao gồm tính cách cá nhân của học sinh, gia đình, điều kiện xã hội và môi trường, thường được đánh giá thông qua việc sử dụng các bảng câu hỏi khảo sát hoặc các nguồn thông tin khác thu thập từ gia đình và cộng đồng
Về mặt toán học, hiệu suất được biểu diễn dưới dạng vectơ của các đặc trưng, trong đó vectơ biểu thị hiệu suất của một học sinh gọi là studentvector, được ký hiệu như sau:
[ ] [ ]1
Trong đó:
| là studentvector của học sinh n
| là đặc trưng thứ i của học sinh n
Nghiên cứu này dựa trên ý tưởng rằng học sinh đạt giải trong các kỳ thi học sinh giỏi ở cấp quốc gia hoặc cấp tỉnh trong cùng môn học có khả năng đạt được hiệu suất tương tự nhau Từ ý tưởng này, những học sinh có hiệu suất tương
1 Nguồn từ Huynh, C.N.T., et al., An Approach to Selecting Students Taking Provincial and National Excellent Student Exams ICCASA, 2022
Trang 199
tự với những học sinh đoạt giải nên được lựa chọn để tham gia các kỳ thi tiếp theo trong môn học đó
Trong lĩnh vực toán học, tất cả các vectơ chiến thắng (đoạt giải trong các
kỳ thi), đại diện cho hiệu suất của những học sinh đoạt giải trong cùng một môn học, cùng nhau tạo ra một miền của những học sinh đoạt giải (hay còn gọi là miền chiến thắng) Những học sinh có năng lực và hiệu suất tương tự với các vectơ chiến thắng trong miền chiến thắng này sẽ được chọn tham gia vào đội tuyển để ôn luyện, nâng cao kỹ năng và hiệu suất của học sinh
1.4 Tuyển chọn học sinh vào đội tuyển học sinh giỏi
1.4.1 Các tính năng toán học của Winner-Domain
Winner-Domain (miền chiến thắng) [13] của một môn học được xác định bởi ba đặc trưng toán học, bao gồm trung tâm miền, khoảng cách giới hạn và hướng giới hạn Các trọng tâm miền là vectơ trọng tâm của miền chiến thắng, khoảng cách giới hạn là khoảng cách lớn nhất từ trọng tâm miền đến tất cả các vectơ của miền, góc giới hạn là góc cực đại được hình thành bởi tâm miền với tất
cả các vectơ của miền Quá trình sau đây xác định các đặc trưng toán học của miền chiến thắng
Input: miền chiến thắng của một môn học được biểu diễn dưới dạng tập hợp W của các vectơ chiến thắng của môn học
Output: vectơ trọng tâm wc, khoảng cách giới hạn dlim và góc giới hạn limcủa miền chiến thắng W
- Bước 1 Định nghĩa miền chiến thắng { }
Trong đó:
[ ] [ ] là vectơ chiến thắng
| là vectơ của các biến đặc trưng
- Bước 2 Xác định trọng tâm wc của tập W
Trọng tâm [ ] của tập W được xác định bởi công thức sau:
∑
|
Trang 20Tất cả học sinh trong nhà trường đều được tham gia cuộc thi tuyển chọn đội tuyển HSG bằng cách cạnh tranh trong cuộc thi do bộ môn tổ chức Mỗi học sinh tham gia được biểu diễn dưới dạng một vectơ đặc trưng
Tác giả Huỳnh Thị Ngọc Cẩm và cs (2022) đã đưa ra thuật toán giúp xác định những ứng cử viên có hiệu suất tương tự học sinh từng đoạt giải và có cơ hội tham gia vào các lớp năng khiếu hoặc đội tuyển để dự thi ở cấp tỉnh hoặc quốc gia trong cuộc thi HSG
Theo tác giả các đặc trưng miền chiến thắng bao gồm wc, dlim, và , và tập vectơ X={x1,…,xj,…,xJ} đại diện cho các ứng viên mà các đặc điểm hiệu suất đã được thu thập trước đó Tập hợp vectơ Y={y1,…,yk, ,yK} đại diện cho những ứng cử viên xuất sắc được lựa chọn từ tập hợp X
Sau khi thực hiện tính khoảng cách dj từ xj đến trọng tâm wc, góc giới hạn giữa vectơ xj và trọng tâm wc của miền chiến thắng với j=1,…,J Tác giả
so sánh dj với dlim và với để loại những ứng viên không thuộc miền chiến thắng
Trang 21dữ liệu thuộc các lớp khác nhau
SVM là một trong số những thuật toán phổ biến và được sử dụng nhiều nhất trong học máy trước khi mạng nơron nhân tạo trở lại với các mô hình deep learning Nó được biết đến rộng rãi ngay từ khi mới được phát triển vào những năm 1990 [18]
Ưu điểm:
- Hiệu quả với dữ liệu có số chiều lớn
- Giải quyết vấn đề overfitting: SVM có khả năng xây dựng ranh giới phân loại tốt và độ phức tạp của ranh giới có thể kiểm soát được thông qua siêu tham
số C Điều này giúp SVM khắc phục vấn đề overfitting, đặc biệt là khi dữ liệu có nhiễu hoặc ít dữ liệu huấn luyện
- Tốc độ phân loại nhanh: SVM có khả năng phân loại nhanh đối với các tập dữ liệu lớn Điều này có liên quan đến cách SVM tìm ra ranh giới phân loại bằng cách tối ưu hóa một bài toán tối ưu lớn (quadratic programming) thay vì sử dụng phương pháp duyệt toàn bộ tập dữ liệu
- Hiệu suất tổng hợp và tính toán cao
Nhược điểm:
- Bài toán số chiều cao: Trong trường hợp số lượng thuộc tính (p) của tập
dữ liệu lớn hơn rất nhiều so với số lượng dữ liệu (n) thì SVM cho kết quả không tốt
- Chưa thể hiện rõ tính xác suất: Việc phân lớp của SVM chỉ là việc cố gắng tách các đối tượng vào hai lớp được phân tách bởi siêu phẳng SVM Điều này chưa giải thích được xác suất xuất hiện của một thành viên trong một nhóm
là như thế nào Tuy nhiên hiệu quả của việc phân lớp có thể được xác định dựa vào margin từ điểm dữ liệu mới đến siêu phẳng phân lớp
Trang 2212
2.2 Khoảng cách từ một điểm đến một siêu phẳng
Khoảng cách từ một điểm đến một siêu phẳng là một khái niệm toán học quan trọng trong lĩnh vực hình học và trong học máy, đặc biệt là trong ngữ cảnh của Support Vector Machine (SVM) [19, 20]
Trong bài toán không gian 2 chiều, khoảng cách từ một điểm có toạ độ (x0, y0) tới đường thẳng có phương trình (với a, b, c là các
hệ số của phương trình) được xác định bởi công thức sau:
- Nếu biểu thức trong dấu giá trị tuyệt đối mang dấu dương (không có dấu tuyệt đối), điểm đó nằm ở phía dương của đường thẳng hoặc mặt phẳng
- Nếu biểu thức trong dấu giá trị tuyệt đối mang dấu âm, điểm đó nằm ở phía còn lại của đường thẳng hoặc mặt phẳng
- Nếu biểu thức trong dấu giá trị tuyệt đối bằng 0, điểm đó nằm trên đường thẳng hoặc mặt phẳng và khoảng cách từ điểm đến đường thẳng hoặc mặt phẳng
là 0
Khái niệm về khoảng cách từ một điểm đến một siêu phẳng có thể tổng quát hóa cho không gian nhiều chiều Trong không gian nhiều chiều, một siêu phẳng được biểu diễn bởi một phương trình tương tự như trong không gian hai chiều, nhưng có nhiều biến hơn
Cho một siêu phẳng được biểu diễn bởi phương trình tổng quát:
Trang 232.3 Thuật toán SVM (Support Vector Machine)
2.3.1 SVM (Support Vector Machine) là gì?
Support Vector Machine (SVM) [21-25] là một thuật toán giám sát trong lĩnh vực học máy, và SVM có thể được sử dụng cho cả việc phân loại (classification) và hồi quy (regression) Tuy nhiên, SVM thường được sử dụng chủ yếu cho việc phân loại
SVM hoạt động trong không gian n chiều, trong đó mỗi điểm dữ liệu được biểu diễn bằng một vectơ với số chiều bằng số lượng đặc trưng (features) của dữ liệu Mục tiêu của SVM là tìm một siêu phẳng (hyperplane) phân chia hai lớp dữ liệu sao cho margin (khoảng cách tối thiểu giữa siêu phẳng và các điểm dữ liệu)
là lớn nhất Hyperplane là một đường thẳng, một mặt phẳng hoặc một siêu phẳng tùy thuộc vào số chiều của dữ liệu
Cụ thể, SVM cố gắng tìm một siêu phẳng sao cho không có điểm dữ liệu nào trong margin, và đối với các điểm nằm sát margin, cố gắng tối đa khoảng cách từ siêu phẳng đến những điểm này Điều này giúp SVM tạo ra một đường phân chia tốt giữa các lớp dữ liệu và có khả năng tổng quát hóa tốt đối với dữ liệu mới
SVM có thể sử dụng các kernel function để tạo ra siêu phẳng phi tuyến tính, cho phép nó phân lớp dữ liệu không phải là phân phối tuyến tính SVM đã được sử dụng rộng rãi trong nhiều ứng dụng phân loại, bao gồm phát hiện email rác, phân loại hình ảnh, phân tích dữ liệu y tế và nhiều lĩnh vực khác
SVM là một mô hình phân lớp mạnh mẽ và thường được sử dụng để giải quyết các bài toán phân loại trong học máy Nó hoạt động bằng cách tìm một siêu phẳng tốt nhất để chia cách hai lớp dữ liệu và sử dụng các Support Vectors [20,
26, 27] để xác định vị trí của siêu phẳng đó
Trang 2414
Support Vectors là các điểm dữ liệu trong tập dữ liệu gốc mà SVM chọn làm điểm quan trọng để xác định siêu phẳng (hyper-plane) phân chia hai lớp Những điểm này nằm gần nhất với siêu phẳng và đóng vai trò quan trọng trong việc xác định vị trí của siêu phẳng
Hình 2.1 Đồ thị của Support Vectors 2
Support Vector Machine là một mô hình máy học được sử dụng để phân loại các điểm dữ liệu vào hai lớp hoặc thực hiện các tác vụ hồi quy Mục tiêu của SVM là tìm siêu phẳng phân chia hai lớp sao cho margin (khoảng cách tối thiểu giữa siêu phẳng và các Support Vectors) là lớn nhất Siêu phẳng này được xác định dựa trên các Support Vectors và có khả năng tối ưu hóa khả năng tổng quát hóa của mô hình
Trang 2616
Trong hình 2.4, đường B có khả năng được chọn bởi vì nó có margin lớn hơn so với đường A Tuy nhiên, lựa chọn đường B không phải là sự lựa chọn đúng đắn vì mục tiêu của SVM không chỉ đơn thuần là tối đa hóa margin Thay vào đó, mục tiêu là chọn siêu phẳng để phân chia các lớp một cách dứt khoát và chính xác
Do đó, trong trường hợp này, lựa chọn đường A là chính xác Mặc dù margin của đường B lớn hơn, nhưng nó không phân chia các lớp một cách rõ ràng Đường A, mặc dù có margin nhỏ hơn, tạo ra sự phân chia chính xác giữa các lớp và đúng là lựa chọn đúng để thực hiện phân loại
2.3.2.4 Xác định hyper-plane (Scenario-4)
Hình 2.5 Scenario-4 6
Trong hình 2.5, việc xem xét một ngôi sao ở ngoài biên động hơn là xem
nó nằm ở trong lớp là một ví dụ về tính chất của Support Vector Machine (SVM) SVM có khả năng xử lý và bỏ qua các ngoại lệ (outliers) một cách hiệu quả trong quá trình tìm ra siêu phẳng (hyper-plane) có biên giới lớn nhất
Tính chất này của SVM làm cho nó trở thành một mô hình mạnh trong việc chấp nhận và xử lý các điểm dữ liệu ngoại lệ SVM không chỉ cố gắng tạo ra một siêu phẳng phân chia chính xác giữa các lớp, mà còn cố gắng tối đa hóa margin, tức khoảng cách từ siêu phẳng đến các Support Vectors gần nhất Điều này giúp SVM tự động loại bỏ sự ảnh hưởng của các ngoại lệ và tạo ra một siêu phẳng chính xác với các điểm dữ liệu chính
6 Nguồn từ https://viblo.asia/p/gioi-thieu-ve-support-vector-machine-svm-6J3ZgPVElmB
Trang 27Hình 2.7 Scenario-5 sau khi thêm tính năng 8
Trong sơ đồ trên, các điểm cần xem xét là:
7 Nguồn từ https://viblo.asia/p/gioi-thieu-ve-support-vector-machine-svm-6J3ZgPVElmB
8 Nguồn từ https://viblo.asia/p/gioi-thieu-ve-support-vector-machine-svm-6J3ZgPVElmB
Trang 2818
• Các giá trị trên trục z sẽ luôn là số dương vì nó đại diện cho tổng bình phương của x và y, và bình phương của một số luôn không âm
• Trong không gian 3 chiều (z, x, y), các điểm tròn đỏ được đặt gần trục x
và y hơn Do đó, giá trị z của các điểm này sẽ nhỏ hơn và càng gần trục x hơn trên biểu đồ
SVM có khả năng tìm ra một siêu phẳng tuyến tính (hyperplane) để phân chia hai lớp dữ liệu Điều này có thể thực hiện một cách dễ dàng khi dữ liệu phân chia tốt trong không gian ba chiều (z, x, y)
SVM sử dụng kernel trick để biến đổi không gian dữ liệu từ một chiều thấp (ví dụ: không gian 3D) thành một chiều cao hơn (ví dụ: không gian nhiều chiều hơn) Kernel trick giúp SVM xử lý hiệu quả các vấn đề phân loại phức tạp hơn và tạo ra siêu phẳng phi tuyến tính Kernel trong SVM là một hàm được sử dụng để biến đổi không gian dữ liệu và tạo ra siêu phẳng tốt nhất để phân chia dữ liệu dựa trên nhãn hoặc đầu ra đã xác định trước
2.3.3 Margin trong SVM
Margin là khoảng cách từ siêu phẳng tới các điểm dữ liệu gần nhất của hai lớp SVM cố gắng cực đại hóa margin này để tạo ra siêu phẳng phân chia lớp một cách tốt nhất
Hình 2.8 Margin trong SVM 9
9 Nguồn từ https://viblo.asia/p/gioi-thieu-ve-support-vector-machine-svm-6J3ZgPVElmB
Trang 2919
Khi margin lớn, có nghĩa rằng siêu phẳng phân chia hai lớp sẽ cách xa nhau nhiều, khi đó, SVM có khả năng tốt hơn trong việc phân lớp các điểm dữ liệu mới Margin lớn cũng đồng nghĩa với việc giảm thiểu khả năng phân loại sai (misclassification) đối với các điểm dữ liệu mới Margin rất quan trọng trong việc đảm bảo hiệu suất của SVM và đảm bảo tính tổng quát của mô hình trong việc phân loại dữ liệu
Nói cách khác, SVM không chỉ tìm siêu phẳng để phân chia các lớp mà còn tìm siêu phẳng sao cho khoảng cách từ nó tới các điểm dữ liệu gần nhất (Support Vectors) là lớn nhất, đồng thời đảm bảo sự tách biệt giữa các lớp
2.3.4 Kernel trick
Kernel trick [19, 28-30] là một kỹ thuật quan trọng trong Support Vector Machine (SVM) và máy học, cho phép làm việc với các không gian dữ liệu có chiều cao hơn một cách hiệu quả bằng cách biến đổi dữ liệu từ không gian ban đầu sang không gian có chiều cao hơn mà không cần tính toán trực tiếp các chi tiết của biến đổi này Kernel trick giúp SVM có khả năng xử lý các bài toán phân loại phức tạp và không tuyến tính bằng cách biến đổi không gian dữ liệu
Ý tưởng cơ bản của kernel trick là thay vì tính toán biến đổi dữ liệu và sau
đó áp dụng SVM trong không gian mới có chiều cao hơn, chỉ cần tính toán một hàm kernel trực tiếp trong không gian ban đầu Hàm kernel là một phép tính số học đo khoảng cách hoặc tương tự giữa hai điểm dữ liệu trong không gian ban đầu
Một số hàm kernel phổ biến, bao gồm:
- Linear Kernel: Thực hiện phân loại tuyến tính trong không gian ban đầu
Biểu thức của Linear Kernel: K(x, y) = x * y
Trong đó, K(x, y) là giá trị kernel giữa hai điểm dữ liệu x và y trong không gian ban đầu Phép nhân (x * y) là tích vô hướng giữa hai vectơ x và y
Linear Kernel thích hợp cho các bài toán mà các lớp dữ liệu có thể phân chia bằng một siêu phẳng tuyến tính, tức là một đường thẳng trong không gian hai chiều, một mặt phẳng trong không gian ba chiều, hoặc một siêu phẳng trong
Trang 30- Polynomial Kernel: Thực hiện biến đổi dữ liệu bằng cách sử dụng đa
thức trong không gian ban đầu
Polynomial Kernel có dạng như sau: K(x, y) = ( )
Trong đó:
+ K(x, y) là giá trị kernel giữa hai điểm dữ liệu x và y
+ (x * y) là tích vô hướng giữa hai vectơ x và y trong không gian ban đầu + c là một hằng số gọi là hệ số độ dốc (bias)
+ d là một số nguyên dương gọi là bậc của đa thức (degree)
Khi dự đoán, Polynomial Kernel sẽ tính giá trị của kernel cho một cặp điểm dữ liệu x và y, sau đó sử dụng giá trị này để phân loại dữ liệu Bậc của đa thức (d) kiểm soát mức độ của đa thức trong biến đổi, trong khi hệ số độ dốc (c) kiểm soát độ dốc của đa thức
Polynomial Kernel thường được sử dụng khi dữ liệu có cấu trúc phi tuyến tính và tạo ra một biến đổi phi tuyến tính để phân loại dữ liệu Bậc của đa thức cho phép bạn điều chỉnh độ phức tạp của biến đổi, và hệ số độ dốc kiểm soát sự nghiêng của siêu phẳng tuyến tính trong không gian đa chiều
- Radial Basis Function (RBF) Kernel: Thực hiện biến đổi phi tuyến tính
sử dụng hàm RBF, cho phép phân loại phi tuyến tính hiệu quả
Hàm kernel RBF có dạng như sau: K(x, y) = ( ‖ ‖ )
Trong đó:
+ K(x, y) là giá trị kernel giữa hai điểm dữ liệu x và y
+ "exp" đại diện cho hàm mũ với số mũ là -γ
+ "||x - y||" là khoảng cách Euclidean giữa hai điểm dữ liệu x và y
Trang 3121
+ γ (gamma) là một hệ số dương được gọi là hệ số kernel RBF
Hàm kernel RBF tạo ra một biến đổi phi tuyến tính bằng cách sử dụng hàm mũ của khoảng cách giữa các điểm dữ liệu Khi γ lớn, kernel RBF có tác động mạnh, tạo ra biến đổi phi tuyến tính với các đặc trưng tương ứng với các cụm dữ liệu (clusters) gần nhau Khi γ nhỏ, kernel RBF tạo ra biến đổi phi tuyến tính với đặc trưng mượt hơn và phù hợp cho các tập dữ liệu có phân phối không đồng nhất
Hàm kernel RBF thường được sử dụng trong SVM khi dữ liệu có cấu trúc phi tuyến tính hoặc có đặc điểm phân tán trong không gian mà không thể phân loại tốt bằng siêu phẳng tuyến tính Nó có khả năng mô hình hóa quan hệ phi tuyến tính giữa các điểm dữ liệu và cho phép SVM phân loại dữ liệu hiệu quả trong các trường hợp phức tạp
- Sigmoid Kernel: Sử dụng hàm siđơ để biến đổi không gian dữ liệu Hàm của Sigmoid Kernel là: K(x, y) = tanh(α * x * y + c)
Trong đó:
+ K(x, y) là giá trị kernel giữa hai điểm dữ liệu x và y
+ "tanh" đại diện cho hàm tangent hyperbolic, một hàm số không tuyến tính
+ α (alpha) là một hệ số ảnh hưởng đến độ dốc của biến đổi
+ c là một hệ số độ dốc (bias)
Hàm kernel Sigmoid tạo ra biến đổi phi tuyến tính bằng cách sử dụng hàm siđơ trong không gian dữ liệu Nó có thể được sử dụng trong SVM để phân loại
dữ liệu mà không thể phân loại bằng siêu phẳng tuyến tính
Tuy nhiên, hàm kernel Sigmoid không phổ biến như hàm RBF Kernel hoặc Linear Kernel và thường chỉ được sử dụng trong một số trường hợp cụ thể
2.4 Missed values
2.4.1 Missed values
Missed values [31, 32] là một vấn đề phổ biến mà chúng ta cần đối mặt Việc xử lý missing values là quá trình điền vào hoặc loại bỏ các giá trị thiếu để
Trang 3222
đảm bảo dữ liệu được hoàn chỉnh và phù hợp cho phân tích hoặc huấn luyện mô hình
Một số phương pháp phổ biến để xử lý missing values:
- Xóa các mẫu có missing values: Một cách đơn giản là xóa các mẫu (dòng) dữ liệu chứa missing values Tuy nhiên, phương pháp này chỉ áp dụng khi
số lượng missing values nhỏ và không ảnh hưởng đáng kể đến dữ liệu tổng thể
- Xóa các biến có missing values: Nếu một biến (cột) có số lượng missing values lớn hoặc không quan trọng đối với phân tích, có thể loại bỏ nó khỏi tập dữ liệu
- Điền giá trị thiếu bằng giá trị trung bình/ median/ most frequent: Một phương pháp phổ biến là điền giá trị thiếu bằng giá trị trung bình (mean), trung vị (median), hoặc giá trị xuất hiện nhiều nhất (most frequent) của biến tương ứng trong toàn bộ tập dữ liệu hoặc theo từng nhóm dữ liệu
- Sử dụng kỹ thuật hồi quy hoặc mô hình dự đoán: Các kỹ thuật hồi quy hoặc mô hình dự đoán có thể được sử dụng để ước lượng giá trị thiếu dựa trên các biến khác có sẵn Ví dụ, ta có thể sử dụng mô hình Linear Regression để dự đoán giá trị thiếu dựa trên các biến đầu vào khác
- Sử dụng phương pháp đặc biệt cho dữ liệu bị thiếu: Trong một số trường hợp đặc biệt, có thể sử dụng các phương pháp khác nhau như Hot-deck imputation, Multiple imputation, hay Interpolation để xử lý missing values tùy thuộc vào bản chất của dữ liệu và mục tiêu phân tích
2.4.2 K-Nearest Neighbors Imputer
K-Nearest Neighbors Imputer [33, 34] là một công cụ trong thư viện scikit-learn (một thư viện phổ biến cho machine learning và data science trong Python) dùng để xử lý giá trị thiếu trong dữ liệu Cụ thể, K-Nearest Neighbors Imputer sử dụng phương pháp K-Nearest Neighbors (K-NN) để điền giá trị thiếu (missing values) trong tập dữ liệu
Cách hoạt động của K-Nearest Neighbors Imputer như sau: