Tải bản đầy đủ (.docx) (72 trang)

ĐỒ ÁN PHÂN TÍCH VÀ CẢNH BÁO XU HƯỚNG HỌC TẬP CỦA SINH VIÊN

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (271.38 KB, 72 trang )

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CƠNG NGHỆ THƠNG TIN

BÁO CÁO ĐỒ ÁN

PHÂN TÍCH VÀ CẢNH BÁO XU HƯỚNG HỌC
TẬP CỦA SINH VIÊN
Môn: Đồ án 1
Giáo viên hướng dẫn: TS Nguyễn Lưu Thùy Ngân
Sinh viên thực hiện: Đặng Khắc Lộc 17520694 Thành phố Hồ Chí Minh, năm

2021


LỜI NĨI ĐẦU
Lời nói đầu, cho phép tơi xin cám ơn cô Nguyễn Lưu Thùy Ngân, cô là người đã
hướng dẫn tơi đến với lĩnh vực phân tích dữ liệu học tập khó khăn nhưng cũng
thú vị này.
Trong một lĩnh vực mới và rộng như cơng nghệ thơng tin thì việc hướng dẫn cho
từng bạn sinh viên là điều rất khó khăn nên vì vậy nên chúng tơi rất biết ơn cơ,
các thầy cơ của nhóm nghiên cứu NLP và trường Đại học Công nghệ thông
tin đã tạo điều kiện cho tôi được học tập và nghiên cứu trong một môi trường
chuyên nghiệp với các mảng kiến thức hiện đại. Tôi xin gửi lời chúc sức khỏe và
mong những điều thành công nhất đến với cô Nguyễn Lưu Thùy Ngân và tồn
thể trường Đại học Cơng nghệ thơng tin.
Mặc dù tơi đã cố gắng hồn thành đề tài nhưng chắc chắn khơng tránh khỏi
những thiếu sót. Vì vậy tơi kính mong nhận được sự thơng cảm và đóng góp ý
kiến từ quý thầy cô và bạn đọc.
Tôi xin chân thành cảm ơn.
Tác giả:
Đặng Khắc Lộc


NHẬN XÉT CỦA GIẢNG VIÊN
………………………………………………………………………………………

………………………………………………………………………………………

………………………………………………………………………………………

………………………………………………………………………………………

………………………………………………………………………………………



………………………………………………………………………………………

………………………………………………………………………………………

………………………………………………………………………………………

………………………………………………………………………………………

………………………………………………………………………………………

………………………………………………………………………………………

………………………………………………………………………………………

………………………………………………………………………………………

………………………………………………………………………………………


………………………………………………………………………………………

………………………………………………………………………………………

………………………………………………………………………………………
… ……………………………………
Giảng viên hướng dẫn
TS Nguyễn Lưu Thùy Ngân
MỤC LỤC


CHƯƠNG 1 ...................................................................................................................
1 TỔNG
QUAN ................................................................................................................ 1 1.1
Giới thiệu chung .............................................................................................. 1 1.2
Các nghiên cứu liên quan đến đề tài.............................................................. 3 1.3
Mục tiêu thực hiện đề tài ................................................................................ 3 1.4
Phương pháp để hiện thực hóa mục tiêu đề tài............................................ 4 1.5
Dữ liệu sử dụng................................................................................................ 4
CHƯƠNG 2 ...................................................................................................................
5 CÁC NGUYÊN TẮC CHUẨN BỊ BỘ DỮ
LIỆU ........................................................ 5 2.1 Giới thiệu
chung .............................................................................................. 5 2.2 Làm sạch dữ
liệu.............................................................................................. 6 2.3 Tích hợp dữ
liệu............................................................................................... 8 2.4 Biến đổi (mã
hóa) dữ liệu.............................................................................. 10 2.5 Rút gọn dữ
liệu............................................................................................... 10 CHƯƠNG
3 ................................................................................................................. 12
CÁC MƠ HÌNH KHAI THÁC DỮ LIỆU ...................................................................

12 3.1 Naïve Bayes .................................................................................................... 12
3.1.1 Giới thiệu chung.......................................................................................... 12
3.1.2 Các phân phối thường dùng trong NBC .................................................. 14
3.1.3 Ví dụ............................................................................................................. 16
3.1.4 Nhận xét thêm ............................................................................................. 18
3.2 Bayesian Network.......................................................................................... 19
3.2.1 Giới thiệu chung.......................................................................................... 19
3.2.2 Định nghĩa ................................................................................................... 19
3.2.3 Ví dụ............................................................................................................. 20
3.2.4 Mạng Bayes nhân quả ................................................................................ 21
3.3.5 Học cấu trúc ................................................................................................ 22
3.3.6 Học tham số................................................................................................. 22
3.3.7 Suy luận ....................................................................................................... 23


