Trong đó, khai phá dữ liệu và phát hiện tri thức đã trở thành một lĩnh vực nghiên cứu sôi động, thu hút sự quan tâm của rất nhiều người trên khắp các lĩnh vực khác nhau như các hệ cơ sở
Trang 1MỤC LỤC TRANG PHỤ BÌA
LỜI CAM ĐOAN
LỜI CẢM ƠN
MỤC LỤC
MỞ ĐẦU 1
CHƯƠNG I: KHAI PHÁ DỮ LIỆU VÀ PHÁT HIỆN TRI THỨC 3
1.1 Khai phá dữ liệu 3
1.1.1 Khái niệm 3
1.1.2 Khai phá dữ liệu và phát hiện tri thức 4
1.1.3 Quá trình phát hiện tri thức từ cơ sở dữ liệu 4
1.1.3.1 Xác định bài toán 5
1.1.3.2 Thu thập và tiền xử lý 5
1.1.3.3 Khai phá dữ liệu và rút ra các tri thức 6
1.1.3.4 Phát biểu và đánh giá kết quả 6
1.1.3.5 Sử dụng tri thức đã phát hiện 6
1.2 Các phương pháp khai phá dữ liệu 7
1.2.1 Phương pháp quy nạp 7
1.2.2 Cây quyết định và luật 7
1.2.3 Khai phá luật kết hợp 8
1.2.3.1 Giới thiệu 8
1.2.3.2 Các khái niệm cơ bản 8
1.2.3.3 Thuật toán khai phá dữ liệu bằng luật kết hợp 9
1.2.4 Mạng Neuron 11
1.2.5 Giải thuật di truyền 11
1.3 Ứng dụng của khai phá dữ liệu 12
CHƯƠNG II: HỆ HỖ TRỢ RA QUYẾT ĐỊNH VÀ MÔ HÌNH HỖ TRỢ QUYẾT ĐỊNH 13
2.1 Hệ hỗ trợ ra quyết định 13
2.1.1 Khái niệm 13
2.1.2 Các thành phần của hệ hỗ trợ ra quyết định 14
2.1.3 Phân loại hệ hỗ trợ ra quyết định 15
2.2 Mô hình hỗ trợ quyết định 17
2.2.1 Vai trò các mô hình toán học 17
2.2.2 Các mô hình toán học hỗ trợ ra quyết định 18
2.3 Vận dụng phương pháp toán học để phân lớp dữ liệu 19
2.3.1 Khái niệm về phân lớp 19
2.3.2 Các bước chính để giải quyết bài toán phân lớp 20
Trang 22.3.3 Phương pháp phân lớp Naive Bayesian 21
2.3.3.1 Định lý Bayes 21
2.3.3.2 Mô hình Phân lớp Naive Bayes (NBC) 22
2.3.3.3 Các bước thực hiện thuật toán Naive Bayes 23
2.3.3.4 Thuật toán phân loại KQHT Naive Bayes 27
2.3.3.5 Một số ưu điểm của phương pháp Naive Bayes 28
CHƯƠNG III: PHÂN TÍCH HỒI QUY 29
3.1 Khái niệm phân tích hồi quy 29
3.1.1 Khái niệm 29
3.1.2 Một số dạng hàm cơ bản trong phân tích hồi quy 29
3.1.3 Mô hình hồi quy đơn 31
3.2 Phân tích phương sai hồi quy 33
3.3 Hồi quy tuyến tính đa biến 35
3.3.1 Mô hình hồi quy 35
3.3.2 Phương trình hồi quy 35
3.3.3 Phân tích phương sai hồi quy 36
3.4 Phân tích hồi quy tuyến tính trong SPSS 37
3.4.1 Phân tích hồi quy tuyến tính đơn biến trong SPSS 39
3.4.2 Phân tích hồi quy tuyến tính đa biến trong SPSS 40
CHƯƠNG IV: BÀI TOÁN VÀ CHƯƠNG TRÌNH ỨNG DỤNG PHÂN LỚP BAYES ĐỂ DỰ ĐOÁN KẾT QUẢ HỌC TẬP 43
4.1 Bài toán 43
4.3 Chương trình ứng dụng 50
4.3 Kết quả thực nghiệm 53
KẾT LUẬN 54 DANH SÁCH CÁC TỪ VIẾT TẮT
DANH SÁCH CÁC HÌNH
DANH SÁCH CÁC BẢNG
TÀI LIỆU THAM KHẢO
Trang 3MỞ ĐẦU
Khai phá dữ liệu (Data mining) là một lĩnh vực khoa học tiềm năng, mang lại nhiều lợi ích thiết thực Mục đích của việc khai phá dữ liệu là tìm ra được mối tương quan tiềm ẩn trong cơ sở dữ liệu mà các phương pháp phân tích dữ liệu truyền thống chưa làm được hay xử lý chưa thật sự tốt Trong đó, khai phá dữ liệu
và phát hiện tri thức đã trở thành một lĩnh vực nghiên cứu sôi động, thu hút sự quan tâm của rất nhiều người trên khắp các lĩnh vực khác nhau như các hệ cơ sở dữ liệu, thống kê, chiết xuất thông tin, nhận dạng, học máy, trí tuệ nhân tạo, v.v
Việc nghiên cứu khai phá dữ liệu trong lĩnh vực giáo dục đào tạo vẫn còn chưa được quan tâm đúng mức Trước đây, có một số nhà nghiên cứu đã sử dụng hồ
sơ học sinh, sinh viên, đặc biệt là thông tin về điểm để dự báo kết quả học tập toàn khoá hoặc từng giai đoạn Một số phương pháp dự báo thường được sử dụng: Đại
số và logic, Hồi quy tuyến tính, Cây quyết định (Decision Tree), mạng Bayes (Bayesian Network),… Hồi quy Bayes được áp dụng cho bài toán dự đoán dùng công thức Bayes để phân lớp, phương pháp này mang lại nhiều kết quả khả quan Đây là phương pháp học phân lớp có giám sát và dựa trên xác suất
Kết quả học tập được xem là mức độ thành công trong học tập của học sinh khi xem xét trong mối quan hệ với mục tiêu đã xác định, các chuẩn kiến thức và kỹ năng đạt được so với công sức và thời gian mà người học bỏ ra
Dựa vào các kỹ thuật nghiên cứu trên, tôi đã quyết định chọn đề tài:
“Dự đoán kết quả học tập của sinh viên trường nghề sử dụng phương pháp Hồi
quy Bayes” luận văn đã kết hợp kỹ thuật phân lớp Naive Bayes và hệ hỗ trợ ra
quyết định dự đoán kết quả cuối cùng của của sinh viên trường nghề Kết quả học tập của học sinh được đánh giá và xếp loại theo các thứ hạng khác nhau và sau đó
sử dụng phương pháp hồi quy để phân tích các yếu tố ảnh hưởng đến kết quả học tập của sinh viên
Luận văn gồm có 4 chương:
Chương 1: Khai phá dữ liệu và phát hiện tri thức
Chương 2: Hệ hỗ trợ ra quyết định và mô hình hỗ trợ quyết định
Trang 4Chương 3: Phân tích hồi quy
Chương 4: Bài toán và chương trình ứng dụng phân lớp bayes để dự đoán kết
quả học tập
Trang 5đề cập đến khái niệm khủng hoảng phân tích dữ liệu tác nghiệp để cung cấp thông tin với yêu cầu chất lượng ngày càng cao cho những người ra quyết định trong các
tổ chức tài chính, thương mại, khoa học, Đúng như John Naisbett đã cảnh báo
“Chúng ta đang chìm ngập trong dữ liệu mà vẫn đói tri thức”
Với một khối lượng dữ liệu tăng nhanh và khổng lồ như vậy, rõ ràng các phương pháp thủ công truyền thống áp dụng để phân tích dữ liệu sẽ không hiệu quả, tốn kém và dễ dẫn đến những sai lệch Do đó để có thể khai phá hiệu quả các cơ sở
dữ liệu lớn cần phải có những kỹ thuật mới, đó là các kỹ thuật khai phá dữ liệu (Data Mining)
Khai phá dữ liệu là một lĩnh vực khoa học khá mới, nhằm tự động hóa khai thác những thông tin, tri thức hữu ích, tiềm ẩn trong các cơ sở dữ liệu cho các tổ chức, doanh nghiệp, từ đó thúc đẩy khả năng sản xuất, kinh doanh, cạnh tranh của tổ chức, doanh nghiệp này Các kết quả nghiên cứu cùng với những ứng dụng thành công trong khai phá dữ liệu, khám phá tri thức cho thấy khai phá dữ liệu là một lĩnh vực khoa học tiềm năng, mang lại nhiều lợi ích, đồng thời có ưu thế hơn hẳn so với các công cụ phân tích dữ liệu truyền thống Hiện nay, khai phá dữ liệu được ứng dụng rộng rãi trong các lĩnh vực như: Phân tích dữ liệu hỗ trợ ra quyết định, điều trị y học, tin-sinh học, thương mại, tài chính, bảo hiểm, text mining, web mining
Do sự phát triển nhanh chóng về phạm vi áp dụng và các phương pháp tìm kiếm tri thức, nên đã có nhiều quan điểm khác nhau về khai phá dữ liệu [7]
1.1.1 Khái niệm
Khai phá dữ liệu [7] là quá trình trích xuất các thông tin có giá trị tiềm ẩn bên trong lượng lớn dữ liệu được lưu trữ trong các cơ sở dữ liệu, kho dữ liệu… Hiện
Trang 6nay, ngoài thuật ngữ khai phá dữ liệu, người ta còn dùng một số thuật ngữ khác có ý nghĩa tương tự như: khai phá tri thức từ cơ sở dữ liệu (knowlegde mining from databases), trích lọc dữ liệu (knowlegde extraction), phân tích dữ liệu/mẫu (data/pattern analysis), khảo cổ dữ liệu (data archaeology), nạo vét dữ liệu (data dredging) Nhiều người coi khai phá dữ liệu là một thuật ngữ thông dụng khác là khám phá tri thức trong cơ sở dữ liệu (Knowlegde Discovery in Databases – KDD)
là như nhau
1.1.2 Khai phá dữ liệu và phát hiện tri thức
Yếu tố thành công trong nhiều hoạt động là biết sử dụng thông tin có hiệu quả Điều đó có nghĩa là từ các dữ liệu có sẵn phải tìm ra những thông tin tiềm ẩn mà trước đó chưa được phát hiện, tìm ra những xu hướng phát triển và những yếu tố tác động lên chúng Thực hiện công việc đó chính là quá trình phát hiện tri thức trong
cơ sở dữ liệu mà trong đó kỹ thuật cho phép ta lấy được các tri thức chính ra từ kỹ thuật khai phá dữ liệu
Nếu quan niệm tri thức là mối quan hệ của các mẫu giữa các phần tử dữ liệu thì quá trình phát hiện tri thức chỉ toàn bộ quá trình chiết xuất tri thức từ cơ sở dữ liệu, trong đó trải qua nhiều giai đoạn khác nhau như: Tìm hiểu và phát hiện vẫn đề, thu thập và tiền xử lý dữ liệu, phát hiện tri thức, minh hoạ và đánh giá tri thức đã phát hiện và đưa kết quả vào thực tế
Khai phá dữ liệu có những điểm khác nhau về mặt ngữ nghĩa so với phát hiện tri thức từ cơ sở dữ liệu nhưng thực tế ta thấy khai phá dữ liệu là chỉ một giai đoạn phát hiện tri thức trong một chuỗi các giai đoạn quá trình phát hiện tri thức trong cơ sở dữ liệu Tuy nhiên đây là giai đoạn đóng vai trò chủ chốt và là giai đoạn chính tạo nên tính đa ngành của phát hiện tri thức trong cơ sở dữ liệu
1.1.3 Quá trình phát hiện tri thức từ cơ sở dữ liệu
Phát hiện tri thức từ cơ sở dữ liệu là một quá trình có sử dụng nhiều phương pháp và công cụ tin học nhưng vẫn là một quá trình mà trong đó con người làm trung tâm Do đó nó không phải là một hệ thống phân tích tự động mà là một hệ thống bao gồm nhiều hoạt động tương tác thường xuyên giữa con người và cơ sở dữ liệu, tất nhiên là với sự hỗ trợ của các công cụ tin học
Trang 71.1.3.2 Thu thập và tiền xử lý
Các cơ sở dữ liệu thu được thường chứa rất nhiều thuộc tính nhưng lại không đầy đủ, không thuần nhất, có nhiều lỗi và các giá trị đặc biệt Vì vậy giai đoạn thu thập và tiền xử lý dữ liệu trở nên rất quan trọng trong quá trình phát hiện tri thức từ
cơ sở dữ liệu Có thể nói giai đoạn này chiếm từ 70%-80% giá thành trong toàn bộ bài toán
Người ta chia giai đoạn và tiền xử lý dữ liệu như: Gom dữ liệu, chọn dữ liệu, làm sạch, mã hoá dữ liệu, làm giàu, đánh giá và trình diễn dữ liệu
Trang 81.1.3.3 Khai phá dữ liệu và rút ra các tri thức
Là trích ra các mẫu hoặc các mô hình ẩn dưới các dữ liệu, giai đoạn này rất quan trọng bao gồm các công đoạn như: chức năng, nhiệm vụ và mục đích của khai phá dữ liệu, dùng phương pháp khai phá nào? Thông thường các bài toán khai phá
dữ liệu bao gồm: Các bài toán mang tính mô tả – đưa ra tính chất chung của dữ liệu, bài toán dự báo – bao gồm cả việc phát hiện các suy diễn dựa trên dữ liệu hiện có
1.1.3.4 Phát biểu và đánh giá kết quả
Các tri thức phát hiện từ cơ sở dữ liệu cần được tổng hợp dưới dạng các báo cáo phục vụ cho các mục đích hỗ trợ các quyết định khác nhau
Do nhiều phương pháp khai thác có thể được áp dụng nên các kết quả có mức độ tốt, xấu khác nhau Việc đánh giá các kết quả thu được là cần thiết, các tri thức phát hiện từ cơ sở dữ liệu cần được tổng hợp dưới dạng các báo cáo phục vụ cho các mục đích hỗ trợ các quyết định khác nhau
Do nhiều phương pháp khai thác có thể được áp dụng nên các kết quả có mức độ tốt, xấu khác nhau Việc đánh giá các kết quả thu được là cần thiết, giúp tạo cơ sở cho những quyết định chiến lược Thông thường, chúng được tổng hợp, so sánh bằng các biểu đồ và được kiểm nghiệm
1.1.3.5 Sử dụng tri thức đã phát hiện
Củng cố, tinh chế các tri thức đã được phát hiện Kết hợp các tri thức thành hệ thống Giải quyết các xung đột tiềm tàng trong tri thức khai thác được Sau đó tri thức được chuẩn bị sẵn sàng cho ứng dụng
Các kết quả của quá trình phát hiện tri thức có thể được đưa vào ứng dụng trong những lĩnh vực khác nhau Do các kết quả có thể là các dự báo hoặc các mô tả nên chúng có thể được đưa vào các hệ thống hỗ trợ ra quyết định nhằm tự động hoá quá trình này [7]
Trang 91.2 Các phương pháp khai phá dữ liệu
1.2.1 Phương pháp quy nạp
Một cơ sở dữ liệu là một kho thông tin nhưng các thông tin quan trọng hơn cũng có thể được suy diễn từ kho thông tin đó Có hai kỹ thuật chính để thực hiện việc này là suy diễn và quy nạp
Phương pháp suy diễn: Nhằm rút ra thông tin là kết quả logic của các thông
tin trong cơ sở dữ liệu Phương pháp suy diễn dựa trên các sự kiện chính xác
để suy ra các tri thức mới từ các thông tin cũ Mẫu chiết xuất được bằng cách
sử dụng phương pháp này thường là các luật suy diễn
Phương pháp quy nạp: Phương pháp quy nạp suy ra các thông tin được sinh ra
từ cơ sở dữ liệu Có nghĩa là nó tự tìm kiếm, tạo mẫu và sinh ra tri thức chứ không phải bắt đầu với các tri thức đã biết trước Các thông tin mà phương pháp này đem lại là các thông tin hay các tri thức cấp cao diễn tả về các đối tượng trong cơ sở dữ liệu Phương pháp này liên quan đến việc tìm kiếm các mẫu trong CSDL Trong khai phá dữ liệu, quy nạp được sử dụng trong cây quyết định và tạo luật
1.2.2 Cây quyết định và luật
Cây quyết định: Cây quyết định là một mô tả tri thức dạng đơn giản nhằm
phân các đối tượng dữ liệu thành một số lớp nhất định Các nút của cây được gán nhãn là tên các thuộc tính, các cạnh được gán các giá trị có thể của các thuộc tính, các lá mô tả các lớp khác nhau Các đối tượng được phân lớp theo các đường đi trên cây, qua các cạnh tương ứng với các giá trị, thuộc tính của đối tượng tới lá
Tạo luật: Các luật được tạo ra nhằm suy diễn một số mẫu dữ liệu có ý nghĩa
về mặt thống kê Các luật có dạng Nếu P thì Q, với P là mệnh đề đúng với một phần trong CSDL, Q là mệnh đề dự đoán
Cây quyết định và luật có ưu điểm là hình thức mô tả đơn giản, mô hình suy diễn khá dễ hiểu đối với người sử dụng Tuy nhiên, giới hạn của nó là mô tả cây và luật chỉ có thể biểu diễn được một số dạng chức năng và vì vậy giới hạn về cả độ chính xác của mô hình
Trang 101.2.3 Khai phá luật kết hợp
1.2.3.1 Giới thiệu
Khai phá luật kết hợp [8]: Là tìm các mẫu phổ biến, sự kết hợp, sự tương quan, hay các cấu trúc nhân quả giữa các tập đối tượng trong các cơ sở dữ liệu giao tác, cơ sở dữ liệu quan hệ, và những kho thông tin khác
1.2.3.2 Các khái niệm cơ bản
- Gọi I = {I1, I2, , Im} là tập m thuộc tính riêng biệt, mỗi thuộc tính gọi là một mục
- Gọi D là một cơ sở dữ liệu chứa n giao dịch, trong đó mỗi bản ghi T là một giao dịch và chứa các tập mục, X I T được gán nhãn với một định danh duy nhất
- Ta nói rằng, một giao dịch T D hỗ trợ một tập X I nếu nó chứa tất cả các mục của X
- Một tập mục X được gọi là tập mục k phần tử (k-itemset) nếu lực lượng của
X bằng k (tức là |X|=k)
Định nghĩa 1: Độ hỗ trợ của X, ký hiệu support(X), là tỷ lệ phần trăm của các giao
dịch hỗ trợ X trên tổng các giao dịch trong D, nghĩa là:
Định nghĩa 2: Một luật kết hợp có dạng R: X => Y, trong đó X, Y là tập các mục,
X, Y I và
- X được gọi là tiên đề
- Y được gọi là hệ quả của luật
Hai thông số quan trọng của luật kết hợp là độ hỗ trợ (support) và độ tin cậy (confidence)
Định nghĩa 3: Độ hỗ trợ (support) của luật kết hợp X => Y là tỷ lệ phần trăm giữa
số lượng các giao dịch chứa cả X và Y với tổng số các giao dịch có trong cơ sở dữ liệu Đơn vị tính %
Trang 11
Ý nghĩa của độ hỗ trợ và độ tin cậy:
- Độ hỗ trợ của luật biểu diễn "sức mạnh" của luật Luật có ảnh hưởng như thế nào trong toàn bộ hệ thống
- Độ tin cậy biểu diễn mức độ "đúng" của quy tắc X =>Y
1.2.3.3 Thuật toán khai phá dữ liệu bằng luật kết hợp Giới thiệu bài toán Bài toán được phát biểu: Cho một cơ sở dữ liệu giao dịch D, tìm tất cả các luật kết hợp với độ hỗ trợ tối thiểu minsup và độ tin cậy tối thiểu minconf Bài toán được chia làm hai bài toán nhỏ: [BT1] Tìm tất cả các tập mục có độ hỗ trợ lớn hơn hay bằng minsup cho trước (tập mục phổ biến) [BT2] Sử dụng các tập mục phổ biến để sinh ra các luật kết hợp với độ tin cậy minconf cho trước [8] Thuật toán Apriori [8] Đầu vào: CSDL giao dịch D và ngưỡng phổ biến minsup Đầu ra: FIs chứa tất cả các tập phổ biến của D Mã giả: Gọi Ck: Tập các ứng viên có kích thước k Lk: Các tập phổ biến có kích thước k { }
{ }
{ }
Trang 13
Kết nối L2 & L2 ta được Ta được tập mục thường xuyên thỏa mãn
minsup=50% là: X={{Bánh mì, Bơ};{Bơ};{Trứng};{Bánh mì, Bơ};{Trứng, Bơ}}
1.2.4 Mạng Neuron
Mạng Neuron là tiếp cận tính toán mới liên quan tới việc phát triển cấu trúc toán học và khả năng học Các phương pháp là kết quả của việc nghiên cứu mô hình học của hệ thống thần kinh con người
Mạng Neuron có thể đưa ra ý nghĩa từ các dữ liệu phức tạp hoặc không chính xác và có thể được sử dụng để chiết xuất các mẫu và phát hiện ra các xu hướng quá phức tạp mà con người cũng như các kỹ thuật máy tính khác không thể phát hiện được Khi đề cập đến khai thác dữ liệu, người ta thường đề cập nhiều đến mạng Neuron Tuy mạng Neuron có một số hạn chế gây khó khăn trong việc áp dụng và phát triển nhưng nó cũng có những ưu điểm đáng kể
Nguồn [7]
Hình 1.2: Thể hiện sơ đồ khai phá dữ liệu bằng mạng Neuron
Một trong số những ưu điểm phải kể đến của mạng Neuron là khả năng tạo ra các mô hình dự đoán có độ chính xác cao, có thể áp dụng được cho rất nhiều loại bài toán khác nhau, đáp ứng được nhiệm vụ đặt ra của khai phá dữ liệu như phân lớp, gom nhóm, mô hình hóa, dự báo các sự kiện phụ thuộc vào thời gian, v.v
1.2.5 Giải thuật di truyền
Giải thuật di truyền, nói theo nghĩa rộng là mô phỏng lại hệ thống tiến hóa trong tự nhiên, chính xác hơn đó là giải thuật chỉ ra tập các cá thể được hình thành, được ước lựợng và biến đổi như thế nào? Ví dụ như xác định xem làm thế nào để
Dữ liệu
Mô hình mạng Neuron
Mẫu chiết xuất được
Trang 14lựa chọn các cá thể tạo giống và lựa chọn các cá thể nào sẽ bị loại bỏ Giải thuật cũng mô phỏng lại yếu tố gen trong nhiễm sắc thể sinh học trên máy tính để có thể giải quyết nhiều bài toán thực tế khác nhau
Giải thuật di truyền là một giải thuật tối ưu hóa Nó được sử dụng rất rộng rãi trong việc tối ưu hóa các kỹ thuật khai phá dữ liệu trong đó có kỹ thuật mạng Neuron Sự liên hệ của nó với các quá trình khai phá dữ liệu Ví dụ như trong kỹ thuật cây quyết định, tạo luật Như đã đề cập ở phần trước, các luật mô hình hóa dữ liệu chứa các tham số được xác định bởi các giải thuật phát hiện tri thức
1.3 Ứng dụng của khai phá dữ liệu
Khai phá dữ liệu là một lĩnh vực liên quan tới nhiều ngành học khác như: Hệ CSDL, thống kê, trực quan hoá.v.v Hơn nữa, tuỳ vào cách tiếp cận được sử dụng, khai phá dữ liệu còn có thể áp dụng một số kỹ thuật như mạng nơron, lý thuyết tập thô, tập mờ, biểu diễn tri thức, v.v
Phương pháp hệ chuyên gia: Phương pháp này khác với khai phá dữ liệu ở chỗ các ví dụ của chuyên gia thường ở mức cao hơn nhiều so với các dữ liệu trong CSDL, và chúng thường chỉ bao hàm được các trường hợp quan trọng Hơn nữa các chuyên gia sẽ xác nhận giá trị và tính hữu ích của các mẫu phát hiện được
Phương pháp thống kê: là một trong những nên tảng lý thuyết của khai phá dữ liệu, nhưng khi so sánh hai phương pháp với nhau ta có thể thấy các phương pháp thống kê còn tồn tại một số điểm yếu mà khai phá dữ liệu khắc phục được
Với nhưng ưu điểm đó, khai phá dữ liệu hiện đang được áp dụng một cách rộng rãi trong nhiều lĩnh vực kinh doanh và đời sống khác nhau như: Marketing, tài chính, ngân hàng và bảo hiểm, khoa học, y tế, an ninh, internet.v.v rất nhiều tổ chức và công ty lớn trên thế giới đã áp dụng kỹ thuật khai phá dữ liệu vào các hoạt động sản xuất kinh doanh của mình và thu được những lợi ích to lớn [7]
Trang 15hệ thống máy tính tương tác nhằm giúp những người ra quyết định sử dụng dữ liệu
và mô hình để giải quyết các vấn đề không có cấu trúc
Hệ hỗ trợ quyết định - HHTQĐ là các hệ dựa trên máy tính, có tính tương tác, giúp các nhà ra quyết định dùng dữ liệu và mô hình để giải quyết các bài toán phi cấu trúc (S Morton, 1971)
HHTQĐ kết hợp trí lực của con người với năng lực của máy tính để cải tiến chất lượng của quyết định Đây là các hệ dựa vào máy tính hỗ trợ cho người ra quyết định giải các bài toán nửa cấu trúc (Keen and Scott Morton, 1978)
HHTQĐ là tập các thủ tục dựa trên mô hình nhằm xử lý dữ liệu và phán đoán của con người để giúp nhà quản lý ra quyết định (Little, 1970) [6]
+ Thuận lợi của hệ HHTQĐ [6]
Tăng số phương án xem xét, so sánh, phân tích độ nhạy, hiệu quả
Hiểu rõ các quan hệ nghiệp vụ trong toàn hệ thống tốt hơn
Đáp ứng nhanh trước các tình huống không mong đợi, dễ điều chỉnh và thay đổi khi cần thiết
Có thể thực hiện các phân tích phi chính qui
Học tập và hiểu biết thêm các nguồn tài nguyên chưa được tận dụng
Cải thiện những cách thực hiện truyền thống
Kiểm soát kế hoạch, tiêu chuẩn hoá các thủ tục tính toán
Tiết kiệm chi phí cho các thủ tục hành chính
Quyết định tốt hơn
Tinh thần đồng đội tốt hơn
Trang 16 Tiết kiệm thời gian
Dùng các nguồn dữ liệu tốt, có chọn lọc
+ Các hỗ trợ mong đợi từ HHTQĐ
Thông tin trạng thái và dữ liệu thô
Khả năng phân tích tổng quát
Mô hình biểu diễn (cân đối tài chính), mô hình nhân quả (dự báo, chẩn đoán)
Đề nghị giải pháp, đánh giá
Chọn lựa giải pháp
2.1.2 Các thành phần của hệ hỗ trợ ra quyết định
Một Hệ hỗ trợ ra quyết định gồm có bốn thành phần chính:
Phân hệ Quản lý dữ liệu
Phân hệ Quản lý mô hình
Phân hệ Quản lý dựa vào kiến thức
Phân hệ Quản lý giao diện người dùng
Tuy nhiên không phải hệ hỗ trợ ra quyết định nào cũng có đầy đủ những
thành phần trên
Nguồn [6]
Hình 2.1: Mô hình hệ hỗ trợ ra quyết định
Trang 17Phân hệ quản lý dữ liệu (Data Management) gồm một cơ sở dữ liệu
(database) chứa các dữ liệu cần thiết của tình huống và được quản lý bởi một hệ quản trị cơ sở dữ liệu (DBMS – Data Base Management System) Phân hệ này có thể được kết nối với nhà kho dữ liệu của tổ chức (Data Warehouse) – là kho chứa
dữ liệu của tổ chức có liên quan đến vấn đề ra quyết định Thực hiện công việc lưu trữ các thông tin của hệ và phục vụ cho việc lưu trữ, cập nhật, truy vấn thông tin
Phân hệ quản lý mô hình (Model Management) còn được gọi là hệ quản trị cơ
sở mô hình (MBMS – Model Base Management System) là gói phần mềm gồm các thành phần về thống kê, tài chính, khoa học quản lý hay các phương pháp định lượng nhằm trang bị cho hệ thống năng lực phân tích, cũng có thể có các ngôn ngữ
mô hình hóa Thành phần này có thể kết nối với các kho chứa mô hình của tổ chức hay ở bên ngoài Bao gồm các mô hình ra quyết định (DSS models) và việc quản lý các mô hình này Một số ví dụ của các mô hình này bao gồm: Mô hình nếu thì, Mô hình tối ưu, Mô hình tìm kiếm mục đích, Mô hình thống kê, v.v
Phân hệ quản lý dựa vào kiến thức có thể hỗ trợ các phân hệ khác hay hoạt
động độc lập nhằm đưa ra tính thông minh của quyết định đưa ra Nó cũng có thể được kết nối với các kho kiến thức khác của tổ chức
Phân hệ giao diện người dùng (User Interface Management) giúp người sử
dụng giao tiếp với và ra lệnh cho hệ thống
2.1.3 Phân loại hệ hỗ trợ ra quyết định
Hệ hỗ trợ ra quyết định được phân loại dựa trên nhiều tiêu chí Hiện nay, vẫn chưa có cách phân loại thống nhất Sau đây là 2 cách phổ biết nhất:
Trang 18Hướng giao tiếp: Hệ hỗ trợ ra quyết định sử dụng mạng và công nghệ viễn
thông để liên lạc và cộng tác Công nghệ viễn thông bao gồm Mạng cục bộ (LAN – Local Area Network), mạng diện rộng (WAN), Internet, ISDN, mạng riêng ảo …
là then chốt trong việc hỗ trợ ra quyết định Các ứng dụng của hệ hỗ trợ ra quyết định hướng giao tiếp là phần mềm nhóm (Groupware), hội thảo từ xa (Videoconferencing), bản tin (Bulletin Boards) …
Hướng dữ liệu: Hệ hỗ trợ ra quyết định dựa trên việc truy xuất và xử lý dữ
liệu Phiên bản đầu tiên được gọi là Hệ chỉ dành cho việc truy xuất dữ liệu (Retrieval-Only DSS), kho dữ liệu (DatawareHouse) là một cơ sở dữ liệu tập trung chứa thông tin từ nhiều nguồn đồng thời sẵn sàng cung cấp thông tin cần thiết cho việc ra quyết định, OLAP có nhiều tính năng cao cấp vì cho phép phân tích dữ liệu nhiều chiều
Hướng tài liệu: Hệ hỗ trợ ra quyết định dựa trên việc truy xuất và phân tích
các văn bản, tài liệu … Trong một công ty, có thể có rất nhiều văn bản như chính sách, thủ tục, biên bản cuộc họp, thư tín… Internet cho phép truy xuất các kho tài liệu lớn như kho văn bản, hình ảnh, âm thanh… Một công cụ tìm kiếm hiệu quả là một phần quan trọng đối với các hệ hỗ trợ ra quyết định dạng này
Hướng tri thức: Hệ hỗ trợ ra quyết định có thể đề nghị và đưa ra những
tưvấn cho người ra quyết định Những hệ này là các hệ chuyên gia với một kiến thức chuyên ngành cụ thể, nắm vững các vấn đề trong chuyên ngành đó và có kỹ năng để giải quyết những vấn đề này Các công cụ khai thác dữ liệu cũng có thể dùng để tạo ra các hệ dạng này
Theo Holsapple và Whinston (1996):
Phân ra 6 loại hệ hỗ trợ ra quyết định:
Trang 19Hướng văn bản: Thông tin (bao gồm dữ liệu và kiến thức) được lưu trữ dưới
dạng văn bản Vì vậy hệ thống đòi hỏi lưu trữ và xử lý các văn bản một cách hiệu quả Các công nghệ mới như hệ quản lý văn bản dựa trên web, Intelligent Agents
có thể được sử dụng cùng với hệ này
Hướng cơ sở dữ liệu: Cơ sở dữ liệu đóng vai trò chủ yếu trong hệ này Thông
tin trong cơ sở dữ liệu thường có cấu trúc chặt chẽ, có mô tả rõ ràng Hệ này cho phép người dùng truy vấn thông tin dễ dàng và rất mạnh về báo cáo
Hướng bảng tính: Một bảng tính là một mô hình để cho phép người dùng
thực hiện việc phân tích trước khi ra quyết định Bảng tính có thể bảo gồm nhiều
mô hình thống kê, lập trình tuyến tính, mô hình tài chính… Bảng tính phổ biến nhất
đó là Microsoft Excel Hệ này thường được dùng rộng rãi trong các hệ liên quan tới người dùng cuối
Hướng người giải quyết: Một trợ giúp là một giải thuật hay chương trình để
giải quyết một vấn đề cụ thể chẳng hạn như tính lượng hàng đặt tối ưu hay tính toán
xu hướng bán hàng Một số trợ giúp khác phức tạp như là tối ưu hóa đa mục tiêu
Hệ này bao gồm nhiều trợ giúp như vậy
Hướng luật: Kiến thức của hệ này được mô tả trong các quy luật thủ tục hay
lí lẽ Hệ này còn được gọi là hệ chuyên gia Các quy luật này có thể là định tính hay định lượng Ví dụ như hướng dẫn giao thông trên biển, trên bộ…
Hướng kết hợp: Một hệ tổng hợp có thể kết hợp hai hay nhiều hơn trong số
năm hệ trên
2.2 Mô hình hỗ trợ quyết định
2.2.1 Vai trò các mô hình toán học
Một hệ hỗ trợ quản trị cung cấp việc hỗ trợ ra quyết định với thông tin và tri thức được trích rút ra từ dữ liệu thông qua việc áp dụng các mô hình toán học và các giải thuật Trong một vài trường hợp, hành động này có thể giảm bớt việc tính tổng
và phần trăm, được biểu diễn bởi các đồ thị đơn giản, trong khi đó những phân tích thí nghiệm yêu cầu việc phát triển tối ưu hóa nâng cao và mô hình máy học
Trang 202.2.2 Các mô hình toán học hỗ trợ ra quyết định
Các mô hình toán học chính cho việc ra quyết định bao gồm:
- Mô hình dự báo (predictive model)
- Mô hình tự học và nhận mẫu
- Mô hình tối ưu (optimazation models)
- Mô hình quản lý dự án (project management models)
- Mô hình phân tích nguy cơ (risk analysis models)
- Mô hình đường đợi (waitiong line models)
Mô hình dự báo: Mô hình này được sử dụng nhiều đáng kể trong cách hệ
thống hỗ trợ quản trị, cũng như đối với mô hình tối ưu, yêu cầu dữ liệu đầu vào có liên quan tới các sự kiện trong tương lai
Mô hình máy học và nhận biết mẫu: Mục tiêu của mô hình này là phát triển
khả năng thông minh hiểu và có khả năng trích ra tri thức từ các kinh nghiệm cũ và
sử dụng lại trong tương lai Mô hình này được sử dụng để phát triển các thuật toán hiệu quả cho việc thực hiện nhiệm vụ trên
Mô hình tối ưu: Nhiều tiến trình ra quyết định đưa ra bởi các công ty hay tổ
chức phức tạp thường theo hướng: đưa ra một vấn đề được định nghĩa rõ ràng, người ra quyết định sẽ đưa ra một tập các quyết định, giải pháp và sau đó là quá trình đánh giá hiệu quả, so sánh chọn ra giải pháp tốt nhất Mô hình phù hợp với các tiến trình ra quyết định mà bị giới hạn bởi tài nguyên sử dụng, và chúng cần phải sử dụng một cách hợp lý nhất Tài nguyên ở đây có thể là con người, sản phẩm, nguyên liệu, các thành phần, nhân tố tài chính
Mô hình quản lý dự án: Một dự án là một tập phức tạp các hoạt động có liên
quan với nhau được đưa ra nhằm mục đích hướng tới một mục tiêu nhất định được đặt ra, nó có thể một sản phẩm công nghiệp, một hệ thống thông tin, sản phẩm mới hoặc một cấu trúc tổ chức mới, phụ thuộc vào các miền ứng dụng khác nhau Quá trình thực thi một dự án yêu cầu tới các kế hoạch và các tiến trình kiểm soát từng hoạt động độc lập cũng như tài nguyên về con người, kỹ thuật và tài chính cần thiết
để đạt được mục đích cuối cùng
Trang 21Mô hình phân tích nguy cơ: Người ra quyết định được yêu cầu chọn lựa một
hướng đi trong một số hướng có sẵn mà không có các thông tin về ảnh hưởng của các các chọn này tới sự việc có thể xảy ra trong tương lai
Mô hình đường đợi: Mục đích của lý thuyết hàng đợi là điều tra hiện tượng
tắc nghẽn xảy ra khi nhu cầu và khả năng cung cấp của một dịch vụ ngẫu nhiên trong hoạt động hàng ngày
2.3 Vận dụng phương pháp toán học để phân lớp dữ liệu
Các giải thuật được đề cập bao gồm: Cây quyết định (decision trees), Phân lớp
sử dụng Naive Bayes
2.3.1 Khái niệm về phân lớp
Phân lớp [3] là một trong những kỹ thuật phổ biến nhất của học máy và khai phá dữ liệu Đây là một tiến trình xử lý nhằm xếp các mẫu dữ liệu hay các đối tượng vào một trong các lớp đã được định nghĩa trước Cách sắp xếp này dựa vào giá trị của các thuộc tính của một mẫu dữ liệu hay đối tượng Sau khi đã xếp tất cả các đối tượng biết trước vào các lớp tương ứng, lúc này mỗi lớp được đặc trưng bởi tập các thuộc tính của các đối tượng chứa trong lớp đó
Thông thường, các bộ phân lớp có thể học dựa trên các mẫu dữ liệu huấn luyện Dữ liệu dùng để huấn luyện này bao gồm các thông tin về x và y cho mỗi điểm dữ liệu (data-point), trong đó x là một vector chứa các đặc trưng của mẫu dữ liệu vày biểu thị một nhóm các nhãn phân lớp Những nhãn phân lớp này chỉ có thể nhận một số hữu hạn các giá trị
Có nhiều cách để biểu diễn một mô hình phân lớp và có nhiều thuật toán giải quyết vấn đề này Các thuật toán phân lớp tiêu biểu bao gồm: mạng neuron, cây quyết định, mạng Bayes v.v
Tất cả các mô hình phân lớp dựa trên những thuật toán kể trên đều có khả năng phân lớp cho các mẫu dữ liệu mới dựa vào những mẫu tương tự đã được học
Trang 22 Ví dụ ứng dụng bài toán dự đoán kết quả học tập sinh viên cuối khóa đậu hay rớt
Tiếp cận:
- Thuộc tính: thông tin về điểm môn học
- Lớp: tính chất kết quả học tập là đậu hay rớt
- Xây dựng mô hình để dự đoán kết quả
2.3.2 Các bước chính để giải quyết bài toán phân lớp
Bước 1: Học (Training) Mục đích của bước này là xây dựng một mô hình xác
định một tập các lớp dữ liệu Mô hình này được xây dựng bằng cách phân tích các
bộ dữ liệu của một cơ sở dữ liệu, mỗi bộ dữ liệu được xác định bởi giá trị của các thuộc tính Giả sử mỗi bộ dữ liệu đã thuộc về một trong các lớp đã đựơc định nghĩa trước, điều này được xác định bởi một trong các thuộc tính, gọi là thuộc tính phân lớp Trong ngữ cảnh của bài toán phân lớp, mỗi bộ dữ liệu được xem như là một mẫu, một ví dụ, hay một đối tượng Những bộ dữ liệu được phân tích để xây dựng
mô hình phân lớp được lấy từ trong tập dữ liệu học hay dữ liệu huấn luyện
Những bộ dữ liệu riêng lẻ tạo thành tập dữ liệu huấn luyện còn gọi là những mẫu huấn luyện (training samples) và được chọn ngẫu nhiên từ một kho các mẫu Bước này được xem là học có giám sát, ngược lại với học có giám sát là học không
có giám sát (unsupervised learing), tiêu biểu là bài toán gom cụm (clustering) trong
đó các lớp mà các mẫu huấn luyện thuộc về là không biết trước và số lớp dữ liệu cũng không được biết trước
Mô hình phân lớp được đưa ra sau khi đã phân tích xong tập dữ liệu huấn luyện thường có dạng là những quy tắc phân lớp, cây quyết định hay các công thức toán học
Bước 2: Phân lớp (classification) Bước này sử dụng mô hình phân lớp đã
được xây dựng ở bước 1 để kiểm tra, đánh giá và thực hiện phân lớp
Trong mô hình phân lớp, thuật toán phân lớp giữ vai trò trung tâm, quyết định tới sự thành công của mô hình phân lớp Do vậy chìa khóa của vấn đề phân lớp dữ liệu là tìm ra được một thuật toán phân lớp nhanh, hiệu quả, có độ chính xác cao và
có khả năng mở rộng được
Trang 23Bước đầu tiên là đánh giá độ chính xác của mô hình phân lớp bằng cách sử dụng một tập các mẫu đã được phân lớp để kiểm tra gọi là bộ thử (test set) Những mẫu này được chọn ngẫu nhiên và độc lập với các mẫu đã được học ở bước 1 gọi là mẫu thử (test sample)
Nếu độ chính xác của một mô hình là chấp nhận được, thì mô hình đó có thể được sử dụng để phân lớp những bộ dữ liệu mới hoặc những mẫu dữ liệu mà giá trị nhãn phân lớp là chưa biết
Có nhiều vấn đề mà bộ phân lớp cần quan tâm và giải quyết, một trong các vấn đề đó là:
Tốc độ: Trong một số tình huống, tốc độ phân lớp được xem như là yếu
tốquan trọng Khi đó, một bộ phận phân lớp với độ chính xác 92% có thể ưa chuộng hơn bộ phân lớp có độ chính xác 95% nhưng chậm hơn 100 lần trong lần kiểm tra
Dễ hiểu: Bộ phân lớp dễ hiểu sẽ tạo cho người sử dụng tin tưởng hơn vào hệ
thống, đồng thời cũng giúp cho người dùng tránh được việc hiểu nhầm kết quả của một luật được đưa ra bởi hệ thống
Thời gian để học: Điều này yêu cầu hệ thống phải học nhanh một luật phân
lớp hoặc nhanh chóng điều chỉnh một luật đã được học cho phù hợp thực tế [3]
2.3.3 Phương pháp phân lớp Naive Bayesian
2.3.3.1 Định lý Bayes
Định lý Bayes [1],[3] cho phép tính xác suất xảy ra của một sự kiện ngẫu nhiên A khi biết sự kiện liên quan B đã xảy ra Xác suất này được ký hiệu là P(A|B), và đọc là "xác suất của A nếu có B" Đại lượng này được gọi xác suất có điều kiện vì nó được rút ra từ giá trị được cho của B hoặc phụ thuộc vào giá trị đó Theo định lí Bayes, xác suất xảy ra A khi biết B sẽ phụ thuộc vào 3 yếu tố:
Xác suất xảy ra A của riêng nó, không quan tâm đến B, kí hiệu là P(A) và đọc là xác suất của A Đây được gọi là xác suất biên duyên hay xác suất tiên
nghiệm (prior), nó là "tiên nghiệm" theo nghĩa rằng nó không quan tâm đến
bất kỳ thông tin nào về B
Trang 24 Xác suất xảy ra B của riêng nó, không quan tâm đến A, kí hiệu là P(B) và đọc là "xác suất của B" Đại lƣợng này còn gọi là hằng số chuẩn hóa
(normalising constant), vì nó luôn giống nhau, không phụ thuộc vào sự kiện
A đang muốn biết
Xác suất xảy ra B khi biết A xảy ra, kí hiệu là P(B|A) và đọc là "xác suất của
B nếu có A" Đại lƣợng này gọi là khả năng (likelihood) xảy ra B khi biết A
đã xảy ra Chú ý không nhầm lẫn giữa khả năng xảy ra A khi biết B và xác suất xảy ra A khi biết B
Khi biết ba đại lƣợng trên, xác suất của A khi biết B cho bởi công thức:
(1)
Từ đó dẫn tới:
Khi có n giả thuyết thì:
Ai Ai Ai
∑ P(B|An j) P(A)
j=1
2.3.3.2 Mô hình Phân lớp Naive Bayes (NBC)
Mô hình phân lớp Bayes [1],[3] đƣợc áp dụng nhiều nhất trong thực tế là mô hình phân lớp Naive Bayes
Phân lớp Naive Bayes ra đời giúp cho việc tính đơn giản hơn dựa trên việc ứng dụng lý thuyết Bayes Tính toán các xác suất đó với giả thiết là các thuộc tính độc lập với nhau (không phụ thuộc nhau)
Cho {C1, C2,… Cn} là phân hoạch của không gian mẫu C (đƣợc xem là các lớp Ci) Không gian thể hiện X bao gồm tất cả các thể hiện đƣợc mô tả trên tập thuộc tính (a1, a2, …an) và hàm đích f(x) có thể nhận bất kỳ giá trị nào trong C (f(x)=Ci | i=1,…,n) Không gian thể hiện X đƣợc xem là các ví dụ học Khi có một thể hiện mới với bộ giá trị <a1, a2,…,an>, bộ phân lớp sẽ dự đoán giá trị hàm đích f(x) hoặc lớp cho thể hiện mới này (f(x){C1, C2,… Cn})
Cách tiếp cận Bayes để phân lớp một thể hiện mới là lấy giá trị đích có xác suất cao nhất Cmax của thể hiện này Hay nói cách khác, định lý Bayes đƣợc sử
Trang 25dụng để chọn giả thuyết có xác suất cao nhất từ tập mẫu huấn luyện, giả thuyết này được gọi là giả thuyết cực đại xác suất hậu nghiệm MAP – Maximum A Posterior:
CMAP = max P(c i | a 1 ,a 2 ,…a n) (2)
Sử dụng định lý Bayes- Công thức (1) – Áp dụng vào (2), ta có:
(3)
(Cùng mẫu số nên ta bỏ qua so sánh mẫu)
Các P(ci) được tính bằng cách đếm số lần có mặt của giá trị đích ci trong tập
dữ liệu học Tuy nhiên để tính , bộ phân lớp Naive Bayes dựa trên việc đơn giản hóa các giả định ban đầu là các giá trị thuộc tính độc lập điều kiện với giá trị đích cho trước
Nói cách khác, xác suất của một thể hiện quan sát được < > trên mỗi lớp ci sẽ là tích của các khả năng của từng thuộc tính riêng biệt trên ci
∐
Công thức (3) được viết lại:
∐ (4)
Bộ phân lớp Naive Bayes liên quan đến một bước học mà trong đó và
được ước đoán dựa trên tần số xuất hiện của chúng trên toàn bộ tập dữ liệu học Tập dự đoán này tương ứng với kết luận học được, kết quả của bộ phân lớp trong công thức (4) được sử dụng để phân lớp thể hiện mới này
2.3.3.3 Các bước thực hiện thuật toán Naive Bayes
Bước 1: Huấn luyện Naive Bayes (dựa vào tập dữ liệu), tính và
Trang 26 Bước 2: Phân lớp , ta cần tính xác suất thuộc từng phân lớp khi đã biết trước Anew
Anew được gán vào lớp có xác suất lớn nhất theo công thức:
Ví dụ:
Bảng 2.1: Minh họa tập dữ liệu mẫu về kết quả học tập của sinh viên
Nguồn [tác giả]
Áp dụng phân lớp Naive Bayes vào tập dữ liệu mẫu trong bảng trên để phân
lớp cho một thể hiện mới sau đây <Nông thôn, trung bình, trung bình, nam>
(có kết quả là Đậu (Đ) hay kết quả Rớt (R))
Bước 1: Ta có 2 lớp Đ=“Đậu”, R= “Rớt”, tổng số mẫu =8
Ta thu được:
Số mẫu được phân lớp Đ là 5 Xác suất Đậu: P(Đ)=5/8
Số mẫu được phân lớp R là 3 Xác suất Rớt: P(R)=3/8
Theo công thức (4) ta tính xác suất phân bố trên từng lớp cho thể hiện mới
<Nông thôn, trung bình, trung bình, nam> bằng cách sử dụng công thức Bayes
và sau đó lựa chọn lớp có xác suất cao nhất
Trang 27Bước 2: Phân lớp cho mẫu mới
X <Nông thôn, trung bình, trung bình, nam>
Trang 28Trong đó:
|Ci,D|: số mẫu huấn luyện thuộc phân lớp i
|D|: số mẫu trong tập huấn luyện
m: số phân lớp
Công thức tính đã làm trơn Laplace:
| { }|
| | Trong đó:
|| { }|: số mẫu thuộc phân lớp i có đặc trƣng thứ k
| |: Số mẫu của tập huấn luyện thuộc phân lớp i
Điểm vào
P(Cao| Đ) =3/8 P(Cao| R) =1/6 P(Trung bình| Đ)=4/8 P(Trung bình| R)=2/6 P(Thấp| Đ) =1/8 P(Thấp| R) =3/6
Kinh tế
P(Cao| Đ) =4/8 P(Cao| R) =1/6 P(Trung bình| Đ)=3/8 P(Trung bình| R)=2/6 P(Thấp| Đ) =1/8 P(Thấp| R) =3/6
Gtinh
P(Nam| Đ) =3/7 P(Nam| R) =3/5 P(Nữ| Đ) =4/7 P(Nữ| R) =2/5