Cuối cùng là xây dựng một hệ thống để khai phá luật kết hợp dựa trên cơ sở dữ liệu điểm của trường để giúp cho sinh viên đánh giá năng lực của mình.. Nên đề tài sẽ chia làm 2 phần thực h
Trang 1KHOA KỸ THUẬT - CÔNG NGHỆ - MÔI TRƯỜNG
LÊ NGUYÊN ĐỨC – DTH092032
KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC NGÀNH CỬ NHÂN TIN HỌC
XÂY DỰNG HỆ THỐNG HỖ TRỢ TỰ ĐÁNH GIÁ NĂNG LỰC TRỰC TUYẾN BẰNG GIẢI
THUẬT LUẬT KẾT HỢP
An Giang, 04/2013
Trang 2TRƯỜNG ĐẠI HỌC AN GIANG KHOA KỸ THUẬT - CÔNG NGHỆ - MÔI TRƯỜNG
LÊ NGUYÊN ĐỨC – DTH092032
KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC NGÀNH CỬ NHÂN TIN HỌC
XÂY DỰNG HỆ THỐNG HỖ TRỢ TỰ ĐÁNH GIÁ NĂNG LỰC TRỰC TUYẾN BẰNG GIẢI
THUẬT LUẬT KẾT HỢP
An Giang, 04/2013
Giảng viên hướng dẫn:
Huỳnh Lý Thanh Nhàn
Trang 3NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
Giảng viên hướng dẫn
(Ký và ghi rõ họ tên)
Nội dung nhận xét:
- Đồng ý hay không đồng ý cho sinh viên báo cáo KLTN; Nếu không đồng ý cần ghi rõ lý do
- Kết quả đạt được so với yêu cầu;
- Ý kiến khác (nếu có)
Trang 4TRƯỜNG ĐẠI HỌC AN GIANG KHOA KỸ THUẬT - CÔNG NGHỆ - MÔI TRƯỜNG
THỰC TẬP CUỐI KHÓA NGÀNH CỬ NHÂN TIN HỌC
XÂY DỰNG HỆ THỐNG HỖ TRỢ TỰ ĐÁNH GIÁ NĂNG LỰC TRỰC TUYẾN BẰNG GIẢI
THUẬT LUẬT KẾT HỢP
Đơn vị thực tập: Khoa Kỹ thuật – Công nghệ - Môi trường
Giảng viên hướng dẫn: Sinh viên thực hiện:
Huỳnh Lý Thanh Nhàn Lê Nguyên Đức – DTH092032
An Giang, 04/2013
Trang 5TRƯỜNG ĐẠI HỌC AN GIANG KHOA KỸ THUẬT - CÔNG NGHỆ - MÔI TRƯỜNG
THỰC TẬP CUỐI KHÓA NGÀNH CỬ NHÂN TIN HỌC
XÂY DỰNG HỆ THỐNG HỖ TRỢ TỰ ĐÁNH GIÁ NĂNG LỰC TRỰC TUYẾN BẰNG GIẢI
THUẬT LUẬT KẾT HỢP
Đơn vị thực tập: Khoa Kỹ thuật – Công nghệ - Môi trường
Giảng viên hướng dẫn: Sinh viên thực hiện:
Huỳnh Lý Thanh Nhàn Lê Nguyên Đức – DTH092032
An Giang, 04/2013
Trang 6NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
Giảng viên hướng dẫn
(Ký và ghi rõ họ tên)
Nội dung nhận xét:
- Đồng ý hay không đồng ý cho sinh viên báo cáo TTCK; Nếu không đồng ý cần ghi rõ lý do
- Kết quả đạt được so với yêu cầu;
- Ý kiến khác (nếu có)
M-TT-05
Trang 7LỜI CẢM ƠN
Em chân thành cảm ơn:
Ban giám hiệu trường Đại học An Giang, Ban chủ nhiệm khoa Kỹ thuật – Công nghệ - Môi trường, Bộ môn Tin học cùng quý thầy cô trong khoa Kỹ thuật – Công nghệ - Môi trường đã tạo điều kiện cho em được học tập và thực hiện khóa luận này Quý thầy cô đã trực tiếp cũng như gián tiếp cung cấp các kiến thức nền tảng cho
em thực hiện khóa luận
Phòng đào tạo, các thầy cô trong khoa đã tạo điều kiện thuận lợi cho em trong việc thu thập dữ liệu (cơ sở dữ liệu điểm của sinh viên, chương trình đào tạo các ngành) cũng như phân tích và thực hiện đề tài
Thầy Huỳnh Lý Thanh Nhàn, người hướng dẫn trực tiếp đã đóng góp ý kiến và giúp đỡ em trong suốt quá trình thực hiện đề tài
Anh Nguyễn Văn Vũ đã khích lệ, động viên, giúp đỡ em trong quá trình thực hiện khóa luận này
Xin cảm ơn gia đình đã tạo điều kiện cho em an tâm học tập, cảm ơn các bạn lớp DH10TH đã chia sẽ giúp đỡ trong quá trình học tập những năm qua Đặc biệt gởi lời cảm ơn đến các bạn thuộc nhóm Profit đã gắn bó và tận tình giúp đỡ trong suốt 4 năm học
Tuy đã nỗ lực để hoàn thành luận văn nhưng sai sót là không thể tránh khỏi kính mong quý thầy cô thông cảm và tận tình chỉ bảo những sai sót đó Mong nhận được ý kiến đóng góp của quý thầy cô và các bạn
Sinh viên Lê Nguyên Đức
Trang 8Để giải quyết bài toán mang tính chất suy diễn, dự đoán dựa vào lịch sử như thế này thì luật kết hợp là lựa chọn hợp lý nhất Vì thế đề tài sẽ sử dụng các giải thuật khai phá luật kết hợp cụ thể là charm (tìm tập đóng/tập đóng tối đại) và apriori (sinh luật)
Sử dụng kết quả thu được từ charm và apriori tiến hành dự đoán cho từng sinh viên cuối cùng sử dụng kết quả dự đoán này để tư vấn cho từng sinh viên cụ thể trong môi trường web
Kết quả thực nghiệm cho thấy charm hiệu quả hơn apriori và fp-growth trên tập
dữ liệu lớn Mặt khác, phương pháp mà đề tài đã áp dụng cũng cho kết quả khá khả quan, luật tìm được có độ chính xác tương đối cao
Trang 9MỤC LỤC
Danh sách hình iii
Danh sách bảng v
Danh sách ký hiệu vi
Danh sách từ viết tắt vii
Chương 1: Tổng quan 1
I Đặt vấn đề 1
II Lịch sử giải quyết vấn đề 1
III Phạm vi của đề tài 2
IV Hướng giải quyết vấn đề 2
Chương 2: Cơ sở lý thuyết 4
I Tổng quan về khai phá tri thức và khai phá dữ liệu 4
1 Phát hiện tri thức và khai phá dữ liệu 4
2 Quá trình phát hiện tri thức từ cơ sở dữ liệu 6
3 Khai phá dữ liệu 8
II Luật kết hợp trong khai phá dữ liệu 12
1 Các định nghĩa về luật kết hợp 12
2 Một số hướng tiếp cận trong khai phá luật kết hợp 14
III Tìm siêu tham số (search hyper parameters) 14
Chương 3: Giải thuật charm 16
I Giới thiệu giải thuật 16
II Tìm tập mục thường xuyên 16
1 Các khái niệm liên quan 17
2 Tìm tập phổ biến đóng trên it-tree 20
Chương 4: Độ đo hấp dẫn khách quan của luật kết hợp 27
I Giới thiệu 27
II Các tiêu chí đánh giá 27
1 Biến thiên giá trị 27
2 Tình huống cá biệt 28
3 Hiện tượng nghịch lý 29
4 Đếm được 29
5 Đa dạng hóa 29
6 Khả năng phân biệt 29
Trang 107 Có thể giải thích 29
8 Không cân bằng 29
9 Thuộc tính lợi ích 30
10 Biến thiên giá trị 30
Chương 5: Xây dựng hệ thống hỗ trợ tự đánh giá năng lực trực tuyến bằng giải thuật luật kết hợp 31
I Tổng quan hệ thống 31
1 Phân hệ khai phá 31
2 Phân hệ hỗ trợ đánh giá 31
II Mô tả chi tiết phân hệ khai phá 32
1 Nhập chương trình đào tạo từ tập tin excel 32
2 Nhập điểm từ tập tin excel và chuyển đổi điểm 34
3 Chuyển đổi và tích hợp dữ liệu giao tác 36
4 Tìm tập đóng tối đại từ cơ sở dữ liệu giao tác 43
5 Sinh luật từ tập đóng tối đại 44
6 Tìm siêu tham số 47
7 Đánh giá độ hấp dẫn của luật 53
8 Tạo tài khoản và dự đoán 54
9 Đồng bộ dữ liệu 55
III Mô tả phân hệ hỗ trợ đánh giá 56
Chương 6: Đánh giá ba giải thuật apriori, fp-growth và charm từ kết quả thực nghiệm 57
I So sánh ba giải thuật 57
1 Trường hợp tập dữ liệu lớn 57
2 Trường hợp tập dữ liệu nhỏ 58
3 Nhận xét và giải thích kết quả 59
II Chọn giải thuật cho đề tài 60
Kết luận và kiến nghị 61
Phụ lục
Tài liệu tham khảo
Trang 11DANH SÁCH HÌNH
Hình 2.1 Bảng số lượng sinh viên bậc Đại học và Cao đẳng Việt Nam giai đoạn
2000 -2011 4
Hình 2.2 Biểu đồ số lượng sinh viên bậc Đại học và Cao đẳng Việt Nam giai đoạn 2000 -2011 5
Hình 2.3 Quá trình khám phá tri thức từ cơ sở dữ liệu 6
Hình 2.4 Kiến trúc của hệ thống khai phá dữ liệu 11
Hình 2.5 Quá trình khai phá dữ liệu 11
Hình 3.1 Lớp thứ 1 của IT-Tree 18
Hình 3.2 Lớp thứ 2 của IT-Tree 19
Hình 3.3 Lớp thứ 3 của IT-Tree 19
Hình 3.4 Lớp thứ 4 của IT-Tree 20
Hình 3.5 Diffset P(tiền tố) và các lớp thành viên X, Y 22
Hình 3.6 IT-Tree dùng Diffset với minsup là 50% 22
Hình 3.7 Minh họa xây dựng IT-Tree bằng charm với minsup là 50% 25
Hình 4.1 Bản số của luật kết hợp XY 27
Hình 4.2 Biến thiên “tốt” của giá trị hấp dẫn 28
Hình 5.1 Mô hình tổng quan hệ thống hỗ trợ tự đánh giá năng lực trực tuyến 31
Hình 5.2 Quy trình khai phá 32
Hình 5.3 Cấu trúc tập tin excel chứa chương trình đào tạo 33
Hình 5.4 Danh sách môn học thu được sau khi nhập chương trình đào tạo của ngành Đại học Việt Nam học 34
Hình 5.5 Danh sách ngành học thu được sau khi nhập chương trình đào tạo của ngành Đại học Việt Nam học 34
Hình 5.6 Chương trình đào tạo của ngành Đại học Việt Nam học trong phân hệ khai phá 34
Hình 5.7 Kết quả nhập và chuyển điểm của ngành Đại học Việt Nam học từ tập tin excel 35
Hình 5.8 Kết quả chuyển mã môn học 36
Hình 5.9 Kết quả chuyển mã nhóm ngành của ngành Đại học Việt Nam học 37
Hình 5.10 Tập dữ liệu điểm phục vụ cho việc tổng hợp cơ sở dữ liệu giao tác ngành Đại học Việt Nam học học kỳ 2 42
Hình 5.11 Cơ sở dữ liệu giao tác của ngành Đại học Việt Nam học ở học kỳ 2 43
Hình 5.12 Quy trình tìm tập đóng 43
Hình 5.13 Mô hình một tập đóng tối đại 45
Hình 5.14 Tập đóng tối đại được chia thành tập tiền đề (các ô màu trắng) và tập kết luận (các ô màu đỏ) 45
Hình 5.15 Các ứng viên ở tập tiền (vùng màu xanh) đề và tập kết luận (vùng màu đỏ) 46
Trang 12Hình 5.16 Mô hình xử lý sinh và chọn luật 47
Hình 5.17 Tập luật của ngành Đại học Việt Nam học (học kỳ 2) 47
Hình 5.18 Tập luật, tập Ssupp và tập Cconf 49
Hình 5.19 Tập luật và độ chính xác khi supp là 20% và conf là 50% 49
Hình 5.20 Tập luật và độ chính xác khi supp là 20% và conf là 60% 50
Hình 5.21 Tập luật và độ chính xác khi supp là 30% và conf là 50% 50
Hình 5.22 Tập luật và độ chính xác khi supp là 30% và conf là 60% 51
Hình 5.23 Cặp tham số tìm được 51
Hình 5.24 Kết quả tìm siêu tham số cho tập luật của ngành Đại học Việt Nam học ở học kỳ 2 52
Hình 5.25 Tập luật thỏa cặp tham số tìm được (10% - 100%) 52
Hình 5.26 Tập luật ở học kỳ 2 của ngành Đại học Việt Nam học sau khi đánh giá độ hấp dẫn 53
Hình 5.27 Kết quả tư vấn ngành Đại học Việt Nam học ở học kỳ 2 55
Hình 5.28 Mô hình trao đổi dữ liệu giữa phân hệ khai phá và phân hệ tư vấn 55
Hình 5.29 Kết quả tư vấn cho một tài khoản sinh viên ngành Đại học Việt Nam học ở học kỳ 2 56
Hình 5.30 Kết quả tư vấn cho một sinh viên tại phân hệ hỗ trợ đánh giá 56
Hình 6.1 Giao diện Sequential Pattern Mining Framework 57
Hình 6.2 Biểu đồ sự phụ thuộc của thời gian vào giải thuật trên tập dữ liệu lớn (đơn vị tính mili giây) 58
Hình 6.3 Biểu đồ sự phụ thuộc của thời gian vào giải thuật trên tập dữ liệu nhỏ (đơn vị tính mili giây) 59
Trang 13DANH SÁCH BẢNG
Bảng 2.1 Các nhóm kỹ thuật khai phá dữ liệu 9
Bảng 3.1 Các ký hiệu dùng trong thuật toán tìm tập mục thường xuyên 16
Bảng 3.2 Cơ sở dữ liệu minh họa xây dựng IT-Tree 17
Bảng 3.3 Định dạng dữ liệu dọc của các mục (Items) 17
Bảng 5.1 Danh sách môn học (khóa: 1, không khóa: 0) 38
Bảng 5.2 Danh sách các môn học trong chương trình đào tạo của ngành Đại học Việt Nam học trong học kỳ 1 và 2 (tự chọn: 1,bắt buộc: 0) 40
Bảng 5.3 Nội dung tập SV1 41
Bảng 5.4 Tập luật khi kết ứng viên của tập tiền đề và tập kiểm tra 46
Bảng 6.1 Thông số của tập dữ liệu lớn và độ hỗ trợ nhỏ nhất 57
Bảng 6.2 Kết quả thực nghiệm trên tập dữ liệu lớn 58
Bảng 6.3 Thông số của tập dữ liệu nhỏ và độ hỗ trợ nhỏ nhất 58
Bảng 6.4 Kết quả thực nghiệm trên tập dữ liệu nhỏ 59
Bảng 6.5 So sánh giải thuật Apriori, FP-Growth và Charm 60
Bảng 7.1 Kết quả thực nghiệm với dữ liệu của ngành Đại học Việt Nam học từ học kỳ 2 đến học kỳ 5 61
Trang 14DANH SÁCH KÝ HIỆU
C k Tập ứng cử viên k mục
Conf Độ tin cậy
D Cơ sở dữ liệu giao tác
FCI Tập phổ biến đóng
FI Tập mục thường xuyên
L k Tập mục thường xuyên k mục
MFI Tập phổ biến đóng tối đại
minconf Độ tin cậy nhỏ nhất
Trang 15DANH SÁCH TỪ VIẾT TẮT
CSDL Cơ sở dữ liệu
KDD Knowledge Discovery and Data Mining
MSSV Mã số sinh viên
NNLCBCCN Những nguyên lý cơ bản của chủ nghĩa
GDQP-AN Giáo dục quốc phòng – an ninh
VH Văn hóa
ĐNA Đông Nam Á
TT Thực tập
NH – KS Nhà hàng – khách sạn
PPNCKH Phương pháp nghiên cứu khoa học
ĐLCMCĐCS Đường lối cách mạng của Đảng cộng sản
KN Kỹ năng
Trang 16CHƯƠNG 1: TỔNG QUAN
I ĐẶT VẤN ĐỀ
Kể từ năm học 2009 – 2010, trường Đại học An Giang chuyển từ đào tạo theo niên chế sang đào tạo theo học chế tín chỉ [1] Đi theo sự thay đổi đó là nhu cầu
được tư vấn trong việc chọn môn học tự chọn nào cho phù hợp với từng sinh viên
cụ thể là rất cần thiết của sinh viên Theo một cách thông thường thì việc tư vấn này sẽ do cố vấn học tập hoặc giáo viên chủ nhiệm phụ trách Để đưa ra lời khuyên hợp lý cho sinh viên các cố vấn học tập phải xem xét kết quả học tập của sinh viên mà mình đang tư vấn sau đó mới đưa ra lời khuyên cho sinh viên đó Mà mối quan hệ tư vấn giữa cố vấn học tập và sinh viên không phải là mối quan hệ 1-
1 mà là mối quan hệ 1-nhiều Vì thế công việc của cố vấn học tập, giáo viên chủ nhiệm trong việc tư vấn cho sinh viên là khá cực nhọc và tốn nhiều thời gian Một thực tế trong năm học 2011-2012, Đại học An Giang có 19 sinh viên bị buộc thôi học một năm [11] và 127 sinh viên bị cảnh báo học vụ [10], số lượng sinh viên buộc thôi học này ngày càng tăng và thường tập trung vào những sinh viên năm thứ ba và năm cuối Những sinh viên học ở năm thứ nhất và năm thứ hai thường ít bị buộc thôi học do chưa có nhiều môn lựa chọn Khi sinh viên bước vào năm học thứ ba hoặc thứ tư thì số lượng môn lựa chọn ngày càng nhiều, nếu lựa chọn những môn học không phù hợp với từng sinh viên thì sẽ dẫn đến kết quả xấu
và dần dần ảnh hưởng đến kết quả của toàn khóa học Với kết quả bị buộc thôi học
ở những sinh viên năm ba và năm cuối là một tổn thất lớn của sinh viên, gia đình
và còn là gánh nặng của nhà trường, của toàn xã hội Thật vậy, khi sinh viên bị rớt một môn học nào đó thì sinh viên đó sẽ phải học lại Việc học lại rất mất thời gian, công sức của sinh viên, hao tốn thêm về vấn đề tài chính của gia đình sinh viên đó
và làm giảm chất lượng đào tạo chung của toàn trường
Theo từng học kỳ, theo từng năm học, điểm của tất cả sinh viên học tập tại trường đều được lưu trữ lại Do đó, kho dữ liệu này là vô cùng to lớn Vậy vấn đề đặt ra là kho dữ liệu khổng lồ này có giúp ích gì trong việc hỗ trợ cho hệ thống cố vấn học tập của trường Cụ thể là nó có giúp giảm tải công việc tư vấn của các cố
vấn học tập hay không? Đây cũng chính là lý do em chọn và thực hiện đề tài “Xây dựng hệ thống hỗ trợ tự đánh giá năng lực trực tuyến bằng giải thuật luật kết hợp”
II LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ
Đây không phải là vấn đề mới Năm 2008, trong khóa luận tốt nghiệp của mình thầy Huỳnh Lý Thanh Nhàn cũng đã giải quyết vấn đề tương tự là dự đoán kết quả học tập của sinh viên cũng bằng giải thuật luật kết hợp [6] Đề tài của thầy Huỳnh Lý Thanh Nhàn đã xây dựng thành công phần mềm sinh luật và tiến hành
dự đoán kết quả học tập của sinh viên dựa vào luật tìm được [6] Tuy nhiên, vẫn
còn một số vấn đề chưa được giải quyết: Một là, chưa áp dụng chương trình đào
tạo theo học chế tín chỉ (vì khi xây dựng đề tài trường vẫn còn đào tạo theo niên
chế) điều này làm cho đề tài không còn phù hợp với nhu cầu hiện nay nữa Hai là,
chưa thử nghiệm và so sánh các giải thuật để tìm ra giải thuật phù hợp với yêu cầu
mà đề tài thực hiện, chưa thể áp dụng thực tế Ba là, chưa có thao tác đánh giá tri
Trang 17thức mà cụ thể là việc đo độ hấp dẫn của luật Bốn là, việc xây dựng website dự
đoán kết quả học tập cho sinh viên trường Đại học An Giang còn nằm trong hướng phát triển của đề tài Và phạm vi của đề tài chỉ áp dụng trong Khoa Kỹ thuật – Công nghệ - Môi trường
III PHẠM VI CỦA ĐỀ TÀI
Trong đề tài sẽ tập trung trình bày một cách khái quát về khai phá tri thức và khai khá dữ liệu
Dựa trên các lý thuyết đã tổng hợp tiến hành nghiên cứu sâu hơn về luật kết hợp
Cuối cùng là xây dựng một hệ thống để khai phá luật kết hợp dựa trên cơ sở
dữ liệu điểm của trường để giúp cho sinh viên đánh giá năng lực của mình Đánh giá năng lực là xét xem với điểm hiện tại của sinh viên thì thích hợp để học những môn tự chọn nào Từ đó đưa ra sự tư vấn cho sinh viên trong việc lựa chọn môn học tự chọn nào trong lúc đăng ký học phần
Thông thường trước khi sinh viên đăng ký học phần ở mỗi học kỳ sinh viên phải đứng trước việc quyết định chọn học môn nào và không học môn nào giữa các môn tự chọn Để đi đến quyết định cuối cùng sinh viên thực hiện ít nhất 4 công việc sau:
- Tự đánh giá năng lực của mình xem phù hợp để học môn tự chọn nào và không phù hợp với môn tự chọn nào? (Có thể tham khao ý kiến của cố vấn học tập)
- Xét sở trường, sở đoản, sở thích của mình là gì?
- Điều kiện và hoàn cảnh gia đình có phù hợp không?
- Môn học có được mở hay không?
Hệ thống mà đề tài hướng đến xây dựng sẽ giúp giải quyết công việc thứ nhất
mà sinh viên phải thực hiện như đã trình bày Tức là giúp sinh viên đánh giá năng lực của sinh viên xem phù hợp hay không phù hợp với từng môn học tự chọn trong từng học kỳ chứ không ra quyết định thay cho sinh viên Đều này phần nào đã giải thích được chữ “tự” trong tên đề tài Tự ở đây có nghĩa là sinh viên phải tự ra quyết định, tự chọn môn học và tự chịu trách nhiệm về quyết định của mình lựa chọn
IV HƯỚNG GIẢI QUYẾT VẤN ĐỀ
Sử dụng thuật toán khai phá luật kết hợp để sinh ra các luật kết hợp Tiến hành đánh giá độ hấp dẫn của luật trước khi sử dụng các luật đó làm cơ sở để tư vấn cho sinh viên trong việc chọn môn học tự chọn phù hợp với khả năng của sinh viên Tuy nhiên, quá trình tìm luật tương đối phức tạp và tốn thời gian Nên đề tài sẽ chia làm 2 phần thực hiện đó là: phần sinh luật từ cơ sở dữ liệu và phần sử dụng kết quả của phần 1 để tư vấn cho sinh viên Do quá trình thực hiện để sinh ra luật
và đánh giá luật tốn nhiều thời gian và phức tạp nên được thực hiện ở môi trường ứng dụng application ở máy tính cục bộ (phân hệ khai phá) Sau khi tìm được luật
sẽ đưa chúng lên internet dưới dạng một website để phục vụ cho sinh viên tự đánh giá năng lực của mình (phân hệ hỗ trợ đánh giá) Đánh giá xem khả năng của sinh
Trang 18viên phù hợp với môn tự chọn nào và không phù hợp với môn tự chọn nào Việc
sử dụng thêm phân hệ tư vấn sẽ giúp tư vấn cho nhiều sinh viên trong một thời gian ngắn và phần nào giải thích yếu tố “trực tuyến” của đề tài
Trang 19CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
I TỔNG QUAN VỀ KHAI PHÁ TRI THỨC VÀ KHAI PHÁ DỮ LIỆU
1 PHÁT HIỆN TRI THỨC VÀ KHAI PHÁ DỮ LIỆU
Trong thời đại công nghệ thông tin hiện nay, nếu không muốn nói là tất cả thì hầu như các cơ quan, tổ chức, doanh nghiệp đều xây dựng kho lưu trữ dữ liệu cho riêng mình Theo thời gian thì các kho dữ liệu đó ngày càng trở nên khổng lồ Nó khổng lồ đến nỗi người ta phải dùng đến đơn vị tính là terabytes để đo đếm lượng thông tin đó Và sau đây là một vài ví dụ minh chứng cho sự bùng nổ thông tin
trong lưu trữ và cần phân tích:
Cơ sở dữ liệu khoa học thiên văn: Europe’s Very Long Baseline
interforometry (VLBI) có 16 kính thiên văn dữ liệu mỗi kính thu được trong 1 giây
là 1 Gigabits người ta tiến hành phân tích dữ liệu trong 25 ngày thu được nên dữ
liệu cần phân tích trong 25 ngày là quá lớn, nó lên đến vài Terabytes [5]
Cơ sở dữ liệu truyền thông: AT&T lưu trữ 26 Terabytes thông tin khách hàng
để phục vụ cho kế hoạch đầu tư và phát triển Còn France telecom có đến 30
Terabytes lưu trữ thông tin khách hàng [5]
Dữ liệu world wide: Google tiếp nhận hơn 4 tỉ yêu cầu tìm kiếm mỗi ngày lưu
trữ hàng trăm Terabytes dữ liệu [5]
Dữ liệu giáo dục Việt Nam: Chỉ tính ở 2 bậc học là bậc Cao đẳng và bậc Đại
học số lượng sinh viên lên đến con số 2.208.100 sinh viên vào năm 2011 [18] Và hằng năm, số lượng sinh viên không ngừng gia tăng Sự gia tăng này dễ dàng nhận
thấy từ hình 2.1 và hình 2.2
Hình 2.1 Bảng số lượng sinh viên bậc Đại học và Cao đẳng Việt Nam giai
đoạn 2000 -2011
Trang 20Hình 2.2 Biểu đồ số lượng sinh viên bậc Đại học và Cao đẳng Việt Nam giai
đoạn 2000 -2011
Với hơn 2 triệu sinh viên thì rõ ràng cơ sở dữ liệu chứa thông tin cá nhân cũng như điểm của sinh viên trong suốt quá trình học tập là không hề nhỏ Tất nhiên, xu hướng cơ sở dữ liệu để lưu trữ những thông tin của sinh viên ngày càng lớn theo thời gian là tất yếu Nhất là đối với cơ sở dữ liệu điểm được lưu trữ lại là vô cùng quý, nếu được khai phá sẽ hỗ trợ rất nhiều trong lĩnh vực giáo dục
Khi lưu trữ dữ lượng dữ liệu lớn như vậy thì chắc chắn rằng những dữ liệu đó bản thân nó phải mang những giá trị nhất định Nhưng theo thống kê thì chỉ khoảng từ 5% đến 10% của dữ liệu khổng lồ đó được phân tích, số dữ liệu còn lại
họ không biết phải làm gì với nó nhưng họ vẫn quyết định thu thập và lưu trữ cho
dù rất tốn kém Sở dĩ họ chấp nhận đánh đổi để làm điều này vì họ sợ bỏ qua dữ liệu quan trọng đến khi cần thì không có Đặc biệt trong thời đại bùng nổ công nghệ thông tin hiện nay thì người ta cần dùng nguồn dữ liệu khổng lồ đó để hỗ trợ cho việc ra quyết định trong kinh doanh, bán hàng,… Vì thế để tìm ra câu trả lời mang tính chất định tính từ kho dữ liệu khổng lồ đó thì cách khai thác và quản trị
dữ liệu truyền thống tỏ ra không hiệu quả Cũng vì lý do đó đã làm phát triển một khuynh hướng kỹ thuật mới đó là kỹ thuật phát hiện tri thức và khai phá dữ liệu
(KDD - Knowledge Discovery and Data Mining)
Quá trình phát hiện tri thức trong cơ sở dữ liệu là quá trình nhận biết các mẫu hay các mô hình dữ liệu trong cơ sở dữ liệu với các tính năng: hợp thức, mới, khả
ích và có thể hiểu được [7]
Khai thác dữ liệu là một bước trong qui trình phát hiện tri thức gồm có các thuật toán khai thác dữ liệu chuyên dùng dưới một số qui định về hiệu quả tính toán chấp nhận được để tìm ra các mẫu hoặc các mô hình trong dữ liệu [7]
Trang 212 QUÁ TRÌNH PHÁT HIỆN TRI THỨC TỪ CƠ SỞ DỮ LIỆU
Quá trình phát hiện tri thức bao gồm các bước sau:
Làm sạch dữ liệu (Data cleaning): Quá trình loại bỏ dữ liệu nhiễu, dữ liệu
Chuyển đổi dữ liệu (Data transformation): Chuyển đổi dữ liệu về dạng có thể
khai phá trực tiếp được từ những dạng dữ liệu này
Khai phá dữ liệu (Data mining): Sử dụng các kỹ thuật, thuật toán khai phá để
tìm mẫu điển hình trong cơ sở dữ liệu, các thông tin có ích cho người dùng
Đánh giá mẫu tri thức (Pattern evaluation): Đánh giá độ hấp dẫn, độ lợi ích
của thông tin thu được
Trình diễn dữ liệu (Knowledge presentatoin): Trình bày kết quả tri thức thu
được dưới dạng hình ảnh, biểu đồ hay dạng nào đó mà người dùng có thể hiểu
2.2 Thu thập và tiền xử lý dữ liệu
Thông thường dữ liệu trong các cơ sở dữ liệu nhiều thuộc tính nhưng không thuần nhất, không đầy đủ, có nhiều lỗi và các giá trị đặc biệt Vì thu thập và tiền
xử lý dữ liệu là giai đoạn vô cùng quan trọng trong quá trình phát hiện tri thức
Trang 22từ cơ sở dữ liệu Giai đoạn này chiếm từ 70% đến 80% giá thành của bài toán khai phá dữ liệu
Người ta chia giai đoạn thu thập và tiền xử lý dữ liệu thành các giai đoạn
nhỏ hơn: Chọn lọc dữ liệu, đây là bước chọn lọc dữ liệu có liên quan từ nhiều
nguồn dữ liệu khác nhau Những dữ liệu được chọn lọc phải chứa nhiều thông tin liên quan tới lĩnh vực cần thiết đã xác định trong giai đoạn xác định vấn đề
Làm giàu dữ liệu, là quá trình chuyển đổi tích hợp dữ liệu từ nhiều nguồn khác
nhau thành một kho thống nhất Các dạng dữ liệu khác nhau cũng được tính toán và quy đổi thành một dạng thống nhất, giúp cho quá trình phân tích được
dễ dàng Đôi khi phải xây dựng các thuộc tính mới từ các thuộc tính sẵn có Mã hóa dữ liệu, việc mã hóa dữ liệu là sử dụng các phương pháp chọn lọc, làm
sạch, làm giàu dữ liệu với dạng các hàm, tiện ích… Nhằm tự động hóa trong việc kết xuất, di chuyển dữ liệu Các hàm, chương trình tiện ích đó được sử
dụng khi muốn làm tươi dữ liệu để phục vụ cho việc khai thác Làm sạch dữ liệu, dữ liệu được thu thập từ nhiều nguồn khác nhau nên dẫn đến tình trạng dữ
liệu không đồng nhất Vì vậy, cần có phương pháp đưa những dữ liệu không đồng nhất ấy về cùng một dạng để phục vụ cho khai thác Nhiệm vụ làm sạch
dữ liệu bao gồm:
- Điều hòa dữ liệu: Là làm nhất quán dữ liệu không thống nhất của dữ liệu đã thu thập được từ nhiều nguồn khác nhau Phương pháp thường sử dụng là khử những dòng dữ liệu trùng lặp và thống nhất các ký hiệu Ví dụ trong cơ
sở dữ liệu bán hàng của một siêu thị thì trong quá trình cập nhật thông tin của khách hàng thì phát sinh những dòng dữ liệu của 1 khách hàng nhưng làm cho chúng ta lầm tưởng đó là dữ liệu của nhiều khách hàng khác nhau
- Xử lý dữ liệu khuyết: Trong một cơ sở dữ liệu thường có nhiều đến rất nhiều thuộc tính và hiện tượng khuyết một hay nhiều thuộc tính trong một hay nhiều dòng dữ liệu là điều chắc chắn sẽ gặp phải trong mọi cơ sở dữ liệu Phương pháp có thể áp dụng khắc phục trong trường hợp này là bỏ qua dòng
bị khuyết dữ liệu, điền dữ liệu bị khuyết bằng tay, điền giá trị trung bình của các thuộc tính cho những ô bị khuyết, dùng một hằng chung để điền cho những chỗ bị khuyết dữ liệu,…
- Xử lý dữ liệu nhiễu và các ngoại lệ: Dữ liệu bị nhiễu có thể là do ngẫu nhiên hay cũng có thể là có chứa giá trị bất thường Để làm sạch dữ liệu nhiễu người ta thường làm trơn nhiễu và dùng các giải thuật để phát hiện các ngoại
lệ gây ra nhiễu dữ liệu để xử lý
2.3 Khai thác dữ liệu
Sau khi đã có được dữ liệu từ giai đoạn “thu thập và tiền xử lý dữ liệu” sẽ tiến hành xác định bài toán khai thác dữ liệu, lựa chọn phương pháp khai thác phù hợp với dữ liệu hiện có và tách ra những tri thức cần thiết
Thường thì, bài toán khai thác dữ liệu có hai dạng: Các bài toán mang tính chất mô tả - đưa ra những tính chất chung nhất của dữ liệu và các bài toán khai thác dự báo – suy diễn trên dữ liệu Tùy theo yêu cầu của bài toán mà chọn phương pháp khai thác dữ liệu thích hợp
Trang 232.4 Minh họa và đánh giá tri thức
Tri thức khai thác được sẽ được minh họa dưới dạng báo cáo, hình ảnh, biểu đồ,… phục vụ cho nhiều mục đích khác nhau
Không phải các tri thức khai thác được đều tốt hay đều xấu nên việc đánh giá tri thức thu được là rất cần thiết Việc đánh giá này giúp tạo ra những quyết định chiến lược
2.5 Đưa kết quả vào thực tế
Kết quả của quá trình khai thác và đánh giá tri thức có thể được đưa vào ứng dụng trong nhiều lĩnh vực khác nhau Kết quả đó có thể là dự báo cũng có thể là mô tả nên chúng có thể được đưa vào các hệ thống ra quyết định hoặc hỗ trợ ra quyết định một cách tự động hóa
Quá trình phát hiện tri thức có thể được tiến hành theo các bước trên Ngoài ra cũng có thể được nâng cấp cải tiến, thay đổi cho phù hợp với tình hình thực tế
3 KHAI PHÁ DỮ LIỆU
3.1 Các quan niệm về khai phá dữ liệu
Khai phá dữ liệu là tập hợp các thuật toán nhằm chiết xuất những thông tin
có ích từ kho dữ liệu khổng lồ [7]
Khai phá dữ liệu giống như quá trình tìm ra và mô tả mẫu dữ liệu Dữ liệu như là một tập hợp của các vật hay sự kiện, còn đầu ra của quá trình khai phá
dữ liệu như là những dự báo của các vật hay sự kiện mới [7]
Vậy nhiệm vụ của khai phá dữ liệu và phát hiện tri thức là tìm ra các mẫu
mô hình dữ liệu hữu ích bị che khuất trong kho cơ sở dữ liệu khổng lồ
3.2 Nhiệm vụ của khai phá dữ liệu
Trong các kho dữ liệu lớn thì đòi hỏi việc thu thập, xử lý dữ liệu phát hiện tri thức phải được tự động hóa tuy nhiên giai đoạn cuối cùng là phân tích kết quả thu được luôn do con người đảm nhiệm
Sau đây là những nhiệm vụ cơ bản nhất của khai phá dữ liệu:
Phân cụm, phân loại, phân nhóm, phân lớp: Nhiệm vụ là trả lời cho câu hỏi
“Một mẫu dữ liệu mới thu thập sẽ thuộc về lớp nào?” Quá trình này được thực hiện một cách tự động
Khai phá luật kết hợp: Tìm ra các luật kết hợp có dạng XY Tức là tìm ra
mối quan hệ của các thuộc tính có trong tập X và các thuộc tính có trong tập Y Xem xét sự hỗ trợ giữa các thuộc tính với nhau
Lập mô hình dự báo: Có hai nhiệm vụ hoặc phân lớp 1 mẫu dữ liệu vào một
hay nhiều lớp đã được xác định trước, hoặc là sử dụng các trường trong cơ sở
dữ liệu để dự báo sự xuất hiện hay không xuất hiện các trường hợp khác
Phân tích các đối tượng ngoài cuộc: Đôi khi trong cơ sở dữ liệu xuất hiện
các đối tượng không thuộc mô hình dữ liệu đã định sẵn Theo một cách thông thường thì xem các đối tượng đó là dữ liệu nhiễu và chúng sẽ bị loại bỏ Tuy nhiên trong một số trường hợp thì dữ liệu nhiễu đó đem lại tri thức bất ngờ và
Trang 24quý giá cho người sử dụng Sự phân tích các dữ liệu ngoài cuộc được gọi là khai phá các đối tượng ngoài cuộc Và đây là một số phương pháp phát hiện đối tượng ngoài cuộc: kiểm tra mang tính thống kê trên cơ sở phân phối dữ liệu hay
mô hình xác suất dữ liệu, dùng các độ đo khoảng cách để phát hiện các đối tượng ngoài cuộc (các đối tượng ngoài cuộc có khoảng cách khá lớn đến bất cứ cụm nào), kiểm tra đặc trưng của đối tượng ngoài cuộc so với đặc trưng của các cụm trong mô hình dữ liệu
Phân tích sự tiến hóa: Phân tích sự tiến hóa thực hiện việc mô tả và mô
hình hóa các quy luật hay khuynh hướng của những đối tượng mà ứng xử của chúng thay đổi theo thời gian [7]
3.3 Triển khai khai phá dữ liệu
Việc triển khai khai phá dữ liệu được thực hiện qua 5 bước:
Bước 1: Xác định mục tiêu cần khai phá
Bước 2: Chuẩn bị dữ liệu phục vụ cho việc khai phá (Thu thập, tiền xử lý,
chuyển đổi dữ liệu)
Bước 3: Khai phá dữ liệu (Chọn giải thuật thích hợp để khai phá dữ liệu)
Bước 4: Phân tích đánh giá kết quả thu được (Xem tri thức đó có gì thú vị hay
không?)
Bước 5: Tiêu hóa tri thức thu được (Đề ra kế hoạch khai thác các thông tin
mới)
3.4 Các kỹ thuật khai phá dữ liệu
Kỹ thuật khai phá dữ liệu được chia làm 2 nhóm chính
Bảng 2.1 Các nhóm kỹ thuật khai phá dữ liệu
Nhóm kỹ thuật khai phá dữ liệu
Nhiệm vụ Mô tả về tính chất hoặc các đặc tính chung
của dữ liệu trong cơ sở dữ liệu
Đưa ra các dự đoán dựa trên các suy diễn từ dữ liệu hiện thời
Các kỹ thuật
trong nhóm
Phân cụm (clustering), Tóm tắt (sumerization), Trực quan hóa (visualiztation), Phân tích sự phát triển và
độ lệch (evolution and deviation analyst), Luật kết hợp (assocition rules),…
Phân lớp (classification), Hồi quy
(regession)…
Trong đó có một số phương pháp thông dụng nhất là: phân cụm dữ liệu, phân lớp dữ liệu, phương pháp hồi quy và khai phá luật kết hợp
3.4.1 Phương pháp phân cụm dữ liệu
Nhóm các dữ liệu tương đồng về mặt thuộc tính của dữ liệu vào một cụm sao cho tính chất của những cụm khác nhau là khác nhau Phân cụm
là một ví dụ điển hình cho quá trình học mà không có thầy Phân cụm
Trang 25không đòi hỏi phải định nghĩa trước các mẫu dữ liệu huấn luyện Phân cụm là quá trình học bằng quan sát (learning by observation) trong khi phân lớp là quá trình học bằng ví dụ (learning by example) Trong phương pháp phân cụm chúng ta không thể biết trước được kết quả thu được sẽ như thế nào
Phân cụm dữ liệu được dùng nhiều cho các ứng dụng phân đoạn thị trường, phân đoạn khách hàng, nhận dạng mẫu, phân loại trang web,…Ngoài ra, phân cụm còn được sử dụng trong giai đoạn tiền xử lý của các thuật toán khai phá dữ liệu khác
3.4.2 Phương pháp phân lớp dữ liệu
Phân lớp dữ liệu là dự đoán nhãn lớp cho các mẫu dữ liệu từ các mô hình xây dựng sẵn Vì thế quá trình phân lớp dữ liệu thường trải qua 2 bước:
Bước 1: Xây dựng mô hình dữ liệu dùng cho việc huấn luyện
(training dataset) Việc xây dựng được tiến hành như sau: các dữ liệu tương đồng với nhau về thuộc tính của chúng được gom lại chung 1 lớp và gán nhãn cho các lớp đó Các lớp phải được xây dựng trước khi xây dựng mô hình
Bước 2: Sử dụng mô hình để phân lớp dữ liệu Trước hết phải tính
độ chính xác của dữ liệu nếu độ chính xác này là chấp nhận được thì
dữ liệu được giữ lại để sử dụng trong việc dự đoán nhãn cho các mẫu tin trong tương lai
3.4.3 Phương pháp hồi quy
Nếu phương pháp phân lớp dữ liệu dự đoán trên dữ liệu rời rạc thì phương pháp hồi quy dự đoán trên dữ liệu liên tục
Hồi quy là một hàm học ánh xạ mục dữ liệu thành một biến dự đoán
có giá trị thực [7]
3.4.4 Phương pháp khai phá luật kết hợp
Mục tiêu của phương pháp này là tìm ra mối liên hệ giữa các thuộc tính trong cơ sở dữ liệu Mẫu tri thức đầu ra là luật kết hợp với độ hỗ trợ thông tin và độ tin cậy của luật Ví dụ: Khách hàng mua đường mua sữa với độ hỗ trợ và độ tin cậy là 50%
Quá trình khai phá luật kết hợp được thực hiện qua 2 bước:
Bước 1: Tìm tất cả các tập phổ biến Tập phổ biến là tập thỏa độ hỗ
3.5 Kiến trúc của hệ thống khai phá dữ liệu
Như đã trình bày trong mục 2 của mục I chương này ta thấy rằng các bước
trong quá trình có sự tương tác lẫn nhau giữa người sử dụng hoặc cơ sở dữ liệu
Trang 26tri thức, những mẫu đáng quan tâm cung cấp cho người dùng hoặc coi là một tri thức mới và được lưu trữ trong cơ sở dữ liệu tri thức
Hình 2.4 Kiến trúc của hệ thống khai phá dữ liệu
Kiến trúc của hệ thống khai phá dữ liệu có các thành phần sau:
Cơ sở dữ liệu, kho dữ liệu: Là một hay nhiều cơ sở dữ liệu, kho dữ liệu
Bên trong đã bao gồm các kỹ thuật làm sạch, tích hợp, lọc dữ liệu có thể thực hiện trên dữ liệu
Cơ sở dữ liệu hay kho dữ liệu phục vụ: Là kết quả dữ liệu có liên quan trên
cơ sở khai phá dữ liệu của người dùng
Cơ sở tri thức: Là nơi chứa các tri thức đã khai phá được
Mô tả khai phá dữ liệu: Bao gồm các modul thực hiện các chức năng mô tả
đặc điểm, kết hợp, phân lớp, phân cụm dữ liệu,…
Đánh giá mẫu: Sử dụng các độ đo và tương tác với modul khai phá dữ liệu
để tìm ra những mẫu tri thức nào là đáng quan tâm
Giao diện người dùng: Là nơi diễn ra sự tương tác giữa người dùng và hệ
thống khai phá dữ liệu Ở đây người dùng được cung cấp các chức năng truy vấn, tác vụ, tìm kiếm,…
3.6 Quá trình khai phá dữ liệu
Hình 2.5 Quá trình khai phá dữ liệu
Trang 273.7 Khó khăn trong khai phá dữ liệu
Dữ liệu lớn: Số lượng bảng ghi trong cơ sở dữ liệu có thể lên đến hàng triệu
nên kích thước rất lớn có thể lên đến Gigabytes
Kích thước lớn: Số lượng trường trong cơ sở dữ liệu tương đối nhiều Điều
này làm tăng không gian tìm kiếm Biện pháp được áp dụng trong trường hợp này là sử dụng các tri thức biết trước để làm giảm các biến không phù hợp trong
cơ sở dữ liệu nhằm thu nhỏ không gian tìm kiếm
Dữ liệu động: Sự thay đổi dữ liệu trong cơ sở dữ liệu là điều không tránh
khỏi Vì thế dữ liệu sẽ bị thay đổi theo thời gian nên ít nhiều ảnh hưởng đến tri thức khai phá được Vấn đề này được giải quyết bằng giải pháp nâng cấp mẫu
và coi sự thay đổi là cơ hội để khai thác bằng cách sử dụng nó để tìm kiếm các câu bị đổi
Các trường dữ liệu không phù hợp: Mục dữ liệu không phù hợp với trọng
tâm của khai thác khi đó ta nói dữ liệu đó không phù hợp
Các giá trị bị thiếu: Sự vắng hay có mặt của giá trị các thuộc tính dữ liệu
phù hợp có thể ảnh hưởng đến việc khai phá dữ liệu
Các trường dữ liệu bị thiếu: Các thuộc tính quan trọng có thể bị thiếu nên
không thể chuẩn bị cho quá trình khai phá được
Quá phù hợp: Những dữ liệu tốt nhất cho mô hình nào đó gây ra hiện tượng
chỉ phù hợp với dữ liệu đó còn cho kết quả kém với những dữ liệu lạ
Khả năng biểu đạt mẫu: Tri thức được biểu diễn sao cho càng dễ hiểu với
con người càng tốt
Sự tương tác với tri thức người sử dụng sẵn có: việc sử dụng lại các tri thức
của người sử dụng trong quá trình tìm tri thức là vô cùng cần thiết để cho con người có thể tương tác với quá trình khai phá nhằm sinh ra tri thức theo mong muốn của con người
II LUẬT KẾT HỢP TRONG KHAI PHÁ DỮ LIỆU
1 CÁC ĐỊNH NGHĨA VỀ LUẬT KẾT HỢP
1.1 Định nghĩa độ hỗ trợ
Định nghĩa 1: Độ hỗ trợ của tập hợp X có trong cơ sở dữ liệu D là tỉ số giữa
các giao tác T D có chứa tập X và tổng số bản ghi trong D (hay là phần trăm của các bản ghi trong D có chứa tập X), ký hiệu là support(X) hay supp(X)
( )
Định nghĩa 2: Độ hỗ trợ của một luật kết hợp có dạng XY là tỉ số giữa các
bản ghi chứa tập hợp so với tổng các bản ghi trong D, ký hiệu support(X
Y) hay supp(X Y)
( )
Trang 28
1.2 Định nghĩa độ tin cậy
Định nghĩa 3: Độ tin cậy của một luật kết hợp X Y là tỉ số giữa lượng các
bản ghi trong D có chứa với số bản ghi trong D có chứa tập hợp X Ký hiệu độ tin cậy của một luật là conf(r)
Ta có ( )
Nhận xét: Độ hỗ trợ và độ tin cậy có xác suất sau:
( ) ( ) ( ) ( ) ( ) ( )
1.3 Định nghĩa tập hợp và các tính chất của tập hợp
Định nghĩa 4: Tập hợp X được gọi là tập hợp thường xuyên (Frenquent
itemset) nếu có ( ) , với là ngưỡng độ hỗ trợ cho trước
Kí hiệu các tập thường xuyên này là FI
Tính chất 1: Giả sử A,B I là hai tập hợp với A B thì Supp(A) Supp(B) Như vậy những bản ghi nào chứa tập hợp B thì cũng chứa tập hợp A
Tính chất 2: Giả sử A, B là hai tập hợp với A,B I Nếu B là tập thường xuyên
và A B thì A cũng là tập thường xuyên Thật vậy, nếu B là tập hợp thường xuyên thì Supp(B) minsup, mọi tập hợp A
là con của tập hợp B đều là tập hợp thường xuyên trong cơ sở dữ liệu D vì Supp(A) Supp(B) (Theo tính chất 1)
Tính chất 3: Giả sử A,B là hai tập hợp mà A B và A là tập hợp không thường xuyên thì B cũng là tập hợp không thường xuyên
Định nghĩa 5: Một tập hợp X được gọi là tập đóng (closed) nếu không có tập
cha nào của X có cùng độ hỗ trợ với nó Tức là không tồn tại tập hợp X’ mà X’ X và t(X)=t(X’) (với t(X), t(X’) lần lượt là tập các giao tác chứa tập mục X
và X’) Kí hiệu của tập phổ biến đóng là FCI
Định nghĩa 6: Nếu X là tập phổ biến và không có tập cha nào của X là tập phổ
biến thì ta nói X là tập phổ biến lớn nhất (maximally frequent itemset) Kí hiệu tập phổ biến lớn nhất là MFI Dễ thấy MFI FCI FI
1.4 Định nghĩa luật kết hợp
Khai phá luật kết hợp là công việc tìm (phát hiện, khám phá) ra các luật kết hợp thỏa mãn ngưỡng độ hỗ trợ δ và độ tin cậy α cho trước Bài toán khai phá luật kết hợp dược chia thành 2 bài toán nhỏ hay còn gọi là 2 pha cần thực hiện để giải quyết bài toán:
Pha 1: Tìm tất cả các tập phổ biến (tìm FI) trong cơ sở dữ liệu (D)
Pha 2: Sử dụng các FI đã tìm ở pha 1 để sinh ra các luật tin cậy (interesting
rules) Ý tưởng chung của bài toán này là nếu gọi các tập ABCD và AB là các tập mục phổ biến thì chúng ta có thể xác định được luật ABCD với
độ tin cậy:
Trang 29( ) ( )
( )Nếu ( ) thì luật được giữ lại
2 MỘT SỐ HƯỚNG TIẾP CẬN TRONG KHAI PHÁ LUẬT KẾT HỢP
Lĩnh vực khai phá luật kết hợp đã hình thành và phát triển khá lâu Đến nay đã được phát triển theo nhiều hướng khác nhau Sau đây là một số hướng chính:
Luật kết hợp nhị phân (Binary association rule): Theo hướng này thì chỉ quan
tâm xem item có xuất hiện trong cơ sở dữ liệu hay không chứ không quan tâm đến tần suất xuất hiện của các item Thuật toán tiêu biểu cho khai phá dạng này là Apriori
Luật kết hợp có thuộc tính và thuộc tính hạn mục (Quantitative and categorial association rule): Trong thực tế thì cơ sở dữ liệu có thể chứa nhiều dạng dữ liệu
(nhị phân, số, mục,…) chứ không chỉ chứa dạng nhị phân hay nhất quán dạng nào
cả Vì vậy để có thể khai phá trên cơ sở dữ liệu dạng này thì các nhà nghiên cứu đề xuất một số phương pháp rời rạc hóa nhằm chuyển về dạng nhị phân đã biết
Luật kết hợp tiếp cận theo hướng tập thô (mining association rule base on rough set): Tìm kiếm luật kết hợp dựa trên lý thuyết tập thô
Luật kết hợp nhiều mức (multi-level association rule): Với cách tiếp cận này
thì luật sẽ có dạng kéo theo Ví dụ: mua máy tính mua các phần mềm hệ thống AND mua các phần mềm ứng dụng,…
Luật kết hợp mờ (fuzzy association rule): Không phải mọi trường hợp điều có
thể rời rạc hóa được nên các nhà nghiên cứu đã đưa ra luật kết hợp mờ nhằm khắc phục tình trạng khó rời rạc hóa và chuyển luật kết hợp về dạng gần gũi hơn
Luật kết hợp với thuộc tính được đánh trọng số (association rules with weighted items): Các thuộc tính của dữ liệu trong cơ sở dữ liệu thường mang tầm
quan trọng bằng nhau Vì vậy trong quá trình tìm kiếm luật người ta đánh trọng số của thuộc tính theo mức độ quan trọng của chúng Làm như thế có thể phát hiện được những luật “hiếm” (có độ hỗ trợ thấp nhưng mang nhiều ý nghĩa)
Khai thác luật kết hợp song song (parallel mining of association rule): Đối
với dữ liệu khổng lồ thì nhu cầu song song hóa và xử lý phân tán là cần thiết bởi vì làm như thế có thể cải thiện được tốc độ xử lý đáng kể
III TÌM SIÊU THAM SỐ (SEARCH HYPER PARAMETERS)
Việc tìm kiếm các siêu tham số, chúng ta thực hiện việc tìm kiếm này qua hai giai đoạn: tìm thô (Coarse Search) và tìm mịn (Granularity Search)
Bước 1: Tìm thô các giá trị tham số như ngưỡng độ hỗ trợ nhỏ nhất (minsup),
ngưỡng độ tin cậy nhỏ nhất (minconf), phạm vi lân cận (K) Do không gian tìm kiếm siêu tham số này khá lớn, nên việc tìm thô này chỉ tìm trên các đề xuất cơ sở dựa trên các thí nghiệm đã làm như sau:
minsupp {10% , 20% , 30% , 40%, 50%, 60%, 70%, 80%, 90%, 100%} minconf {10% , 20% , 30% , 40%, 50%, 60%, 70%, 80%, 90%, 100%}
Trang 30K = 5
Bước 2: Tìm mịn các giá trị tham số sau khi tìm được giá trị các tham số k,
minsupp, minconf tốt nhất Sau đó tìm lặp lại tìm lân cận của các giá trị tìm được
để tìm xem các giá trị lận cận của các tham số này có tốt hơn nữa hay không
Ví dụ như ta tìm được cặp minsupp – minconf tốt nhất là 50% - 30% Ta tiến
hành tìm mịn trên với minsupp (45% - 55%) và minconf (25% - 53%)
Quá trình này có thể lặp lại tùy thuộc vào tập dữ liệu chúng ta có được Trong
quá trình lặp thì k thay đổi cho phù hợp với khoảng tìm kiếm Ví dụ ở lần lặp thứ 2
ta tìm được minsupp {25%, 30%, 35%}, khi đó k có thể là 2.5
Trang 31CHƯƠNG 3: GIẢI THUẬT CHARM
I GIỚI THIỆU GIẢI THUẬT
Charm là thuật toán hiệu quả cho việc khai thác các tập thường xuyên đóng
Nó tìm ra những tập đóng bằng cách sử dụng kỹ thuật tìm kiếm trên không gian tìm kiếm là IT-Tree (Itemset-Tidset Search Tree) Nó sử dụng kỹ thuật tìm kiếm lai để bỏ qua một số mức trong cây trong quá trình tìm kiếm điều này mang lại hiệu quả cho thuật toán Tức là không cần phải duyệt qua tất cả các nút trong cây nhưng vẫn tìm ra các tập đóng một cách hiệu quả Ngoài ra charm còn sử dụng một kỹ thuật gọi là “diffsets” để làm giảm đáng kể bộ nhớ trong các tính toán trung gian Cuối cùng charm sử dụng một phương pháp tiếp cận dựa trên “hash-based” để loại bỏ sớm các tập không là tập đóng trong quá trình tính toán
Một số ý tưởng phát triển của charm:
Charm đồng thời khai thác cả không gian của tập phổ biến (itemset space) và không gian giao dịch (transaction space) trên cấu trúc IT-Tree
Nhờ sử dụng phương pháp tìm kiếm lai mà charm không cần duyệt qua tất cả các tập con nên charm xác định các tập thường xuyên đóng một cách nhanh chóng Charm sử dụng phương pháp tiếp cận dựa trên “hash-based” để loại bỏ sớm các tập không là tập đóng trong quá trình tính toán Charm cũng sử dụng cấu trúc định danh dọc gọi là “diffsets” để tính toán tần suất các mục nhanh chóng Diffsets theo dõi sự khác nhau về các giao dịch (Tids) của mẫu ứng cử viên từ mẫu tiền tố của nó Diffsets giúp cắt giảm mạnh nhu cầu bộ nhớ trong quá trình lưu kết quả của các tính toán trung gian Điều này làm cho công việc tìm các tập thường xuyên nằm hoàn toàn trong bộ nhớ chính mà không làm tràn bộ nhớ ngay cả đối với cơ
sở dữ liệu lớn Nó cũng phù hợp cho dữ liệu dày (dense datasets) cũng như thưa
thớt (sparse datasets)
II TÌM TẬP MỤC THƯỜNG XUYÊN
Các ký hiệu dùng trong thuật toán được trình bày trong bảng 3.1
Bảng 3.1 Các ký hiệu dùng trong thuật toán tìm tập mục thường xuyên
Ký hiệu Diễn giải
I Là tập hợp chứa các mục (items)
D Cơ sở dữ liệu giao tác
Tid Là định danh của mỗi giao tác trong CSDL và tid này là duy nhất
Trang 321 CÁC KHÁI NIỆM LIÊN QUAN
1.1 Cấu trúc IT-Tree (Itemset – Tidset Search Tree) và các lớp tương đương
Cho I là tập các item và X I Ta định nghĩa một hàm P(X, k)=X [1: k] gồm
k phần tử đầu của X và quan hệ tương đương dựa vào tiền tố như sau: ∀X , Y
I, X Y ⇔ p ( X , k ) = p (Y , k ) Nghĩa là hai itemset có cùng một lớp
tương đương khi và chỉ khi chúng có chung k phần tử đầu phổ biến
Mỗi nút trên IT-tree gồm hai thành phần: Itemset X và Tidset t(X) : là tập
các giao dịch có chứa X Cặp X x t(X) được gọi là IT-Pair
trong đó P là nút cha và mỗi l i là một mục dữ liệu đơn, đại diện cho nút
Plit(Pli) Mỗi lớp thành viên đại diện cho một con của nút cha Sức mạnh của lớp tương đương là nó chia không gian tìm kiếm ban đầu thành các vấn đề nhỏ độc lập Đối với mỗi nút gốc con của nút X, có thể xem nó như một vấn đề mới hoàn toàn, mỗi nút có thể sinh ra các mẫu dưới nó
1.2 Minh họa việc xây dựng IT-Tree
Bảng 3.2 Cơ sở dữ liệu minh họa
Trang 34Ta được IT-Tree gồm 2 lớp:
Hình 3.2 Lớp thứ 2 của IT-Tree
Lớp 3 là các nút con có itemset gồm 3 mục, được xây dựng bằng sự tổ hợp các itemset của các nút lớp thứ 2 (Chỉ tổ hợp các nút anh em với nhau) với Tidset được tính dựa trên Tidset của các nút lớp thứ 2 Và nút này cũng phải thỏa minsup:
ACT x t(ACT) = AC AT x t(AC) t(AT) = ACT x 135
Trang 35Lớp 4 là các nút con có itemset gồm 4 mục, được xây dựng bằng sự tổ hợp các itemset của các nút lớp thứ 3 (Chỉ tổ hợp các nút anh em với nhau) với Tidset được tính dựa trên Tidset của các nút lớp thứ 3 Và nút này cũng phải thỏa minsup:
ACTW x t(ACTW) = ACT ACW x t(ACT) t(ACW) = CTW x 135
IT-2 TÌM TẬP PHỔ BIẾN ĐÓNG TRÊN IT-TREE
2.1 Cách Charm tìm tập phổ biến đóng trên IT-Tree
Hàm Create_IT_Tree – Xây dựng cây IT-Tree
Input: Tập Gen - [ Gen ] = { i I | sup (i) ≥ minSup }
Output: IT-Tree cũng như tập phổ biến
1 function Create_IT_Tree([Gen])
2 {
3 Enumerate-Frequent([Gen]);
4 }
Trang 36Nếu lớp k không rỗng thì gọi đệ quy để tính lớp k+1
Nhận xét:
Thuật toán dựa vào phần giao giữa các Tidset để tính nhanh độ phổ biến nên chỉ cần quét CSDL một lần, tuy nhiên lại tốn không gian để lưu trữ Tidset Khi số tập phổ biến lớn thì thời gian khai thác luật và không gian lưu trữ tid sẽ
lớn Chúng ta có thể áp dụng khái niệm Diffset để tính nhanh độ phổ biến nhằm
làm giảm không gian lưu trữ Tidset
Khái niệm Diffset:
Diffset của X so với Y, ký hiệu d (X, Y) được định nghĩa:
Trang 37Hình 3.5 Diffset P(tiền tố) và các lớp thành viên X, Y
Từ các tính chất 1, 2 và 3 của diffset ta có thể thay thế tidset bởi diffset trong quá trình tạo IT-Tree Quá trình xây dựng IT-Tree dùng diffset như hình bên dưới:
Hình 3.6 IT-Tree dùng Diffset với minsup là 50%
Trang 39Ở bước thêm tập phổ biến vào IT-Tree thì Charm sử dụng hàm
CHARM_PROPERTY để kiểm tra xem tập phổ biến đó có khả năng là tập
đóng hay không dựa vào các nhận xét về IT-Pair ở trên Tiếp theo sử dụng hàm
SUBSUMPTION_CHECK để kiểm tra tính đóng của tập X dựa vào một bảng
băm (Hash_table) Mỗi tập đóng X được thêm vào bảng băm với key là
h(X)=∑ ( ) vậy key sẽ là tổng các tid có X xuất hiện trong giao tác