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

Luật kết hợp mờ và ứng dụng đối với một số bài toán dự báo

72 462 0

Đ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 72
Dung lượng 1,66 MB

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

Nội dung

Một số hướng nghiên cứu đã và đang được các chuyên gia công nghệ thông tin tập chung nghiên cứu là: nghiên cứu thiết kế các hệ mờ cho các ứng dụng cụ thể như hệ trợ giúp quyết định, hệ đ

Trang 1

BÙI VĂN THẮNG

LUẬT KẾT HỢP MỜ VÀ ỨNG DỤNG ĐỐI VỚI MỘT SỐ BÀI TOÁN DỰ BÁO

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

THÁI NGUYÊN - 2014

Trang 2

ĐẠI HỌC THÁI NGUYÊN

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

BÙI VĂN THẮNG

LUẬT KẾT HỢP MỜ VÀ ỨNG DỤNG ĐỐI VỚI MỘT SỐ BÀI TOÁN DỰ BÁO

Chuyên ngành: KHOA HỌC MÁY TÍNH

Mã số: 60 48 01

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

HƯỚNG DẪN KHOA HỌC: TS VŨ VINH QUANG

THÁI NGUYÊN - 2014

Trang 3

LỜI CAM ĐOAN

Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi dưới sự hướng dẫn

trực tiếp của TS Vũ Vinh Quang

Mọi trích dẫn sử dụng trong báo cáo này đều được ghi rõ nguồn tài liệu tham khảo theo đúng qui định

Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, tôi xin chịu hoàn toàn trách nhiệm

Thái Nguyên, ngày27tháng8năm 2014

Tác giả

Bùi Văn Thắng

Trang 4

MỤC LỤC

LỜI CAM ĐOAN i

MỤC LỤC ii

CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT iii

DANH MỤC BẢNG iv

DANH MỤC HÌNH VẼ v

MỞ ĐẦU 1

CHƯƠNG 1 MỘT SỐ KIẾN THỨC CƠ BẢN VỀ KHAI PHÁ DỮ LIỆU 3

1.1 Khái niệm cơ bản về khai phá dữ liệu 3

1.1.1 Giới thiệu 3

1.1.2 Khái niệm khai phá dữ liệu 4

1.2 Một số hướng nghiên cứu trong khai phá dữ liệu 5

1.2.1 Một số hướng nghiên cứu 5

1.2.2 Các dạng dữ liệu có thể khai phá 8

1.3 Nhiệm vụ chính của khai phá dữ liệu 8

1.3.1 Phân lớp (Classification) 9

1.3.2 Hồi quy (Regression) 9

1.3.3 Khai phá luật kết hợp (Association rule) 9

1.3.4 Gom nhóm (Clustering) 9

1.3.5 Tổng hợp (Summarization) 10

1.3.6 Mô hình ràng buộc (Dependency modeling) 10

1.3.7 Dò tìm biến đổi và độ lệch (Change and Deviation Dectection) 10

1.4 Bài toán khai phá luật kết hợp 10

1.4.1 Bài toán 10

1.4.2 Một số thuật toán cơ bản 15

1.5 Logic mờ 23

1.5.1 Định nghĩa tập mờ 23

1.5.2 Độ cao, miền xác định và miền tin cậy của tập mờ 25

1.5.3 Các phép toán logic trên tập mờ 26

1.5.4 Biến ngôn ngữ và giá trị của nó 27

1.6 Kết luận 28

Trang 5

CHƯƠNG 2 KHAI PHÁ LUẬT KẾT HỢP MỜ 30

2.1 Rời rạc hóa thuộc tính dựa vào tập mờ 30

2.1.1 Luật kết hợp với thuộc tính số 30

2.1.2 Các phương pháp rời rạc hóa 30

2.2 Luật kết hợp mờ 33

2.2.1 Rời rạc hóa thuộc tính mờ 33

2.2.2 Luật kết hợp mờ 35

2.3 Thuật toán khai phá luật kết hợp mờ dựa trên thuật toán Apriori 37

2.4 Khai phá luật kết hợp mờ dựa trên thuật toán Fp-Growth 40

2.4.1 Thuật toán xây dựng cây CUFP-Tree 40

2.4.2 Thuật toán tìm tập phổ biến FP-Growth dựa trên cậy CUFP-Tree 41

2.5 Ví dụ thử nghiệm 42

2.5.1 Xây dựng cây CUFP-Tree 42

2.5.2 Thuật toán tìm tập phổ biến 45

2.6 Kết luận 46

CHƯƠNG 3 ỨNG DỤNG KHAI PHÁ DỮ LIỆU TRONG MÔ HÌNH DỰ BÁO 48

3.1 Mô hình một số bài toán dự báo 48

3.1.1 Giới thiệu 48

3.1.2 Một mô hình dự báo là gì? 49

3.1.3 Các kỹ thuật mô hình hóa dự báo phổ biến 51

3.2 Xây dựng các luật kết hợp mờ trong mô hình dự báo 55

3.3 Một số kết quả thực nghiệm 55

3.3.1 Môi trường thử nghiệm 55

3.3.2 Kết quả thử nghiệm với CSDL gồm 20 giao dịch 60

3.3.3 Kết quả thử nghiệm 61

PHẦN KẾT LUẬN 62

TÀI LIỆU THAM KHẢO 63

Trang 7

DANH MỤC BẢNG

Bảng 1.1: Cơ sở dữ liệu giao tác 11

Bảng 1.2: Kết quả thuật toán Apriori 16

Bảng 1.3: Những biến đổi dữ liệu của FP-Growth 19

Bảng 2.1: CSDL thống kế dân số của 10 gia đình [21] 31

Bảng 2.2: Rời rạc hóa thuộc tính số rời rạc hữu hạn hoặc thuộc tính hạng mục 31

Bảng 2.3: Rời rạc hóa thuộc tính số“Tuổi" 32

Bảng 2.4: Bảng các ký hiệu sử dụng trong thuật toán khai phá luật kết hợp mờ 38

Bảng 2.5: Bảng các ký hiệu sử dụng trong thuật toán 40

Bảng 2.6: Cơ sở dữ liệu mờ 42

Bảng 2.7: Kết quả sau khi thực hiện Bước 1 42

Bảng 2.8: Header_Table 43

Bảng 2.9: CSDL mờ sau khi đã cập nhật 43

Bảng 2.10: Tập phổ biến 46

Bảng 3.1: Giao tác ví dụ trong CSDL FAM95 56

Bảng 3.2: CSDL giao tác Bảng 3.1 sau khi mờ hóa 57

Trang 8

DANH MỤC HÌNH VẼ

Hình 1.1: Quá trình khai phá tri thức trong CSDL 3

Hình 1.2: FP-tree của dữ liệu Bảng 1.1 20

Hình 1.3: Thành phần của FP-tree 21

Hình 1.4: Hàm thuộc của tập kinh điển A 23

Hình 1.5: Hàm thuộc của tập mờ B 24

Hình 1.6: Hàm thuộc của tập mờ C 24

Hình 1.7: Hàm thuộc F(x) có mức chuyển đổi tuyến tính 25

Hình 1.8: Mô tả giá trị ngôn ngữ bằng tập mờ 27

Hình 2.1: Hàm thuộc của các tập mờ“Tuổi_trẻ”,“Tuổi_trung_niên”, và“Tuổi_già" 33

Hình 2.2: Kết quả xử lý giao dịch đầu tiên 44

Hình 2.3: Kết quả xử lý giao dịch đầu tiên 45

Hình 2.4: Cây CUFP-TREE 45

Hình 3.1: Hai khách hàng và các đặc tính đầu vào của họ 50

Hình 3.2: Dữ liệu khách hàng gồm các đặc tính đầu vào và kết quả đầu ra được cung cấp cho một mô hình dự báo trong quá trình huấn luyện 50

Hình 3.3: Khung nhìn hai chiều của một siêu phẳng tối ưu chia tách dữ liệu và các vec tơ hỗ trợ 52

Hình 3.4: Khung nhìn hai chiều về kết quả của việc phân cụm một tập dữ liệu đầu vào thành hai cụm: các hình tam giác màu xanh lá cây và các hình vuông màu đỏ 53

Hình 3.5: Mạng nơ-ron hướng thuận với tầng đầu vào, tầng ẩn và tầng đầu ra 54

Hình 3.6: Giao diện chương trình, 20 giao dịch mờ 60

Hình 3.7: Các tập phổ biến tìm được 60

Hình 3.8: Luật kết hợp khai phá 61

Hình 3.9: Kết quả thử nghiệm với hai thuật toán Apriori mờ và thuật toán CUFP 61