3.3 Decision tree ................................................................................................... 24
3.3.1 Giới thiệu ..................................................................................................... 24
3.3.2 Minh họa...................................................................................................... 27
3.3.3 Hàm số Entropy .......................................................................................... 28
3.3.4 Phương thức tính tốn................................................................................ 29
3.3.5 Ví dụ............................................................................................................. 31
3.3.6 Điều kiện dừng ............................................................................................ 35
3.3.7 Pruning ........................................................................................................ 36
3.3.8 Nhận xét thêm ............................................................................................. 37
3.4 Bagging With Random Forest...................................................................... 38
3.4.2 Bootstrap ..................................................................................................... 38
3.4.3 Bootstrap Aggregation (Bagging) ............................................................. 39
3.4.4 Random Forest............................................................................................ 40
3.4.5 Nhận xét thêm ............................................................................................. 42
3.5 Multilayer neural network and backpropagation...................................... 42

3.5.1 Giới thiệu ..................................................................................................... 42
3.5.2 Biểu diễn hàm XOR với nhiều perceptron............................................... 44
3.5.3 Layer ............................................................................................................ 47
3.5.3 Units ............................................................................................................. 48
3.5.4 Weights, Biases............................................................................................ 48
3.5.5 Activation function ..................................................................................... 49
3.5.6 Backpropagation......................................................................................... 52
CHƯƠNG 4 .................................................................................................................
57 THÍ
NGHIỆM .............................................................................................................. 57
4.1 Giới thiệu ........................................................................................................ 57
4.2 Thí nghiệm Nạve Bayes................................................................................ 59
4.3 Thí nghiệm Bayesian Network ..................................................................... 62
4.4 Thí nghiệm Decision tree(J48)...................................................................... 66
4.5 Thí nghiệm Bagging With Random Forest ................................................. 70
4.6 Thí nghiệm Multilayer neural network....................................................... 74


CHƯƠNG 5 .................................................................................................................
78 PHÂN TÍCH KẾT LUẬN VÀ HƯỚNG PHÁT
TRIỂN ............................................. 78 5.1 Phân tích kết
luận ............................................................................................. 78 5.2 Hướng phát
triển .............................................................................................. 78 TÀI LIỆU
THAM KHẢO ........................................................................................... 79

CHƯƠNG 1
TỔNG QUAN
1.1 Giới thiệu chung
“Theo Cơ quan Thống kê Giáo dục Đại học (HESA) ở Anh, tỷ lệ bỏ học của các
sinh viên đại học đã tăng lên trong ba năm qua. Số liệu thống kê được công bố

bởi HESA tiết lộ rằng tổng cộng 26.000 sinh viên ở Anh năm 2015 đã bỏ học từ
các chương trình học đã đăng ký sau năm đầu tiên. Ngoài ra, số liệu thống kê
cho thấy trình độ giáo dục đại học (HE) mà người học đạt được cho tất cả các
cấp, bao gồm cả bậc đại học và sau đại học, đã giảm từ 788.355 trong năm
2012/13 xuống còn 757.300 trong năm 2016/17”. [1]
Qua dẫn chứng trên chúng ta thấy được thực trạng sinh viên bỏ học không chỉ là
vấn đề đáng quan tâm của các nước đang phát triển hay những nước chưa phát
triển. Mà ở những nước lớn thì đây vẫn là 1 vấn đề nhức nhối cần nghiên cứu và
khắc phục.


Ảnh minh họa trường đại học
1

Thách thức đối với các trường đại học tại Việt Nam:
Chính vì từ tính chất quan trọng đã nêu trên việc dự đoán hiệu suất học tập của
sinh viên nhằm phát hiện sớm các sinh viên yếu kém để giúp họ lập kế hoạch
học tập phù hợp là một nhu cầu cần thiết ở các trường đại học, cụ thể là đối với
cố vấn học tập và ban giám hiệu nhà trường.
Bên cạnh đó, các trường đại học tại Việt Nam đã triển khai theo học chế tín chỉ
nên các sinh viên thường bị lúng túng khi lựa chọn mơn học do có nhiều mơn
được giảng dạy trong một học kỳ. Khi đó, bên cạnh khả năng tự tìm hiểu thì
sinh viên sẽ cần đến sự trợ giúp của giáo viên cố vấn. Tuy nhiên, bên cạnh kinh
nghiệm của mình thì giáo viên cố vấn sẽ phải tra cứu kết quả học tập của từng
sinh viên, tìm hiểu hồn và tư chất của sinh viên để trợ giúp tuỳ theo năng lực
của mỗi em, do đó khá tốn thời gian và cơng sức. Vấn đề đặt ra là làm sao để sử
dụng nguồn dữ liệu giáo dục để khai phá và phân tích được xu hướng học tập
của sinh viên trong tương lai nhằm giúp cho cả sinh viên và cố vấn học tập.

Ảnh minh họa trường đại học



2

1.2 Các nghiên cứu liên quan đến đề tài
Phân tích, dự đoán xu hướng học tập của sinh viên là một nhiệm vụ rất khó
khăn vì nó bị ảnh hưởng bởi các yếu tố xã hội, môi trường và hành vi. Thậm
chí tâm lý của sinh viên (chủ quan, hay quyết tâm hơn …) cũng trực tiếp ảnh
hưởng đến hiệu suất học tập trong tương lai. Do đó, thuật tốn học máy ngày
càng được sử
dụng để khám phá mối quan hệ giữa các yếu tố này và kết quả học tập của sinh
viên. Có nhiều mơ hình dự đốn giáo dục khác nhau để hỗ trợ sinh viên nhằm
giúp họ đạt được sự cải thiện trong học tập.
Một số lượng đáng kể các nghiên cứu đã được thực hiện để dự đoán hiệu suất
của các sinh viên dựa trên phương pháp Bayes. Ví dụ bài “Predicting student
performance by using data mining methods for classification.” [2] đã so sánh
cách tiếp cận Bayes với các cách tiếp cận phân loại khác để xác định các mẫu
hữu ích có thể được trích xuất từ dữ liệu cá nhân và tiền đại học của sinh viên
để dự đoán hiệu suất của sinh viên tại trường đại học. Tương tự, các tác giả của
bài “Prediction of student performance using weka tool.” [3] đã sử dụng cách
tiếp cận tương tự cho một nghiên cứu so sánh các thuật tốn phân loại nhưng
mục đích của họ là phân loại các sinh viên và xác định các thuộc tính có ảnh
hưởng nhất đến sinh viên thất bại. Hoặc bài “Classification and prediction
based data mining algorithms to predict slow learners in education sector” [4]
đã thực hiện một nghiên cứu để phân tích dữ liệu nhân khẩu học, xã hội và
đánh giá để dự đoán các sinh viên học chậm để cải thiện hiệu suất của họ và
giảm tỷ lệ thất bại trước kỳ thi.

1.3 Mục tiêu thực hiện đề tài
1. Tìm hiểu các phương pháp khoa học dữ liệu khác nhau liên quan đến phân

tích dữ liệu giáo dục, tập trung vào các phương pháp dự đoán xu hướng kết quả
học tập của sinh viên.


3

2. Thử nghiệm, đánh giá một số phương pháp dự đoán xu hướng kết quả học tập
của sinh viên.

1.4 Phương pháp để hiện thực hóa mục tiêu đề tài
Khảo sát các nghiên cứu có liên quan tại các hội nghị, trường đại học có uy tín.
Xây dựng dữ liệu cho bài tốn dựa theo các quy tắc sau:
• Làm sạch dữ liệu
• Tích hợp dữ liệu
• Biến đổi (Mã hóa) dữ liệu
• Rút gọn dữ liệu
Tiến hành phân tích dữ liệu theo cách phù hợp: phân tích thống kê và các kỹ
thuật: Naïve Bayes, Bayesian Network, Cây quyết định, Bagging Predictors,
ANN để phục vụ mục tiêu dự đốn tình trạng học tập của đối tượng sinh viên.
Cài đặt thí nghiệm và đánh giá kết quả.
Rút ra các kết luận về ưu, nhược điểm và hướng cải tiến cho tương
lai. 1.5 Dữ liệu sử dụng
Dữ liệu dùng để phân tích của tôi là dữ liệu ở bậc đại học dạng bảng gồm có các
thuộc tính:
Số thứ tự người học đó (chỉ số đã được mã hóa để khơng thể hiện tên cá nhân),
ngành học của người học đó, số tín chỉ người đó đã học, điểm trung bình,
phương thức trúng tuyển đầu vào đại học, điểm trúng tuyển năm đại học, mã
tỉnh thường trú, mã trường thpt, ghi chú (tình trạng học tập của sinh viên, còn
học, đã tốt nghiệp, đã thơi học,…).
Dữ liệu có tất cả 4 khóa tuyển sinh.



4

CHƯƠNG 2
CÁC NGUYÊN TẮC CHUẨN BỊ BỘ DỮ LIỆU

Mô phỏng tổng quan về quá trình chuẩn bị bộ dữ liệu

2.1 Giới thiệu chung

Sơ đồ giới thiệu sơ lược

5

2.2 Làm sạch dữ liệu


Dữ liệu có thể có nhiều phần sai biệt và bị thiếu. Để giải quyết vấn đề này tôi
cần làm sạch dữ liệu. Đây là vấn đề quan trọng bậc nhất trước khi muốn thực
hiện được 1 kết quả có ích. Bởi vì dữ liệu khơng chất lượng, khơng cho kết quả
khai thác tốt. Quyết định đúng đắn của hệ dự đốn phải dựa trên các dữ liệu
chính xác. Quy trình thực hiện làm sạch dữ liệu:

Điền các giá trị cịn thiếu:
Tơi tùy biến thực hiện các cách:
• Thay thế bằng giá trị trung bình của thuộc tính.
• Thay thế bằng giá trị phổ biến nhất trong cùng thuộc tính
• Thay thế bằng giá trị trung bình của thuộc tính trong cùng lớp. •
Thay thế bằng giá trị có nhiều khả năng nhất: suy ra từ cây quyết

