1. Trang chủ
  2. » Luận Văn - Báo Cáo

Khai phá dữ liệu luật kết hợp mờ và ứng dụng cho bài toán khai phá dữ liệu cước internet

93 620 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 93
Dung lượng 35,72 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Luật kết hợp mờ là một trong những phương pháp khai phá dữ liệu có hiệu quả Nội dung luận văn gồm các chương sau: Chương 1: Tổng quan về khai phá dữ liệu Chương này trình bày khái quát v

Trang 1

ĐẠI HỌC QUỐC GIA HÀ NỘI

T R Ư Ờ N G Đ Ạ I H Ọ C C Ô N G N G H Ệ• • •

Pham T hi H oa Nam• •

KHAI PHÁ DỮ LIỆU LUẬT KẾT HỢP MỜ

VÀ ỨNG DỤNG CHO BÀI TOÁN KHAI PHÁ

D ử LIỆU CƯỚC INTERNET

Ngành : Công nghệ thông tin

Ma số: 1.01.10

LUẬN VĂN THẠC s ĩ

NGƯỜI HƯỚNG DÃN KHOA HỌC:

PGS.TS NGUYỄN THANH THUY

Hà Nội - 2007

Trang 2

MỤC LỤC

MỞ ĐẦU .7

Chương 1 TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU 7

1.1 Khái niệm cơ bản 7

1.1.1 Mục tiêu của khai phá dữ liệu 7

1.1.2 Định nghĩa khai phá dữ liệu 8

1.1.3 Các dạng dữ liệu có thể khai phá dữ liệu.[l][3] 8

1.1.4 Quá trình khai phá dữ liệu 9

1.1.4.1 Các bước chính trong quá trình khai phá 9

1.1.4.2 Các thành phần của giải thuật khai p h á 9

1.1.4.3 Hướng tiếp cận cơ bàn và kỹ thuật áp dụng trong quá trình khai phá 10

1.1.4.4 ứng dụng của khai phá dữ liệu 11

1.2 Phương pháp khai phá dữ liệu 12

1.2.1 Một số phương pháp khai phá dữ liệu phổ biến [1][3] 12

1.2.1.1 Cây quyết định và luật 12

1.2.1.2 Phương pháp suy diễn và quy nạp 12

1.2.1.3 Phát hiện các luật kết h ợ p 13

1.2.1.4 Phân nhóm và phân đoạn 14

1.2.1.5 M ạngnơron 15

1.2.1.6 Giải thuật di truyền 16

1.2.2 Phân loại các hệ thống khai phá dữ liệu 16

1.2.3 Những vấn đề quan tâm trong hệ thống khai phá dữ liệu và lựa chọn các kỹ thuật khai phá 17

Chương 2 KHAI PHÁ DỮ LIỆU BẢNG LUẬT KẾT HỢP 20

2.1 Ý nghĩa của ỉuật kết hợp[5] 20

2.2 Phát biểu bài toán [1][5] 21

2.3 Một số khái niệm cơ bản và các pha thực hiện.[3][4][5] 22

2.4 Một số tính chất của tập mục phổ biến và luật kết h ợ p 24

2.4.1 Một số tính chật của tập mục phổ biến 24

2.4.2 Một số tính chất của luật kết h ợ p 25

2.4.3 Các loại luật kết họp [5][6][8] 26

2.5 Các thuật toán khai phá dữ liệu nhờ luật kết hợp 27

2.5.1 Khai phá luật kết hợp nhị phân đơn chiều tò cơ sở dữ liệu tác v ụ 27

2.5.1.1 Thuật toán Apriori tìm tập mục phổ biến sử dụng phương pháp sinh các ứng cử [5] 27 2.5.1.2 Nâng cao hiệu quả thuật toán Apriori [7][8][9] 33

2.5.1.3 Thuật toán sinh các luật kết hợp tò tập mục phổ biến 35

2.5.1.4 Khai phá tập mục phổ biến không sinh ứng cử [ 3 ] 38

2.5.2 Khai phá luật ket hợp định lượng [6] 44

2.5.3 Khai phá luật kết hợp đa mức [6] 45

2.5.3.1 Luật kết họp đa m ức 45

2.5.3.2 Các cách tiep cận khai phá luật kết hợp đa m ức 45

2.5.4 Khai phá luật kết hợp đóng 46

2.5.4.1 Tập mục phổ biến đóng 47

2.5.4.2 Sinh luật! 50

L Ờ I C Ả M Ơ N 3

Trang 3

2.5.4.3 Thuật toán CHARM [8] 51

Chương 3 KHAI PHÁ DỮ LIỆU BANG LUẬT KÉT HỢP M Ờ 54

3.1 Khái niệm về tập mờ (Fuzzy Sets), logic mờ và hệ mờ 54

3.1.1 Tập mờ [2], .54

3.1.2 Các phép toán cơ bản trên tập mờ [2] 56

3.1.2.1 Phép phủ định 56

3.1.2.2 Phép hội ’ 56

3.1.2.3 Phép tuyển 57

3.1.2.4 Luật De Morgan 57

3.1.2.5 Phép kéo theo 57

3.1.3 Áp dụng tập mờ để rời rạc hóa dữ liệu và các ưu điểm 58

3.2 Các luật kết hợp mờ [3] [11] 59

3.3 Các thuật toán khai phá luật kết hợp mờ 63

3.4 Luật kết hợp mờ ở dạng phủ định 68

3.5 Luật kết hợp mờ với thuộc tính được đánh trọng số [5][6][11] 68

3.6 Tìm các luật thật sự có ích [3] 69

3.6.1 Phương pháp dùng quy luật loại bỏ luật thừa 69

3.6.2 Phương pháp tìm luật đơn giản 70

3.6.3 Phương pháp tìm luật mới lạ dựa trên tri thức đã biết 70

3.6.4 Chuyển iuật kết hợp mờ về luật kết hợp thuộc tính s ố 72

Chương 4 ỨNG DỤNG LUẬT KẾT HỢP MỜ CHO BÀI TOÁN KHAI PHÁ DỮ LIỆU CƯỚC INTERNET 74

4.1 Nguồn dữ liệu cuớc Internet 74

4.2 Cài đặt hệ thống khai phá dữ liệu cước Internet 75

4.2.1 Các bước tiến hành xây dựng hệ thống khai phá dữ liệu cước Internet 75

4.2.2 Giao diện hệ thống khai phá dữ liệu cước Internet 80

4.2.2.1 Hệ thống hàm chuẩn 80

4.2.2.2 Mờ hoá dữ liệu và sinh luật kết hợp m ờ 81

4.2.2.3 Tìm luật có ích 87

KẾT LUẬN 89

Trang 4

Đầu tiên tôi xin gửi lời cảm ơn sâu sắc nhất đến thầy giáo, cán bộ hướng dẫn khoa học PGS.TS Nguyễn Thanh Thủy, người đã truyền cho tôi cảm hứng về đề tài,

về phương pháp nghiên cứu khoa học, đã giảng dạy, chỉ bảo hướng dẫn tận tình trong suốt thòi gian qua

Tôi xin bầy tỏ lòng biết ơn sâu sắc đến tất cả các thầy cô giáo ở Trường Đại học Công nghệ, Viện công nghệ thông tin đã giảng dạy, truyền đạt cho tôi các kiến thức trong suốt 3 năm qua

Cuối cùng tôi xin chân thành cảm ơn các bạn học viên lớp K10T3, các đồng nghiệp, gia đình đã giúp đỡ, động viên tôi trong suốt thời gian qua

Hà nội, ngày 23 tháng 10 năm 2007

Học viên

I

Pham Thi Hoa Nam • •

LỜI CẢM ƠN

Trang 5

40 74 77 79 80 80 81 81 82 82 83 83 84 84 85 85

86 86

87 87 88

DANH MỤC CÁC HÌNH VẼ, ĐÒ THỊ

Ví dụ cây FP-tree với minsup=20%

Mô hình vận hành hệ thống (theo quy trình đấu nối và khai thác dịch vụ) Mô hình tổng quan hệ thống khai phá dữ liệu:

Mô hình cơ sở dữ liệu quan hệ

Loại hàm thuộc

Hàm thuộc và tham sổ cho mỗi hàm thu ộ c

Tập mờ và thuộc tính gốc của n ó

Giao diện thực hiện Mờ hoá dữ liệu và cơ sở dữ liệu cước g ố c

Cơ sở dữ liệu sau khi thực hiện mờ h o á

Sinh tập phổ biến sử dụng toán tử T-norm - Tích đại s ổ

Sinh tập phổ biến sử dụng toán tử T-norm - Phép lấy m in

Sinh tập phổ biến sử dụng toán tử T-norm - Tích bị chặn

Sinh tập phổ biến sử dụng toán tử T-norm - Tích Drastic

Sinh tập phổ biến sử dụng toán tử T-norm - Phép giao

Sinh tập các luật mờ từ tập phổ biến

Diễn giải luật

Sinh tập luật bằng luật phủ đ ịn h

Sinh luật kết hợp với các thuộc tính được đánh trọng số

Tìm luạt mới lạ dựa trên tri thức đã biết

Tìm luật đom giản

Loại bỏ luật thừ a

Trang 6

Chính vì vậy các nhà khoa học cho rằng chúng ta đang sổng trong xã hội giàu thông tin nhưng nghèo tri thức Vì thế đòi hỏi phải nghiên cứu phát triển các

phương pháp khai phá, phát hiện ra những thông tin, tri thức hữu ích bị che giấu trong đống “ dữ liệu” để phục vụ các công việc của nhà quản lý, các chuyên gia, chuyên viên