Trang 9

MỞ ĐẦU

1 Đặt vấn đề

Khai phá dữ liệu là một lĩnh vực nghiên cứu quan trọng trong lý thuyết về cơ sở

dữ liệu, có nhiều ứng dụng trong đời sống xã hội Mục đích chính là nhằm phát hiện những thông tin mới, các luật mới từ cơ sở dữ liệu đã có hay một cách tổng quát hơn là

từ các kho dữ liệu Rất nhiều lĩnh vực ứng dụng trong thực tiễn đều sử dụng công cụ khai phát dữ liệu và tìm kiếm tri thức Trong lý thuyết về khai phá dữ liệu, khai phá luật kết hợp đang được quan tâm nghiên cứu nhiều trên thế giới Một số hướng nghiên cứu đã và đang được các chuyên gia công nghệ thông tin tập chung nghiên cứu là: nghiên cứu thiết kế các hệ mờ cho các ứng dụng cụ thể như hệ trợ giúp quyết định, hệ điều khiển dựa trên hệ tri thức luật, hệ phân loại dựa trên hệ tri thức luật, hệ phân loại dựa trên lập luận dựa trên hệ luật ứng dụng trong các lĩnh vực như: kinh doanh, thị trường chứng khoán và dự đoán thị trường, công nghệ sinh học, giáo dục và đào tạo,…

Một số hướng nghiên cứu trong khai phá dữ liệu

- Luật kết hợp nhị phân: Đây là hướng nghiên cứu đầu tiên của luật kết hợp

Thuật toán tiêu biểu là Apriori

- Luật kết hợp có thuộc tính số và thuộc tính hạng mục: Nghiên cứu các hệ

CSDL có thuộc tính số hoặc thuộc tính hạng mục bằng cách rời rạc hóa dữ liệu cho thuộc tính số để chuyển chúng về thuộc tính nhị phân

- Luật kết hợp mờ: Phương pháp rời rạc hóa dữ liệu có thuộc tính số và thuộc

tính hạng mục gặp phải vấn đề“điểm biên gãy” Để khắc phục điều này, các nhà nghiên cứu đề xuất sử dụng lý thuyết tập mờ và xây dựng các luật kết hợp dạng mờ

- Luật kết hợp có trọng số: Sử dụng phương pháp tính độ hỗ trợ cho các tập

mục dựa trên trọng số của các tập mục

Ngoài ra, còn một số hướng nghiên cứu: khai phá luật kết hợp song song, khai phá luật kết hợp nhiều mức, luật kết hợp tiếp cận theo hướng tập thô,…

Luận văn tập trung nghiên cứu vào khai phá Luật kết hợp mờ và ứng dụng đối với bài toán dự báo

Trang 10

2 Hướng nghiên cứu của đề tài

- Nghiên cứu lý thuyết tập mờ

- Nghiên cứu khai phá dữ liệu và khai phá dữ liệu mờ trên CSDL Tìm hiểu một

số thuật toán trong khai phá dữ liệu: Apriori mờ, thuật toán FP Growth, thuật toán biểu diễn dữ liệu giao dịch mờ dựa trên cây FP-Tree

- Cài đặt thử nghiệm một số thuật toán khai phá dữ liệu mờ và thử nghiệm trên

một số bộ dữ liệu.Đánh giá kết quả sau khi thử nghiệm

3 Đối tượng nghiên cứu

- Nghiên cứu phương pháp luận cho phép phát hiện tri thức dạng luật mờ, như

luật kết hợp mờ, luật mờ với thuộc tính có trọng số,… từ các kho dữ liệu

- Cơ sở lý thuyết của việc nghiên cứu lập luận xấp xỉ dựa trên lý thuyết tập mờ,

phương pháp tính toán các thông tin mờ, đánh giá các phương pháp để lấy quyết định

- Ứng dụng luật kết hợp mờ đối với một số bài toán dự báo

4 Kết quả đạt được

- Tìm hiểu thuật toán nén dữ liệu giao dịch mờ dựa trên cây FP Tree, khai phá tập

phổ biến dựa trên cây đã xây dựng Đây là hướng nghiên cứu mới, giúp làm giảm thời gian khai phá tập phổ biến rất nhiều so với thuật toán Apriori mờ

- Cài đặt thử nghiệm thuật toán Apriori mờ và thuật toán khai phá luật kết hợp

mờ dựa trên thuật toán Fp-Growth

- Thử nghiệm hai thuật toán trên với một số bộ dữ liệu, so sánh các kết quả đã thu

được sau khi thử nghiệm

5 Bố cục của luận văn

Phần mở đầu

Chương 1: Một số kiến thức cơ bản về khai phá dữ liệu

Chương 2: Khai phá luật kết hợp mờ

Chương 3: Ứng dụng khai phá dữ liệu trong mô hình dự báo

Kết luận

Tài liệu tham khảo

Trang 11

CHƯƠNG 1 MỘT SỐ KIẾN THỨC CƠ BẢN VỀ KHAI PHÁ DỮ LIỆU

1.1 Khái niệm cơ bản về khai phá dữ liệu

1.1.1 Giới thiệu

Khai phá dữ liệu (data mining) là quá trình khám phá các tri thức mới và các tri thức có ích ở dạng tiềm năng trong nguồn dữ liệu đã có Đây là quá trình cốt lõi trong khai phá tri thức từ CSDL

Hình 1.1.Quá trình khai phá tri thức trong CSDL

Quá trình khai phá dữ liệu trải qua 3 bước chính sau:

Bước 1: Chuẩn bị dữ liệu

Do dữ liệu được thu thập từ nhiều nguồn khác nhau nên có thể có những sai sót,

dư thừa và trùng lặp Vì vậy bước chuẩn bị dữ liệu là bước rất quan trọng Dữ liệu sau bước chuẩn bị này sẽ nhỏ hơn, xử lý nhanh hơn Chuẩn bị dữ liệu bao gồm các công đoạn sau:

- Lọc dữ liệu (Data cleaning): Loại bỏ dữ liệu nhiễu, dữ liệu không thích hợp

- Tích hợp dữ liệu (Data integration): Tích hợp dữ liệu từ các nguồn khác nhau

Dữ liệu

thực

Kho dữ liệu

Lọc và

tích hợp

Lựa chọn và biến đổi

Khai phá

dữ liệu

Đánh giá mẫu và biểu diễn tri thức

Tri thức

Mẫud

ữ liệu

Dữ liệu để khai phá

Trang 12

- Chọn dữ liệu (Data selection): Chọn những phần tửdữ liệu liên quan trực tiếp

đến nhiệm vụ

- Chuyển đổi dữ liệu (Data transformation): Chuyển dữ liệu về những dạng phù

hợp cho việc khai phá

Bước 2: Khai phá dữ liệu

Đây là bước mang tính tư duy của khai phá tri thức Ở bước này cần trích xuất thông tin có ích, các mẫu điển hình trong dữ liệu hay các quy luật liên quan giữa các yếu tố của dữ liệu Có rất nhiều các kỹ thuật, thuật toán khác nhau được đề xuất ở bước này

Bước 3: Hậu xử lý

Không phải bất cứ mẫu dữ liệu nào được trích xuất ra ở bước khai phá dữ liệu cũng đều là mẫu hữu ích, đôi khi nó còn bị sai lệch Vì vậy cần phải có những tiêu chuẩn đánh giá phù hợp để trích xuất ra các tri thức thực sự có ích Bước nàybao gồm

2 công đoạn:

- Đánh giá mẫu (Pattern evaluation): Đánh giá mẫu hoặc tri thức đã thu được

- Biểu diễn tri thức (Knowledge Presentation): Biểu diễn những tri thức khai phá

được để người sử dụng dễ hiểu

Đây là quá trình mang tính định tính với mục đích phát hiện tri thức và xây dựng bài toán tổng kết

Những khó khăn cần giải quyết trong bài toán KPDL là lượng dữ liệu lớn, kích thước dữ liệu lớn, dữ liệu động và luôn tăng trưởng, các trường dữ liệu không phù hợp, các giá trị bị thiếu, các trường dữ liệu bị thiếu,…

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ằmhướ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

Trang 13

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, 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 [7]

Khái niệm 1: Phát hiện tri thức trong CSDL (đôi khi còn được gọi là KPDL) là

một quá trình không tầm thường nhận ra những mẫu có giá trị, mới, hữu ích tiềm năng

và hiểu được trong dữ liệu[8]

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 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 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 [8]

1.2 Một số hướng nghiên cứu trong khai phá dữ liệu

