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

Khai phá luật kết hợp dựa trên lý thuyết đại số gia tử

48 317 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 48
Dung lượng 1,68 MB

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

Nội dung

7 Lời mở đầu Khai phá dữ liệu, cụ thể là trích xuất các luật kết hợp từ cơ sở dữ liệu, có xuất phát điểm từ bài toán nghiên cứu số liệu bán hàng trong siêu thị.. 8 Trong luận văn này, t

Trang 1

1

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

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

ĐỖ NAM TIẾN

KHAI PHÁ LUẬT KẾT HỢP DỰA TRÊN

LÝ THUYẾT ĐẠI SỐ GIA TỬ

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

Hà Nội – 2013

Trang 2

2

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

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

ĐỖ NAM TIẾN

KHAI PHÁ LUẬT KẾT HỢP DỰA TRÊN

LÝ THUYẾT ĐẠI SỐ GIA TỬ

Ngành : Công nghệ thông tin Chuyên ngành : Hệ thống thông tin

Mã số : 60.48.05

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

Người hướng dẫn : PGS TS Nguyễn Hà Nam

Hà Nội – 2013

Trang 3

3

Mục lục

Mục lục 1

Danh sách hình 4

Danh sách các bảng biểu 5

Danh sách các cụm từ viết tắt 6

Lời mở đầu 7

Chương 1 Tổng quan khai phá dữ liệu và bài toán luật kết hợp 9

1.1 Khái niệm 9

1.2 Quá trình phát hiện tri thức trong cơ sở dữ liệu 9

1.3 Các kĩ thuật khai phá dữ liệu 11

1.3.1 Các kĩ thuật tiếp cận trong khai phá dữ liệu 11

1.3.2 Dạng dữ liệu có thể khai phá 12

1.3.3 Ứng dụng của khai phá dữ liệu 12

1.4 Bài toán khai phá luật kết hợp và ứng dụng 12

1.4.1 Luật kết hợp trong cơ sở dữ liệu 12

1.4.2 Luật kết hợp mờ 13

1.4.3 Tính ứng dụng 13

Chương 2 Một số thuật toán khai phá luật kết hợp 15

2.1 Thuật toán Apriori 15

2.1.1 Ý tưởng thuật toán Apriori 15

2.1.2 Thuật toán Apriori 15

2.1.3 Sinh luật kết hợp từ các tập mục phổ biến 16

2.2 Ứng dụng logic mờ trong thuật toán khai luật kết hợp Apriori 17

2.2.1 Ứng dụng logic mờ trong thuật toán khai phá luật kết hợp Apriori 17

2.2.2 Thuật toán Apriori mờ 20

2.2.3 Nhận xét về thuật toán Apriori mờ 21

Chương 3 Thuật toán khai phá luật kết hợp dựa trên lý thuyết đại số gia tử 22

3.1 Giới thiệu về lý thuyết đại số gia tử 22

3.2 Tiếp cận đại số gia tử trong khai phá dữ liệu 25

3.3 Thuật toán khai phá luật kết hợp dựa trên lý thuyết đại số gia tử 27

Chương 4 Thử nghiệm và đánh giá thuật toán 31

Kết luận 38

Tài liệu tham khảo 39

Phụ lục A 40

Phụ lục B 41

Phụ lục C 44

Trang 4

4

Danh sách hình

Hình 1 Các bước trong quá trình khai phá tri thức 10

Hình 2 Mô hình ứng dụng luật 13

Hình 3 Ví dụ hàm thuộc 26

Hình 4 So sánh 2 bảng kết quả của 2 thuật toán 33

Trang 5

5

Danh sách các bảng biểu

Bảng 1 Ví dụ dữ liệu mẫu 18

Bảng 2 Dữ liệu được chuyển về dạng nhị phân 19

Bảng 3 Dữ liệu ví dụ 29

Bảng 4 Nhãn ngôn ngữ tương ứng 29

Bảng 5 Danh sách các trường trong tập dữ liệu FAM95 31

Bảng 6 Danh sách 10 luật có độ tin cậy cao nhất 32

Trang 6

6

Danh sách các cụm từ viết tắt

Từ hoặc cụm từ Từ viết tắt Từ tiếng Anh

Cơ sở dữ liệu CSDL Database

Khai phá dữ liệu KPDL Data mining

Đại số gia tử ĐSGT Hedge Algebra

Trang 7

7

Lời mở đầu

Khai phá dữ liệu, cụ thể là trích xuất các luật kết hợp từ cơ sở dữ liệu, có xuất phát điểm từ bài toán nghiên cứu số liệu bán hàng trong siêu thị Ở bài toán này, số liệu được biểu diễn dưới dạng bảng hai chiều, trong đó các cột thể hiện các loại mặt hàng (item), các hàng thể hiện các giao dịch (transactions) đã được tiến hành, số 1 cho thấy mặt hàng được mua, số 0 chỉ điều ngược lại Từ bảng dữ liệu rất lớn này, người ta mong muốn rút ra được các quy luật giúp cho quản lý, kiểu như "Nếu một người đã mua bánh mỳ và bơ, khả năng người đó cũng mua giăm bông là rất cao" Luật có dạng như vậy gọi là luật kết hợp và là hướng nghiên cứu quan trọng trong lĩnh vực khai phá dữ liệu

Về sau, người ta thấy sẽ là rất không đầy đủ nếu chỉ xem xét các cơ sở dữ liệu chỉ bao gồm các phần tử 0 và 1 Chẳng hạn, trong CSDL nhân sự của một cơ quan có các mục như tuổi, thu nhập có giá trị trong miền số thực rất rộng Để trích xuất ra các luật kết hợp, một phương pháp thường được sử dụng là chuyển số liệu trong CSDL đã cho về CSDL chỉ chứa các giá trị 0, 1 và áp dụng các kết quả đã có Thí

