HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA --- NGUYỄN THÀNH XUÂN TRÂM XÂY DỰNG PHƯƠNG PHÁP DỰ ĐOÁN KẾT QUẢ HỌC TẬP SINH VIÊN HỖ TRỢ HỆ THỐNG QUẢN... HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA ---
Trang 1ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA -
NGUYỄN THÀNH XUÂN TRÂM
XÂY DỰNG PHƯƠNG PHÁP DỰ ĐOÁN KẾT QUẢ HỌC TẬP SINH VIÊN HỖ TRỢ HỆ THỐNG QUẢN
Trang 2ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA -
NGUYỄN THÀNH XUÂN TRÂM
XÂY DỰNG PHƯƠNG PHÁP DỰ ĐOÁN KẾT QUẢ HỌC TẬP SINH VIÊN HỖ TRỢ HỆ THỐNG QUẢN
Trang 3CÔNG TRÌNH ĐƯỢC HOÀ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: đồng hướng dẫn PGS TS Thoại Nam
TS Lê Thanh Vân Cán bộ chấm nhận xét 1: PGS.TS Nguyễn Thanh Bình
Cán bộ chấm nhận xét 2: PGS.TS Huỳnh Trung Hiếu
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 03 tháng 07 năm 2019
Thành phần hội đồng đánh giá luận văn thạc sĩ gồm:
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 KH&KTMT
Trang 4ĐẠI HỌC QUỐC GIA TP.HCM CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
TRƯỜNG ĐẠI HỌC BÁCH KHOA Độc Lập – Tự Do – Hạnh Phúc
NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ và tên học viên: Nguyễn Thành Xuân Trâm MSHV: 7141144 Ngày, tháng, năm sinh: 20/08/1988 Nơi Sinh: Tiền Giang
Chuyên ngành: Hệ thống thông tin quản lý Mã số: 60.34.48
I TÊN ĐỀ TÀI
Xây dựng phương pháp dự đoán kết quả học tập sinh viên hỗ trợ hệ thống quản lý học vụ tại Phòng Đào Tạo – Trường Đại học Bách Khoa Tp.HCM
II NHIỆM VỤ VÀ NỘI DUNG
- Tìm hiểu hiện trạng về tình hình học tập của sinh viên và các hệ thống hỗ trợ quản
lý học vụ hiện có tại PĐT
- Tìm hiểu phương pháp phân loại, dự đoán dữ liệu để áp dụng mục tiêu nghiên cứu
- Thu thập, xử lý và phân tích dữ liệu
- Xây dựng phương pháp dự đoán kết quả học tập sinh viên hỗ trợ hệ thống quản lý học vụ áp dụng tại PĐT, Trường đại học Bách Khoa Tp HCM
- Đánh giá kết quả của việc xây dựng phương pháp dự đoán kết quả học tập sinh viên
hỗ trợ hệ thống quản lý học vụ tại PĐT từ đó cung cấp dự đoán về tình hình học tập của từng sinh viên đến Ban chủ nhiệm Khoa, cố vấn học tập, sinh viên, gia đình
III NGÀY GIAO NHIỆM VỤ: 03/01/2019
IV NGÀY HOÀN THÀNH NHIỆM VỤ: 02/06/2019
V CÁN BỘ HƯỚNG DẪN: TS Lê Thanh Vân và PGS.TS Thoại Nam
Tp.HCM, ngày tháng năm 2019
CÁN BỘ HƯỚNG DẪN TRƯỞNG KHOA KH&KTMT
Trang 5LỜI CẢM ƠN
Trước hết, tôi xin gửi lời cám ơn đến Ban chủ nhiệm khoa Khoa Học và Kỹ Thuật Máy Tính trường Đại học Bách Khoa Tp.HCM và toàn thể quý Thầy Cô trong khoa tham gia giảng dạy chương trình hệ thống thông tin quản lý đã truyền đạt những kiến thức, kinh nghiệm quý báo cho tôi trong quá trình học tập tại trường
Cảm ơn ban lãnh đạo và các đồng nghiệp tại PĐT – trường đại học Bách Khoa đã tạo điều kiện và hỗ trợ tôi rất nhiều trong suốt quá trình thực hiện luận văn
Tôi xin chân thành cảm ơn thầy hướng dẫn: PGS TS Thoại Nam và TS Lê Thanh Vân đã hỗ trợ tôi nhiều thông tin cần thiết trong quá trình thực hiện luận văn
Cuối cùng, tôi xin cảm ơn những chuyên gia, bạn bè và gia đình đã động viên, giúp
đỡ, tạo điều kiện thuận lợi cho tôi trong quá trình học tập và hoàn thành luận văn
Chân thành cảm ơn Tp.HCM, ngày tháng 6 năm 2019
Trang 6
TÓM TẮT NỘI DUNG LUẬN VĂN
Trường Đại học Bách Khoa Tp.HCM với bề dày hoạt động hơn 60 năm đã và đang đào tạo đội ngũ tri thức có năng lực lãnh đạo, sáng tạo tri thức mới thông qua nghiên cứu khoa học và chuyển giao công nghệ Với tầm nhìn và sứ mệnh đó, Phòng Đào Tạo – Trường Đại học Bách Khoa chịu trách nhiệm quản lý học vụ, tổ chức giảng dạy và học tập bao gồm các hệ đào tạo đại học chính quy, cao đẳng, bằng 2, vừa làm vừa học;
tư vấn cho Ban Giám Hiệu và Ban chủ nhiệm từng Khoa chuyên môn về chương trình đào tạo cho phù hợp với thực tiễn
Phòng Đào Tạo chưa có hệ thống hỗ trợ các Khoa báo cáo về tiến độ học tập của từng sinh viên, cũng như dự đoán về kết quả học tập; nhằm có những hoạt động tư vấn thích hợp cho sinh viên về đăng ký môn học, đăng ký số tín chỉ tối đa, đăng ký môn tự chọn … giúp sinh viên đạt kết quả học tập tốt nhất có thể Dữ liệu đào tạo được lưu trữ
và sử dụng với mục đích tra cứu, và các báo cáo được thực hiện bằng excel với dữ liệu thô… Các hệ thống quản lý hiện tại của PĐT đang sử dụng chưa trả lời được mối quan hệ giữa kết quả tuyển sinh đầu vào, kết quả của từng môn học, vùng miền, giới tính …với kết quả học tập của sinh viên, cũng như hỗ trợ BCN Khoa và BGH đưa ra các chiến lược về tuyển sinh, về chương trình đào tạo
Đề tài xây dựng phương pháp dự đoán kết quả học tập sinh viên hỗ trợ hệ thống quản lý học vụ tại Trường ĐHBK – Tp.HCM nhằm đáp ứng nhu cầu thực tiễn của nhà Trường về nâng cao công tác quản lý sinh viên, giúp sinh viên có kế hoạch học tập phù hợp với bản thân để đạt kết quả tốt nhất, cung cấp thông tin hỗ trợ cố vấn học tập nắm được kiến thức nền của từng sinh viên từ đó có những tư vấn phù hợp nhất
Trang 7ABSTRACT
Ho Chi minh City University of Technology, with more than 60 years of experience, has been training a team of knowledgeable and creative knowledge leaders through scientific research and technology transfer With that vision and mission, Office of Academic Affairs - Ho Chi minh City University of Technology is responsible for academic management, organization of teaching and learning, college, college 2, work and study at the same time; Advising the School leader and Department leader to specialize in training programs to suit the practice
Office of Academic Affairs does not yet have a system to support the Faculties to report on the academic progress of each student, as well as the academic results;
in order to have appropriate advisory activities for students on subject registration, maximum number of credits registration, electives for electives help students achieve the best academic results possible Study data is stored and used for search purposes, and reports are made in Excel with raw data The current management systems of the working offices are not yet able to answer the relationship between the results of the entrance exam, the results of each subject, region, gender with the learning outcomes of the students, also as support School leader and Department leader offer strategies for enrollment and training programs
The project builds the student learning outcome method to support the school management system in Ho Chi minh City University of Technology to meet the practical needs of the University to improve student management, help students plan to study best practice for yourself to achieve the best results, provide information to support academic advisors to understand the background of each student, and then have the most appropriate advice
Trang 8LỜI CAM ĐOAN
Tôi xin cam đoan toàn bộ nội dung trong luận văn do tôi tự nghiên cứu, khảo sát và thực hiện dưới sự hướng dẫn của thầy Thoại Nam và cô Lê Thanh Vân
Mọi thông tin và tài liệu tham khảo dùng trong luận văn điều được trích dẫn rõ ràng tác giả, tên công trình và thời gian công bố
Trang 9MỤC LỤC
DANH MỤC CÁC TỪ VIẾT TẮT 10
Chương 1: TỔNG QUAN ĐỀ TÀI 15
1.1 Sơ lược về tình hình học tập của sinh viên Trường Đại học Bách Khoa – Tp.HCM : 15
1.2 Sơ lược về hệ thống quản lý học vụ tại Phòng Đào Tạo - Trường Đại học Bách Khoa – Tp.HCM: 16
1.3 Mục tiêu nghiên cứu của đề tài 23
1.4 Ý nghĩa của đề tài 23
Chương 2: TỔNG QUAN VỀ CÁC NGHIÊN CỨU LIÊN QUAN ĐẾN ĐỀ TÀI24 2.1 Tình hình nghiên cứu trên thế giới 24
2.2 Tình hình nghiên cứu trong nước: 26
Chương 3: CƠ SỞ LÝ THUYẾT LIÊN QUAN ĐẾN ĐỀ TÀI 29
3.1 Collaborative Filtering 29
3.2 Matrix factorization: 31
3.3 Các công nghệ sử dụng: 34
3.4 Độ đo đánh giá: 41
Chương 4: THU THẬP, PHÂN TÍCH VÀ XỬ LÝ DỮ LIỆU 43
4.1 Quy trình lưu trữ bảng điểm 43
4.2 Phân hệ quản lý điểm của hệ thống quản lý học vụ tại PĐT 43
4.3 Thu thập dữ liệu điểm sinh viên 45
4.4 Tiền xử lý dữ liệu 47
Chương 5: XÂY DỰNG PHƯƠNG PHÁP DỰ ĐOÁN KẾT QUẢ HỌC TẬP SINH VIÊN 57
5.1 Đặc tả công cụ phân tích dữ liệu đại học 57
5.2 Thực nghiệm công cụ phân tích dữ liệu đại học 58
5.3 Kết quả thực nghiệm công cụ phân tích dữ liệu đại học 59
Trang 10Chương 6: ĐÁNH GIÁ PHƯƠNG PHÁP DỰ ĐOÁN KẾT QUẢ HỌC TẬP CỦA
SINH VIÊN 66
6.1 Đánh giá kết quả dự đoán kết quả học tập sinh viên 66
6.2 Tiêu chí đánh giá phương pháp dự đoán kết quả học tập áp dụng vào thực tiễn 73
Chương 7: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 75
7.1 Kết luận 75
7.2 Hướng phát triển 75
TÀI LIỆU THAM KHẢO 76
Trang 11DANH MỤC CÁC TỪ VIẾT TẮT
1 ĐHBK Tp.HCM Đại học Bách Khoa Thành phố Hồ Chí Minh
6 eLL Quản lý hồ sơ sinh viên online
7 Stinfo Cổng thông tin sinh viên
10 CCAV Đăng ký chứng chỉ miễn ngoại ngữ online
SV Sinh viên đại học chính quy
Trang 12MO Khoa quản lý tài nguyên và môi trường
MT Khoa khoa học và kỹ thuật máy tính
Trang 13DANH MỤC HÌNH
Hình 1: Biểu đồ tỉ lệ tốt nghiệp đúng tiến độ của sinh viên từng khóa 16
Hình 2: Biểu đồ điểm trung bình theo học kỳ của sinh viên 18
Hình 3 : Tiến độ học tập của sinh viên 18
Hình 4: Mô tả bộ dữ liệu ITU được sử dụng trong nghiên cứu 24
Hình 5: Bảng đánh giá mô hình dự đoán trong nghiên cứu.[2] 25
Hình 6: Mức độ quan trọng của thuộc tính 26
Hình 8: Giải thuật và các thuộc tính sử dụng cho hệ thống 27
Hình 9: User-Based và Item-Based Collaborative Filtering 29
Hình 10: Các thành phần của Apache Spark 36
Hình 12: RPC Flow 40
Hình 12: Thrift Compiler và Thrift network protocol stack 41
Hình 13: Sơ đồ hệ thống quản lý điểm tại PĐT 43
Hình 14: Tập tin kết quả học tập SV sau khi mã hóa dữ liệu 48
Hình 15: Thống kê tổng quan về tập dữ liệu kết quả học tâp sinh viên 49
Hình 16: Trực qua hóa về số lượng sinh viên của các khoa 50
Hình 18 : Biểu đồ trực quan hóa phân bố điểm của SV toàn trường 51
Hình 19 : Biểu đồ trực quan hóa phân bố điểm SV khoa MT 52
Hình 20 : Biểu đồ trực quan hóa phân bố điểm SV khoa CK 52
Hình 21 : Biểu đồ trực quan hóa phân bố điểm SV khoa GT 53
Trang 14Hình 22 : Biểu đồ trực quan hóa phân bố điểm SV khoa HC 53
Hình 23 : Biểu đồ trực quan hóa phân bố điểm SV khoa MO 54
Hình 24 : Biểu đồ trực quan hóa phân bố điểm SV khoa QL 54
Hình 25 : Biểu đồ trực quan hóa phân bố điểm SV khoa UD 55
Hình 26 : Biểu đồ trực quan hóa phân bố điểm SV khoa VL 55
Hình 27 : Biểu đồ trực quan hóa phân bố điểm SV khoa XD 56
Hình 28: Mô hình hóa công cụ phân tích dữ liệu đại học 57
Hình 27: Trực quan hóa độ đo đánh giá các giải thuật của khoa BD 66
Hình 28: Trực quan hóa độ đo đánh giá các giải thuật của khoa CK 67
Hình 29: Trực quan hóa độ đo đánh giá các giải thuật của khoa BD 67
Hình 30: Trực quan hóa độ đo đánh giá MAE các giải thuật của khoa DD 68
Hình 31: Trực quan hóa độ đo đánh giá các giải thuật của khoa GT 68
Hình 32: Trực quan hóa độ đo đánh giá các giải thuật của khoa HC 69
Hình 33: Trực quan hóa độ đo đánh giá các giải thuật của khoa MO 69
Hình 34: Trực quan hóa độ đo đánh giá các giải thuật của khoa MT 70
Hình 35: Trực quan hóa độ đo đánh giá các giải thuật của khoa QL 70
Hình 36: Trực quan hóa độ đo đánh giá các giải thuật của khoa UD 71
Hình 37: Trực quan hóa độ đo đánh giá các giải thuật của khoa VL 71
Hình 38: Trực quan hóa độ đo đánh giá các giải thuật của khoa XD 72
Trang 15DANH MỤC BẢNG
Bảng 1: Thống kê xử lý học vụ tại Trường Đại học Bách Khoa Tp.HCM 15
Bảng 2: Thống kê ứng dụng, dịch vụ tại phòng đào tạo 22
Bảng 3: Độ chính xác của các mô hình dự đoán 28
Bảng 4: Bảng mô tả tập tin điểm theo từng học kỳ 44
Bảng 5: Bảng mô tả tỉ lệ phần trăm môn học theo học kỳ 45
Bảng 6 : Bảng thang điểm chính thức và cách xếp loại kết quả học tập 45
Bảng 7: Bảng mô tả các trường dữ liệu của dữ liệu thu thập 47
Bảng 8: Bảng dữ liệu thông tin sinh viên 47
Bảng 9: Bảng mô tả điểm tổng hợp của từng sinh viên 49
Bảng 10: Bảng điểm số lớn hơn 10 và điểm chữ đối với thuộc tính điểm tổng kết 51
Bảng 11: Dữ liệu đầu vào cho công cụ dự đoán điểm đại học 58
Bảng 12: Thông tin các giải thuật được sử dụng cho thực ngiệm 59
Bảng 13 : Kết quả trường hợp Locality 60
Bảng 14 : Kết quả trường hợp Global 61
Bảng 15: Kết quả thực nghiệm Locality từ khóa 12 trở lên 62
Bảng 16: Kết quả thực nghiệm Locality khi loại bỏ điểm 0 63
Bảng 17: Kết quả thực nghiệm Locality SV từ K14 và điểm không đậu quy về 4 65
Trang 16Chương 1: TỔNG QUAN ĐỀ TÀI
Ở chương mở đầu, luận văn giới thiệu tổng quan về đề tài, khảo sát tình hình học tập của SV, khảo sát hệ thống quản lý học vụ hiện có tại PĐT Từ những khảo sát đó, luận văn đề ra mục tiêu nghiên cứu , ý nghĩa thực tiễn cũng nghĩa khoa học mà đề tài hướng đến
1.1 Sơ lược về tình hình học tập của sinh viên Trường Đại học Bách Khoa –
Tp.HCM :
Trường Đại học Bách Khoa Tp.HCM với bề dày hoạt động hơn 60 năm đã và đang đào tạo đội ngũ tri thức có năng lực lãnh đạo, sáng tạo tri thức mới thông qua nghiên cứu khoa học và chuyển giao công nghệ Nhà trường hiện đang đào tạo các bậc đại học (chính quy, bằng 2, không chính quy, cao đẳng) và sau đại học (cao học, nghiên cứu sinh) với tổng số xấp xỉ 26.000 học viên, sinh viên theo học Hằng năm, Trường cấp bằng kỹ sư cho hơn 3.000 sinh viên tốt nghiệp hệ đại học chính quy
Bên cạnh đó, nhà Trường ra quyết định tạm dừng, buộc thôi học đối với hàng trăm sinh viên quy phạm quy chế nhà Trường do học lực yếu, điểm trung bình bằng không,
SV không đăng ký môn học….thường tập trung vào những sinh viên năm 3, năm 4 Số sinh viên bị xử lý học vụ cũng đáng báo động, cụ thể số liệu thống kê tại Phòng đào đào về tình hình xử lý học vụ hằng năm
Bảng 1: Thống kê xử lý học vụ tại Trường Đại học Bách Khoa Tp.HCM
Tỷ lệ sinh viên tốt nghiệp đúng thời hạn trung bình chưa đến 50% Qua đó cho thấy
tỷ lệ này là chưa cao, nguyên nhân có thể là sinh viên chưa có kế hoạch học tập phù hợp, có một số môn học khó, khả năng đạt chuẩn tiếng anh 4 kỹ năng của sinh viên còn thấp….Dưới đây là biểu đồ thể hiện tình hình tốt nghiêp đúng tiến độ 4 năm hoặc 4,5 năm từ khóa 2012 đến 2014 (số liệu do PĐT cung cấp)
Trang 17Hình 1: Biểu đồ tỉ lệ tốt nghiệp đúng tiến độ của sinh viên từng khóa
1.2 Sơ lược về hệ thống quản lý học vụ tại Phòng Đào Tạo - Trường Đại học
Bách Khoa – Tp.HCM:
Khảo sát hệ thống quản lý học vụ tại PĐT các ứng dụng và dịch vụ của PĐT hiện tại, tình trạng đang được hoạt động và trong quá trình phát triển, các nền tảng liên quan của ứng dụng đó
lý các thông tin chung như sơ yếu lý lịch của sinh viên, quản lý sinh viên theo lớp, khoá, khoa ngành, quản lý chương trình đào tạo và kết quả học tập của sinh viên (gồm điểm, xếp loại học tập, học bổng, khen thưởng, kỷ luật…)
Khóa 2012 Khóa 2013 Khóa 2014
0 10 20 30 40 50 60
Tỉ lệ SV tốt nghiệp đúng tiến độ
Trang 18Hạn chế: yếu kém trong các ràng buộc tự nhiên, các ràng buộc phải can thiệp thủ công và mất nhiều công sức thời gian để kiểm tra, xây dựng Việc giao tiếp các hệ thống khác cũng phức tạp và nhiều công đoạn
Phân hệ quản lý chương trình đào tạo: các chương trình đào tạo của các chuyên ngành năm, làm chương trình khung quản lý quá trình học tập của sinh viên, quản lý chất lượng đào tạo, để áp dụng trong quá trình học và đăng ký môn học
Phân hệ quản lý thời khóa biểu, đăng ký môn học: chức năng xử lý các thông tin về thời khóa biểu môn học của từng sinh viên trong học mỗi học kỳ
Phân hệ quản lý học phí, học bổng: chức năng quản lý học phí sinh viên trong mỗi học kỳ, các khoản nợ của sinh viên…
Phân hệ quản lý lịch thi: chức năng xếp lịch thi cho sinh viên
Phân hệ quản lý điểm: chức năng xử lý điểm và lưu trữ điểm của sinh viên từ các môn đăng ký học trong mỗi học kỳ
Phân hệ quản lý khối lượng giảng dạy: chức năng quản lý khối lượng giảng dạy của Cán bộ, nhằm tính toán kinh phí cho Giảng viên
Phân hệ quản lý phòng: chức năng quản lý phòng, các thông tin liên quan đến phòng học, thí nghiệm… quỹ phòng còn, cấp cho ai…
Phân hệ quản lý tốt nghiệp: chức năng xét và lưu trữ các sinh viên đủ điều kiện tốt nghiệp từ số tín chỉ tích lũy và các điều kiện ràng buộc khác…
Chức năng khác: ngoài các chức năng chính được nêu trên, hệ thống quản lý học vụ còn các chức năng xử lý khác kèm theo, nhằm giải quyết
Trang 19yêu cầu phát sinh trong quá trình vận hành và những điểm mới trong mô hình đào tạo
Cổng thông tin sinh viên (stinfo):
Cung cấp thông tin sinh viên cho Khoa/ Bộ môn , Phòng ban theo chức năng Thống kê kết quả học tập biểu diễn dạng biểu đồ điểm trung bình tích lũy, số tín chỉ tích lũy của từng sinh viên Các thông tin cơ bản về xem thời khóa biểu, lịch thi, in bảng điểm, tiến độ học tập
Hình 2: Biểu đồ điểm trung bình theo học kỳ của sinh viên
Hình 3 : Tiến độ học tập của sinh viên
Ưu điểm: cung cấp cơ bản về thông tin sinh viên phục vụ quản lý sinh viên tại Khoa, phòng ban Cung cấp cho sinh viên về kế hoạch học tập của chương trình
Trang 20đào tạo, biểu đồ về điểm trung bình, số tín chỉ tích lũy từng học kỳ qua đó sinh viên so sánh được khả năng học tập của bản thân qua mỗi học kỳ
Nhược điểm : chưa có chức năng hỗ trợ sinh viên trong việc đăng ký môn học dựa vào kết quả học tập của từng sinh viên, chưa có chức năng giúp Khoa/Bộ môn thống kê kết quả học tập của sinh viên toàn khoa hoặc khóa đào tạo
Trang thông tin học vụ (www.aao.hcmut.edu.vn): năm 2014 trang thông tin chính thức đào tạo vừa được phát triển thay thế trang web củ có từ năm 1999, là trang web tổng hợp đầy đủ tin tức thông báo về quy chế, quy định, hướng dẫn, lịch trình tổ chức học kỳ, tổ chức thi, học phí, học bổng và các thông báo học vụ liên quan
Trang thông tin dịch vụ (www.daotao.hcmut.edu.vn, mybk.hcmut.edu.vn): là trang tổng hợp các dịch vụ phục vụ nhu cầu sinh viên, như: đăng ký môn học, đăng ký in bảng điểm, cổng thanh toán học phí, xem thời khóa biểu-lịch thi, tra thông tin văn bằng tốt nghiệp, đăng ký in giấy chứng nhận hoãn nghĩa vụ quân sự, đăng ký xét miễn ngoại ngữ, dịch vụ hỗ trợ dạy và học Bkle, diễn đàn hỏi đáp thắc mắc
Trang 21KHẢO SÁT HIỆN TRẠNG PHẦN MỀM DỊCH VỤ TẠI PHÒNG ĐÀO TẠO
Ghi chú: PDT-quản lý bởi phòng đào tạo đại học
Stt Quản
lý Tên ứng dụng, dịch vụ Hình thức Nền tảng Cơ sở dữ liệu Năm
1 PDT Phân hệ quản lý chương trình đào tạo Offline
11 PDT Dịch vụ đồng bộ dữ liệu foxpro, Oracle Offline Net Oracle, Foxpro 2008
Trang 2213 PDT Dịch vụ xem học phí sinh viên Online Php Oracle 2008
16 PDT
Quản lý cấp giấy chứng nhận hoãn nghĩa vụ quân sự, giấy chứng nhận sinh viên Offline Net SQL Server 2009
18 PDT Cấp giấy chứng nhận cho phép vào phòng thi Offline Visual Base Microsoft Access 2010
19 PDT
Quản lý quét và hỗ trợ chấm bài thi trắc
22 PDT Quản lý đăng ký hoạt động ngoại khóa Online Net SQL Server 2010
32 PDT Quản lý đăng ký xét miễn chứng chỉ ngoại ngữ Online Net SQL Server 2013
Trang 2335 PDT Trang web thông tin tổng hợp đào tạo Offline Php MySQL 2014
36 PDT
Đăng ký cấp giấy chứng nhận hoãn nghĩa vụ
Bảng 2: Thống kê ứng dụng, dịch vụ tại phòng đào tạo
Trang 241.3 Mục tiêu nghiên cứu của đề tài
Để giải quyết nhu cầu thực tiễn về hỗ trợ sinh viên nâng cao kết quả học tập, hỗ trợ
Khoa , BGH có các quyết định về chiến lược của nhà Trường, đề tài nghiên cứu đề ra
các mục tiêu chính:
Phân tích, thống kê để đưa ra các thông tin cơ bản về tình hình học tập của
SV
Ứng dụng các kỹ thuật học máy vào việc phân tích mô hình dự đoán, tích
hợp và triển khai công cụ dự đoán kết quả học tập của sinh viên
Trực quan hóa các kết quả phân tích giúp cho sinh viên cũng như giúp cho
nhà trường dự báo sớm và có cái nhìn tổng quan về tình hình học tập của SV
1.4 Ý nghĩa của đề tài
1.4.1 Ý nghĩa khoa học
Áp dụng phương pháp máy học kết hợp trí tuệ nhân tạo trong phân tích bộ dữ liệu
kết quả học tập của sinh viên
So sánh, đánh giá các phương pháp dự đoán kết quả học tập của sinh viên Từ đó,
lựa chọn phương pháp phù hợp để áp dụng tại PĐT – Trường đại học Bách Khoa
Tp.HCM
1.4.2 Ý nghĩa thực tiễn
Dự đoán kết quả học tập của sinh viên nhằm giúp sinh viên có sự lựa chọn môn học
phù hợp với năng lực bản thân hoặc có kế hoạch học tập để đạt kết quả cao nhất có
thể
Áp dụng mô hình dự đoán kết quả học tập sinh viên tại Phòng đào tạo – Trường Đại
học Bách Khoa Tp.HCM nhằm giúp công tác tổ chức giảng dạy, học tập phù hợp với
thực tiễn
Hỗ trợ BGH, Khoa chuyên môn có góc nhìn đa chiều về kết quả học tập của sinh
viên từ đó có hoạt động tư vấn thích hợp cho sinh viên về đăng ký môn học, đăng ký
số tín chỉ tối đa … để đạt kết quả tốt nhất có thể hoặc kết hợp với các yếu tố khác về
việc xây dựng chiến lược tuyển sinh, xây dựng chương trình đào tạo
Trang 25Chương 2: TỔNG QUAN VỀ CÁC NGHIÊN CỨU LIÊN
QUAN ĐẾN ĐỀ TÀI
Khai phá dữ liệu đã được ứng dụng cho nhiều mục đích khác nhau trong giáo dục đào tạo và hiện đang được các nhà nghiên cứu quan tâm Hàng năm, hội thảo chuyên về khai phá dữ liệu giáo dục (www.educationaldatamining.org) được tổ chức cũng như tạp chí chuyên về khai phá dữ liệu giáo dục (www.educationaldatamining.org/JEDM/), mà ở đó ta có thể tìm thấy rất nhiều bài viết chuyên sâu
2.1 Tình hình nghiên cứu trên thế giới
[2] Dự đoán về kết quả học tập của sinh viên sử dụng các phương pháp học máy Nghiên cứu được thực hiện để dự đoán kết quả học tập của sinh viên hoặc để tạo điều kiện lập kế hoạch học tập hoặc để xác định sinh viên có nguy cơ bỏ học Nhóm tác giả
đề xuất một mô hình phản hồi để tính toán kiến thức của sinh viên trong từng môn học
cụ thể và cung cấp phản hồi nếu sinh viên cần nỗ lực nhiều hơn trong môn học đó dựa trên điểm trung bình dự đoán
Nhóm tác giả đã phân tích dữ liệu thực tế được thu thập từ 225 sinh viên đại học của Khoa Kỹ thuật Điện tại ITU Áp dụng và đánh giá 3 phương pháp học máy: Collaborative Filtering, Matrix Factorization và Restricted Boltzmann Machine
Hình 4: Mô tả bộ dữ liệu ITU được sử dụng trong nghiên cứu
Trang 26Kết quả nghiên cứu: Mô hình Restricted Boltzmann Machine cho kết quả tốt nhất với độ lỗi RMSE là 0.3 tốt hơn gấp đôi với mô hình dự đoán Matrix Factorization với RMSE là 0.57
Hình 5: Bảng đánh giá mô hình dự đoán trong nghiên cứu.[2]
[5] Bài báo dự đoán điểm tổng kết của sinh viên dựa vào thông tin trên hệ thống Moodle : số lượng bài tập lớn được hoàn thành, số lượng câu hỏi tham gia, số lượng bào đọc tren forum,… Tác giả sử dụng các giải thuật phân loại như Decision Tree, Rule Induction, Neural Network để dự đoán cho bộ dữ liệu bảy khóa học Moodle với các sinh viên Đại học Cordoba Kết quả dự đoán nằm trong các phổ điểm:
Điểm FAIL : điểm <5
Điểm PASS: điểm >=5 và <7
Điểm GOOD : điểm >=7 và <9
Excellent: điểm >= 9
Nhóm tác giả đã so sánh hiệu suất và tính hữu ích của các kỹ thuật khai thác dữ liệu khác nhau để phân loại sinh viên bằng công cụ khai thác Moodle Bài báo chưa có bổ sung độ đo để đánh giá mô hình cũng như nhiều thông tin hơn các hoạt động trên hệ thống Moodle
Trang 272.2 Tình hình nghiên cứu trong nước:
2.2.1 Ứng dụng các kỹ thuật trong khai phá dữ liệu hỗ trợ sinh viên lập kế hoạch học
tập ( Nguyễn Thái Nghe – Khoa công nghệ thông tin và truyền thông Đại học Cần Thơ)
Bài báo dự đoán kết quả học tập ở một học kỳ nào đó dựa trên các thông tin nhân khẩu học (độ tuổi, giới tính, trình độ anh văn, ) và kết quả học tập của học kỳ trước
đó nhằm giúp cho sinh viên có thể tự đánh giá được năng lực của mình để có kế hoạch học tập cho phù hợp, và đồng thời cũng giúp cho các giáo viên Cố vấn học tập “cảnh báo” sớm đến các sinh viên đạt kết quả thấp Cơ sở dữ liệu được thu thập dữ liệu từ hệ thống thông tin quản lý sinh viên của trường Đại học Cần Thơ
Ở đây các tác giả đã sử dụng phương pháp lựa chọn thuộc tính thông qua đánh giá
độ lợi thông tin của từng thuộc tính “Information Gain Attribute Evaluation”, từ đó xếp hạng của chúng (ranked attribute) theo thứ tự giảm dần và loại bỏ các thuộc tính
mà độ lợi thông tin của nó quá thấp Họ sử dụng công cụ WEKA
Hình 6: Mức độ quan trọng của thuộc tính
Trang 28Phương pháp mô hình hóa: dữ liệu cũng như các kỹ thuật dùng trong dự đoán kết quả học tập Ở đây nhóm tác giả đã sử dụng cả hai dạng là phân lớp (cho dự đoán điểm chữ như A, B+ hay VeryGood, Good, ) và hồi quy (cho dự đoán điểm số,…)
Hình 7: Giải thuật và các thuộc tính sử dụng cho hệ thống
Kết quả nghiên cứu: Sau khi mô hình hóa, việc đánh giá độ tin cậy của các mô hình
sẽ được thực hiện, gồm cả thao tác điều chỉnh giá trị của các thuộc tính, thay đổi các tham số, kiểm tra mô hình sao cho đạt kết quả chính xác nhất Bảng 4 trình bày kết quả đánh giá mô hình trên cây quyết định và mạng Bayes, sử dụng phương pháp kiểm tra chéo 10 đường (10–folds cross validation)
Trang 29Bảng 3: Độ chính xác của các mô hình dự đoán
Để đánh giá mô hình nhóm tác giả sử dụng phép đo lỗi (error) hệ số tương quan (correlation coefficient) và độ sai lệch trung bình tuyệt đối (Mean Absolute Error) Hệ
số correlation coefficient càng cao thì mô hình càng chính xác Kết quả cho thấy hệ số tương quan đạt 0.833 trong khi MAE đạt 0.688 Như vậy, độ sai số khi dự đoán trung bình là ±0.688 (thang điểm 10)
Ưu điểm: Mô hình dự đoán cho kết quả chính xác khá tốt (92.86% trong trường hợp sử dụng cây quyết định) Phù hợp nếu chỉ xác định một sinh viên nào đó là thuộc diện cảnh báo (fail) hay không (pass) để có kế hoạch phù hợp giúp hạn chế vấn đề cảnh báo học vụ và buộc thôi học
Nhược điểm: Mô hình dự đoán xem các sinh viên là như nhau, tức không cá nhân hóa cho từng sinh viên Mỗi người học là khác nhau nên không thể đem một mô hình chung gồm cả sinh viên học giỏi để dự đoán kết quả cho những sinh viên học yếu
2.2.2 Các nghiên cứu liên quan đến đề tài tại Trường Đại học Bách Khoa – TP.HCM
[14] Nhóm tác giả phát triển giải thuật minSemi-RF dựa trên rừng ngẫu nhiên để dự đoán tình trạng học tập của sinh viên ngành Khoa học máy tính (CS) Họ sử dụng tập
dữ liệu gồm 1334 SV ngành CS với 43 môn học từ năm 2005-2008 Nhóm tác giả dự đoán tình trạng học của SV năm 2, năm 3, năm 4 tại thời điểm chương trình học kết thúc bao gồm: tốt nghiệp, còn đang học, mức cảnh cáo dừng học 1, mức cảnh cáo dừng học 2, dừng học Bài báo so sánh giải thuật minSemi-RF do nhóm tác giả phát triển với các giải thuật khác nhằm đánh giá độ chính xác của dự đoán Kết quả giải thuật minSemi-RF cho kết quả tốt nhất, độ chính xác trung bình 70%
[14]Ở bài báo tiếp theo, họ sử dụng giải thuật Kernel K-Means và Transfer
Learning để phân cụm những sinh viên có các hành vi học tập giống nhau xây dựng trọng số các thuộc tính áp dụng với bộ dữ liệu sinh viên Khoa Khoa học và kỹ thuật máy tính, Trường ĐHBK – Tp.HCM
Trang 30Chương 3: CƠ SỞ LÝ THUYẾT LIÊN QUAN ĐẾN ĐỀ TÀI
3.1 Collaborative Filtering
3.1.1 Tổng quan:
Các hệ thống đề xuất (Recommendation Systems) có 2 hướng tiếp cận là Collaborative Filtering và Content-based Filtering Content-based Filtering sử dụng các đặc trưng item như thể loại, màu sắc, và sở thích của người dùng để gợi ý Còn đối với Collaborative Filtering, cách tiếp cận này gợi ý với item cho người dùng dựa trên độ tương quan giữa các user và các item
Collaborative Filtering: có thể được chia thành 2 thành phần chính, đó là:
User-Based Collaborative Filtering (UBCF): phương pháp này sẽ tìm các user gần giống nhất đối với các user đang cần đưa ra gợi ý và gợi ý cho các item này dựa trên các user gần giống với user đó nhất
Item-Based Collaborative Filtering (IBCF): phương pháp này sẽ tìm các user gần giống với item hiện tại đang cần ra quyết định xem có nên gợi ý cho user không Quyết định việc có nên đề xuất, gợi ý item hiện tại cho user hay không sẽ được đưa ra dựa trên sự đánh giá của user đối với các item gần giống với item đó
Hình 8: User-Based và Item-Based Collaborative Filtering
Trang 31Collaborative Filtering sẽ thực hiện việc gợi ý các item cho các user bằng cách xác định độ giống nhau giữa các user dựa trên Utility Matrix bằng các Similarity Function chi tiết về Utility Matrix
3.1.2 Utility Matrix:
Gọi 𝑚 là số lượng user, 𝑛 là lượng item Ma trận M với kích thước 𝑚×𝑛, với 𝑀𝑖𝑗 là phần tử hàng thứ 𝑗 cột thứ 𝑗 của ma trận M, biểu thị độ thích/mức độ đánh giá của user thứ 𝑖 đối với item thứ 𝑗 𝑀𝑖𝑗 có thể không có giá trị nào, điều này biểu thị cho việc user thứ 𝑖 chưa đánh giá cho item thứ 𝑗
Ma trận M như trên gọi là Utility Matrix Mục tiêu của Collaborative Filtering là làm sao điền vào các giá trị 𝑀𝑖𝑗 đang còn trống
Utility matrix được tạo thành dựa trên các đánh giá của user cho các item Ma trận này phục vụ cho việc đánh giá, tính toán mức độ giống nhau giữa các user hay giữa các item để đưa ra các giá trị dự đoán gần đúng nhất cho các item mà user chưa đánh giá
3.1.3 Similarity Function
Similarity Function là hàm được sử dụng để tính toán mức độ tương đồng (similarity) giữa user với user hoặc giữ item với item trong Collaborative Filtering Các hàm tính toán mức độ tương đồng thường được sử dụng là Cosine, Pearson, Euclide
Cosine similarity:
Nếu sử dụng Cosine để tính toán similarity thì giá trị similarity sẽ nằm trong khoản
từ −1 đến 1 Giá trị similarity −1 thể hiện sự đối lập tuyệt đối giữa A và B, giá trị 0
Trang 32thể hiện A và B không có tương quan, giá trị 1 thể hiện sự tương quan tuyệt đối của A
và B
Pearson correlation coefficient:
Cũng giống như Cosine, giá trị similarity khi sử dụng Pearson sẽ nằm trong khoản
từ −1 đến 1 Giá trị similarity −1 thể hiện sự đối lập tuyệt đối giữa A và B, giá trị 0 thể hiện A và B không có tương quan, giá trị 1 thể hiện sự tương quan tuyệt đối giữa A
và B
Euclide distance score:
Khoảng cách Euclide giữa 2 điểm là chiều dài đoạn thẳng nối 2 điểm đó
𝑑 = √(𝑥1− 𝑥2)2 + (𝑦1− 𝑦2)2
𝑠𝑖𝑚𝑖𝑙𝑎𝑟𝑖𝑡𝑦 = 1
(1 + 𝑑)Đối với khoảng cách Euclide nếu một user đánh giá các item cao hơn một user khác thì khoảng cách Euclide sẽ cho rằng user này không giống với usere khác mà không quan tâm đến độ tương quan giữa hai user
Một số lưu ý khi chọn similarity function:
Nên sử dụng Cosine similarity khi dữ liệu thưa
Nên sử dụng Pearson correlation coefficient khi thang đánh giá của các user khác nhau
Nên sử dụng Euclide khi độ lớn của điểm đánh giá là quan trọng
3.2 Matrix factorization:
Matrix factorization là phương pháp phân tích một ma trận thành 2 hay nhiều ma trận khác, là cơ sở một số latent factor model được thực hiện trong Recom-mender System mô hình hóa user/item thành các hidden feature Latent factor model sẽ phân tích sinh viên và môn học dựa trên k đặc trưng để thích phân bố điểm Đối với môn
Trang 33học, các đặc trưng này có thể tượng trưng cho số lượng tính toán, độ khó hoặc đặc trưng khác mà con người khó có thể hình dung Đối với sinh viên, những đặc trưng này biểu thị cho khả năng thích ứng của sinh viên đối với các đặc trưng trên Trong ngữ cảnh EDM, Matrix Factorization sẽ phân tích ma trận Utility Matrix biểu thị điểm
đã biết của sinh viên thành hai hay nhiều ma trận
3.2.1 Singular Value Decomposition:
Singular Value Decomposition (SVD) là phương pháp phân tích ma trận Utility Matrix G thành hai ma trận U và V:
𝐺 ≈ 𝑈𝑆𝑉𝑇
Trong đó:
𝑈 là ma trận 𝑚 × 𝑟, với 𝑚 là số lượng sinh viên, 𝑟 là số lượng hidden features Mỗi sinh viên 𝑢 sẽ được biểu diễn với vector 𝑃𝑢 có 𝑟 chiều Mỗi phần tử trong vector biểu diễn sự tương thích của sinh viên 𝑢 đối với hidden feature 𝑘
S là ma trận đường chéo cấp r x r có các giá trị suy biến (singular value)
r 1 )
𝑉 là ma trận r× 𝑛, với 𝑛 là số lượng môn học Mỗi môn học 𝑖 được biểu diễn bởi vector 𝑞𝑖 với 𝑟 chiều Mỗi phần tử vector 𝑞𝑖 biểu diễn độ tương thích của môn học 𝑖 đối với hidden feature tương ứng Vector 𝑞𝑖 là một dòng ma trận 𝑉 trong đó giá trị 𝑉𝑖𝑘biểu diễn độ tương thích của môn học 𝑖 đối với hidden feature 𝑘
Điểm sắp xỉ được dự đoán của sinh viên 𝑢 và môn học 𝑖 là giá trị tích vô hướng
𝑝𝑢𝑞𝑖:
𝑔̂𝑢𝑖= 𝑝𝑢𝑞𝑖𝑇
Để học ma trận 𝑈 và 𝑉, ta sẽ tối thiểu hàm lỗi:
∑ (𝑟𝑢𝑖− 𝑝𝑢 𝑞𝑖𝑇)2+ λ(𝑝𝑢2+ 𝑞𝑖2)2 𝑢,𝑖∈𝐻
Với H là tập hợp của các cặp (𝑢, 𝑖) nếu 𝑔𝑢𝑖 nằm trong tập training, λ là regularization param-eter
Trang 34Sử dụng gradient descent, đối với mỗi giá trị 𝑔𝑢𝑖 trong tập training, ta lần lược cập nhật vector 𝑝𝑢 và 𝑞𝑖:
𝑝𝑢 = 𝑝𝑢+ 𝛾((𝑟𝑢𝑖 − 𝑝𝑢𝑞𝑖𝑇)𝑞𝑖− λ 𝑝𝑢)
𝑝𝑖 = 𝑝𝑖+ 𝛾((𝑟𝑢𝑖 − 𝑝𝑢𝑞𝑖𝑇)𝑝𝑢− λ 𝑞𝑖) Với 𝛾 là learning rate
3.2.2 Alternative Least Square:
Phương pháp Alternative Least Square (ALS) là một phương pháp tối ưu của phương pháp SVD Cả hai vector 𝑝𝑢 và 𝑞𝑖 điều chưa biết và được kết nối với nhau tích vô hướng làm cho hàm lỗi này lồi Ý tưởng của giải thuật ALS là: nếu ta cố định một trong hai biến 𝑝𝑢 hoặc 𝑞𝑖 hàm lỗi sẽ trở thành bài toán quadratic problem Trong mỗi vòng lặp, ALS sẽ cố định ma trận 𝑈 trước và cập nhật 𝑉 Sau đó sẽ cố định 𝑉 và cập nhật 𝑈 Quá trình này lặp lại cho tới khi hội tụ Trong ALS, vì mỗi vector 𝑝𝑢 độc lập với tất cả các vector 𝑝𝑢′ !=𝑢 còn lại và mỗi vector 𝑞𝑖 độc lập 𝑞𝑖′ !=𝑖 còn lại nên giải thuật này có thể song song hóa
3.2.3 Non-negative Matrix Factorization
Non-negative Matrix Factorization (NMF) là một trong những biến thể khác của Matrix Factorization trong đó ràng buộc không âm được thêm vào Với một ma trận không âm 𝐺 chứa tất cả điểm của mọi sinh viên, ta tìm hai ma trận không âm 𝑊 và 𝐻 sao cho:
𝐺 ≈ 𝑊 × 𝐻 Với:
𝐺 là ma trận không âm kích thước 𝑚 × 𝑛
𝑊 là ma trận không âm kích thước 𝑚 × 𝑟
𝐻 là ma trận không âm kích thước r × 𝑛
Đối với Matrix Factorization thông thường, ta có thể cho ra độ tương thích âm giữa sinh viên 𝑢 và hidden feature 𝑘 làm cho việc mô hình hóa trở nên khó khăn hơn để giải thích NMF có thể làm cho việc biểu diễn các hidden feature này rõ ràng hơn bởi sự
Trang 35ràng buộc không âm, nhờ đó các môn học có thể được biểu diễn bởi một tập hợp các kiến thức nền tảng
Trong NMF, 𝑊 và 𝐻 được cập nhật bằng công thức:
𝑊𝑇𝑊𝐻
𝑊 ← 𝑊𝐻𝐻𝑇𝑇𝐻𝐻𝐺 Các công thức trên có thể được biểu diễn lại theo phương pháp gradient descent dưới dạng:
𝐻 ← 𝐻 − 𝜂(𝑊𝑇𝑊𝐻 − 𝑊𝑇𝐺)
𝑊 ← 𝑊 − 𝜆(𝐻𝑇𝐻𝐻 − 𝐻𝑇𝐺)
3.3 Các công nghệ sử dụng:
3.3.1 Spark:
Tổng quan về Apache Spark:
Spark là một công cụ được thiết kế tích hợp hầu như tất cả các công cụ cho việc giải quyết dữ liệu lớn Nếu như Hadoop, một framework mã nguồn mở trên nền tảng java cho phép phát triển các ứng dụng phân tán có cường độ dữ liệu lớn dựa trên ý tưởng từ các công bố của Google về mô hình Map-Reduce và hệ thống phân tán Google File System thì Spark ngoài việc có sức mạnh tương tự Hadoop nó còn mở rộng Hadoop Map-reduce lên một đẳng cấp cao hơn
Để sử dụng hiệu quả cho các loại dữ liệu khác nhau, chúng ta có các công cụ chuyên biệt, như:
Batch processing sử dụng Hadoop Map-Reduce
Stream processing sử dụng Apache Storm/S4
Interactive processing sử dụng Apache Impala ho∞c Apache Tez
Graph processing sử dụng Neo4j ho∞c Apache Giraph
Trang 36Không có một công cụ mạnh mẽ nào có thể xử lý dữ liệu cả real-time và batch mode Vì vậy, nảy sinh yêu cầu một công cụ có thể đáp ứng được các yêu cầu này và
có thể xử lý được dữ liệu trong bộ nhớ để tăng tốc độ tính toán Đó chính là lý do tại sao Apache Spark ra đời và trở thành một công cụ mạnh mẽ được sử dụng rộng rãi Apache Spark là công cụ mã nguồn mở mạnh bởi vì nó hỗ trợ cả real-time processing, batch processing, interactive processing, graph processing và được thực hiện trong bộ nhớ Nên có tốc độ xử lý nhanh, dễ sử dụng, tạo nên sự khác biệt giữa Spark và Hadoop
Sơ lược về lịch sử phát triển của Spark:
Apache Spark là một open source cluster computing framework được phát triển sơ khởi vào năm 2009 bởi AMPLab tại đại học California Sau này, Spark đã được trao cho Apache Software Foundation vào năm 2013 và được phát triển cho đến nay Nó cho phép xây dựng các mô hình dự đoán nhanh chóng với việc tính toán được thực hiện trên một nhóm các máy tính, có có thể tính toán cùng lúc trên toàn bộ tập dữ liệu
mà không cần phải trích xuất mẫu tính toán thử nghiệm Tốc độ xử lý của Spark có được do việc tính toán được thực hiện cùng lúc trên nhiều máy khác nhau Đồng thời việc tính toán được thực hiện ở bộ nhớ trong (in-memories) hay thực hiện hoàn toàn trên RAM
Một số đặc tính của Spark:
Apache Spark có các đặc điểm sau:
Spark có một key-feature là nó có khả năng thực hiện tính toán trong bộ nhớ trên một cluster Điều này giúp cho tốc độ tính toán được tăng lên và cũng đồng thời làm tăng tốc độ xử lý của ứng dụng
Spark được viết bằng Scala, nhưng nó cũng hỗ trợ nhiều ngôn ngữ khác như Java, python và R
Quan trọng nhất, khi so sánh với Hadoop, Spark nhanh hơn khoản 100 lần cho việc xử lý dữ liệu lớn so với Big data Hadoop và nhanh hơn khoản 10 lần về tốc
độ truy cập dữ liệu từ đĩa
Spark có thể chạy ở chế độ Standalone hoặc trên hệ thống File system như Hadoop Yarn hay Messo
Trang 37Các thành phần của Spark:
Hình 9: Các thành phần của Apache Spark
nhất của Spark như lập lịch cho các tác vụ, quản lý bộ nhớ, fault recovery, tương tác với các hệ thống lưu trữ…Đặc biệt, Spark Core cung cấp API để định nghĩa RDD (Resilient Distributed DataSet) là tập hợp của các item được phân tán trên các node của cluster và có thể được xử lý song song
Mesos hoặc trên chính cluster manager được cung cấp bởi Spark được gọi là
Standalone Scheduler
Spark SQL cho phép truy vấn dữ liệu cấu trúc qua các câu lệnh SQL Spark SQL
có thể thao tác với nhiều nguồn dữ liệu như Hive tables, Parquet, và JSON
Spark Streaming cung cấp API để dễ dàng xử lý dữ liệu stream,
MLlib Cung cấp rất nhiều thuật toán của học máy như: classification, regression, clustering, collaborative filtering…
GraphX là thư viện để xử lý đồ thị
SparkR là một gói R cho phép phân tích tập dữ liệu lớn Ý tưởng chính đằng sau SparkR là khám phá những kỹ thuật khác để tích hợp khả năng sử dụng của R với khả năng mở rộng của Spark
Trang 38Resilient Distributed Dataset (RDD) là một khái niệm trừu tượng của Spark, nó là đơn vị dữ liệu cơ bản trong Spark Đó là một tập phân tán của các phần tử qua các node trên cluster của Spark RDD thực hiện các thao tác, tác vụ song song Hơn nữa, RDD không đổi vì vậy có thể tạo ra một RDD mới bằng cách biến đổi RDD có sẵn
Có 3 cách để tao ra Spark RDD:
chương trình điều khiển, có thể tạo ra các RDD
o External datasets: tạo ra Spark RDD bằng cách gọi phương thức textFile
Vì thế, phương thức này lấy URL của file và đọc nó như một tập các dòng
Các ưu điểm của Spark:
Nhờ sử dụng RDD, Spark có các ưu điểm sau:
Khả năng tính toán in-memory: trong khi lưu trữ các RDD, dữ liệu được lưu
trữ trong bộ nhớ trong Chính việc giữ dữ liệu trong bộ nhớ trong đã giúp cải thiện hiệu suất, hiệu suất được cải thiện tỉ lệ với độ lớn của dữ liệu, dữ liệu càng lớn thì hiệu suất được thể hiện càng rõ ràng hơn
Khả năng tính toán lười: điều này có nghĩa dữ liệu trong RDD không được
tính toán trong quá trình thực hiện trung gian Chỉ sau khi cần thiết, tất cả các thay đổi hoặc tính toán mới được thực hiện Điều này hạn chế khối lượng công việc phải thực hiện và loại bỏ các tính toán không cần thiết, giúp cho thao tác dữ liệu trở nên nhanh chống hơn
Khả năng phục hồi nếu có lỗi: nếu có bất kỳ một node nào thực hiện tính
toán hay xử lý thất bại, bằng cách sử dụng dòng hoạt động, Spark có thể tính toán lại vùng dữ liệu bị mất của RDD từ RDD gốc ban đầu Vì thế , nó có thể phục hồi dữ liệu
bị mất một cách dễ dàng
Khả năng không biến đổi: khi tạo ra một RDD, ta không thể thao tác trực
tiếp để làm biến đổi nó, mà việc thao tác đó tạo ra một RDD kết quả tương ứng Do
đó, trong quá trình xử lý dữ liệu đạt được tính nhất quán
Trang 39Tính bền vững: với việc lưu trữ RDD thường xuyên được sử dụng trong bộ nhớ,
khi cần truy xuất dữ liệu thì dữ liệu được truy xuất từ bộ nhớ mà không cần phải đọc
từ đĩa và có thể thực hiện nhiều tác vụ trên cùng một dữ liệu
Tính phân hoạch: RDD phân vùng các bản ghi một cách luận lý, phân tán dữ liệu
node của cluster, vì vậy nó cung cấp khả năng song song hóa
Khả năng xử lý song song: nhờ vào việc dùng các RDD để phân tán dữ liệu trên
các node của cluster
Hỗ trợ nhiều kiểu dữ liệu khác nhau, như: integer, long, string
Không giới hạn RDD sử dụng: số lượng RDD sử dụng bao nhiêu là phụ thuộc vào
kích thước đĩa và bộ nhớ …
Các nhược điểm của Spark:
Không hỗ trợ xử lý real-time hoàn toàn: Spark chỉ hỗ trợ ở mức gần real-time,
nói cách khác, Spark là công cụ xử lý hoàn toàn real-time
Gặp vấn đề với tập dữ liệu nhỏ: trong RDD, mỗi tập tin là một phân vùng nhỏ Có
nghĩa là có một lượng lớn phân vùng nhỏ trong RDD Vì vậy, ta muốn hiệu quả trong
xử lý, RDD nên phân vùng lại thành nhiều định dạng có thể quản lý được Việc này đòi hỏi yêu cầu xáo trộn rộng khắp trên cluster
Tốn chi phí về bộ nhớ: Spark đánh đổi giữa chi phí tính toán với chi phí về mặt lưu
trữ
Không có hệ thống File system riêng: vấn đề chính của Spark là nó không có hệ
thống file system riêng, mà chỉ dựa trên các nền tảng khác như Hadoop hoặc base platform
Số lượng giải thuật hỗ trợ khá ít: Spark MLlib có số lượng khá ít các giải thuật có
sẵn
Phải tối ưu hóa thủ công: cần phải đặc tả tập dataset Hơn nữa, để việc phân vùng
trong Spark được chính xác, bắt buộc phải điều khiển nó thủ công…