1.2.1 Một số hướng nghiên cứu

Kể từ khi được R Agrawal đề xuất vào năm 1993 [3], lĩnh vực khai phá luật kết hợp đến nay đã được nghiên cứu và phát triển theo nhiều hướng khác nhau Có những

Trang 14

đề xuất nhằm vào cải tiến tốc độ thuật toán, có những đề xuất nhằm tìm kiếm luật có ý nghĩa hơn, … Sau đây là một số hướng chính

- Luật kết hợp nhị phân (binary association rule hoặc Boolean association rule):

là hướng nghiên cứu đầu tiên của luật kết hợp Hầu hết các nghiên cứu ở thời 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 (thuộc tính) chỉ được quan tâm là có hay không xuất hiện trong giao dịch của CSDL chứ không quan tâm về “mức độ” xuất hiện Có nghĩa là việc mua 20 chai bia

và 1 chai bia được xem là giống nhau Thuật toán tiêu biểu nhất khai phá dạng luật này

là thuật toán Apriori và các biến thể của nó[4] Đây là dạng luật đơn giản và như sau này ta biết các dạng luật khác cũng có thể chuyển về dạng luật này bằng một số phương pháp như rời rạc hóa, mờ hóa, … Một ví dụ về dạng luật này: “Mua bánh mì = 'yes' AND mua đường= 'yes' => mua sữa = 'yes'AND mua bơ = 'yes', với độ hỗ trợ 20% và độ tin cậy 80%”

- Luật kết hợp có thuộc tính số và thuộc tính hạng mục (quantitative and categorical association rule): Các thuộc tính của các CSDL thực tế có kiểu rất đa dạng (nhị phân - binary, số - quantitative, hạng mục - categorical, …) Để phát hiện luật kết hợp với các thuộc tính này, các nhà nghiên cứu đã đề xuất một số phương pháp rời rạc hóa nhằm chuyển dạng luật này vềdạng nhị phân để có thể áp dụng các thuật toán đã có[16]

- Luật kết hợp mờ (fuzzy association rule): Với những hạn chế còn gặp phải trong quá trình rời rạc hóa các thuộc tính số (quantitative attributes), các nhà nghiên cứu đã đề xuất luật kết hợp mờ nhằm khắc phục những hạn chếtrên và chuyển luật kết hợp về một dạng tự nhiên hơn, gần gũi hơn với người sử dụng Một ví dụ về dạng luật

này:“Ho khan = 'yes' AND sốt cao AND đau cơ = 'yes' AND khó thở ='yes' => Bị

nhiễm SARS = 'yes', với độ hỗ trợ 4% và độ tin cậy 85%” Trong luật trên, điều kiện

sốt cao ở vế trái của luật là một thuộc tính đã được mờ hóa

- Luật kết hợp nhiều mức (multi-level association rules): Ngoài các dạng luật trên, các nhà nghiên cứu còn đề xuất một hướng nghiên cứu nữa về luật kết hợp là luật kết hợp nhiều mức Với cách tiếp cận này, người ta sẽ tìm kiếm thêm những luật có dạng“Mua máy tính PC => Mua hệ điều hành AND mua phần mềm tiện ích văn

Trang 15

phòng, …” thay vì chỉnhững luật quá cụ thể như“Mua máy tính IBM PC => Mua hệ điều hành Microsoft Windows AND mua Microsoft Office, …” Rõ ràng, dạng luật đầu là dạng luật tổng quát hóa của dạng luật sau và tổng quát hóa cũng có nhiều mức khác nhau

- Luật kết hợp với thuộc tính được đánh trọng số (association rule with weighted items): Trong thực tế, các thuộc tính trong CSDL không phải có vai trò ngang bằng nhau Có một số thuộc tính được chú trọng và lúc đó ta nói những thuộc tính đó có mức độ quan trọng cao hơn các thuộc tính khác Ví dụ, khi khảo sát về khả năng lây nhiễm hội chứng SARS, thông tin về thân nhiệt, đường hô hấp rõ ràng là quan trọng hơn rất nhiều so với thông tin về tuổi tác Trong quá trình tìm kiếm luật, chúng ta sẽ gán cho các thuộc tính thân nhiệt, đường hô hấp các trọng số lớn hơn so với trọng số của thuộc tính tuổi tác Đây là một hướng nghiên cứu rất thú vị và đã được một số nhà nghiên cứu đề xuất cách giải quyết bài toán này Với luật kết hợp có thuộc tính được đánh trọng số, chúng ta sẽ khai phá được những luật mang rất nhiều ý nghĩa, thậm chí là những luật“hiếm” (tức có độ hỗ trợ thấp, nhưng mang một ý nghĩa đặc biệt)

- Bên cạnh những nghiên cứu về những biến thể của luật kết hợp, các nhà nghiên cứu còn chú trọng đề xuất những thuật toán nhằm tăng tốc quá trình tìm kiếm tập phổ biến từ CSDL Người ta chứng minh rằng, chỉ cần tìm kiếm những tập phổ biến cực đại (maximal frequent Itemsets) là đủ đại diện cho tập tất cả các tập phổ biến [15](thuật toán MAFIA), hoặc chỉ cần tìm tập các tập phổ biến đóng (Closed Itemset)

là đủ[17] Những thuật toán này cải thiện đáng kể vềmặt tốc độ do áp dụng được những chiến lược cắt tỉa“tinh xảo” hơn các thuật toán trước đó

- Khai phá luật kết hợp song song (parallel mining of association rules): Bên cạnh khai phá luật kết hợp với các thuật toán tuần tự, các nhà làm tin học cũng tập trung vào nghiên cứu các thuật toán song song cho quá trình phát hiện luật kết hợp Nhu cầu song song hóa và xử lý phân tán là cần thiết bởi kích thước dữ liệu ngày càng lớn nên đòi hỏi tốc độ xử lý cũng như dung lượng bộ nhớ của hệ thống phải được đảm bảo Có rất nhiều thuật toán song song khác nhau đã được đề xuất, chúng có thể phụ thuộc hoặc độc lập với cấu hình phần cứng

Trang 16

- Luật kết hợp tiếp cận theo hướng tập thô (mining association rules based on rough set): Tìm kiếm luật kết hợp dựa trên lý thuyết tập thô

Ngoài ra, còn một số hướng nghiên cứu khác về khai phá luật kết hợp như: Khai phá luật kết hợp trực tuyến, khai phá luật kết hợp được kết nối trực tuyến đến các kho

dữ liệu đa chiều (multidimensional data, data warehouse) thông qua công nghệ OLAP (Online Analysis Processing), MOLAP (Multidimensional OLAP), ROLAP (Relational OLAP), ADO (ActiveX Data Object) for OLAP,…

1.2.2 Các dạng dữ liệu có thể khai phá

Do KPDL được ứng dụng rộng rãi nên nó có thể làm việc với rất nhiều kiểu dữ liệu khác nhau Sau đây là một số kiểu dữ liệu điển hình

- CSDL quan hệ (relational databases)

- CSDL đa chiều (multidimensional structures, data warehouses)

- CSDL dạng giao dịch (transactional databases)

- CSDL quan hệ - hướng đối tượng (object-relational databases)

- Dữ liệu không gian và thời gian (spatial and temporal data)

- Dữ liệu chuỗi thời gian (time-series data)

- CSDL đa phương tiện (multimedia databases) như âm thanh (audio), hình ảnh (image), phim ảnh (video), …

- Dữ liệu Text và Web (text database & www)

1.3 Nhiệm vụ chính của khai phá dữ liệu

Rõ ràng rằng mục đích của khai phá dữ liệu là các tri thức chiết xuất được sẽ được sử dụng cho lợi ích cạnh tranh trên thương trường và các lợi ích trong nghiên cứu khoa học.Do đó, ta có thể coi mục đích chính của khai thác dữ liệu sẽ là mô tả và dự đoán Các mẫu mà khai phá dữ liệu phát hiện được nhằm vào mục đích này

Dự đoán liên quan đến việc sử dụng các biến hoặc các trường trong cơ sở dữ liệu

để chiết xuất ra các mẫu là các dự đoán những giá trị chưa biết hoặc những giá trị trong tương lai của các biến đáng quan tâm

Mô tả tập trung vào việc tìm kiếm các mẫu mô tả dữ liệu mà con người có thể hiểu được

Trang 17

Để đạt được hai mục đích này, nhiệm vụ chính của khai phá dữ liệu là:

- Phân lớp (Classification)

- Hồi qui (Regression)

- Khai phá luật kết hợp (Association rule)

- Gom nhóm (Clustering)

- Tổng hợp (Summarization)

- Mô hình ràng buộc (Dependency modeling)

- Dò tìm biến đổi và độ lệch (Change and Deviation Dectection)

1.3.1 Phân lớp (Classification)

Phân lớp là việc phân loại một mẫu dữ liệu vào một trong số các lớp đã xác định.Mục tiêu của thuật toán phân lớp là tìm ra các mối quan hệ nào đó giữa các thuộc tính dự báo và thuộc tính phân lớp, từ đó sử dụng mối quan hệ này để dự báo lớp cho các bộ dữ liệu mới khác cùng khuôn dạng

1.3.2 Hồi quy (Regression)

Hồi quy là việc lọc một hàm ánh xạ từ một mẫu dữ liệu thành một biến dự đoán

có giá trị thực Có rất nhiều ứng dụng khai phá dữ liệu với nhiệm vụ hồi quy, ví dụ như biết các phép đo vi sóng từ xa, đánh giá khả năng tử vong của bệnh nhân khi biết các kết quả xét nghiệm chẩn đoán, dự đoán nhu cầu tiêu thụ một sản phẩm mới bằng một hàm chỉ tiêu quảng cáo, …

1.3.3 Khai phá luật kết hợp (Association rule)

Trong lĩnh vực Data Mining, mục đích của luật kết hợp (Association Rule - AR)

là tìm ra các mối quan hệ giữa các đối tượng trong khối lượng lớn dữ liệu Nội dung cơ bản của luật kết hợp sẽ được trình bày kỹ hơn trong phần sau

1.3.4 Gom nhóm (Clustering)

Là việc mô tả chung để tìm ra các tập xác định các nhóm hay các loại để mô tả

dữ liệu Các nhóm có thể tách riêng nhau hoặc phân cấp hoặc gối lên nhau Có nghĩa là một dữ liệu có thể vừa thuộc nhóm này, vừa thuộc nhóm kia Các ứng dụng khai phá

dữ liệu có nhiệm vụ gom nhóm như: Phát hiện tập các khách hàng có phản ứng giống

Trang 18

nhau trong cơ sở dữ liệu tiếp thị, xác định các loại quang phổ từ các phương pháp đo tia hồng ngoại

1.3.5 Tổng hợp (Summarization)

Nhiệm vụ tổng hợp là việc sản sinh ra các mô tả đặc trưng cho một lớp Các mô

tả này là một kiểu tổng hợp, tóm tắt mô tả các đặc tính chung của tất cả các bộ dữ liệu thuộc một lớp

Các mô tả đặc trưng thể hiện dưới dạng các luật thường có khuôn dạng:“Nếu một bộ dữ liệu thuộc về một lớp đã chỉ ra trong tiền đề, thì bộ dữ liệu đó có tất cả các thuộc tính đã nêu trong kết luận” Những luật này có những đặc trưng khác biệt so với các luật phân lớp Luật phát hiện đặc trưng cho một lớp chỉ được sản sinh khi các bộ

dữ liệu thuộc về lớp đó

1.3.6 Mô hình ràng buộc (Dependency modeling)

Bao gồm việc tìm kiếm một mô hình mô tả sự phụ thuộc đáng kể giữa các biến

Các mô hình phụ thuộc tồn tại dưới hai mức: Mức cấu trúc của mô hình xác định các biến nào là phụ thuộc cục bộ với nhau, mức định lượng của một mô hình xác định độ mạnh của sự phụ thuộc theo một thước đo nào đó

1.3.7 Dò tìm biến đổi và độ lệch (Change and Deviation Dectection)

Tập trung vào khai thác những thay đổi đáng kể nhất trong dữ liệu từ các giá trị chuẩn hoặc được đo trước đó

Vì các nhiệm vụ khác nhau này yêu cầu số lượng và các dạng thông tin rất khác nhau nên chúng thường ảnh hưởng đến việc thiết kế và chọn thuật toán khai phá dữ liệu khác nhau Ví dụ như thuật toán tạo cây quyết định tạo ra được một mô tả phân biệt được các mẫu giữa các lớp nhưng không có các tính chất và đặc điểm của lớp

1.4 Bài toán khai phá luật kết hợp

1.4.1 Bài toán

Trong lĩnh vực Data Mining, mục đích của luật kết hợp (Association Rule - AR)

là tìm ra các mối quan hệ giữa các đối tượng trong khối lượng lớn dữ liệu

Trang 19

Bài toán giỏ mua hàng trong siêu thị: Giả định chúng ta có rất nhiều mặt hàng,

ví dụ như “bánh mì”, “sữa”,…(coi là tính chất hoặc trường) Khách hàng khi đi siêu thị sẽ bỏ vào giỏ mua hàng của họ một số mặt hàng nào đó, và chúng ta muốn tìm hiểu các khách hàng thường mua các mặt hàng nào đồng thời, thậm chí chúng ta không cần biết khách hàng cụ thể là ai Nhà quản lý dùng những thông tin này để điều chỉnh việc nhập hàng về siêu thị, hay đơn giản là để bố trí sắp xếp các mặt hàng gần nhau,

hoặc bán các mặt hàng đó theo một gói hàng, giúp cho khách đỡ mất công tìm kiếm

Bảng 1.1: Cơ sở dữ liệu giao tác

ra đồng thời (một cách thường xuyên) như thế nào Các thuật toán này trải qua 2 pha: pha một:Đi tìm các sự kiện xảy ra thường xuyên, pha hai là tìm luật

Cho I= {I1, I2, …, Im} là tập hợp của m tính chất riêng biệt Giả sử D là CSDL, với các bản ghi chứa một tập con T các tính chất (có thể coi như T I), các bản ghi đều có chỉ số riêng Một luật kết hợp là một mệnh đề kéo theo có dạng X Y, trong

đó X, Y I, thỏa mãn điều kiện X Y= Các tập hợp X và Y được gọi là các tập

hợp tính chất (itemset) Tập X gọi là nguyên nhân, tập Y gọi là hệ quả

Trang 20

Có 2 độ đo quan trọng đối với luật kết hợp: Độ hỗ trợ (support) và độ tin cậy (confidence), được định nghĩa như phần dưới đây

Độ hỗ trợ:

Định nghĩa 1.1: Độ hỗ trợ của một tập hợp X trong cơ sở dữ liệu D là tỷ số giữa

các bản ghi có chứa tập X và tổng số bản ghi trong D (hay là phần trăm của các bản ghi trong D có chứa tập hợp X), ký hiệu là support(X) hay supp(X) (support sẽ tự sinh ra khi cài thuật toán)

(1.1)

Ta có: 0 ≤ supp(X) ≤ 1 với mọi tập hợp X

Định nghĩa 1.2: Độ hỗ trợ của một luật kết hợp X Y là tỷ lệ giữa số lượng các

bản ghi chứa tập hợp , so với tổng số các bản ghi trong D - Ký hiệu supp(X Y)

(1.2) Khi chúng ta nói rằng độ hỗ trợ của một luật là 50%, có nghĩa là có 50% tổng số bản ghi chứa Như vậy, độ hỗ trợ mang ý nghĩa thống kê của luật

Trong một số trường hợp, chúng ta chỉ quan tâm đến những luật có độ hỗ trợ cao (Ví dụ như luật kết hợp xét trong cửa hàng tạp phẩm) Nhưng cũng có trường hợp, mặc

dù độ hỗ trợ của luật thấp, ta vẫn cần quan tâm (ví dụ luật kết hợp liên quan đến nguyên nhân gây ra sự đứt liên lạc ở các tổng đài điện thoại)

Độ tin cậy:

Định nghĩa 1.3: Độ tin cậy của một luật kết hợp là tỷ lệ giữa số lượng các bản ghi trong D chứa với số bản ghi trong D có chứa tập hợp X Ký hiệu độ tin cậy của một luật là conf(r) Ta có

Nhận xét: Độ hỗ trợ và độ tin cậy có xác suất sau:

Có thể định nghĩa độ tin cậy như sau:

Định nghĩa 1.4: Độ tin cậy của một luật kết hợp X Y là tỷ lệ giữa số lượng các

bản ghi của tập hợp chứa X Y, so với tổng số các bản ghi chứa X

Trang 21

Nói rằng độ tin cậy của một luật là 90%, có nghĩa là có tới 90% số bản ghi chứa

X chứa luôn cả Y Hay nói theo ngôn ngữ xác suất là: “Xác suất có điều kiện để xảy ra

sự kiện Y đạt 85%” Điều kiện ở đây chính là: “Xảy ra sự kiện X”

Như vậy, độ tin cậy của luật thể hiện sự tương quan (correlation) giữa X và Y

Độ tin cậy đo mức độ tin cậy của luật, và người ta hầu như chỉ quan tâm đến những luật có độ tin cậy cao Ví dụ, một luật kết hợp đi tìm các nguyên nhân dẫn tới hỏng hóc của hệ thống tổng đài, hay đề cập đến những mặt hàng thường hay được khách hàng mua kèm với mặt hàng chính mà độ tin cậy thấp sẽ không có ích cho công tác quản lý Việc khai thác các luật kết hợp từ CSDL chính là việc tìm tất cả các luật có độ hỗ trợ và độ tin cậy do người sử dụng xác định trước Các ngưỡng của độ hỗ trợ và độ tin

cậy được ký hiệu là minsup và mincof Ví dụ: Khi phân tích giỏ hàng của người mua

hàng trong một siêu thị ta được luật kiểu như: 85% khách hàng mua sữa thì cũng mua bánh mì, 30% thì mua cả hai thứ Trong đó: “mua sữa” là tiền đề còn “mua bánh mì”

là kết luận của luật Con số 30% là độ hỗ trợ của luật còn 80% là độ tin cậy của luật Chúng ta nhận thấy rằng tri thức đem lại bởi luật kết hợp dạng trên có sự khác biệt rất nhiều so với những thông tin thu được từ các câu lệnh truy vấn dữ liệu thông thường như 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à của một quá trình tính toán khá phức tạp

Tập hợp:

Định nghĩa 1.5: Tập hợp X được gọi là tập hợp thường xuyên (Frequents

itemset) nếu có , với minsup là ngưỡng độ hỗ trợ cho trước.Kí hiệu tập này là FI

Tính chất 1.1: Giả sử là hai tập hợp với thì

Như vậy, những bản ghi nào chứa tập hợp B thì cũng chứa tập hợp A

Tính chất 1.2:Giả sử A, B là hai tập hợp , nếu B là tập hợp thường xuyên và thì A cũng là tập hợp thường xuyên

Trang 22

Thật vậy, nếu B là tập hợp thường xuyên thì , mọi tập hợp

A là con của tập hợp B đều là tập hợp thường xuyên trong CSDL D vì

(Tính chất 1.1)

Tính chất 1.3: Giả sử A, B là hai tập hợp, và A là tập hợp không thường xuyên thì B cũng là tập hợp không thường xuyên

Định nghĩa 1.6: Một tập mục X được gọi là đóng (closed) nếu không có tập cha

nào của X có cùng độ hỗ trợ với nó, tức là không tồn tại một tập mục X' nào mà

và t(X) = t(X') (với t(X) và t(X') tương ứng là tập các giao chứa tập mục X và X') Ký hiệu tập phổ biến đóng là FCI

Định nghĩa 1.7: Nếu X là phổ biến và không tập cha nào của X là phổ biến, ta

nói rằng X là một tập phổ biến lớn nhất (maximally frequent itemset) Ký hiệu tập tất

cả các tập phổ biến lớn nhất là MFI Dễ thấy

Khai phá luật kết hợp là công việc phát hiện ra (tìm ra, khám phá, phát hiện) các luật kết hợp thỏa mãn các ngưỡng độ hỗ trợ ( ) và ngưỡng độ tin cậy ( ) cho trước Bài toán khai phá luật kết hợp được chia thành hai bài toán nhỏ, còn gọi là hai pha:

Pha 1: Tìm tất cả các tập phổ biến (tìm FI) trong CSDL T

Pha 2: Sử dụng tập FI tìm được ở pha 1 để sinh ra các luật tin cậy (interesting

rules) Ý tưởng chung là nếu gọi ABCD và AB là các tập mục phổ biến, thì chúng ta

có thể xác định luật AB CD với tỷ lệ độ tin cậy:

(1.3)Nếu conf minconf thì luật được giữ lại (và thỏa mãn độ hỗ trợ tối thiểu vì ABCD là phổ biến)

Trong thực tế, hầu hết thời gian của quá trình khai thác luật kết hợp là thực hiện

ở pha 1 Nhưng khi có những mẫu rất dài (mẫu chứa nhiều mục) xuất hiện trong dữ liệu, việc sinh ra toàn bộ các tập phổ biến (FI) hay các tập đóng (FCI) là không thực tế Hơn nữa, có nhiều ứng dụng mà chỉ cần sinh tập phổ biến lớn nhất (MFI) là đủ, như khám phá mẫu tổ hợp trong các ứng dụng sinh học

Có rất nhiều nghiên cứu về các phương pháp sinh tất cả các tập phổ biến và tập phổ biến lớn nhất một cách có hiệu quả Khi các mẫu phổ biến (frequent pattern) dài

Trang 23

có từ 15 đến 20 items) thì tập FI, thậm chí cả tập FCI trở nên rất lớn và hầu hết các phương pháp truyền thống phải đếm quá nhiều tập mục mới có thể thực hiện được Các thuật toán dựa trên thuật toán Apriori – đếm tất cả 2k tập con của mỗi k-itemset

mà chúng quét qua, và do đó không thích hợp với các itemset dài được Các phương pháp khác sử dụng “lookaheads” để giảm số lượng tập mục được đếm Tuy nhiên, hầu hết các thuật toán này đều sử dụng tìm kiếm theo chiều rộng, ví dụ: tìm tất cả các k-itemsets trước khi tính đến các (k+1)-itemsets

Cách làm này hạn chế hiệu quả của lookaheads, vì các mẫu phổ biến dài hơn mà hữu ích vẫn chưa được tìm ra

1.4.2 Một số thuật toán cơ bản

1.4.2.1 Thuật toán Apriori

Thuật toán Apriori được Agrawal và Srikant phát biểu năm 1994[3] Apriori là thuật toán phổ biến nhất để tìm luật kết hợp, được coi là một sự cải tiến lớn trong lịch

sử khai phá luật kết hợp vì đã vượt xa tầm của các thuật toán quen thuộc trong lĩnh vực này Thuật toán dựa trên một nhận xét đơn giản là bất kỳ tập con nào của tập thường xuyên cũng là tập thường xuyên Do đó, trong quá trình đi tìm tập ứng viênk Itemset, chỉ cần dùng đến các tập thường xuyên k-1 Itemset đã tìm thấy ở bước trước đó Nhờ vậy, bộ nhớ được giải phóng đáng kể

Thuật toán Apriori có hai bước để tìm ra tất cả các tập mục dữ liệu thường xuyên:

- Bước 1: Duyệt qua CSDL để tìm ra tất cả các mục dữ liệu thường xuyên bằng

cách đếm số lần xuất hiện của từng mục trong tất cả các giao tác (Bảng 1.2.a), sau đó loại bỏ những mục dữ liệu có độ hỗ trợ nhỏ hơn Minsup, được tập L1 Tập L1 gọi là tập các mục dữ liệu thường xuyên một mục dữ liệu (Bảng 1.2.b) Trong bước 2, mỗi lần duyệt CSDL tiếp theo ta chỉ cần xét các mục dữ liệu trong bảng này

- Bước 2: Gọi Ck là tập các tập ứng viênkItemset, Lk là tập các tập thường xuyên

k Itemset Quá trình tìm tập Lk trải qua ba công đoạn nhỏ:

Trang 24

a) C'k là tập các tập k Itemset có được bằng cách hợp từng hai tập k-1 Itemset thường xuyên trong Lk-1 có k-2 mục dữ liệu đầu tiên giống nhau, mục thứ k-1 khác nhau (Bảng 1.2.c, Bảng 1.2.f)

b) Tìm tập ứng viên Ck bằng cách loại bỏ những tập trong C'k có chứa một tập con k-1 Itemset nhưng không là tập k-1 Itemset thường xuyên (Bảng 1.2.d, Bảng 1.2.g)

c) Ứng với mỗi tập ứng viên trong Ck, duyệt qua CSDL, đếm số giao tác chứa tập ứng viên này để xem tập này có phải là tập thường xuyên hay không, ta được tập Lk(Bảng 1.2.e, Bảng 1.2.h)

Lặp lại bước 2 cho đến khi tập Lk là rỗng

Chạy thuật toán Apriori với dữ liệu cho ởBảng 1.1 với Minsup S0=2

Trang 25

1.4.2.2 Thuật toán Partition

Năm 1995, Ashok Savasere và đồng nghiệp ở Viện tính toán trường Đại học kỹ thuật Georgia, Atlanta, Hoa Kỳ đề xuất thuật toán Partition để phân dữ liệu thành nhiều phần nhỏ, mỗi phần có thể đưa vào bộ nhớ trong để xử lý [6]

Trang 26

Một phân hoạch P = {P1, P2, …, Ph} của CSDL giao tác T là một sự phân chia tập T thành h tập con rời nhau: T = {P1, P2, …, Ph} với Pi Pj =

i, j {1, 2, …, h} và i j Mỗi tập Pi gọi là một lớp tương đương

Trong thuật toán này, với X I, định nghĩa:

Độ hỗ trợ toàn cục của X: Supp(X) = ||t T | X t|| / ||T||

Độ hỗ trợ cục bộ của X trên Pi: Suppi(X) = ||t Pi | X t|| / ||Pi||

Một tập mục dữ liệu thường xuyên cục bộ có thể không thường xuyên toàn cục Mục tiêu tìm tất cả các tập mục dữ liệu thường xuyên toàn cục với ngưỡng S0

Thuật toán Partition gồm ba bước:

Bước một:Duyệt CSDL T lần thứ nhất, phân hoạch T thành h lớp tương đương:

X x ij i

X

j

 , độ hỗ trợ cục bộ của X trong Pi là Suppi(X) = SiX/ ||Pi|| Nếu ||X|| = j và Suppi(X) S0thì X Lij

Bước ba: Xác định các tập ứng viên k- mục dữ liệu toàn cục:Ck =h

1 i

i k L

Với X Ck, nếu Supp(X) =

h

1 i

i X

S / ||T|| S0 thì X là tập thường xuyên toàn cục

1.4.2.3 Thuật toán FP-Growth (Frequent-Pattern)

Thuật toán FP-Growth chuyển toàn bộ dữ liệu vào bộ nhớ trong thành cấu trúc cây, quá trình tìm tập thường xuyên là quá trình duyệt cây

FP-Growth do nhóm nghiên cứu của Jiawei Han trường đại học Illinois Hoa Kỳ

đề xuất năm 2000[9] FP-Growth đánh một dấu mới trong sự phát triển KPDL, giải quyết được hai điểm nút của thuật toán Apriori và Partition Những tập mục dữ liệu thường xuyên được phát hiện với hai lần duyệt CSDL và không có quá trình phát sinh các tập ứng viên Thuật toán FP-Growth chạy nhanh hơn thuật toán Apriori

Trang 27

Quá trình phát hiện các tập mục dữ liệu thường xuyên bao gồm 2 bước:

FP-Xây dựng FP-tree thực hiện theo hai bước sau:

Bước 1: Duyệt CSDL lần thứ nhất để tính độ hỗ trợ cho từng mục dữ liệu, chọn

và lập danh sách các mục dữ liệu thường xuyên và sắp xếp chúng theo thứ tự giảm dần của độ hỗ trợ (hình 1.1.b)

Bước 2: Tạo cây:

- Tạo ra nút gốc R của FP-tree, gắn nhãn Root

- Duyệt CSDL lần thứ 2, ứng với mỗi giao tác:

+ Lọc ra những mục dữ liệu thường xuyên thành danh sách L và sắp xếp L theo thứ tự giảm dần của độ hỗ trợ (đã tính ở bước 1)

+ Nếu L , phân L thành [x | L1] với x là mục dữ liệu đầu tiên trong L, gọi hàm Insert([x | L1], R)

Hàm Insert([x | L], R) làm việc như sau: Nếu nút R có một nút con Q sao cho Q.Item_name = x thì Q.Item_count = Q.Item_count + 1, ngược lại thì tạo nút Q mới là con của nút R và gán Q.Item_name = x và Q.Item_count =1 Nếu L ≠ ,gọi đệ quy Insert([y | L1], Q) với y là thuộc tính đầu của L và L1 là phần còn lại

b) Tìm tập thường xuyên

Thủ tục FP-Growth duyệt qua cây để sinh ra tập những tập mục dữ liệu thường xuyên Xem chi tiết thủ tục này trong [9]

Chạy thuật toán FP-Growth với dữ liệu cho ở Bảng 1.3 với S0=2:

Bảng 1.3: Những biến đổi dữ liệu của FP-Growth

Trang 29

Hình 1.3: Thành phần của FP-tree

Bước 2:Chạy thủ tục FP-Growth

FP_Growth(Root, ): Root có hai nhánh: Pt1:(B:7)… và Pt2:(A:2)…

Gọi đệ quy FP_Growth(Pt1, ): Có thân: (B:7) và ba nhánh con Pt11: (A:4)…,

Pt12:(C:2) và Pt13:(D:1) Thân (B:7) chỉ có một nút nên được tập mục dữ liệu FP_Set(Pt1)={(B:7)}

Gọi đệ quy FP_Growth(Pt11, ): Có thân: (A:4) và ba nhánh con Pt111:(E:1)…

Pt112:(C:2) và Pt113:(D:1) Thân (A:4) chỉ có một nút nên được tập mục dữ liệu FP_Set(Pt11)={(A:4)}

Gọi đệ quy FP_Growth(Pt111, ): Có thân: (E:1) và không có nhánh con Thân (E:1) chỉ có một nút nên được tập mục dữ liệu trả về: FP_Set(Pt111)={(E:1)}

Gọi đệ quy FP_Growth(Pt112, ): Có thân: {(C:2), (E,1)} và không có nhánh con Thân {(C:2), (E,1)} có hai nút nên được tập mục dữ liệu trả về: FP_Set(Pt112)={(C:2), (E:1), (CE:1)}

Trang 30

Gọi đệ quy FP_Growth(Pt113, ): Có thân: (D:1) và không có nhánh con Thân (D:1) chỉ có một nút nên được tập mục dữ liệu trả về: FP_Set(Pt111)={(D:1)}

Có ba nhánh con: Pt111, Pt112 và Pt113:

1= FP_Set(Pt111) FP_Set(Pt112) FP_Set(Pt113)= {(C:2), (E:2),(D:1), (CE:1)}

2= FP_Set(Pt11) 1 {FP_Set(Pt11) x 1}= {(A:4), (C:2), (E:2), (D:1), (CE:1), (AC:2), (AE:2), (AD:1), (ACE:1)}

Gọi đệ quy FP_Growth(Pt12, ): Có thân: (C:2) và không có nhánh con Thân (C:2) chỉ có một nút nên trả về tập mục dữ liệu FP_Set(Pt12)={(C:2)}

Gọi đệ quy FP_Growth(Pt13, ): Có thân: (D:1) và không có nhánh con Thân (D:2) chỉ có một nút nên trả về tập mục dữ liệu FP_Set(Pt13)={(D:1)}

FP_Growth(Root, ) trả về:

FP_Set = 4 FP_Set(Pt2) = {(B:7), (A:6), (C:6), (E:2), (D:2), (CE:1), (AC:2), (AE:2), (AD:1) (ACE:1), (BA:4), (BC:4), (BE:2), (BD:2), (BCE:1), (BAC:2), (BAE:2), (BAD:1) (BACE:1)}

Từ tập FP_Set ta lọc ra các tập mục dữ liệu thường xuyên với S0=2 là:

FP = {A, B, C, D, E, AC, AE, BA, BC, BE, BD, BAC, BAE}

Dựa vào bảng dữ liệu đầu của các mục dữ liệu và cây FP_Tree, có thể tìm ra dễ dàng tập các mục dữ liệu thường xuyên và cũng dễ dàng tìm ra tập tất cả các tập mục

dữ liệu thường xuyên chứa một mục dữ liệu cho trước Ví dụ, với E, ta có các nhánh chứa nó: {B A E} và {B A C E}

Trang 31

Thuật toán FP_Tree có hiệu quả trong tính toán vì ba lý do Thứ nhất, quá trình giải bài toán chỉ xét trên những mục dữ liệu thường xuyên, các mục dữ liệu không thường xuyên bị cắt bỏ, do đó dữ liệu xét sẽ nhỏ hơn nhiều Thứ hai, thuật toán này chỉ duyệt CSDL hai lần Thứ ba, FP_Tree sử dụng phương pháp “chia để trị” để làm giảm đáng kể kích thước của cây, một nhánh dài được sinh ra bằng nối thêm mục dữ liệu vào một nhánh ngắn, không phải làm lại từ đầu

Mỗi thuật toán đều có những hạn chế riêng Trong quá trình KPDL, người dùng

có thể thay đổi ngưỡng độ hỗ trợ, tuy nhiên với FP_Tree, khi thay đổi ngưỡng độ hỗ trợ thì công việc phải làm lại từ đầu Hạn chế khác của FP_Tree là không thích hợp cho trường hợp dữ liệu gia tăng Một khi CSDL thay đổi, công việc khai phá dữ liệu cũng phải làm lại từ đầu