M ục tiêu của bài toán khai phá dữ liệu là tìm ra thông tin, tri thức (những mối quan hệ hay sự phụ thuộc giữa các đại lượng (các biến) trong kho tàng dữ liệu (về một lĩnh vực nào đó)

Chúng ta dễ dàng nhận thấy, mỗi con người dù là người nước nào đều tư duy bằng ngôn ngữ và như vậy tri thức trong đầu mỗi người đều được biểu thị qua ngôn ngữ Vì ngôn ngữ hàm chứa các thông tin mờ cho nên việc ứng dụng phương pháp luận mờ ừ ong việc biểu diễn, xử lý, xây dựng các hệ tri thức là tự nhiên và như vậy mới thực sự đi vào giải quyết vấn đề một cách bản chất Chính vì vậy các mô hình

m ờ (fuzzy) được sừ dụng để mô phỏng, phản ánh, giải quyết các bài toán liên quan đến khía cạnh định tính của tri thức

Trang 7

Luật kết hợp mờ là một trong những phương pháp khai phá dữ liệu có hiệu quả

Nội dung luận văn gồm các chương sau:

Chương 1: Tổng quan về khai phá dữ liệu

Chương này trình bày khái quát về khai phá dữ liệu, các phương pháp khai phá, các lĩnh vực ứng dụng

Chương 2: Khai phá dữ liệu bằng luật kết họp

Chương này trình bày các phương pháp khai phá dữ liệu bằng luật kết hợp từ thuật toán cơ bản đến các thuật toán cải tiến Đồng thời cũng trình bày một số vấn

đề cơ bản của luật kết họp đa mức, định lượng, đóng

Chương 3: Khai phá dữ liệu bằng luật kết hợp mờ

Chương này trình bày khái niệm về tập mờ, các phép toán cơ bản trên tập mờ, các luật kết hợp mờ, cách tìm kiếm các luật thực sự có ích

Chương 4: ứ n g dụng luật kết hợp mờ cho bài toán khai phá dữ liệu cước InternetTrong chương này trình bày bài toán, xác định nhiệm vụ khai phá dữ liệu, phân tích và thiết kế các môđul, giao diện chương trình Chương trình được xây dựng với mục đích thử nghiệm để đánh giá kết quả

Trang 8

C h ư ơ n g 1 TỔNG QUAN VÈ KH AI PHÁ D Ữ LIỆU

1.1 Khái niêm cơ bản

1.1.1 Mục tiêu của khai phá dữ liệu

Trong những thập niên gần đây, lượng thông tin được lun trữ trên các thiết bị không ngừng tăng lên 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 dự đoán rằng, lượng thông tin trên toàn cầu tăng khoảng gấp đôi sau hai năm đồng thời số lượng cũng như kích cỡ của cơ sở dữ liệu cũng tăng lên nhanh chóng.Trong lĩnh vực kinh doanh, những nhà quản lý đang ngập trong dữ liệu nhưng việc tìm ra tri thức và thông tin hữu ích thì lại rất khó Lượng dữ liệu khổng lồ này thực sự đã trở thành nguồn tài nguyên rất giá trị bởi thông tin là yểu tố then chốt trong mọi hoạt động thương mại vì thông tin ừ ợ giúp người điều hành và nhà quản

lý có cái nhìn sâu sắc, chính xác, khách quan trước khi ra quyết định Việc khai thác những thông tin tiềm ẩn mang tính dự đoán từ những cơ sở dữ liệu lớn là mục tiêu chính của khai phá dữ liệu - một hướng tiếp cận mới với khả năng giúp các đơn vị,

tổ chức chú trọng vào những thông tin có giá trị, ý nghĩa từ những tập bợp dữ liệu lớn mang tính lịch sử Những công cụ khai phá dữ liệu có thể dự đoán những xu hướng tương lai do đó cho phép các tổ chức, doanh nghiệp ra những quyết định kịp thời được định hướng bởi tri thức mà khai phá dữ liệu đem lại Sự phân tích dữ liệu

m ột cách tự động và mang tính dự báo của khai phá dữ liệu khiến nó có ưu thế hơn hẳn so với sự phân tích thông thường dựa trên những sự kiện trong quá khứ của các

hệ hỗ trợ ra quyết định truyền thống trước đây Công cụ khai phá dữ liệu cũng có thể trả lời câu hỏi trong lĩnh vực kinh doanh mà trước đây được xem là tốn nhiều thời gian để xử lý

Với tất cả các ưu thế trên, khai phá dữ liệu đã chứng tỏ được tính hữu dụng của

nó trong môi trường kinh doanh, quản lý phức tạp ngày nay Giờ đây khai phá dữ liệu đã và đang trở thành một trong những hướng nghiên cứu chính của lĩnh vực khoa học m áy tính và công nghệ tri thức Phạm vi ứng dụng ban đầu của khai phá

dữ liệu chỉ là trong lĩnh vực thương mại và tài chính Nhưng ngày nay, khai phá dữ

Trang 9

liệu đã được ứng dụng rộng rãi trong các lĩnh vực khác như: sinh học, y học, viễn

1.1.2 Định nghĩa khai phá dữ liệu

Có thể hiểu sơ lược rằng khai phá dữ liệu là quá trình tìm kiếm thông tin hữu ích, tiềm ẩn và mang tính dự báo trong các cơ sở dữ liệu lớn Như vậy, quá trình này còn

có thể được gọi là khám phá tri thức Nhiều nhà khoa học đồng ý với nhau rằng hai thuật ngữ khám phá tri thức và khám phá dữ liệu là tương đương với nhau và có thể thay thế cho nhau V ì họ lý giải rằng mục đích chính của quá trình khám phá tri thức là thông tin có ích, nhưng đối tượng mà chúng ta xừ lý rất nhiều trong 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, nhiều nhà khoa học khác cho rằng khám phá dữ liệu chỉ là một bước trong quá trình khám phá tri thức

1.1.3 Các dạng dữ liệu có thể khai phá dữ Iiệu.[l][3]

Có nhiều dạng dữ liệu khác nhau có thể áp dụng được các phương pháp khai phá

dữ liệu Sau đây liệt kê một số loại cơ sở dữ liệu phổ biến:

Cơ sở dữ liệu quan hệ (relational database): là các cơ sở dữ liệu tác nghiệp được

tổ chức theo mô hình dữ liệu quan hệ H ầu hết các hệ quản trị cơ sở dữ liệu đều hỗ trợ dạng cơ sở dữ liệu này như: Oracle, IBM DB2, MS SQL Server, MS A ccess,

Cơ sở dữ liệu đa chiều (multimension structures, data warehouses, data mart): là kho dữ liệu được tập hợp, chọn lọc từ nhiều nguồn dữ liệu khác nhau Dạng dữ liệu

này mang tính lịch sử (tức là có tình thời gian) và chủ yếu phục vụ cho quá trình

phân tích cũng như khai phá tri thức nhằm hỗ trợ cho việc ra quyết định

Cơ sở dữ liệu dạng giao dịch (transactional databases): là dạng cơ sở dữ liệu tác

nghiệp nhưng các bản ghi thường là các giao dịch Dạng dữ liệu này thường phổ biến trong lĩnh vực thương mại và ngân hàng

Cơ sở dữ liệu quan hệ - hướng đổi tượng (object-relational databases’): là dạng

cơ sở dữ liệu lai giữa hai mô hình quan hệ và hướng đối tượng

Trang 10

C ơ s ở d ữ liệu không gian vù thời gian (spatial, tem poral a n d tim e-series data): là dạng dữ liệu có tích hợp thuộc tính về không gian (ví dụ như dữ liệu về bản đồ) hoặc thời gian (ví dụ như dữ liệu về thị trường chứng khoán).

Cơ sở dữ liệu đa phương tiện (multimedia databases): là dạng dữ liệu âm thanh

(audio), hình ảnh (image), phim ảnh (video), Text và W W W , Dạng dữ liệu này hiện đang rất phổ biến trên Internet

1.1.4 Quá trình khai phá dữ liệu

1.1.4.1 Các bước chính trong quá trình khai phá

Quá trình khai phá dữ liệu thực hiện các bước chính sau:

Xác đinh nhiệm vụ: Xác định chính xác các vấn đề cần giải quyết

Xác định các dữ liệu liên quan: dùng để xây dựng giải pháp giải quyết nhiệm vụ

bài toán

Thu nhập các dữ liệucó liên quan với nhau và xừ lý chúng thành dạng nào đỏ

sao cho giải thuật khai phá dữ liệu có thể hiểu được

Chọn thuật toán khai phá dữ liệu thích hợp và thực hiện việc khai phá nhằm tìm

được các m ẫu có ý nghĩa dưới dạng biểu diễn tương ứng với các ý nghĩa đó

1.1.4.2 Các thành phần của giải thuật khai phá

Q uá trình khai phá dữ liệu là quá trình phát triển mẫu trong đó giải thuật khai phá

dữ liệu tìm kiếm mẫu đáng quan tâm theo dạng xác định các luật, cây phân lớp, hồi quy, phân n h ó m , Giải thuật khai phá dữ liệu gồm 3 thành phần chính:

Biểu diễn mô hình Mô hình được biểu diễn bằng một ngôn ngữ sao cho có thể

khai phá được N ấu mô hình có sự mô tả hạn chế thì sẽ không thể học được hoặc sẽ

không thể có các mẫu tạo ra Nếu diễn tả mô hình càng lớn thì càng làm tăng mức

độ nguy hiểm do bị học quá nhiều và làm giảm đi khả năng dự đoán các dữ liệu chưa biết Hơn nữa, việc tìm kiếm sẽ càng trờ nên phức tạp hơn và việc giải thích

mô hình cũng khó khăn hơn

Trang 11

Đánh giá mô hình: Đánh giá xem m ột mẫu có đáp ứng được các tiêu chuẩn của

quá trình phát hiện ừi thức hay không Việc đánh giá mô hình được thực hiện thông qua kiểm fra dữ liệu, đổi với nhiệm vụ dự đoán thì việc đánh giá mô hình ngoài kiểm tra dữ liệu còn dựa trên độ chính xác dự đoán mà việc đánh giá độ chính xác

dự đoán dựa trên đánh giá chéo

Tìm kiểm mô hình'. Bao gồm 2 thành phần: tìm kiếm tham số và tìm kiểm mô hình

Tìm kiếm tham số: Giải thuật cần tìm các tham số để tối ưu hóa các tiêu chuẩn đánh giá mô hình với các dữ liệu quan sát được và với một miêu tả mô hình đã định.Tìm kiếm mô hình: Quá trình này xảy ra giống như một vòng lặp qua phương pháp tìm kiếm tham số Khi miêu tả, mô hình bị thay đổi tạo nên một họ các mô hình thì với mỗi một miêu tả mô hình phương pháp tìm kiếm tham số được áp dụng

để đánh giá chất lượng mô hình Các phương pháp tìm kiếm mô hình thường sử dụng các kỹ thuật tìm kiếm kinh nghiệm bởi kích thước của không gian các mô hĩnh

có thể ngăn cản các tìm kiếm tổng thể

1.1.4.3 Hướng tiếp cận cơ bản kỹ thuật áp dụng trong quá trình khai phá

Vấn đề khai phá dữ liệu có thể được phân chia theo lớp các hướng tiếp cận chính sau:

Phân lớp và dự đoản (classification & prediction): xếp một đối tượng vào một trong những lớp đã biết Ví dụ: phân lớp vùng địa lý theo dữ liệu thời tiết Đối với hướng tiếp cận này thường áp dụng một số kỹ thuật như học máy (machine

learning), cây quyết định (decision tree), mạng nơron (nơron network),., Hay lớp bài toán này còn được gọi là học có giám sát (supervised learning)

Phân cụm (clustering/segmentation): sắp xếp các đối tượng theo từng cụm

nhưng số lượng và tên các cụm chưa biết trước Lớp bài toán phân cụm còn được gọi là học không giám sát (unsupervised learning)

Trang 12

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 Cơ sở dữ liệu thì có tới 70% trong số họ đăng ký học Phân tích thiết kế hệ thống thông tin” Hướng tiếp cận này được ứng

dụng nhiều trong lĩnh vực kinh doanh, y học, tin sinh học, giáo d ụ c,

Khám phá chuỗi theo thời gian (sequential / temporal patterns): Cũng tương tự như khai phá dữ liệu 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 chúng có tính dự đoán cao

Mô tả khái niệm (concept description & summarization)', lớp bài toán này thiên

về mô tả, tổng hợp và tóm tắt khái niệm Ví dụ: tóm tắt văn bản

1.1.4.4 ứ n g dụng của khai phá dữ liệu

Khai phá dữ liệu là một lĩnh vực mới phát triển nhưng thu hút được nhiều nhà nghiên cứu nhờ vào những ứng dụng thực tiễn của nó Sau đây là một số lĩnh vực ứng dụng điển hình:

Phân tích dữ liệu và hỗ írợ ra quyết định

Sinh học: tìm kiếm, đối sánh các hệ gen và thông tin di truyền, mối liên hệ giữa một số gene và một số bệnh di truyền,

Tài chính và thị trường chứng khoán: Phân tích tình hình tài chính và dự báo giá của các cổ phiếu

Bảo hiểm, Giáo dục

Điều trị trong y học: Mối liên hệ giữa triệu chứng, chuẩn đoán và phương pháp điều trị

Phân lớp văn bản, tóm tắt văn bản và phân lớp các trang Web

Trang 13

1.2 P hương p h áp khai p h á d ữ liệu

1.2.1 Một số phương pháp khai phá dữ liệu phổ biến [1][3]

1.2.1.1 Cây quyết định và luật

Cây quyết định'. Cây quyết định là một phương pháp mô tả tri thức dạng đơn giản

nhằm phân các đổi tượng dữ liệu thành một số lớp nhất định Các nút của cây được gán nhãn là tên các thuộc tính, các cạnh được gán các giá ứị có thể của các thuộc tính, các lá miêu tả các lớp khác nhau Các đối tượng được phân lóp theo các đường

đi trên cây, qua các cạnh tương ứng với giá trị của các thuộc tính của đối tượng tới

Tạo luật: Các luật được tạo ra nhằm suy diễn cho một số mẫu dữ liệu có ý nghĩa

về mật thổng kê Các iuật có dạng nếu p thì Q, trong đó p là mệnh đề đúng với một

phần dữ liệu trong cơ sở dữ liệu và Q là mệnh đề dự đoán

Cây quyết định là phương pháp dùng trong các bài toán dữ liệu theo một tiêu chuẩn nào đó dựa trên mức độ khác nhau của thuộc tính Cây quyết định và luật có

ưu điểm là hình thức miêu tả đom giản, mô hình suy diễn khá dễ hiểu đối với người

sử dụng Tuy nhiên, giói hạn của nó là miêu tả cây và luật chỉ có thể biểu diễn được một số dạng chức năng và vì vậy giới hạn cả về độ chính xác của mô hình

1.2.1.2 Phương pháp suy diễn và quy nạp

Phương pháp suy diễn: Rút ra thông tin là kết quả logic từ các thông tin nằm

trong cơ sở dữ liệu dựa trên các quan hệ trong dữ liệu Phương pháp suy diễn dựa trên các sự kiện chính xác để suy ra các tri thức mới từ các thông tin cũ Mầu chiết suất được bằng cách sử dụng phương pháp này thường là các luật suy diễn

Phương pháp quy nạp: Các thông tin được suy ra tò cơ sở dữ liệu bằng cách nó

tự tìm kiếm, tạo mẫu và sinh ra tri thức chứ không bắt đầu với các tri thức đã biết trước

Trang 14

1.2.1.3 Phát hiện các luật kết họp

Các luật kết họrp là một dạng biểu diễn tri thức, hay chính xác là dạng mẫu của hình thành tri thức Phương pháp này nhằm phát hiện ra các luật kết hợp giữa các thành phần dữ liệu trong cơ sờ dữ liệu Một đầu ra của giải thuật khai phá dữ liệu là tập các luật kết hợp tìm được

Cho một lược đồ R = {A!,A2, ,Ap} với các thuộc tính có miền giá trị {0,1} và một quan hệ r trên R Ta gọi một luật kết hợp trên quan hệ r được mô tả như sau: X

=> B với X c R v à B 6 R\x Cho W c R , đặt s(W,r) là tần sổ xuất hiện của w trong r được tính bằng tỉ lệ của các hàng trong r có giá trị 1 tại mỗi cột Khi đó ta định nghĩa tần số xuất hiện và độ tin cậy của luật X => B trong r như sau:

Tần số xuất hiện ơ = s(X u {B},r)

Độ tin cậy 0 =s(X u {B},r) \ s(X,r)Với X gồm nhiều thuộc tính và B là giá trị không cố định

Nhiệm vụ của việc phát hiện các luật kết hợp là phải tìm tất cả các luật X => B sao cho tần số xuất hiện của luật không nhỏ hơn ngưỡng ơ cho trước và độ tin cậy của luật không nhỏ hơn ngưỡng 0 cho trước

Khi thiết kế dữ liệu dùng cho kỹ thuật kết hợp cần lưu ý để giảm thiểu số lượng các thuộc tính đầu vào bởi không gian tìm kiếm các luật sẽ tăng theo hàm mũ của số lượng các thuộc tính đầu vào

Giải thuật tìm các luật kết hợp được bắt đầu bằng việc tìm tất cả các tập thường xuyên xuất hiện Tập thường xuyên xuất hiện lớn hơn ngưỡng tần số được xác định trước Các luật kết hợp sẽ được tạo ra bằng cách ghép dần các tập thuộc tính dựa trên mức độ thường xuyên

Ví dụ: Phân tích cơ sở dữ liệu bán hàng nhận được thông tin về những khách mua các mặt hàng máy tính có khuynh hướng mua phần mềm kế toán trong cùng lần mua được mô tả bởi luật kết họp như sau:

Trang 15

“Neu mua máy tính thì mua phần mềm kế toán ”

[Độ hỗ trợ: 30%, Độ tin cậy: 65%]

Phương pháp này có ưu thể cơ bản là đơn giản và dễ hiểu đối với con người Ở ví

dụ trên độ hỗ trợ 30% có nghĩa là: 30% của tất cả các giao dịch được phân tích thì chi ra rằng máy tính và phần mềm kế toán được mua cùng nhau Còn độ tin cậy 65% có nghĩa là: 65% các khách hàng mua máy tính thì cũng mua phần mềm Đặc biệt, các luật kết hợp được coi là đáng quan tâm nếu chúng thoả mãn cả hai ngưỡng

độ hỗ trợ cực tiểu và độ tin cậy cực tiểu Những ngưỡng này thường do người dùng hoặc các chuyên gia trong lĩnh vực xác định

Nhược điểm cơ bản của phương pháp này là việc tăng nhanh chóng khối lượng tính toán và các thông số Tuy nhiên với sự phát triển nhanh chóng và mạnh mẽ của phần cứng thì vấn đề này cũng được khắc phục

1.2.1.4 Phân nhóm và phân đoạn

Kỹ thuật phân nhóm và phân đoạn là những kỹ thuật phân chia dữ liệu sao cho mỗi phần hoặc mỗi nhóm giống nhau theo một tiêu chuẩn nào đó Mối quan hệ thành viên của các nhóm có thể dựa trên mức độ giống nhau của các thành viên và

từ đó xây dựng nên các luật ràng buộc giữa các thành viên trong nhóm Một kỹ thuật phân nhóm khác là xây dựng nên các hàm đánh giá các thuộc tính của các thành phần như là hàm của các tham số của các thành phần Kỹ thuật này được gọi

là kỹ thuật phân hoạch tối ưu

Ví dụ: một trong những ứng dụng của kỹ thuật phân nhóm theo độ giống nhau là

cơ sở dữ liệu khách hàng để phân nhóm khách hàng theo các tham số và các nhóm thuế có được khi thiết lập biểu thuế bảo hiểm

Mau đầu ra của quá trình khai phá dữ liệu sừ dụng kỹ thuật này là các tập mẫu chứa dữ liệu có chung những tính chất nào đó được phân tách từ cơ sở dữ liệu Khi các mẫu được thiết lập, chúng có thể được sử dụng để tái tạo các tập dữ liệu dễ hiểu

Trang 16

hơn, đồng thời cũng cung cấp các nhóm dữ liệu cho các hoạt động cũng như công việc phân tích Đối với cơ sở dữ liệu lớn, việc lấy ra các nhóm này là rất quan trọng.

1.2.1.5 Mạng nơron

Mạng nơron là một phương pháp khai phá dữ liệu phát triển trên cấu trúc toán học với khả năng học trên mô hình hệ thần kinh con người

Mạng nơron có thể đưa ra ý nghĩa từ các dữ liệu phức tạp hoặc không chính xác

và có thể được sừ dụng để chiết suất các mẫu và phát hiện xu hướng quá phức tạp

mà con người cũng như các kỹ thuật máy tính khác không thể phát hiện được

Một trong những ưu điểm phải kể đến các mạng nơron là khả năng tạo ra các mô hình dự đoán do có độ chính xác cao, có thể áp dụng được cho nhiều các bài toán khác nhau đáp ứng các nhiệm vụ đặt ra của khai phá dữ liệu như phân lớp, phân nhóm, mô hình hoá, dự báo,

Mau chiết suất bằng mạng nơron được thể hiện ở các nút đầu của mạng Mạng nơron sử dụng các hàm số chứ không sử dụng các hàm biểu tượng để tính mức tích cực của các nút đầu ra và cập nhật các trọng số của nó

Đặc điểm của mạng nơron là không cần gia công dữ liệu nhiều trước khi bắt đầu quá trình học như các kỹ thuật khác Tuy nhiên để có thể sử dụng mạng nơron có hiệu quả cần phải xác định các yếu tố khi thiết kế mạng như:

Kiến trúc mạng là gì?

Hàm học cần thực hiện?

Mạng cần bao nhiêu nút?

Khi nào thì việc học dừng?

Ngoài ra còn có rất nhiều bước quan trọng cần phải làm để tiền xử lý dữ liệu trước khi đưa vào mạng nơron để mạng có thể hiểu được

Trang 17

Mạng nơron được đóng gói với những thông tin trợ giúp của các chuyên gia đáng tin cậy và được họ bảo đảm các mô hình này làm việc tốt Sau khi học, mạng có thể được coi là một chuyên gia trong lĩnh vực thông tin mà nó vừa được học.

1.2.1.6 Giải thuật di truyền

Đây là phương pháp không chỉ phục vụ phát hiện tri thức mà còn phục vụ rất nhiều bài toán khác Ví dụ bài toán tối ưu hoá hoặc lập lịch Tư tường của thuật toán

là áp dụng quy luật của sự chọn lọc tự nhiên Người ta mô phỏng tập họp dữ liệu ban đầu bằng ký tự nhị phân và gọi là những quần thể khởi tạo Bằng các thao tác lai ghép, đột biến chúng ta biến đổi quần thể gene trong quần thể là không thay đổi Một hàm thích nghi được xây dựng để xác định mức độ thích nghi của quần thể theo các giai đoạn Quá trình tiến hoá làm cho các quần thể thích nghi ngày càng cao v ề mặt lý thuyết giải thuật di truyền cho ta lời giải tối ưu toàn cục (Khác với phương pháp mạng nơron) Tuy nhiên, người ta cũng hạn chế lời giải với một mức

độ thích nghi nào đó đề hạn chế số lượng các bước xây dựng quần thể

Nói theo nghĩa rộng thì giải thuật di truyền mô phỏng lại hệ thống tiến hoá trong

tự nhiên, chính xác hơn là các giải thuật chỉ ra tập các cá thể được hình thành, được ước lượng và biến đổi như thế nào Ví dụ như xác định xem làm thế nào để lựa chọn các cá thể tạo giống và lựa chọn các cá thể nào để loại bỏ

Giải thuật di truyền là một giải thuật tối ưu hoá, nó được sử dụng rất rộng rãi trong việc tối ưu hoá các kỹ thuật khai phá dữ liệu trong đó có kỹ thuật mạng nơron

Sự liên hệ của nó với các giải thuật khai phá dữ liệu là ở chỗ tối ưu hoá là cần thiết

để xác định các giá trị tham số nào tạo ra các luật tốt nhất

1.2.2 Phân loại các hệ thống khai phá dữ liệu

Phân loại khai thác dữ liệu dựa trên các tiêu chí khác nhau

Phân loại dựa trên kiểu dữ liệu được khai thác: Cơ sở dữ liệu quan hệ, kho dữ liệu, cơ sở dữ liệu giao tác, cơ sở dữ liệu hướng đối tượng, cơ sở dữ liệu không gian, cơ sở dữ liệu đa phương tiện, cơ sở dữ liệu văn bản,

Trang 18

Phân loại dựa trên dạng tri thức được khám phá: tóm tắt và mô tả, luật kết hợp,

phân lớp, phân cụm, khai phá chuỗi,

Phân loại dựa trên lĩnh vực được áp dụng: Thương mại, viễn thông, tài chính, y học, web,

Phân loại dựa trên kỹ thuật được áp dụng: Phân tích trực tuyến (Online Analytial Processing - OLAP), học máy (cây quyết định, mạng nơron nhân tạo, K-Means, giải thích di truyền, máy vector hỗ trợ - SVM, tập thô, tập mờ, ) Thông thường sử dụng tập mờ là thích hợp cho việc tìm ra và hiểu được sự liên quan của các mô hình

dữ liệu chưa đầy đủ, tạp nhiễu, thông tin hỗn tạp và tác động của con người, và tò

đó có thể cung cấp giải pháp xấp xỉ nhanh hơn Mạng nơron có khả năng tổng quát, không giới hạn, mạnh và học tốt trong môi trường dữ liệu giàu (data - rich), thuật toán di truyền cung cấp khả năng tìm các thuật toán để chọn mẫu từ các dữ liệu hỗn tạp dựa trên một số hàm tiêu chuẩn/ mục tiêu thường dùng Tập thô thì phù hợp cho tìm ra các mẫu khác nhau của tình trạng không rõ ràng trong dữ liệu Một số yêu cầu khai thác dữ liệu cần phải áp dụng phương pháp tính toán mềm (Tính toán mềm

là sự kết hợp của các phương pháp logic mờ, thuật toán di truyền)

1.2.3 Những vấn đề quan tâm trong hệ thống khai phá dữ liệu và lựa chọn các

kỹ thuật khai phả

Một số hướng nghiên cứu của khai thác dữ liệu hiện nay:

OLAM (Online Analytical Mining): Là sự tích hợp giữa cơ sở dữ liệu, kho dữ liệu, và khai thác dữ liệu Một số hệ cơ sở dữ liệu như Oracle MS SQL Server đã tích hợp tính năng xây dựng kho dữ liệu và phân tích trực tuyến (OLAP) Những tính năng này được hỗ trợ dưới dạng các công cụ đi kèm và người sử dụng phải mua nếu cần sừ dụng Các nhà nghiên cứu trong lĩnh vực cơ sở dữ liệu còn muốn có thêm sự tích hợp giữa cơ sở dữ liệu, kho dữ liệu, và khai thác dữ liệu Khám phá được nhiều tri thức khác nhau từ các kiểu dữ liệu khác nhau Tính chính xác và hiệu quả, khả năng mở rộng và tích hcrp, xử lý dữ liệu bị nhiễu không đầy đủ và tính có ích của tri thức được khám phá v ấn đề song song hóa và phân tán quá trình khai

Trang 19

thác dữ liệu Vấn đề ngôn ngữ truy vấn trong Khai thác dữ liệu phải cung cấp cho người sử dụng một ngôn ngữ thuận tiện, gần gũi tương tự như SQL trong Cơ sờ dữ liệu quan hệ Biểu diễn các tri thức khai thác được sao cho trực quan và gần gũi với người sử dụng để người sử dụng tri thức có hiệu quả hơn.

Hiện nay 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ào trong trường hợp nào thì hiệu quả

Hầu hết các kỹ thuật khai phá dữ liệu đều là mới trong các lĩnh vực Hơn nữa lại

có rất nhiều kỹ thuật được sử dụng cho nhiều bài toán khác nhau Vì vậy câu hỏi dùng kỹ thuật nào để khai phá không phải là đơn giản M ỗi phương pháp đều có những điểm m ạnh và điểm yếu riêng của nó, nhưng đa số các điểm yếu đều có thể khắc phục được

Vậy phải làm thế nào để áp dụng kỹ thuật một cách đơn giản nhất, dễ sử dụng, để không cảm thấy sự phức tạp vốn có của kỹ thuật đó và vấn đề là tất cả các mẫu tìm được đều đáng quan tâm? Đây chính là vấn đề quan trọng đối với một hệ thống khai phá dữ liệu Hệ thống khai phá có thể sinh ra hàng nghìn mà thậm chí có thể hàng triệu mẫu hoặc luật, do vậy với câu hỏi trên thì câu trả lời là: Chỉ có một phần nhỏ trong các mẫu hay các luật là đảng quan tâm và hữu ích với người sử dụng

Có một vài câu hỏi thường đặt ra đối vófi một hệ thống khai phá dữ liệu là:

Cái gì tạo ra các m ẫu quan tâm?

Hệ thống khai phá có thể sinh ra được tất cả các mẫu quan tâm không?

Hệ thống khai phá có thể chỉ sinh các mẫu quan tâm không?

Để trả lời các câu hỏi này ta nên quan tâm đến sự gợi ý sau:

Đổi với câu hỏi 1: M au đáng quan tâm nếu: Dễ hiểu đối với con người, hợp lệ hoặc dữ liệu được kiểm tra với độ chắc chắn nào đó, có khả năng có ích, mới lạ

M au cũng là đáng quan tâm nếu nó là giả thiết hợp lệ được người dùng xác nhận

M ầu quan tâm luôn chứa đựng tri thức

Trang 20

Có vài độ đo cho các mẫu quan tâm Nó dựa trên cấu trúc của mẫu đã khai phá và thống kê chúng Chẳng hạn độ đo của luật kết hợp dạng X —> Y là độ hỗ trợ và độ tin cậy của luật Cụ thể người ta định nghĩa là xác suất P(X u Y) và xác suất

P(X/Y)

N hìn chung các độ đo này được người dùng điều khiển

Đổi với câu hỏi thứ 2: Có thể tạo ra được tất cả các mẫu đáng quan tâm không?

V ấn đề này liên quan đến tính hoàn thiện của thuật toán khai phá Nó thường không thực hiện được và không có khả năng đối với các hệ thống khai phá dữ liệu để sinh

ra tất các các mẫu có thể có, có thể tồn tại Thay cho điều đó người ta tập trung vào mục tiêu tìm kiếm Ví dụ với Khai phá bằng luật kết hợp, người ta sử dụng các độ

đo có thể đảm bảo khai phá trọn vẹn, có nghĩa là xác định trước ngưỡng độ hỗ trợ

và độ tin cậy nhỏ nhất thì có thể tìm được

Đ ối với câu hỏi thứ 3: Hệ thống khai phá có thể chỉ sinh ra các mẫu cần quan tâm không? Đ ây chính là vấn đề tối ưu trong khai phá dữ liệu, v ấ n đề này là thách thức rất lớn đối với các nhà khoa học trong lĩnh vực khai phá dữ liệu

Trang 21

C h ư ơ n g 2 KH AI PHÁ DỮ LIỆU LU Ậ T KÉT HỢP

Khai phá dữ liệu bằng luật kết hợp là một phương pháp quan trọng và phổ biến trong khai phá dữ liệu N ó được ra đòi và phát triển mạnh mẽ trong những năm gần đây Đến nay những nghiên cứu về luật kết hợp tập trung xây dựng 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

2.1 Ý nghĩa của luật kết hợp[5]

Luật kết hợp là những luật có dạng như sau:

70% khách hàng mua đường thì mua thêm sữa, 30% giao dịch có mua cả đường lẫn sữa

75% bệnh nhân có hút thuốc lá và sổng ở ven vùng ô nhiễm thì bị ung thư phổi, trong đó 25% số bệnh nhân vừa hút thuốc lá, sống ven vùng ô nhiễm vừa bị ung thư phổi

Ở đây vế trái (tiền đề) của luật là: “M ua đường”, “hút thuốc lá và sống ven vùng

ô nhiễm”, còn “mua sữa” và “ung thư phổi” là vế phải (kết luận) của luật

N hững con số: 30%, 25% là độ hỗ ừ ợ của luật (support - s ố phần trăm giao dịch chứa cả vế trái lẫn vế phải), còn 70% và 75% là độ tin cậy của luật (cofidence - số phần trăm các giao dịch thoả m ãn vế ừái thì cũng thoả mãn vế phải)

Ta thấy tri thức đem lại bởi luật kết hợp ở dạng trên có một 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 Đó thường

là những tri thức, những mối liên hệ chưa được biết trước và mang tính dự báo đang tiềm ẩn trong dữ liệu N hững tri thức này không đơn giản chỉ là kết quả của các phép nhóm, tính tổng, sắp xếp m à là kết quả của một quá trinh 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ác đơn giản nhưng lại mang rất 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 những luật kết hợp “quý hiếm” và mang nhiều

Trang 22

thông tin từ cơ sở dữ liệu tác nghiệp 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 Đây chính là một động lực không nhỏ thúc đẩy việc tập trung nghiên cứu của nhiều nhà tin học.

2.2 Phát biểu bài toán [1] [5]

Cho I = {i[,i2, ,in} là tập gồm n mục (thuộc tính)

T - {ti,t2, ,tm} là tập gồm m giao dịch (bản ghi) M ỗi giao dịch được định danh bời TID (Transaction Identification)

N ếu mục i xuất hiện trong giao dịch t thì ta viết (i,t) e ổ

M ột cơ sở dữ liệu D, về mặt hình thức chính là một quan hệ nhị phân ổ như trên,

về ý nghĩa, một sơ sở dữ liệu là một tập các giao dịch, mỗi giao dịch t là một tập mục: t 6 21 (với 21 là tập các tập con của I)

Sau đây là một ví dụ về cơ sở dữ liệu quan hệ (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:

Bảng 1: Ví dụ về một cơ sở dữ liệu giao dịch

ĐỊNH DANH CÁC

GIAO DỊCH (TDD)

TẬP MỤC (ITEMSET)

Trang 23

X c l được gọi là tập mục (itemset) Độ hỗ trợ (support) của một tập mục X được

ký hiệu s(X) - là phần trăm số giao dịch trong cơ sở dữ liệu chứa X Một tập mục X được gọi là tập mục phổ biến nếu độ hỗ trợ của nó lớn hơn hoặc bằng ngưỡng

minsup nào đó được xác định bởi người sử dụng: s(X) > minsup

Bảng sau đây sẽ liệt kê tất cả các tập mục phổ biến (frequent - itemset) trong cơ

sở dữ liệu cho ờ bảng 1 với minsup bằng 50%

A, D, T, AC, AW, CD, CT, ACW 67%

AT, DW, TW, ACT, ATW, CDW, CTW, ACTW

50%

2.3 M ột số khái niệm cơ bản và các pha thực hiện [3] [4] [5]

Luật kết hợp (Association Rule): Một luật kết hợp là một phát biểu dạng X —» Y,

trong đó X và Y là các tập mục thoả mãn điều kiện: X c I , Y c I , X n Y = 0

Đối với luật kết hợp X -» Y, X gọi là tiền đề, Y được gọi là kết quả của luật

Độ hỗ trợ của một tập mục (itemset): Độ hỗ trợ (Support) của một tập mục X trong tập các tác vụ D, kí hiệu: supp(X) là tỉ số giữa số các tác vụ T (của D) chứa X

và tổng số các tác vụ của D (hay số phần trăm của các tác vụ trong D có chứa X)

\ { T & D \ T zd X \

Trang 24

Độ hỗ trợ của một tập mục các giá trị giữa 0 và 1, tức là 0 < supp(X) < 1 với mọi tập mục X.

Tập mục phổ biến (frequent itemset): Tập mục X mà thoả điều kiện: supp(X) >

minsup (với minsup là một giá trị cho trước) được gọi là tập mục phổ biến với độ

hỗ trợ cực tiểu minsup

Độ hỗ trợ của một luật: Cho luật r = X -> Y, độ hỗ trợ của luật r kí hiệu là

supp(r) được xác định như sau: supp(r)=supp(X u Y).

Độ tin cậy của một luật (confidence)-. Luật r = X —> Y có độ tin cậy c trong D

nếu c là số phần trăm các tác vụ trong D mà chứa X thì cũng chứa Y Hay đó chính

là xác suất có điều kiện P(Y/X) Ta kí hiệu độ tin cậy của luật r là conf(f) Độ tin cậy của một luật r là conf(f) Độ tin cậy của một luật cũng có giá trị giữa 0 và 1

Supp(X -> Y) = P(X u Y)Conf(X -> Y) = P(Y/X) = supp(X u Y)/supp(X)

Luật kết hợp mạnh (strong) : Các luật thoả mãn cả hai ngưỡng là độ hỗ trợ cực

tiểu và độ tin cậy cực tiểu được gọi là luật kết hợp mạnh, tức là:

Supp(X -> Y) = P(X u Y ) > minsupConf(X —» Y) = P(X u Y ) = supp (X u Y)/supp(X) > minconfNgười ta thường biểu diễn bằng % thay cho các giá trị từ 0 đến 1

Bài toán khai phá luật kết hợp (ở dạng đơn giản nhất) có thể phát biểu như sau:Cho một cơ sở dữ liệu D; Độ hỗ trợ tối thiểu minsup; Độ tin cậy tối thiểu mincof Hãy tìm tất cả các luật kết hợp có dạng X —» Y thoả mãn độ hỗ trợ s(X u Y) > minsup và độ tin cậy của luật là:

c(X —>Y) = s(X u Y)/s(X) > minconf

Hầu hết các thuật toán được đề xuất để khai phá dữ liệu nhờ luật kết hợp đều theo hướng chia bài toán thành hai pha cụ thể:

Trang 25

Pha 1: Tìm tất cả các tập mục phổ biến từ cơ sở dữ liệu, tức là tìm tất cả các tập

mục thỏa mãn s(X) > minsup Đây là pha tốn khá nhiều thời gian của CPU và thời gian vào ra ổ đĩa

Pha 2: Sinh các luật tin cậy từ các tập mục phổ biến đã tìm thấy ờ pha thứ nhất

Pha này tương đối đơn giản và tốn kém ít thời gian so với pha 1 Nếu X là tập phổ biến thì luật kết họp được sinh ra từ X có dạng: X —►x \x , với X là tập con khác rỗng của X, x \x là hiệu của 2 tập hợp, c là độ tin cậy của luật thỏa mãn điều kiện c

> minconf

2.4 M ột số tính chất của tập mục phổ biến và luật kết hợp

2.4.1 Một số tính chất của tập mục phổ biến

Tính chất 1 - Độ hỗ trợ của tập con

Nếu A e B với A,B là các tập mục thì supp(A) > supp(B)

Điều này là hiển nhiên vì tất cả các tảc vụ trong D hỗ trợ B thì cũng hỗ trợ ATính chất 2

Một tập chứa một tập không phổ biến thì cũng là tập không phổ biến

Nếu tập A không đủ độ hỗ trợ cực tiểu, tức là supp(A) < minsup thì tập B chứa A cũng không là tập phổ biến vì:

Supp(B) < supp(A)< minsup (theo tính chất 1)Tính chất 3

Các tập con của tập phổ biến cũng ỉà tập phổ biến

Nếu B là tập phổ biến trong D tức: supp(B) > minsup Khi đó mọi tập con A của

B cũng là phổ biến 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,- -,ik}là tập phổ biến thì mọi tập con có (k-1) mục của nó cũng là phổ biến Nhưng ngược lại không đúng

Trang 26

2.4.2 Một số tính chất của luật kết hợp

Tính chất 1 - K hông họp các luật kết hợp

Nếu X —> z và Y —> z trong D thì không nhất thiết X u Y —»■ z là đúng

Xét trường hợp X n Y = và các tác vụ trong D hỗ nếu chỉ nếu chúng hỗ trợ mỗi

X hoặc Y, khi đó luật X u Y —> z có độ tin cậy là 0%

Tương t ự : X —> Y n X —» Z = > X —> Y u Z

Tính chất 2 - Không tách luật

Nếu X u Y —> z thì X —> z và Y —>z chưa chắc xảy ra

Ví dụ: Trường hợp z có mặt trong một tác vụ chỉ khi cả hai X và Y cũng có mặt, tức là supp(X u Y)=supp(Z), nếu độ hỗ trợ của X và Y đủ lớn hơn supp(X u Y) hay supp(X) > supp(X u Y) và supp(Y) > supp(X u Y) thì hai luật riêng biệt sẽ không đủ độ tin cậy

Tuy nhiên, đảo lại: X - > Y u Z = > X - > Y n X - > Z

Tính chất 3 - Các luật kết hợp không có tính chất bắc cầu

Nếu X —* Y và Y —* z chúng ta không thể suy ra X —> z

Ví dụ: Giả sử T(X) c T(Y) e T(Z) tương ứng là tập các tác vụ chửa X,Y,Z và độ tin cậy cực tiểu là minconf,

conf(X —> Y) = conf(Y —* Z) = minconf

conf(X —> Z) = minconf2 < minconf vì minconf < 1, do đó luật X —*• z không đủ

Trang 27

conf(B —*(L-B)) = <min con/

Luật kết hợp nhị phân: là các luật dựa trên các kiểu của các giá trị trong luật Hay

có nghĩa là luật kết hợp quan tâm tới sự có mặt hay không có mặt của các mục

Luật kết hợp định lượng: Là luật miêu tả sự quan hệ giữa các thuộc tính hoặc các

mục định lượng Trong luật loại này, các giá trị định lượng của các mục hoặc các thuộc tính được phân chia thành các khoảng

Luật kết hợp đơn chiều: là luật dựa trên chiều của dữ liệu chứa trong luật Cụ thể

là các mục hoặc các thuộc tính trong luật kết hợp tham chiếu đến chỉ một chiều

Luật kết hợp đa chiều: là ỉuật kết hợp dựa trên chiều của dữ liệu chứa trong luật

Nếu luật tham chiếu đến nhiều hơn một chiều thì được gọi là luật kết hợp đa chiều

Luật kết hợp với các mức trừu tượng khác nhau: Là các luật kết hợp dựa trên

mức độ trừu tượng chứa trong luật Một số phương pháp khai phá luật kết hợp có thể tìm các luật với các mức độ trừu tượng khác nhau

Trang 28

2.5 Các thuật toán khai phá dữ liệu nhờ luật kết họp

2.5.1 Khai phá luật kết họp nhị phân đơn chiều từ cơ sở dữ liệu tác vụ

Trong phần này sẽ xem xét các phương pháp khai phá dạng đơn giản nhất của luật kết hợp đó là luật kết hợp đơn chiều, đơn mức, hay luật kết hợp nhị phân Ta bắt đầu với thuật toán Apriori, một thuật toán kinh điển cơ sở cho việc tìm kiếm các tập mục phổ biến Phần này cũng nêu thủ tục sinh ra các luật két họp từ các tập mục phổ biến, đồng thời cũng nêu một số biến đổi của thuật toán Apriori để tăng hiệu quả của thuật toán

2.5.1.1 Thuật toán Apriori tìm tập mục phổ biến sử dụng phương pháp sinh

các ứng cử [5]

Apriori là thuật toán khai phá các tập mục phổ biến cho các luật kết hợp nhị phân Trong phần này trình bày thuật toán Apriori do Rakesh Agrawal, Tomasz Imeilinski, Arun Swami đề xuất lần đầu tiên vào năm 1993

Vấn đề phát hiện tất cả các luật kết hợp có độ hỗ trợ và độ tin cậy vượt qua ngưỡng xác định nào đó (ngưỡng này do người dùng đưa ra và khi ấy nó chính là độ

hỗ trợ cực tiểu minsup và độ tin cậy minconí) có thể được phân rã thành hai vấn đề con sau đây:

Tìm tất cả các tập mục phổ biến với minsupp nào đó Thuật toán Apriori nhằm giải quyết vấn đề này

Sử dụng các tập mục phổ biến để sinh ra các luật kết hợp với minconf nào đó

Ý tường chính ở đây là nếu s và X là tập mục phổ biến và X c s, khi đó ta có thể xem X —► Y (ở đây Y=S\X) có phải là luật mong muốn hay không bằng cách tính

độ hỗ trợ c=conf(X—* Y)=supp(S)/supp(X) Chỉ khi c > minconf thì X —» Y mới trở

thành luật mong muốn

Các thuật toán phát hiện các tập mục phổ biến thực hiện nhiều lần duyệt dữ liệu Trong lần duyệt thứ nhất, ta tính độ hỗ trợ của các mục riêng biệt và xác định các mục phổ biến trong chúng, tức là thỏa mãn độ hỗ trợ cực tiểu Trong mỗi lần duyệt

Trang 29

sau, ta bắt đầu với tập hạt giống thu được trong lần duyệt trước đó Chúng ta sử dụng tập hạt giống này để sinh ra tập mục phổ biến tiềm năng - gọi là tập mục ứng

cử và tính độ hỗ trợ thực sự của các tập mục ứng cử này khi duyệt qua dữ liệu Ở cuối mỗi lần duyệt, ta xác định được tập mục nào trong các tập mục ứng cử là tập mục phổ biến thực sự và chúng trở thành hạt giống cho lần duyệt tiếp theo Quá trình này thực hiện cho đến khi không có một tập mục phổ biến mới nào nữa được tìm thấy

Thuật toán Apriori sinh ra các tập ứng cử để tính trong một lần duyệt bằng việc

sử dụng chi các tập mục đã được thấy là phổ biển trong lần duyệt trước mà không cần quan tâm đến các tác vụ trong cơ sở dữ liệu Cơ sở của điều đó là bất kỳ tập con nào của tập mục phổ biến phải ià phổ biến Vì vậy, các tập ứng cử có k-mục có thể được sinh ra bằng cách kết nổi các tập mục phổ biến có (k-1) mục, và xóa đi các tập ứng cử viên nếu có chứa bất kỳ một tập con nào mà không là phổ biến Thủ tục này nói chung dẫn đến một số nhỏ hơn nhiều các tập ứng cử viên, hay nói cách khác là khá hiệu quả trong việc tỉa gọn không gian tìm kiếm

Để dễ theo dõi, ta kí hiệu như sau: Giả sử các mục trong mỗi tác vụ được lưu giữ theo trật tự từ điển (điều này không làm mất đi tính chất tổng quát của bài toán nhưng lại rất quan trọng trong việc không sinh thừa các ứng cử) Gọi số các mục trong một tập mục là kích thước của nó và gọi tập mục có kích thước k là tập k- mục Các mục trong mỗi tập mục cũng được giữ ở trật tự từ điển Chúng ta sử dụng các kí hiệu sau:

Bảng 3: Các ký hiệu của thuật toán Apriori

biến tiềm năng)

Mỗi phần tử của tập này có 2 trường:

Trang 30

_ ì - Độ hỗ trợ tương ưng với n ó _

Thuật toán Apriori sử dụng tiếp cận lặp lại, ờ đó tập (k-l)-mục được sử dụng cho việc tìm kiếm k-mục Ở lần duyệt đầu tiên, người ta tính độ hỗ trợ của các mục riêng lẻ (hay tập chỉ gồm 1 mục) và xác định xem trong chúng mục nào là phổ biến, tức là tìm được 1 mục phổ biến Đó chính là tập Li,L] được dùng để tìm L2 - L2 là các tập 2 mục phổ biến Quá trình lại tiếp tục L2 được dùng để tìm L3 Cứ như vậy cho tới khi không tìm được tập phổ biến lớn hơn tập k-mục phổ biến đã tìm thấy

Để tăng tính hiệu quả trong việc sinh ra tập mục phổ biến, các tính chất của tập mục phổ biến đã nêu ở trên được sừ dụng Một trong những tính chất quan trọng

nhất được gọi là tính chất Apriori để rút gọn không gian tìm kiếm đó là: Tất cả các

tập con khác rỗng của tập mục phổ biến đều là tập mục phổ biến Tức là nếu tập

mục I không thỏa mãn ngưỡng hỗ trợ cực tiểu thì I không phải tập mục phổ biến hay P(I) < minsup Nếu mục A được thêm vào tập mục I thì ta được tập mục (I u A) không thể là phổ biến hom I và do đó (I u A) không thể là phổ biến hơn I và do

đó (I u A) cũng không thể là tập mục phổ biến, hay P(I u A ) < minsup Tính chất

này còn có thể phát biểu dưới dạng khác là: Nếu một tập mục không là phổ biến thì

mọi tập mục chứa nó cũng không phải là phổ biến.

Để hiểu được rõ hơn tính chất này ta xét thuật toán sử dụng L|c-1 để tìm Lk sau đây Quá trình này bao gồm 2 bước đó là:

Bước kết nối

Bước tỉa

Bước kết nối: Bước này dùng để sinh tập các ứng cử c k

Đầu vào: là tập k-1 mục phổ biến Lk_i

Đầu ra: là tập các ứng cử gồm k mục c k

Phép toán sử dụng: phép kết nối

Tổng quát: tập các ứng cử k mục c k được sinh ra bởi việc kết nối Lk.j với chính

nó Giả sử li và 12 là các tập mục trong Lk.j Ta kí hiệu: lj[j] là mục thứ j trong lj

Trang 31

Bằng quy ước, giả sừ các mục trong tác vụ hoặc tập mục có thứ tự từ điển Nối Lk_i với LU.1 được thực hiện như sau: các thành phần của Lk-1 được kết nối nếu (k-2) mục đầu tiên là chung, tức là thành phần 1] và 12 của Lk_! được nối nếu:

(1,[1] =12[ 1 ] ) a ( 1 , [ 2 ] =12[ 2 ] ) a A (lj[k -2 ] = l2[ k - 2 ] ) A ( l , [ k - l ] = l 2[ k - l ] ) Điều kiện (li[k-1 ] <l2[k-l]) đơn giản là để đảm bảo rằng không sinh thừa (không bị lặp) Dạng của tập mục nhận được bởi nối li và 12 là: 1)[1] li[2] lj[k-l]l2[k-l]

Bước tỉa:

Đầu vào: là tập các ứng cử gồm k mục c k

Đầu ra: là tập k mục phổ biến - Lk

Công việc phải làm: Quét cơ sở dữ liệu để tính độ hỗ trợ cho mỗi ứng cử và tỉa bớt những ứng cử không vượt quá minsup

Tổng quát: tập các ứng cử k mục c k luôn là tập chứa Lk, tức là các thành phần của c k có thể là phổ biến hoặc không nhưng tất cả các tập k-mục phổ biến đều chứa đầy đủ trong c k Quét cơ sở dữ liệu để tính độ hỗ trợ cho mỗi ứng cừ trong c k sẽ nhận được Lk (tức là tất cả các ứng cừ được tính độ hỗ trợ không nhỏ hom ngưỡng

hỗ trợ cực tiểu minsup là tập phổ biến được xác định, đó chính là Lk) Tuy nhiên, c k

có thể là rất lớn và do đó dẫn đến tính toán rất lớn Để rút gọn kích thước của Ck,

tính chất Apriori được sừ dụng như sau: Bất kỳ tập (k-1) mục nào không phổ biến

không thể là tập con của tập k mục phổ biến Do đó, nếu bất kỳ tập con (k-1) mục

của ứng cử k mục không có mặt trong Lk-1 thì ứng cử đó không thể là phổ biến và

do vậy có thể loại bỏ khỏi c k Kiểm tra tập con (k-1) mục này có thể làm nhanh bởi duy trì một cây băm của tất cả các tập mục phổ biến tìm thấy

Thuật toán Apriori

Mục đích của thuật toán: Tìm các tập mục phổ biến dựa trên cơ sở sinh các ứng

cử

Đầu vào: Cơ sở dữ liệu D

Trang 32

Ngưỡng độ hỗ trợ cực tiểu của các tác vụ hay minsup

Đầu ra: Tập các tập mục phổ biến

Nội dung của thuật toán:

1 Quét cơ sở dữ liệu để tìm các tập 1 mục phổ biến Li

2 For(k=2; W ; k + + ) {

3 c k = apriorigeníLic.i, minsupp); //Sinh các ứng cừ từ Lk.t

4 For (mỗi tác vụ t trong D) {//Quét D để đếm

5 c t = subset (Ck,t); //lấy tập con của t mà là các ứng cử trong c k

Đầu vào: Tập phổ biến (k-l)-mục Lk_!

Ngưỡng độ hỗ ừợ cực tiểu của các tác vụ hay minsupp

Đầu ra: Ck

Nội dung thủ tục:

Procedure apriori_gen (Lk_i: tập phổ biến (k-1) mục; minsupp)

Trang 33

1 For mỗi mục lt e Lk_i

2 For mỗi mục l2e Lk-1 {

3 If (1,[1] =12[ 1 ] ) a ( 1 , [ 2 ] = l2[ 2 ] ) A A ( l , [ k - 2 ] = l 2[ k - 2 ] ) A ( l , [ k - l ] = l 2[ k - l ] )

4 then c = li o<i 12; //bước kết nối để sinh các ứng cử c

5 If has_infrequent_subset(c, Lk_i) then

7 Else thêm c vào Q ;

Đầu ra: Khẳng định c có là phổ biến hay không

Nội dung của thủ tục:

Procedure has_infrequent_subset (c: ứng cử k mục; Lk_i)

1 For mỗi tập con (k-1) mục s của c

2 If s Ể Lk-1 then

3 Return True;

4 Return False;

Trang 34

2.5.1.2 Nâng cao hiệu quả thuật toán Apriori [7] [8] [9]

Một số phương pháp cải tiến, biến đổi của thuật toán Apriori nhằm nâng cao hiệu quả của thuật toán

Dựa vào kỹ thuật băm:

Bước tỉa của thuật toán Apriori đòi hỏi kiểm tra tất vả các tập con (k-1) mục ứng

cử có phải là tập phổ biến hay không, tóc là có mặt trong tập phổ biến đã tìm được

ở bước trước là Lk„i không Để có thể kiểm tra nhanh chóng, người ta lưu các tập phổ biến trong các bảng băm tức lưu Lk.] trong bảng băm

Ta minh họa kỹ thuật này như sau: Cho tập các ứng cừ c k và một tác vụ T, chúng

ta cần tìm tất cả các ứng cử được chứa trong T Sau đây ta miêu tả một cẩu trúc dữ liệu cho phép thực hiện điều đó một cách hiệu quả

Các tập mục ứng cử c k được nêu trong một cây băm Một nút của cây băm hoặc

là chứa một danh sách các tập mục (nút lá) hoặc là một bảng băm (nút trong) Trong nút trong, mỗi cụm (bucket) của bảng băm chỉ tới một nút khác Gốc của cây băm được xác định có độ sâu 1 Một nút trong ở độ sâu d chỉ tới các nút ở độ sâu d+1 Các tập mục được nêu trong các nút lá Khi ta thêm một tập mục c, ta bắt đầu từ gốc

và đi xuống trên cây đến khi gặp một nút lá Tại một nút trong ở độ sâu d, ta quyết định theo nhánh tiếp theo bằng cách dùng một hàm băm tới mục thứ d của tập mục Tẩt cả các nút được tạo ra ban đầu là các nút lá Khi số các tập mục trong nút lá vượt ngưỡng

R út gọn tác vụ (Rút gọn số tác vụ cần quét trong các lần lặp sau): Một tác vụ

không chứa bất kỳ tập k mục phổ biến nào thì cũng không thể chứa bất kỳ tập (k+1) mục phổ biến Do đó, tác vụ đó có thể đánh dấu hoặc loại bỏ khỏi lần xét sau

Phân hoạch tức là phân chia dữ liệu để tìm tập mục ứng cử: Kỹ thuật phân

hoạch có thể sử dụng bởi nó chỉ đòi hỏi quét cơ sờ dữ liệu 2 lần để khai phá tập mục phổ biến Việc khai phá bằng phân hoạch dữ liệu gồm 2 giai đoạn, ứong giai đoạn

1, thuật toán chia các tác vụ D thành n vùng Neu ngưỡng hỗ trợ cực tiểu của D là minsupp thì ngưỡng hỗ trợ cực tiểu cần tính cho một vùng là tích của minsupp với

Trang 35

số các tác vụ trong vùng đó Với mỗi vùng, tập mục phổ biến cho vùng đó được tìm,

có thể gọi đó là tập mục phổ biến địa phương (hay cục bộ) Một thủ tục dùng một cấu trúc dữ liệu đặc biệt, vói mỗi tập mục, ghi các định danh TID của các tác vụ chứa các mục trong tập mục Điều đó cho phép nó có thể tìm tất cả các tập k mục phổ biến (với k = 1,2, chỉ trong một lần duyệt cơ sở dữ liệu)

Các tập mục phổ biến địa phương có thể hoặc không là tập mục phổ biến của toàn bộ cơ sở dữ liệu D Nhưng bất kỳ tập mục nào là phổ biến tiềm năng của D cũng phải là tập mục phổ biến của ít nhất một vùng Do đó, tất cả các tập mục phổ biến địa phương là các tập mục ứng cử cho D Tập hợp các mục phổ biến địa phương từ tất cả các vùng sẽ được tập mục ứng cử cho D Trong giai đoạn 2, cơ sở

dữ liệu được duyệt lần thứ 2 để tính độ hỗ trợ cho mỗi ứng cử nhằm xác định tập mục phổ biến đích cần tìm Kích thước của một vùng có thể vừa khít với bộ nhớ chính và ngưỡng để chỉ đọc một lần trong mỗi giai đoạn

Lấy mẫu (khai phá trên tập con của dữ liệu): ý tưởng cơ bản của cách tiếp cận

này là lấy ngẫu nhiên s trên dữ liệu đã cho D và sau đó tìm tập mục phổ biến s thay cho D Trong cách này, độ phức tạp được cải thiện Kích thước của mẫu là đảm bảo tìm được các tập mục phổ biến trong s có thể thực hiện được bộ nhớ chính và chỉ cần một lần duyệt các tác vụ trong s Vì tìm tập phổ biến trong s dễ hơn trong D và

s nhỏ hơn D nên có thể bị mất một sổ tập phổ biến đích (mà tìm trong D sẽ thấy)

Để loại trừ khả năng này, người ta sử dụng ngưỡng độ hỗ trợ thấp hơn độ hỗ trợ cực tiểu minsupp để tìm tập mục phổ biến địa phương cho s (kí hiệu Ls) Cơ sở dữ liệu sau đó được dùng để tính độ hỗ trợ cho mỗi tập mục phổ biển trong Ls Nếu Ls chứa tất cả các tập mục phổ biến trong D thì chỉ cần một lần duyệt D, ngược lạo có thể duyệt D lần thứ 2 để tìm các tập mục phổ biến mà chúng không được tìm thấy trong lần duyệt thứ nhất Cách tiếp cận lấy mẫu này là đặc biệt có ích khi lấy tính hiệu quả là quan trọng nhất, như là trong các ứng dụng tính toán chuyên sâu phải thực hiện trên cơ sở rất phổ biến

Trang 36

2.5.1.3 Thuật toán sinh các luật kết họp từ tập mục phổ biến

Sau khi các tập mục phổ biến tò các tác vụ trong cơ sở dữ liệu đã được tìm thấy,

nó có thể sinh thẳng ra các luật kết hợp mạnh (tác là thoả mãn cả độ hỗ trợ cực tiểu

và độ tin cậy cực tiểu) Việc này có thể thực hiện bằng việc sử dụng tính độ tin cậy của luật Nhắc lại độ tin cậy của luật X -» Y là:

Conf(X -» Y) = P(X/Y) = supp(X u Y)/supp(X)

Trong đó: supp(X u Y) là độ hỗ trợ của X u Y

Supp(X) là độ hỗ trợ của X

Có thể coi tỉ số trên là tỉ số giữa: số các tác vụ chứa X u Y và số các tác vụ chứa

X Dựa trên biểu thức tính toán đó, các luật kết hợp có thể sinh ra như sau:

Với mỗi tập mục phổ biến i, sinh ra tất cả các tập con không rỗng của 1

Với mỗi tập con không rỗng a của 1, ta có luật a —> (1-a) nếu:

sup port(a)

Trong đó: minconf là ngưỡng độ tin cậy cực tiểu

Vì các luật được sinh ra từ các tập mục phổ biến nên độ hỗ trợ được thoả mãn một cách tự động, tức là độ hỗ ừợ của luật chính là supp(l)

Sau đây sẽ trình bày thuật toán tìm các luật kết hợp từ các tập mục phổ biến đãcó

Thuật toán đơn giản

Chúng ta cải tiến thủ tục xử lý bằng cách sinh ra các tập con của tập mục lớn theo kiểu đệ quy ưu tiên độ sâu Ví dụ: vói tập mục ABCD, đầu tiên chúng ta xét tập con ABC, sau đó đến AB,

Tiếp đến, nếu tập con a của tập mục lớn 1 không sinh ra được luật thì ta không cần xét đến các tập con của nó nữa Chẳng hạn, nếu luật ABC —» D không đủ độ tin cậy thì ta không xét đến luật AB —» CD

Trang 37

Điều này có thể chứng minh như sau: Nếu luật a —> (1-a) không thoả mãn độ tin cậy, tức là: conf (a -> (1-a)) < minconf, lúc đó với bất kỳ tập con b nào của a ta có:

b c a nên supp(b) > supp(a) Do đó:

conf(b —> (1-b)) = -SUP ^ ^ < suPi f f l = Conf(a —> (1-a)) < m inconf

sup p(b) sup p(a)

Tức là độ tin cậy của luật b -> (1-b) cũng là nhỏ hơn conf Ta mô tả thuật toán như sau:

Thuật toán 1:

For all large itemsets lk,k > 2 do

Call genrulesỢiclk)