định, …
✓ Như đối với dữ liệu điểm, số tín chỉ, ngành học thường loại dữ liệu này sẽ ít
bị thiếu, bị mâu thuẫn vì đây là loại dữ liệu bắt buộc và được ưu tiên lưu trữ,
bảo quản hàng đầu.
✓ Còn các loại dữ liệu cịn lại thì khả năng cao sẽ bị thiếu nhiều dẫn đến việc
tôi phải áp dụng các kỹ thuật nêu trên để khắc phục được sự thiếu sót đó. ✓ Đối
với Khóa 1 cách thức tuyển thẳng thì đơi khi sẽ khơng có lưu lại dữ liệu về mã
tỉnh thành sinh sống, mã trường trung học phổ thông và điểm trúng tuyển. Đối
với trường hợp này tôi thực hiện điền giá trị mã tỉnh trước bằng
6

cách sử dụng cây quyết định. Tôi sử dụng tất cả các instance có phương thức
tuyển sinh đã có mã tỉnh để huấn luyện nhằm mục đích dự đốn mã tỉnh cho
các instance dữ liệu còn thiếu mã tỉnh (thường là các instance có phương


thức tuyển sinh là tuyển thẳng) _có nghĩa tất cả các thuộc tính kia sẽ là đầu
vào cịn thuộc tính nhãn sẽ là output cần phân lớp. Sau khi có được kết quả
mã tỉnh đầy đủ của khóa 1, tơi tiến hành điền khuyết mã trường thpt của các
instance còn thiếu dựa vào mã trường thpt phổ biến nhất trong tỉnh thường
trú (chính là căn cứ vào mã tỉnh) của instance đó. Đối với thuộc tính điểm
trúng tuyển thì có 1 số instance có cùng cách thức tuyển thẳng đã có đầy đủ,
tơi tiến hành lấy trung bình điểm trúng tuyển của các instance này và gán
cho các instance còn thiếu điểm trung bình có cùng cách thức tuyển thẳng.
✓ Đối với khóa 3 trường hợp tương tự cũng xảy ra như khóa 1 cách thức tuyển
thẳng thì đơi khi sẽ khơng có lưu lại dữ liệu về mã tỉnh thành sinh sống, mã
trường trung học phổ thông và điểm trúng tuyển. Tại đây tôi thực hiện cách
tương tự như trên nhưng với dữ liệu của chính khóa 3 này để giải quyết vấn
đề.
✓ Đối với khóa 4 cũng gặp tình huống tương tự như 2 khóa trên, tuy nhiên có

instance có thêm phương thức tuyển sinh là xét tuyển theo phương thức khác
của đơn vị. Trường hợp này cũng khơng có đầy đủ mã tỉnh thành sinh sống,
mã trường trung học phổ thông và điểm trúng tuyển nên tôi cũng áp dụng
tương tự như 2 khóa trên.
✓ Đối với khóa 2 dữ liệu mã tỉnh bị thiếu hồn tồn, vì vậy tơi quyết định sử
dụng dữ liệu của cả 3 khóa trên (1,3,4) để huấn luyện cho cây quyết định và
dự đoán ra mã tỉnh cho dữ liệu của khóa 2 này. Sau đó tơi tiến hành điền giá
trị thiếu của mã trường thpt và điểm trúng tuyển vào tương tự như cách làm
với khóa 1.

7

Xác định các sai biệt, khử tạp nhiễu và chỉnh sửa các dữ liệu mâu thuẫn: ✓ Sau
khi tiến hành các bước trên tôi tiến hành ra soát lại và chỉnh sửa các dữ liệu
sai biệt, tạp, nhiễu, mâu thuẫn. Điều đặc biệt là dữ liệu sai biệt mâu thuẫn
rất ít khi xảy ra vì theo tơi nhờ các lý do như: các thuộc tính ngành đào tạo,


số tín chỉ, điểm trung bình tích lũy, phương thức trúng tuyển tương đối đủ.
Dựa vào đây tôi tiến hành điền thêm các giá trị còn thiếu vào các thuộc tính
mã tỉnh, điểm trúng tuyển, mã trường thpt là hết sức hợp lý, khó gây ra mâu
thuẫn. Vì thuộc tính phương thức trúng tuyển sẽ chi phối điểm trúng tuyển
và mã tỉnh sẽ chi phối mã trường thpt. Còn về dữ liệu tạp, nhiễu thì tơi
khơng phát hiện trong q trình rà sốt lại.

2.3 Tích hợp dữ liệu
Tổng hợp và tích hợp dữ liệu từ nhiều CSDL và tập tin khác nhau khác nhau,
điều này là cần thiết các dữ liệu như tôi nêu trên là tập hợp của đa dạng các loại
dữ liệu khác nhau.


8

Vì bộ dữ liệu này được phân ra thành các khóa - sheet trong excel nên trong quá
trình xử lý phải tách ra thành các file khác nhau để làm sạch dữ liệu cho từng
sheet. Các bước thực hiện được trình bày như sau:
Bước 1:


Trước hết Excel phải hiện tab Developer trước. Sau đó tôi mở file Excel muốn
tách các sheet.
Bước 2:
Nhấn tổ hợp phím Alt + F11 để mở trình VBA trên Excel, hoặc nhấn vào tab
Developer rồi nhấn Visual Basic.
Bước 3:
Chuyển sang giao diện nội dung mới người dùng nhấn vào tab Insert rồi chọn
vào phần Module để mở giao diện nhập code VBA.
Tiếp đến hãy sao chép đoạn mã dưới đây vào giao diện.
Sub Splitbook()
'Updateby20140612
Dim xPath As String
xPath = Application.ActiveWorkbook.Path
Application.ScreenUpdating = False
Application.DisplayAlerts = False
For Each xWs In ThisWorkbook.Sheets
xWs.Copy
Application.ActiveWorkbook.SaveAs Filename:=xPath & "\" & xWs.Name & ".xls"
Application.ActiveWorkbook.Close False
Next
Application.DisplayAlerts = True
Application.ScreenUpdating = True

