Nghiên cứu tiến hành theo 4 bước chính: 1 Tìm hiểu công tác liên quan đến công tác tuyển sinh của trường Cao đẳng; 2 Thu thập và tiền xử lý dữ liệu tuyển sinh và kết quả học tập của Sinh
Trang 1ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA
NGUYỄN HOÀNG HẢI
XÂY DỰNG HỆ HỖ TRỢ TƯ VẤN TUYỂN SINH TẠI TRƯỜNG CAO ĐẲNG CỘNG ĐỒNG VĨNH LONG
LUẬN VĂN THẠC SỸ KỸ THUẬT
Đà Nẵng, Năm 2017
Trang 2ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA
NGUYỄN HOÀNG HẢI
XÂY DỰNG HỆ HỖ TRỢ TƯ VẤN TUYỂN SINH TẠI TRƯỜNG CAO ĐẲNG CỘNG ĐỒNG VĨNH LONG
Chuyên ngành: Khoa học máy tính
Mã số: 60.48.01.01
LUẬN VĂN THẠC SỸ KỸ THUẬT
Người hướng dẫn khoa học: TS TRƯƠNG NGỌC CHÂU
Đà Nẵng, Năm 2017
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan đề tài khoa học “Xây dựng hệ hỗ trợ tư vấn tuyển sinh tại Trường Cao đẳng Cộng đồng Vĩnh Long” này là bài nghiên cứu của chính bản thân
tôi Ngoại trừ những tài liệu tham khảo được trích dẫn trong luận văn này, tôi cam đoan toàn phần hay từng phần nhỏ của luận văn này chưa từng công bố hay được sử dụng để nhận bằng cấp ở nơi khác, các số liệu và kết quả trong luận văn này là trung thực Tôi xin chịu trách nhiệm về luận văn của mình
Tác giả
Nguyễn Hoàng Hải
Trang 4TÓM TẮT LUÂN VĂN
XÂY DỰNG HỆ HỖ TRỢ TƯ VẤN TUYỂN SINH TẠI TRƯỜNG CAO
ĐẲNG CỘNG ĐỒNG VĨNH LONG
Tóm tắt:
Ngành giáo dục luôn là vấn đề sống còn của bất kỳ quốc gia nào trên thế giới Trong những năm gần đây, chính phủ Việt Nam đặc biệt đầu tư cho ngành mũi nhọn này thông qua các chính sách, nguồn vốn dành cho trang thiết bị, cơ sở hạ tầng và nghiên cứu khoa học Trong lĩnh vực nghiên cứu khoa học, càng ngày càng có nhiều công trình khoa học về giáo dục Với sự phát triển không ngừng của xã hội và việc ứng dụng công nghệ thông tin vào nhiều lĩnh vực là rất cần thiết Trong công tác tuyển sinh của trường có một hệ thống hỗ trợ tư vấn là rất cần thiết Chính vì vậy đề tài của tôi nghiên cứu về các qui chế tuyển sinh, khai phá dữ liệu với luật kết hợp và cây quyết định để xây dựng hệ thống tư vấn cho thí sinh mới tốt nghiệp trung học phổ thông, dự đoán kết quả học tập của thí sinh sau khi ra trường, dựa vào kết quả đầu vào và kết quả đầu ra của sinh viên đã học
Nghiên cứu tiến hành theo 4 bước chính: (1) Tìm hiểu công tác liên quan đến công tác tuyển sinh của trường Cao đẳng; (2) Thu thập và tiền xử lý dữ liệu tuyển sinh và kết quả học tập của Sinh viên; (3) Tìm hiểu về luật kết hợp và cây quyết định trong khai phá dữ liệu, lựa chọn thuật toán phù hợp với yêu cầu bài toán đặt ra
và dữ liệu thu thập được; (4) Thực nghiệm chương trình trên máy tính và đánh giá kết quả thực tiễn
Ngoài ra, đề tài cũng xây dựng mô hình hỗ trợ tư vấn kết quả học tập cho các ngành khác nhau nhằm hỗ trợ cho các thí sinh lựa chọn ngành phù hợp với năng lực của bản thân và có thể thay thế cho cách tư vẫn thủ công của trường
BUILDING SUPPORT SYSTEMS TO SUPPORT CONSULTANCY IN VINH
LONG COMMUNE COLLEGE
Abstract:
Education is always playing an important role of any countries all over the world In the recent years, Vietnamese Government has been investing especially for that one via policies and capital intended for equipment, infrastructures and scientific researches In the field of scientific research, there are more and more scientific research works for education
Society is always developing and the application of information technology on many fields that is essential On the admission of universities or colleges, an
Trang 5consultant supporting system is very important Therefore, my research object is about admission regulations, mining databases with combining rules and decision tree so that structuring consulting system for new graduates from high school, predicting study results for new graduate students, that is based on student’s income and outcome results
Research was implemented through four main steps: (1) comprehending any issues related to admission at the college; (2) collecting and pre-processing databases for admission and study results of students; (3) comprehending about combining rules and decision tree in databases mining , selecting appropriate
computer program and evaluating results on the real application
Moreover, research has also structured the model of consultant supporting for student results of different majors which aim to support candidates selecting their suitable major to abilities themselves and can replace for the college’s manual consulting
Trang 6MỤC LỤC
LỜI CAM ĐOAN i
TÓM TẮT LUÂN VĂN ii
MỤC LỤC iv
DANH MỤC TỪ VIẾT TẮT vii
DANH MỤC CÁC BẢNG viii
DANH MỤC CÁC HÌNH ix
MỞ ĐẦU 1
1 Lý do chọn đề tài 1
2 Mục tiêu và nội dung nghiên cứu 1
3 Đối tượng và phạm vi nghiên cứu 2
4 Phuơng pháp nghiên cứu 2
5 Ý nghĩa khoa học và thực tiễn của đề tài 3
6 Bố cục luận văn 3
CHƯƠNG 1 TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU 5
1.1 Khai phá dữ liệu 5
1.2 Một số định nghĩa mang tính mô tả về khai phá dữ liệu 5
1.3 Các bước trong quá trình phát hiện tri thức [2] 5
1.4 Mô hình khai phá dữ liệu 6
1.5 Các phương pháp khai phá dữ liệu 7
1.5.1 Các thành phần của giải thuật khai phá dữ liệu 7
1.5.2 Một số phương pháp khai thác dữ liệu phổ biến 8
1.5.2.1 Phương pháp quy nạp (Induction) 8
1.5.2.2 Cây quyết định và luật 8
1.5.2.3 Phát hiện các luật kết hợp 9
1.6 Các giai đoạn của quá trình khai phá dữ liệu [1]: 10
1.6.1 Tìm hiểu nghiệp vụ và dữ liệu 10
1.6.2 Chuẩn bị dữ liệu 10
1.6.3 Mô hình hóa dữ liệu 10
1.6.4 Hậu xử lý và đánh giá mô hình 10
1.6.5 Triển khai mô hình 10
1.7 Ứng dụng trong khai phá dữ liệu 11
1.8 Kết chương 1 12
Trang 7CHƯƠNG 2 CƠ SỞ LÝ THUYẾT VỀ LUẬT KẾT HỢP 13
2.1 Lý thuyết về luật và luật kết hợp 13
2.1.1 Luật kết hợp 13
2.1.2 Luật thừa 15
2.1.3 Một số tính chất của luật kết hợp[10] 16
2.1.4 Phát biểu bài toán khai phá luật kết hợp[11] 18
2.1.5 Một số dạng luật trong khai phá luật kết hợp 18
2.1.6 Các đặc trưng của luật kết hợp 20
2.1.6.1 Không gian tìm kiếm của luật 20
2.1.6.2 Độ hỗ trợ của luật 22
2.2 Một số giải thuật cơ bản khai phá các tập mục phổ biến 23
2.2.1 Phân loại các giải thuật 23
2.2.2 Kỹ thuật BFS với thuật toán Apriori 23
2.3 Cây quyết định 31
2.3.1 Định nghĩa 31
2.3.2 Giới thiệu cây quyết định 31
2.3.3 Các kiểu cây quyết định 32
2.3.4 Cấu trúc cây quyết định 32
2.3.5 Sử dụng cây quyết định trong dự đoán lớp các dữ liệu chưa biết 33
2.3.6 Đánh giá cây quyết định trong lĩnh vực khai phá dữ liệu: 35
2.3.7 Các thuật toán của cây quyết định: 35
2.3.8 Đánh giá hiệu quả phân lớp 35
2.4 Thuật toán C4.5 xây dựng cây quyết định 37
2.4.1 Tổng quan 37
2.4.2 Mã giả của thuật toán C4.5 38
2.2.3 Thuật toán C4.5 dùng Gain-entropy 39
2.5 Kết chương 2 41
CHƯƠNG 3 XÂY DỰNG HỆ HỖ TRỢ TƯ VẤN TUYỂN SINH 42
3.1 Giới thiệu về trường CĐCĐ Vĩnh Long 42
3.2 Giới thiệu về công cụ khai phá dữ liệu 44
3.3 Mô hình và bài toán xậy dựng hệ hỗ trợ tư vấn tuyển sinh 45
3.3.1 Mô hình 45
3.3.2 Giới thiệu bài toán 46
3.4 Phân tích và thiết kế hệ thống 46
3.4.1 Biểu đồ ca sử dụng 46
Trang 83.4.2 Biểu đồ tương tác 47
3.4.3 Biểu đồ lớp 48
3.4.4 Biểu đồ tuần tự 48
3.4.5 Biểu đồ trạng thái 49
3.5 Xây dựng cơ sở dữ liệu 49
3.6 Mô tả việc tổng hợp dữ liệu cho bài toán 50
3.7 Chuẩn hóa dữ liệu đầu vào cho thuật toán 52
3.7.1 Lọc thuộc tính (Filtering Attributes) 53
3.7.2 Rời rạc hóa dữ liệu (Discretization) 54
3.8 Phân tích cơ sở dữ liệu dữ 56
3.8.1 Tìm hiểu và chuẩn bị dữ liệu 56
3.8.2 Mô hình hóa dữ liệu 57
3.8.3 Đánh giá mô hình 57
3.9 Khai phá dữ liệu rút ra tri thức 59
3.10 Kết chương 3 63
CHƯƠNG 4 TRIỂN KHAI HỆ THỐNG VÀ ĐÁNH GIÁ KẾT QUẢ 64
4.1 Biểu đồ triển khai hệ thống 64
4.2 Triển khai chương trình 64
4.2.1 Cài đặt chương trình 64
4.2.2 Hướng dẫn sử dụng 64
4.3 Hình ảnh trích ra từ chương trình demo 65
4.3.1 Giao diện cài đặt chương trình 65
4.3.2 Giao diện trước khi chọn ngành 66
4.3.3 Giao diện sau khi chọn ngành 66
4.4 Đánh giá kết quả 68
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 69
DANH MỤC TÀI LIỆU THAM KHẢO 70 PHỤ LỤC
QUYẾT ĐỊNH GIAO ĐỀ TÀI
BẢN SAO KẾT LUẬN CỦA HỘI ĐỒNG, BẢN SAO NHẬN XÉT CỦA CÁC PHẢN BIỆN
Trang 10DANH MỤC CÁC BẢNG
Số hiệu
Trang 11DANH MỤC CÁC HÌNH
Số hiệu
2.2
Biểu diễn thông tin tìm kiếm dạng lới cho tập I =
2.5
Mô hình cây quyết định trong phân lớp dữ liệu về thời tiết
Trang 12Số hiệu
Trang 13MỞ ĐẦU
1 Lý do chọn đề tài
Trải qua rất nhiều năm, phương thức tuyển sinh và đào tạo theo kiểu truyền thống cho thấy sự đóng góp rất lớn trong việc định hướng và phát triển của trường Cùng với xu hướng phát triển của công nghệ thông tin và các phương tiện truyền thông, việc ứng dụng công nghệ thông tin vào công tác quản lý hiện đang là một nhu cầu cấp thiết nhằm tiết kiệm công sức và thời gian, nâng cao chất lượng đào tạo của trường Theo đó là việc áp dụng nhiều cách thức tuyển sinh và đào tạo mới, cũng như liên kết đào tạo với các trường đại học và cao đẳng trong và ngoài nước đòi hỏi công tác quản
lý phải thường xuyên có sự thay đổi, như quản lý đào tạo, quản lý tuyển sinh, quản lý điểm Đặc biệt, công tác tuyển sinh đã và đang là một vấn đề cấp thiết đến việc tồn tại và phát triển của các trường Đại học - Cao đẳng
Với thực trạng trong những năm gần đây công tác tuyển sinh của một số trường Đại học - Cao đẳng trong cả nước điều gặp nhiều khó khăn đặc biệt là các trường ở tốp dưới, Trường Cao đẳng Cộng đồng Vĩnh Long là một trong số đó Có rất nhiều phương pháp đặt ra để giải quyết khó khăn trong công tác tư vấn tuyển sinh nhưng hiệu quả chưa cao
Hơn nữa với sự phát triển của xã hội như hiện nay, trong quá trình hoạt động, con người tạo ra nhiều dữ liệu nghiệp vụ Các tập dữ liệu được tích lũy có kích thước ngày càng lớn và có thể chứa nhiều thông tin ẩn dạng những quy luật chưa được khám phá Chính vì vậy, một nhu cầu đặt ra là tìm cách trích rút từ tập dữ liệu đó với các luật về phân lớp dữ liệu hay dự đoán những xu hướng dữ liệu tương lai Những quy tắc nghiệp vụ thông minh được tạo ra sẽ phục vụ đắc lực cho các hoạt động thực tiễn, cũng như phục vụ đắc lực cho quá trình nghiên cứu khoa học Công nghệ phân lớp và
dự đoán dữ liệu ra đời để đáp ứng mong muốn đó
Việc hỗ trợ tư vấn chọn ngành phù hợp với năng lực và nhu cầu của học sinh là rất cần thiết giúp cho các em định hướng được tương lai của mình Nhận thấy được
những thực trạng như trên, tôi quyết định chọn đề tài: "Xây dựng hệ hỗ trợ tư vấn tuyển sinh tại Trường Cao đẳng Cộng đồng Vĩnh Long", với mục đích áp dụng
công nghệ thông tin, giảm tải chi phí và tiết kiệm thời gian trong công tác tuyển sinh
nhằm nâng cao hiệu quả trong đào tạo và phát triển của trường
Đề tài nghiên cứu về công cụ khai phá dữ liệu, các luật kết hợp và thuật toán cây quyết định trong việc khai phá dữ liệu để xây dựng hệ hỗ trợ tư vấn tuyển sinh Tôi hy vọng đề tài sẽ đáp ứng được nhu cầu thực tế cấp thiết của trường
2 Mục tiêu và nội dung nghiên cứu
2.1 Mục tiêu của đề tài
Trang 14Mục tiêu chung: xây dựng hệ hỗ trợ tư vấn tuyển sinh của các trường theo mô hình Cao đẳng Cộng đồng
2.2 Nội dung nghiên cứu
- Quy trình tuyển sinh
- Tổng quan về khai phá dữ liệu, tập dữ liệu mẫu, luật kết hợp và cây quyết định
3 Đối tượng và phạm vi nghiên cứu
3.1 Đối tượng nghiên cứu của đề tài gồm
+ Học sinh và Sinh viên: họ và tên, giới tính, ngày sinh, địa chỉ, điểm từng môn, điểm trung bình học kì, điểm trung bình năm, điểm tốt nghiệp trung học phổ thông, điểm tốt nghiệp Cao đẳng
+ Quy trình tuyển sinh và quy chế xét tuyển: hồ sơ xét tuyển, đợt xét tuyển, năng khiếu để xét tuyển…
+ Kỹ thuật khai phá dữ liệu cụ thể là luật kết hợp và cây quyết định
3.2 Phạm vi nghiên cứu
+ Kỹ thuật phân lớp: cây quyết định và luật kết hợp
+ Công cụ khai phá dữ liệu, SQL server và ngôn ngữ lập trình ASP.NET
+ Công tác tư vấn tuyển sinh Trường Cao đẳng Cộng đồng Vĩnh Long
Đề tài thuộc loại hình nghiên cứu ứng dụng, phạm vi áp dụng của đề tài triển khai tại trường Cao đẳng Cộng đồng Vĩnh Long tỉnh Vĩnh Long
4 Phuơng pháp nghiên cứu
4.1 Nghiên cứu lý thuyết
- Thu thập và nghiên cứu các tài liệu liên quan đến đề tài
- Nghiên cứu thực trạng tuyển sinh tại trường Cao đẳng Cộng đồng Vĩnh Long, tìm hiểu nhu cầu thực tế của người học và nhu cầu việc làm ngoài xã hội
4.2 Nghiên cứu thực nghiệm
Trang 15- Tiến hành xây dựng các giải pháp và xây dựng ứng dụng đánh giá
- Phân tích thiết kế cơ sở dữ liệu tuyển sinh và kết quả học tập của Sinh viên từ
đó so sánh và dự đoán kết quả học tập của từng ngành, xây dựng hệ thống chương trình ứng dụng, triển khai xây dựng chương trình ứng dụng, kiểm tra, thử nghiệm và đánh giá kết quả
5 Ý nghĩa khoa học và thực tiễn của đề tài
5.1 Ý nghĩa khoa học
- Tìm hiểu luật kết hợp và cây quyết định trong khai phá dữ liệu
- Đề tài xây dưng ra một hệ thống tư vấn hỗ trợ tư vấn tuyển sinh của trường
Chương 1: Tổng quan về khai phá dữ liệu và phát hiện tri thức
Chương này đề cập đến các giai đoạn của quy trình phát hiện tri thức, các vấn
đề chính của khai phá dữ liệu, các phương pháp, các nhiệm vụ trong khai phá dữ liệu
Chương 2: Cơ sở lý thuyết về luật kết hợp và cây quyết định
Chương này trình bày một số vấn đề chính của khai phá luật kết hợp: lý thuyết luật kết hợp, bài toán khai phá và phát hiện luật kết hợp, các phương pháp phát hiện luật kết hợp, một số thuật toán điển hình giải quyết vấn đề, phân tích độ phức tạp của bài toán
Chương 3: Xây dựng hệ hỗ trợ tư vấn tuyển sinh
Nội dung của chương là áp dụng kỹ thuật khai phá luật kết hợp và cây quyết định vào trong đào tạo của trường Cao đẳng Cộng đồng Vĩnh Long Ứng dụng này nhằm đưa ra dự báo hỗ trợ cho công tác tuyển sinh và đào tạo của trường
Chương 4: Triển khai hệ thống và đánh giá kết quả
Nội dung chương 4 tập trung phân tích yêu cầu của hệ thống, xác định các chức năng chính, xây dựng sơ đồ các hoạt động chính của ứng dụng, tiến hành cài đặt ứng dụng, thực nghiệm và đánh giá kết quả
Trang 16Phần phụ lục đưa ra một số modul của chương trình ứng dụng Cuối cùng là kết luận lại những kết quả đạt được của đề tài và hướng phát triển trong tương lai
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
TÀI LIỆU THAM KHẢO
QUYẾT ĐỊNH GIAO ĐỀ TÀI LUẬN VĂN
PHỤ LỤC
Trang 17CHƯƠNG 1 TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU
VÀ PHÁT HIỆN TRI THỨC
1.1 Khai phá dữ liệu
KPDL thu hút sự chú ý của nền công nghiệp thông tin và xã hội trong những năm gần đây Với sự phát triển của công nghệ thông tin, dữ liệu lưu trữ mỗi ngày trở thành một cơ sở dữ liệu rất lớn Dựa vào khối lượng dữ liệu này, ta dùng những kỹ thuật KPDL để chuyển dữ liệu đó thành những thông tin có ích hoặc rút ra những tri thức mới từ dữ liệu thu thập được[9] Quá trình này kết xuất ra các tri thức tiềm ẩn từ dữ liệu giúp cho việc dự báo trong kinh doanh, các hoạt động sản xuất, Khai phá dữ liệu làm giảm chi phí về thời gian so với phương pháp truyền thống trước kia (ví dụ như phương pháp thống kê)
1.2 Một số định nghĩa mang tính mô tả về khai phá dữ liệu
Định nghĩa của Ferruzza: “Khai phá dữ liệu là tập hợp các phương pháp được
dùng trong tiến trình khám phá tri thức để chỉ ra sự khác biệt các mối quan hệ và các mẫu chưa biết bên trong dữ liệu”
Định nghĩa của Parsaye: “Khai phá dữ liệu là quá trình trợ giúp quyết định, trong
đó chúng ta tìm kiếm các mẫu thông tin chưa biết và bất ngờ trong CSDL lớn”
Định nghĩa của Fayyad: “Khai phá tri thức là một quá trình không tầm thường
nhận ra những mẫu dữ liệu có giá trị, mới, hữu ích, tiềm năng và có thể hiểu được”
1.3 Các bước trong quá trình phát hiện tri thức [2]
Phát hiện tri thức bao gồm nhiều giai đoạn được lặp đi lặp lại nhiều lần mà không cần phân biệt từng bước trong quá trình thực hiện
Giai đoạn 1: Hình thành, xác định và định nghĩa bài toán Là việc tìm hiểu lĩnh vực ứng dụng từ đó hình thành bài toán, xác định các nhiệm vụ cần phải hoàn thành Bước này sẽ quyết định cho việc rút ra được các tri thức hữu ích và cho phép chọn các phương pháp khai phá dữ liệu thích hợp với mục đích ứng dụng cùng với bản chất của dữ liệu
Giai đoạn 2: Thu thập và tiền xử lý (xử lý thô) Bước này còn được gọi là tiền xử
lý dữ liệu nhằm loại bỏ nhiễu (dữ liệu dư thừa), làm sạch dữ liệu, xử lý và khắc phục vấn đề thiếu hoặc thừa dữ liệu, biến đổi dữ liệu và rút gọn dữ liệu nếu cần thiết Bước này thường chiếm nhiều thời gian nhất (bước quan trọng) trong toàn bộ quy trình phát hiện tri thức
Giai đoạn 3: Biến đổi dữ liệu, chọn lựa một số phương pháp Phân loại (Classification), hồi quy (Regression), phân nhóm (Clustering), quy nạp, tổng hợp kết quả (Summarization)
Trang 18Hình 1.1 Các bước trong quá trình phát hiện tri thức.
Giai đoạn 4: Khai phá dữ liệu, hay nói cách khác là trích chọn, chiết xuất ra các mẫu hay các mô hình tiềm ẩn dưới các dữ liệu có ý nghĩa, hiểu được 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 khai phá
dữ liệu, dùng phương pháp khai phá nào là thích hợp?
Giai đoạn 5: Giải thích kết quả và đánh giá các mẫu hay mô hình Các mẫu và mô hình này là kết quả của giai đoạn 3 trong quy trình Đây là công đoạn không thể thiếu trong quá trình khai phá tri thức
Giai đoạn 6: Hiểu và sử dụng tri thức đã tìm được, đặc biệt là làm sáng tỏ các mô
tả và dự đoán Các bước trên có thể lặp đi lặp lại một số lần, kết quả thu được có thể được lấy trên tất cả các lần thực hiện
Tóm lại: Quá trình phát hiện tri thức từ trong kho dữ liệu (KDD – Knowledge Discovery Database) là quá trình chiết xuất ra tri thức từ kho dữ liệu mà trong đó khai phá dữ liệu là công đoạn quan trọng nhất
1.4 Mô hình khai phá dữ liệu
Mô hình khai phá dữ liệu là một mô tả về một khía cạnh cụ thể của một tập dữ liệu Nó tạo ra các giá trị đầu ra cho tập các giá trị đầu vào
Ví dụ: Mô hình hồi qui tuyến tính, mô hình phân lớp, mô hình phân nhóm
Một mô hình khai phá dữ liệu có thể được mô tả 2 mức:
Trang 19- Mức chức năng (Function level): Mơ tả mơ hình bằng những thuật ngữ về dự định sử dụng Ví dụ: phân lớp, phân nhĩm
- Mức biểu diễn (representation level): Biểu diễn cụ thể một mơ hình
Ví dụ: Mơ hình log-linear, cây phân lớp, phương pháp láng giềng gần nhất Các
mơ hình khai phá dữ liệu dựa trên 2 kiểu học: Cĩ giám sát và khơng giám sát (đơi khi được nĩi đến như là học trực tiếp và khơng trực tiếp – directed and undirected learning)
Các hàm học cĩ giám sát (Supervised learning functions) được sử dụng để dự đốn giá trị Các hàm học khơng giám sát được dùng để tìm ra cấu trúc bên trong, các quan hệ hoặc tính giống nhau trong nội dung dữ liệu nhưng khơng cĩ lớp hay nhãn nào được gán ưu tiên Ví dụ của các thuật tốn học khơng giám sát gồm phân nhĩm k-mean (k-mean clustering) và các luật kết hợp Apriori Một ví dụ của thuật tốn học cĩ giám sát bao gồm Nạve Bayes cho phân lớp (classification)
Tương ứng cĩ 2 loại mơ hình khai phá dữ liệu:
- Các mơ hình dự báo (học cĩ giám sát):
+ Phân lớp: Nhĩm các mục thành các lớp riêng biệt và dự đốn một mục sẽ thuộc vào lớp nào
+ Hồi qui (Regression): Xấp xỉ hàm và dự báo các giá trị liên tục
+ Độ quan trọng của thuộc tính: Xác định các thuộc tính là quan trọng nhất trong các kết quả dự báo
- Các mơ hình mơ tả (học khơng giám sát):
+ Phấn nhĩm (Clusterning): Tìm các nhĩm tự nhiên trong dữ liệu
+ Các mơ hình luật kết hợp (Association models): Phân tích “giỏ hàng” + Trích chọn đặc trưng (Feature extraction): Tạo các thuộc tính (đặc trưng) mới như là kết hợp của các thuộc tính ban đầu
1.5 Các phương pháp khai phá dữ liệu
Quá trình khai phá dữ liệu là quá trình phát hiện mẫu, trong đĩ, giải thuật khai phá
dữ liệu tìm kiếm các mẫu đáng quan tâm theo dạng xác định như các luật, cây phân lớp, hồi quy, gom nhĩm,
1.5.1 Các thành phần của giải thuật khai phá dữ liệu
Giải thuật khai phá dữ liệu bao gồm 3 thành phần chính như sau: biểu diễn mơ hình, đánh giá mơ hình, tìm kiếm mơ hình
• Biểu diễn mơ hình: Mơ hình được biểu diễn bằng một ngơn ngữ L để mơ tả
các mẫu cĩ thể khai thác được Tức là người phân tích dữ liệu cần phải hiểu đầy đủ các giả thiết mơ tả và cần phải diễn tả được các giả thiết mơ tả nào được tạo ra bởi giải thuật Mơ hình đĩ sẽ được đánh giá bằng cách đưa các dữ liệu thử vào mơ hình và thay đổi lại các tham số cho phù hợp nếu cần
Trang 20• Đánh giá mô hình: Đánh giá xem một mẫu có đáp ứng được các tiêu chuẩn
của quá trình phát hiện tri thức hay không Việc đánh giá độ chính xác dự đoán dựa trên đánh giá chéo (Cross Validation) Đánh giá chất lượng mô tả liên quan đến độ chính xác dự đoán, độ mới, khả năng sử dụng, khả năng hiểu được của mô hình Cả hai chuẩn thống kê và chuẩn logic đều có thể được sử dụng để đánh giá mô hình
• Phương pháp tìm kiếm: Phương pháp tìm kiếm bao gồm hai thành phần: tìm
kiếm tham số và tìm kiếm mô hình
- Tìm kiếm tham số: Để tối ưu hóa các tiêu chuẩn đánh giá mô hình với các
dữ liệu quan sát được và với một mô tả mô hình đã định
- Tìm kiếm mô hình: Xảy ra giống như một vòng lặp qua phương pháp tìm kiếm tham số: Mô tả mô hình bị thay đổi tạo nên một họ các mô hình
= > Với mỗi một mô tả mô hình, phương pháp tìm kiếm tham số được áp dụng để đánh giá chất lượng mô hình Các phương pháp tìm kiếm mô hình thường sử dụng các kỹ thuật tìm kiếm heuristic vì kích thước của không gian các mô hình có thể thường ngăn cản các tìm kiếm tổng thể, hơn nữa các giải pháp đơn giản không dễ đạt được
1.5.2 Một số phương pháp khai thác dữ liệu phổ biến
1.5.2.1 Phương pháp quy nạp (Induction)
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.5.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á
Trang 21• 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
1.5.2.3 Phát hiện các luật kết hợp
Phương pháp này nhằm phát hiện ra các luật kết hợp giữa các thành phần dữ liệu trong cơ sở dữ liệu Mẫu đầu ra của giải thuật khai phá dữ liệu là tập luật kết hợp tìm được Ta có thể lấy một ví dụ đơn giản về luật kết hợp như sau: sự kết hợp giữa hai thành phần A và B có nghĩa là sự xuất hiện của A trong bản ghi kéo theo sự xuất hiện của B trong cùng bản ghi đó: A = > B
Việc phát triển một thuật toán phải phát hiện luật này trong cơ sở dữ liệu lớn
là không khó Tuy nhiên, vấn đề là ở chỗ có thể có rất nhiều luật kiểu này hoặc là ta chỉ biết một tập nhỏ dữ liệu trong cơ sở dữ liệu lớn thoả mãn tiền đề của luật Ví dụ chỉ có số ít người mua sách tiếng anh mà mua thêm đĩa CD Số lượng các luật kết hợp trong một số cơ sở dữ liệu lớn gần như vô hạn Do vậy thuật toán sẽ không thể phát hiện hết các luật và không phân biệt được luật nào là thông tin thực sự có giá trị và thú
Tuy nhiên giá trị hỗ trợ là không đủ Có thể có trường hợp ta có một nhóm tương đối những người đọc cả ba loại sách trên nhưng lại có một nhóm với lượng lớn hơn những người thích sách thể thao, âm nhạc, ngoại ngữ mà không thích mua đĩa
CD Trong trường hợp này tính kết hợp rất yếu mặc dù độ hỗ trợ tương đối cao Như vậy chúng ta cần thêm một độ đo thứ hai đó là độ tin cây (confidence) Độ tin cậy là phần trăm các bản ghi có đĩa CD trong số các bản ghi có sách âm nhạc, thể thao,…
Nhiệm vụ của việc phát hiện các luật kết hợp là phải tìm tất cả các luật dạng X
=> B sao cho tần số của luật không nhỏ hơn ngưỡng Minsup cho trước và độ tin cậy của luật không nhỏ hơn ngưỡng Minconfi cho trước Từ một cơ sở dữ liệu ta có thể tìm được hàng nghìn và thậm chí hàng trăm nghìn các luật kết hợp
Trang 221.6 Các giai đoạn của quá trình khai phá dữ liệu [1]:
1.6.1 Tìm hiểu nghiệp vụ và dữ liệu
Giai đoạn này ta cần xác định vấn đề cần giải quyết, tìm hiểu kiến thức về bài toán đang thực hiện bao gồm các tri thức của các chuyên gia trong lĩnh vực cần nghiên cứu từ đó xác định chính xác nguồn dữ liệu để thu thập đồng thời phải hiểu được cấu trúc dữ liệu, ý nghĩa và tầm quan trọng của nó để từ đó ta đưa ra bài toán cụ thể để giải quyết vấn đề
+ Khử sự trùng lắp dữ liệu: Loại bỏ những dữ liệu bị trùng
+ Giảm nhiễu dữ liệu: Các dữ liệu bị nhiễu sẽ được điều chỉnh hoặc loại ra khỏi cơ sở dữ liệu
+ Rời rạc hóa dữ liệu: Các dữ liệu số sẽ được rời rạc hóa ra dạng phù hợp cho khai phá dữ liệu
+ Giảm chiều: Loại bớt các thuộc tính chứa ít thông tin để tiết kiệm thời gian và tài nguyên của máy tính
1.6.3 Mô hình hóa dữ liệu
Dùng các giải thuật của KPDL để tìm ra các qui luật của dữ liệu, quan trọng nhất trong giai đoạn này là tìm được giải thuật phù hợp để giải quyết vấn đề đã đặt ra
1.6.4 Hậu xử lý và đánh giá mô hình
Đây là giai đoạn biến đổi từ những luật rút ra được (của giai đoạn trước) từ tập huấn luyện sang dạng phù hợp với nghiệp vụ của bài toán đang nghiên cứu Đồng thời cũng sẽ là giai đoạn đánh giá của các chuyên gia tư vấn dựa trên tập dữ liệu thử Dựa vào nhận xét và hỗ trợ của các chuyên gia khi đó sẽ điều chỉnh kịp thời các mô hình của các giai đoạn trước Các mô hình đạt yêu cầu với các chuyên gia sẽ được sử dụng
1.6.5 Triển khai mô hình
Các mô hình đạt yêu cầu sẽ được xây dựng thành chương trình ứng dụng thực
tế nhằm hỗ trợ đưa ra quyết định theo yêu cầu của người dùng
Trang 231.7 Ứng dụng trong 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 So với các phương pháp này, khai phá dữ liệu có một số ưu thế rõ rệt
So với phương pháp học máy, khai phá dữ liệu có lợi thế hơn ở chỗ, khai phá
dữ liệu có thể sử dụng với các CSDL chứa nhiều nhiễu, dữ liệu không đầy đủ hoặc biến đổi liên tục Trong khi đó phương pháp học máy chủ yếu được áp dụng trong các CSDL đầy đủ, ít biến động và tập dữ liệu không qua lớn
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
Các phương pháp thống kê chuẩn không phù hợp với các kiểu dữ liệu có cấu trúc trong rất nhiều CSDL
Các phương pháp thống kê hoạt động hoàn toàn theo dữ liệu, nó không sử dụng tri thức có sẵn về lĩnh vực
Kết quả phân tích của hệ thống sẽ rất nhiều và khó có thể làm rõ ra được Phương pháp thống kê cần có sự hướng dẫn của người dùng để xác định phân tích dữ liệu như thế nào và ở đâu
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
Một số ứng dụng của khai phá dữ liệu trong lĩnh vực kinh doanh:
- Brandaid: Mô hình Marketing linh hoạt tập chung vào hàng tiêu dùng
- Callpla: Giúp nhân viên bán hàng xác định số lần viếng thăm của khách hàng triển vọng và khách hàng hiện có
- Detailer: Xác định khách hàng nào nên viếng thăm và sản phẩm nào nên giới thiệu trong từng chuyến viếng thăm
- Geoline: Mô hình thiết kế địa bàn tiêu thụ và dịch vụ
Trang 24- Mediac: Giúp người quảng cáo mua phương tiện trong một năm, lập kế hoạch sử dụng phương tiện bao gồm phác hoạ khúc thị trường, ước tính tiềm năng
1.8 Kết chương 1
Chương 1 trình bày các nội dung chính như sau:
Một số khái niệm, các bước, mô hình, các phương pháp, các giai đoạn và ứng dụng trong khai phá dữ liệu
Chương tiếp theo sẽ trình bày tổng quan về luật kết hợp và cây quyết định
và thuật toán xây dựng cây quyết định
Trang 25CHƯƠNG 2
CƠ SỞ LÝ THUYẾT VỀ LUẬT KẾT HỢP
VÀ CÂY QUYẾT ĐỊNH
2.1 Lý thuyết về luật và luật kết hợp
2.1.1 Luật kết hợp
các thuộc tính (attribute) Các phần tử trong I là phân biệt nhau X I được gọi là tập mục Nếu lực lượng của X bằng k (tức là |X| = k) thì X được gọi là k-itemset
Một giao dịch (transaction) T được định nghĩa như một tập con (subset) của
các khoản mục trong I (T I) Tương tự như khái niệm tập hợp, các giao dịch không
được trùng lặp, nhưng có thể nới rộng tính chất này của tập hợp và trong các thuật toán sau này, người ta giả thiết rằng các khoản mục trong một giao dịch và trong tất
cả các tập mục (itemset) khác, có thể coi chúng đã được sắp xếp theo thứ tự từ điển của các item
Gọi D là CSDL của n giao dịch và mỗi giao dịch được đánh nhãn với một định danh duy nhất (Unique Transasction IDentifier-TID) Nói rằng, một giao dịch T
D hỗ trợ (support) cho một tập X I nếu nó chứa tất cả các item của X, nghĩa là X
T, trong một số trường hợp người ta dùng ký hiệu T(X) để chỉ tập các giao dịch hỗ
trợ cho X Kí hiệu support(X) (hoặc sup(X), s(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à:
Ví dụ về cơ sở dữ liệu D (dạng giao dịch): I = {A, B, C, D, E}, T = {1, 2, 3,
4, 5, 6} Thông tin về các giao dịch cho ở bảng sau:
Bảng 2.1 Ví dụ về một cơ sở dữ liệu dạng giao dịch – D
Trang 26Tập mục phổ biến (frequent itemset): Độ hỗ trợ tối thiểu minsup ( 0, 1] là
một giá trị cho trước bởi người sử dụng Nếu tập mục X I có sup(X) minsup thì ta nói X là một tập phổ biến Một tập phổ biến được sử dụng như một tập đáng quan tâm
trong các thuật toán, ngược lại, những tập không phải tập phổ biến là những tập không đáng quan tâm Trong các trình bày sau này, ta sẽ sử dụng những cụm từ khác
như “X có độ hỗ trợ tối thiểu”, hay “X không có độ hỗ trợ tối thiểu” cũng để nói lên rằng X thỏa mãn hay không thỏa mãn sup(X) minsup
Ví dụ: Với cơ sở dữ liệu D cho ở bảng 1, và giá trị ngưỡng minsup = 50% sẽ
liệt kê tất cả các tập mục thường xuyên / tập mục phổ biến (frequent itemset / large itemset) như sau :
Bảng 2.2 Các tập phổ biến trong CSDL ở bảng 1 với độ hỗ trợ tối thiểu 50%
Một số tính chất (TC) liên quan đến các tập phổ biến:
TC 1 Độ hỗ trợ cho tất cả các tập con: nếu A B, A thì sup(A) sup(B) vì tất
cả các giao dịch của D độ hỗ trợ B thì cũng độ hỗ trợ A.
TC 2 Nếu một tập mục A không có độ hỗ trợ tối thiểu trên D nghĩa là sup(A)
Định nghĩa luật kết hợp: Một luật kết hợp có dạng R: X Y, trong đó X, Y là
các tập mục, X, Y I và X Y = X gọi là tiên đề và Y gọi là hệ quả của luật
Một số nhận xét :
năng mà tập giao dịch hỗ trợ cho các thuộc tính có có trong cả X lẫn Y, nghĩa là:
định nghĩa là khả năng giao dịch T hỗ trợ X thì cũng hỗ trợ Y Nói cách khác C biểu thị số phần trăm giao dịch có chứa luôn Y trong số những giao dịch có chứa X
Trang 27Ta có công thức tính conf C như sau:
sup 𝑝(𝑋 ∪ 𝑌)
mục phổ biến trên D và khi xét một luật có thoả hay không thì cả độ hỗ trợ và độ tin cậy của nó đều phải quan tâm, vì một luật có thể có độ tin cậy = 100% > độ tin cậy tối
thiểu nhưng có thể là nó không đạt độ hỗ trợ tối thiểu
Khi khai phá các luật kết hợp, có 2 vấn đề chính cần phải giải quyết:
Thứ nhất, đó là độ phức tạp của giải thuật Số lượng luật tăng theo cấp độ luỹ thừa cùng với số lượng các mục Tuy nhiên, các giải thuật hiện nay có thể giảm bớt không gian tìm kiếm dựa trên các ngưỡng tối thiểu để đánh giá độ hiệu quả của luật
Thứ hai, các luật tốt (tối ưu) phải được lấy ra từ tập hợp các luật tìm được Điều này rất khó bởi vì tập hợp các luật tìm được là rất lớn, trong đó số lượng các luật có thể dùng được lại chiếm tỷ lệ vô cùng nhỏ Các nghiên cứu liên quan đến vấn đề thứ hai hầu hết chú trọng vào việc giúp người dùng duyệt tập luật cũng như việc phát triển các độ đo chất lượng của luật
2.1.2 Luật thừa
a Định nghĩa:
Luật r được gọi là luật thừa nếu với các luật còn lại thuộc tập R{r} nếu chúng
(X) R-{r} : tập các mệnh đề suy ra từ X bằng các luật thuộc R-{r}; luật r: X Y thuộc R
Trang 28Trong các luật trên, ta thấy luật R4: A D là thừa bởi vì: Từ R1, R2, R3, ta có: A B C D
Bước 1: Ket qua:= X
Bước 2: Với mọi r thuộc R, nếu vế trái r thuộc kết quả thì
Bước 3: Lặp lại bước 2 cho đến khi nào Ketqua không thay đổi
b Thuật toán loại bỏ luật thừa:
Ý tưởng thuật toán gồm các bước sau:
Bước 1: R = R {r}, từ định nghĩa của luật thừa trên, chúng ta có thuật toán
trên tập luật R
Nếu đúng: thì luật r là thừa đối với tập R Ngược lại: thì luật r không thừa đối với tập R
Giải thuật chính loại bỏ luật thừa:
Bước 1: Xét luật r trong tập luật R, kiểm tra r có thừa đối với tập R - {r}
hay không?
Bước 2 : Nếu thừa thì R= R {r}; lặp lại bước 1 với luật khác
Bước 3: Lặp lại cho đến khi không còn bỏ luật nào nữa
2.1.3 Một số tính chất của luật kết hợp[10]
luôn khác rỗng và X Y vì nếu không thì:
Ta có các tính chất sau :
1) Luật kết hợp không có hợp thành
Để ý đến trường hợp X Y = và các giao dịch trên D hỗ trợ Z nếu và chỉ
Trang 292) Luật kết hợp không có tính tách
Chẳng hạn xét trường hợp Z có mặt trong giao tác chỉ khi cả tập X và Y cũng
luật riêng biệt sẽ không đủ độ hỗ trợ
Để giải thích cho tính chất này ta phân tích ví dụ sau:
Hình 2.1 Minh họa luật kết hợp không có tính tách
Khi Z thể hiện trong một giao dịch chỉ nếu cả X và Y đều thể hiện giao dịch
có thể suy ra X => Y và X => Z cũng thỏa mãn trên D vì sup(XY) sup(XYZ) và sup (XZ) sup(XYZ)
3) Các luật kết hợp không có tính bắt cầu
các giao dịch chứa X, Y, Z và độ tin cậy tối thiểu là minconf
< minconf (không đúng) và 0 < minconf <=1; luật X Z không có độ tin cậy tối thiểu <=> conf(X => Z) < minconf
nghĩa của độ tin cậy, ta có :
Trang 302.1.4 Phát biểu bài toán khai phá luật kết hợp[11]
Bài toán khai phá luật kết hợp: Cho tập mục I, CSDL giao tác D, ngưỡng hỗ trợ
và tin cậy tối thiếu tương ứng là minsup và minconf Tìm tất cả các luật kết hợp X =>
Y trên D (X,Y I) thỏa mãn đồng thời sup(X => Y) ≥ minsup và conf(X => Y) ≥
minconf
Bài toán khai phá luật kết hợp có thể dùng nhiều thuật toán để khai phá nhưng nhìn chung là các bài toán này đều phải qua 2 giai đoạn chính sau:
- Giai đoạn 1: Khai phá tất cả các tập phổ biến trong CSDL D
Trong giai đoạn này ta đi tìm các tập mục mà có độ hỗ trợ lớn hơn độ hỗ trợ tối thiểu do người dùng xác định Các tập mục thỏa mãn độ hỗ trợ tối thiểu là những tập mục phổ biến cần tìm
- Giai đoạn 2: Khai phá luật kết hợp (sinh ra các luật kết hợp tốt từ các tập
mục phổ biến)
+ Sử dụng tập mục phổ biến tìm được ở giai đoạn 1 để sinh ra các luật
tin cậy (interesting rules) Ý tưởng chung là nếu gọi ABCD và AB là các tập mục
sup(𝐴𝐵)
2.1.5 Một số dạng luật trong khai phá luật kết hợp
Lĩnh vực khai phá luật kết hợp cho đến nay đã được nghiên cứu và phát triển theo nhiều hướng khác nhau Có những đề xuất nhằm cải tiến tốc độ thuật toán, có những đề xuất nhằm tìm kiếm luật có ý nghĩa hơn…và có một số hướng chính sau đây:
- Luật kết hợp nhị phân (binary association rule hoặc boolean association
rule): Là hướng nghiên cứu đầu tiên của luật kết hợp Hầu hết các nghiên cứu ở thời
Trang 31kỳ đầu về luật kết hợp đều liên quan đến luật kết hợp nhị phân Trong dạng luật kết hợp này, các mục (thuộc tính) chỉ được quan tâm là có hay không xuất hiện trong giao dịch của CSDL chứ không quan tâm về “mức độ“ xuất hiện Ví dụ: Trong hệ thống tính cước điện thoại thì việc gọi 10 cuộc điện thoại và 1 cuộc được xem là giống nhau Thuật toán tiêu biểu nhất khai phá dạng luật này là thuật toán Apriori và các biến thể của nó Đây là dạng luật đơn giản và các luật khác cũng có thể chuyển về dạng luật này nhờ một số phương pháp như rời rạc hoá, mờ hoá, … Một ví dụ về
dạng luật này : “gọi liên tỉnh= ‘yes’ AND gọi di động= ‘yes’ => gọi quốc tế= ‘yes’
AND gọi dịch vụ 108 = ‘yes’, với độ hỗ trợ 20% và độ tin cậy 80%”
- Luật kết hợp có thuộc tính số và thuộc tính hạng mục (quantitative and
categorial association rule): Các thuộc tính của các CSDL thực tế có kiểu rất đa dạng
(nhị phân - binary, số - quantitative, hạng mục - categorial,…) Để phát hiện luật kết hợp với các thuộc tính này, các nhà nghiên cứu đã đề xuất một số phương pháp rời rạc hoá nhằm chuyển dạng luật này về dạng nhị phân để có thể áp dụng các thuật toán đã
có Một ví dụ về dạng luật này “An toàn bảo mật thông tin [5 <7] AND đồ họa máy
tính [7 <9] => hệ điều hành [5 <7], với độ hỗ trợ là 35%, và độ tin cậy là%”
- Luật kết hợp tiếp cận theo hướng tập thô (mining association rules 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
theo luật này sẽ tìm kiếm thêm những luật có dạng “ mua máy tính PC => mua hệ
điều hành AND mua phần mềm tiện ích văn phòng, …” thay vì chỉ những luật quá cụ
thể như “mua máy tính IBM PC => mua hệ điều hành Microsoft Windows AND mua
phần mềm tiện ích văn phòng Microsoft Office, …” Như vậy dạng luật đầu là dạng
luật tổng quát hoá của dạng luật sau và tổng quát theo nhiều mức khác nhau
- Luật kết hợp mờ (fuzzy association rule): Với những hạn chế còn gặp phải
trong quá trình rời rạc hoá các thuộc tính số (quantitave attributes), các nhà nghiên cứu đã đề xuất luật kết hợp mờ nhằm khắc phục các hạn chế trên và chuyển luật kết hợp về một dạng tự nhiên hơn, gần gũi hơn với người sử dụng một Ví dụ: “An toàn
bảo mật thông tin trung bình AND đồ hoạ máy tính khá => hệ điều hành trung bình,
với độ hỗ trợ là 35%, và độ tin cậy là %” Trong luật trên, điều kiện điểm các môn đã được mờ hoá ở mức điểm yếu kém, trung bình, khá và giỏi
- Luật kết hợp với thuộc tính được đánh trọng số (association rule with
weighted items): Trong thực tế, các thuộc tính trong CSDL không phải lúc nào cũng
có vai trò như nhau Có một số thuộc tính được chú trọng hơn và có mức độ quan trọng cao hơn các thuộc tính khác Ví dụ, khi khảo sát về doanh thu hàng tháng, thông tin về thời gian đàm thoại, vùng cước là quan trọng hơn nhiều so với thông tin về phương thức gọi Trong quá trình tìm kiếm luật, chúng ta sẽ gán thời gian gọi, vùng cước các trọng số lớn hơn thuộc tính phương thức gọi Đây là hướng nghiên cứu rất thú vị và đã được một số nhà nghiên cứu đề xuất cách giải quyết bài toán này Với
Trang 32luật kết hợp có thuộc tính được đánh trọng số, chúng ta sẽ khai thác được những luật
“hiếm” (tức là có độ hỗ trợ thấp, nhưng có ý nghĩa đặc biệt hoặc mang rất nhiều ý nghĩa)
- Luật kết hợp song song (parallel mining of association rules): Bên cạnh
khai phá luật kết hợp tuần tự, các nhà làm tin học cũng tập trung vào nghiên cứu các thuật giải song song cho quá trình phát hiện luật kết hợp Nhu cầu song song hoá và
xử lý phân tán là cần thiết bởi kích thước dữ liệu ngày càng lớn hơn nên đòi hỏi tốc
độ xử lý cũng như dung lượng bộ nhớ của hệ thống phải được đảm bảo Có rất nhiều thuật toán song song khác nhau đã đề xuất để có thể không phụ thuộc vào phần cứng
Bên cạnh những nghiên cứu về những biến thể của luật kết hợp, các nhà nghiên cứu còn chú trọng đề xuất những thuật toán nhằm tăng tốc quá trình tìm kiếm tập phổ biến từ CSDL
Ngoài ra, còn có một số hướng nghiên cứu khác về khai phá luật kết hợp như: khai phá luật kết hợp trực tuyến, khai phá luật kết hợp được kết nối trực tuyến đến các kho dữ liệu đa chiều (Multidimensional data, data warehouse) thông qua công nghệ OLAP (Online Analysis Processing), MOLAP (multidimensional OLAP), ROLAP (Relational OLAP), ADO (Active X Data Object) for OLAP v v
2.1.6 Các đặc trưng của luật kết hợp
2.1.6.1 Không gian tìm kiếm của luật
Như đã giải thích trên đây, ta phải tìm tất cả các tập mục thỏa ngưỡng độ hỗ
trợ tối thiểu Với các ứng dụng thực tiễn, việc duyệt tất cả các tập con của I sẽ hoàn toàn thất bại vì không gian tìm kiếm quá lớn Trên thực tế, sự tăng tuyến tính số lượng
các item vẫn kéo theo sự tăng theo cấp lũy thừa các tập mục cần xem xét Với trường hợp đặc biệt I={1,2,3,4}, ta có thể biểu diễn không gian tìm kiếm thành một lưới như
trong hình 2.2
Trang 33Hình 2.2 Biểu diễn thông tin tìm kiếm dạng lới cho tập I = {1,2,3,4}
Các tập phổ biến nằm trong phần trên của hình trong khi những tập không phổ biến lại nằm trong phần dưới Mặc dù không chỉ ra một cách tường minh các giá trị hỗ trợ cho mỗi tập mục nhưng ta giả sử rằng đường biên đậm trong hình phân chia các tập phổ biến và tập không phổ biến Sự tồn tại của đường biên như vậy không phụ thuộc vào bất kỳ cơ sở dữ liệu D và độ hỗ trợ tối thiểu nào Sự tồn tại của nó chỉ đơn thuần được đảm bảo bởi tính chặn dưới của tập mục thỏa ngưỡng độ hỗ trợ tối thiểu
Nguyên lý cơ bản của các giải thuật thông thường là sử dụng đường biên này
để thu hẹp không gian tìm kiếm một cách có hiệu quả Khi đường biên được tìm thấy, chúng ta có thể giới hạn trong việc xác định các giá trị hỗ trợ của các tập mục phía trên đường biên và bỏ qua các tập mục phía dưới đường biên
vào các số tự nhiên Bây giờ, các phần tử có thể được xem là có thứ tự hoàn toàn trên
I: n a X.item n là một ánh xạ, trong đó X.item n là phần tử thứ n của các phần tử x X sắp
nghĩa bởi P={X.item |1 m n}
Trang 34Hình 2.3 Biểu diễn cây cho tập I = {1, 2, 3, 4}
Cho các lớp E(P), P I với E(P) = {X I | |X| = |P|+1 và P là một tiền tố của X}
là các nút của một cây Hai nút sẽ được nối với nhau bằng 1 cạnh nếu tất cả các tập
mục của lớp E có thể được phát sinh bằng cách kết 2 tập mục của lớp cha E’, ví dụ
như trong hình
Cùng với tính chặn dưới của tập mục thỏa ngưỡng độ hỗ trợ tối thiểu, điều này
suy ra: Nếu lớp cha E’ của lớp E không có tối thiểu hai tập phổ biến thì E cũng phải không chứa bất kỳ một tập phổ biến nào Nếu gặp một lớp E’ như vậy trong quá trình duyệt cây từ trên xuống thì ta đã tiến đến đường biên phân chia giữa tập phổ biến và không phổ biến Ta không cần phải tìm tiếp phần sau đường biên này, tức là ta đã loại
bỏ E và các lớp con của E trong không gian tìm kiếm Thủ tục tiếp theo cho phép ta giới hạn một cách có hiệu quả số lượng các tập mục cần phải duyệt Ta chỉ cần xác
định các giá trị độ hỗ trợ của các tập mục mà ta đã duyệt qua trong quá trình tìm kiếm
đường biên giữa tập phổ biến và tập không phổ biến Cuối cùng, chiến lược thực sự
để tìm đường biên là do lựa chọn của chúng ta Các hướng tiếp cận phổ biến hiện nay
sử dụng cả tìm kiếm ưu tiên bề rộng (BFS) lẫn tìm kiếm ưu tiên chiều sâu (DFS) Với BFS, giá trị hỗ trợ của tất cả (k-1)-itemset được xác định trước khi tính giá trị hỗ trợ
của k-itemset Ngược lại, DFS duyệt đệ quy theo cấu trúc cây mô tả ở trên.
2.1.6.2 Độ hỗ trợ của luật
Trong phần này, một tập mục có khả năng là phổ biến và ta cần phải xác định
độ hỗ trợ của nó trong quá trình duyệt dàn, được gọi là một tập mục ứng viên Một
hướng tiếp cận phổ biến để xác định giá trị hỗ trợ của một tập mục là đếm các thể hiện
của nó trong cơ sở dữ liệu Với mục đích đó, một biến đếm (counter) được tạo ra và
khởi tạo bằng 0 cho mỗi tập mục đang duyệt Sau đó, quét qua tất cả các giao dịch và
khi tìm được một ứng viên là tập con của một giao dịch thì tăng biến đếm của nó lên Thông thường, tập con tạo ra và bảng tìm kiếm ứng cử viên được tích hợp và cài đặt
bằng một hashtree hay một cấu trúc dữ liệu tương tự Tóm lại, không phải tất cả các
Trang 35tập con của mỗi giao dịch đều được tạo ra mà chỉ những giao dịch có chứa trong các ứng viên hoặc có một tiền tố chung với ít nhất một ứng cử viên mới được tạo ra
Một cách tiếp cận khác để xác định giá trị hỗ trợ của các ứng viên là sử dụng giao tập hợp (set intersection) Một TID (Transaction IDentifier) là một khóa-biến
nhận dạng giao dịch duy nhất Với một phần tử đơn, tidlist là tập hợp của các biến nhận dạng tương ứng với các giao dịch có chứa phần tử này Do đó, các tidlist cũng tồn tại cho mỗi tập mục X và được biểu diễn bởi X.tidlist Tidlist của một ứng viên C
= X Y xác định bởi: C.tidlist=X.tidlist Y.tidlist Các tidlist được sắp xếp theo thứ
tự tăng dần để các phép giao được hiệu quả
Lưu ý rằng bằng cách dùng vùng đệm cho tidlist của các ứng viên phổ biến như là các kết quả trung gian, ta có thể tăng đáng kể tốc độ phát sinh tidlist cho các
ứng viên tiếp theo Cuối cùng, các độ hỗ trợ thực sự của ứng cử viên chính là |C.tlist|
2.2 Một số giải thuật cơ bản khai phá các tập mục phổ biến
2.2.1 Phân loại các giải thuật
Phần này sẽ trình bày và hệ thống hóa một cách ngắn gọn các giải thuật đang được dùng phổ biến hiện nay để khai phá các tập phổ biến Chúng sẽ được thực hiện dựa vào những nguyên tắc cơ bản của phần trước Mục tiêu của chúng ta là thể hiện được những sự khác biệt giữa các cách tiếp cận khác nhau Các giải thuật mà ta xem xét trong bài này được hệ thống hóa như hình vẽ 2.4
Các giải thuật được phân loại dựa vào việc:
a) Duyệt theo không gian tìm kiếm (BFS, DFS)
b) Xác định giá trị hỗ trợ của tập mục (itemset)
c) Ngoài ra, một giải thuật có thể dùng một số các tối ưu khác để tăng tốc thêm
Hình 2.4 Hệ thống hóa các giải thuật
2.2.2 Kỹ thuật BFS với thuật toán Apriori
Giải thuật phổ biến nhất của loại này là giải thuật Apriori, trong đó có trình bày tính chặn dưới của tập mục thỏa ngưỡng độ hỗ trợ tối thiểu Giải thuật Apriori tạo
ra việc sử dụng các tính chất này bằng việc tỉa bớt những ứng viên thuộc tập không phổ biến trước khi tính độ phổ biến của chúng Cách tối ưu có thể thực hiện được vì
Trang 36các giải thuật tìm kiếm ưu tiên theo chiều rộng (BFS) bảo đảm rằng các giá trị hỗ trợ của các tập của một ứng viên đều được biết trước Giải thuật Apriori đếm tất cả các ứng viên có k phần tử trong một lần đọc cơ sở dữ liệu Phần cốt lõi của bài toán là xác định các ứng viên trong mỗi giao dịch Để thực hiện được mục đích này phải dựa vào một cấu trúc gọi là hashtree Các item trong mỗi giao dịch được dùng để đi lần xuống trong cấu trúc hashtree Bất cứ khi nào tới được nút lá của nó, nghĩa là ta đã tìm được một tập các ứng viên có cùng tiền tố được chứa trong giao dịch đó Sau đó các ứng viên này sẽ được thực hiện tìm kiếm trong giao dịch mà nó đã được mã hóa trước thành ma trận bit Trong trường hợp thành công biến đếm các ứng viên trong cây được tăng lên
Giới thiệu bài toán:
Apriori là thuật toán được Rakesh Agrawal, Tomasz Imielinski, Arun Swami
đề xuất lần đầu vào năm 1993 Bài toán được phát biểu: Tìm t có độ hỗ trợ s thỏa mãn
s s0 và độ tin cậy c c 0 (s 0 , c 0 là hai ngưỡng do người dùng xác định và s 0=minsup,
hai tập có: tập mục và độ hỗ trợ)
Bài toán đặt ra là:
- Tìm tất cả các tập mục phổ biến với độ hỗ trợ tối thiểu nào đó
- 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 tối thiểu nào đó
Quá trình thực hiện (duyệt):
Thực hiện nhiều lần duyệt lặp đi lặp lại, trong đó tập (k-1) - mục được sử dụng cho việc tìm tập k-mục Lần thứ nhất tìm tất cả các độ hỗ trợ của các mục, xác
biến
Các lần duyệt còn lại: Bắt đầu kết quả tìm được bước trước nó, sử dụng
tìm độ hỗ trợ thực sự Mỗi lần duyệt ta phải xác định tập mục mẫu cho lần duyệt tiếp theo
biến nào nữa
Chú ý:
Trang 37nối như sau: Các thành phần L k-1 kết nối (nếu có chung k-2 mục đầu tiên) tức
giải thuật Apriori sử dụng các tính chất:
- Tất cả các tập con khác rỗng của một tập mục phổ biến là phổ biến;
- Nếu L là tập mục không phổ biến thì mọi tập chứa nó không phổ biến
Mô phỏng giải thuật Apriori:
Như trên đã nói, các thuật toán khai phá tập thường xuyên (Frequent Itemset) phải thiết lập một số giai đoạn (phase) trên CSDL Trong giai đoạn đầu tiên, người ta đếm độ hỗ trợ cho mỗi tập riêng lẻ và xác định xem tập nào là phổ biến (nghĩa là có sup ≥ minsup) Trong mỗi giai đoạn tiếp theo, người ta bắt đầu với tập các tập phổ biến đã tìm được trong giai đoạn trước để lại sinh ra tập các tập mục có khả năng là phổ biến mới (gọi là tập các ứng cử viên - candidate itemset) và thực hiện đếm độ hỗ trợ cho mỗi tập các ứng cử viên trong tập này bằng một phép duyệt trên CSDL Tại điểm kết của mỗi giai đoạn, người ta xác định xem trong các tập ứng viên này, tập nào là phổ biến và lập thành tập các tập phổ biến cho giai đoạn tiếp theo Tiến trình này sẽ được tiếp tục cho đến khi không tìm được một tập phổ biến nào mới hơn nữa
Để tìm hiểu các thuật toán, ta giả sử rằng, các item trong mỗi giao dịch đã được sắp xếp theo thứ tự từ điển (người ta sử dụng khái niệm từ điển ở đây để diễn đạt một thứ tự quy ước nào đó trên các item của cơ sở dữ liệu) Mỗi bản ghi - record
của cơ sở dữ liệu D có thể coi như là một cặp < TID, tập mục > trong đó TID là định
danh cho giao dịch Các item trong một tập mục cũng được lưu theo thứ tự từ điển,
nghĩa là nếu kí hiệu k item cửa một k-itemset c là c[1],c[2],…,c[k], thì
c[1]<c[2]<…<c[k] Nếu c=X.Y và Y là một itemset thì Y cũng được gọi là
m-extension (mở rộng) của X Trong lưu trữ, mỗi tập mục có một trường support-count
tương ứng, đây là trường chứa số đếm độ hỗ trợ cho tập mục này
Thuật toán Apriori
Các kí hiệu:
hỗ trợ tối thiểu và có lực lượng bằng k) Mỗi phần tử của tập này có 2 trường: tập mục
và trường đếm độ hỗ trợ (support-count)
phần tử trong tập này cũng có 2 trường tập mục và đếm độ hỗ trợ
Nội dung thuật toán Apriori được trình bày như sau:
Input: Tập các giao dịch D, ngưỡng độ hỗ trợ tối thiểu (minsup)
Trang 38Output: L- tập mục phổ biến trong D
5 for (mỗi một giao dịch T D) do
6 begin
8 for (mỗi một ứng cử viên c CT) do
9 c.count++; //tăng bộ đếm tần xuất 1 đơn vị
10 end;
12 end;
Trong thuật toán này, giai đoạn đầu đơn giản chỉ là việc đếm độ hỗ trợ cho
trợ của nó lớn hơn hoặc bằng độ hỗ trợ tối thiểu
Trong các giai đoạn thứ k sau đó (k>1), mỗi giai đoạn gồm có 2 pha Trước
trước
Vấn đề sinh tập candidate của Apriori – Hàm Apriori_gen:
quả là một superset, tập của tất cả các large k – itemset Sơ đồ sau là thuật toán cho
Trang 39Hàm kiểm tra tập con k-1 mục của ứng cử viên k-mục không là tập phổ biến:
1 function has_infrequent_subset(c: ứng cử viên k-mục; Lk-1 tập phổ biến k-1 mục)
//sử dụng tập mục phổ biến trước
4 If s L k-1 then return TRUE;
Có thể mô tả hàm Apriori_gen trên theo lược đồ sau:
Trang 406 for (mọi (k-1) tập con s của c( do
7 if (s L k-1) then
8 delete c khỏi C k;
Với nội dung trên, ta thấy hàm này có 2 bước:
rằng các item của các tập mục đã được sắp xếp theo thứ tự từ điển Nếu có k-2 item
Ck
2 Bước cắt tỉa (prune step): Đây là bước tiếp theo sau bước join Trong
nên sup(s)<minsup Vậy c không thể là một tập mục thường xuyên, nó cần phải loại
Ví dụ : Giả sử tập các item I = {A,B, C, D, E} và cơ sở dữ liệu giao dịch:
D = {<1, {A,C,D}>, <2,{B,C,E}>, <3,{A,B,C,E}>,<4,{B,E}>} Với minsup = 0.5 (tức
tương đương 2 giao dịch) Khi thực hiện thuật toán Apriori trên ta có sơ đồ sau: