Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT IS = U,A,V,f Hệ thông tin, hệ thông tin đầy đủ IIS = U,A,V,f Hệ thôn
Trang 1Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
NGƯỜI HƯỚNG DẪN KHOA HỌC: GS.TS VŨ ĐỨC THI
Thái Nguyên – 2013
Trang 2Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
LỜI CAM ĐOAN
1) Tôi xin cam đoan luận văn này là sản phẩm nghiên cứu của riêng tôi
2) Một số định lý, định nghĩa và hệ quả, thuật toán tôi lấy từ nguồn tài liệu chính xác có trích dẫn tên tài liệu và tên tác giả rõ ràng
3) Chương trình thử nghiệm là của tôi viết và cài đặt, tôi không hề sao chép của bất cứ ai
4) Tôi xin chịu trách nhiệm hoàn toàn về sản phẩm nghiên cứu của mình
Tác giả
Dương Đức Nguyên
Trang 3Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
LỜI CẢM ƠN
Để có thể hoàn thành đề tài luận văn thạc sĩ một cách hoàn chỉnh, bên cạnh
sự nỗ lực cố gắng của bản thân còn có sự hướng dẫn nhiệt tình của quý Thầy Cô, cũng như sự động viên ủng hộ của gia đình và bạn bè trong suốt thời gian học tập nghiên cứu và thực hiện luận văn thạc sĩ
Xin chân thành bày tỏ lòng biết ơn đến Thầy Vũ Đức Thi, người đã hết lòng
giúp đỡ và tạo mọi điều kiện tốt nhất cho tôi hoàn thành luận văn này Xin gửi lời tri ân nhất của tôi đối với những điều mà Thầy đã dành cho tôi
Xin chân thành bày tỏ lòng biết ơn đến toàn thể quý thầy cô đã giảng dạy và truyền đạt kiến thức cho tôi để tôi có thể hoàn thành các môn học trong xuất thời gian học cao học tại trường Đại học Thái Nguyên
Xin gửi lời cảm ơn tới ban lãnh đạo cùng toàn thể các thầy cô trong trường Đại học Công Nghệ Thông Tin và Truyền Thông Đại Học Thái Nguyên đã tạo điều kiện thuận lợi cho tôi trong thời gian tôi học tập và nghiên cứu tại đây
Xin chân thành bày tỏ lòng biết ơn đến gia đình, những người đã không ngừng động viên, hỗ trợ và tạo mọi điều kiện tốt nhất cho tôi trong suốt thời gian học tập và thực hiện luận văn
Cuối cùng, tôi xin chân thành bày tỏ lòng cảm ơn đến các anh chị, các đồng nghiệp đã hỗ trợ cho tôi rất nhiều trong suốt quá trình học tập, nghiên cứu và thực hiện đề tài luận văn thạc sĩ một cách hoàn chỉnh
Thái Nguyên, tháng 8 năm 2013
Học viên
Dương Đức Nguyên
Trang 4Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
MỤC LỤC
MỞ ĐẦU 1
CHƯƠNG 1: MỘT SỐ KHÁI NIỆM CƠ BẢN 4
1.1 Quá trình khai phá tri thức từ cơ sở dữ liệu 4
1.1.1 Xác định vấn đề 5
1.1.2 Thu thập và tiền xử lí dữ liệu 5
1.2 Khai phá dữ liệu 7
1.2.1 Một số quan niệm về khai phá dữ liệu 7
1.2.2.Nhiệm vụ của khai phá dữ liệu 7
1.2.3 Triển khai việc khai phá dữ liệu 8
1.2.4 Một số ứng dụng khai phá dữ liệu 9
1.2.5 Các kỹ thuật khai phá dữ liệu 9
1.2.6 Kiến trúc của hệ thống khai phá dữ liệu 11
1.2.7 Quá trình khai phá dữ liệu 12
1.2.8 Những khó khăn trong khai phá dữ liệu 13
1.3 Hệ thông tin đầy đủ và mô hình tập thô truyền thống 14
1.3.1 Hệ thông tin đầy đủ 14
1.3.2 Mô hình tập thô truyền thống 15
1.3.3 Bảng quyết định đầy đủ 17
1.3.4 Tập rút gọn và tập lõi 18
1.4.1 Một số khái niệm cơ bản 20
1.4.2 Một số thuật toán cơ bản 22
1.5.Tổng kết chương 27
CHƯƠNG 2: RÚT GỌN THUỘC TÍNH VÀ MỘT SỐ THUẬT TOÁN TRÊN BẢNG QUYẾT ĐỊNH NHẤT QUÁN 28
2.1 Mở đầu 28
2.2 Một số tính chất của metric trên bảng quyết định 29
2.3 Rút gọn thuộc tính trong bảng quyết định sử dụng metric 34
2.3.1.Tập lõi và tập rút gọn của bảng quyết định dựa trên metric 34
Trang 5Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
2.3.2 Thuật toán tìm tập rút gọn của bảng quyết định sử dụng metric 35
2.3.3 Mối liên hệ giữa tập rút gọn dựa trên Metric và tập rút gọn Entropy Shannon42 2.3.4 Thuật toán tìm tập rút gọn theo tham số độ chắc chắn của tập luật 43
2.4 Thuật toán tìm tập tất cả các thuộc tính rút gọn của bảng quyết định nhất quán45 2.4.1 Đặt vấn đề 45
2.4.2 Thuật toán 46
2.5 Thuật toán tìm họ tất cả các tập rút gọn của bảng quyết định nhất quán 48
2.6 Thuật toán xây dựng các phụ thuộc hàm từ bảng quyết định nhất quán 51
2.7 Thuật toán xây dựng bảng quyết định từ tập phụ thuộc hàm 52
2.8 Tổng kết chương 2 56
CHƯƠNG 3: CÀI ĐẶT CHƯƠNG TRÌNH TÌM TẬP TẤT CẢ CÁC THUỘC TÍNH RÚT GỌN TRÊN BẢNG QUYẾT ĐỊNH NHẤT QUÁN 57
1 Đặt vấn đề 57
2 Yêu cầu hệ thống và cấu hình cho máy 57
2.1 Yêu cầu hệ thống 57
2.2 Cấu hình cho máy 57
3 Giới thiệu chương trình và cách sử dụng 58
3.1 Cấu trúc chương trình 58
3.2 Giới thiệu chương trình 60
4 Thực hiện thuật toán với bộ dữ liệu Flu, EXAMPLE1, EXAMPLE 61
4.1 Bộ dữ liệu “Flu” 61
4.2 Bộ dữ liệu “EXAMPLE1” 63
4.3 Bộ dữ liệu “EXAMPLE” 65
5 Kiểm thử 67
6 Tổng kết chương 67
KẾT LUẬN VÀ ĐỀ NGHỊ 68
TÀI LIỆU THAM KHẢO 69
Trang 6Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
DANH MỤC CÁC BẢNG
Bảng 1.1 Bảng thông tin về bệnh cúm 16
Bảng 1.2 Bảng quyết định về bệnh cúm 19
Bảng 2.1 Bảng quyết định về bệnh cảm cúm 33
Bảng 2.2 Bảng quyết định minh họa Ví dụ 2.2/ 36
Bảng 2.3 Bảng quyết định ở ví dụ 2.6 50
Bảng 2.4 Bảng Bảng quyết định đƣợc xây dựng từ thuật toán 56
Bảng 3.1 Triệu chứng cúm của bệnh nhân 62
Bảng 3.2 Bảng quyết định 63
Bảng 3.3 Bảng dữ liệu kết quả thực hiện trên 3 bộ dữ liệu mẫu 67
Trang 7Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
DANH MỤC CÁC HÌNH
Hình 1.1 Quá trình khám phá tri thức từ cơ sở dữ liệu 4
Hình 1.2 Kiến trúc của hệ thống khai phá dữ liệu 11
Hình 1.3 Quá trình khai phá dữ liệu 13
Hình 3.1 Liên kết giữa các lớp trong chương trình 58
Hình 3.2 Lớp Reduced 59
Hình 3.3 Lớp DesisionTable 59
Hình 3.4 Lớp EqualSystem 59
Hình 3.5 Lớp Ultilities 60
Hình 3.6 Giao diện chính của chương trình 60
Hình 3.7 Sửa hay thêm một dòng dữ liệu mới trên bảng “Flu” 61
Hình 3.8 Kết quả của bộ dữ liệu Flu 63
Hình 3.9 Kiểm tra xem bảng quyết định Example1 có nhất quán không 64
Hình 3.10 Kết quả khi thực hiện thuật toán với bộ dữ liệu Example1 65
Hình 3.11 Kiểm tra xem bảng quyết định Example có nhất quán không 66
Hình 3.12 Kết quả khi thực hiện thuật toán với bộ dữ liệu Example 66
Trang 8Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT
IS = (U,A,V,f) Hệ thông tin, hệ thông tin đầy đủ
IIS = (U,A,V,f) Hệ thông tin không đầy đủ
DS =(U,CD,V,f) Bảng quyết định, bảng quyết định đầy đủ
IDS =(U,CD,V,f) Bảng quyết định không đầy đủ
HRED(C) Họ tất cả các tập rút gọn Entropy Shannon
H(Q/P) Entropy Shannon có điều kiện của Q khi đã biết P
IE(P) Entropy liang mở rộng của tập thuộc tính P trong hệ thông
tin đầy đủ
dj(K(P),K(Q)) Khoảng cách giữa K(P) và K(Q) trong hệ thông tin đầy đủ
dựa trên entropy Liang mở rộng
Trang 9Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
MỞ ĐẦU
Trong những năm gần đây, sự phát triển mạnh mẽ của công nghệ thông tin
đã làm cho khả năng thu thập và lưu trữ thông tin của hệ thống thông tin tăng nhanh một cách nhanh chóng Sự bùng nổ này đã dẫn tới một yêu cầu cấp thiết là cần có những kỹ thuật và công cụ mới để tự động chuyển đổi lượng dữ liệu khổng lồ kia thành các tri thức có ích Từ đó, các kỹ thuật khai phá dữ liệu đã trở thành một lĩnh vực thời sự của nền công nghệ thông tin thế giới hiện nay nói chung và Việt Nam nói riêng
Khai phá dữ liệu đ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: Market tinh, tài chính ngân hàng và bảo hiểm, khoa học kinh tế…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 nhiều lợi ích to lớn
Trong lý thuyết tập thô, dữ liệu được biểu diễn thông qua một hệ thông tin
IS=(U,A) với U là tập các đối tượng và A là tập thuộc tính Phương pháp tiếp cận
chính của lý thuyết tập thô là dựa trên quan hệ không phân biệt được để đưa ra các tập xấp xỉ dưới và xấp xỉ trên của nó Xấp xỉ dưới bao gồm các đối tượng chắc chắn thuộc tập đó, còn xấp xỉ trên chứa tất cả các đối tượng có khả năng thuộc về tập đó Nếu tập xấp xỉ dưới bằng tập xấp xỉ trên thì tập đối tượng cần quan sát là tập rõ Ngược lại là tập thô Các tập xấp xỉ là cơ sở để đưa ra các kết luận từ tập dữ liệu
Bảng quyết định là hệ thông tin IS với tập thuộc tính A được chia thành hai tập con khác rỗng rời nhau C và D, lần lượt được gọi là tập thuộc tính điều kiện và tập thuộc tính quyết định Nói cách khác, DS=(U,CD) với CD Bảng quyết định là mô hình thường gặp trong thực tế, Khi mà giá trị dữ liệu tại các thuộc tính điều kiện có thể cung cấp cho ta thông tin về giá trị của thuộc tính
quyết định Bảng quyết định là nhất quán khi phụ thuộc hàm C→D là đúng, trái
lại là không nhất quán
Rút gọn thuộc tính là ứng dụng quan trọng nhất trong lý thuyết tập thô Mục
Trang 10Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
tiêu của rút gọn thuộc tính là loại bỏ các thuộc tính dư thừa để tìm ra các thuộc tính cốt yếu và cần thiết trong cơ sở dữ liệu Với bảng quyết định, rút gọn thuộc tính là tập con nhỏ nhất của tập thuộc tính điều kiện bảo toàn thông tin phân lớp của bảng quyết định Đối với một bảng quyết định có nhiều tập rút gọn khác nhau tuy nhiên trong thực hành thường không đòi hỏi tìm tất cả các tập rút gọn mà chỉ cần tìm được một tập rút gọn tốt nhất theo một tiêu chuẩn đánh giá nào đó là đủ Vì vậy, mỗi phương pháp rút gọn thuộc tính đều trình bày một thuật toán Heuristic tìm tập rút gọn Các thuộc tính này giảm thiểu đáng kể khối lượng tính toán, nhờ đó có thể áp dụng đối với các bài toán có khối lượng dữ liệu lớn
Cho bảng quyết định nhất quán DS=(U,C{d}), tập thuộc tính RC được gọi
là tập rút gọn của thuộc tính điều kiện C nếu R là tập tối thiểu thỏa mãn phụ thuộc hàm R→{d} Xét quan hệ r trên tập thuộc tính RC{d} được gọi là một tập tối thiểu của thuộc tính {d} nếu R là tập thuộc tính tối thiểu thỏa mãn phụ thuộc hàm R→{d} Do đó, khái niệm tập rút gọn của bảng quyết định tương đương với tập tối thiểu của thuộc tính {d} trên quan hệ, và một vài bài toán trên bảng quyết định liên
quan đến tập rút gọn có thể được giải quyết bằng một số kết quả liên quan đến tập tối thiểu của một thuộc tính trong cơ sở dữ liệu quan hệ; bao gồm bài toán tìm tập tất cả các thuộc tính rút gọn, bài toán tìm họ tất cả các tập rút gọn, bài toán trích lọc tri thức dưới dạng các phụ thuộc hàm từ bảng quyết định, bài toán xây dựng bảng quyết định từ tập phụ thuộc hàm cho trước Cho đến nay, hướng tiếp cận này chưa được nhiều tác giả quan tâm nghiên cứu
Trên bảng quyết định nhất quán, vấn đề nhiên cứu đặt ra là xây dựng các thuật toán có ý nghĩa liên quan đến tập rút gọn sử dụng một số kết quả liên quan đến tập tối thiểu của một thuộc tính trong một cơ sở dữ liệu quan hệ
Mục tiêu nghiên cứu của đề tài
- Tổng hợp kiến thức cơ bản nhất liên quan đến tập rút gọn và bảng quyết định
nhất quán
- Dựa trên lý thuyết đã tổng kết được, đi xâu vào tìm hiểu, nghiên cứu một số
Trang 11Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
thuật toán liên quan đến tập rút gọn trên bảng quyết định nhất quán Cài đặt thuật toán tìm tập tất cả các thuộc tính rút gọn của bảng quyết định nhất quán
Ý nghĩa khoa học của đề tài
- Đây là lĩnh vực được nhiều nhà khoa học nghiên cứu và đã có đóng góp trong thực tiễn
- Có thể coi đề tài là một tài liệu tham khảo khá đầy đủ, rõ ràng về một số thuật toán liên quan đến tập rút gọn trên bảng quyết định nhất quán
Đối tượng và phạm vi nghiên cứu của đề tài
- Các thuật toán cơ bản nhất liên quan đến tập rút gọn trên bảng quyết định nhất quán
Phương pháp nghiên cứu
- Lập kế hoạch, lên quy trình, tiến độ thực hiện
- Tham khảo nhiều tài liệu có liên quan, tham khảo các ý kiến các chuyên gia trong lịnh vực nghiên cứu
Thực tiễn của đề tài nghiên cứu
- Tổng kết các kiến thức cơ bản nhất của khai phá dữ liệu
- Luận văn có thể trở thành tài liệu tham khảo cho những người muốn tìm hiểu
về khai phá dữ liệu và một số thuật toán liên quan đến tập rút gọn trên bảng quyết định nhất quán Luận văn gồm 3 chương với các nội dung sau:
Chương 1: Trình bày về một số khái niện cơ bản
Chương 2: Rút gọn thuộc tính và một số thuật toán trên bảng quyết định nhất quán Chương 3: Cài đặt chương trình tìm tập tất cả các thuộc tính rút gọn trên bảng quyết định nhất quán
Trang 12Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
CHƯƠNG 1: MỘT SỐ KHÁI NIỆM CƠ BẢN 1.1 Quá trình khai phá tri thức từ cơ sở dữ liệu
Quá trình khai phá tri thức có thể chia thành các bước như sau:
- Làm sạch dữ liệu (Data cleaning): Loại bỏ dữ liệu nhiễu hoặc dữ liệu không thích hợp
- Tích hợp dữ liệu (Data integration): Tích hợp dữ liệu từ các nguồn khác nhau
- Chọn dữ liệu (Data Selection): Chọn những dữ liệu liên quan trực tiếp đến nhiệm vụ
- Chuyển đổi dữ liệu (Data Transformation): Chuyển dữ liệu về những dạng phù hợp cho việc khai thác
- Khai phá dữ liệu (Data mining): Các kỹ thuật được áp dụng để trích xuất thông tin có ích hoặc các mẫu điển hình trong dữ liệu
- Đánh giá mẫu (Pattern evaluation): Đánh giá mẫu hoặc tri thức đã thu được
- Trình diễn dữ liệu (Knowledge presentation): Biểu diễn những tri thức khai phá được cho người sử dụng
Hình 1.1 Quá trình khám phá tri thức từ cơ sở dữ liệu
Hình 1.1 mô tả 5 giai đoạn trong quá trình khám phá tri thức từ cơ sở đến dữ liệu Mặc dù có 5 giai đoạn như trên trong quá trình khám phá tri thức từ cơ sở dữ liệu là một quá trình tương tác lặp đi lặp lại theo chu trình liên tục kiểu xoáy trôn
ốc, trong đó lần lặp sau hoàn chỉnh hơn lần lặp trước Ngoài ra, giai đoạn sau lại
5 Đưa kết quả vào thực tiễn
4 Minh hoạ và đánh giá tri thức
Trang 13Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
dựa trên kết quả theo kiểu thác nước Đây là một quá trình biện chứng mang tính chất khoa học của lĩnh vực phát hiện tri thức và là phương pháp luận trong việc xây dựng các hệ thống phát hiện tri thức
1.1.1 Xác định vấn đề
Đây là một quá trình mang tính định tính với mục đích xác định được lĩnh vực yêu cầu phát hiện tri thức và xây dựng bài toán Trong thực tế, các cơ sở dữ liệu được chuyên môn hoá và phân chia theo các lĩnh vực khác nhau như sản phẩm, kinh doanh, tài chính, Với mỗi tri thức phát hiện được có thể có giá trị trong lĩnh vực này nhưng lại không mang nhiều ý nghĩa đối với một lĩnh vực khác Vì vậy mà việc xác định lĩnh vực và định nghĩa bài toán giúp định hướng cho giai đoạn tiếp theo
thu nhập và tiền sử lí dữ liệu
1.1.2 Thu thập và tiền xử lí 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 công đoạn như: lựa chọn dữ liệu, làm sạch, làm giàu, mã hóa dữ liệu Các công đoạn được thực hiện theo trình tự đưa ra được một cơ sở dữ liệu thích hợp cho các giai đoạn sau Tuy nhiên, tùy từng dữ liệu cụ thể mà quá trình trên được điều chỉnh cho phù hợp vì người ta đưa ra một phương pháp cho mọi loại dữ liệu
a Chọn lọc dữ liệu: Đây là bước chọn lọc các dữ liệu có liên quan trong các
nguồn dữ liệu khác nhau Các thông tin được chọn lọc sao cho có chứa nhiều thông tin liên quan tới lĩnh vực cần phát hiện tri thức đã xác định trong giai đoạn xác định vấn đề
b Làm sạch dữ liệu: Dữ liệu thực tế, đặc biệt dữ liệu lấy từ nhiều nguồn khác
nhau thường không đồng nhất Do đó còn có biện pháp xử lí để đưa về một cơ sở dữ
liệu thống nhất phục vụ cho khai thác Nhiệm vụ làm sạch dữ liệu thường bao gồm:
Điều hoà dữ liệu, xử lí các giá trị khuyết, xử lí nhiễu và các ngoại lệ
c Làm giàu dữ liệu: Việc thu nhập dữ liệu đôi khi không đảm bảo tính đầy
đủ của dữ liệu Một số thông tin quan trọng có thể thiếu hoặc không đầy đủ Chẳng
Trang 14Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
hạn, dữ liệu về khách hàng lấy từ một nguồn bên ngoài không có hoặc không đầy đủ thông tin về thu nhập Nếu thông tin về thu nhập là quan trọng trong quá trình khai thác dữ liệu để phân tích hành vi khách hàng thì rõ ràng là ta không thể chấp nhận đưa các dữ liệu khuyết thiếu vào được
d Mã hóa:
Các Phương pháp dùng để chọn lọc, làm sạch, làm giàu dữ liệu sẽ được mã hóa dưới dạng các thủ tục, chương trình hay tiện ích nhằm tự động hóa việc kết xuất, biến đổi và di chuyển dữ liệu Các hệ thống con đó có thể được thực thi định
kỳ làm tươi dữ liệu phục vụ cho việc phân tích
1.1.3 Khai thác dữ liệu
Giai đoạn khai thác dữ liệu được bắt đầu sau khi dữ liệu đã được thu thập và tiến hành xử lí Trong giai đoạn này, công việc chủ yếu là xác định được bài toán khai thác dữ liệu, tiến hành lựa chọn phương pháp khai thác phù hợp với dữ liệu có được và tách ra các tri thức cần thiết
Thông thường, các bài toán khai thác dữ liệu bao gồm: 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 các dữ liệu, các bài toán khai thác dự báo - bao gồm cả việc thực hiện các suy diễn trên dữ liệu Tùy theo bài toán xác định được mà ta lựa chọn các phương pháp khai thác dữ liệu cho phù hợp
1.1.4 Minh họa và đánh giá tri thức
Các tri thức phát hiện từ cơ sở dữ liệu cần được tổng hợp dưới dạng các báo cáo phục vụ cho các mục đích hỗ trợ quyết định khác nhau
Do nhiều phương pháp khai thác có thể được áp dụng nên các kết quả có mức
độ tốt/xấu khác nhau Việc đánh giá các kết quả thu được là cần thiết, giúp tạo cơ sở cho các quyết định chiến lược Thông thường chúng được tổng hợp, so sánh bằng các biểu đồ và được kiểm nghiệm, tin học hoá Công việc này thường là của các chuyên gia, các nhà phân tích và quyết định
Trang 15Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
1.2 Khai phá dữ liệu
1.2.1 Một số quan niệm về khai phá dữ liệu
Sau đây là một số 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ồ
Khai phá dữ liệu được định nghĩa như một quá trình phát hiện mẫu trong dữ liệu Quá trình này có thể là tự động hay bán tự động, song phần nhiều là bán tự động Các mẫu được phát hiện thường hữu ích theo nghĩa: Các mẫu mang lại cho người sử dụng một lợi thế nào đó, thường là lợi thế về kinh tế
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 sự kiện, còn đầu ra quá trình khai phá dữ liệu như là dự báo của các vật hay sự kiện mới
Khai phá dữ liệu áp dụng trong các cơ sở dữ liệu quan hệ, giao dịch, cơ sở
dữ liệu không gian, cũng như các kho dữ liệu phi cấu trúc, điển hình là World Wide Web
Khám phá tri thức là quá trình nhận biết các mẫu hoặc các mô hình trong dữ liệu với các tính chất: Đúng đắn, mới, khả ích và có thể hiểu được Khai phá dữ liệu
là một bước trong quá trình khám phá tri thức bao gồm các thuật toán khai phá dữ liệu chuyên dùng dưới một số quy định về hiệu quả tính toán chấp nhận được để tìm ra các mẫu và các mô hình trong dữ liệu
1.2.2.Nhiệm vụ của khai phá dữ liệu
Các bài toán liên quan đến khai phá dữ liệu về bản chất là các bài toán thống
kê Điểm khác biệt giữa các kỹ thuật khai phá dữ liệu và các công cụ phục vụ tính toán thống kê mà chúng ta đã biết là ở khối lượng cần tính toán Khi dữ liệu đã trở nên khổng lồ thì những khâu như: Thu thập dữ liệu, tiền xử lí và xử lí dữ liệu đều đòi hỏi phải được tự động hoá Tuy nhiên ở công đoạn cuối cùng, việc phân tích kết
Trang 16Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
quả sau khi đã khai phá dữ liệu vẫn luôn là công việc của con người
Do là một lĩnh vực đa ngành, khai phá dữ liệu thu hút các lĩnh vực khoa học khác như trí tuệ nhân tạo, cơ sở dữ liệu, hiển thị dữ liệu, marketing, toán học, vận trù học sinh, nhận dạng mẫu, tính toán thống kê…
Điều mà khai phá dữ liệu có thể làm rất tốt là phát hiện ra những giả thuyết mạnh trước khi sử dụng những công cụ tính toán thống kê Mô hình dự báo sử dụng
kỹ thuật phân cụm (Crustering) để chia nhóm các sự vật, sự kiện sau đó rút ra các luật nhằm tìm ra đặc trưng cho mỗi nhóm và cuối cùng đề nghị một mô hình Ví dụ, những bạn đọc đăng ký dài hạn của một tạp chí có thể phân nhóm dựa theo nhiều tiêu trí khác nhau (lứa tuổi, giới tính, thu nhập…), sau đó tạp chí căn cứ vào đặc trưng riêng của từng nhóm để đề ra mức phí thu trong năm sao cho phù hợp nhất Chúng ta thấy, những nhiệm vụ cơ bản nhất của khai phá dữ liệu là:
- Phân cụm, phân loại, phân nhóm, phân lớp Nhiệm vụ là trả lời câu hỏi; khai phá luật kết hợp; Lập mô hình dự báo, bao gồm hai nhiệm vụ; Phân tích đối tượng ngoài cuộc; Phân tích sự tiến hoá
1.2.3 Triển khai việc khai phá dữ liệu
Nhóm các tác giả CABENAETAL Đề nghị triển khai quá trình khai phá dữ liệu theo 5 bước
Bước 1: Xác định rõ mục tiêu thương mại cần khai phá
Bước 2: Chuẩn bị dữ liệu (thu thập, tiền xử lí, chuyển đổi khuôn dạng dữ liệu
nếu thấy cần thiết)
Bước 3: Khai phá dữ liệu (chọn thuật toán thích hợp)
Bước 4: Phân tích kết quả thu được (xem có gì thú vị không ?)
Bước 5: Xử lí các tri thức thu lượm được (nhằm đề ra kế hoạch khai thác các
thông tin mới)
Trang 17Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
1.2.4 Một số ứng dụng khai phá dữ liệu
Hiện nay, kỹ thuật khai phá dữ liệu đang được áp dụng một cách rộng rãi trong rất nhiều lĩnh vực kinh doanh và đời sống khác nhau như:
- Thương mại: Phân tích dữ liệu bán hàng và thị trường, phân tích đầu tư,
- Thông tin sản xuất: Điều khiển và lập kế hoạch, hệ thống quản lý,
- Thông tin khoa học: Dự báo thời tiết, cơ sở sản xuất sinh học,
- Trong y tế marketing, ngân hàng, viễn thông, du lịch, internet,…
1.2.5 Các kỹ thuật khai phá dữ liệu
Các kỹ thuật khai phá dữ liệu thường được chia thành hai nhóm chính:
- Kỹ thuật khai phá dữ liệu mô tả: Có 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 hiện có Các kỹ thuật này gồm có: Phân cụm (clustering), tóm tắt (summerization), trực quan hoá (visualiztation), phân tích sự phát triển và độ lệch (evolution and deviation analyst), phân tích luật kết hợp (association rules)
- Kỹ rhuật khai phá dữ liệu đoán: Có nhiệm vụ đưa ra các dự đoán dựa vào các suy diễn trên dữ liệu hiện thời Các kỹ thuật này gồm có: Phân lớp (classification), hồi quy (regession)
Tuy nhiên, chỉ 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á kết hợp
a Phân cụm dữ liệu: Mục tiêu chính của phương pháp phân cụm dữ liệu là
nhóm các đối tượng tương tự nhau trong tập dữ liệu vào các cụm sao cho các đối tượng thuộc các cụm khác nhau sẽ không tương đồng Phân cụm dữ liệu là một ví
dụ của phương pháp học không có thầy Không giống như phân lớp dữ liệu, phân cụm dữ liệu không đòi hỏi phải định nghĩa trước các mẫu dữ liệu huấn luyện Vì thế
có thể coi phân cụm dữ liệu là một cách học bằng quan sát (learning by observation) Trong phương pháp này bạn không thể biết kết quả các cụm thu được
Trang 18Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
sẽ thế nào khi bắt đầu quá trình Vì vậy, thông thường cần có một chuyên gia về lĩnh vực đó để đánh giá các cụm thu được Phân cụm dữ liệu được sử dụng nhiều trong các ứng dụng về 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 dữ liệu còn có thể được sử dụng như một bước tiền xử lí cho các thuật toán khai phá dữ liệu khác
b Phân lớp dữ liệu: Mục tiêu của phương pháp phân lớp dữ liệu là dự đoán
nhãn lớp cho các mẫu dữ liệu Quá trình phân lớp dữ liệu thường gồm hai bước:
Xây dựng mô hình và sử dụng mô hình để phân lớp dữ liệu
Bước 1: Một mô hình sẽ được xây dựng dựa trên việc phân tích các mẫu dữ
liệu có sẵn Mỗi mẫu tương ứng với một lớp, được quyết định bởi một thuộc tính gọi là thuộc tính lớp Các lớp dữ liệu này còn được gọi là lớp dữ liệu huấn luyện (training data set) Các nhãn lớp của tập dữ liệu đều phải được xác định 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 chúng ta phải tính độ
chính xác của mô hình Nếu độ chính xác là chấp nhận được, mô hình sẽ được sử dụng để dự đoán nhãn lớp cho các mẫu dữ liệu khác trong tương lai
c Phương pháp hồi quy: Phương pháp hồi quy khác với phân lớp dữ liệu ở
chỗ: Hồi quy dùng để dự đoán về các giá trị liên tục còn phân lớp dữ liệu chỉ dùng
để dự đoán về các giá trị rời rạ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 Có rất nhiều ứng dụng khai phá dữ liệu với nhiệm vụ hồi quy, chẳng hạn như khả năng đánh giá tử vong của bệnh nhân khi biết các kết quả Xét nghiệm, chẩn đoán, dự đoán nhu cầu tiêu thụ một sản phẩm mới bằng một hàm chỉ tiêu quảng cáo
d Khai phá luật kết hợp: Mục tiêu của phương pháp này là phát hiện và đưa
ra các mối liên hệ giữa các giá trị dữ liệu trong cơ sở dữ liệu Một đầu ra của giải thuật khai phá dữ liệu là luật kết hợp tìm được Chẳng hạn phân tích cơ sở dữ liệu bán hàng nhận được thông tin về những khách hàng mua máy tính có khuynh hướng mua phần mềm quản lý tài chính trong cùng lần mua được miêu tả trong luật kết
Trang 19Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
hợp sau: "Máy tính => Phần mềm quản lý tài chính" (độ hỗ trợ: 2%, độ tin cậy: 60%) Khai phá luật kết hợp được thực hiện qua hai bước:
Bước1: Tìm tất cả các tập mục phổ biến, một tập mục phổ biến được xác định
qua tính hỗ trợ và thoả mãn độ hỗ trợ cực tiểu
Bước2: Sinh ra các luật kết hợp mạnh từ tập mục phổ biến, các luật thoả mãn
độ hỗ trợ cực và độ tin cậy cực tiểu
Phương pháp này được sử dụng rất hiệu quả trong các lĩnh vực như maketing
có chủ đích, phân tích quyết định, quản lý kinh doanh, phân tích giá thị trường
1.2.6 Kiến trúc của hệ thống khai phá dữ liệu
Như đã trình bày ở trên, khai phá dữ liệu là một giai đoạn trong quá trình phát hiện tri thức từ số lượng lớn dữ liệu lưu trữ trong các cơ sở dữ liệu, kho dữ liệu hoặc các kho lưu trữ khác Bước này có thể tương tác lẫn nhau giữa người sử dụng
và cơ sở tri thức, những mẫu đáng quan tâm được đưa cho người dùng hoặc lưu trữ như là tri thức mới trong cơ sở tri thức
Hình 1.2 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 (Hình 1.2) có các thành phần sau:
- Cơ sở dữ liệu, kho dữ liêụ đó là một hoặc tuyển tập các cơ sở dữ liệu, kho
dữ liệu Các kĩ thuật làm sạch dữ liệu, lọc dữ liệu có thể thực hiện trên dữ liệu
Đánh giá mẫu
CSDL hay kho dữ liệu phục
vụ
Giao diện người dùng
Mô tả khai phá dữ liệu
Kho dữ liệu
Cơ sở dữ liệu
cơ sở tri thức
Trang 20Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
- Cơ sở dữ liệu hoặc kho dữ liệu phục vụ: Là kết quả lấy 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à lĩnh vực tri thức được sử dụng để hướng dẫn việc tìm hoặc đánh giá các mẫu kết quả thu được
- Mô tả khai phá dữ liệu: Bao gồm tập các modul chức năng để thực hiện các nhiệm vụ mô tả đặc điểm, kết hợp, phân lớp, phân cụm dữ liệu
- Đánh giá mẫu: Thành phần này sử dụng các độ đo và tương tác với modul khai phá dữ liệu để tập trung vào tìm các mẫu quan tâm
- Giao diện người dùng: Đây là modul giữa người dùng và hệ thống khai phá
dữ liệu Cho phép người dùng tương tác với hệ thống trên cơ sở những truy vấn hay tác vụ, cung cấp thông tin cho việc tìm kiếm
1.2.7 Quá trình khai phá dữ liệu
Các thuật toán khai phá dữ liệu thường được mô tả như những chương trình hoạt động trực tiếp trên tệp dữ liệu Với phương pháp máy học và thống kê trước đây, thường thì bước đầu tiên các thuật toán nạp toàn bộ tệp dữ liệu vào bộ nhớ Khi chuyển sang các ứng dụng công nghiệp liên quan đến việc khai thác các kho dữ liệu lớn, mô hình này không thể ứng dụng bởi vì không thể nạp hết các dữ liệu vào bộ nhớ mà còn khó có thể chiết xuất ra những tệp đơn giản để phân tích
Quá trình khai phá dữ liệu (Hình 1.3) bắt đầu bằng cách xác định chính xác vấn đề cần giải quyết Tiếp đến là xác định dữ liệu liên quan dùng để xây dựng giải pháp Bước tiếp theo là thu thập các dữ liệu liên quan và xử lí chúng thành dạng sao cho thuật toán khai phá có thể hiểu được
Trang 21Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Hình 1.3 Quá trình khai phá dữ liệu
Sau đó chọn thuật toán khai phá dữ liệu thích hợp và thực hiện việc khai phá
dữ liệu để tìm được các mẫu có ý nghĩa dưới dạng biểu diễn tương ứng (luật kết hợp, cây quyết định )
Kết quả thu được mẫu phải có đặc điểm mới Độ mới có thể được đối sánh tương ứng với độ thay đổi trong dữ liệu hoặc bảng tri thức Thường thì độ đo mới của mẫu được đánh giá bằng một hàm logic hoặc hàm độ đo mới Ngoài ra mẫu còn
có khả năng sử dụng tiềm ẩn
Với thuật toán và nhiệm vụ khai phá dữ liệu khác nhau thì dạng mẫu chiết xuất được cũng rất đa dạng
1.2.8 Những khó khăn trong khai phá dữ liệu
Việc nghiên cứu và ứng dụng kỹ thuật khai phá dữ liệu gặp nhiều khó khăn, nhưng không phải là không giải quyết được mà chúng cần phải được tìm hiểu để
có thể phát triển tốt hơn Những khó khăn phát sinh trong khai phá dữ liệu chính
là dữ liệu trong thực tế thường động, không đầy đủ lớn và bị nhiễu Trong trường hợp khác, người ta không biết cơ sở dữ liệu có chứa thông tin cần thiết cho việc khai thác hay không và làm thế nào để giải quyết sự dư thừa thông tin không thích hợp này Dữ liệu lớn, kích thước lớn là những khó khăn cho khai phá dữ liệu
Trang 22Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
1.3 Hệ thông tin đầy đủ và mô hình tập thô truyền thống
1.3.1 Hệ thông tin đầy đủ
Hệ thông tin là công cụ biểu diễn tri thức dưới dạng 1 bảng dữ liệu gồm p cột
tương ứng với p thuộc tính và n hàng ứng với n đối tượng Một cách hình thức, hệ
thông tin được định nghĩa như sau
Định nghĩa 1.1 Hệ thông tin là một bộ tứ IS=(U,A,V,f) trong đó U là một tập
hữu hạn, khác rỗng các đối tượng, A là một tập hữu hạn, khác rỗng các thuộc tính, V=
b i (u)=b i (v) với mọi i = 1, ,k
Cho hệ thông tin IS=(U,A,V,f), nếu tồn tại u∈U và a∈A sao cho a(u) thiếu giá trị (missing value) thì IS được gọi là hệ thông tin không đầy đủ, trái lại IS được gọi là hệ thông tin đầy đủ Ta tự hiểu hệ thông tin đầy đủ được gọi tắt là hệ thông tin
Xét hệ thông tin IS=(U,A V,f) Mỗi tập con các thuộc tính P⊆ A xác định một quan hệ hai ngôi trên U, ta ký hiệu IND(P), xác định bởi
IND(P)={(u,v)∈ U x U a ∈ P, a(u)=a(v)}
IND(P) là quan hệ P – không phân biệt được Dễ thấy rằng IND (P) là một quan hệ tương đương trên U Nếu (u,v)∈ IND(P) thì hai đối tượng u và v không
Trang 23Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
phân biệt được bởi các thuộc tính trong P Quan hệ tương đương IND(P) xác định một phân hoạch U/P chứa đối tượng u là [u] p , khi đó [u] p ={v∈ U/(u,v)∈ IND(P)}
Định nghĩa 1.2 [12] Cho hệ thông tin IS=(U,A,V,f), và P, Q⊆ A
1) Phân hoạch U/P và phân hoạch U/Q là như nhau (viết U/P=U/Q), khi và chỉ
khi u∈ U, [u] P =[u] Q
2) Phân hoạch U/P mịn hơn phân hoạch U/Q là như nhau (viết U/Pp U/Q), khi
và chỉ khi u∈ U, [u] P⊆ [u] Q
Tính chất 1.1 [12] Xét hệ thông tin IS=( U,A,V,f ) và P, Q⊆ A
1) Nếu P⊆Q thì U/Q ≤ U/P, mỗi lớp của U/P là một lớp hoạch hợp của một số lớp thuộc U/Q
2) Với mọi u∈U ta có [u] P∪Q =[u] p ∩[u] Q
1.3.2 Mô hình tập thô truyền thống
Cho hệ thông tin IS=(U,A,V,f), và tập đối tượng X⊆U Với một tập thuộc tính
B⊆A cho trước chúng ta có các lớp tương đương của phân hoạch U/B, thế thì một tập đối tượng X có thể biểu diễn thông qua các lớp tương đương này như thế nào? Trong lý thuyết tập thô, để biểu diễn X thông qua các lớp tương đương của U/B (còn gọi là biểu diễn X bằng tri thức có sẵn trong B), người ta xấp xỉ X bởi hợp của một số hữu hạn các lớp tương đương của U/B Có hai cách xấp xỉ tập đối tượng
X thông qua tập thuộc tính B, được gọi là B xấp xỉ dưới và B xấp xỉ trên của X, ký
hiệu lần lượt là BX và BX được xác định như sau:
BX ={u∈U /[u] B⊆X}, BX ={u∈U /[u] B ∩X ≠};
Tập BX bao gồm tất cả các phần tử của U chắc chắn thuộc vào X, còn tập BX
Trang 24Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
bao gồm các phần tử của U có thể thuộc vào X dựa trên tập thuộc tính B Từ hai tập xấp xỉ nêu trên, ta định nghĩa các tập
BN B (X = BX - BX : B miền biên của X, U- BX : B miền ngoài của X
B miền biên của X là tập chứa các đối tượng có thể thuộc hoặc không thuộc X, còn B miền ngoài của X chứa các đối tượng chắc chắn không thuộc X Sử dụng các lớp của phân hoạch U/B, các xấp xỉ dưới và trên của X có thể viết lại
Trang 25Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
1) Tập X là B - xác định thô nếu BX≠ và BX≠U
2) Tập X là B - không xác định trong nếu BX= và BX≠U
3) Tập X là B - không xác định ngoài nếu BX≠ và BX =U
4) Tập X là B - không xác định hoàn toàn nếu BX= và BX=U
1.3.3 Bảng quyết định đầy đủ
Một lớp đặc biệt của hệ thông tin có vai trò quan trọng trong nhiều ứng dụng là
bảng quyết định Bảng quyết định là một hệ thông tin DS với tập thuộc tính A đƣợc chia thành hai tập khác rỗng rời nhau C và D, lần lƣợt đƣợc gọi là tập thuộc tính điều kiện và tập thuộc tính quyết định Tức là DS=(U,C∪D,V,f) với C ∩ D=
Trang 26Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Xét bảng quyết định DS=(U,C∪D,V,f) với giả thiết mọi u∈U, d∈ D, d(u) đầy
đủ giá trị, nếu tồn tại u∈U và c∈ C sao cho c(u) thiếu giá trị thì DS được gọi là bảng quyết định không đầy đủ, trái lại DS được gọi là bảng quyết định đầy đủ Trong
luận văn này, bảng quyết định đầy đủ được gọi tắt là bảng quyết định
Bảng quyết định DS được gọi là nhất quán nếu D phụ thuộc vào C, tức là với mọi u,v∈U, C(u)=C(v) kéo theo D(u)=D(v) Ngược lại thì gọi là không nhất quán
hay mâu thuẫn Theo định nghĩa miền dương, bảng quyết định là nhất quán khi và
chỉ khi POS C (D)=U Trong trường hợp bảng không nhất quán thì POS C (D) chính là tập con cực đại của U sao cho phụ thuộc hàm C D đúng
Định nghĩa 1.3 [11] (tập lõi dựa trên miền dương) Cho bảng quyết định
DS=(U,C∪D,V,f) Thuộc tính c∈C được gọi là không cần thiết (dispensable) trong
DS dựa trên miền dương nếu POS C (D)=POS (C-{d}) (D) Ngược lại, c được gọi là cần
thiết (indispensable) Tập tất cả các thuộc tính cần thiết trong DS được gọi là tập lõi
dựa trên miền dương và được ký hiệu là PCORE (C) Khi đó, thuộc tính cần thiết
chính là thuộc tính lõi
Trang 27Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Theo định nghĩa 1.3 thuộc tính không cần thiết được gọi là thuộc tính dư thừa hoặc thuộc tính rút gọn
Định nghĩa 1.4 [11] (tập rút gọn dựa trên miền dương) Cho bảng quyết định
DS=(U,C∪D,V,f) Và tập thuộc tính R⊆C
Nếu 1) POS R (D)=POS C (D) 2) r∈ R, POS R-{r} (D)≠POS C (D)
Thì R là một tập rút gọn của C dựa trên miền dương
Tập rút gọn định nghĩa như trên còn gọi là tập rút gọn Pawlak Ký hiệu
PRED(C) là họ tất cả các tập rút gọn Pawlak của C Khi đó PCORE(C)=
( )
R PRED CI R
Định nghĩa 1.5 Cho bảng quyết định DS=(U,C∪ D,V,f) Và a∈C Ta nói rằng a là thuộc tính rút gọn của DS nếu tồn tại 1 tập rút gọn R∈ PRED(C) sao cho a∈ R
Định nghĩa 1.6 Cho bảng quyết định DS=(U,C∪ D,V,f) Và a∈C Ta nói rằng
a là thuộc tính dư thừa của DS nếu a∈
Trang 28Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
nhất Các thuộc tính không cần thiết bao gồm:
+ Thuộc tính Mệt mỏi là thuộc tính dƣ thừa vì không tham gia vào rút gọn nào + Hai thuộc tính Đau đầu và Đau cơ là hai thuộc tính rút gọn vì đều có mặt trong một tập rút gọn Hai thuộc tính này đều không cần thiết theo nghĩa là, từ bảng
dữ liệu, có thể loại bỏ một trong hai thuộc tính này mà vẫn chuẩn đoán đúng bệnh Tức là
POS {Đau cơ, Thân nhiệt} ({Cảm cúm})=POS C ({Cảm cúm})
POS{Đau đầu, Thân nhiệt}({Cảm cúm})=POSC({Cảm cúm})
1.4 Cơ sở dữ liệu quan hệ
1.4.1 Một số khái niệm cơ bản
Mục này trình bày các khái niệm cơ bản nhất về mô hình dữ liệu quan hệ của E.F.codd Các khái niệm này có thể xem trong [6,7,8,13]
Cho R={a1, ,an} là tập hữu hạn, khác rỗng các thuộc tính, mỗi thuộc tính ai có
miền giá trị là D(a i) Quan hệ r trên R là tập các bộ {h1, ,hm} với hj:R→
i
a R D(a i ), 1≤ ≤ m là một hàm sao cho h j (a i)D(a i )
Chor ={h1, ,hm} là một quan hệ trên tập thuộc tính R={a 1, , a n } Phụ thuộc hàm (PTH) trên R là một dãy kí tự có dạng A→B với A, B R PTH A→B thỏa
mãn quan hệ r trên R nếu
(h i ,h jr)( a A)(h i (a)=h j (a))( b B )(h i (b)=h j (b)))
Đặt F r ={(A,B):A,BR, A→B} là họ đầy đủ các PTH thỏa mãn quan hệ r Ký hiệu P(R) là tập các tập con của R Cho F=P(R)P(R) Ta nói rằng F là một họ f trên R nếu với mọi A, B, C, DR
(1) (A,A)F
(2) (A, B)F, (B,C)F(A,C)F
Trang 29Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
A ={a:A{a} F}, Ađược gọi là bao đóng của A trên quan hệ r
Cho r là một quan hệ, s=<R, F> là một SĐQH và AR Khi đó A là một khóa của r (tương ứng của s) nếu AR (AR F) Ta gọi A là một khóa của r (tương ứng của s) Nếu A là một khóa tối thiểu của r (tương ứng s) nếu A là một khóa của r (tương ứng của s) và bất kì một tập con thực sự của A không khóa của r (tương ứng của s ) Ký hiệu rvà s tương ứng là tập tất cả các khóa tối thiểu của r và s
Cho s=<R,F> là SĐQH trên R,aR Đặt s
a
={AR: A{a}, B:(B{a}) (BA)} Khi đó, s
a
Được gọi là họ các tập tối thiểu của thuộc tính a trên s Tương
tự, cho r là một quan hệ trên R và aR Đặt r
a
={AR: A{a}, B: (B{a}) (B A)} khi đó, r
a
được gọi là họ các tập tối thiểu cảu thuộc tính a và s
Gọi k P(R) Là một hệ Sperner trên R Nếu với mọi A, B Dễ thấy
={AR:(B K)(BA)} và nếu (AC)(B)(BC) Dễ thấy 1
cũng là một hệ Sperner trên R Nếu là một hệ Sperner trên R đóng vai trò là tập các khóa tối thiểu của quan hệ r (hoặc SĐQH s) thì 1 là họ tất cả các tập không
phải khóa lớn nhất của r (hoặc của s), gọi là tập các phản khóa Nếu là một hệ
Trang 30Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
sperner trên R đóng vai trò là họ các tập tối thiểu của thuộc tính a trên r (hoặc trên s), hay = 1 (hoặc k=k a s), thì 1
{a s} ={AR: A{a}F, ABB{a}F}
Cho r một quan hệ trên R Đặt r ={Eij:1i<j r } với
Eij={aR:h i (a)=h j (a)} r đƣợc gọi là hệ bằng nhau của r Đặt
r
Định nghĩa 1.7 [17] (Tập lõi dựa trên entropy Shannon có điều kiện) Cho
bảng quyết định DS=(U,CD,V,f), thuộc tính aC đƣợc gọi là không cần thiết
(dispensable) trong DS dựa trên enyropy shannon có điều kiện nếu
H(D C)=H(D C-{a}); Ngƣợc lại, a gọi là cần thiết (indispensable) Tập tất cả thuộc tính cần thiết trong DS đƣợc gọi là tập lõi dựa trên entropy Shannon có điều kiện và kí hiệu là HCORE(C)
1.4.2 Một số thuật toán cơ bản
Trang 31Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Độ phức tạp thời gian của Thuật toán 1.1
Rõ ràng, và 1 xác định duy nhất lẫn nhau và thuật toán không phụ thuộc
vào thứ tự của dãy B1, ,B m. Đặt {X , ,1 }
1
m
q q q
- Trong mỗi bước của thuật toán, q là hệ Sperner trên R Theo [8], kích thước
của hệ Sperner bất kỳ trên R không vượt quá [n/2] 1/ 2 1/ 2
n
C n với n= R Do đó, độ phức tạp thời gian của Thuật toán 1.1 là hàm số mũ theo n
- Trường hợp I q I m (q=1, ,m-1), độ phức tạp thời gian của Thuật toán 1.1
- Nếu là hệ Sperner trên R đóng vai trò là tập khoá tối thiểu của quan hệ r
(hoặc SĐQH s) thì Thuật toán 1.1 thực hiện tìm tập phản khoá 1
- Nếu là hệ Sperner trên R đóng vai trò là họ các tập tối thiểu của thuộc tính
a trên r (hoặc trên s), hay r
Trang 32Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Trang 33Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Độ phức tạp thời gian của Thuật toán 1.3
Theo [8], độ phức tạp thời gian của thuật toán 1.3 là
O 1 1 12
1
q q p q
- Tương tự thuật toán 1.1 , độ phức tạp thời gian của thuật toán 1.3 là hàm số
Nhận xét:
- Nếu 1
là hệ sperner trên R đóng vai trò là tập phản khoá của hệ r thì thuật
toán 1.3 thực hiện tìm tệp khoá tối thiểu
- Nếu là hệ sperner trên R đóng vai trò là tập { r
a
} 1
thì thuật toán 1.3 thực
hiện tìm họ các tập tối thiểu của thuộc tính a trên r (hoặc trên s)
Thuật toán 1.4 Tìm một tập tối thiểu của thuộc tính a trên s
Đầu vào: cho s=(R={a1, ,a n },F) là SĐQH, a ={a1}
Đầu ra: A s
a
1 Đặt L(0)=R
Trang 34Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Theo [7], độ phức tạp thời gian của thuật toán 1.4 là O( R2 F )
Thuật toán 1.5 [7] Tìm họ các tập tối thiểu của thuộc tính a trên s
Đầu vào: Cho s = <R, F> là SĐQH Và a R
Trang 35Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Theo [17], độ phức tạp thời gian tồi nhất của Thuật toán 1.5 là
OR F a s R a s Như vậy, độ phức tạp này là đa thức theo R F, và s
a
Nếu
số lượng phần tử của s
a
đối với s=<R, F> là đa thức theo kích thước của s thì
thuật toán hiệu quả, đặc biệt khi s
Trang 36Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
CHƯƠNG 2: RÚT GỌN THUỘC TÍNH VÀ MỘT SỐ THUẬT TOÁN TRÊN
BẢNG QUYẾT ĐỊNH NHẤT QUÁN 2.1 Mở đầu
Kỹ thuật sử dụng metric đóng vai trò quan trọng trong khai phá dữ liệu Trong những năm gân đây, kỹ thuật này được nhiêu người nghiên cứu và áp dụng vào việc giải quyết các bài toán trong khai phá dữ liệu như phần lớn, phần cụm, lựa chọn đặc trưng
Một metric trên tập hợp U là một ánh xa d :UU[0,∞) thoả mãn các điều
kiện sau với mọi x, y, z U
P (1) d(x, y) 0, d(x, y) = 0 khi và chỉ khi x = y
P (2) d(x, y) = d (y, x)
P (3) d(x, y) + d(y, x)d(x, z)
Điều kiện P(3) được gọi là tiên đề bất đẳng thức tam giác Bộ đôi (U,d) được
gọi là một tam giác metric
Đối với bảng quyết định thường chứa các đối tượng không nhất quán (là các đối tượng bằng nhau trên tập thuộc tính điều kiện nhưng khác nhau trên tập thuộc tính quyết định), gọi là bảnh quyết định không nhất quán Tuy nhiên, tuỳ thuộc vào lớp bài toán cần giải quyết mà ta có thể chuyển bảng quyết định không nhất quán về bảng quyết định nhất quán qua bước tiền sử lý số liệu bằng cách loại bỏ các đối tượng không nhất quán
Như đã trình bày trong chương 1, bảng quyết định DS=(U,C{d},V,f) là nhất quán khi và chỉ khi phụ thuộc hàm C→{d} đúng và B là tập rút gọn của C nếu B là tập tối thiểu thoả mãn phụ thuộc hàm B→{d} [48] Trong cơ sở dữ liệu quan hệ r trên tập thuộc tính B R là một tập tối thiểu của thuộc tính d R,d B
nếu B là tập tối thiểu thoả mãn phụ thuộc hàm B→{d} [17] Do đó ,khái niệm tập
rút gọn của bảnh quyết định tương đương với khái niệm tối thiểu của thuộc tính
Trang 37Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
{d} trên quan hệ
Với đối tượng nghiên cứu là các bảng quyết định nhất quán, chương trình này bày một số thuật toán liên quan đến tập rút gọn sử dụng một số thuật toán và một số kết quả liên quan đến tập tối thiểu của một thuộc tính trong cơ sở dữ liệu quan hệ
2.2 Một số tính chất của metric trên bảng quyết định
Với bảng quyết định DS=(U,CD V f, , ), Mệnh đề 2.2 sau đây xây dựng công
thức tính khoảng cách giữa hai tri thức K(C) và K(CD) dựa vào các phân hoạch U/C và U/D
Mệnh đề 2.1 (Tính đơn điệu của )
RULE={Zij Zij:des(Xi)→des(Dj),XiU C,Dj U C,i=1 m,j=1 m} Nếu B C thì
(DS’) (DS)
Chứng minh: Giả sử U D={D1,D2,…,D3} từ giả thiết BC ta có UC p U B, nghĩa là mỗi khối U Bsẽ là tập các khối thuộc UC Không mất tính chất tổng quát, chỉ cần chứng minh mệnh đề trong trường hợp các khối của U Ctrùng với các khối của U Bnghĩa là
Trang 38Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Trang 39Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
độ chắc chắn tập luật quyết định được bảo toàn khi thực hiện các phương pháp rút gọn thuộc tính
Mệnh đề 2.2 Cho bảng quyết định DS=(U,CD V f, , ), giả sử U/C={C C1, 2, ,C m} và U/D={D D1, 2, ,D n}
=1
Trang 40Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
j
d (K(C),K(C,D) là khoảng cách giửa hai tri thức K(C) và K(CD), (DS) là độ
chắc chắn của DS Ta có d j (K(C),K(CD))+(DS) = 1
Chứng minh: Mệnh đề 2.3 chứng minh một tính chất quan trọng của metric
đƣợc xây dựng trên bảng quyết định: metric đƣợc xây dựng là đại lƣợng đối ngẫu
với độ chắc chắn của tập luật quyết định
Mệnh đề 2.4 (Tính phản đơn điệu) Cho bảng quyết định DS=(U,CD,V,f) và hai tập thuộc tính P,QC
d K Q K QD d K P K PD xảy ra khi và chỉ khi H D Q( ) H D P( ).
Chứng minh: Xét hai bảng quyết định DS 1 =(U,QD) và DS 2 =(U,PD) Từ
giả thiết QP theo mệnh đề 2.11
Ta có (DS 1 ) (DS 2 )1- (DS 1 )1- (DS 2 ) Do đó theo mệnh đề 3.2
Ta có d j (K(Q),K(QD))d j (K(P),K(PD)) Dấu đẳng thức sảy ra khi và
chỉ khi (DS 1 )= (DS 2 ) Từ nhận xét 2.2 ta kết luận d j (K(Q), K(QD))= d j (K(P),K(PD)) Khi và chỉ khi H(D Q )=H(D P )
Mệnh đề 2.5 Cho thấy tập thuộc tính P càng lớn thì khoảng cách giữa hai tri