1.5 Logic mờ

1.5.1 Định nghĩa tập mờ

Hàm thuộc A(x) định nghĩa trên tập A, trong khái niệm tập hợp kinh điển chỉ có hai giá trị logic là 1 nếu x A hoặc là 0 nếu x A Hình 1.4 mô tả hàm thuộc của hàm

A(x), trong đó tập A được định nghĩa như sau:A = {x R | 3 x 8}

Như vậy, trong lý thuyết tập hợp kinh điển, hàm thuộc hoàn toàn tương đương với định nghĩa một tập hợp Từ định nghĩa về một tập hợp A bất kỳ ta có thể xác định được hàm thuộc A(x) cho tập đó và ngược lại từ hàm thuộc A(x) của tập hợp A cũng hoàn toàn suy ra được định nghĩa cho tập A

Hình 1.4: Hàm thuộc của tập kinh điển A

1

0

Trang 32

Cách biểu diễn hàm phụ thuộc như vậy sẽ không phù hợp với những tập được mô

tả “mờ” như tập B gồm các số thực dương nhỏ hơn nhiều so với 8

Nói cách khác, hàm B(x) không còn là hàm hai giá trị như đối với tập kinh điển nữa mà là một ánh xạ liên tục: B : X [0, 1], trong đó X là tập nền của tập “mờ”

Trang 33

Như vậy, khác với tập kinh điển A, từ “định nghĩa kinh điển” của tập “mờ” B hoặc C không suy ra được hàm thuộc B(x) hoặc C(x) của chúng Hơn thế nữa hàm thuộc ở đây lại giữ một vai trò quan trọng là “làm rõ định nghĩa” cho một tập “mờ” như ví dụ trongHình 1.5, Hình 1.6 Do đó nó phải được nêu lên như là một điều kiện trong định nghĩa về tập “mờ”

Định nghĩa: Tập mờ F xác định trên tập kinh điển X là một tập mà mỗi phần tử

của nó là một cặp các giá trị (x, F(x)), trong đó x X và F là một ánh xạ:

Ánh xạ F được gọi là hàm thuộc (hoặc

hàm phụ thuộc - membership function) của tập

mờ F Tập kinh điển X được gọi là tập nền

(hay tập vũ trụ) của tập mờ F

Sử dụng các hàm thuộc để tính độ phụ

thuộc của một phần tử x nào đó có hai cách:

Tính trực tiếp (nếu F(x) cho trước dưới

dạng công thức tường minh) hoặc

Tra bảng (nếu F(x) cho dưới dạng

bảng)

Các hàm thuộc F(x) có dạng trơn được gọi là hàm thuộc kiểu S Đối với hàm

thuộc kiểu S, do các công thức biểu diễn F(x) có độ phức tạp lớn nên thời gian tính toán độ phụ thuộc cho một phần tử lâu Bởi vậy trong kỹ thuật điều khiển mờ thông thường các hàm thuộc kiểu S hay được gần đúng bằng một hàm tuyến tính từng đoạn

Một hàm thuộc có dạng tuyến tính từng đoạn được gọi là hàm thuộc có mức chuyển đổi tuyến tính

1.5.2 Độ cao, miền xác định và miền tin cậy của tập mờ

Trong các ví dụ trên, các hàm thuộc đều có độ cao bằng 1 Điều đó nói rằng các tập mờ đó đều có ít nhất một phần tử có độ phụ thuộc bằng 1 Trong thực tế, không

Trang 34

phải tập mờ nào cũng có độ phụ thuộc bằng 1, tương ứng với điều đó thì không phải mọi hàm thuộc đều có độ cao bằng 1

Định nghĩa: Độ cao của một tập mờ F (định nghĩa trên tập nền X) là giá trị:

x chỉ giá trị nhỏ nhất trong các giá trị chặn trên của hàm F(x)

Một tập mờ với ít nhất một phần tử có độ phụ thuộc bằng 1 được gọi là tập mờ chính tắc, tức là h = 1 Ngược lại, một tập mờ với h < 1 được gọi là tập mờ không chính tắc

Bên cạnh khái niệm về độ cao, mỗi tập mờ F còn có hai khái niệm quan trọng khác là: Miền xác định và miền tin cậy

Định nghĩa: Miền xác định của tập mờ F (định nghĩa trên tập nền X), được ký

hiệu bởi S là tập con của M thoả mãn:

Ký hiệu supp F(x) (viết tắt của từ tiếng Anh là support) như công thức S = supp

F(x) = {x X | F(x) > 0} (1.5) đã chỉ rõ, là tập con trong X chứa các phần tử x mà tại đó hàm F(x) có giá trị dương

Định nghĩa: Miền tin cậy của tập mờ F (định nghĩa trên tập nền X), được ký hiệu

là T, là tập con của M thoả mãn:T = {x X | F(x) = 1}

1.5.3 Các phép toán logic trên tập mờ

Những phép toán cơ bản trên tập mờ là phép hợp, phép giao và phép bù Giống

như định nghĩa về tập mờ, các phép toán trên tập mờ cũng sẽ được định nghĩa thông qua các hàm thuộc, được xây dựng tương tự như các hàm thuộc của các phép giao, hợp, bù giữa hai tập kinh điển Nói cách khác, khái niệm xây dựng những phép toán trên tập mờ được hiểu là việc xác định các hàm thuộc cho phép hợp (tuyển) A B, giao (hội) A B và bù (phủ định) AC, … từ những tập mờ A và B

Một nguyên tắc cơ bản trong việc xây dựng các phép toán trên tập mờ là không được mâu thuẫn với những phép toán đã có trong lý thuyết tập hợp kinh điển Mặc dù không giống tập hợp kinh điển, hàm thuộc của các tập mờ A B, A B, AC … được

Trang 35

định nghĩa cùng với tập mờ, song sẽ không mâu thuẫn với các phép toán tương tự của tập hợp kinh điển nếu như chúng thoả mãn những tính chất tổng quát được phát biểu như “tiên đề” cả lý thuyết tập hợp kinh điển

1.5.4 Biến ngôn ngữ và giá trị của nó

Chúng ta cần tìm hiểu một cách đủ đơn giản về vấn đề suy luận xấp xỉ dưới dạng

những mệnh đề với các biến ngôn ngữ như nhiệt độ cao, tốc độ chậm, … hay những

quy tắc, những luật dạng mệnh đề như “nếu tăng ga thì xe chạy nhanh hơn”

Suy luận xấp xỉ (hay còn gọi là suy luận mờ) đó là quá trình suy ra những kết

luận dưới dạng các mệnh đề mờ trong điều kiện các quy tắc, các luật, các dữ liệu đầu vào cho trước cũng không hoàn toàn xác định Chúng ta sẽ hạn chế bởi những luật đơn giản như dạng modus ponens hay modus tollens

Giả sử ta có thể mô tả trạng thái, giá trị nhiệt độ của một lò sấy như sau: Rất thấp, thấp, trung bình, cao và rất cao

Mỗi giá trị ngôn ngữ đó của biến nhiệt độ được xác định bằng một tập mờ định nghĩa trên tập nền là tập các số thực dương chỉ giá trị vật lý x (đơn vị là C) của biến nhiệt độ t như 30 C, 50 C, …

Hàm thuộc tương ứng của chúng được ký hiệu bằng:

Như vậy, biến nhiệt độ t có hai miền giá trị khác nhau:

Miền giá trị ngôn ngữ:N = {rất_thấp, thấp, trung_bình, cao, rất_cao}

Miền giá trị vật lý (miền giá trị rõ):T = {x R | x 0}

1

C

0.5 0.7

32.5 45

Hình 1.8: Mô tả giá trị ngôn ngữ bằng tập mờ

Trang 36

Mỗi giá trị ngôn ngữ (mỗi phần tử của N) lại được mô tả bằng một tập mờ có tập nền là miền các giá trị vật lý T

Biến nhiệt độ t, xác định trên miền giá trị ngôn ngữ N, được gọi là biến ngôn ngữ Do tập nền các tập mờ mô tả giá trị ngôn ngữ của biến ngôn ngữ nhiệt độ lại

chính là tập T các giá trị vật lý của biến nên từ một giá trị vật lý x T có được một vector gồm các độ phụ thuộc của x như sau:

rât_thâp

thâp trung_binh

cao rât_cao

Ánh xạ (1.3) được gọi là quá trình Fuzzy hoá (mờ hoá) của giá trị rõ x Ví dụ,

kết quả Fuzzy hoá giá trị vật lý x = 32.5 C (giá trị rõ) của biến nhiệt độ sẽ là:

00.732.5°C μ= 0.3

00

hoặc của x = 45 C là:

0045°C μ= 0.5

0.50

1.6 Kết luận

Nội dung chương 1 trình bày những nội dụng chính sau:

- Khai phá dữ liệu và phát hiện tri thức: Là quá trình khám phá tri thức tiềm ẩn

trong CSDL

Ngày đăng: 04/12/2014, 19:45

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[5] Agrawal R., Srikant R,"Fast algorithms for mining association rules”, In Proc. 20th Int. Conf. Very Large Data Bases,VLDB, J. B. Bocca, M. Jarke, and C. Zaniolo, Eds. Morgan Kaufmann, pp. 487-499, 1994 Sách, tạp chí
Tiêu đề: Fast algorithms for mining association rules
[6] Savesere A., Omiecinski E., Navathe S.,“An efficient algorithm for mining association rules in large databases”, In Proceedings of 20th International Conference on VLDB, pp.432-444, 1995 Sách, tạp chí
Tiêu đề: An efficient algorithm for mining association rules in large databases
[9] Han J., Pei H., Yin Y,“Mining Frequent Patterns without Candidate Generation”, In: Proc. Conf. on the Management of Data (SIGMOD'00, Dallas, TX). ACM Press, New York, NY, USA, pp.1-12, 2000 Sách, tạp chí
Tiêu đề: Mining Frequent Patterns without Candidate Generation
[18] DL Olson, Yanhong Li,“Mining Fuzzy Weighted Association Rules”, Proceedings of the 40th Hawaii International Conference on System Sciences, 2007 Sách, tạp chí
Tiêu đề: Mining Fuzzy Weighted Association Rules
[21] Cơ sở dữ liệu thử nghiệm FAM95 http://kdm.first.flinders.edu.au/IDM/data.html [22] https://www.ibm.com/developerworks/vn/library/data/2013Q1/ba-data-mining-techniques Link
[1] Ha Quang Thụy, Phan Xuân Hiếu, Đoan Sơn, Nguyễn Trí Thanh,Nguyễn Thu Trang, Nguyễn Cẩm Tú, Giáo trình khai phá dữliệu Web, Nhà xuất bản giáo dục Việt Nam, 2009 Khác
[2] Nguyễn Thanh Thủy, Khai phá dữ liệu, Nhà xuất bản Kỹthuật và ứng dụng, 2001 Khác
[3] Rakesh Agrawal, Tomasz Imielinski, and Arun Swami. Mining association rules between sets of items in large databases. In Proc. of theACM SIGMOD Conference on Management of Data, pages 207-216, Washington, D.C., May 1993 Khác
[4] Rakesh Agrawal and Ramakrishnan Srikant. Fast Algorithms for Mining Association Rules. In Proc. of the 20th International Conference on Very Large Databases, Santiago, Chile, Sep 1994 Khác
[7] Alan Rea , Data Mining - An Introduction. The Parallel Computer Centre, Nor of The Queen's University of Belfast, 1995 Khác
[8] Fayyad, Piatetsky-Shapiro, Smyth , From Data Mining to Knowledge Discovery: An Overiew. In Fayyad, Piatetsky-Shapiro, Smyth, Uthurusamy, Advances in Knowledge Discovery and Data Mining, AAAI Press/ The MIT Press, Menlo Park, CA, 1996 Khác
[10] Attila Gyenesei. A Fuzzy Approach for Mining Quantitative Association Rules. Turku Centre for Computer Science, TUCS Technical Reports, No 336, March 2000 Khác
[11] Jiawei Han and Micheline Kamber, Data Mining: Concepts and Techniques, University of Illinois, Morgan Kaufmann, 2006 Khác
[13] R. J. Miller and Y. Yang. Association Rules over Interval Data. Department of Computer &amp; Information Science, Ohio State University, USA Khác
[14] Ramakrishnan Srikant and Rakesh Agrawal. Mining Quantitative Association Rules in Large Relational Tables. IBM Almaden Research Center, San Jose, CA 95120 Khác
[15] Doug Burdick, Manuel Calimlim, and Johannes Gehrke. MAFIA: A Maximal Frequent Itemset Algorithmfor Transactional Databases. Department of Computer Science, Cornell University Khác
[19] Chun-Wei Lin, Tzung-Pei Hong, and Wen-Hsiang Lu, Fuzzy Data Mining Based on the Compressed Fuzzy FP-trees, Fuzzy-IEEE 2009, Korea, August 20-24. 2009 Khác
[20] Chun-Wei Lin, Tzung-Pei Hong, A new mining approach for uncertain databases using CUFP trees, Expert Systems with Applications 39 (2012) 4084–4093 Khác

HÌNH ẢNH LIÊN QUAN

Hình 1.1.Quá trình khai phá tri thức trong CSDL - Luật kết hợp mờ và ứng dụng đối với một số bài toán dự báo
Hình 1.1. Quá trình khai phá tri thức trong CSDL (Trang 11)
Bảng 1.1: Cơ sở dữ liệu giao tác - Luật kết hợp mờ và ứng dụng đối với một số bài toán dự báo
Bảng 1.1 Cơ sở dữ liệu giao tác (Trang 19)
Bảng 1.2: Kết quả thuật toán Apriori - Luật kết hợp mờ và ứng dụng đối với một số bài toán dự báo
Bảng 1.2 Kết quả thuật toán Apriori (Trang 24)
Hình 1.2: FP-tree của dữ liệu Bảng 1.1 - Luật kết hợp mờ và ứng dụng đối với một số bài toán dự báo
Hình 1.2 FP-tree của dữ liệu Bảng 1.1 (Trang 28)
Hình 1.3: Thành phần của FP-tree - Luật kết hợp mờ và ứng dụng đối với một số bài toán dự báo
Hình 1.3 Thành phần của FP-tree (Trang 29)
Hình 1.4: Hàm thuộc   của tập kinh điển A - Luật kết hợp mờ và ứng dụng đối với một số bài toán dự báo
Hình 1.4 Hàm thuộc của tập kinh điển A (Trang 31)
Hình 1.8: Mô tả giá trị ngôn ngữ bằng tập mờ - Luật kết hợp mờ và ứng dụng đối với một số bài toán dự báo
Hình 1.8 Mô tả giá trị ngôn ngữ bằng tập mờ (Trang 35)
Bảng 2.1: CSDL thống kế dân số của 10 gia đình[21] - Luật kết hợp mờ và ứng dụng đối với một số bài toán dự báo
Bảng 2.1 CSDL thống kế dân số của 10 gia đình[21] (Trang 39)
Bảng 2.2: Rời rạc hóa thuộc tính số rời rạc hữu hạn hoặc thuộc tính hạng mục - Luật kết hợp mờ và ứng dụng đối với một số bài toán dự báo
Bảng 2.2 Rời rạc hóa thuộc tính số rời rạc hữu hạn hoặc thuộc tính hạng mục (Trang 39)
Bảng 2.3: Rời rạc hóa thuộc tính số “Tuổi” - Luật kết hợp mờ và ứng dụng đối với một số bài toán dự báo
Bảng 2.3 Rời rạc hóa thuộc tính số “Tuổi” (Trang 40)
Bảng 2.4: Bảng các ký hiệu sử dụng trong thuật toán khai phá luật kết hợp mờ - Luật kết hợp mờ và ứng dụng đối với một số bài toán dự báo
Bảng 2.4 Bảng các ký hiệu sử dụng trong thuật toán khai phá luật kết hợp mờ (Trang 46)
Bảng 2.5: Bảng các ký hiệu sử dụng trong thuật toán - Luật kết hợp mờ và ứng dụng đối với một số bài toán dự báo
Bảng 2.5 Bảng các ký hiệu sử dụng trong thuật toán (Trang 48)
Bảng 2.6: Cơ sở dữ liệu mờ - Luật kết hợp mờ và ứng dụng đối với một số bài toán dự báo
Bảng 2.6 Cơ sở dữ liệu mờ (Trang 50)
Bảng 2.9: CSDL mờ sau khi đã cập nhật - Luật kết hợp mờ và ứng dụng đối với một số bài toán dự báo
Bảng 2.9 CSDL mờ sau khi đã cập nhật (Trang 51)
Hình 2.2: Kết quả xử lý giao dịch đầu tiên - Luật kết hợp mờ và ứng dụng đối với một số bài toán dự báo
Hình 2.2 Kết quả xử lý giao dịch đầu tiên (Trang 52)

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

w