quan hệ có ý nghĩa, có nhiều ứng dụng khác nhau như: Dự đoán giá trị thiếu thuộc tính trong bảng quan hệ bằng cách sử dụng các giá trị của các thuộc tính trong việc xác định tập hợp các
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
-
TRẦN KHÁNH
KHAI PHÁ PHỤ THUỘC HÀM XẤP XỈ
SỬ DỤNG PHỦ TỐI THIỂU VÀ LỚP TƯƠNG ĐƯƠNG
Chuyên ngành: Khoa học máy tính
Mã số: 60 48 01
TÓM TẮT LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
Trang 2MỤC LỤC
MỤC LỤC i
DANH MỤC VIẾT TẮT VÀ KÍ HIỆU iii
DANH MỤC CÁC BẢNG BIỂU iv
DANH MỤC CÁC HÌNH VẼ v
MỞ ĐẦU 1
CHƯƠNG 1 4
TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU VÀ KHAI PHÁ PHỤ THUỘC HÀM, PHỤ THUỘC HÀM XẤP XỈ 4
1.1 Khai phá dữ liệu 4
1.1.1 Khám phá tri thức và khai phá dữ liệu 4
1.1.2 Kiến trúc của hệ thống khai phá dữ liệu 6
1.1.3 Quá trình khai phá dữ liệu 7
1.1.4 Một số kỹ thuật khai phá dữ liệu 8
1.1.5 Các cơ sở dữ liệu phục vụ cho khai phá dữ liệu 12
1.1.6 Một số ứng dụng của khai phá dữ liệu 14
1.2 Khai phá phụ thuộc hàm và phụ thuộc hàm xấp xỉ 15
1.2.1 Khai phá phụ thuộc hàm 15
1.2.2 Khai phá phụ thuộc hàm xấp xỉ 19
1.2.2.1 Định nghĩa phụ thuộc hàm xấp xỉ 20
1.2.2.2 Một số độ đo cơ bản 21
CHƯƠNG 2 THUẬT TOÁN KHAI PHÁ PHỤ THUỘC HÀM XẤP XỈ SỬ DỤNG PHỦ TỐI THIỂU VÀ LỚP TƯƠNG ĐƯƠNG 28
2.1 Lớp tương đương và phủ tối thiểu 29
2.1.1 Sự phân hoạch 29
2.1.2 Phân hoạch mịn hơn 31
2.1.3 Phủ tối thiểu 32
Trang 32.1.4 Phụ thuộc hàm xấp xỉ và lớp tương đương 35
2.2 Thuật toán TANE sửa đổi 38
2.2.1 Thủ tục chính của thuật toán TANE sửa đổi 38
2.2.2 Độ phức tạp của thuật toán TANE sửa đổi 41
2.3 Thuật toán khai phá phụ thuộc hàm xấp xỉ sử dụng phủ tối thiểu và lớp tương đương 41
2.3.1 Mô tả thuật toán 41
2.3.2 Độ phức tạp của thuật toán khai phá phụ thuộc hàm xấp xỉ sử dụng phủ tối thiểu và lớp tương đương 44
2.3.3 Phân tích thử nghiệm, so sánh về độ phức tạp thời gian 45
2.3.3.1 Phân tích thử nghiệm 45
2.3.3.2 So sánh về độ phức tạp thời gian (theo [8]) 46
CHƯƠNG 3 THỰC NGHIỆM KHAI PHÁ PHỤ THUỘC HÀM XẤP XỈ 48
3.1 Xây dựng chương trình thực nghiệm 48
3.1.1 Giới thiệu bài toán 48
3.1.2 Dữ liệu thử nghiệm 48
3.1.3 Xây dựng chương trình thực nghiệm 50
3.2 Thực nghiệm khai phá phụ thuộc hàm xấp xỉ 50
3.3 Kết quả thực nghiệm 51
KẾT LUẬN 52
TÀI LIỆU THAM KHẢO 53
PHỤ LỤC 55
Trang 4DANH MỤC VIẾT TẮT VÀ KÍ HIỆU SỬ DỤNG TRONG LUẬN VĂN
Trang 5DANH MỤC CÁC BẢNG BIỂU
Bảng 1.1: Ví dụ về quan hệ 17
Bảng 1.2: Các thuật toán khai phá phụ thuộc hàm 19
Bảng 1.3 Bảng quan hệ ví dụ về PTH xấp xỉ 21
Bảng 1.4: Bảng dữ liệu quan hệ số 24
Bảng 1.5: Bảng quan hệ ví dụ 25
Bảng 1.6: Bảng quan hệ ví dụ về phụ thuộc hàm điều kiện 27
Bảng 2.1: Bảng quan hệ vi dụ cho phân hoạch 30
Bảng 2.2: Bảng quan hệ ví dụ cho phân hoạch mịn hơn 32
Bảng 2.3: Bảng quan hệ ví dụ cho phụ thuộc hàm xấp xỉ 36
Bảng 2.4: Thời gian thực hiện cho cả hai thuật toán 45
Bảng 2.5: So sánh độ phức tạp thời gian dựa trên T(n) của hai thuật toán 46
Bảng 3.1: Dữ liệu trích chọn để khai phá 49
Bảng 3.2: Bảng mã hóa các thuộc tính 49
Trang 6DANH MỤC CÁC HÌNH VẼ
Hình 1.1 Quá trình khám phá tri thức 5
Hình 1.2 Kiến trúc của hệ thống khai phá dữ liệu 6
Hình 1.3: Quá trình khai phá dữ liệu 7
Hình 1.4: Cây quyết định 9
Hình 1.5: Mẫu kết quả của nhiệm vụ phân cụm dữ liệu 10
Hình 1.6: Mẫu kết quả của nhiệm vụ hồi quy 11
Hình 1.7: Các loại phụ thuộc dữ liệu 16
Hình 1.8 : Kỹ thuật phát hiện phụ thuộc hàm 18
Hình 2.1: Dàn cho các thuộc tính (A, B, C, D, E) 38
Hình 3.1: Dữ liệu đã mã hóa chuẩn bị cho khai phá 50
Hình 3.2: Giao diện kết quả được khai phá phụ thuộc hàm xấp xỉ 51
Trang 7MỞ ĐẦU
1 Đặt vấn đề
Trong những năm gần đây, Công nghệ thông tin (CNTT) phát triển mạnh
mẽ đã tác động đến mọi mặt của xã hội, những thành tựu của công nghệ lưu trữ
đã cho phép tạo ra những nguồn dữ liệu khổng lồ Việc khai thác các nguồn dữ liệu này ngày càng cấp thiết, đặt ra những thách thức lớn cho ngành CNTT, đặc biệt là lĩnh vực khai phá dữ liệu Với nguồn dữ liệu lớn như vậy thì việc tìm kiếm, phân tích, xử lý và đưa ra các thông tin cần thiết, phù hợp với thời gian và yêu cầu là điều không dễ dàng
Các phương pháp khai thác cơ sở dữ liệu truyền thống ngày càng không đáp ứng được nhu cầu thực tế này Vì vậy các phương pháp nghiên cứu, tiếp cận với những công cụ cho phép phân tích, tổng hợp, khai phá tri thức từ dữ liệu một cách thông minh, hiệu quả đã được nhiều nhà khoa học quan tâm nghiên cứu Khái niệm phụ thuộc hàm đóng một vai trò rất quan trọng trong lý thuyết
cơ sở dữ liệu quan hệ Các phụ thuộc hàm rất hữu ích trong việc phân tích và thiết kế cơ sở dữ liệu quan hệ như xác định khóa, xác định các dạng chuẩn, các vấn đề về nhất quán dữ liệu Tuy nhiên trong thực tế do có một số giá trị
dữ liệu không chính xác hoặc một số ngoại lệ nào đó làm cho các phụ thuộc hàm không thỏa Sự phụ thuộc tuyệt đối này dường như quá nghiêm ngặt khi
ta hình dung tới một quan hệ có hàng nghìn bộ, trong khi đó chỉ có khoảng vài bộ vi phạm phụ thuộc hàm Bỏ qua các phụ thuộc hàm này sẽ làm mất tính chất phụ thuộc vốn có giữa các thuộc tính Vì vậy các nhà nghiên cứu đã mở rộng khái niệm phụ thuộc hàm thành phụ thuộc hàm xấp xỉ theo một cách
Dependencies - AFDs) này cho phép có một số lượng lỗi nhất định của các bộ
dữ liệu đối với phụ thuộc hàm
Phụ thuộc hàm xấp xỉ được khai phá từ CSDL quan hệ biểu diễn các mối
Trang 8quan hệ có ý nghĩa, có nhiều ứng dụng khác nhau như: Dự đoán giá trị thiếu thuộc tính trong bảng quan hệ bằng cách sử dụng các giá trị của các thuộc tính trong việc xác định tập hợp các AFDs, tối ưu hóa truy vấn, viết lại câu truy vấn, chuẩn hóa cơ sở dữ liệu để cho hiệu suất tốt hơn và thiết kế lưu trữ hiệu quả hơn,…
Luận văn sẽ tìm hiểu về phụ thuộc hàm xấp xỉ và nghiên cứu thuật toán AFDMCEC, một thuật toán mới tìm các phụ thuộc hàm xấp xỉ trong các CSDL lớn dựa trên độ đo xấp xỉ Thuật toán này sử dụng một số khái niệm trong lý thuyết thiết kế CSDL quan hệ, đặc biệt là các khái niệm phủ tối thiểu
và lớp tương đương
2 Đối tượng và phạm vi nghiên cứu
Luận văn tìm hiểu tổng quan về khai phá dữ liệu, đi sâu tìm hiểu khái niệm phụ thuộc hàm, phụ thuộc hàm xấp xỉ và các tính chất, độ đo lỗi của phụ thuộc hàm xấp xỉ, từ đó nghiên cứu thuật toán TANE sửa đổi và thuật toán AFDMCEC tìm phụ thuộc hàm xấp xỉ
3 Hướng nghiên cứu của đề tài
- Tìm hiểu về phụ thuộc hàm, phụ thuộc hàm xấp xỉ và các độ đo lỗi của chúng
- Nghiên cứu về thuật toán khai phá phụ thuộc hàm xấp xỉ từ bảng quan
hệ
4 Phương pháp nghiên cứu
Phương pháp nghiên cứu chính của luận văn là nghiên cứu lý thuyết kết hợp với đánh giá thực nghiệm, cụ thể là: Phân tích, tổng hợp các kết quả nghiên cứu về phụ thuộc hàm, phụ thuộc hàm xấp xỉ, … đã công bố trên các bài báo khoa học, hội thảo chuyên ngành trong và ngoài nước Từ đó, trình bày làm rõ vấn đề khai phá phụ thuộc hàm xấp xỉ sử dụng phủ tối thiểu và lớp tương đương
Trang 95 Ý nghĩa khoa học và thực tiễn
Phụ thuộc hàm đóng vai trò quan trọng trong lý thuyết CSDL quan hệ Tuy nhiên, trong thực tế do có một số giá trị dữ liệu không chính xác hoặc một số ngoại lệ nào đó, làm cho các phụ thuộc hàm không thỏa mãn Sự phụ thuộc tuyệt đối này dường như quá nghiêm ngặt khi ta hình dung một quan hệ
có hàng nghìn bộ, trong khi đó chỉ có vài bộ vi phạm phụ thuộc hàm Do vậy,
mở rộng khái niệm phụ thuộc hàm thành phụ thuộc hàm xấp xỉ, cho phép có một số lỗi nhất định của các bộ dữ liệu, là rất cần thiết và có ý nghĩa cả về mặt lý thuyết cũng như thực tiễn
Các phụ thuộc hàm xấp xỉ không những giúp chúng ta thấy được mối quan hệ tiềm ẩn giữa các thuộc tính mà còn giúp ta thuận tiện hơn trong việc phân tích dữ liệu, đánh giá thông tin
Phát hiện phụ thuộc hàm xấp xỉ trong CSDL là một vấn đề nghiên cứu hấp dẫn và cũng là một trong những mục tiêu của phát hiện tri thức Tiếp cận phụ thuộc hàm xấp xỉ sử dụng phủ tối thiểu và lớp tương đương của khai phá dữ liệu là một hướng đi thú vị, hứa hẹn nhiều kết quả và ứng dụng hiệu quả trong thực tiễn
6 Cấu trúc luận văn:
Luận văn được trình bày trong 3 chương:
Chương 1: Tổng quan về khai phá dữ liệu và khai phá phụ thuộc hàm, phụ thuộc hàm xấp xỉ
Chương 2: Thuật toán khai phá phụ thuộc hàm xấp xỉ sử dụng phủ tối thiểu
và lớp tương đương
Chương 3: Thực nghiệm khai phá phụ thuộc hàm xấp xỉ
Cuối cùng là kết luận của luận văn và tài liệu tham khảo
Trang 10CHƯƠNG 1 TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU VÀ KHAI PHÁ PHỤ THUỘC
HÀM, PHỤ THUỘC HÀM XẤP XỈ 1.1 Khai phá dữ liệu
1.1.1 Khám phá tri thức và khai phá dữ liệu
Khai phá dữ liệu (KPDL) là việc rút trích tri thức một cách tự động và hiệu quả từ một khối dữ liệu lớn Tri thức đó thường ở dạng các mẫu có tính chất không tầm thường, không tường minh (ẩn), chưa được biết đến và có tiềm năng mang lại lợi ích Có một số nhà nghiên cứu còn gọi KPDL là phát hiện tri thức
từ cơ sở dữ liệu (Knowledge Discovery in Database – KDD) Ở đây chúng ta có thể coi KPDL là cốt lõi của quá trình phát hiện tri thức
Quá trình phát hiện tri thức gồm các bước:
Bước 1: Trích chọn dữ liệu (data selection): Là bước trích chọn những tập
dữ liệu cần được khai phá từ các tập dữ liệu lớn (databases, data ware houses)
Bước 2: Tiền xử lý dữ liệu (data preprocessing): Là bước làm sạch dữ liệu
(xử lý dữ liệu không đầy đủ, dữ liệu nhiễu, dữ liệu không nhất quán,…v.v), rút gọn dữ liệu (sử dụng các phương pháp thu gọn dữ liệu, histograms, lấy mẫu…v.v), rời rạc hóa dữ liệu (dựa vào histograms, entropy, phân khoảng, v.v) Sau bước này, dữ liệu sẽ nhất quán, đầy đủ, được rút gọn và được rời rạc hóa
Bước 3: Biến đổi dữ liệu (data transformation): Là bước chuẩn hóa và
làm mịn dữ liệu để đưa dữ liệu về dạng thuận lợi nhất nhằm phục vụ cho các kỹ thuật khai thác ở bước sau
Bước 4: Khai phá dữ liệu (data mining): Đây là bước quan trọng và tốn
nhiều thời gian nhất của quá trình khám phá tri thức, áp dụng các kỹ thuật khai phá (phần lớn là các kỹ thuật của machine learning) để khai phá, trích chọn được các mẫu (pattern) thông tin, các mối liên hệ đặc biệt trong dữ liệu
Trang 11Bước 5: Đánh giá và biểu diễn tri thức (knowledge representation &
evaluation): Dùng các kỹ thuật hiển thị dữ liệu để trình bày các mẫu thông tin
(tri thức) và mối liên hệ đặc biệt trong dữ liệu đã được khai thác ở bước trên biểu diễn theo dạng gần gũi với người sử dụng như đồ thị, cây, bảng biểu, luật,…v.v Đồng thời bước này cũng đánh giá những tri thức khám phá được theo những tiêu chí nhất định
Trong giai đoạn khai phá dữ liệu, có thể cần sự tương tác của người dùng để điều chỉnh và rút ra các tri thức cần thiết nhất Các tri thức nhận được cũng có thể được lưu và sử dụng lại
Hình 1.1 Quá trình khám phá tri thức Việc KPDL có thể được tiến hành trên một lượng lớn dữ liệu có trong CSDL, các kho dữ liệu hoặc trong các loại lưu trữ thông tin khác
Các mẫu đáng quan tâm có thể được đưa đến người dùng hoặc được lưu trữ trong một cơ sở tri thức
Trang 121.1.2 Kiến trúc của hệ thống khai phá dữ liệu
Kiến trúc của một hệ thống KPDL điển hình có thể có các thành phần phần như hình 1.2
- CSDL, kho dữ liệu hoặc các lưu trữ thông tin khác (Databases, Data
ware house,…): Đây là một hay một tập CSDL, các kho dữ liệu, các trang tính
hay các dạng lưu trữ thông tin khác Các kỹ thuật làm sạch dữ liệu và tích hợp
dữ liệu có thể được thực hiện trên những dữ liệu này
Hình 1.2 Kiến trúc của hệ thống khai phá dữ liệu
- Máy chủ CSDL hay máy chủ kho dữ liệu (Database or Warehouse Server): Máy chủ này có trách nhiệm lấy những dữ liệu tích hợp dựa trên các
(Graphical user interface)
(Pattern evaluation)
(Data mining engine)
(Database or Warehouse Server
Cơ sở dữ liệu Các lưu trữ thông
tin khác Kho dữ liệu
Cơ sở dữ liệu Giao diện đồ họa cho người dùng
Máy chủ CSDL hay ho dữ liệu
Đánh giá mẫu
Máy khai phá dữ liệu
Làm sạch: Tích hợp dữ liệu, lọc
(Knowledge-base)
Trang 13yêu cầu khai phá của người dùng
- Cơ sở tri thức (Knowledge-base): Đây là miền tri thức dùng để hướng
dẫn việc tìm kiếm hay đánh giá độ quan trọng của các hình mẫu kết quả
- Máy KPDL (Data mining engine): Một hệ thống KPDL cần phải có một
tập các modun chức năng để thực hiện công việc như: đặc trưng hóa, kết hợp, phân lớp, phân cụm, phân tích sự tiến hóa
- Modun đánh giá mẫu (Pattern evaluation): Bộ phận này tương tác với
các modun KPDL để duyệt tìm các mẫu đáng được quan tâm Nó có thể dùng các ngưỡng về độ quan tâm để lọc mẫu đã khám phá được Cũng có thể modun đánh giá mẫu được tích hợp vào modun khai phá, tùy theo cách cài đặt của phương pháp khai phá được dùng
- Giao diện đồ họa người dùng (Graphical user interface): Bộ phận này
còn cho phép người dùng giao tiếp với hệ thống KPDL Ngoài ra, bộ phận này còn cho phép người dùng xem các lược đồ CSDL, lược đồ kho dữ liệu (hay các cấu trúc dữ liệu), các đánh giá mẫu và hiển thị các mẫu trong các khuôn dạng khác nhau
1.1.3 Quá trình khai phá dữ liệu
Quá trình khai phá dữ liệu được thể hiện bởi mô hình sau:
Hình 1.3: Quá trình khai phá dữ liệu + Xác định nhiệm vụ: Xác định chính xác vấn đề cần giải quyết
Giải thuật khai phá DL
Xác định
nhiệm vụ
Xác định dữ liệu liên quan
Thu thập và tiền xử lý DL
Thống kê tóm tắt
Dữ liệu trực tiếp
Mẫu
Trang 14+ Xác định các dữ liệu liên quan dùng để xây dựng giải pháp
+ Thu thập các dữ liệu có liên quan và xử lý chúng thành dạng sao cho giải thuật khai phá dữ liệu có thể hiểu được Ở đây có thể gặp một số vấn đề: dữ liệu phải được sao ra nhiều bản (nếu được chiết suất vào các tệp), quản lý tập các tệp
dữ liệu, phải lặp đi lặp lại nhiều lần toàn bộ quá trình (nếu mô hình dữ liệu thay đổi v.v.)
+ 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: nhằm tìm được các mẫu (pattern) có ý nghĩa dưới dạng biểu diễn tương ứng với các ý nghĩa đó
1.1.4 Một số kỹ thuật khai phá dữ liệu
Mục đích của khai phá dữ liệu là chiết xuất ra các tri thức có lợi cho kinh doanh hay cho nghiên cứu khoa học… Do đó, ta có thể xem mục đích của khai phá dữ liệu sẽ là mô tả các sự kiện và dự đoán Các mẫu khai phá dữ liệu phát hiện được nhằm vào mục đích này Dự đoán liên quan đến việc sử dụng các biến hoặc các đối tượng (bản ghi) trong CSDL để chiết xuất ra các mẫu, dự đoán được những giá trị chưa biết hoặc những giá trị tương lai của các biến đáng quan tâm Mô tả tập trung vào việc tìm kiếm các mẫu mô tả dữ liệu mà con người có thể hiểu được
Một số kỹ thuật chính của khai phá dữ liệu:
Phân lớp dữ liệu
Khái niệm phân lớp dữ liệu được Han và Kamber đưa ra năm 2000 Phân lớp dữ liệu là xây dựng một mô hình mà có thể phân các đối tượng thành những lớp để dự đoán giá trị bị mất tại một số thuộc tính của dữ liệu hay tiên đoán giá trị của dữ liệu sẽ xuất hiện trong tương lai
Quá trình phân lớp dữ liệu được thực hiện qua hai bước Bước thứ nhất:
Dựa vào tập hợp dữ liệu huấn luyện, xây dựng một mô hình mô tả những đặc trưng của những lớp dữ liệu hoặc những khái niệm, đây là quá trình học có
Trang 15giám sát, học theo mẫu được cung cấp trước Bước thứ hai: Từ những lớp dữ
liệu hoặc những khái niệm đã được xác định trước, dự đoán giá trị của những đối tượng quan tâm
Một kỹ thuật phân lớp dữ liệu được Han và Kamber đưa ra là cây quyết định Mỗi nút của cây đại diện một quyết định dựa vào giá trị thuộc tính tương ứng
Kỹ thuật này đã được nhiều tác giả nghiên cứu và đưa ra nhiều thuật toán
Một ví dụ tiêu biểu về cây quyết định:
Hình 1.4: Cây quyết định Trong hình 1.4 là một cây quyết định cho lớp mua laptop, chỉ ra một khách hàng sẽ mua hay không mua một laptop Mỗi nút lá đại diện một lớp mà đánh giá mua laptop là Yes hay No Sau khi mô hình này được xây dựng, chúng ta có thể dự đoán việc có thể mua một laptop hay không dựa vào những thuộc tính khách hàng mới là tuổi và nghề nghiệp Cây quyết định có thể ứng dụng rộng rãi trong nhiều hoạt động của đời sống thực
Phân nhóm dữ liệu
Phân nhóm là kỹ thuật khai phá dữ liệu tương tự như phân lớp dữ liệu Tuy nhiên, sự phân nhóm dữ liệu là quá trình học không được giám sát, là quá trình nhóm những đối tượng vào trong những lớp tương đương, đến những đối tượng trong một nhóm là tương đương nhau, chúng phải khác với những đối tượng trong những nhóm khác Trong phân lớp dữ liệu, một bản ghi thuộc về lớp nào
Trang 16là phải xác định trước, trong khi phân nhóm không xác định trước Trong phân nhóm, những đối tượng được nhóm lại cùng nhau dựa vào sự giống nhau của chúng Sự giống nhau giữa những đối tượng được xác định bởi những chức năng giống nhau Thông thường những sự giống về định lượng như khoảng cách hoặc độ đo khác được xác định bởi những chuyên gia trong lĩnh vực của mình
Hình 1.5: Mẫu kết quả của nhiệm vụ phân cụm dữ liệu
Đa số các ứng dụng phân nhóm được sử dụng trong sự phân chia thị trường Với sự phân nhóm khách hàng vào trong từng nhóm, những doanh nghiệp có thể cung cấp những dịch vụ khác nhau tới nhóm khách hàng một cách thuận lợi Ví dụ, dựa vào chi tiêu, số tiền trong tài khoản và việc rút tiền của khách hàng, một ngân hàng có thể xếp những khách hàng vào những nhóm khác nhau Với mỗi nhóm, ngân hàng có thể cho vay những khoản tiền tương ứng cho việc mua nhà, mua xe,… Trong trường hợp này ngân hàng có thể cung cấp những dịch vụ tốt hơn và cũng chắc chắn rằng tất cả các khoản tiền cho vay đều có thể thu hồi được Ta có thể tham khảo một khảo sát toàn diện về kỹ thuật và thuật toán phân nhóm trong
Hồi qui (Regression): Là việc học một hàm ánh xạ từ một tập dữ liệu thành
một biến dự đoán có giá trị thực Nhiệm vụ hồi qui tương tự như phân lớp, điểm khác nhau chính là ở chỗ thuộc tính để dự báo là liên tục chứ không rời rạc [6] Việc dự báo các giá trị số thường được làm bởi các phương pháp thống kê cổ
Trang 17điển chẳng hạn như hồi qui tuyến tính Tuy nhiên, phương pháp mô hình hóa cũng được sử dụng
Hình 1.6: Mẫu kết quả của nhiệm vụ hồi quy Ứng dụng của hồi quy là rất nhiều, ví dụ: dự đoán số lượng sinh vật phát quang hiện thời trong khu rừng bằng cách dò tìm vi sóng bằng thiết bị cảm biến
từ xa; dự đoán khả năng 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 chi tiêu quảng cáo… hình 1.6 chỉ ra mẫu kết quả hồi quy tuyến tính đơn giản, ở đây tổng số nợ được điều chỉnh cho phù hợp giống như một hàm thu nhập tuyến tính Việc điều chỉnh này là không đáng kể bởi vì chỉ tồn tại một tương quan yếu giữa hai biến
Tổng hợp (summarization): Là công việc liên quan đến các phương pháp
tìm kiếm một mô tả cô đọng cho tập con dữ liệu Các kỹ thuật tổng hợp thường được áp dụng trong việc phân tích dữ liệu có tính thăm dò và báo cáo tự động
Mô hình hóa phụ thuộc (dependency modeling): Là việc tìm kiếm mô tả
các phụ thuộc quan trọng giữa các biến Mô hình phụ thuộc tồn tại hai mức: Mức cấu trúc của mô hình (thường dưới dạng đồ thị) xác định các biến phụ thuộc cục bộ vào các biến khác;
Mức định lượng của mô hình xác định mức độ phụ thuộc của biến Những phụ thuộc này thường được biểu thị dưới dạng luật
đường hồi quy tuyến tính
+ 0
0
0 + 0
0 0
+
+ 0
0 + + 0
0 0
+ + 0 0
+ 0
Thu nhập Nợ
Trang 18Quan hệ phụ thuộc cũng có thể biểu diễn dưới dạng mạng tin cậy [6] Đó là đồ thị có hướng không có dạng chu trình, các nút biểu diễn thuộc tính và trọng
số chỉ liên kết phụ thuộc giữa các nút đó
Phát hiện sự thay đổi và độ lệch (change and deviation dectection):
Nhiệm vụ này tập trung vào khám phá những thay đổi có ý nghĩa trong dữ liệu dựa vào các giá trị chuẩn hay độ đo đã biết trước, phát hiện độ lệch đáng kể giữa nội dung của tập con dữ liệu và nội dung mong đợi Hai mô hình độ lệch thường dùng là lệch theo thời gian và lệch theo nhóm Độ lệch theo thời gian là
sự thay đổi có nghĩa của dữ liệu theo thời gian Độ lệch theo nhóm là sự khác nhau giữa dữ liệu trong hai tập con dữ liệu, tính cả trường hợp tập con của đối tượng này thuộc tập con kia, nghĩa là xác định dữ liệu trong một nhóm con của đối tượng có khác nhau đáng kể so với toàn bộ đối tượng
1.1.5 Các cơ sở dữ liệu phục vụ cho khai phá dữ liệu
Dựa vào những kiểu dữ liệu mà kỹ thuật khai phá áp dụng, có thể chia dữ liệu thành các loại khác nhau
Cơ sở dữ liệu quan hệ
Đến nay, hầu hết dữ liệu được lưu giữ dưới dạng cơ sở dữ liệu quan hệ Cơ
sở dữ liệu quan hệ là một nguồn tài nguyên lớn nhất chứa những đối tượng mà chúng ta cần khai phá Cơ sở dữ liệu quan hệ có cấu trúc cao, dữ liệu được mô
tả bởi một tập những thuộc tính và lưu trong những bảng Khai phá dữ liệu trên
cơ sở dữ liệu quan hệ chủ yếu tập trung khai phá mẫu Ví dụ, trong cơ sở dữ liệu của một ngân hàng, ta có thể tìm được những khách hàng có mức chi tiêu cao, ta
có thể phân loại những khách hàng này dựa vào quá trình chi tiêu của họ Cũng với việc phân tích những mục tiêu của khách hàng, chúng ta có thể cung cấp một số thông tin của khách hàng đến những doanh nghiệp khác Giả sử rằng một khách hàng chi mỗi tháng 500 đô la cho thời trang, nếu được phép, ngân hàng có thể cung cấp thông tin về khách hàng này cho những cửa hàng thời
Trang 19trang
Cơ sở dữ liệu giao tác
Cơ sở dữ liệu giao tác là tập hợp những bản ghi giao dịch, trong đa số các trường hợp chúng là những bản ghi các dữ liệu hoạt động của doanh nghiệp, tổ chức Với tính phổ biến của máy tính và thương mại điện tử, ngày nay có rất nhiều cơ sở dữ liệu giao tác
Cơ sở dữ liệu không gian
Cơ sở dữ liệu không gian bao gồm hai phần: Phần thứ nhất là dữ liệu quan
hệ hay giao tác, phần thứ hai là thông tin định vị hoặc thông tin địa lý Ví dụ, những luật kết hợp trên cơ sở dữ liệu không gian mô tả mối quan hệ giữa các đặc trưng trong cơ sở dữ liệu không gian Dạng của luật kết hợp không gian có
khai phá luật kết hợp không gian tương tự như khai phá luật kết hợp nhưng thêm những vị từ về không gian
Cơ sở dữ liệu có yếu tố thời gian
Giống như cơ sở dữ liệu không gian, cơ sở dữ liệu có yếu tố thời gian bao gồm hai phần: Phần thứ nhất là dữ liệu quan hệ hay giao tác, phần thứ hai là thông tin về thời gian xuất hiện dữ liệu ở phần thứ nhất Những luật kết hợp có yếu tố thời gian có nhiều thông tin hơn những luật kết hợp cơ bản Ví dụ, từ luật
13 giờ là 50% trong thời gian từ 19 giờ tới 22 giờ Rõ ràng rằng, những người bán lẻ có thể xác định chiến lược để buôn bán tốt hơn
Hầu hết nghiên cứu về lĩnh vực này ngày nay hình thành một hướng khai phá dữ liệu mới gọi là khai phá mẫu lặp liên tục, khai phá tập mục dữ liệu thường xuyên trong cơ sở dữ liệu thời gian
Trang 20Cơ sở dữ liệu đa phương tiện
Số lượng trang web đang bùng nổ trên thế giới, web có mặt ở khắp mọi nơi, duyệt web đã là nhu cầu của mọi tầng lớp trong xã hội Thông tin trên web đang phát triển với tốc độ rất cao, khai phá thông tin trên web (web mining) đã trở thành một lĩnh vực nghiên cứu chính của khai phá dữ liệu, được các nhà nghiên cứu đặc biệt quan tâm Khai phá dữ liệu web thông thường được chia thành ba phạm trù chính: Khai phá cách dùng web (web usage mining), khai phá cấu trúc web (web structure mining) và khai phá nội dung web (web content mining) Khai phá cách dùng web tập trung vào việc khai phá thông tin của người truy cập web Với những thông tin này người khai phá dữ liệu có thể cung cấp những thông tin hữu ích cho người dùng và các nhà kinh doanh
1.1.6 Một số ứng dụng của khai phá dữ liệu
KPDL được vận dụng trong nhiều lĩnh vực khác nhau nhằm khai thác nguồn dữ liệu phong phú được lưu trữ trong các hệ thống thông tin Tuỳ theo bản chất của từng lĩnh vực, việc vận dụng KPDL có những cách tiếp cận khác nhau
KPDL được vận dụng có hiệu quả để giải quyết các bài toán phức tạp trong những ngành đòi hỏi kỹ thuật cao như: tìm kiếm mỏ dầu từ ảnh viễn thám, xác định vùng gãy trong ảnh địa chất để dự đoán thiên tai, cảnh báo hỏng hóc trong các hệ thống sản xuất
Phân nhóm và dự đoán là những kỹ thuật rất cần thiết cho việc quy hoạch
và phát triển hệ thống quản lý và sản xuất trong thực tế như: dự đoán tái sử dụng điện năng cho các công ty cung cấp điện, lưu lượng viễn thông cho các công ty điện thoại, mức độ tiêu thụ sản phẩm cho các nhà sản xuất, giá trị của sản phẩm trên thị trường cho các công ty tài chính hay phân nhóm khách hàng tiềm năng
Ngoài ra KPDL còn được áp dụng trong việc giải quyết các vấn đề xã hội như: phát hiện tội phạm hay tăng cường an ninh xã hội và mang lại những hiệu
Trang 21quả thiết thực cho các hoạt động trong đời sống hàng ngày
Một số ứng dụng cụ thể như sau:
- KPDL được sử dụng để phân tích dữ liệu, hỗ trợ ra quyết định
- Trong sinh học: nó dùng để tìm kiếm, so sánh các hệ gen và thông tin di truyền, tìm mối liên hệ giữa các hệ gen và chẩn đoán một số bệnh di truyền
- Trong y học: KPDL giúp tìm ra mối liên hệ giữa các triệu chứng, chẩn đoán bệnh
- Tài chính và thị trường chứng khoán: KPDL dùng để phân tích tình hình tài chính, phân tích đầu tư, phân tích cổ phiếu
- Khai thác dữ liệu web
- Trong thông tin kỹ thuật: KPDL dùng để phân tích các sai hỏng, điều khiển và lập lịch trình
- Trong thông tin thương mại: dùng để phân tích dữ liệu người dùng, phân tích dữ liệu marketing, phân tích đầu tư, phát hiện các gian lận
- Trong công nghiệp viễn thông: Phân tích nhu cầu và phân tích các mẫu gian lận và xác định các mẫu khác thường
1.2 Khai phá phụ thuộc hàm và phụ thuộc hàm xấp xỉ
1.2.1 Khai phá phụ thuộc hàm
Phụ thuộc hàm biểu diễn mối quan hệ giữa các thuộc tính của một cơ sở dữ liệu, một phụ thuộc hàm chỉ ra rằng giá trị của một thuộc tính được xác định duy nhất bởi giá trị của một số thuộc tính khác Phụ thuộc hàm đóng vai trò quan trọng trong chuẩn hóa cơ sở dữ liệu, phát hiện các phụ thuộc hàm cũng có thể giúp các nhà thiết kế cơ sở dữ liệu tách một lược đồ quan hệ thành nhiều lược đồ quan hệ đạt dạng chuẩn cao hơn
Một CSDL thiết kế không tốt trong là cơ sở dữ liệu có dư thừa thông tin, gặp bất thường cập nhật, bất thường khi chèn, bất thường khi xóa Chuẩn hóa là quá trình thiết kế lại lược đồ cơ sở dữ liệu để đảm bảo cho nó không có các dị
Trang 22thường Chuẩn hóa chia các quan hệ thành các quan hệ nhỏ hơn và mỗi quan hệ nhỏ đó ở một dạng chuẩn mong muốn Điều kiện để biến đổi từ dạng chuẩn này sang dạng chuẩn kia là sự ràng buộc giữa các bộ thuộc tính trong quan hệ, ràng buộc đó được biểu diễn bằng phụ thuộc hàm
Phụ thuộc của các thuộc tính: có 3 loại phụ thuộc của các thuộc tính
thường được khám phá là : phụ thuộc hàm (FD), phụ thuộc có điều kiện (CFDs) và phụ thuộc bao gồm (INDs) Hình 1.7 biểu diễn các loại phụ thuộc
dữ liệu (theo [11])
Hình 1.7: Các loại phụ thuộc dữ liệu
trên U, ký hiệu R (U) hoặc R nếu không sợ nhầm lẫn, là một tập con của tích
Một cách hình thức:
1 2 m
Các phần tử của quan hệ R được gọi là các bộ Một quan hệ không chứa
bộ nào được gọi là quan hệ rỗng
Định nghĩa 1.1: Một phụ thuộc hàm (PTH) trên quan hệ R (U) là một mệnh
đề có dạng X → Y (trong đó X, Y ⊆ U) Ta nói PTH X → Y đúng trên quan hệ
Khai phá dữ liệu
CFDs
Trang 24(A2) Tính gia tăng
(A3) Tính bắc cầu
Các tính chất từ (A1) – (A3) còn thường được gọi là hệ tiên đề
Armstrong hay tập quy tắc suy diễn Armstrong
Các kỹ thuật phát hiện phụ thuộc hàm
Phát hiện phụ thuộc hàm từ một bảng quan hệ đã được nhiều nhà nghiên cứu quan tâm Đã có nhiều thuật toán được đề xuất, hình 1.8 biểu diễn các
phương pháp cùng một số thuật toán
Hình 1.8 : Kỹ thuật phát hiện phụ thuộc hàm
Bảng 1.2 trình bày một số thuật toán điển hình và các kỹ thuật sử dụng trong thuật toán đó (theo [11])
Khai phá phụ thuộc hàm
Từ trên xuống Từ dưới lên
Tên thuật toán
Trang 25Năm Tên thuật toán Kỹ thuật sử dụng Tác giả
1999 TANE Phân hoạch
2001 FUN Phụ thuộc hàm nhúng
(Embedded FD)
N Novelli and R Cicchetti,
2002 FD_Mine
Phân hoạch và lớp tương
đương (Partitions and Equivalences)
Hong Yao and Hamelton
2008 FD_Discover
Các lớp tương đương và phủ
tối thiểu (Equivalent Classes and Minimal Cover)
Jalal Atoum, Dojanah Bader and Arafat Awajan
2010 FDs Using Rough
Sets
Tập thô (Rough sets)
Nittaya Kerdprasop and Kittisak Kerdprasop
Bảng 1.2: Các thuật toán khai phá phụ thuộc hàm 1.2.2 Khai phá phụ thuộc hàm xấp xỉ
Khái niệm phụ thuộc hàm đóng một vai trò rất quan trọng trong lý thuyết
cơ sở dữ liệu quan hệ Các phụ thuộc hàm rất hữu ích trong việc phân tích và thiết kế cơ sở dữ liệu quan hệ như xác định khóa, xác định các dạng chuẩn, các vấn đề về nhất quán dữ liệu Tuy nhiên trong thực tế do có một số giá trị
dữ liệu không chính xác hoặc một số ngoại lệ nào đó làm cho các phụ thuộc hàm không thỏa Sự phụ thuộc tuyệt đối này dường như quá nghiêm ngặt khi
ta hình dung tới một quan hệ có hàng nghìn bộ, trong khi đó chỉ có khoảng vài bộ vi phạm phụ thuộc hàm Bỏ qua các phụ thuộc hàm này sẽ làm mất tính chất phụ thuộc vốn có giữa các thuộc tính Vì vậy các nhà nghiên cứu đã mở
Trang 26rộng khái niệm phụ thuộc hàm thành phụ thuộc hàm xấp xỉ theo một cách
Dependencies - AFDs) này cho phép có một số lượng lỗi nhất định của các bộ
dữ liệu đối với phụ thuộc hàm
1.2.2.1 Định nghĩa phụ thuộc hàm xấp xỉ
Định nghĩa 1.2 [11] Cho quan hệ R (U) và X → Y là một PTH trên U
Gọi S ⊆ R là quan hệ sao cho có số bộ ít nhất cần loại bỏ khỏi R để R\S thỏa mãn PTH (X → Y) Khi đó tỷ số của |S| và |R| được gọi là độ đo lỗi của PTH X
Có thể thấy nếu X → Y là một PTH đúng trên R thì độ đo lỗi
3 X Y R, 0
Ví dụ Xét quan hệ R trên tập thuộc tính U = {A, B, C, D} cho trên bảng
1.3 như sau:
Trang 27Rõ ràng bỏ bộ 6 (hoặc bộ 5) thì PTH AB → C sẽ đúng trên quan hệ R Tức
số bộ ít nhất cần loại khỏi quan hệ R để PTH AB → C đúng trên các bộ còn lại
1.2.2.2 Một số độ đo cơ bản
Khi nghiên cứu phát hiện các PTH xấp xỉ thì vấn đề xác định độ đo cho các PTH xấp xỉ đóng vai trò cực kì quan trọng Đã có nhiều tác giả đƣa ra nhiều độ đo dựa vào nhiều cách khác nhau Ở đây luận văn tìm hiểu một số độ
đo cơ bản
Trong định nghĩa về PTH xấp xỉ khi có một bộ làm cho PTH không đúng
Trang 28Người ta gọi bộ này là một trường hợp ngoại lệ Như vậy, PTH xấp xỉ chính
là PTH với các trường hợp ngoại lệ Các độ đo của PTH xấp xỉ dựa trên số lượng các trường hợp ngoại lệ Nó là cơ sở để xác định, phát hiện các PTH xấp xỉ
Dưới đây, ta xem xét một số cách mở rộng
Trang 29Cách 2:
Đối với những thuộc tính định danh, ta tiến hành thực hiện ánh xạ tất cả các giá trị có thể tới một tập các số nguyên dương liền kề
Định nghĩa khoảng cách giữa hai bộ giá trị trên tập thuộc tính: Với hai bộ
r
t
Khoảng cách giữa hai bộ giá trị trên tập thuộc tính có thể coi là hàm số của các đối số là các bộ giá trị của quan hệ và tập các thuộc tính
1 2
( ( ), ( ))t Y t Y
Trang 30Bảng 1.4: Bảng dữ liệu quan hệ số
Một số tính chất của phụ thuộc hàm xấp xỉ loại 2:
- Tính chất 1: Cho r là một quan hệ trên tập thuộc tính U Một phụ
phụ thuộc hàm xấp xỉ loại 2
- Tính chất 2: Cho r là một quan hệ trên U ; X Y, U, δ1, δ2 là 2 số
δ1
Trang 31- Tính chất 3 (Tính phản xạ): Nếu YX khi đó XδY là phụ thuộc
- Tính chất 4 (Tính bắc cầu): Nếu X δY và Y δZ thì X δZ
- Tính chất 5 (Tính gia tăng): Với mọi X Y Z, , U và mức δ nào đó,
Cách 3:
Bảng 1.5: Bảng quan hệ ví dụ
Trang 32Cách 4:
1, 2 ( ) 1[ ] 2[ ], 1, 2
Cho uPART X( ) Nếu t X1[ ]t X2[ ]t Y1[ ]t Y2[ ]t t1, 2u thì ta
Phụ thuộc hàm điều kiện:
Định nghĩa 1.3: Một phụ thuộc hàm điều kiện có dạng (X A t, )p ,
Trang 33không tên " " Biến không tên " " có thể nhận một giá trị tùy ý trong miền
Bảng 1.6: Bảng quan hệ ví dụ về phụ thuộc hàm điều kiện
Theo định nghĩa phụ thuộc hàm điều kiện ta thấy ràng buộc
[A002, ]B [ ]C là một phụ thuộc hàm điều kiện có dạng
kiện được sử dụng trong bài toán làm sạch dữ liệu
Trang 34CHƯƠNG 2 THUẬT TOÁN KHAI PHÁ PHỤ THUỘC HÀM XẤP XỈ
SỬ DỤNG PHỦ TỐI THIỂU VÀ LỚP TƯƠNG ĐƯƠNG
Trong chương này trình bày thuật toán khai phá phụ thuộc hàm xấp xỉ sử dụng phủ tối thiểu và lớp tương đương (viết tắt là AFDMCEC) để khai phá
Thuật toán AFDMCEC sử dụng một vài khái niệm từ lý thuyết cơ sở dữ liệu,
lý thuyết của sự tương đương và phủ tối tiểu của những phụ thuộc hàm
Những nghiên cứu đã có
Những động lực chính để thúc đẩy khai phá các phụ thuộc hàm từ cơ sở
dữ liệu là việc phát hiện những hình mẫu hữu ích từ dữ liệu và phát hiện các mối quan hệ đáng chú ý giữa các biến trong cơ sở dữ liệu lớn Trong một vài trường hợp, một phụ thuộc hàm có thể không được thỏa mãn bởi một vài bộ
dữ liệu Phụ thuộc hàm như vậy có thể được nghĩ theo hướng đúng xấp xỉ
Ví dụ: Phụ thuộc Phường → Thành phố có thể đúng xấp xỉ
Những phụ thuộc hàm xấp xỉ đặc trưng tri thức quan trọng về cấu trúc của quan hệ Việc phát hiện ra những tri thức như vậy từ cơ sở dữ liệu có thể có giá trị mang tính gợi ý cho một chuyên gia Những phụ thuộc hàm xấp xỉ như vậy tồn tại trong một số cơ sở dữ liệu vốn có những phụ thuộc được mong đợi giữa các thuộc tính, nhưng một vài bộ chứa lỗi hoặc biểu diễn cho những trường hợp ngoại lệ
Việc khám phá những phụ thuộc hàm xấp xỉ không mong đợi nhưng có ý nghĩa là một điều thú vị và có ứng dụng nhiều trong khai phá dữ liệu
Ví dụ: Một phụ thuộc hàm xấp xỉ trong một cơ sở dữ liệu của hợp các chất
hóa học liên kết những thuộc tính cấu trúc khác nhau gây ra ung thư có thể cung cấp vài gợi ý giá trị cho những nhà hóa sinh về các nguyên nhân tiềm ẩn của bệnh ung thư