Procedure genrules (lk: large k-itemsets,am: large m-itemsets)

A= {(m-1 )-itemsets am_i| am.i c am};

For all am.! e A do again

Conf=supp(lk)/supp(am.i);

If(conf > minconí) then

Begin

Output the rule am-i => (lk - am_i),

With confidence = conf and support = support(lk)

If (m-l> i) then call genrules(lk,am.1);

//để sinh ra các luật với tập con của am_! là phần tiền đềend

Thuật toán nhanh hom:

Ở trên ta đã chi ra rằng nếu một luật không thoả mãn với tập cha a thì cũng không đủ độ tin cậy thì luật AB-> CD cũng không đủ độ tin cậy Điều đó có thể áp

Trang 38

dụng theo hướng ngược lại như sau: Nếu xảy ra luật với tập con thì cũng xảy ra luật với tập cha VÍ dụ: nếu luật AB—> CD có đủ độ tin cậy thì luật ABC —» D cũng đủ

độ tin cậy

Thuật toán 2:

Forall itemsets lk, k> 2 do begin

H!={Các phần kết luận của các luật nhận được từ lk với 1-mục ở kết luận}; Call ap_genrules(lk,H1)

If (conf >minconf) then

Output the rule (lk - h m+i) —> hm+iElse

Delete hm+i from Hm+1end

Call ap_genrules(lk,Hm+i);

End

Sau đây ta sẽ phân tích tại sao thuật toán 2 lại nhanh hơn thuật toán 1

Trang 39

Ví dụ: ta xét tập mục ABCDE, giả sử rằng ACDE —> B và ABCE —> D là các

luật có 1 mục ở phần kết luận thoả mãn độ hỗ trợ cực tiểu minconf

Trong thuật toán đơn giản ở trên, gọi đệ quy genrules(ABCDE,ACDE) sẽ kiểm tra các luật với 2 mục ở phần kết luận là: ACD —> BE, ADE —» BC, CDE —» BA,

ACE -> BD

Luật thứ nhất không xảy ra vì E c BE và ABCD —> E không thoả mãn độ tin cậy với lý do tương tự

Chi có một luật với 2-mục ở phần kết luận nhận được là ACE —> BD, ở đó B và

D là các kết luận của các luật hợp lệ có 1-mục ở phần kết luận Thuật toán nhanh hơn ở chỗ chi kiểm tra 1 luật này

2.5.1.4 Khai phá tập mục phổ biến không sinh ửng cử [3]

Thuật toán tìm tập mục phổ biến APRIORI trình bày ở trên thực hiện tốt bởi rút gọn kích thước các tập ứng cử nhờ kỹ thuật tỉa Tuy nhiên trong tình huống mà số các mẫu nhiều, mẫu dài hoặc độ hỗ trợ cực tiểu thấp thì thuật toán lại gặp phải hai chi phí lớn:

- Chi phí cho số lượng khổng lồ các tập ứng cử Ví dụ: nếu có 104 tập mục 1- itemset phổ biển thì thuật toán APRIORI sẽ sinh ra hơn 107 tập mục ứng cử 2- itemset và đồng thời phải tính tần xuất xuất hiện của chúng Hơn nữa, để khám phá một mẫu phổ biến có kích thước k, như là (ij, Ỉ2, ik) thì thuật toán phải kiểm tra] r Q = ( 2 k - l ) các mẫu phổ biến tiềm năng Ví dụ k= 100 thì phải sinh ra tổng sốhơn 2100 - 1 = 1030 tập ứng cử

- Đòi hỏi phải duyệt nhiều lần CSDL và kiểm tra một số lượng lớn các tập ứng

cử bằng việc xem xét các mẫu Đặc biệt trong trường hợp khai phá các tập mẫu dài

Thuật toán APRIORI chỉ thích hợp cho việc khai phá các CSDL thưa

Trang 40

Với những nhược điểm trên của thuật toán APRIORI Thì một câu hỏi đặt ra là

“Chúng ta có thể thiết kế một phương pháp khai phá tất cả các tập mục phổ biến mà không cần sinh ứng cử không?”

[7] Năm 2000, Han, Jian Pei, và Yiwen đã đưa ra một thuật toán trả lời cho câu hỏi trên Thuật toán đã khắc phục được các nhược điểm của thuật toán APRIORI

với hướng tiếp cận không sinh ứng cừ Thuật toán có tên là “Frequent Patterm

Growth”, hay gọi tắt là FP-growth.

Thuật toán FP-growth sừ dụng một cấu trúc dữ liệu gọi là FP-tree (Frequent

Pattern tree) FP-tree là một thể hiện cô đọng của tất cả các thông tin có liên quan đến các thông tin thể hiện tính phổ biến của các tập mục trong CSDL Mỗi nhánh của cây FP-tree thể hiện một tập mục phổ biến, và các nút dọc theo các nhánh được lưu trữ theo thứ tự tăng dần của tính phổ biến tương ứng với các mục, các mục ở lá của cây có tính phổ biến thấp nhất

Cây FP-tree có một bảng Header kết hợp với nó Bảng Header lưu các mục cùng với số lần xuất hiện của nó trong CSDL theo Ihứ tự giảm dần của tính phổ biến (mỗi mục chiếm một dòng của bảng) Mỗi mục của bảng chứa một nút đầu của danh sách liên kết với tất cả các nút của cây FP-tree mà nút đó có tên mục trùng tên với nó.Phương pháp FP-growth chỉ cần duyệt CSDL 2 lần để khai phá tất cả các tập mục phổ biến Quét lần thứ nhất để xác định tần xuất của từng tập mục trong CSDL Quét lần thứ hai để xây dựng cây FP-tree

Ví dụ: Cây FP-tree với CSDL

Ngày đăng: 03/07/2015, 19:29

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. Nguyễn Thanh Thủy (8-2001), Khai phá dữ liệu — K ĩ thuật và ứng dụng, Hà Nội Sách, tạp chí
Tiêu đề: Khai phá dữ liệu — K ĩ thuật và ứng dụng
2. Bùi Công Cường, Nguyễn Doãn Phước (2001), Hệ mờ, mạng nơron và ứng dụng, Nhà xuất bản Khoa học và kỹ thuật Sách, tạp chí
Tiêu đề: Hệ mờ, mạng nơron và ứng dụng
Tác giả: Bùi Công Cường, Nguyễn Doãn Phước
Nhà XB: Nhà xuất bản Khoa học và kỹ thuật
Năm: 2001
3. Hồ Anh Tài (2006), Khai thác luật kết hợp mờ và một số ứng dụng , Luận văn thạc sỹ - Đại học Quốc Gia TP Hồ Chí Minh.Tài liệu Tiếng Anh Sách, tạp chí
Tiêu đề: Khai thác luật kết hợp mờ và một số ứng dụng
Tác giả: Hồ Anh Tài
Năm: 2006
4. Alan Rea (1995), Data Mining - An Introduction, The Parallel Computer Centre, The Queen’s University of Belfast Sách, tạp chí
Tiêu đề: Data Mining - An Introduction
Tác giả: Alan Rea
Năm: 1995
5. Jiawei Han and Micheline Kamber (2002), Data Mining: Concepts and Techniques, University of Illinois, Morgan Kaufmann Publishers Sách, tạp chí
Tiêu đề: Data Mining: Concepts and Techniques
Tác giả: Jiawei Han and Micheline Kamber
Năm: 2002
6. Han, Y.Fu, Discovery o f Multiple - level Association Rules from Large Databases, Proceedings of the 21 St IC on Very large Databases, Zurich, Switzerland, 1995 Sách, tạp chí
Tiêu đề: Discovery o f Multiple - level Association Rules from Large Databases
7. Rakesh Agrawal and RAmakrichnan Srikant, Mining Quantitative Association Rules In Large Databases, Proc. ACM SIGMOD, 1998 Sách, tạp chí
Tiêu đề: Mining Quantitative Association Rules In Large Databases
8. Rakesh Agrawal, Tomasz Imielinski, and Arun Swami (1993), “Mining association rules between sets o f items in large databases ”, InProc of the ACM SIGMOD Conference on Management of Data, Washington, D .c Sách, tạp chí
Tiêu đề: “Mining association rules between sets o f items in large databases ”
Tác giả: Rakesh Agrawal, Tomasz Imielinski, and Arun Swami
Năm: 1993
9. Mohammed J.Zaki and Ching-Jui Hsiao (1999), CHAM: An Efficient Algorithm for Closed Association Rules Mining, RPI Technical Report 99 Sách, tạp chí
Tiêu đề: CHAM: An Efficient Algorithm for Closed Association Rules Mining
Tác giả: Mohammed J.Zaki and Ching-Jui Hsiao
Năm: 1999
10. R.Agrawal, T.Imielinski, and A.Swami, Mining Association Rule Between Sets o f Items in Lager Databases. In Proc. 1993 ACM-SIGMOD Int. Conf.Management of Data, Washington, D .c, May 1993 Sách, tạp chí
Tiêu đề: Mining Association Rule Between Sets o f Items in Lager Databases

HÌNH ẢNH LIÊN QUAN

Hình  1.  Ví dụ cây FP-tree với minsup=20% - Khai phá dữ liệu luật kết hợp mờ và ứng dụng cho bài toán khai phá dữ liệu cước internet
nh 1. Ví dụ cây FP-tree với minsup=20% (Trang 41)
Hình 2.  Mô hình vận hành hệ thống (theo quy trình đấu nối và khai thác dịch  vụ) - Khai phá dữ liệu luật kết hợp mờ và ứng dụng cho bài toán khai phá dữ liệu cước internet
Hình 2. Mô hình vận hành hệ thống (theo quy trình đấu nối và khai thác dịch vụ) (Trang 75)
Hình 5.  Loại hàm thuộc - Khai phá dữ liệu luật kết hợp mờ và ứng dụng cho bài toán khai phá dữ liệu cước internet
Hình 5. Loại hàm thuộc (Trang 81)
Hình 7.  Tập mờ và thuộc tính gốc của nó - Khai phá dữ liệu luật kết hợp mờ và ứng dụng cho bài toán khai phá dữ liệu cước internet
Hình 7. Tập mờ và thuộc tính gốc của nó (Trang 82)
Hình 8.  Giao diện thực hiện Mờ hoá dữ  liệu và cơ sờ dữ liệu cước gốc - Khai phá dữ liệu luật kết hợp mờ và ứng dụng cho bài toán khai phá dữ liệu cước internet
Hình 8. Giao diện thực hiện Mờ hoá dữ liệu và cơ sờ dữ liệu cước gốc (Trang 82)
Hình 9.  Cơ sở dữ liệu sau khi thực hiện mờ hoá - Khai phá dữ liệu luật kết hợp mờ và ứng dụng cho bài toán khai phá dữ liệu cước internet
Hình 9. Cơ sở dữ liệu sau khi thực hiện mờ hoá (Trang 83)
Hình  11.  Sinh tập phổ biến sử dụng toán tử T-norm -  Phép  lấy min - Khai phá dữ liệu luật kết hợp mờ và ứng dụng cho bài toán khai phá dữ liệu cước internet
nh 11. Sinh tập phổ biến sử dụng toán tử T-norm - Phép lấy min (Trang 84)
Hình  12.  Sinh tập phổ biến sừ dụng toán tử T-norm -  Tích bị chặn - Khai phá dữ liệu luật kết hợp mờ và ứng dụng cho bài toán khai phá dữ liệu cước internet
nh 12. Sinh tập phổ biến sừ dụng toán tử T-norm - Tích bị chặn (Trang 84)
Hình  13.  Sinh tập phổ biến sử dụng toán từ T-norm -  Tích Drastic - Khai phá dữ liệu luật kết hợp mờ và ứng dụng cho bài toán khai phá dữ liệu cước internet
nh 13. Sinh tập phổ biến sử dụng toán từ T-norm - Tích Drastic (Trang 85)
Hình  14.  Sinh tập phổ biến sử dụng toán tử T-norm -  Phép giao - Khai phá dữ liệu luật kết hợp mờ và ứng dụng cho bài toán khai phá dữ liệu cước internet
nh 14. Sinh tập phổ biến sử dụng toán tử T-norm - Phép giao (Trang 85)
Hình  16.  Diễn giải luật - Khai phá dữ liệu luật kết hợp mờ và ứng dụng cho bài toán khai phá dữ liệu cước internet
nh 16. Diễn giải luật (Trang 86)
Hình  17.  Sinh tập luật bằng luật phủ định - Khai phá dữ liệu luật kết hợp mờ và ứng dụng cho bài toán khai phá dữ liệu cước internet
nh 17. Sinh tập luật bằng luật phủ định (Trang 87)
Hình  18.  Sinh luật kêt hợp với các thuộc tính được đánh trọng sô - Khai phá dữ liệu luật kết hợp mờ và ứng dụng cho bài toán khai phá dữ liệu cước internet
nh 18. Sinh luật kêt hợp với các thuộc tính được đánh trọng sô (Trang 87)
Hình  19.  Tìm luật mới lạ dựa trên tri thức đã biết - Khai phá dữ liệu luật kết hợp mờ và ứng dụng cho bài toán khai phá dữ liệu cước internet
nh 19. Tìm luật mới lạ dựa trên tri thức đã biết (Trang 88)
Hình 20.  Tìm luật  đơn giản - Khai phá dữ liệu luật kết hợp mờ và ứng dụng cho bài toán khai phá dữ liệu cước internet
Hình 20. Tìm luật đơn giản (Trang 88)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm