Chương này cung cấp những hiểu biết cần thiết về bài toán khai phá luật kết hợp, như: phát biểu bài toán, giới thiệu thuật toán nguyên thủy Apriori cho khai phá luật kết hợp nhị phân, cá
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
TRỊNH THỊ ANH LOAN
KHAI PHÁ LUẬT KẾT HỢP MỜ
VÀ ỨNG DỤNG TRONG
CƠ SỞ DỮ LIỆU CƯỚC ĐIỆN THOẠI
Ngành : Công nghệ thông tin Chuyên ngành : Hệ thống thông tin
Mã số : 60 48 05
LUẬN VĂN THẠC SỸ
NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS ĐOÀN VĂN BAN
Hà Nội - 2010
Trang 2MỤC LỤC
MỤC LỤC 1
BẢNG KÝ HIỆU CÁC TỪ VIẾT TẮT 4
DANH SÁCH HÌNH VẼ 5
DANH SÁCH BẢNG BIỂU 6
MỞ ĐẦU 7
CHƯƠNG 1: TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU 10
1.1 Khai phá dữ liệu 10
1.1.1 Mục tiêu của khai phá dữ liệu 10
1.1.2 Khái niệm khai phá dữ liệu 12
1.1.3 Các bước chính của quá trình phát hiện tri thức trong CSDL 13
1.1.4 Kiến trúc một hệ thống khai phá dữ liệu 15
1.2 Hướng tiếp cận và kỹ thuật chính trong khai phá dữ liệu 17
1.2.1 Hướng tiếp cận và kỹ thuật chính trong khai phá dữ liệu 17
1.2.2 Kiểu dữ liệu trong khai phá dữ liệu 18
1.2.3 Một số phương pháp khai phá dữ liệu 19
1.3 Ứng dụng của khai phá dữ liệu 21
1.3.1 Ưu thế của khai phá dữ liệu 21
1.3.2 Ứng dụng của KPDL 23
1.3.3 Phân loại các hệ thống khai phá dữ liệu 23
1.3.4 Xu hướng trong khai phá dữ liệu 24
1.4 Kết luận chương 1 25
CHƯƠNG II: LUẬT KẾT HỢP 27
2.1 Giới thiệu 27
2.2 Phát biểu bài toán khai phá luật kết hợp 29
2.2.1 Luật kết hợp 29
2.2.2 Phát biểu bài toán khai phá luật kết hợp 32
Trang 32.3 Luật kết hợp nhị phân 34
2.4 Luật kết hợp có thuộc tính số 36
2.4.1 Luật kết hợp có thuộc tính số 36
2.4.2 Các phương pháp rời rạc hóa 38
2.5 Những hướng tiếp cận chính trong khai phá luật kết hợp 40
2.6 Kết luận chương 2 .43
CHƯƠNG 3: KHAI PHÁ LUẬT KẾT HỢP MỜ 44
3.1 Tập mờ 44
3.1.1 Tập mờ 44
3.1.2 Khái niệm tập mờ trong lĩnh vực khai phá dữ liệu 44
3.2 Rời rạc hoá thuộc tính dựa vào tập mờ 45
3.3 Luật kết hợp mờ 48
3.4 Một số thuật toán khai phá luật kết hợp mờ 50
3.5 Thuật toán khai phá luật kết hợp mờ MFAMI 51
3.5.1 Giới thiệu về thuật toán 51
3.5.2 Một số khái niệm 52
3.5.3 Phát hiện luật 53
3.6 Kết luận chương III .61
CHƯƠNG 4: CÀI ĐẶT THUẬT TOÁN MFAMI 62
4.1 Giới thiệu 62
4.1.1 Các dữ liệu chính trong viễn thông 62
4.1.2 Một số ứng dụng khai phá dữ liệu trong viễn thông 63
4.2 Cài đặt thuật toán MFAMI trên CSDL cước điện thoại 65
4.2.1 Nguồn dữ liệu cước điện thoại 65
4.2.2 Mô tả cấu trúc dữ liệu 66
4.2.3 Môi trường cài đặt 67
4.2.4 Kết quả cài đặt thuật toán 67
Trang 44.3 Kết luận chương 4 73
KẾT LUẬN 74 TÀI LIỆU THAM KHẢO 76
Trang 5BẢNG KÝ HIỆU CÁC TỪ VIẾT TẮT
Viết tắt Từ hoặc cụm từ đầy đủ
Trang 6DANH SÁCH HÌNH VẼ
Hình 1.1 Sự tiến hóa công nghệ CSDL 10
Hình 1.2 Quá trình phát hiện tri thức trong CSDL 14
Hình 1.3 Kiến trúc điển hình của hệ thống khai phá dữ liệu 16
Hình 2.1 Minh họa về luật kết hợp 28
Hình 2.2 Ví dụ về vấn đề “điểm biên gãy” khi rời rạc hóa dữ liệu 40
Hình 3.1 Đồ thị hàm thuộc của thuộc tính thời gian đàm thoại .46
Hình 3.2 Các bước của thuật toán MFAMI 54
Hình 3.3 Đồ thị xác định mức độ thuộc của thuộc tính .57
Hình 4.1 Nguồn dữ liệu cước điện thoại .65
Trang 7DANH SÁCH BẢNG BIỂU
Bảng 2.1 Ví dụ về một CSDL giao dịch .29
Bảng 2.2 Các tập mục phổ biến trong CSDL bảng 2.1 .31
Bảng 2.3 Luật kết hợp sinh từ tập phổ biến ABE 33
Bảng 2.4 CSDL chi tiết của 9 cuộc gọi điện thoại 37
Bảng 2.5 Rời rạc hóa thuộc tính số rời rạc hữu hạn hoặc hạng mục 38
Bảng 2.6 Rời rạc hóa thuộc tính số liên tục 39
Bảng 3.1 CSDL chi tiết của 8 cuộc gọi điện thoại 48
Bảng 3.2 Miền giá trị của các tập mờ của thuộc tính thời gian đàm thoại 56
Trang 8MỞ ĐẦU
Chúng ta đang sống trong một xã hội ngập tràn dữ liệu: dữ liệu khoa học,
dữ liệu y tế, dữ liệu nhân khẩu học, dữ liệu tài chính, và các dữ liệu tiếp thị Con người không có thời gian để xem xét hết các dữ liệu này Vì vậy, chúng ta phải tìm cách để phân tích dữ liệu tự động, để phân loại dữ liệu tự động, để tổng hợp dữ liệu tự động, để phát hiện và mô tả các xu hướng trong nó tự động, và để cảnh báo các dị thường tự động Đây là một trong những lĩnh vực năng động và thú vị nhất của cộng đồng nghiên cứu cơ sở dữ liệu (CSDL) Các nhà nghiên cứu trong các lĩnh vực bao gồm số liệu thống kê, trực quan hóa, trí tuệ nhân tạo,
và học máy đang đóng góp cho lĩnh vực này Bề rộng của lĩnh vực này làm cho chúng ta khó có thể nắm bắt được những tiến bộ phi thường của nó trong vài thập kỷ qua [19]
Khai phá dữ liệu (KPDL) là một chủ đề mới, nhưng số lượng các bài báo dành cho chúng (cả quan điểm lý thuyết và thực tiễn) là khá ấn tượng KPDL đã trở thành một trong những hướng nghiên cứu chính trong lĩnh vực khoa học máy tính và công nghệ tri thức Hàng loạt nghiên cứu, đề xuất ra đời đã được thử nghiệm và ứng dụng thành công vào đời sống
KPDL bao gồm rất nhiều hướng tiếp cận Các kỹ thuật chính được áp dụng trong lĩnh vực này phần lớn được thừa kế từ lĩnh vực CSDL, học máy, trí tuệ nhân tạo, lý thuyết thông tin, xác suất thống kê, và tính toán hiệu năng cao Các bài toán chủ yếu trong KPDL là phân lớp/dự đoán (classification/prediction), phân cụm (clustering), khai phá luật kết hợp (association rules mining), khai phá chuỗi (sequence mining), v.v Lĩnh vực này cũng là điểm hội tụ và giao thoa của rất nhiều lĩnh vực khác Với sự kết hợp của nhiều thành tựu nghiên cứu trong các lĩnh vực khác, KPDL có được sự toàn diện và đầy đủ trong cách tìm kiếm và xử lý thông tin một cách tiên tiến, hiệu quả KPDL đã và đang được ứng dụng thành công vào thương mại, tài chính & thị trường chứng khoán, sinh học, y học, giáo dục, viễn thông, v.v
Khai phá luật kết hợp là một kỹ thuật quan trọng của KPDL được đề xuất vào năm 1993 và phát triển mạnh mẽ trong những năm gần đây Những nghiên cứu về luật kết hợp gần đây tập trung xây dựng các thuật toán khai phá luật kết hợp mới, hiệu quả hoặc cải tiến, phát triển các thuật toán hiệu quả hơn từ các
Trang 9thuật toán đã có
Ý tưởng liên kết luật kết hợp với lý thuyết tập mờ đã xuất hiện từ vài năm trước Ý tưởng ban đầu xuất phát từ nỗ lực để xử lý các thuộc tính số trong CSDL, trong đó việc phân chia các giá trị số vào các tập rõ có thể dẫn đến việc đánh giá cao hơn hoặc thấp các giá trị ở gần biên Tập mờ có thể khắc phục vấn
đề này bằng cách cho phép một phần tử có thể thuộc vào các tập khác nhau Lý thuyết tập mờ cung cấp những công cụ cần thiết để thực hiện các tính toán trên các cấu trúc dữ liệu khác nhau
Việc sử dụng logic mờ trong mô hình quan hệ cung cấp một cách hiệu quả
để xử lý dữ liệu số với các thông tin không chính xác, không chắc chắn hoặc không đầy đủ Lý thuyết tập mờ ngày càng được sử dụng nhiều và thường xuyên hơn trong các hệ thống thông minh bởi vì mối quan hệ của nó với cách lập luận của con người [36] Một số nghiên cứu đã chứng minh được hiệu suất vượt trội của logic mờ trong KPDL và kho dữ liệu [36]
Ý thức được đây là một lĩnh vực nghiên cứu có nhiều triển vọng, tôi đã chọn hướng nghiên cứu “Khai phá luật kết hợp mờ và ứng dụng trong CSDL cước điện thoại” cho đề tài luận văn của mình Phương pháp nghiên cứu chủ yếu của luận văn là khảo sát, phân tích nội dung các bài báo khoa học về KPDL và khai phá luật kết hợp mờ được công bố trong những năm gần đây Từ các kết quả nghiên cứu lý thuyết kết hợp với những vấn đề đặt ra trong bài toán thực tế, luận văn cũng đề xuất phương pháp thử nghiệm giải quyết vấn đề khai phá luật trong thực tế
Ngoài phần mở đầu và kết luận, luận văn được tổ chức thành 4 chương sau:
• Chương I giới thiệu một số nội dung cơ bản về KPDL như mục tiêu, định nghĩa về KPDL và KDD, các bước chính trong quá trình phát hiện tri thức Chương này cũng đề cập đến các hướng tiếp cận và kỹ thuật chính trong KPDL cùng với một số phương pháp KPDL Sự đa dạng của dữ liệu, các nhiệm vụ KPDL, và các cách tiếp cận KPDL đặt
ra nhiều thách thức trong vấn đề nghiên cứu KPDL Phần cuối của chương này phác họa những ưu thế, ứng dụng chính của lĩnh vực này
và những hướng nghiên cứu đang và sẽ được chú trọng trong thời gian tới
• Chương II tập trung giới thiệu về bài toán “khai phá luật kết hợp”
Trang 10Chương này cung cấp những hiểu biết cần thiết về bài toán khai phá luật kết hợp, như: phát biểu bài toán, giới thiệu thuật toán nguyên thủy Apriori cho khai phá luật kết hợp nhị phân, cách rời rạc hóa dữ liệu cho các thuộc tính số và nhược điểm của chúng Phần cuối chương sẽ trình bày về những hướng tiếp cận chính trong lịch sử tồn tại và phát triển của bài toán này
• Chương III trình bày về “khai phá luật kết hợp mờ” Phần đầu của chương đề cập đến các khái niệm về tập mờ và tập mờ trong KPDL Tiếp theo là phương pháp rời rạc hóa dữ liệu dựa vào tập mờ và ưu điểm của chúng Từ đó luật kết hợp mờ được đề xuất như một hướng khắc phục các nhược điểm của bài toán khai phá luật kết hợp có thuộc tính số ở chương II Bên cạnh sự tổng hợp về một số thuật toán khai phá luật kết hợp mờ trước đây, luận văn trình bày thuật toán MFAMI (Mining Fuzzy Association Rules Using Mutual Information) cho việc khai phá luật kết mờ hiệu quả
• Chương IV giới thiệu về nguồn dữ liệu cước điện thoại và kết quả cài đặt thuật toán MFAMI trên CSDL này
Trang 11CHƯƠNG 1: TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU
1.1 Khai phá dữ liệu
1.1.1 Mục tiêu của khai phá dữ liệu
Theo J Han và M Kamber [19], quá trình tiến hóa của lĩnh vực công nghệ CSDL được mô tả như Hình 1.1, trong đó công nghệ KPDL được coi là dạng tiến hóa mới của công nghệ CSDL bắt đầu từ cuối những năm 1980 và không ngừng được phát triển về bề rộng và chiều sâu
khoa học, cơ sở tri thức
Hình 1.1 Sự tiến hoá công nghệ CSDL
- Sự tích hợp với sự phục hồi thông tin
- Dữ liệu và sự tích hợp thông tin
Thế hệ mới của dữ liệu tích hợp và các hệ thống thông tin (2000 - )
Tập hợp dữ liệu và khởi tạo CSDL (tới cuối những năm 1960)
- Xử lý file thô sơ
Hệ quản trị CSDL (những năm 1970 và những năm đầu 1980)
- Hệ thống CSDL phân cấp và mạng
- Công cụ mô hình dữ liệu: Mô hình quan hệ thực thể
- Ngôn ngữ hỏi SQL …
- Giao diện người dùng, nhập liệu và kết xuất
- Xử lý truy vấn, tối ưu truy vấn
- Quản lý giao dịch: khôi phục, điều khiển tương tranh
- Xử lý giao dịch trực tuyến (OLTP)
Kho dữ liệu và khai phá dữ
liệu
(những năm cuối 1980 đến nay)
- Kho dữ liệu và OLAP
- Khai phá dữ liệu và phát hiện tri thức: phân lớp, phân cụm, kết hợp, phân tích mẫu, phân tích ngoại lai …
- Ứng dụng khai phá dữ liệu
mở rộng: khai phá dữ liệu dòng, khai phá text, khai phá web…
Trang 12Những thập kỷ gần đây đã chứng kiến một sự gia tăng đáng kể lượng thông tin hoặc dữ liệu được lưu trữ trong các thiết bị điện tử (như là đĩa cứng, CD-ROM, băng từ, v v) Sự tích lũy dữ liệu này xảy ra với một tốc độ bùng nổ Người ta ước đoán rằng, lượng thông tin trên toàn cầu tăng gấp đôi sau khoảng hai năm và theo đó số lượng cũng như kích cỡ của các CSDL cũng tăng lên một cách nhanh chóng [3] Theo Fayyad, Piatetsky-Shapiro, Smyth [15], việc nghiên cứu phát triển lĩnh vực KPDL và KDD (Knowledge Discovery in Databases: KDD) là nhằm giải quyết tình trạng “ngập tràn thông tin mà thiếu thốn tri thức” Một số số liệu thống kê dưới đây được đưa ra vào năm 2006 [17]
đã minh chứng cho tình trạng "ngập tràn thông tin" là hiện nay tồn tại nhiều kho
dữ liệu không những đã trở nên khổng lồ mà hàng ngày khối lượng của chúng còn được tăng trưởng với tốc độ cao Về dữ liệu web, điển hình là Alexa sau 7 năm đã có 500 TB, Google đã lưu trữ hơn 4 tỷ trang Web với dung lượng nhiều trăm TB, IBM Web Fountain với hơn 160 TB, Internet Archive xấp xỉ 300 TB v v Về CSDL, điển hình là Max Planck Institute for Meteorology có tới hơn
220 TB, Yahoo! có hơn 100TB còn AT&T có gần 100 TB Theo ước lượng của
UC Berkeley 2003 thì có tới 5 exabytes (5 triệu terabytes) dữ liệu mới được khởi tạo trong năm 2002 Mục đích của việc thu thập và lưu trữ các kho dữ liệu khổng lồ được liệt kê trên đây không ngoài mục đích KPDL nhằm phát hiện các tri thức mới có ích cho hoạt động của con người trong tập hợp các dữ liệu đã thu thập được [1]
Những công cụ KPDL có thể dự đoán các xu thế tương lai trên cơ sở phân tích dữ liệu hoạt động của doanh nghiệp, do đó cho phép các tổ chức doanh nghiệp đưa ra được các quyết định kịp thời được định hướng bởi tri thức mà KPDL đem lại Tính tự động trong phân tích dữ liệu khiến nó chiếm ưu thế hơn hẳn so với các phân tích thông thường dựa trên kinh nghiệm hay các sự kiện trong quá khứ của các hệ thống hỗ trợ ra quyết định trước đây Trên cơ sở đó cũng đồng thời trả lời được nhiều vấn đề trong kinh doanh mà trước đây khó có thể thực hiện vì cần rất nhiều thời gian và công sức để xử lý Với các ưu điểm trên, KPDL đã chứng tỏ được tính hữu dụng của nó trong môi trường kinh doanh đầy tính cạnh tranh ngày nay và được ứng dụng rộng rãi trong nhiều lĩnh vực như: thương mại, tài chính, y học, giáo dục, viễn thông …
Định hướng và mục tiêu chính của KPDL là kết xuất tri thức từ dữ liệu Do
đó, ở mức cao - tổng quát, ta có thể coi mục đích chính của quá trình KPDL là
Trang 13mô tả (description) và dự đoán (prediction) [2] Dự đoán dùng một số biến hoặc trường trong CSDL để dự đoán hoặc về giá trị chưa biết hoặc về giá trị sẽ có trong tương lai của các biến Mô tả hướng tới việc tìm ra các mẫu mô tả dữ liệu
Dự đoán và mô tả có tầm quan trọng khác nhau đối với các thuật toán KPDL
Ở mức chi tiết - cụ thể, dự báo và mô tả được thể hiện thông qua các bài toán cụ thể như mô tả khái niệm, quan hệ kết hợp, phân cụm, phân lớp, hồi quy,
mô hình phụ thuộc, phát hiện biến đổi và độ lệch và một số bài toán cụ thể khác
1.1.2 Khái niệm khai phá dữ liệu
Lĩnh vực KPDL và KDD đã cuốn hút các phương pháp, thuật toán và kỹ thuật từ nhiều chuyên ngành nghiên cứu khác nhau như học máy, thu nhận mẫu, CSDL, thống kê, trí tuệ nhân tạo, thu nhận tri thức trong hệ chuyên gia… nhằm hướng tới cùng một mục tiêu thống nhất là trích lọc ra được các tri thức từ dữ liệu trong các CSDL khổng lồ Tính phong phú và đa dạng đó đã dẫn đến một thực trạng là tồn tại một số quan niệm khác nhau về lĩnh vực nghiên cứu gần gũi nhất với lĩnh vực này - KDD Với những gì đã trình bày ở trên, chúng ta có thể hiểu một cách sơ lược rằng KPDL là quá trình tìm kiếm những thông tin (tri thức) hữu ích, tiềm ẩn và mang tính dự báo trong các tập dữ liệu lớn Như vậy, chúng ta nên gọi quá trình này là phát hiện tri thức Tuy nhiên các nhà khoa học trong lĩnh vực này đồng ý với nhau rằng hai thuật ngữ trên là tương đương và có thể thay thế cho nhau Họ lý giải rằng, mục đích chính của quá trình phát hiện tri thức là thông tin và tri thức có ích, nhưng đối tượng mà chúng ta phải xử lý rất nhiều trong suốt quá trình đó lại chính là dữ liệu
Mặt khác, khi chia các bước trong quá trình khám phá tri thức, một số nhà nghiên cứu lại cho rằng, KPDL chỉ là một bước trong quá trình khám phá tri thức
Như vậy, khi xét ở mức tổng quan thì hai thuật ngữ này là tương đương nhau, nhưng khi xét cụ thể thì KPDL được xem là một bước trong quá trình khám phá tri thức [3]
Trang 14Là lĩnh vực nghiên cứu và triển khai được phát triển nhanh chóng và rộng lớn, lại được rất nhiều nhóm nghiên cứu tại nhiều địa điểm khác nhau trên thế giới đồng thời quan tâm, cho nên tồn tại rất nhiều cách tiếp cận khác nhau đối với lĩnh vực KDD Vì lý do đó mà trong nhiều tài liệu, các nhà khoa học trên thế giới đã sử dụng nhiều thuật ngữ khác nhau mà chúng được coi là mang cùng nghĩa với KDD như chiết lọc tri thức (knowledge extraction), phát hiện thông tin (information discovery), thu hoạch thông tin (information harvesting), khai quật
dữ liệu (data archaeology) và xử lý mẫu dữ liệu (data pattern processing)
Khái niệm 1.2
Khai phá dữ liệu là một bước trong quá trình phát hiện tri thức trong CSDL, thi hành một thuật toán KPDL để tìm ra các mẫu từ dữ liệu theo khuôn dạng thích hợp [15]
Ngoài ra, theo B.Kovalerchuk và E.Vityaev [7], Friedman đã tổng hợp một
số quan niệm sau đây liên quan về khái niệm "Khai phá dữ liệu":
• Quá trình không tầm thường để nhận biết từ dữ liệu ra các mẫu có giá trị, mới, hữu dụng và hiểu được (Fayyad)
• Quá trình trích lọc các thông tin chưa biết trước, có thể nhận thức được, có thể tác động được từ CSDL lớn và sử dụng chúng để tạo ra quyết định công tác (Zekulin)
• Tập các phương pháp được dùng trong quá trình phát hiện tri thức nhằm tường minh các quan hệ và các mẫu chưa biết trước chứa trong
dữ liệu (Ferruzza)
• Quá trình hỗ trợ quyết định khi tìm kiếm những mẫu thông tin chưa biết và hữu ích từ CSDL lớn (Parsaye)
1.1.3 Các bước chính của quá trình phát hiện tri thức trong CSDL
Toàn bộ quá trình KDD thường được chia thành các bước sau đây [3]
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 warehouses, data repositories) ban đầu theo một số tiêu chí nhất định
2 Tiền xử lý dữ liệu (data preprocessing): đây là giai đoạn làm sạch dữ liệu và cấu hình lại, ở đây một số kỹ thuật được áp dụng để đối phó với
Trang 15tính không đầy đủ, nhiễu, và không phù hợp của dữ liệu Bước này cũng cố gắng để giảm dữ liệu bằng cách sử dụng chức năng tổng hợp
và nhóm, các phương pháp nén dữ liệu, histograms, lấy mẫu, v v Ngoài ra, các kỹ thuật rời rạc hoá dữ liệu (Bining, rời rạc hóa dựa vào histograms, dựa vào entropy, dựa vào phân khoảng, v.v) có thể được
sử dụng để làm giảm số lượng các giá trị cho một thuộc tính liên tục Sau bước này, dữ liệu được làm sạch , hoàn chỉnh, thống nhất
3 Biến đổi dữ liệu (data transformation): trong bước này, dữ liệu được chuyển dạng hoặc hợp nhất thành dạng thích hợp cho KPDL Biến đổi
dữ liệu có thể liên quan đến việc làm mịn và chuẩn hóa dữ liệu Sau bước này, dữ liệu đã sẵn sàng cho bước KPDL
4 Khai phá dữ liệu (data mining): đây được xem là bước quan trọng nhất trong quá trình KDD Nó áp dụng một số kỹ thuật KPDL (chủ yếu là
từ học máy và các lĩnh vực khác) để khai phá, trích chọn được những mẫu (patterns) thông tin, những mối liên hệ (relationships) đặc biệt trong dữ liệu
5 Biểu diễn và đánh giá tri thức (knowledge representation & evaluation): những mẫu thông tin và mối liên hệ trong dữ liệu đã được khai phá ở bước trên được chuyển dạng và biểu diễn ở một 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
Hình 1.2 Quá trình phát hiện tri thức trong CSDL
Trang 161.1.4 Kiến trúc một hệ thống khai phá dữ liệu
Kiến trúc điển hình của một hệ KPDL được trình bày trong hình 1.3 [19] Trong kiến trúc này, các nguồn dữ liệu cho các hệ thống KPDL bao gồm hoặc CSDL, hoặc Kho dữ liệu, hoặc World Wide Web, hoặc kho chứa dữ liệu kiểu bất kỳ khác, hoặc tổ hợp các kiểu đã liệt kê nói trên Cơ sở tri thức, bao chứa các tri thức hiện có về miền ứng dụng, được sử dụng trong thành phần KPDL để làm tăng tính hiệu quả của thành phần này Một số tham số của thuật toán KPDL tương ứng sẽ được tinh chỉnh theo tri thức miền sẵn có từ cơ sở tri thức trong hệ thống Cơ sở tri thức còn được sử dụng trong việc đánh giá các mẫu đã khai phá được xem chúng có thực sự hấp dẫn hay không, trong đó có đối chứng với các tri thức đã có trong cơ sở tri thức Nếu mẫu khai phá được thực sự hấp dẫn thì được bổ sung vào cơ sở tri thức để phục vụ cho hoạt động tiếp theo của hệ thống Như vậy, nguồn tri thức bổ sung vào cơ sở tri thức ở đây không chỉ từ lập luận lôgic theo các hệ toán lôgic để có tri thức mới, không chỉ do con người hiểu biết thêm về thế giới khách quan để bổ sung vào mà còn tri thức được phát hiện một cách tự động từ nguồn dữ liệu
KPDL là một bước chính trong quá trình phát hiện tri thức từ số lượng lớn
dữ liệu đã lưu trữ trong CSDL, kho dữ liệu hoặc các nơi lưu trữ khác Kết quả của bước này là những mẫu đáng quan tâm được đưa đến cho người dùng hoặc lưu giữ như là tri thức mới trong cơ sở tri thức
Trang 17Kiến trúc của hệ thống KPDL có thể có các thành phần chính sau [19]:
• CSDL, kho dữ liệu, WorldWideWeb, kho chứa dữ liệu khác: Đây là một hoặc một tập CSDL, kho dữ liệu, World Wide Web, hoặc kho chứa dữ liệu kiểu bất kỳ khác, hoặc tổ hợp các kiểu đã liệt kê nói trên 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 dữ liệu
• Phục vụ CSDL/kho dữ liệu: có trách nhiệm lấy dữ liệu liên quan dựa trên yêu cầu của người KPDL
• Cơ sở tri thức: Đây là tri thức miền được sử dụng để hướng dẫn việc tìm kiếm hoặc đánh giá sự thú vị của các mẫu thú vị Tri thức này có thể bao gồm các mức phân cấp khái niệm, được sử dụng để tổ chức các thuộc tính hoặc giá trị thuộc tính thành các cấp trừu tượng Tri thức như độ tin cậy của người sử dụng, có thể được sử dụng để đánh giá độ thú vị của mẫu cũng có thể được bao gồm Các ví dụ khác của tri thức miền là các ràng buộc thú vị bổ sung hoặc ngưỡng, và siêu dữ liệu (ví
dụ, mô tả dữ liệu từ nhiều nguồn không đồng nhất)
Giao diện người dùng
Đánh giá mẫu khai phá được
Thành phần khai phá dữ liệu
Phục vụ CSDL/Kho dữ liệu
Cơ sở tri thức
Làm sạch, tích hợp và chọn lựa dữ liệu
Hình 1.3 Kiến trúc điển hình của hệ thống khai phá dữ liệu
Web
Các kiểu kho thông tin khác
Trang 18• Thành phần khai phá dữ liệu: Đây là thành phần cần thiết đối với hệ thống KPDL, bao gồm một tập các chức năng như mô tả, phân tích tính kết hợp và tính tương quan, phân lớp, dự báo, phân tích cụm, phân tích ngoại lai, và phân tích sự tiến hóa
• Đánh giá mẫu: Thành phần này thường sử dụng các độ đo và tương tác với thành phần KPDL để tập trung tìm kiếm các mẫu thú vị Nó có thể
sử dụng các ngưỡng để lọc ra các mẫu phát hiện được Ngoài ra, thành phần đánh giá mẫu có thể được tích hợp với thành phần KPDL, phụ thuộc vào các phương pháp KPDL được sử dụng
• Giao diện người dùng: Thành phần này là thành phần giao tiếp giữa người sử dụng và hệ thống KPDL, cho phép người dùng tương tác với
hệ thống bằng cách xác định một truy vấn hoặc một nhiệm vụ KPDL, cung cấp thông tin để giúp tập trung tìm kiếm, thăm dò và KPDL dựa trên kết quả KPDL trung gian Ngoài ra, thành phần này cho phép người dùng tìm các lược đồ CSDL và kho dữ liệu hoặc các cấu trúc dữ liệu, đánh giá các mẫu khai phá được, và trực quan hoá các mẫu trong các dạng khác nhau
1.2 Hướng tiếp cận và kỹ thuật chính trong khai phá dữ liệu
1.2.1 Hướng tiếp cận và kỹ thuật chính trong khai phá dữ liệu
Là lĩnh vực nghiên cứu và triển khai được phát triển nhanh chóng và rộng lớn, lại được rất nhiều nhóm nghiên cứu tại nhiều địa điểm khác nhau trên thế giới đồng thời quan tâm, cho nên tồn tại rất nhiều cách tiếp cận khác nhau đối với lĩnh vực KPDL Chúng có thể được phân loại theo chức năng, các loại tri thức, loại dữ liệu được khai phá, hoặc bất cứ điều gì phù hợp tiêu chuẩn [19] Dưới đây là một số cách tiếp cận chính
• Phân lớp và dự báo: phương pháp này cố gắng sắp xếp một đối tượng nhất định vào một lớp thích hợp trong số các lớp đã biết Số lượng các lớp và tên của nó chắc chắn được biết đến Ví dụ, chúng ta có thể phân lớp hoặc dự đoán các khu vực địa lý theo dữ liệu thời tiết và khí hậu Phương pháp này thường sử dụng các kỹ thuật và khái niệm điển hình trong học máy như cây quyết định, k-min, mạng thần kinh nhân tạo, máy hỗ trợ vector, v.v Phân lớp còn được gọi là học có giám sát
Trang 19• Luật kết hợp (association rules): là dạng luật biểu diễn tri thức ở dạng khá đơn giản Ví dụ “80% sinh viên đăng ký học CSDL thì có tới 70% trong số họ đăng ký học phân tích thiết kế các hệ thống thông tin” Hướng tiếp cận này được ứng dụng nhiều trong các lĩnh vực kinh doanh, tài chính, thị trường chứng khoán, y học, tin sinh học, giáo dục v.v
• Phân cụm & phân đoạn: phương pháp này cố gắng sắp xếp các đối tượng theo từng cụm nhưng số lượng và tên của các cụm chưa được biết trước Phân cụm và phân đoạn được gọi là học không có giám sát
• Khai phá mẫu theo thứ tự / theo thời gian (sequential/temporal patterns mining): Cũng tương tự như KPDL bằng luật kết hợp nhưng có thêm tính thứ tự và tính thời gian Hướng tiếp cận này được ứng dụng nhiều trong lĩnh vực tài chính và thị trường chứng khoán bởi vì chúng có tính
dự báo cao
• Mô tả khái niệm (concept description & summarization): mục tiêu chính của phương pháp này là tìm các đặc trưng và tính chất của các khái niệm Điển hình nhất cho bài toán này là các bài toán như tổng quát hóa, tóm tắt các đặc trưng dữ liệu ràng buộc…Tóm tắt văn bản là một ví dụ điển hình
1.2.2 Kiểu dữ liệu trong khai phá dữ liệu
Về nguyên lý chung, nguồn dữ liệu được sử dụng để tiến hành KPDL nhằm phát hiện tri thức là rất phong phú và đa dạng, trong đó điển hình nhất là CSDL quan hệ, kho dữ liệu, CSDL giao dịch, các hệ thống dữ liệu và thông tin mở rộng khác [1]
• Cở sở dữ liệu quan hệ
Tính phổ biến của hệ thống CSDL quan hệ hiện nay tạo ra một hệ quả tự nhiên quy định CSDL quan hệ là một nguồn đầu vào điển hình nhất, được quan tâm trước hết của KPDL Hơn nữa, một trong những mẫu được quan tâm là mẫu
về các loại “quan hệ” mà với bản chất của mình, hệ thống CSDL tiềm ẩn các mẫu dạng như thế Như đã biết trong lý thuyết CSDL, hệ thống CSDL thường bao gồm một tập các bảng (hai chiều dọc và ngang) Hệ thống CSDL quan hệ còn bao gồm một mô hình ngữ nghĩa mà thông thường là mô hình thực thể - quan hệ
Trang 20• Kho dữ liệu
Kho dữ liệu là một kết quả xuất hiện trong quá trình tiến hoá các hệ hỗ trợ quyết định Quá trình phát hiện tri thức trong CSDL tiếp nhận đầu vào là các hệ thống CSDL, các nhà kho tổ chức dữ liệu từ các nguồn và các dữ liệu mô tả Các nghiên cứu và triển khai liên quan tới kho dữ liệu chỉ dẫn khuynh hướng hiện tại của các hệ thống thông tin quản lý phổ biến là nhằm vào việc thu thập, làm sạch dữ liệu giao dịch và tạo cho chúng độ linh hoạt khi tìm kiếm trực tuyến Đồng thời với sự phát triển của công nghệ kho dữ liệu, các hệ thống tích hợp các nguồn dữ liệu cả dữ liệu trong quá khứ lẫn dữ liệu tác nghiệp đã được xây dựng Nhiều hệ thống KPDL có đầu vào từ siêu dữ liệu cùng các dữ liệu nguồn trong các kho dữ liệu
• Cơ sở dữ liệu giao dịch
Một lớp bài toán KPDL phổ biến là khai phá quan hệ kết hợp, trong đó điển hình là bài toán khai phá luật kết hợp, được xuất phát từ việc xem xét các CSDL giao dịch Dữ liệu giao dịch chính là dữ liệu nguyên thuỷ xuất hiện trong định nghĩa về luật kết hợp cùng với các độ do của luật như độ hỗ trợ và độ tin cậy Khi mở rộng dữ liệu từ dữ liệu giao dịch sang dữ liệu vô hướng, hoặc dữ liệu phức tạp hơn có trong các CSDL quan hệ, các giải pháp khai phá luật kết hợp được cải tiến để thích ứng với sự biến đổi này Các giải pháp ứng dụng lý thuyết tập mờ và lý thuyết tập thô tương ứng với việc mở rộng miền dữ liệu cần khai phá đã được tiến hành trong nhiều công trình nghiên cứu
• Các hệ thống dữ liệu mở rộng
Trong quá trình phát triển, các phương pháp và thuật toán KPDL thích hợp đối với các CSDL mở rộng và các kiểu kho chứa dữ liệu được đề xuất Các phương pháp và thuật toán này phù hợp với các CSDL trong CSDL hướng đối tượng, CSDL không gian - thời gian, CSDL tạm thời, dữ liệu chuỗi thời gian, dữ liệu dòng, CSDL Text, CSDL đa phương tiện, CSDL hỗn tạp, CSDL kế thừa và Word Wide Web
1.2.3 Một số phương pháp khai phá dữ liệu
Có rất nhiều các phương pháp KPDL, mỗi phương pháp có những đặc điểm riêng và phù hợp với một lớp các bài toán với các dạng dữ liệu và miền dữ liệu nhất định Dưới đây là một số phương pháp thường được dùng [7]
Trang 21- Phương pháp quy nạp
- Cây quyết định và luật
- Khai phá luật kết hợp
- Các phương pháp phân lớp và hồi quy phi tuyến
- Các phương pháp dựa trên mẫu
- Khai phá dữ liệu văn bản
- Giải thuật di truyền
- Mô hình phụ thuộc dựa trên đồ thị xác suất
- Mô hình học quan hệ Các thuật toán KPDL tự động vẫn mới chỉ ở giai đoạn phát triển ban đầu Người ta vẫn chưa đưa ra được một tiêu chuẩn nào trong việc quyết định sử dụng phương pháp nào và trong trường hợp nào thì có hiệu quả
Hầu hết các phương pháp KPDL đều mới đối với lĩnh vực kinh doanh Hơn nữa lại có rất nhiều kỹ thuật, mỗi kỹ thuật được sử dụng cho nhiều bài toán khác nhau Mỗi phương pháp đều có điểm mạnh và điểm yếu của nó, nhưng hầu hết các điểm yếu đều có thể khắc phục được Vì vậy, cần tìm cách áp dụng mỗi kỹ thuật thật đơn giản, dễ sử dụng để không cảm thấy những phức tạp vốn có của
kỹ thuật đó
Để so sánh các kỹ thuật cần phải có một tập lớn các quy tắc và các phương pháp thực nghiệm tốt Thường thì các quy tắc này không được sử dụng khi đánh giá các kỹ thuật mới nhất Vì vậy mà những yêu cầu cải thiện độ chính xác không phải lúc nào cũng thực hiện được
Nhiều công ty đã đưa ra những sản phẩm sử dụng kết hợp nhiều kỹ thuật KPDL khác nhau với hy vọng nhiều kỹ thuật thì sẽ tốt hơn Nhưng thực tế cho thấy không phải như vậy, nhiều kỹ thuật chỉ thêm nhiều rắc rối và gây nhiều khó khăn cho việc so sánh giữa các phương pháp và các sản phẩm Theo nhiều đánh giá cho thấy khi đã hiểu được các kỹ thuật và nghiên cứu tính giống nhau giữa chúng, người ta thấy rằng nhiều kỹ thuật lúc đầu có vẻ khác nhau nhưng thực
Trang 22chất thì chúng lại giống nhau Tuy nhiên đánh giá này cũng chỉ để tham khảo vì cho đến nay KPDL vẫn còn là kỹ thuật mới chứa nhiều tiềm năng mà người ta chưa khai thác hết
1.3 Ứng dụng của khai phá dữ liệu
1.3.1 Ưu thế của khai phá dữ liệu
KPDL thực chất không có gì mới mà hoàn toàn dựa trên các phương pháp
cơ bản đã biết Vậy KPDL có gì khác so với các phương pháp đó và tại sao KPDL lại có ưu thế hơn hẳn chúng? Các phân tích sau sẽ giải đáp những câu hỏi này [2]
• Học máy (machine learning)
Tuy phương pháp học máy đã được cải tiến để có thể phù hợp với mục đích KPDL, nhưng sự khác biệt giữa thiết kế, các đặc điểm của CSDL đã làm nó trở nên không phù hợp với mục đích này, mặc dù đến nay phần lớn các phương pháp KPDL vẫn dựa trên nền tảng cơ sở của phương pháp học máy
Trong các hệ quản trị CSDL, một CSDL là một tập hợp dữ liệu được tích hợp một cách logic, được lưu trong một hay nhiều tệp, và được tổ chức để lưu trữ, sửa đổi và lấy thông tin một cách hiệu quả và dễ dàng Trong học máy, thuật ngữ CSDL chủ yếu đề cập tới một tập các mẫu (instance hay example) được lưu trong một tệp Các mẫu thường là các vector thuộc tính có độ dài cố định, thông tin về tên thuộc tính và dãy giá trị của chúng đôi khi cũng được lưu lại như trong
từ điển dữ liệu Một thuật toán học còn sử dụng tập dữ liệu và các thông tin kèm theo tập dữ liệu đó làm đầu vào và đầu ra biểu thị kết quả của việc học
Với so sánh CSDL thông thường và CSDL trong học máy như trên, có thể thấy là học máy có khả năng áp dụng cho CSDL, bởi vì không phải học trên tập các mẫu mà học trên tệp các bản ghi của CSDL Tuy nhiên KDD làm tăng thêm các khó khăn vốn đã là điển hình trong học máy và đã vượt quá khả năng của học máy Trong thực tế CSDL thường động, không đầy đủ, bị nhiễu và lớn hơn nhiều so với các tập dữ liệu học máy điển hình Các yếu tố này làm cho hầu hết các thuật toán học máy trở nên không hiều quả trong hầu hết các trường hợp Vì vậy trong KPDL cần tập trung rất nhiều công sức vào việc vượt qua những vấn
đề này trong CSDL
Trang 23• Phương pháp hệ chuyên gia
Các hệ chuyên gia cố gắng nắm bắt các tri thức thích hợp với một bài toán nào đó Các kỹ thuật thu thập giúp cho việc lấy tri thức từ chuyên gia con người Mỗi phương pháp đó là một cách suy diễn các luật từ các ví dụ và giải pháp đối với bài toán chuyên gia đưa ra Phương pháp này khác với KPDL ở chỗ các ví
dụ của chuyên gia thường ở mức chất lượng cao hơn rất nhiều so với các dữ liệu trong CSDL và chúng thường chỉ bao quát được các trường hợp quan trọng Hơn nữa, các chuyên gia sẽ xác nhận tính có giá trị và hữu dụng của các mẫu phát hiện được Cũng như với các công cụ quản trị CSDL, ở phương pháp này đòi hỏi có sự tham gia của con người trong việc phát hiện tri thức
• Phát kiến khoa học
KPDL rất khác với phát kiến khoa học ở chỗ những khai phá trong CSDL ít
có chủ tâm và có điều khiển hơn Các dữ liệu khoa học có từ thực nghiệm nhằm loại bỏ một số tác động của các tham số để nhấn mạnh độ biến thiên của một hay một số tham số đích Tuy nhiên, các CSDL thương mại thường ghi lại một
số lượng thừa thông tin về các dự án của họ để đạt được một số mục đích về mặt
tổ chức Sự dư thừa này có thể là hiển hiện hay ẩn chứa trong các mối quan hệ
dữ liệu Hơn nữa các nhà khoa học có thể tạo lại các thí nghiệm và có thể tìm ra rằng các thiết kế ban đầu không thích hợp Trong khi đó các nhà quản lý CSDL hầu như không thể xa xỉ đi thiết kế lại các trường dữ liệu và thu thập lại dữ liệu
• Phương pháp thống kê
Mặc dù các phương pháp thông kê cung cấp một nền tảng lý thuyết vững chắc cho các bài toán phân tích dữ liệu nhưng chỉ có tiếp cận thống kê thuần tuý thôi thì chưa đủ Thứ nhất, các phương pháp thống kê chuẩn không phù hợp đối với các kiểu dữ liệu có cấu trúc trong rất nhiều CSDL Thứ hai, các phương pháp thông kê hoàn toàn bị dữ liệu điều khiển, nó không sử dụng tri thức sẵn có
về lĩnh vực Thứ ba, các kết quả của phân tích thông kê có thể sẽ rất nhiều và khó có thể làm rõ được Cuối cùng cá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
Sự khác nhau cơ bản giữa KPDL và thống kê là ở chỗ KPDL là một phương tiện được dùng bởi người dùng cuối chứ không phải là các nhà thống
kê KPDL tự động hoá quá trình thống kê một cách hiệu quả, vì vậy làm nhẹ bớt công việc của người dùng cuối, tạo ra một công cụ dễ sử dụng hơn Như vậy,
Trang 24nhờ có KPDL, việc dự đoán và kiểm tra rất vất vả trước đây có thể được đưa lên
máy tính, được tính, dự đoán và kiểm tra một cách tự động
1.3.2 Ứng dụng của KPDL
Mặc dù KPDL là một xu hướng nghiên cứu tương đối mới, nhưng thu hút nhiều nhà nghiên cứu bởi vì các ứng dụng thực tế của nó trong nhiều lĩnh vực Sau đây là một số ứng dụng tiêu biểu:
• Phân tích dữ liệu và hỗ trợ ra quyết định: ứng dụng này là phổ biến trong thương mại, tài chính và thị trường chứng khoán, v.v
• Y tế: tìm kiếm sự liên quan tiềm năng giữa các triệu chứng, chẩn đoán, và phương pháp điều trị (dinh dưỡng, toa thuốc, bác sĩ phẫu thuật, v.v.)
• Khai phá text và web: tóm tắt tài liệu, khôi phục văn bản và tìm kiếm văn bản, phân lớp văn bản và siêu văn bản
• Tin sinh học: tìm kiếm và so sánh thông tin di truyền điển hình hoặc đặc biệt như bộ gen và DNA, các mối quan hệ ngầm giữa một số gen
1.3.3 Phân loại các hệ thống khai phá dữ liệu
KPDL là một công nghệ tri thức liên quan đến nhiều lĩnh vực nghiên cứu khác như CSDL, học máy, trí tuệ nhân tạo, trực quan hoá dữ liệu và tri thức, v.v Chúng ta có thể phân loại các hệ thống KPDL theo các tiêu chí khác nhau như sau:
• Phân loại dựa trên loại dữ liệu được khai phá: các hệ thống KPDL làm việc với CSDL quan hệ, kho dữ liệu , CSDL giao dịch, CSDL hướng đối tượng, CSDL không gian và thời gian, CSDL đa phương tiện, CSDL văn bản và web, v.v
• Phân loại dựa trên loại tri thức khai phá được: các hệ thống KPDL có
Trang 25thể phân loại dựa theo loại tri thức mà chúng khai phá được, nghĩa là dựa vào các chức năng khai phá như mô tả, tóm tắt, luật kết hợp, phân lớp, dự báo, phân cụm, v.v
• Phân loại dựa trên loại kỹ thuật được sử dụng: Các công cụ KPDL như các hệ thống xử lý phân tích trực tuyến (OLAP), sử dụng kỹ thuật học máy (cây quyết định, mạng nơron nhân tạo, k-min, thuật toán gen, máy
hỗ trợ vector, tập thô, tập mờ, v.v.), trực quan hoá dữ liệu, v.v
• Phân loại dựa trên các lĩnh vực hệ thống KPDL được ứng dụng: các hệ thống KPDL được sử dụng trong các lĩnh vực khác nhau như: thương mại (ngành công nghiệp bán lẻ), viễn thông, tin sinh học, điều trị y tế, tài chính và thị trường chứng khoán, bảo hiểm y tế, v.v
1.3.4 Xu hướng trong khai phá dữ liệu
Sự đa dạng của dữ liệu, các nhiệm vụ KPDL, và các cách tiếp cận KPDL đặt ra nhiều thách thức trong vấn đề nghiên cứu KPDL Sự phát triển của các hệ thống và phương pháp KPDL hiệu quả, việc xây dựng các môi trường KPDL tương tác và tích hợp, việc thiết kế các ngôn ngữ KPDL, và việc ứng dụng các kỹ thuật KPDL để giải quyết các vấn đề ứng dụng lớn là nhiệm vụ quan trọng đối với các nhà nghiên cứu KPDL, hệ thống KPDL và các nhà phát triển ứng dụng Phần này đề cập đến một số vấn đề đang thu hút
sự chú ý của các nhà nghiên cứu KPDL
• OLAM (khai phá phân tích trực tuyến) - một sự kết hợp của CSDL, kho dữ liệu, và khai phá dữ liệu Ngày nay, các hệ quản trị CSDL như Oracle, MS SQL Server, IBM DB2 có tích hợp chức năng OLAP và kho dữ liệu để tạo điều kiện cho người sử dụng trong việc khôi phục
và phân tích dữ liệu Các nhà nghiên cứu trong lĩnh vực này hy vọng
sẽ vượt qua được những giới hạn hiện tại bằng cách phát triển hệ thống OLAM đa mục đích để hỗ trợ dữ liệu giao dịch cho hoạt động kinh doanh hàng ngày cũng như các phân tích dữ liệu cho việc ra quyết định [19]
• Các hệ thống khai thác dữ liệu có thể khai phá các loại khác nhau của tri thức từ loại dữ liệu khác nhau [7] [19]
• Làm thế nào để tăng cường hiệu suất, độ chính xác, khả năng mở rộng,
Trang 26và tích hợp của các hệ thống khai thác dữ liệu? Làm thế nào để giảm
độ phức tạp tính toán? Làm thế nào để cải thiện khả năng xử lý dữ liệu không đầy đủ, không phù hợp, và nhiễu? Ba câu hỏi trên vẫn còn cần được tập trung trong tương lai [19]
• Tận dụng tri thức nền hoặc tri thức từ những người dùng (các chuyên gia hoặc chuyên viên) để nâng cấp hiệu suất của các hệ thống khai thác
dữ liệu [7]
• Khai thác dữ liệu song song và phân tán là một xu hướng nghiên cứu thú vị bởi vì nó sử dụng các hệ thống tính toán mạnh mẽ để giảm thời gian phản ứng Đây là điều cần thiết bởi vì ngày càng cần nhiều các ứng dụng thời gian thực trong thế giới cạnh tranh ngày nay [8]
• Ngôn ngữ truy vấn khai thác dữ liệu (DMQL): Các nhà nghiên cứu trong lĩnh vực này cố gắng thiết kế một ngôn ngữ truy vấn chuẩn cho khai thác dữ liệu Ngôn ngữ này sẽ được sử dụng trong các hệ thống OLAM như SQL được sử dụng rộng rãi trong CSDL quan hệ [19]
• Trực quan hoá và trình diễn tri thức cũng được xem xét để thể hiện tri thức trong các dạng mà con người dễ sử dụng và có thể đọc được Tri thức có thể được biểu diễn trong các biểu thức trực quan hơn do cấu trúc dữ liệu đa chiều hoặc đa mức
1.4 Kết luận chương 1
Chương này đã trình bày tổng quan về KPDL và KDD KDD là rất cần thiết và là một quá trình gồm nhiều giai đoạn, trong đó giai đoạn KPDL là một giai đoạn chính yếu nhất
Chương này cũng đề cập đến các hướng tiếp cận và kỹ thuật chính trong KPDL cùng với một số phương pháp KPDL Mỗi phương pháp có những đặc điểm riêng và phù hợp với một lớp các bài toán với các dạng dữ liệu và miền dữ liệu nhất định Trong các CSDL lớn, các phương pháp KPDL (điển hình là phân cụm, phân lớp) cho phép phát hiện được các mẫu tiềm ẩn và đánh giá giá trị của chúng một cách tự động trong một khoảng thời gian nhanh nhất để hỗ trợ cho người sử dụng
Sự đa dạng của dữ liệu, các nhiệm vụ KPDL, và các cách tiếp cận KPDL
Trang 27đặt ra nhiều thách thức trong vấn đề nghiên cứu KPDL Phần cuối của chương này phác họa những ưu thế, ứng dụng chính của lĩnh vực này và những hướng nghiên cứu đang và sẽ được chú trọng trong thời gian tới
Trang 28CHƯƠNG II: LUẬT KẾT HỢP
2.1 Giới thiệu
Khai phá luật kết hợp là một kỹ thuật quan trọng của KPDL được ra đời và
phát triển mạnh mẽ trong những năm gần đây Lần đầu tiên được Rakesh
Agrawal, Tomas Imielinski, Arun Swami đề xuất năm 1993 Sau đó năm 1996
được Rakesh Agrawal , Heikki Mannila, Ramakrishnan Srikant, Hanno
Toivonen, A.Inkeri Verkamo tiếp tục phát triển cải tiến Những nghiên cứu về
luật kết hợp gần đây tập trung xây dựng các thuật toán khai phá luật kết hợp mới, hiệu quả hoặc cải tiến, phát triển các thuật toán hiệu quả hơn từ các thuật toán đã có [29]
Khai phá luật kết hợp là sự KPDL không được định hướng hoặc không có giám sát trên dữ liệu có độ dài thay đổi, nó cho ra các kết quả rõ ràng và dễ hiểu Mục đích của khai phá luật kết hợp là tìm tất cả các tập con, các đối tượng hoặc các thuộc tính xuất hiện thường xuyên trong nhiều giao dịch hoặc bản ghi trong CSDL, thêm vào đó là rút ra các luật về một tập con đối tượng có ảnh hưởng tới
sự xuất hiện của tập con các đối tượng khác như thế nào [12]
Luật kết hợp là một lĩnh vực quan trọng trong khai phá dữ liệu Luật kết hợp giúp chúng ta tìm được các mối liên hệ giữa các mục dữ liệu (item) của CSDL Trong ngành viễn thông, các loại dịch vụ cung cấp cho khách hàng ngày càng nhiều, do đó chúng ta có thể tìm mối liên kết giữa việc sử dụng các loại dịch vụ để phục vụ cho việc quảng cáo, tiếp thị Ví dụ như để tìm hiểu thói quen
sử dụng các dịch vụ viễn thông của khách hàng, người ta thường đặt câu hỏi:
“Những dịch vụ nào khách hàng thường hay sử dụng cùng lúc với nhau khi đăng
ký sử dụng tại trung tâm chăm sóc khách hàng?” Các kết quả nhận được có thể dùng cho việc tiếp thị dịch vụ như liệt kê các dịch vụ khách hàng hay sử dụng nằm gần nhau, hoặc khuyến mãi dịch vụ kèm theo v.v
Trang 29Luật kết hợp là những luật có dạng “80% khách hàng mua máy điện thoại
di động thì mua thêm simcard, 30% có mua cả máy điện thoại di động lẫn simcard” hoặc “75% khách hàng gọi liên tỉnh và sống ở các huyện thì gọi điện thoại IP 171 liên tỉnh, trong đó 25% số khách hàng vừa gọi liên tỉnh và sống ở các huyện vừa gọi điện thoại IP 171 liên tỉnh” “Mua máy điện thoại di động” hay “gọi liên tỉnh và sống ở các huyện” được xem là vế trái (tiền đề) của luật, còn “mua simcard” hay “gọi điện thoại IP 171 liên tỉnh” là vế phải (kết luận) của luật Các con số 30% hay 25% là độ hỗ trợ của luật (support - số phần trăm các giao tác chứa cả vế trái và vế phải), còn 80% hay 75% là độ tin cậy của luật (confidence - số phần trăm các giao tác thỏa mãn vế trái thì cũng thỏa mãn vế phải)
Chúng ta nhận thấy rằng tri thức đem lại từ luật kết hợp ở dạng trên có sự khác biệt cơ bản so với thông tin thu được từ các câu lệnh truy vấn dữ liệu thông thường như ngôn ngữ SQL Đó là những tri thức, những mối liên hệ chưa biết trước và mang tính dự báo đang tiềm ẩn trong dữ liệu Những tri thức này không đơn giản là kết quả của phép nhóm, tính tổng hay sắp xếp mà là kết quả của một quá trình tính toán khá phức tạp và tốn nhiều thời gian
Tuy luật kết hợp là dạng luật khá đơn giản nhưng lại mang khá nhiều ý nghĩa Thông tin mà dạng luật này đem lại là rất đáng kể và hỗ trợ không nhỏ trong quá trình ra quyết định Tìm kiếm được các luật “quý hiếm” và mang nhiều thông tin từ CSDL là một trong những hướng tiếp cận chính của lĩnh vực khai phá dữ liệu
Hình 2.1: Minh họa về luật kết hợp
Trong các giao tác mua máy điện di động thì có 80% giao tác mua thêm simcard
Trang 302.2 Phát biểu bài toán khai phá luật kết hợp
2.2.1 Luật kết hợp
Cho một tập mục I = {i1, i2, …, in}, mỗi phần tử thuộc I được gọi là một mục Mục còn được gọi là thuộc tính và I cũng được gọi là tập các thuộc tính Cho một CSDL giao dịch T = {t1, t2, …, tm}, trong đó mỗi tj là một giao dịch (transaction – còn được gọi là bản ghi - record) và là một tập con thuộc I
Cho X là một tập con các thuộc tính (X ⊆ I), lúc đó X được gọi là tập mục (itemset) Số lượng các thuộc tính (số mục) trong X được gọi là độ dài hay lực lượng (card) của tập mục X Nếu X có lực lượng là k thì X được gọi là k-tập mục
Sau đây là một ví dụ về CSDL (dạng giao dịch): I = {A, C, D, T, W}, T={1, 2, 3, 4, 5, 6} với thông tin về các giao dịch cho ở bảng sau:
Trang 31Định nghĩa 2.3 (Độ hỗ trợ và độ tin cậy của luật kết hợp)
Độ hỗ trợ (support) và độ tin cậy (confident) là hai thước đo cho tính tin cậy và mức độ chính xác của luật [21]
Độ hỗ trợ đo tính tin cậy của luật bằng tỷ lệ giao dịch có chứa (X ∪ Y) trong tập T Độ hỗ trợ của luật X → Y, ký hiệu supp(X → Y) và được tính bằng:
supp(X→Y) = supp(X ∪Y)
Độ tin cậy đo mức độ chính xác của luật bằng tỷ lệ tập giao dịch có chứa (X∪Y) so với tập giao dịch có chứa X Độ tin cậy của luật X→Y, ký hiệu conf(X→Y) và được tính bằng:
conf(X→Y) = supp(X ∪Y)/supp(X)
Từ định nghĩa ta có: 0 ≤ supp(X→Y) ≤ 1 và 0 ≤ conf(X→Y) ≤ 1 Theo quan niệm xác suất, độ hỗ trợ là xác suất xuất hiện tập mục X∪Y, còn độ tin cậy
là xác suất có điều kiện xuất hiện Y khi đã xuất hiện X
Luật kết hợp X→Y được coi là một “tri thức” (“mẫu có giá trị”) nếu xảy ra đồng thời: supp(X→Y) ≥ minsup và conf(X→Y) ≥ minconf, với minsup và minconf là hai ngưỡng cho trước
Một số tính chất của luật kết hợp:
• Không có phép hợp các luật kết hợp: Nếu X → Z và Y → Z thì không
có nghĩa là X∪Y → Z đúng Xét trường hợp X∩Y = ∅, các giao tác trong T hỗ trợ Z nếu và chỉ nếu chúng hỗ trợ hoặc X, hoặc Y, khi đó
độ hỗ trợ của X∪Y bằng 0 nên luật X∪Y → Z có độ tin cậy là 0%
• Phép tách luật: Nếu X∪Y → Z thì X → Z và Y → Z chưa chắc chắn xảy ra Ví dụ trường hợp Z có mặt trong một giao tác khi và chỉ khi cả
hai X và Y cũng có mặt, tức là supp(X∪Y) = supp(Z) Nếu độ hỗ trợ của X và Y đủ lớn hơn supp(X∪Y), tức là supp(X) > supp(X∪Y) và
supp(Y) > supp(X∪Y) thì hai luật riêng biệt sẽ không đủ độ tin cậy Tuy nhiên đảo lại: X → Y ∪ Z thì X → Y và X → Z
• Các luật kết hợp không có tính bắc cầu: Nếu X → Y và Y → Z thì chúng ta không thể suy ra X → Z
Trang 32Định nghĩa 2.4 (Tập phổ biến)
Một tập mục X được gọi là tập phổ biến nếu độ hỗ trợ của nó lớn hơn hoặc bằng một ngưỡng minsup được xác định bởi người sử dụng: supp(X) ≥ minsup Bảng sau đây sẽ liệt kê tất cả những tập mục phổ biến (frequent-itemset) trong CSDL cho ở bảng 2.1 với giá trị minsup bằng 50%
• Các tập con của một tập phổ biến cũng là các tập phổ biến Nếu tập B
là một tập phổ biến trong T, tức là supp(B) ≥ minsup, mọi tập con A của B cũng là phổ biến trong T bởi vì supp(A) ≥ supp(B) ≥ minsup theo tính chất 1 Trường hợp đặc biệt, nếu tập A = {i1, i2, …, in} thì mọi tập con có (m-1) mục của nó cũng là phổ biến Nhưng ngược lại không đúng
Một số tác giả đã chỉ ra một số hạn chế của độ hỗ trợ và độ tin cậy để đánh giá các luật kết hợp [14] Để tránh một số những hạn chế đó và để đảm bảo rằng các luật phát hiện được là có ích và chính xác, một cách tiếp cận mới được đề xuất trong [14]
Bảng 2.2 Các tập phổ biến trong CSDL ở bảng 2.1 với minsup = 50%
Trang 33Định nghĩa 2.5 (Nhân tố chắc chắn)
Nhân tố chắc chắn của một luật kết hợp mờ X → Y là giá trị:
Giả thiết rằng nếu supp(Y) = 1 thì CF(X→Y) = 1 và nếu supp(Y) = 0 thì
CF(X→Y) = -1
Nhân tố chắc chắn có giá trị trong [-1, 1] Mệnh đề sau đây là một tính chất thú vị trong [14]:
Mệnh đề 1: conf(X → Y) = 1 nếu và chỉ nếu CF(X → Y) = 1
Tính chất này đảm bảo rằng nhân tố chắc chắn của một luật kết hợp mờ đạt được giá trị tối đa của nó là 1, khi và chỉ khi luật đó là hoàn toàn chính xác
2.2.2 Phát biểu bài toán khai phá luật kết hợp
Bài toán khai phá luật kết hợp (ở dạng đơn giản nhất) đặt ra như sau:
Cho một CSDL T, độ hỗ trợ tối thiểu minsup, độ tin cậy tối thiểu minconf Hãy tìm tất cả các luật kết hợp có dạng X → Y thỏa mãn: supp(X∪Y) ≥ minsup và conf(X→Y) ≥ minconf
Các thuật toán khai phá luật kết hợp đầu tiên được phát triển bởi Agrawal
và đồng nghiệp [25] Các thuật toán này thu được các luật mạnh (strong rules) từ các tập phổ biến có độ hỗ trợ lớn hơn minsup [21]
Thuật toán nổi tiếng nhất APriori, được dựa trên một quan sát đơn giản nhưng quan trọng về các tập phổ biến, tính chất Apriori nhấn mạnh là: "Tất cả các tập con của một tập mục phổ biến cũng là một tập mục phổ biến" Từ đó, thuật toán được thiết kế để bắt đầu quá trình lặp đi lặp lại từ các tập mục phổ biến có chứa một mục (thuộc tính) duy nhất
Mặc dù mô hình KPDL này có liên quan đến CSDL giao dịch nhị phân, nhưng rất dễ dàng khái quát nó để chứa các cấu trúc dữ liệu phức tạp hơn mà các khái niệm về mục và tập mục là những khái niệm trừu tượng có thể biểu diễn cho các đối tượng và tập hợp các đối tượng tương ứng nói chung Sau các
)Y(psup)YX(conf
)Y(psup1
)Y(psup)YX(conf)
YX
(
CF
nếu conf (X→Y) > supp(Y) nếu conf (X→Y) ≤ supp(Y)
Trang 34bài báo đầu tiên của Agrawal, rất nhiều công trình nghiên cứu đã được dành cho chủ đề này và một số tình huống khác nhau đã được khám phá Nhiều bài báo đã được dành để phát triển các thuật toán khai phá các luật kết hợp Các thuật toán ban đầu đã được điều chỉnh, sửa đổi hoặc cải tiến bởi nhiều tác giả với mục đích giải quyết các tình huống khác nhau có thể xuất hiện trong KPDL Các thuật toán hiệu quả đầu tiên như AIS, Apriori và AprioriTid, SETM, OCD, và DHP đã được tiếp tục với những phát triển gần đây như DIC, CARMA, TBAR, và FP-Growth
Hầu hết các thuật toán được đề xuất để khai phá luật kết hợp thường được chia thành hai pha [5] [23] [27]:
• Pha 1: Tìm tất cả các tập mục phổ biến từ CSDL, tức là tìm tất cả các tập mục X thỏa mãn supp(X) ≥ minsup Đây là pha tốn khá nhiều thời gian của CPU (CPU-bound) và thời gian vào ra ổ đĩa (I/O-bound)
• Pha 2: Sinh các luật tin cậy từ các tập phổ biến đã tìm thấy ở pha 1 Pha này tương đối đơn giản và tốn kém ít thời gian so với pha trên Nếu X là một tập phổ biến thì luật kết hợp được sinh từ X có dạng
X’→ X\X’
trong đó X’ là tập con khác rỗng của X, X\X’ là hiệu của hai tập hợp
Ví dụ, với tập phổ biến ABE có độ tin cậy 67% ở bảng 2.2 và minconf = 70% thì chúng ta có thể sinh các luật kết hợp sau đây:
Luật kết hợp Độ tin cậy conf ≥ minconf ? A→BE (conf = supp(ABE)/supp(A) = 100%) Có
B→AE (conf = supp(ABE)/supp(B) = 67%) Không
Trang 352.3 Luật kết hợp nhị phân
Luật kết hợp nhị phân 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 kỳ đầ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 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 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ó [28]
Cho I = {i1, i2, , in} là một tập các thuộc tính nhị phân, được gọi là các mục T là một CSDL giao dịch Mỗi giao dịch t được biểu diễn như là một vector nhị phân, với t[k] = 1 nếu t chứa ik, và t[k] = 0 nếu ngược lại Cho X là một tập của một số thuộc tính trong I Ta nói rằng một giao dịch t thỏa mãn X nếu tất cả các ik ∈ X, t[k] = 1
Thuật toán Apriori
Thuật toán Apriori là một thuật toán điển hình tìm luật kết hợp Thuật toán dựa theo tính chất Apriori phát biểu rằng: “tập con bất kỳ của một tập phổ biến cũng là một tập phổ biến”, tính chất này hiển nhiên đúng Nội dung quan trọng nhất của thuật toán Apriori là tìm ra được tất cả các tập phổ biến trong T Trong thuật toán, các tên mục i1, i2, …, in (n=|T|) được sắp xếp theo một thứ tự nhất định (thường được đánh chỉ số 1, 2, … , n) Thuật toán hoạt động theo quy tắc quy hoạch động, nghĩa là từ các tập Fi = {ci|ci tập phổ biến,|ci| = i} gồm mọi tập mục phổ biến có độ dài i với 1 ≤ i ≤ k, đi tìm tập Fk+1 gồm mọi tập mục phổ biến
có độ dài k+1
Đầu tiên Apriori duyệt CSDL và tìm kiếm các tập phổ biến kích thước là 1 bằng cách tính toán cho mỗi thuộc tính và lựa chọn những thuộc tính thoả mãn yêu cầu về độ hỗ trợ tối thiểu Sau đó lặp lại ba bước sau đây và đưa ra tất cả các tập phổ biến
1 Tạo Ck+1 - các ứng viên của các tập phổ biến có kích thước k+1 từ các tập phổ biến kích thước k
2 Duyệt CSDL và tính độ hỗ trợ của mỗi ứng viên của các tập phổ biến
3 Thêm các tập phổ biến thỏa mãn yêu cầu về độ hỗ trợ tối thiểu vào Fk+1
Trang 36Mô tả thuật toán như sau:
Input: - CSDL giao dịch T = {t|t giao dịch}
- Độ hỗ trợ tối thiểu minsup >0
• Bước nối: Sinh các tập mục Rk+1 là ứng viên tập phổ biến có độ dài k+1 bằng cách kết hợp hai tập phổ biến Pk và Qk có độ dài k và trùng nhau ở k-1 mục đầu tiên:
Rk+1 = Pk ∪ Qk = {i1, i2, …, ik-1, ik, ik’ } với
Pk = {i1, i2, …, ik-1, ik} và Qk = {i1, i2, …, ik-1, ik’} Trong đó i1 ≤ i2 ≤ …≤ ik-1 ≤ ik ≤ ik’
• Bước tỉa: Giữ lại tất cả các Rk+1 thỏa mãn tính chất Apriori (∀X ⊆ Rk+1
và |X| = k → X ∈ Fk ), nghĩa là đã loại (tỉa) bớt đi mọi ứng viên Rk+1
không đáp ứng tính chất này
Trang 37Trong mỗi bước k, thuật toán Apriori đều phải duyệt CSDL T Khởi động, duyệt T để có được F1 Các bước k sau đó, duyệt T để tính số lượng giao dịch t thoả mãn từng ứng viên c của Ck+1 (mỗi giao dịch t chỉ xem xét một lần cho mọi ứng viên c)
Kết quả của thuật toán Apriori là tập F = F1 ∪ F2 ∪ … ∪ Fk, trong đó k là
số được xác định qua vòng lặp từ 2 đến 10 của thuật toán
Sau đó, ∀c ∈ F đóng vai trò như X ∪ Y của luật kết hợp X → Y thực hiện việc tách c thành 2 tập mục con rời nhau X và Y (c = X+Y) và tính độ tin cậy conf(X → Y) = supp(c)/supp(X) = c.count/X.count
Từ khi bài toán phát hiện luật kết hợp được giới thiệu, nhiều thuật toán đã được đề xuất để tìm luật kết hợp trong các CSDL lớn với các thuộc tính nhị phân Tuy nhiên, luật kết hợp nhị phân hạn chế miền ứng dụng, bởi nó chỉ áp dụng cho thuộc tính nhị phân, trong khi đó dữ liệu thực tế thường chứa dữ liệu
số, loại dữ liệu không thể xử lý được trực tiếp bằng thuật toán khai phá nhị phân
có loại thuộc tính như vậy được gọi là bài toán luật kết hợp có thuộc tính số Các miền giá trị của một giao dịch là một tập con các số thực chứ không phải
là {0,1}
Để xử lý dữ liệu số, luật kết hợp có thuộc tính số đã được đề xuất như là một mở rộng của luật kết hợp nhị phân, trong đó các thuộc tính nhị phân có thể được coi là một trường hợp đặc biệt của các thuộc tính hạng mục
Khai phá luật kết hợp với thuộc tính số và thuộc tính hạng mục (quantitative and categorical association rule) là một trong những hướng tiếp cận quan trọng trong lĩnh vực khai phá luật kết hợp (sẽ được đề cập ở mục 2.5) Dạng luật này được đề xuất nghiên cứu lần đầu tiên trong [27]
Trang 38Bảng dữ liệu sau đây minh họa một CSDL bao gồm các thuộc tính số (quantitative), và thuộc tính hạng mục (categorical)
Ngày gọi Giờ bắt
đầu
Thời gian đàm thoại
Phương thức gọi(1,0)
Loại cước (1,2,3,4,5,6)
Cước cuộc gọi 01/07 10:25:48 00:00:47 1(nhân công) 3(Di động) 712 07/07 09:45:31 00:17:06 1 1(Nội hạt) 3436 16/07 15:40:43 00:00:10 0(tự động) 4(DV1080) 636
Bảng 2.4 CSDL chi tiết của 9 cuộc gọi điện thoại
Trong CSDL trên: Thời gian đàm thoại và Giờ bắt đầu gọi là thuộc tính số, Loại cước là thuộc tính hạng mục Với CSDL này, chúng ta có thể rút ra một số luật kết hợp sau:
<Giờ bắt đầu: 07:00:00 22:59:59 > AND <Thời gian đàm thoại: 00:00:30 00:20:00> AND <Phương thức gọi: Nhân công> → <Loại cước: Nội hạt>, với
độ hỗ trợ 55.5% (5/9) và độ tin cậy 83.3% (5/6)
Hướng tiếp cận được đề xuất trong [27] nhằm tìm kiếm luật kết hợp dạng nêu trên bằng cách phân khoảng miền giá trị của các thuộc tính số và thuộc tính hạng mục để chuyển tất cả về thuộc tính nhị phân, sau đó áp dụng các thuật toán điển hình khi phá luật kết hợp nhị phân trước đây
Trang 392.4.2 Các phương pháp rời rạc hóa
Các thuật toán khai phá luật kết hợp nhị phân [23] [28] chỉ có thể áp dụng trên những CSDL quan hệ chỉ có thuộc tính nhị phân hoặc CSDL dạng giao dịch như trong bảng 2.1 Chúng không thể áp dụng trực tiếp với các CSDL có thuộc tính số và thuộc tính hạng mục như trong CSDL ở bảng 2.4 Muốn thực hiện được điều này, người ta phải tiến hành rời rạc hóa dữ liệu cho các thuộc tính số
để chuyển chúng về thuộc tính nhị phân
Mục này sẽ trình bày một vài phương pháp rời rạc hóa, đồng thời đánh giá xem chúng có những nhược điểm gì
• Nếu A là thuộc tính số rời rạc (quantitative & discrete) hoặc là thuộc tính hạng mục (categorical) với miền giá trị hữu hạn dạng {v1, v2, …, vk} và
k đủ bé (< 100) thì ta sẽ biến đổi thuộc tính này thành k thuộc tính nhị phân dạng A_V1, A_V2, … A_Vk Giá trị của một bản ghi tại trường A_Vi bằng True (hoặc 1) nếu giá trị của bản ghi đó tại thuộc tính A ban đầu bằng vi, trong các trường hợp còn lại giá trị của A_Vi sẽ là False (hoặc 0)
Trong bảng 2.4 thuộc tính Loại cước thuộc dạng này Lúc đó Loại cước sẽ được chuyển thành sáu thuộc tính nhị phân là Loại cước_1, Loại cước_2, Loại cước_3, và Loại cước_4, Loại cước_5, Loại cước_6
cước_1
Loại cước_2
Loại cước_3
Loại cước_4
Loại cước_5
Loại cước_6
3
Sau khi rời rạc hoá