dụ, trong mục "tuổi", có thể chia ra các miền "trẻ", "trung niên" và "già" với các miền giá trị tương ứng là [0,35], [36,55], [56,80] và nếu một giá trị của CSDL ban đầu rơi vào miền giá trị nào thì ta ghi 1 cho vị trí tương ứng trong CSDL chuyển đổi, ngược lại gán giá trị 0 Phương pháp này đơn giản về mặt thực thi nhưng có thể gây băn khoăn do ranh giới cứng mà người ta đưa ra khi tiến hành chuyển đổi Chẳng hạn hai người tuổi 35 và 36 tuy rất gần nhau về mặt tuổi tác nhưng lại thuộc hai lớp khác nhau là "trẻ" và "trung niên", dẫn tới việc đưa ra những luật kết hợp có thể thiếu tính chính xác Và người ta sử dụng cách tiếp cận mờ để khắc phục điều này, theo đó, một giá trị bất kỳ của CSDL ban đầu không chuyển đổi về giá trị 0 hoặc 1 như trên mà sẽ chuyển về một tập giá trị thực thuộc đoạn [0,1], là độ thuộc của giá trị đã cho vào các tập mờ được xác định trước Thí dụ, người tuổi 35 trong

ví dụ trên, ở CSDL đã chuyển đổi sẽ nhận tập giá trị (trẻ, 0,8), (trung niên, 0,6), (già, 0,1) Phương pháp này, tuy dẫn tới việc xử lý phức tạp hơn nhưng dễ chấp nhận hơn về mặt trực quan và hiện đang được nhiều nhà nghiên cứu quan tâm Mặc

dù vậy, theo ý chúng tôi, phương pháp trích xuất luật kết hợp mờ vẫn có một số điểm yếu cần khắc phục Đó là sự phụ thuộc chủ quan rất lớn vào việc lựa chọn các hàm thuộc cho các tập mờ dẫn đến việc xử lý vừa phức tạp vừa có thể thiếu chính xác

Trang 8

8

Trong luận văn này, tôi trình bày việc giải bài toán trích xuất luật kết hợp mờ theo cách tiếp cận của Đại số gia tử, ở đó các giá trị độ thuộc mờ sẽ nhận được thông qua các giá trị định lượng ngữ nghĩa, được xác định dựa trên các kết quả nghiên cứu lý thuyết về ĐSGT đã có từ trước

Trang 9

9

Chương 1 Tổng quan khai phá dữ liệu và bài toán

luật kết hợp

1.1 Khái niệm

Khái niệm khai phá dữ liệu được đưa ra vào những năm cuối của thập kỉ 80 của thế

kỉ trước Khái niệm này bao hàm một loạt các kỹ thuật nhằm phát hiện ra các thông tin có giá trị tiềm ẩn trong các tập dữ liệu lớn (các kho dữ liệu) Về bản chất, khai phá dữ liệu liên quan đến việc phân tích các dữ liệu và sử dụng các kỹ thuật để tìm

ra các mẫu hình có tính chính quy trong tập dữ liệu

Vào năm 1989, Fayyad, Piatestsky-Shapiro và Smyth đã đưa khái niệm Phát hiện tri thức trong cơ sở dữ liệu để chỉ toàn bộ quá trình phát hiện các tri thức có ích từ các tập dữ liệu lớn; trong đó khai phá dữ liệu là một bước đặc biệt trong toàn bộ quá trình, sử dụng các giải thuật đặc biệt để chiết xuất ra các mẫu hay các mô hình

từ dữ liệu

Ở một mức độ trừu tượng nhất định có thể định nghĩa về khai phá dữ liệu: Khai phá

dữ liệu(data mining) là một quá trình tìm kiếm, phát hiện các tri thức mới, tiềm ẩn,

hữu dụng trong CSDL lớn

Khám phá tri thức (KDD) là mục tiêu chính của khai phá dữ liệu, do vậy hai khái

niệm đó được xem như hai lĩnh vực tương đương nhau Nhưng, nếu phân chia một cách tách bạch thì khai phá dữ liệu là một bước chính trong quá trình KDD

1.2 Quá trình phát hiện tri thức trong cơ sở dữ liệu

Khám phá tri thức trong CSDL (KDD) là lĩnh vực liên quan đến các ngành như: thống kê, học máy, CSDL, thuật toán, trực quan hoá dữ liệu, tính toán song song và hiệu năng cao,…

Mục đích của quá trình phát hiện tri thức là rút ra tri thức từ dữ liệu trong CSDL lớn Quá trình KDD là quá trình gồm nhiều giai đoạn và lặp lại, mà trong đó sự lặp lại có thể xuất hiện ở bất cứ bước nào

Trang 10

10

Quá trình đó có thể được mô tả theo hình sau:

Bước thứ nhất: Hình thành, xác định và định nghĩa bài toán Là tìm hiểu lĩnh vực

ứng dụng từ đó hình thành bài toán, xác định các nhiệm vụ cần phải hoàn thành Bước này sẽ quyết định cho việc rút ra được các tri thức hữu ích và cho phép chọn các phương pháp khai phá dữ liệu thích hợp với mục đích ứng dụng và bản chất của

dữ liệu

Bước thứ hai: Thu thập và tiền xử lý dữ liệu Là thu thập và xử lý thô, còn được gọi

là tiền xử lý dữ liệu nhằm loại bỏ nhiễu (làm sạch dữ liệu), xử lý việc thiếu dữ liệu (làm giàu dữ liệu), biến đổi dữ liệu và rút gọn dữ liệu nếu cần thiết, bước này thường chiếm nhiều thời gian nhất trong toàn bộ qui trình phát hiện tri thức Do dữ liệu được lấy từ nhiều nguồn khác nhau, không đồng nhất, … có thể gây ra các nhầm lẫn Sau bước này, dữ liệu sẽ nhất quán, đầy đủ, được rút gọn và rời rạc hoá

Bước thứ ba: Khai phá dữ liệu, rút ra các tri thức Là khai phá dữ liệu, hay nói cách

khác là trích ra các mẫu hoặc/và các mô hình ẩn dưới các dữ liệu Giai đoạn này rất quan trọng, bao gồm các công đoạn như: chức năng, nhiệm vụ và mục đích của khai phá dữ liệu, dùng phương pháp khai phá nào? Thông thường, các bài toán khai phá dữ liệu bao gồm: các bài toán mang tính mô tả - đưa ra tính chất chung nhất của dữ liệu, các bài toán dự báo - bao gồm cả việc phát hiện các suy diễn dựa trên

dữ liệu hiện có Tùy theo bài toán xác định được mà ta lựa chọn các phương pháp khai phá dữ liệu cho phù hợp

Bước thứ tư: Sử dụng các tri thức phát hiện được Là hiểu tri thức đã tìm được, đặc

biệt là làm sáng tỏ các mô tả và dự đoán Các bước trên có thể lặp đi lặp lại một số lần, kết quả thu được có thể được lấy trung bình trên tất cả các lần thực hiện Các

Hình 1 Các bước trong quá trình khai phá tri thức

Trang 11

11

kết quả của quá trình phát hiện tri thức có thể được đưa và ứng dụng trong các lĩnh vực khác nhau Do các kết quả có thể là các dự đoán hoặc các mô tả nên chúng có thể được đưa vào các hệ thống hỗ trợ ra quyết định nhằm tự động hoá quá trình này Tóm lại: KDD là một quá trình kết xuất ra tri thức từ kho dữ liệu mà trong đó khai phá dữ liệu là công đoạn quan trọng nhất

1.3 Các kĩ thuật khai phá dữ liệu

1.3.1 Các kĩ thuật tiếp cận trong khai phá dữ liệu

Căn cứ vào lớp các bài toán cần giải quyết, khai phá dữ liệu có các kỹ thuật áp dụng sau:

Phân lớp và dự đoán: xếp một đối tượng vào một trong những lớp đã biết trước Ví

dụ: phân lớp các bệnh nhân dữ liệu trong hồ sơ bệnh án Hướng tiếp cận này thường sử dụng một số kỹ thuật của học máy như cây quyết định, mạng nơ ron nhân tạo

Luật kết hợp: 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 CSDL Mẫu đầu ra của giải thuật khai phá dữ liệu là tập luật kết hợp tìm được Có thể lấy một ví dụ đơn giản về luật kết hợp như sau: phân tích CSDL bán hàng nhận được thông tin về những khách hàng mua máy tính cũng có khuynh hướng mua phần mềm quản lý tài chính trong cùng lần mua được miêu tả trong luật kết hợp sau:

“Mua máy tính  Mua phần mềm quản lý tài chính”

[Độ hỗ trợ: 4%, độ tin cậy: 70%]

Độ hỗ trợ và độ tin cậy là hai độ đo của sự đáng quan tâm của luật Chúng tương ứng phản ánh sự hữu ích và sự chắc chắn của luật đã khám phá Độ hỗ trợ 4% có nghĩa là: 4% của tất cả các tác vụ đã phân tích chỉ ra rằng máy tính và phần mềm quản lý tài chính là đã được mua cùng nhau Còn độ tin cậy 70% có nghĩa là 70% các khách hàng mua máy tính cũng mua phân mềm quản lý tài chính

Phân tích chuỗi theo thời gian: Tượng tự như khai phá 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 vì nó có tính dự báo cao

Phân cụm: xếp các đối tượng theo từng cụm dữ liệu tự nhiên

Trang 12

1.3.3 Ứng dụng của khai phá dữ liệu

Khai phá dữ liệu là một lĩnh vực được quan tâm và ứng dụng rộng rãi Một số ứng dụng điển hình trong khai phá dữ liệu có thể liệt kê:

1.4 Bài toán khai phá luật kết hợp và ứng dụng

1.4.1 Luật kết hợp trong cơ sở dữ liệu

Gọi I = I1 , I 2, , I m là tập m thuộc tính riêng biệt, mỗi thuộc tính gọi là một mục

Gọi D là một cơ sở dữ liệu, trong đó mỗi bản ghi T là một giao dịch và chứa các tập

mục, T I

Định nghĩa 1: Một luật kết hợp là một quan hệ có dạng X Y, trong đó X, Y I là

các tập mục(itemsets), và X  Y   Ở đây, X được gọi là tiền đề, Y là mệnh đề kết quả

Hai thông số quan trọng của luật kết hợp là độ hỗ trợ (s) và độ tin cậy (c)

Định nghĩa 2: Độ hỗ trợ (support) của luật kết hợp X Y là tỷ lệ phần trăm các

bản ghi X  Yvới tổng số các giao dịch có trong cơ sở dữ liệu

Định nghĩa 3: Đối với một số giao dịch được đưa ra, độ tin cậy (confidence) là tỷ

lệ của số giao dịch có chứa X  Y với số giao dịch có chứa X Đơn vị tính %

Trang 13

13

Yêu cầu

sử dụng

Tham chiếu tập luật R

Lựa chọn luật

Ứng dụng

Việc khai thác các luật kết hợp từ cơ sở dữ liệu chính là việc tìm tất cả các luật có

độ hỗ trợ và độ tin cậy lớn hơn ngưỡng của độ 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 Tập mục X  Y được gọi là tập mục lớn nếu X Y có độ hỗ trợ

lớn hơn minsup Một tính chất rất quan trọng đối với khai phá luật kết hợp là ” Tập

mục con bất kỳ của một tập mục lớn cũng là tập mục lớn” Về mặt cơ bản các thuật toán trích xuất luật kết hợp (Apriori ) đều dựa trên ý tưởng : xuất phát từ các tập mục đơn ban đầu, kiểm tra xem mục nào không là tập mục lớn thì loại bỏ, còn lại chập vào nhau và lại tiếp tục kiểm tra cho đến tập mục lớn nhất có thể

1.4.2 Luật kết hợp mờ

Với luật kết hợp mờ, như đã nói trong phần mở đầu, với mỗi mục có thể chia ra các miền mờ (như "trẻ", "trung niên" ), thực chất là ta chia một mục ban đầu thành các mục con và giá trị của mỗi hàng tại mục đó sẽ nằm trong [0,1] chứ không chỉ là 0 hoặc 1 Khi đó, độ hỗ trợ của một miền mờ si thuộc mục xi được định nghĩa là:

) ( )

(

1

i i

i

x j

n j

x s n

) ( )

( [ )

, , ,

2 1

1 1 2

2 1

k k

k

x j

x s

x j

x s

x j

n j

x s n

x s

x s

Hình 2 Mô hình ứng dụng luật

Trang 14

 Lựa chọn luật, ở bước này chúng ta tiến hành lọc các luật hữu ích nhất phục

Tóm lại, tính ứng dụng của khai thác luật kết hợp trong cơ sở dữ liệu giao dịch là việc ứng dụng các tập luật tìm thấy trong đó nhằm vào những mục đích cụ thể và đạt được kết quả tốt

Trang 15

15

Chương 2 Một số thuật toán khai phá luật kết hợp

2.1 Thuật toán Apriori

2.1.1 Ý tưởng thuật toán Apriori

Apriori là một thuật giải được do Rakesh Agrawal, Tomasz Imielinski, Arun

Swami đề xuất lần đầu vào năm 1993 Thuật toán tìm giao dịch t có độ hỗ trợ và độ

tin cậy thoả mãn lớn hơn một giá trị ngưỡng nào đó

Thuật toán Apriori tính tất cả các tập ứng cử của tập k trong một lần duyệt CSDL

Apriori dựa vào cấu trúc cây băm Tìm kiếm đi xuống trên cấu trúc cây mỗi khi ta

chạm lá, ta tìm được một tập ứng cử viên có tiền tố chung được bao gồm trong giao dịch Sau đó các tập ứng cử này được tìm trong giao dịch đã được ánh xạ trước đó Trong trường hợp tìm thấy biến đếm được tăng lên 1

Ký hiệu: Giả sử các mục trong mỗi giao dịch được lưu giữ theo trật tự từ điển 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 (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 Ta sử dụng các ký hiệu sau:

Lk: Tập các tập k-mục phổ biến (với độ hỗ trợ cực tiểu minsup nào đó)

Ck : Tập các tập k-mục ứng cử (các tập mục phổ biến tiềm năng)

2.1.2 Thuật toán Apriori

// sinh ứng cử viên mới (**)

Void apriori_gen(Lk-1 , minsup )

1 { for ( itemset l 1 Lk-1)

Trang 16

2 if(s  Lk-1) return TRUE;

3 else return FALSE ;

4.}

2.1.3 Sinh luật kết hợp từ các 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 CSDL đã được tìm thấy, nó có thể

sinh ra các luật kết hợp mạnh, ở đó luật kết hợp mạnh (strong association rule) là

luật thoả mãn cả hai độ hỗ trợ cực tiểu và độ tin cậy cực tiểu Điều đó có thể thực hiện bằng việc sử dụng tính độ tin cậy của luật, ta nhắc lại: độ tin cậy của luật X 

Y là: conf (X  Y) = P(Y/X) = sup(XY)/sup(X)

ở đó sup(XY) là độ hỗ trợ của XY và sup(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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ể được sinh như sau:

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

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

) sup(

) sup(

a

l  minconf ở đó 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ủa luật đã được thoả mãn, tức là độ hỗ trợ của luật chính là sup(l)

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 mục lớn theo kiểu

đệ qui ư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 l không sinh ra được luật thì 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 cần xét đến luật AB CD

Điều này có thể chứng minh đơn giản như sau:

Trang 17

) sup(

) sup(

) sup(

a

l b

l  =conf((a(l-a))<minconf Tức là độ tin cậy của luật b(l-b) cũng nhỏ hơn minconf

Thuật toán đơn giản này có thể mô tả như sau:

Thuật toán

For all large itemsets lk , k  2 do call genrules(lk ,lk)

Ggenrules(l k :large k-itemsets, a m : large m-itemsets){

output the rule am-1 (lk-am-1),

with confidence=conf and support=support(lk)

if (m-l > l) then call genrules(lk,am-1);

//để sinh ra các luật với tập con của am-1 là phần tiền đề }

}

2.2 Ứng dụng logic mờ trong thuật toán khai luật kết hợp Apriori

2.2.1 Ứng dụng logic mờ trong thuật toán khai phá luật kết hợp Apriori

Thuật toán Apriori ở trên đã mở ra phương pháp tiếp cận cơ bản để giải quyết bài toán khai phá luật kết hợp trong siêu thị Tuy nhiên vấn đề đặt ra mới chỉ giới hạn ở việc sử dụng dữ liệu dạng nhị phân, ví dụ tập mục I được xét với các mặt hàng trong cơ sở dữ liệu chỉ là có hoặc không {0,1}, với cách tiếp cận này bài toán đã giải quyết tốt vấn đề khai phá tập dữ liệu lớn Đứng trên góc nhìn về việc áp dụng phương pháp này cho bài toán sẽ nhận ra vấn đề của việc sử dụng dữ liệu dạng nhị phân nói trên, thực tế cơ sở dữ liệu trong thế giới thực luôn bao gồm những thuộc tính phạm trù, số học mang giá trị cả về số lượng, ví dụ trong dữ liệu về thu nhập

cá nhân thường có các thuộc tính như là thu nhập, tuổi,… những thuộc tính dạng này nếu chỉ áp dụng cách giải quyết của thuật toán Apriori nói trên sẽ không giải quyết được

Trang 18

18

Nhận thấy được những hạn chế mà phương pháp của Aragwa đưa ra, các nghiên cứu về sau đã trình bày nhiều cách khắc phục nhược điểm nói trên, tuy nhiên về mặt cơ bản các phương pháp này đều dựa trên ý tưởng chính thuật toán Apriori đó là:” Tập mục lớn khi các tập mục con của nó cũng là tập mục lớn”

Hướng tiếp cận thứ nhất đó là đưa các dữ liệu chưa có dạng nhị phân về dạng nhị phân, ví dụ quy định một ngưỡng t để xét các dữ liệu nhận giá trị {0,1} Ví dụ, cho

Theo như phương pháp nói trên, thì với mỗi thuộc tính sẽ được đặt một ngưỡng α

để chuyển đổi dữ liệu về dạng nhị phân theo hàm:

𝑓𝑖 𝐴𝑖𝑗 = 0 𝑛ế𝑢 𝐴𝑖𝑗 ≤ 𝛼𝑖

1 𝑛ế𝑢 𝐴𝑖𝑗 ≥ 𝛼𝑖 ,trong đó, 1 ≤ i ≤ n, 1 ≤ j ≤ m Giả sử cho 𝛼1 = 30, 𝛼2 = 35000, 𝛼3 = 0, khi đó dữ liệu tương ứng được chuyển về thành dạng:

Trang 19

sự tương đồng với tính lô gic của con người Lý thuyết tập mờ lần đầu tiên được trình bày bởi Zadeh từ năm 1965, về cơ bản lý thuyết này tập trung vào tính lượng hóa và lập luận sử dụng ngôn ngữ tự nhiên với một số từ có tính mờ Theo đó, luật kết hợp mờ được diễn đạt bởi các thuật ngữ giúp tăng tính linh động để hỗ trọ người sử dụng đưa ra quyết định Lý thuyết tập mờ đang được sử dụng ngày càng thường xuyên trong các hệ thống thông minh Một tập mờ A trong tập vũ trụ U được định nghĩa như sau:

A = {(x,µA(x))|xєU, µA(x) є[0,1]}

Trong đó: µA(x) là hàm thuộc xác định độ thuộc của x trong A, có nghĩa là x có giá trị càng lớn thì x càng thuộc A nhiều hơn Tập mờ cũng có thể được mở rộng thành tập cứng với các phần tử chỉ có thể thuộc hoặc không thuộc tập

Các hướng tiếp cận dựa trên logic mờ hiện nay đang được quan tâm nhiều trong lĩnh vực khai phá luật kết hợp, do logic mờ khá gần với lập luận tự nhiên của con

Trang 20

20

người, và các phương pháp dựa trên logic mờ đưa ra đạt được những kết quả khả quan về mặt tính toán cũng như độ chính xác của tập luật

2.2.2 Thuật toán Apriori mờ

Thuật toán khai phá luật kết hợp dựa trên logic mờ được trình bày sau đây Ngưỡng

hỗ trợ và ngưỡng tin cậy được cho trước

Các ký hiệu dùng trong thuật toán:

n: Tổng số giao giao dịch trong cơ sở dư liệu

m: Tổng số các thuộc tính

A j : Thuộc tính thứ j, 1 ≤ j ≤ m, A j

R jk : miền mờ thứ k của A j , 1 ≤ k ≤ |A j |

w jk : Trong số của Rjk, 0 ≤ w jk ≤ 1

D(i) dữ liệu giao dịch thứ i, 1 ≤ i ≤ n

v j (i): Giá trị phàm trù hoặc định lượng của Aj trong D(i);

f jk (i) giá trị hàm thuộc của v j (i) trong R jk , 1 ≤ f jk (i) ≤ m;

Sup(R jk ): Độ hỗ trợ của R jk

Sup: giá trị hỗ trợ của mỗi tập mục lớn;

Conf: độ tin cậy của mỗi tập mục lớn

Minsup: Giá trị hỗ trợ tối thiểu cho trước

Minconf: giá trị tin cậy cho trước

C r : tập các tập mục thỏa mãn với r thuộc tính (tập mục), 1 ≤ r ≤ m;

L r : tập các tập mục lớn thỏa mãn với r thuộc tính (tập mục) 1 ≤ r ≤ m;

Thuật toán khai phá dữ liệu mờ có trọng số cho các giá trị định lượng được thực hiện theo các bước sau:

Input: n,m, w jk , hàm thuộc của các tập mục, minsup và minconf Output: luật kết hợp mờ

Bước 1: Chuyển các giá trị định lượng và phàm trù vj(i) của mỗi giao dịch D(i), i từ

1 tới n, với mỗi thuộc tính Aj, j từ 1 tới m, về giá trị mờ fjk(i)(1 ≤ k ≤ |A|) bằng hàm thuộc Rjk

Bước 2 : Tính giá trị hỗ trợ

𝑆𝑢𝑝 𝑅𝑗𝑘 = 𝑤𝑗𝑘𝑓𝑗𝑘

𝑛 𝑖=1

𝑛 , 1 ≤ 𝑗 ≤ 𝑛, 1 ≤ 𝑘 ≤ 𝐴𝑗giá trị hỗ trợ của miền mờ Rjk, để chuyển C1 thành tập tham chiếu 1- itemsets

Bước 3 : Nếu Sup(Rjk) ≥ minsup thì đưa Rjk vào L1(L1 là tập mục lớn mức 1)

Bước 4 : Nếu L1 không rỗng, tiếp tục bước sau, nếu rỗng thoát chương trình

Bước 5 : Thuật toán xây dựng tập mục lớn mức r từ các tập mục lớn mức r-1 bằng

cách chọn 2 tập mục lớn mức r-1 chỉ khác nhau duy nhất một mục, hợp 2 tập mục này ta được tập mục ứng viên Cr, nếu tập mục này xuất hiện trong cơ sở dữ liệu và

Trang 21

21

có giá trị hỗ trợ và tin cậy thỏa mãn thì nó được đưa vào danh sách các tập mục lớn mức r

Bước 6: Thực hiện theo các bước con sau đây lặp lại cho các tập mục lớn mức lớn

hơn được sinh ra tiếp theo dạng (r+1) tập mục lớn S với mục (s1,s2, …, st, …,sr+1) trong Cr+1, 1≤ t ≤ r+1

 Tính các giá trị mờ của mỗi giao dịch D(t) của S như 𝑓𝑠(𝑡) 𝑟+1𝑡=1 𝑤𝑠𝑡𝑓𝑠𝑡(𝑖)trong đó fst(i) là giá trị hàm thuộc của D(t) trong miền mờ st, wst là trong số của st Nếu sử dụng toán tử cực tiểu là phép giao thì fs(t) = min wstfst(i)

 Tính giá trị hỗ trợ sup(S) của S trong giao dịch

𝑆𝑢𝑝 𝑆 = 𝑛𝑖=1𝑓𝑠(𝑖)

𝑛 = 𝑛𝑖=1𝑚𝑖𝑛 𝑓𝑠(𝑖)

𝑛

 If Sup(S) ≥ minsup, thì đưa S vào Lr+1

Bước 7 : Nếu Lr+1 là rỗng, thì thực hiện bước tiếp theo, ngược lại, đặt r=r+1, thực

hiện lại bước 5 và 6

Bước 8 : Thu thập các tập mục lớn

Bước 9 : Đưa ra các luật kết hợp từ các tập mục lớn vừa thu thập theo cách sau:

 Với mỗi luật kết hợp khả thi sau đây: s1∩…∩sx∩sy∩…∩sq → sk (k=1 tới q, x=k-1, y= k+1)

 Tính độ tin cậy của luật

Conf(s1∩…∩sx∩sy∩…∩sq → sk) = 𝑚𝑖𝑛 𝑘=1

𝑞 𝑓𝑠𝑡(𝑖)

𝑛 𝑖=1

min ⁡ (𝑚𝑖𝑛𝑘=1𝑥 𝑊𝑠𝑘 )

𝑛 𝑖=1

2.2.3 Nhận xét về thuật toán Apriori mờ

Việc ứng dụng lý thuyết logic mờ vào thuật toán đã giúp việc gán nhãn cho các trường dữ liệu mang tính chất định lượng(quantitative value) để từ đó có thể khai phá luật kết hợp từ các dữ liệu dạng này Tuy nhiên, việc xây dựng hàm mờ để gán nhãn đôi khi lại rất phức tạp và phụ thuộc vào từng bài toán cụ thể do đó sẽ làm giảm phạm vi ứng dụng của các khai phá luật kết hợp mờ

Trang 22

22

Chương 3 Thuật toán khai phá luật kết hợp dựa trên lý thuyết đại số

gia tử

3.1 Giới thiệu về lý thuyết đại số gia tử

Ý tưởng sử dụng ĐSGT trong khai phá dữ liệu xuất phát từ cấu trúc khá tốt của các giá trị của một biến ngôn ngữ (như các biến "tuổi", "trình độ chuyên môn" ) Trong ĐSGT (tuyến tính), các giá trị của biến ngôn ngữ được sắp xếp theo thứ tự (như các giá trị của biến ngôn ngữ "tuổi" là "rất trẻ" < "khá trẻ" < " trẻ" < <"khá già" <

"già" < "rất già" ) và các giá trị này được phân bố một cách có quy luật trên trục số giữa hai giá trị min, max của miền giá trị Với một vài giả thiết hợp lý (đưa vào như tiên đề trong ĐSGT), mỗi một giá trị biến ngôn ngữ này được gắn với một khoảng lân cận trên trục số và các khoảng của tất cả các giá trị biến ngôn ngữ có cùng độ dài này tạo nên một phân hoạch của đoạn min, max nói trên và ta có thể lấy giá trị đại diện cho khoảng làm giá trị tính toán trong các ứng dụng của khai phá dữ liệu thay cho các giá trị hàm thuộc trong lý thuyết tập mờ của Zadeh Cụ thể về ĐSGT

có thể xem [1], [2], [8], [9]

Giả thiết đại số gia tử AX* = (X*, G, H, σ, , ) là tuyến tính và đầy đủ, trong đó

X* là tập cơ sở, G = (0, c, W, c + , 1) là tập các phần tử sinh, H là tập các gia tử ,

là quan hệ thứ tự toàn phần trên X*,  và  là hai phép toán mở rộng sao cho với

mọi x X*, x, x tương ứng là cận dưới đúng và cận trên đúng trong X* của tập

H(x), là tập tất cả các phần tử sinh ra từ x nhờ các tác động của các gia tử trong H

2.Gia tử h được gọi là dương (âm) đối với gia tử k khi và chỉ khi xDom(X) sao

cho nếu x<kx thì kx<hkx (kx>hkx) hoặc x>kx thì kx>hkx (kx<hkx)

Tính chất 1.2.1.Tính chất dương (âm) của một gia tử này đối với một gia tử khác

không phụ thuộc vào phần tử x mà chúng tác động

Tính chất 1.2.2 Nếu hx<kx thì p,qH ta có phx<qkx hay H(hx) < H(kx)

Trang 23

23

Định nghĩa 2 Một ánh xạ f được gọi là ánh xạ định lượng ngữ nghĩa của X nếu nó

thỏa mãn các điều kiện sau:

Q1) f là song ánh;

Q2) f bảo toàn thứ tự trên X*, tức là x < y f(x) < f(y), và f(0) = 0, f(1) = 1;

Q3) Tính chất liên tục: x X*, f(x) = infimum f(H(x)) và f(x) = supremum f(H(x))

Có thể hình dung H(x) bao gồm các khái niệm mờ mà nó phản ánh ý nghĩa nào

đó của khái niệm x Vì vậy, kích thước của tập H(x) có thể biểu diễn tính mờ của x Nhờ ánh xạ ngữ nghĩa f, tập H(x) (hay độ đo tính mờ của x) có thể mô phỏng định lượng bằng độ dài của tập f(H(x)) và kí hiệu là fm(x) Với ý tưởng này độ đo tính

mờ được tiên đề hoá qua định nghĩa 2

Định nghĩa 3 Một hàm fm : X* [0,1] được gọi là một độ đo tính mờ của biến

ngôn ngữ X, nếu nó có các tính chất sau:

F1) fm là một độ đo đầy đủ trên X*, nghĩa là fm(c) + fm(c+) = 1 và, u X*,

) ( )

) hy ( fm ) x ( fm

) hx (

fm  , nghĩa là tỷ số này không phụ

thuộc vào một phần tử cụ thể nào trong X* mà chỉ phụ thuộc vào h, do đó ta có thể

ký hiệu nó bằng (h) và được gọi là độ đo tính mờ của gia tử h

Giả sử rằng H = h -1 , , h -q, với h-1 <h -2 < <h -q, và H + = h 1 , , h p, với h1 < <h p

Từ Định nghĩa 2 ta thấy fm có các tính chất sau

Mệnh đề 2.1 [8] Độ đo tính mờ fm của các khái niệm và (h) của các gia tử thỏa

mãn các tính chất sau:

1) fm(hx) = (h)fm(x), x X*;

Trang 24

1

) ( , với ,  > 0 và  +  = 1

Ánh xạ định lượng ngữ nghĩa được xây dựng dựa trên các tham số cho trước gồm

các độ đo tính mờ của các phần tử sinh fm(c), fm(c+) và độ đo tính mờ của các gia

tử (h)

Định nghĩa 2.4 (Hàm Sign [8]) Hàm dấu Sign: X  -1,0,1 là ánh xạ được định

nghĩa đệ quy như sau, trong đó h và h’ là các gia tử bất kỳ và c c,c +:

Hàm dấu Sign được đưa ra để sử dụng nhận biết khi nào gia tử tác động vào các từ

làm tăng hay giảm ngữ nghĩa định lượng Ta có khẳng định sau:

Bổ đề 2.1.[8] Với mọi h và x, nếu Sign(hx)= +1 thì hx > x , nếu Sign(hx) = 1 thì hx<x

Định nghĩa 2.5 Cho AX* là đại số gia tử tuyến tính, đầy đủ và tự do, fm(c) và fm(c + ) là các độ đo tính mờ của phần tử sinh c, c+ và (h) là độ đo tính mờ của các

gia tử h trong H thỏa mãn các tính chất trong Mệnh đề 2.1 Ánh xạ định lượng ngữ

nghĩa mờ là ánh xạ  được xác định quy nạp như sau:

1) (W) = = fm(c), (c) =  - fm(c), (c +) =  +fm(c + );

Ngày đăng: 25/03/2015, 09:37

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[2] N. Cat Ho and W. Wechler, Hedge algebras: an algebraic approach to structure of sets of lingguistic truth values. Fuzzy Sets and Systems 35(1990), 281-293 Sách, tạp chí
Tiêu đề: Hedge algebras: an algebraic approach to structure of sets of lingguistic truth values
Tác giả: N. Cat Ho, W. Wechler
Nhà XB: Fuzzy Sets and Systems
Năm: 1990
[7] Trần Thái Sơn, Lập luận xấp xỉ với giá trị của biến ngôn ngữ, Tạp chí Tin học và Điều khiển học,15(2). 1999 6-10 Sách, tạp chí
Tiêu đề: Tạp chí Tin học và Điều khiển "học
[9] N.C. Hồ, N.V. Long, Đại số gia tử đầy đủ tuyến tính, Tạp chí Tin học và Điều khiển học, T.19(3)(2003), 274-280 Sách, tạp chí
Tiêu đề: Tạp chí Tin học và Điều khiển học
Tác giả: N.C. Hồ, N.V. Long, Đại số gia tử đầy đủ tuyến tính, Tạp chí Tin học và Điều khiển học, T.19(3)
Năm: 2003
[10] N.C. Hồ, N.V. Long, Cơ sở toán học của độ đo tính mờ của thông tin ngôn ngữ, Tạp chí Tin học và Điều khiển học, T.20(1) 64-72 Sách, tạp chí
Tiêu đề: Tạp chí Tin học và "Điều khiển học
[11] R.Srikant and R.Agrawal. Mining quantitative association rules in larse relational tables, The 1996 ACM SIGMOD International Conference on Managment of Data Montreal Canada, June 1996, pp 1-12 Sách, tạp chí
Tiêu đề: The 1996 "ACM SIGMOD International Conference on Managment of Data Montreal Canada
[12] Hannes Verlinda, Martine De Cock and Raymond Buote, Fuzzy Versus Quantiative Association Rules: A Fair Data-Driven Comparison, IEEE Transactions on SMC, vol 36, No3, June 2006, 679- 684 Sách, tạp chí
Tiêu đề: IEEE Transactions on SMC, vol 36, No3
[14] L. A. Zadeh, The concept of linguistic variable and its application to approximate reasoning. Inform. Sci. (I) 8 (1975) 199-249; (II) 8 (1975) 310 -357; (III) 9 (1975) 43-80 Sách, tạp chí
Tiêu đề: Inform. "Sci
[1] N. Cat Ho, Fuzziness in Structure of Linguistic Truth Values: A Foundation for Development of Fuzzy Reasoning, Proc. of ISMVL 87, Boston, USA, (IEEE Computer Society Press, New York), 1987, 326-335 Khác
[3] N. Cat Ho and W. Wechler, Extended hedge algebras and their application to Fuzzy logic. Fuzzy Sets and Systems 52(1992), 259-281 Khác
[4] Nguyễn Cát Hồ, Trần Thái Sơn, Về khoảng cách giữa các giá trị của biến ngôn ngữ trong Đại số gia tử và bài toán sắp xếp mờ, Tạp chí Tin học và Điều khiển học, 11(1). 1995 10-20 Khác
[5] Nguyễn Cát Hồ, Trần Thái Sơn, Logic mờ và quyết định mờ dựa trên cấu trúc thứ tự của giá trị ngôn ngữ, Tạp chí Tin học và Điều khiển học, Tập 9, số 4, (1993),1-9 Khác
[6] N. Cát Hồ, H.Văn Nam, T.D Khang and L.H. Chau, Hedge Algebras, Linguistic- valued Logic and their Application to Fuzzy Reasoning, Inter. J. of Uncertainty, Fuzziness and Knowledge-Based System, Vol 7, No.4 (1999) 347-361 Khác
[8] Nguyen Cat Ho, Tran Thai Son, Tran Dinh Khang, Le Xuan Viet, Fuzziness Measure, Quantified Semantic Mapping And Interpolative Method of Approximate Reasoning in Medical Expert Systems, Tạp chí tin học và điều khiển, T.18(3)(2002), 237-252 Khác
[13] David L. Olson and Yanhong Li, Mining Fuzzy Weighted Association Rules, Proccedings of the 40th Hawai International Conference on System Sciences 2007, 1-9 Khác
62.9 middle_NuKi → ve_lo_InFa 0.010170757 62.75 ve_lo_InFa → ve_lo_NuKi 0.39723718 62.82 ve_lo_InHe → ve_lo_NuKi 0.39849037 62.54 qu_lo_FaPe → ve_lo_InHe 0.23233615 Khác
63. qu_lo_Age → ve_lo_InHe 0.18472897 62.37 qu_hi_EdLe → ve_lo_NuKi 0.18516514 61.92 middle_NuKi → ve_lo_InHe 0.010012479 62.17 qu_hi_Age → ve_lo_InHe 0.104422025 61.87 qu_lo_NuKi → ve_lo_InFa 0.13953367 Khác

