ĐẠI HỌC QUỐC GIA TP. HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
--------------------
TRẦN HUY
XÁC ĐỊNH HÀNH VI HỌC TẬP
THƠNG QUA PHÂN TÍCH DỮ LIỆU
TRÊN HỆ THỐNG HỌC TẬP TRỰC TUYẾN
Chuyên ngành : Khoa học Máy tính
Mã số: 8480101
LUẬN VĂN THẠC SĨ
TP. HỒ CHÍ MINH, tháng 7 năm 2023
CƠNG TRÌNH ĐƯỢC HỒN THÀNH TẠI
TRƯỜNG ĐẠI HỌC BÁCH KHOA –ĐHQG -HCM
Cán bộ hướng dẫn khoa học 1: TS. Lê Thanh Vân
(Ghi rõ họ, tên, học hàm, học vị và chữ ký)
Cán bộ hướng dẫn khoa học 2: PGS.TS. Huỳnh Tường Nguyên
(Ghi rõ họ, tên, học hàm, học vị và chữ ký)
Cán bộ chấm nhận xét 1 : TS. Trang Hồng Sơn
(Ghi rõ họ, tên, học hàm, học vị và chữ ký)
Cán bộ chấm nhận xét 2 : TS. Lê Thị Thủy
(Ghi rõ họ, tên, học hàm, học vị và chữ ký)
Luận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa, ĐHQG Tp. HCM
ngày 11 tháng 7 năm 2023
Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm:
(Ghi rõ họ, tên, học hàm, học vị của Hội đồng chấm bảo vệ luận văn thạc sĩ)
1. TS. Nguyễn Đức Dũng (Chủ tịch)
2. TS. Nguyễn Tiến Thịnh (Thư ký)
3. TS. Trang Hồng Sơn (Phản biện 1)
4. TS. Lê Thị Thủy (Phản biện 2)
5. PGS.TS. Huỳnh Tường Nguyên (Ủy viên)
Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lý chuyên
ngành sau khi luận văn đã được sửa chữa (nếu có).
CHỦ TỊCH HỘI ĐỒNG
TRƯỞNG KHOA KHOA HỌC
VÀ KỸ THUẬT MÁY TÍNH
ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do - Hạnh phúc
NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ tên học viên: TRẦN HUY
MSHV: 2170537
Ngày, tháng, năm sinh: 01/04/1999
Nơi sinh: Quảng Ngãi
Chuyên ngành: Khoa học Máy tính
Mã số : 8480101
I. TÊN ĐỀ TÀI: XÁC ĐỊNH HÀNH VI HỌC TẬP THÔNG QUA PHÂN TÍCH DỮ
LIỆU TRÊN HỆ THƠNG HỌC TẬP TRỰC TUYẾN
DETERMINING LEARNING BEHAVIOR THROUGH DATA ANALYSIS ON
AN ONLINE LEARNING SYSTEM
II. NHIỆM VỤ VÀ NỘI DUNG:
- Tìm hiểu các kiến thức và các nghiên cứu liên quan đến việc khai phá và phân tích
dữ liệu và thơng tin được thu thập trong quá trình dạy và học ;
- Khảo sát ngân hàng đề về lập trình có sẵn và đã triển khai trong nhiều năm ;
- Thực hiện thử nghiệm các mô hình giảng dạy mới và thu thập dữ liệu dạy và học
thực tế từ các khóa học được triển khai trên nền tảng học tập trực tuyến;
- Phân tích dữ liệu thu thập nhằm xác định các nhóm người học có năng lực khác
nhau, phân loại hành vi học tập trong thực hành lập trình và xác định mối liên hệ
giữa chúng.
III. NGÀY GIAO NHIỆM VỤ: 06/02/2023
IV. NGÀY HOÀN THÀNH NHIỆM VỤ: 11/06/2023
V. CÁN BỘ HƯỚNG DẪN (Ghi rõ học hàm, học vị, họ, tên): TS. Lê Thanh Vân,
PGS.TS. Huỳnh Tường Nguyên
Tp. HCM, ngày 10 tháng 07 năm 2023
CÁN BỘ HƯỚNG DẪN 1
(Họ tên và chữ ký)
CÁN BỘ HƯỚNG DẪN 2
(Họ tên và chữ ký)
HỘI ĐỒNG NGÀNH
(Họ tên và chữ ký)
TRƯỞNG KHOA KHOA HỌC VÀ KỸ THUẬT MÁY TÍNH
(Họ tên và chữ ký)
Ghi chú: Học viên phải đóng tờ nhiệm vụ này vào trang đầu tiên của tập thuyết minh LV
Lời cảm ơn
Để hoàn thành được bài Luận văn Thạc sĩ này, tơi xin bày tỏ sự cảm kích đặc biệt tới các cố
vấn của tôi, Tiến sĩ Lê Thanh Vân và Phó giáo sư Tiến sĩ Huỳnh Tường Nguyên - Những người
đã định hướng, trực tiếp dẫn dắt và cố vấn cho tôi trong suốt thời gian thực hiện đề tài nghiên
cứu khoa học. Tôi xin gửi lời cảm ơn đến các thầy cơ bằng tất cả tấm lịng và sự biết ơn của
mình.
Xin chân thành cảm ơn tất cả mọi người!
Tp. HCM, ngày 10 tháng 08 năm 2023
Học viên
Trần Huy
i
Tóm tắt
Luận văn này tập trung vào việc triển khai và đánh giá một mơ hình giảng dạy mới trong
một môi trường học trực tuyến, nhằm thu thập thông tin từ người học để phân tích và phân nhóm
các hành vi học tập của họ. Bằng cách thu thập dữ liệu từ hệ thống học trực tuyến, giáo viên có
thể có cái nhìn sâu sắc hơn về hành vi của người học và tạo ra một môi trường học tập linh hoạt
và đa dạng hơn. Luận văn bao gồm việc xem xét các nghiên cứu hiện có và kiểm tra một ngân
hàng câu hỏi lập trình. Nó cũng liên quan đến việc triển khai và đánh giá mơ hình lớp học đảo
ngược, cùng việc thu thập và phân tích dữ liệu về hành vi học tập của người học. Bằng cách hiểu
rõ hành vi học tập của từng cá nhân học viên, giáo viên có thể tùy chỉnh phương pháp giảng dạy
cho các nhóm học viên khác nhau và tạo ra một mơi trường học tập linh hoạt.
Các từ khóa: Hành vi học tập, Hệ thống quản lý học tập, Lớp học đảo ngược, Khai phá dữ
liệu giáo dục, Phương pháp đánh giá, k-means, OPTICS, Phân loại Naive Bayes.
ii
Abstract
This thesis delves into the implementation and evaluation of a novel teaching model in an
online learning environment, aimed at collecting learner information to analyze and group their
learning behaviors. By gathering data from online learning systems, teachers can gain deeper
insights into learners’ behaviors and create a more flexible and diverse learning environment.
The thesis encompasses a review of existing research and an examination of a programming
question bank. It also involves the implementation, and evaluation of the flipped classroom
model, along with the collection and analysis of data on learners’ behaviors. By understanding
individual learner behaviors, teachers can tailor their instruction to different learner groups and
create a dynamic and inclusive learning environment.
Keywords: Learning behavior, Learning Management System, Flipped classroom, Educational data mining, Assessments, k-means, OPTICS, Naive Bayes Classification.
iii
Lời cam đoan
Tơi xin cam đoan đây là cơng trình nghiên cứu của riêng tôi dưới sự hướng dẫn của TS.
Lê Thanh Vân và PGS. TS. Huỳnh Tường Nguyên. Nội dung nghiên cứu và các kết quả đều là
trung thực và chưa từng được công bố trước đây. Các nội dung nghiên cứu trình bày trong đây
đa phần là tơi tự tìm hiểu, phân tích và tổng hợp. Tơi cũng có sử dụng một số nhận xét, đánh giá
và số liệu của các tác giả khác, cơ quan tổ chức khác. Tất cả đều có trích dẫn và chú thích nguồn
gốc. Nếu phát hiện có bất kỳ sự gian lận nào, tơi xin hồn tồn chịu trách nhiệm, trường Đại học
Bách Khoa - ĐHQG Tp.HCM không liên quan đến những vi phạm tác quyền, bản quyền do tôi
gây ra trong quá trình thực hiện.
Tp. HCM, ngày 10 tháng 08 năm 2023
Học viên
Trần Huy
iv
Mục lục
1
2
Giới thiệu
1
1.1
Động cơ nghiên cứu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1.2
Mục tiêu nghiên cứu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
1.3
Đối tượng nghiên cứu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
1.4
Giới hạn nghiên cứu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
1.5
Phương pháp nghiên cứu . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
1.6
Ý nghĩa của đề tài . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
1.7
Cấu trúc của luận văn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
Kiến thức nền tảng
6
2.1
Các phương pháp giảng dạy và đánh giá . . . . . . . . . . . . . . . . . . . . .
6
2.1.1
Phương pháp giảng dạy thực hành lập trình . . . . . . . . . . . . . . .
6
2.1.2
Phương pháp lớp học đảo ngược . . . . . . . . . . . . . . . . . . . . .
7
2.1.3
Các phương pháp đánh giá . . . . . . . . . . . . . . . . . . . . . . . .
7
2.2
Đánh giá độ khó của câu hỏi trong ngân hàng câu hỏi . . . . . . . . . . . . . .
8
2.3
Thu thập, phân tích và khai phá dữ liệu trong giáo dục . . . . . . . . . . . . . .
9
2.4
3
2.3.1
Giải thuật k-means . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
2.3.2
Gom cụm và phân loại nhiễu sử dụng DBSCAN và OPTICS . . . . . .
11
2.3.3
Thuật toán phân loại Naive Bayes . . . . . . . . . . . . . . . . . . . .
12
Kết chương . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
Khảo sát ngân hàng câu hỏi lập trình và năng lực người học
15
3.1
Phân loại độ khó cho câu hỏi lập trình dựa trên năng lực của người học . . . . .
15
3.1.1
Cơng thức liên quan đến độ khó . . . . . . . . . . . . . . . . . . . . .
15
3.1.2
Nhận xét về các cơng thức liên quan đến độ khó . . . . . . . . . . . . .
17
3.1.3
Phương pháp tiếp cận . . . . . . . . . . . . . . . . . . . . . . . . . . .
18
3.1.4
Các mơ hình để xác định độ khó của câu hỏi . . . . . . . . . . . . . .
18
3.1.5
Phương pháp gán độ khó cho các cụm . . . . . . . . . . . . . . . . . .
19
3.1.6
Kết quả phân cụm . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
v
3.1.7
3.2
4
Đánh giá kết quả phân cụm . . . . . . . . . . . . . . . . . . . . . . . .
22
Phát hiện chủ đề khó trong ngân hàng câu hỏi . . . . . . . . . . . . . . . . . .
23
3.2.1
Các quan sát . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
23
3.2.2
Quy trình liên tục cải tiến đề xuất . . . . . . . . . . . . . . . . . . . .
25
3.2.3
Thiết lập thực nghiệm . . . . . . . . . . . . . . . . . . . . . . . . . .
28
3.2.4
Kết quả và thảo luận . . . . . . . . . . . . . . . . . . . . . . . . . . .
30
Thiết kế mơ hình giảng dạy và xác định hành vi người học
37
4.1
Thiết kế mơ hình giảng dạy . . . . . . . . . . . . . . . . . . . . . . . . . . . .
37
4.1.1
Áp dụng lớp học đảo ngược trong việc giảng dạy lập trình thực hành . .
37
4.1.2
Thu thập dữ liệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
37
4.1.3
So sánh lớp học truyền thống, lớp học đảo ngược, và lớp học đảo ngược
trong khóa học lập trình thực hành . . . . . . . . . . . . . . . . . . . .
4.1.4
5
Hiệu quả của việc áp dụng lớp học đảo ngược trong khóa học lập trình
thực hành . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
41
Phân tích dữ liệu Prelab và Inlab . . . . . . . . . . . . . . . . . . . . .
45
Xác định hành vi học tập trong mơ hình giảng dạy . . . . . . . . . . . . . . . .
48
4.2.1
Phân tích hành vi học tập của các nhóm người học . . . . . . . . . . .
48
4.2.2
Tiềm năng dự đoán kết quả học tập của người học từ hành vi thu thập .
53
4.1.5
4.2
38
Tổng kết
54
Danh mục các cơng trình khoa học
56
Tài liệu tham khảo
61
vi
Danh sách bảng
2.1
Các yếu tố liên quan đến việc mô tả mức độ khó của câu hỏi . . . . . . . . . .
9
3.1
Bảng tổng kết các cơng thức liên quan đến độ khó . . . . . . . . . . . . . . . .
17
3.2
Bảng thể hiện mức độ ảnh hưởng của các yếu tố trong mỗi cơng thức xác định
độ khó câu hỏi lập trình . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18
3.3
Điểm Silhouette của các mơ hình . . . . . . . . . . . . . . . . . . . . . . . . .
19
3.4
Kết quả phân loại của môn học KTLT . . . . . . . . . . . . . . . . . . . . . .
20
3.5
Kết quả phân loại của môn học CTDL> . . . . . . . . . . . . . . . . . . .
21
3.6
Độ giống nhau và độ tương tự của các kết quả phân loại . . . . . . . . . . . . .
22
3.7
Nội dung các chủ đề . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
29
3.8
Thông tin của tập dữ liệu Lab với 671 người học . . . . . . . . . . . . . . . . .
29
3.9
Thông tin của tập dữ liệu Exam với 634 người học . . . . . . . . . . . . . . . .
29
3.10 Kết quả phân cụm với (min_samples = 3) . . . . . . . . . . . . . . . . . . . .
31
3.11 Lấy mẫu một số sinh viên từ các ngoại lệ (xuất hiện trong nhiều hơn 1 ma trận
gom cụm) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
36
4.1
Bảng kết quả điểm lab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
38
4.2
Bảng so sánh lớp học truyền thống, lớp học đảo ngược, và lớp học đảo ngược
trong khóa học lập trình thực hành . . . . . . . . . . . . . . . . . . . . . . . .
40
4.3
Thời gian của sinh viên dành cho mỗi bài học lab . . . . . . . . . . . . . . . .
42
4.4
Tỷ lệ của các nhóm sinh viên đạt kết quả trong Inlabs . . . . . . . . . . . . . .
45
4.5
Phân tích mối tương quan giữa các yếu tố của Prelab và Inlab . . . . . . . . . .
47
4.6
Kết quả phân loại sử dụng Naive Bayes Classification . . . . . . . . . . . . . .
48
4.7
Kết quả làm bài Prelab của các sinh viên chỉ làm trong 1 ngày . . . . . . . . .
50
4.8
Bảng giao thoa hành vi của sinh viên trong nhiều bài Prelab theo từng nhóm
4.9
Early, On và Late . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
51
Bảng thống kê kết quả của các sinh viên đặc trưng của nhóm Early, On và Late
52
vii
Danh sách hình vẽ
2.1
Sự khác biệt giữa giải thuật DBSCAN and OPTICS . . . . . . . . . . . . . . .
12
3.1
Sơ đồ quy trình cải tiến học liệu được đề xuất . . . . . . . . . . . . . . . . . .
26
3.2
Kế hoạch giảng dạy môn DSA dưới góc nhìn đánh giá q trinh đánh giá tổng kết 28
3.3
Histogram số lượng học sinh trong mỗi cụm . . . . . . . . . . . . . . . . . . .
32
3.4
Histogram về độ vênh của các chủ đề liên quan đến kỳ thi giữa kỳ . . . . . . .
33
3.5
Histogram về độ vênh của các chủ đề liên quan đến kỳ thi cuối kỳ . . . . . . .
34
3.6
Phân phối các lần xuất hiện nhiễu . . . . . . . . . . . . . . . . . . . . . . . .
36
4.1
Phân bố điểm lab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
39
4.2
Mơ tả q trình phát triển của người học . . . . . . . . . . . . . . . . . . . . .
42
4.3
Phổ điểm kết quả làm bài Inlab của nhóm sinh viên khơng hồn thành Prelab và
hồn thành Prelab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
44
4.4
Histogram về số lượng sinh viên hoàn thành các câu hỏi trong 1 ngày . . . . . .
49
4.5
Histogram về số lượng sinh viên hoàn thành các bài Prelab trong 1 ngày . . . .
49
viii
Đại học Quốc gia TP.HCM - Trường Đại Học Bách Khoa
Khoa Khoa học và Kỹ thuật Máy tính
Chương 1
Giới thiệu
1.1
Động cơ nghiên cứu
Hiện nay, giáo dục khơng cịn đơn thuần là quá trình giảng dạy và học tập ở trường lớp. Nhờ
vào sự phát triển mạnh mẽ của Internet, việc dạy và học có thể được thực hiện ở khắp mọi nơi
[1]. Người học khi tham gia khóa học trực tuyến có thể truy cập tất cả các tài liệu cần thiết cho
việc học (bao gồm slide, video, v.v...) và thậm chí làm các bài tập, bài kiểm tra. Về phần giảng
dạy, ngồi việc có thể cung cấp học liệu gần như khơng giới hạn, người dạy cịn có thể quan sát
và đánh giá quá trình học tập của người học thông qua các bài kiểm tra.
Những nền tảng dạy và học trực tuyến như trên, thường được gọi là hệ thống giáo dục elearning, ngày càng trở nên phổ biến hơn trong các trường học, đặc biệt là trong các trường Đại
học [2]. Trường Đại học là nơi luôn yêu cầu người học về tính tự giác trong học tập để người
học tự khai phá được giới hạn của bản thân, khơng bị bó buộc vào thời gian học tập trên lớp.
Nhờ môi trường học tập trực tuyến, người học có thể xem trước tài liệu học tập ở nhà, hay làm
những bài tập bất cứ lúc nào mà khơng phụ thuộc vào thời gian lên lớp. Nhìn chung, quá trình
dạy và học sẽ trở nên hiệu quả hơn khi áp dụng E-learning vào môi trường giáo dục.
Nhận thấy tính hiệu quả của nền tảng học tập trên, vào năm 2007, trường Đại học Bách Khoa
- ĐHQG TP.HCM đã triển khai hệ thống một e-learning để phục vụ cho sự tương tác giữa người
dạy và người học. Bên cạnh đó, Khoa Khoa học và Kỹ thuật Máy tính (CSE) của Trường Đại
học Bách Khoa Thành phố Hồ Chí Minh (ĐHBK) đã phát triển và triển khai Hệ thống chấm
điểm tự động (AGS) bắt đầu từ Học kỳ 1 năm 2019. Kế đến, từ những năm học 2020 trở về sau,
Khoa Khoa học và Kỹ thuật Máy tính đã áp dụng tiện ích CodeRunner nhằm giảng dạy các câu
hỏi lập trình trên hệ thống Bách Khoa e-learning (dưới nền tảng Moodle).
Thông qua việc triển khai giảng dạy trên các hệ thống e-learning, dữ liệu thu thập từ các nền
tảng này là càng ngày càng lớn, càng khổng lồ. Với một lượng dữ liệu lớn như vậy, không dễ
dàng để hiểu được thành tích học tập của người học chỉ bằng cách đọc lướt qua hoặc thực hiện
phân tích thủ cơng. Do đó, cần có một cơng cụ Khai phá dữ liệu giáo dục (Educational Data
Luận văn Thạc sĩ
Trang 1/62
Đại học Quốc gia TP.HCM - Trường Đại Học Bách Khoa
Khoa Khoa học và Kỹ thuật Máy tính
Mining - EDM) để khám phá dữ liệu giáo dục và hiểu cách người học học tập [3], từ đó đề xuất
các phương pháp cá nhân hóa để giúp người học đạt được kế hoạch học tập tốt hơn. EDM là một
lĩnh vực tương đối mới, nổi lên từ việc áp dụng các kỹ thuật khai phá dữ liệu vào dữ liệu giáo
dục [4]. Theo [5], nghiên cứu EDM bao gồm bốn hướng chính: dự đốn thành tích học tập của
người học, cung cấp hỗ trợ quyết định cho giảng viên và người học dựa trên kết quả phân tích,
phát hiện tiến độ học tập của người học và tối ưu hóa thuật toán khai phá dữ liệu cho dữ liệu
giáo dục. Trong Luận văn này, học viên tập trung đặc biệt vào hướng hỗ trợ quyết định, cung
cấp cho giảng viên những hiểu biết về hành vi của người học thông qua dữ liệu thu thập từ khóa
học thực hành lập trình.
Nhận thấy được tiềm năng trên, học viên đề xuất đề tài Xác định hành vi học tập thơng qua
phân tích dữ liệu trên hệ thống học tập trực tuyến. Cụ thể, học viên sẽ khai phá và phân tích
dữ liệu thu thập từ hệ thống e-learning của trường Đại học Bách Khoa - ĐHQG TP.HCM và hệ
thống hỗ trợ thực hành lập trình AGS nhằm đánh giá ngân hàng câu hỏi, mơ hình giảng dạy. Từ
đó, Luận văn sẽ đưa ra các gợi ý về hành vi học tập của người học dựa trên mơ hình giảng dạy
đề xuất.
1.2
Mục tiêu nghiên cứu
Trong đề tài luận văn này, học viên cần:
• Tìm hiểu các nghiên cứu liên quan đến việc khai phá và phân tích dữ liệu và thơng tin
được thu thập trong q trình dạy và học;
• Khảo sát ngân hàng đề về lập trình có sẵn và đã triển khai trong nhiều năm, từ đó, xác
định mức độ khó của các câu hỏi lập trình và các chủ đề lập trình liên quan;
• Thực hiện thử nghiệm các mơ hình giảng dạy mới và đề xuất các cách thu thập dữ liệu
dạy và học thực tế từ các khóa học được triển khai trên nền tảng hỗ trợ quản lý học liệu
và cho phép tương tác giữa người dạy và người học (LMS);
• Phân tích dữ liệu thu thập nhằm xác định các nhóm người học có năng lực khác nhau,
phân loại hành vi học tập trong thực hành lập trình và xác định mối liên hệ giữa chúng
(nhóm sinh viên và loại hành vi học tập).
1.3
Đối tượng nghiên cứu
Đối tượng nghiên cứu chính trong đề tài bao gồm các đối tượng liên quan đến:
• Mơn học Kỹ thuật lập trình, Cấu trúc dữ liệu và giải thuật bao gồm các câu hỏi lập trình
trong ngân hàng đề cũng như bài tập lớn được triển khai.
Luận văn Thạc sĩ
Trang 2/62
Đại học Quốc gia TP.HCM - Trường Đại Học Bách Khoa
Khoa Khoa học và Kỹ thuật Máy tính
• Người học: nhóm đối tượng tham gia q trình học lập trình có sử dụng hệ thống LMS.
• Kết quả làm bài của người học: dữ liệu làm bài của người học thu thập được từ hệ thống
LMS.
1.4
Giới hạn nghiên cứu
Về giới hạn của Luận văn Thạc sĩ này, phạm vi nghiên cứu được tập trung cụ thể, bao gồm
như sau:
• Dữ liệu mà đề tài này sử dụng là tập hợp kết quả bài nộp của sinh viên từ các câu hỏi lập
trình ngắn, được thu thập từ các khóa học lập trình cơ bản bao gồm các lớp học lý thuyết
và thực hành cho các mơn: Kỹ thuật lập trình, Cấu trúc dữ liệu & giải thuật, v.v... do Khoa
Khoa học và Kỹ thuật Máy tính, trường Đại học Bách Khoa - ĐHQG TP.HCM giảng dạy.
• Kết quả làm bài của người học là điểm của các lần làm bài của người học, khơng bao gồm
mã nguồn của người học.
• Mơ hình dạy và học được định hướng là "mới" trong khuôn khổ luận văn này chỉ là liên
quan đến mơ hình lớp học đảo ngược (flipped classroom) mà gần đây đang được công
đồng giảng dạy trong nước kêu gọi nghiên cứu và ứng dụng triển khai.
1.5
Phương pháp nghiên cứu
Một số phương pháp được đề xuất sử dụng nhằm thực hiện cơng việc nghiên cứu trong luận
văn này bao gồm:
• Phương pháp nghiên cứu lý thuyết: dựa trên tổng hợp các tài liệu nghiên cứu có liên quan
đến dạy và học trên môi trường số, bao gồm các công bố trên các tạp chí, hội nghị đã cơng
bố trong cộng đồng học thuật.
• Phương pháp mơ hình hóa: đề xuất cách số hóa thơng tin liên quan đến q trình dạy và
học trên môi trường số, cụ thể là môi trường quản lý học liệu LMS Moodle.
• Phương pháp quan sát khoa học: với mục tiêu hướng đến hỗ trợ người học ngày càng tốt
hơn, học viên thu thập thông tin về các cách triển khai giảng dạy và hỗ trợ thực hành lập
trình từ trước nay. Việc đánh giá, so sánh các mơ hình là cơ sở làm nền tảng cho việc
đề xuất mơ hình giảng dạy mới theo dạng lớp học đảo ngược (chi tiết được mô tả trong
Chương 2 và Chương 4).
Luận văn Thạc sĩ
Trang 3/62
Đại học Quốc gia TP.HCM - Trường Đại Học Bách Khoa
Khoa Khoa học và Kỹ thuật Máy tính
• Phương pháp phân tích và tổng kết kinh nghiệm: mơ hình đề xuất được thử nghiệm và
làm cơ sở để đánh giá thông qua sử dụng các phương pháp đánh giá về tính khả thi, về
tính đúng đắn, về mức độ hiệu quả khi áp dụng thực tiễn.
• Phương pháp điều tra: thiết kế thu thập dữ liệu trên môi trường số để tìm hiểu đặc điểm
của nhóm người học (phát hiện ra hoặc phân nhóm người học theo năng lực, các định và
phân loại hành vi học tập của người học trong q trình học thực hành lập trình); từ đó,
xác định mối quan hệ giữa nhóm sinh viên và loại hành vi học tập.
1.6
Ý nghĩa của đề tài
Theo xu hướng Chuyển đối số gần đây ở trong nước và trên thế giới, việc thu thập và phân
tích dữ liệu là cần thiết để có hiểu biết về các đối tượng liên quan đang tương tác trong hệ thống.
Đối với lĩnh vực giáo dục, điều này cực kỳ quan trong khi người dạy và các cơ quan, đơn vị quản
lý chương trình đào tạo có hiểu biết ngày càng rõ về người học (theo khái niệm "lấy người học
làm trung tâm"). Trong khuôn khổ của đề tài luận văn thạc sĩ, học viên cần đề xuất thử nghiệm
triển khai mơ hình giảng dạy mới trên môi trường số đang được sử dụng mà có khả năng thu
thập thơng tin từ người học nhằm phân nhóm người học và phân loại các hành vi học tập.
Xét về mặt khoa học, luận văn có đóng góp để làm rõ giá trị của mơ hình giảng dạy lớp học
đảo ngược, đặc biệt là trong quá trình giảng dạy thực hành lập trình. Việc thu thập số liệu từ hệ
thống quản lý học liệu trực tuyến và từ đó phần nhóm người học và hành vi người học cũng là
một đóng góp quan trọng về khoa học, đặc biệt là một minh họa cho việc số hóa.
Xét về mặt thực tiễn, kết quả của luận văn cho thấy được tiềm năng của việc chuyển đổi số,
đặc biệt là trong lĩnh vực giáo dục. Điều này không những hỗ trợ các giảng viên hiểu biết người
học hơn mà cịn giúp người học có mơi trường học tập mở và có nhiều điều kiện học tập cũng
như nhiều chọn lựa học tập phù hợp trong tương lai.
1.7
Cấu trúc của luận văn
Nhằm làm rõ công sức thực hiện trong luận văn này, báo cáo sẽ bao gồm các chương có nội
dung chính như sau:
• Chương 1 - Giới thiệu đề tài: chương này trình bày về tổng quan vấn đề cần phải nghiên
cứu, trong đó bao gồm động cơ thực hiện đề tài, nhiệm vụ/mục tiêu nghiên cứu, đối tượng
và phạm vi nghiên cứu, và các tác động từ kết quả thu được thơng qua đề tài.
• Chương 2 - Các nghiên cứu liên quan: chương này sẽ tổng hợp các nghiên cứu liên quan,
phân tích và tổng hợp các cơng trình, các kết quả liên quan; được chia thành ba: các
phương pháp giảng dạy và đánh giá trong môi trường giáo dục đại học, các nghiên cứu về
Luận văn Thạc sĩ
Trang 4/62
Đại học Quốc gia TP.HCM - Trường Đại Học Bách Khoa
Khoa Khoa học và Kỹ thuật Máy tính
đánh giá độ khó câu hỏi lập trình trong ngân hàng đề, và các nghiên cứu về khai phá dữ
liệu giáo dục.
• Chương 3 - Khảo sát ngân hàng câu hỏi lập trình và năng lực người học: dựa trên các
nghiên cứu về đánh giá độ khó của câu hỏi, chương này sẽ đánh giá ngân hàng bài tập đã
triển khai nhiều học kỳ. Từ đó, phát hiện một số nội dung cịn thiếu và đánh giá mức độ
khó giữa các chủ đề được giảng dạy trong cùng mơn học.
• Chương 4 - Thiết kế mơ hình giảng dạy và xác định hành vi người học: thơng qua việc
triển khai mơ hình giảng dạy thử nghiệm, chương này thu thập các dữ liệu và tiến hành
phân tích dữ liệu nhằm xác định các hành vi học tập của người học cũng như độ hiệu quả
của mơ hình giảng dạy triển khai. Từ đó, thực hiện đánh giá ý nghĩa của việc phân loại
hành vi học tập lập trình.
• Chương 5 - Tổng kết: đánh giá lại toàn bộ các kết quả mà đề tài đã thực hiện và đạt được,
chỉ ra những khó khăn trong quá trình thực hiện cũng như các giới hạn của kết quả, và từ
đó đề xuất những hướng phát triển tiếp theo.
Luận văn Thạc sĩ
Trang 5/62
Đại học Quốc gia TP.HCM - Trường Đại Học Bách Khoa
Khoa Khoa học và Kỹ thuật Máy tính
Chương 2
Kiến thức nền tảng
Trong chương này, một số nghiên cứu liên quan được trình bày bao gồm các nội dung liên
quan đến việc giảng dạy, đánh giá nội dung học liệu và các kỹ thuật khai phá trên bộ dữ liệu
thu thập. Liên quan đến việc giảng dạy, chương này sẽ giới thiệu về một số phương pháp giảng
dạy thực hành lập trình , đặc biệt là phương pháp giảng dạy đảo ngược (flipped classroom); và
các phương pháp đánh giá trong quá trình giảng dạy như là đánh giá quá trình học (formative
assessment) và đánh giá tổng kết (summative assessment). Đối với việc đánh giá nội dung học
liệu, chương này trình bày về một số cơng thức xác định độ khó của câu hỏi trong ngân hàng
đề có sẵn dựa trên dữ liệu thu thập kết quả làm bài của người học trong những học kỳ trước đó.
Một số kỹ thuật khai phá trên bộ dữ liệu thu thập được dùng trong khuôn khổ luận văn cũng sẽ
được giới thiệu trong chương này.
2.1
2.1.1
Các phương pháp giảng dạy và đánh giá
Phương pháp giảng dạy thực hành lập trình
Dạy lập trình ngày càng quan trọng trong thời đại công nghiệp 4.0, nơi kỹ năng lập trình
được đánh giá cao trong nhiều ngành cơng nghiệp khác nhau. Tuy nhiên, việc học lập trình
khơng phải là một nhiệm vụ dễ dàng [6]. Các nghiên cứu [7, 8] nhấn mạnh sự cần thiết của việc
giảng dạy lập trình để phát triển các kỹ năng tư duy, bao gồm lập luận logic, giải quyết vấn đề
theo thuật toán và tư duy tính tốn.
Sau khi nghe giảng lý thuyết trên lớp học, sinh viên được yêu cầu tham gia vào các buổi
thực hành lập trình để làm quen với việc lập trình. Trong suốt các buổi thực hành này, sinh viên
được luyện tập với các bài tập cơ bản khác nhau để củng cố hiểu biết về các khái niệm lập trình
và nâng cao khả năng giải quyết vấn đề của mình. Bên cạnh đó, các giảng viên cũng giao cho
học sinh các bài tập lớn để họ áp dụng kiến thức và kỹ năng vào việc xây dựng ứng dụng hoặc
hệ thống lớn. Từ đó, tạo điều kiện cho sinh viên làm việc nhóm và trải nghiệm quy trình phát
Luận văn Thạc sĩ
Trang 6/62
Đại học Quốc gia TP.HCM - Trường Đại Học Bách Khoa
Khoa Khoa học và Kỹ thuật Máy tính
triển phần mềm.
Trong đề tài này, học viên và nhóm nghiên cứu đã triển khai các bài tập lập trình thực hành
sử dụng hệ thống quản lý học tập Moodle [9]. Moodle là một nền tảng mã nguồn mở cho phép
các cơ sở giáo dục cung cấp khóa học và quản lý hoạt động học trực tuyến. Bằng cách sử dụng
Moodle, giảng viên có thể tạo ra các khóa học trực tuyến bổ sung cho việc giảng dạy ngoại
tuyến bằng cách đăng tải tài liệu học tập, video đã được ghi trước, bài kiểm tra và nhiều hơn
nữa. Các bài kiểm tra triển khai trên hệ thống Moodle chủ yếu bao gồm câu hỏi trắc nghiệm,
câu trả lời ngắn và ánh xạ. Để cung cấp một mơi trường học lập trình tập trung vào việc thực
hành lập trình, nghiên cứu này sử dụng plugin CodeRunner [10] để triển khai các bài tập lập
trình trong hệ thống Moodle.
2.1.2
Phương pháp lớp học đảo ngược
Theo định nghĩa, Flipped Classroom là một mơ hình giáo dục trong đó học viên tự học nội
dung mới độc lập bên ngoài lớp và sử dụng thời gian lớp học để tham gia vào các hoạt động
tương tác, như thảo luận, giải quyết vấn đề và các bài tập thực hành [11]. Flipped classroom
là một mơ hình phân phối đảo ngược, trong đó các yếu tố bài giảng truyền thống và bài tập về
nhà được đảo ngược. Trước buổi học, học viên được yêu cầu xem trước hướng dẫn, xem các bài
giảng video ngắn, hoàn thành các bài kiểm tra và tham gia vào các cuộc thảo luận trên diễn đàn
[12]. Trong khi đó, thời gian lớp học được dành cho các bài tập, dự án, điều tra sâu về những bài
giảng đã xem trước và tham gia vào các hoạt động thực tế, trong khi giảng viên đánh giá việc
áp dụng kiến thức của học viên. Hình
Phương pháp này mang lại sự linh hoạt và tự điều chỉnh cao hơn cho sinh viên. Người học
có thể học theo tốc độ của mình và tự quản lý quá trình học tập. Ngồi ra, mơ hình lớp học đảo
ngược đảm bảo việc tiếp cận tốt hơn đến tài liệu học tập, cung cấp cho sinh viên một loạt tài
liệu hỗ trợ học tập. Một lợi thế khác là tăng cường sự tương tác và tham gia trong các buổi học
trực tiếp. Bằng cách giảng dạy kiến thức cơ bản qua các hoạt động trước lớp, thời gian lớp học
có thể được dành cho những hoạt động học tập sôi nổi và sâu sắc hơn. Điều này thúc đẩy các
cuộc thảo luận có ý nghĩa, giải quyết vấn đề kết nối sinh viên và tạo ra một môi trường học tập
sôi động.
2.1.3
Các phương pháp đánh giá
Đánh giá kết quả học tập của người học là một phần khơng thể thiếu trong q trình giảng
dạy nói chung và giảng dạy đại học nói riêng. Các phương pháp đánh giá cần được tiến hành
trong quá trình học tập để đánh giá kết quả của kiến thức đã được nắm bắt sau một thời gian
học. Các đánh giá về kiến thức đã nắm bắt, còn được gọi là đánh giá tổng kết, thường được tổ
chức vào vào giữa và cuối học kỳ. Nếu các đánh giá này được thiết kế và phát triển tốt thì sẽ hỗ
Luận văn Thạc sĩ
Trang 7/62
Đại học Quốc gia TP.HCM - Trường Đại Học Bách Khoa
Khoa Khoa học và Kỹ thuật Máy tính
trợ q trình học tập của sinh viên thông qua việc trở nên dễ tiếp cận hơn và cũng đầy thách thức
hơn [13]. Các nghiên cứu trước đây chia đánh giá thành hai loại: đánh giá quá trình (formative
assessment) và đánh giá tổng kết (summative assessment).
2.1.3.1
Đánh giá quá trình
Đánh giá quá trình là một phương pháp trong đó giảng viên thu thập các minh chứng về quá
trình học tập của sinh viên [14], thường được gọi là đánh giá trên lớp hoặc đánh giá của giảng
viên [15], sau đó điều chỉnh phần hướng dẫn hoặc phản hồi tiếp theo dựa trên minh chứng đã có
để đáp ứng nhu cầu học tập của sinh viên. Đánh giá quá trình thường được xem là đánh giá cho
q trình học tập [16] vì mục đích của nó là cải thiện việc giảng dạy và học tập cũng như phát
hiện các khó khăn mà sinh viên có thể gặp phải trong quá trình học tập [17].
2.1.3.2
Đánh giá tổng kết
Đánh giá tổng kết, ngược lại với đánh giá q trình, được định nghĩa là các đánh giá tích
lũy nhằm ghi lại những gì sinh viên đã học được, hoặc chất lượng của việc học tập, và đánh giá
thành tích học tập của sinh viên với một số tiêu chuẩn nhất định [13]. Do đó, các đánh giá tổng
kết thường được định nghĩa là đánh giá dựa trên chuẩn đầu ra, được sử dụng để đưa ra quyết
định về việc xếp lớp hoặc thăng hạng [15, 17].
Hệ quả là, trong một khóa học thơng thường, giảng viên sẽ giao các bài kiểm tra ngắn để
thu thập kiến thức và phản hồi từ sinh viên. Dựa trên các kết quả này, các bài kiểm tra định kỳ
như giữa kỳ hoặc cuối kỳ được thiết kế bằng việc quan sát quá trình học tập đang diễn ra và
chuẩn đầu ra mơn học. Nói cách khác, sự tương ứng giữa kết quả đánh giá quá trình và đánh
giá tổng kết của sinh viên được mong đợi. Các nghiên cứu cho thấy rằng việc đánh giá có thể
khơng phản ánh mức độ tiếp thu của người học đối với môn học được giảng dạy [18]. Hơn nữa,
việc cân bằng giữa các đánh giá quá trình và đánh giá tổng kết được xem là một vấn đề khó, ảnh
hưởng đến chất lượng đánh giá và quá trình học tập của sinh viên [15].
2.2
Đánh giá độ khó của câu hỏi trong ngân hàng câu hỏi
Điểm trung bình là một yếu tố thơng thường được sử dụng để đánh giá độ khó của câu hỏi.
Ví dụ, tác giả Simon và cộng sự chỉ sử dụng điểm trung bình của học sinh để đo độ khó của các
câu hỏi trong kỳ thi lập trình [19]. Ngồi ra, tỷ lệ giữa điểm số của học sinh và số lượng học
sinh được đề xuất bởi nhóm nghiên cứu của Mahatme để phân loại câu hỏi trong nghiên cứu
môi trường học trực tuyến [20].
Các yếu tố khác cũng được xem xét để mơ tả độ khó của câu hỏi. Khi dự đốn thành tích
học sinh bằng cách sử dụng dữ liệu từ hệ thống Auto-grading, các tác giả trong [21] chọn bốn
đặc trưng: tỷ lệ qua môn của bài nộp tốt nhất, kết quả thử nghiệm từng trường hợp của bài nộp
Luận văn Thạc sĩ
Trang 8/62
Đại học Quốc gia TP.HCM - Trường Đại Học Bách Khoa
Khoa Khoa học và Kỹ thuật Máy tính
tốt nhất, khoảng thời gian giữa thời điểm nộp bài và hạn chót nhiệm vụ, và số lần nộp bài cho
các nhiệm vụ phân loại và hồi quy. Trong [22], độ khó cũng được coi là tỉ lệ thuận với tổng số
lần thử làm bài cho một bài toán đặt ra. Vào năm 2018, Awat và các cộng sự đã thực hiện phân
tích mục tiêu bằng cách sử dụng kết quả kỳ thi của học sinh [23]. Một trong các quy trình trong
việc thực hiện phân tích mục tiêu là xác định mức độ khó của một mục tiêu. Mức độ khó của
mục tiêu (câu hỏi) được xác định là số học sinh đúng chia cho tổng số học sinh.
Với mục tiêu ước tính độ khó của các bài tập lập trình, trong số thơng tin được trích xuất từ
bộ dữ liệu, Chowdhury và các cộng sự đã nghiên cứu việc phân cụm bằng cách chọn số lượng
học sinh đạt qua, số lượng bài nộp đạt qua và nhiều yếu tố khác như đặc trưng cho phân cụm
[24].
Bảng 2.1 liệt kê năm yếu tố liên quan đến độ khó cùng các tài liệu tham khảo mô tả thông
tin chi tiết liên quan. Năm yếu tố này sẽ được dùng trong khuôn khổ nghiên cứu luận văn Thạc
sĩ này.
Bảng 2.1: Các yếu tố liên quan đến việc mơ tả mức độ khó của câu hỏi
2.3
Yếu tố
Tài liệu tham khảo
Điểm trung bình
[20],[19]
Số lượng học sinh đạt qua
[23], [24]
Số lượng bài nộp đạt qua
[24], [20]
Điểm cao nhất
[21]
Số lần nộp bài
[21], [22]
Thu thập, phân tích và khai phá dữ liệu trong giáo dục
Khai phá dữ liệu giáo dục là công việc sử dụng các kỹ thuật khai phá dữ liệu trong môi
trường giáo dục [25]. Theo [3]:
"Khai phá dữ liệu giáo dục (Educational Data Mining - EDM) liên quan đến việc
phát triển các phương pháp khám phá các loại dữ liệu đặc biệt từ môi trường giáo
dục [25]. Nó cũng có thể được định nghĩa là việc áp dụng các kỹ thuật khai phá dữ
liệu (Data Mining - DM) cho loại dữ liệu cụ thể này từ môi trường giáo dục để giải
quyết các câu hỏi giáo dục quan trọng [26]."
Về các đối tượng nghiên cứu, một trong những nhiệm vụ quan trọng của EDM là tập trung
vào học viên trong một môi trường học tập hoặc trong quá trình hoạt động bằng cách nghiên
cứu phản hồi, đánh giá và kết quả [27]. Do đó, EDM cung cấp phân tích dữ liệu giúp học viên
và giảng viên cải thiện quá trình học tập và giảng dạy.
Luận văn Thạc sĩ
Trang 9/62
Đại học Quốc gia TP.HCM - Trường Đại Học Bách Khoa
Khoa Khoa học và Kỹ thuật Máy tính
Một literature review được tiến hành vào năm 2018 bởi [25] phân loại các ứng dụng EDM
thành 11 nhiệm vụ: Phân tích và trực quan hóa dữ liệu; Cung cấp phản hồi hỗ trợ giảng viên;
Đề xuất cho học viên; Dự đoán thành tích của học viên; Xây dựng mơ hình học viên; Phát hiện
hành vi khơng mong muốn của học viên; Nhóm học viên; Phân tích mạng xã hội; Xây dựng sơ
đồ khái niệm; Xây dựng tài liệu khóa học; Lập kế hoạch và lên lịch. Một cách thống kê, các tác
giả trong [5] đã sắp xếp các chủ đề nghiên cứu chính của 777 tài liệu và đưa ra một bảng xếp
hạng, trong đó có 5 chủ đề hàng đầu: Dự đốn thành tích; Hỗ trợ quyết định cho giảng viên và
học viên; Phát hiện mơ hình hành vi; So sánh hoặc tối ưu hóa thuật tốn; Phân tích mơ tả và dự
đốn về việc nghỉ học.
Từ một góc nhìn khác, dựa trên việc áp dụng các kỹ thuật khai phá dữ liệu, [28] chia tất cả
các nghiên cứu về khai phá dữ liệu giáo dục thành bốn danh mục chính: phân tích học tập được
hỗ trợ bởi máy tính (computer-supported learning analytics - CSLA), phân tích hành vi được hỗ
trợ bởi máy tính (computer-supported behavioral analytics - CSBA) và phân tích trực quan hóa
được hỗ trợ bởi máy tính (computer-supported visualization analytics - CSVA), dự đoán học tập
được hỗ trợ bởi máy tính (computer-supported predictive analytics - CSPA).
Nghiên cứu về CSLA đề cập đến việc áp dụng các kỹ thuật khai phá dữ liệu cho tương tác
của học viên và hành vi học tập hợp tác của họ trong ngữ cảnh khóa học. Bằng việc theo dõi
liên tục các hoạt động học tập này, giảng viên có thể tùy chỉnh trải nghiệm học tập của học viên
để đáp ứng yêu cầu học tập của môn học. Janssen và đồng nghiệp đã nghiên cứu tác động của
EDM đối với sự tham gia của học viên trong các buổi học Hỗ trợ Học tập Hợp tác trên Máy tính
(Computer-Supported Collaborative Learning - CSCL) [29]. Họ đã trực quan hóa những yếu tố
nào giúp học viên tham gia nhiều hơn và giúp họ hợp tác tốt hơn trong CSCL.
Một chiều khác được đề cập trong literature review là CSBA, liên quan đến tìm ra thơng tin
hay mơ hình trong hành vi học tập của học viên. Hung và Zhang sử dụng khai phá dữ liệu để
xác định các mơ hình hành vi và sở thích học tập của học viên khi tham gia vào các hoạt động
học trực tuyến [30]. Họ phát hiện rằng việc sử dụng EDM cải thiện trải nghiệm học tập của học
viên khi họ hợp tác từ xa.
CSVA tập trung vào cách trực quan hóa dữ liệu giáo dục để làm nổi bật thông tin liên quan
và đưa ra quyết định thích hợp dựa trên dữ liệu. Cơng cụ trực quan hóa dữ liệu có thể được sử
dụng trong giáo dục đại học để đơn giản hóa dữ liệu phức tạp và theo dõi dữ liệu đa chiều về
học viên từ sự tương tác của họ với hệ thống giáo dục trực tuyến [31].
Cuối cùng, CSPA nhằm dự đoán thành tích và duy trì của học viên trong một khóa học cụ
thể dựa trên kết quả của các bài đánh giá. Một ứng dụng cổ điển của danh mục này là xác định
học viên có nguy cơ thất bại và cần sự chú ý đặc biệt. Ví dụ, Bunkar và đồng nghiệp đã áp dụng
khai phá dữ liệu để dự đốn tỷ lệ học viên trượt và qua mơn dựa trên điểm cuối kỳ của họ [32].
Ngoài việc đánh giá quá trình học tập của học viên, dữ liệu được thu thập từ khai phá dữ
liệu cũng là một nguồn thông tin để xem xét và củng cố nội dung học tập. Những cơng việc này
thuộc một phân nhóm trong chiều CSPA được gọi là đánh giá tài liệu học tập hoặc xây dựng tài
Luận văn Thạc sĩ
Trang 10/62
Đại học Quốc gia TP.HCM - Trường Đại Học Bách Khoa
Khoa Khoa học và Kỹ thuật Máy tính
liệu khóa học. Peji´c và Molcer cho biết EDM có thể giúp học viên xác định nhu cầu học tập của
mình bằng cách điều chỉnh độ phức tạp của nhiệm vụ học tập [33].
2.3.1
Giải thuật k-means
Phân cụm (clustering algorithm) là một kỹ thuật gom nhóm các dữ liệu giống nhau (similarity) mà khơng bị ảnh hưởng bởi một mục đích cụ thể nào khác ngoài các điểm dữ liệu. k-means
là một giải thuật phân cụm được xuất bản dưới dạng một bài báo trên tạp chí năm 1982.
Giải thuật k-means thực hiện các bước chính như sau:
1. Chọn ngẫu nhiên K cluster centers.
2. Với từng điểm dữ liệu, tính khoảng cách đến mỗi tâm và gán điểm dữ liệu vào cụm có tâm
gần nhất.
3. Tính tốn lại tâm mới cho từng cụm bằng cách tính điểm trung bình của tất cả các điểm
trong cụm.
4. Nếu điều kiện dừng chưa được thoả mãn thì quay lại bước (2).
Giải thuật sẽ dừng khi một điều kiện nào đó được thoả mãn. Điều kiện dừng có thể là đã
đạt số lần lặp tối đa, hoặc độ dịch chuyển của các tâm giữa 2 lần lặp liền kề thấp nhỏ hơn một
ngưỡng được định nghĩa.
2.3.2
Gom cụm và phân loại nhiễu sử dụng DBSCAN và OPTICS
Các phương pháp phát hiện điểm nhiễu gồm có: clustering-based, classification-based, và
hybrid [34]. Trong đó, clustering-based có 2 ưu điểm: 1) phân chia tập dữ liệu thành các nhóm
gồm các đối tượng tương tự nhau, và khác với các đối tượng trong các cluster khác; 2) có thể
phát hiện ngoại lệ (outlier) mà khơng cần nhãn của từng nhóm - phù hợp với dữ liệu điểm hiện
tại chưa có cách đánh nhãn phù hợp.
Phương pháp density-based là một nhánh con của phương pháp clustering-based. Densitybased liên quan đến việc tìm các vùng có mật độ cao trong dữ liệu và coi chúng như các cụm.
Phương pháp dựa trên mật độ có một số ưu điểm: 1) tự động phát hiện số lượng cụm (các phương
pháp khác như k-means khơng làm được); 2) có thể làm việc với các điểm outlier; 3) phát hiện
nhiều cụm và điểm nhiễu [35].
Hai phương pháp density-based phổ biến được sử dụng là DBSCAN và OPTICS.
Cụm được xác định là các vùng dày đặc (dense regions) được phân tách bởi các vùng thưa
(low dense regions). Thuật toán bắt đầu với một đối tượng tùy ý trong tập dữ liệu và kiểm tra
các đối tượng láng giềng trong một bán kính (eps) cho trước. Nếu số lượng láng giềng trong
Luận văn Thạc sĩ
Trang 11/62
Đại học Quốc gia TP.HCM - Trường Đại Học Bách Khoa
Khoa Khoa học và Kỹ thuật Máy tính
khoảng eps đó vượt quá số lượng đối tượng tối thiểu (minPts) yêu cầu cho một cụm, nó được
đánh dấu là một đối tượng trung tâm (core object). Ngược lại, nếu số lượng đối tượng trong
vùng xung quanh nằm trong khoảng eps cho trước ít hơn số lượng minPts yêu cầu, đối tượng
này được đánh dấu là nhiễu (noise). Nhược điểm của thuật tốn này là nó phụ thuộc vào một
eps cố định cho các cụm khác nhau [36]. Do đó, nó có thể tạo ra dự đoán kém khi gặp phải các
cụm có khoảng cách khác nhau. OPTICS là một mơ hình cải thiện điểm yếu này. Thay vì xác
định dựa trên khoảng cách cố định của eps, OPTICS xác định xem khoảng cách giữa hai điểm
có phù hợp hay khơng bằng cách so sánh khoảng cách đó với khoảng cách của từng cặp điểm
trong mơi trường cục bộ.
Hình 2.1 cho thấy OPTICS phát hiện ngoại lệ tốt hơn DBSCAN - một thuật tốn phân cụm
dựa trên mật độ.
Hình 2.1: Sự khác biệt giữa giải thuật DBSCAN and OPTICS
2.3.3
Thuật toán phân loại Naive Bayes
Naive Bayes là một thuật toán phân loại phổ biến dựa trên Định lý Bayes, một khái niệm
cơ bản trong lý thuyết xác suất. Thuật toán này được sử dụng rộng rãi trong các ứng dụng khác
nhau như lọc thư rác, phân tích cảm xúc và phân loại văn bản. Thuật tốn Naive Bayes đặc biệt
hữu ích khi làm việc với dữ liệu có số chiều cao, vì nó có thể xử lý một lượng lớn các đặc trưng
với số lượng dữ liệu huấn luyện tương đối nhỏ.
Thuật toán hoạt động bằng cách huấn luyện trên một tập dữ liệu được gán nhãn, trong đó
các đặc trưng và lớp được biết đến. Sau đó, nó sử dụng Định lý Bayes để tính tốn xác suất của
mỗi lớp dựa trên các đặc trưng đầu vào. Lớp có xác suất cao nhất được chọn là lớp dự đoán.
Luận văn Thạc sĩ
Trang 12/62
Đại học Quốc gia TP.HCM - Trường Đại Học Bách Khoa
Khoa Khoa học và Kỹ thuật Máy tính
Định lý Bayes có thể được biểu diễn như sau:
P(c|x) =
P(x|c) ∗ P(c)
P(x)
Trong đó:
• P(c|x) là xác suất của lớp c dựa trên các đặc trưng đầu vào x.
• P(x|c) là xác suất quan sát các đặc trưng đầu vào x dựa trên lớp c.
• P(c) là xác suất tiên nghiệm của lớp c.
• P(x) là xác suất tiên nghiệm của việc quan sát các đặc trưng đầu vào x.
Thuật toán Naive Bayes đưa ra giả định "ngây thơ" rằng các đặc trưng độc lập có điều kiện
theo lớp. Điều này có nghĩa là xác suất quan sát các đặc trưng đầu vào x dựa trên lớp c có thể
được tính như tích của các xác suất của từng đặc trưng riêng lẻ dựa trên lớp c:
P(x|c) = P(x1 |c) ∗ P(x2 |c) ∗ ... ∗ P(xn |c)
Trong đó, xi là đặc trưng thứ i của x.
Sử dụng giả định này, công thức để tính xác suất của lớp c dựa trên các đặc trưng đầu vào x
trở thành:
P(c|x) =
P(x1 |c) ∗ P(x2 |c) ∗ ... ∗ P(xn |c) ∗ P(c)
P(x)
Trong đó:
• xi là đặc trưng thứ i của x.
• n là số lượng đặc trưng trong x.
Đây là công thức được sử dụng bởi thuật toán Naive Bayes để thực hiện dự đoán.
Một trong những ưu điểm quan trọng của Naive Bayes là tính đơn giản và hiệu quả. Đây là
một thuật tốn tương đối dễ triển khai và có thể cho ra kết quả nhanh chóng, ngay cả với tập dữ
liệu lớn. Ngồi ra, nó cũng có thể hoạt động tốt ngay cả với các tập dữ liệu huấn luyện nhỏ.
Tuy nhiên, giả định ngây thơ có thể dẫn đến kết quả khơng chính xác khi các đặc trưng
khơng độc lập. Ngồi ra, nó cũng có thể gặp khó khăn với các đặc trưng hiếm hoặc khơng được
quan sát trước, vì nó gán xác suất bằng khơng cho bất kỳ đặc trưng nào khơng xuất hiện trong
tập dữ liệu huấn luyện.
Nhìn chung, Naive Bayes là một thuật toán đơn giản và hiệu quả có thể hiệu quả trong một
số ứng dụng, nhưng các hạn chế của nó nên được xem xét khi chọn thuật toán phân loại. Quan
trọng là đánh giá hiệu suất của Naive Bayes so với các thuật toán phân loại khác, như hồi quy
logistic hoặc decision tree, để xác định phương pháp tốt nhất cho một vấn đề cụ thể.
Luận văn Thạc sĩ
Trang 13/62
Đại học Quốc gia TP.HCM - Trường Đại Học Bách Khoa
Khoa Khoa học và Kỹ thuật Máy tính
2.4
Kết chương
Chương này đã trình bày các nghiên cứu liên quan cần thiết, là kiến thức nền tảng phục vụ
cho các đề xuất trong các chương sau. Trong đó, một số cơng thức xác định độ khó của câu hỏi
trong ngân hàng đề có sẵn dựa trên dữ liệu thu thập kết quả làm bài của người học trong những
học kỳ trước đó, cũng như các phương pháp đánh giá trong quá trình giảng dạy góp phần hỗ trợ
cho các nghiên cứu và đóng góp trong Chương 3 liên quan đến việc khảo sát ngân hàng câu hỏi
lập trình và khảo sát năng lực người học.
Việc giới thiệu về một số phương pháp giảng dạy thực hành lập trình, (đặc biệt là phương
pháp flipped classroom mà hiện nay đang được các giảng viên trong và ngoài nước quan tâm)
và các kỹ thuật phân tích dữ liệu được giới thiệu là cơ sở để đề xuất thiết kế mơ hình giảng dạy
mới và xác định hành vi người học được nêu trong Chương 4.
Luận văn Thạc sĩ
Trang 14/62