End Sub

Bước 4:
Nhấn vào biểu tượng Run bên trên thanh công cụ để chạy hoặc nhấn phím F5
trên bàn phím để chạy mã code.
Khi q trình chạy code hồn thành, hãy mở thư mục lưu file Excel gốc và sẽ
thấy từng file sheet hiển thị tại đây. Từng tên sheet được chuyển thành từng tên
file Excel nên người dùng dễ dàng trong việc quản lý file. Tồn bộ các cơng
thức sử dụng ở từng sheet vẫn được giữ nguyên.
9

(Khi mở file sheet nếu có thơng báo hỏi về phần mở rộng và định dạng bị sai
thì cứ nhấn Yes để tiếp tục mở nội dung.)
Sau đó sau khi xử lý làm sạch như mục 2.2 trên tơi tiến hành tích hợp dữ liệu
của cả 4 khóa vào làm 1 file.


2.4 Biến đổi (mã hóa) dữ liệu
✓ Tơi tiến hành biến đổi các dữ liệu chuỗi về cùng tiếng anh.
✓ Thực hiện chuẩn hóa điểm trúng tuyển dựa vào phương thức tuyển sinh.
Dựa vào chuẩn hóa Min-max tơi đưa dữ liệu về cùng 1 miền giá trị để tạo
sự đồng nhất.
Chuẩn hóa Min-max:
Gọi �������� và �������� lần lượt là giá trị nhỏ
nhất và lớn nhất của thuộc tính ��.
Giá trị sau khi chuẩn hóa min-max cho giá trị �� của thuộc tính ��
vào miền giá trị mới [������_��������,
������_��������] là:

Ví dụ: Cho giá trị nhỏ nhất và lớn nhất của thuộc tính “Thu nhập” là

$12,000 và $98,000. u cầu chuẩn hóa min-max các giá trị thuộc tính
“Thu nhập” của từng mẫu về miền [0, 1].
Giả sử, ta có một mẫu có giá trị thu nhập là $73,600 => giá trị của nó sau
khi chuẩn hóa sẽ là:

2.5 Rút gọn dữ liệu
Rút gọn dữ liệu là phương thức làm sao cho dữ liệu được rút gọn (kích thước
giảm nhưng vẫn thu được cùng (hoặc gần như cùng) kết quả phân tích. Qua
quan

10

sát tơi thấy được thuộc tính số thứ tự gần như không ảnh hưởng nhiều đến kết
quả sau cùng nên đã quyết định lược bỏ bớt đi thuộc tính này.


11

CHƯƠNG 3
CÁC MƠ HÌNH KHAI THÁC DỮ LIỆU
3.1 Nạve Bayes
3.1.1 Giới thiệu chung
Xét các bài toán phân lớp với C class khác nhau. Thay vì tìm ra chính xác label của
mỗi điểm dữ liệu x ∈ ����, ta có thể đi tìm xác suất để đầu ra đó rơi vào mỗi
class: p(y = c|x),
hoặc viết gọn thành p(c|x). Biểu thức này được hiểu là xác suất để đầu ra là class c biết
rằng đầu vào là vector x. Biểu thức này, nếu tính được, có thể giúp xác định class của
mỗi điểm dữ liệu bằng cách chọn ra class có xác suất rơi vào cao nhất:

(công thức 3.1.1)

Biểu thức trong dấu argmax ở = (3.1.1) nhìn chung khó có cách tính trực tiếp. Thay
vào đó, quy tắc Bayes thường được sử dụng:

(công thức 3.1.2)
Dấu bằng thứ hai xảy ra theo quy tắc Bayes, dấu bằng thứ ba xảy ra vì p(x) ở mẫu số
không phụ thuộc vào c. Tiếp tục quan sát, p(c) có thể được hiểu là xác suất để một
điểm bất kỳ rơi vào class c. Nếu training set lớn, nó có thể được xác định bằng
maximum likelihood estimation (MLE)–là tỉ lệ giữa số điểm thuộc class c và số điểm
trong training set. Nếu training set nhỏ, giá trị này có thể được ước lượng bằng
maximum a posteriori (MAP). Cách thứ nhất thường được sử dụng nhiều hơn.


12

Thành phần còn lại p(x|c), tức phân phối của các điểm dữ liệu trong class c, thường rất
khó tính tốn vì x là một biến ngẫu nhiên nhiều chiều. Để có thể ước lượng được phân
phối đó, training set phải rất lớn. Để giúp cho việc tính tốn được đơn giản, người ta
thường giả sử rằng các thành phần của biến ngẫu nhiên x là độc lập với nhau khi đã
biết c:

(công thức 3.1.3)
Giả thiết các chiều của dữ liệu độc lập với nhau là quá chặt và trên thực tế, ít khi tìm
được dữ liệu mà các thành phần hoàn toàn độc lập với nhau. Tuy nhiên, giả thiết ngây
thơ (naive) này đôi khi mang lại những kết quả tốt bất ngờ. Giả thiết về sự độc lập của
các chiều dữ liệu này được gọi là naive Bayes. Cách xác định label của dữ liệu dựa
trên giả thiết này có tên là naive Bayes classifier (NBC).
NBC, nhờ vào tính đơn giản một cách ngây thơ, có tốc độ huấn luyện và kiểm thử rất
nhanh. Việc này giúp nó mang lại hiệu quả cao trong các bài toán large-scale.
Ở bước huấn luyện, các phân phối p(c) và p(xi|c), i = 1, . . . , d sẽ được xác định dựa
vào dữ liệu huấn luyện. Việc xác định các giá trị này có thể có thể dựa vào MLE hoặc

MAP.
Ở bước kiểm thử, label của một điểm dữ liệu mới x được xác đinh bởi

(công thức 3.1.4)


13

Khi d lớn và các xác suất nhỏ, biểu thức ở vế phải của (3.1.4) là một số rất nhỏ, khi
tính tốn có thể gặp sai số. Để giải quyết việc này, (3.1.4) thường được viết lại dưới
dạng tương đương bằng cách lấy log của vế phải:

(công thức 3.1.5)
Việc này khơng ảnh hưởng tới kết quả vì log là một hàm đồng biến trên tập các số
dương.
Sự đơn giản của NBC mang lại hiệu quả đặc biệt trong các bài tốn phân loại văn bản,
ví dụ bài tốn lọc tin nhắn hoặc email rác. Trong phần sau của chương này, chúng ta
cùng xây dựng một bộ lọc email rác tiếng Anh đơn giản. Cả việc huấn luyện và kiểm
thử của NBC là cực kỳ nhanh khi so với các phương pháp phân loại phức tạp khác.
Việc giả sử các thành phần trong dữ liệu là độc lập với nhau khiến cho việc tính tốn
mỗi phân phối p(xi|c) khơng mất nhiều thời gian.
Việc tính tốn p(xi|c) phụ thuộc vào loại dữ liệu. Có ba loại phân bố xác suất thường
được sử dụng phổ là Gaussian naive Bayes, multinomial naive Bayes, và Bernoulli
Naive. Chúng ta cùng xem xét vào từng loại.

3.1.2 Các phân phối thường dùng trong NBC
3.1.2.1 Gaussian naive Bayes
Mơ hình này được sử dụng chủ yếu trong loại dữ liệu mà các thành phần là các
biến liên tục. Với mỗi chiều dữ liệu i và một class c, ���� tuân theo một phân
phối chuẩn có kỳ vọng ������ và phương sai ������2:



14

(cơng thức 3.1.6)
Trong đó, bộ tham số θ = { ������, ������2}được xác định bằng MLE
dựa trên các điểm trong training set thuộc class c.

3.1.2.2 Multinomial naive Bayes
Mơ hình này chủ yếu được sử dụng trong phân loại văn bản mà vector đặc trưng
được xây dựng dựa trên ý tưởng bag of words (BoW). Lúc này, mỗi văn bản được
biểu diễn bởi một vector có độ dài d chính là số từ trong từ điển. Giá trị của thành
phần thứ i trong mỗi vector chính là số lần từ thứ i xuất hiện trong văn bản đó. Khi
đó, p(xi|c) tỉ lệ với tần suất từ thứ i (hay đặc trưng thứ i cho trường hợp tổng quát)
xuất hiện trong các văn bản của class c.
Giá trị này có thể được tính bằng

(cơng thức 3.1.7)
Trong đó:
• ������ là tổng số lần từ thứ i xuất hiện trong các văn bản của class c. Nó
chính là tổng của tất cả các đặc trưng thứ i của các vector đặc trưng ứng với class
c. • ���� là tổng số từ (kể cả lặp) xuất hiện trong class c. Nói cách khác, nó
bằng tổng

��
��=1

độ dài của toàn bộ các văn bản thuộc vào class c. Có thể suy ra rằng ���� = ∑
������ ����=1 = 1 . Ở đây d là số từ trong từ điển.
, từ đó ∑ ������

Cách tính này có một hạn chế là nếu có một từ mới chưa bao giờ xuất hiện trong
class c thì biểu thức (3.1.7) sẽ bằng không, dẫn đến vế phải của (3.1.4) bằng không
bất kể các giá trị cịn lại có lớn thế nào (xem thêm ví dụ ở mục sau). Để giải quyết
việc này, một kỹ thuật được gọi là Laplace smoothing được áp dụng:


15

(công thức 3.1.8)
với α là một số dương, thường bằng 1, để tránh trường hợp tử số bằng không. Mẫu
số được cộng với dα để đảm bảo tổng xác suất ∑ ��̂����
��
��=1

= 1 . . Như vậy, mỗi class

c sẽ được mơ tả bởi một bộ các số dương có tổng bằng 1: ��̂�� = {��̂��1,
…,��̂����}.

3.1.2.3 Bernoulli Naive Bayes
Mơ hình này được áp dụng cho các loại dữ liệu mà mỗi thành phần là một giá trị
nhị phân– bằng 0 hoặc 1. Ví dụ, cũng với loại văn bản nhưng thay vì đếm tổng số
lần xuất hiện của một từ trong văn bản, ta chỉ cần quan tâm từ đó có xuất hiện hay
khơng. Khi đó, p(xi |c) được tính bằng:

(cơng thức 3.1.9)
với p(i|c) có thể được hiểu là xác suất từ thứ i xuất hiện trong các văn bản của class
c.

3.1.3 Ví dụ

Giả sử trong training set có các văn bản d1, d2, d3, d4 như trong Bảng 11.1. Mỗi
văn bản này thuộc vào một trong hai lớp: B (Bắc) hoặc N (Nam). Hãy xác định lớp
của văn bản d5.


16

Ví dụ về nội dung của các văn bản trong bài tốn Bắc hay Nam
Ta có thể dự đốn rằng d5 thuộc class Bắc.
Bài tốn này có thể được giải quyết bằng NBC sử dụng multinomial Naive Bayes
hoặc Bernoulli naive Bayes. Chúng ta sẽ cùng làm ví dụ với mơ hình thứ nhất và
triển khai code cho cả hai mơ hình. Việc mơ hình nào tốt hơn phụ thuộc vào mỗi
bài tốn. Chúng ta có thể thử cả hai để chọn ra mơ hình tốt hơn.
Nhận thấy rằng ở đây có hai lớp B và N, ta cần đi tìm p(B) và p(N) dựa trên tần số
xuất hiện của mỗi class trong tập training. Ta sẽ có

Tổng cộng số phần tử trong từ điển là |V | = 9.
Hình 3.1.1 minh hoạ quá trình huấn luyện và kiểm thử cho bài tốn này khi sử
dụng Multinomial naive Bayes, trong đó Laplace smoothing được sử dụng với α =
1. Chú ý, hai giá trị tìm được 1.5 × 10−4 và 1.75 × 10−5 khơng phải là hai
xác suất cần tìm mà chỉ là hai đại lượng tỉ lệ thuận với hai xác suất đó. Để tính cụ
thể, ta có thể
làm như sau

Như vậy xác suất để d5 rơi vào class B là 89.55%, vào class N là 10.45%. Bạn đọc
có thể tự tính với ví dụ khác: d6 = pho hutiu banhbo. Nếu tính tốn đúng, ta sẽ thu
được

và suy ra d6 thuộc vào class N



17

Hình 3.1.1: Minh hoạ NBC với Multinomial naive Bayes cho bài toán Bắc hay
Nam.

3.1.4 Nhận xét thêm
➢ Naive Bayes classifiers có thời gian huấn luyện và kiểm thử rất nhanh. Điều
này có được là do giả sử về tính độc lập giữa các thành phần.
➢ Nếu giả sử về tính độc lập được thoả mãn (dựa vào bản chất của dữ liệu),
Naive Bayes classifiers được cho là cho kết quả tốt hơn so với support vector
machine và logistic regression khi có ít dữ liệu huấn luyện.
➢ Naive Bayes classifiers có thể hoạt động với các vector đặc trưng mà một
phần là liên tục (sử dụng Gaussian Naive Bayes), phần còn lại ở dạng rời rạc
(sử dụng Multinomial hoặc Bernoulli). Chính sự độc lập giữa các đặc trưng
khiến Naive Bayes classifiers có khả năng này.
➢ Naive Bayes classifiers thường được sử dụng trong các bài toán phân loại
văn bản.
18

➢ Khi sử dụng Multinomial Naive Bayes, Laplace smoothing thường được sử
dụng để tránh trường hợp một từ trong dữ liệu kiểm thử chưa xuất hiện trong
training set.

3.2 Bayesian Network
3.2.1 Giới thiệu chung
Mạng Bayes (tiếng Anh: Bayesian network hoặc Bayesian belief network hoặc belief
network) là một mơ hình xác suất dạng đồ thị.
Một mạng Bayes được biểu diễn bởi một đồ thị, trong đó các nút đại diện cho các
biến, cịn các cung đại diện cho các phụ thuộc có điều kiện. Phân phối xác suất có

điều kiện phụ thuộc (joint probability distribution) của các biến được xác định bởi
cấu trúc đồ thị của mạng. Cấu trúc đồ thị của một mạng Bayes dẫn tới các mơ hình dễ


giải thích, và tới các thuật tốn học và suy luận hiệu quả. Các nút có thể đại diễn cho
đủ loại biến, một tham số đo được, một biến ẩn (latent variable) hay một giả thuyết,
chứ không nhất thiết phải đại diện cho các biến ngẫu nhiên.

3.2.2 Định nghĩa
Một mạng Bayes là một đồ thị có hướng phi chu trình mà trong đó:


Các nút biểu diễn các biến


Các cung biểu diễn các quan hệ phụ thuộc thống kê giữa các biến và phân phối
xác suất địa phương cho mỗi giá trị nếu cho trước giá trị của các cha của nó

Nếu có một cung từ nút A tới nút B, thì biến B phụ thuộc trực tiếp vào biến A, và A
được gọi là cha của B. Nếu với mỗi biến Xi, i ∈{1,..,N} tập hợp các biến cha được ký
hiệu bởi parents(Xi), thì phân phối có điều kiện phụ thuộc của các biến là tích của các
phân phối địa phương.

19

Nếu Xi khơng có cha, ta nói rằng phân phối xác suất địa phương của nó là khơng có
điều kiện, nếu khơng, nó là có điều kiện. Nếu biến được biểu diễn bởi một nút được
quan sát, thì ta nói rằng nút đó là một nút hiển nhiên (evidence node).
Các câu hỏi về sự phụ thuộc không tương đẳng giữa các biến có thể được trả lời bằng
cách nghiên cứu đồ thị. Có thể chứng minh rằng trong đồ thị, tính độc lập có điều

kiện được biểu diễn bởi tính chất đồ thị d-separation: cho trước một số nút hiển nhiên
cụ thể, các nút X và Y là d-separated trong đồ thị khi và chỉ khi các biến X và Y là
độc lập, biết trước các biến hiển nhiên tương ứng. Tập hợp gồm tất cả các nút khác
mà X có thể phụ thuộc trực tiếp được cho bởi Markov blanket của X.
Một ưu điểm của mạng Bayes là, về mặt trực quan, con người có thể hiểu các quan hệ
phụ thuộc trực tiếp và các phân phối địa phương dễ dàng hơn là phân phối có điều


kiện phụ thuộc hồn chỉnh.

3.2.3 Ví dụ

20

Nếu có hai lý do cho việc cỏ bị ướt (GRASSWET): hoặc do được tưới nước
(SPRINKLER), hoặc do trời mưa (RAIN), thì tình huống này có thể được mơ hình hóa
bởi một mạng Bayes. Ở đây, các biến có hai trạng thái có thể: T (đúng) và F (sai).
Hàm xác suất phụ thuộc có điều kiện là
Pr(GRASSWET,SPRINKLER,RAIN) = Pr(GRASSWET |
SPRINKLER,RAIN).Pr(SPRINKLER | RAIN).Pr(RAIN)
Mơ hình có thể trả lời các câu hỏi như "Nếu cỏ ướt thì khả năng trời mưa là bao
nhiêu?" bằng cách sử dụng các cơng thức xác suất có điều kiện và lấy tổng tất cả các
biến trở ngại (nuisance variable):


Thay thế các giá trị số, ta được Pr(RAIN=T | GRASSWET=T) = 891/2491 ≈ 35.77%.
Cách

khác:


(P(G=T,S=F,R=F)

(P(G=T,S=F,R=T)
+

+

P(G=T,S=T,R=F)

P(G=T,S=T,R=T)) = (15.84%+0.198%) /

P(G=T,S=T,R=T))
+

P(G=T,S=F,R=T)

/
+

(0.0%+28.8%+15.84%

+0.198%) = 16.038% / 44.838% ≈ 35.77%.

3.2.4 Mạng Bayes nhân quả
Một mạng Bayes nhân quả là một mạng Bayes mà trong đó các cung có hướng của đồ
thị được hiểu là các quan hệ nhân quả trong một miền xác định có thực nào đó. Các
cung có hướng khơng nhất thiết phải được hiểu là các quan hệ nhân quả; tuy nhiên,
trong thực tiễn, tri thức về các quan hệ nhân quả rất hay được dùng để hướng dẫn vẽ
các đồ thị mạng Bayes, kết quả là có được các mạng Bayes nhân quả.
21


3.3.5 Học cấu trúc
Trong trường hợp đơn giản nhất, một mạng Bayes được xây dựng bởi một chuyên gia
và rồi được dùng để thực hiện việc suy luận. Trong các ứng dụng khác, công việc xây
dựng mạng quá phức tạp đối với con người. Trong trường hợp này, cấu trúc và các
tham số mạng của các phân bố địa phương phải được học từ dữ liệu.
Học cấu trúc của một mạng Bayes (nghĩa là học đồ thị) là một phần rất quan trọng của
ngành học máy. Giả thiết rằng dữ liệu được sinh từ một mạng Bayes và rằng tất cả các
biến là thấy được trong mọi lần lặp, việc tối ưu hóa dựa trên phương pháp tìm kiếm có
thể được dùng để tìm cấu trúc mạng. Việc này địi hỏi một hàm tính điểm (scoring
function) và một chiến lược tìm kiếm. Một hàm tính điểm thơng dụng là xác suất hậu
nghiệm (posterior probability) của cấu trúc khi cho trước dữ liệu huấn luyện. Q trình
tìm kiếm duyệt tồn bộ để trả về một cấu trúc có số điểm tối ưu đòi hỏi thời gian cấp
siêu lũy thừa (superexponential) theo số lượng biến. Một chiến lược tìm kiếm địa
phương thực hiện các thay đổi tăng dần hướng tới việc nâng cao điểm số của cấu trúc.


×