HÌNH ẢNH LIÊN QUAN

Hình 1  Các bước trong quá trình khai phá tri thức - Khai phá luật kết hợp dựa trên lý thuyết đại số gia tử
Hình 1 Các bước trong quá trình khai phá tri thức (Trang 10)
Hình 2 Mô hình ứng dụng luật - Khai phá luật kết hợp dựa trên lý thuyết đại số gia tử
Hình 2 Mô hình ứng dụng luật (Trang 13)
Bảng 1 Ví dụ dữ liệu mẫu - Khai phá luật kết hợp dựa trên lý thuyết đại số gia tử
Bảng 1 Ví dụ dữ liệu mẫu (Trang 18)
Bảng 2 Dữ liệu được chuyển về dạng nhị phân - Khai phá luật kết hợp dựa trên lý thuyết đại số gia tử
Bảng 2 Dữ liệu được chuyển về dạng nhị phân (Trang 19)
Hình 3 Ví dụ hàm thuộc - Khai phá luật kết hợp dựa trên lý thuyết đại số gia tử
Hình 3 Ví dụ hàm thuộc (Trang 26)
Bảng 4 Nhãn ngôn ngữ tương ứng - Khai phá luật kết hợp dựa trên lý thuyết đại số gia tử
Bảng 4 Nhãn ngôn ngữ tương ứng (Trang 29)
Bảng 5 Danh sách các trường trong tập dữ liệu FAM95 - Khai phá luật kết hợp dựa trên lý thuyết đại số gia tử
Bảng 5 Danh sách các trường trong tập dữ liệu FAM95 (Trang 31)
Bảng 6 Danh sách 10 luật có độ tin cậy cao nhất - Khai phá luật kết hợp dựa trên lý thuyết đại số gia tử
Bảng 6 Danh sách 10 luật có độ tin cậy cao nhất (Trang 32)
Hình 4 So sánh 2 bảng kết quả của 2 thuật toán - Khai phá luật kết hợp dựa trên lý thuyết đại số gia tử
Hình 4 So sánh 2 bảng kết quả của 2 thuật toán (Trang 33)

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