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

Nghiên cứu chung về khai phá dữ liệu

66 407 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 66
Dung lượng 17 MB

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

Nội dung

CHƯƠNG II: KHAI PHA DỮ LIỆU BẰNG LUẬT KẾT HỢP Trong 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 đầu tiên – Thuật toán Apriori và các hướng cải

Trang 1

MỤC LỤC

MỞ ĐẦU 2

NỘI DUNG ĐỀ TÀI GỒM 3

CHƯƠNG I: TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU 3

CHƯƠNG II: KHAI PHA DỮ LIỆU BẰNG LUẬT KẾT HỢP 3

CHƯƠNG III: ỨNG DỤNG LUẬT KẾT HỢP TRONG BÀI TOÁN DỮ LIỆU MÔ PHỎNG GIAO DỊCH BÁN HÀNG TRONG SIÊU THỊ TÔN MÙI 3

CHƯƠNG I: TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU 4

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

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

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

1.1.3 Các dạng dữ liệu có thể khai phá .5

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

1.1.5 Các hướng tiếp cận cơ bản và kỹ thuật áp dụng .8

1.1.6 Các lĩnh vực ứng dụng của khai phá dữ liệu 8

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

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

1.2.2 Lựa chọn các kỹ thuật khai phá 14

CHƯƠNG II: KHAI PHÁ DỮ LIỆU BẰNG LUẬT KẾT HỢP 16

2.1 Ý nghĩa của luật kết hợp 16

2.2 Bài toán khai phá dữ liệu bằng luật kết hợp .17

2.2.1 Phát biểu bài toán và các pha thực hiện .17

2.2.2 Ví dụ 20

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

2.3.1 Một số tính chất với tập mục phổ biến: 22

2.3.2 Một số tính chất với luật kết hợp: 23

2.3.3 Các loại luật kết hợp 24

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

2.4.1 Khai phá luật kết hợp Boolean đơn chiều từ cơ sở dữ liệu tác vụ 26

2.4.2 Khai phá luật kết hợp định lượng 52

2.4.3 Khai phá luật kết hợp đa mức .55

CHƯƠNG III: ỨNG DỤNG THỬ NGHIỆM CHO BÀI TOÁN KHAI PHÁ LUẬT KẾT HỢP TRÊN CƠ SỞ DỮ LIỆU NHỊ PHÂN 61

3.1 Đặt bài toán 61

3.2 Thiết kế giao diện sử dụng 62

3.3 Đánh giá kết quả và hướng phát triển của chương trình .64

TÀI LIỆU THAM KHẢO 65

Trang 2

MỞ ĐẦU

Trong những năm gần đây, khai phá dữ liệu đã trở thành một trong những lĩnh vực chính được các nhà khoa học quan tâm nghiên cứu bởi tính ứng dụng cao trong thực tiễn cuộc sống Với hàng loạt các nghiên cứu, đề xuất được thử nghiệm và ứng dụng thành công vào đời sống đã chứng minh khai phá dư liệu là lĩnh vực nghiên cứu có nền tảng lý thuyết vững chắc

Khai phá dữ liệu được ứng dụng rộng rãi trong nhiều lĩnh vực như: Tài chính và thị trường chứng khoán, Thương mại, Giáo dục, Y tế, Sinh học, Bưu chính viễn thông với nhiều hướng tiếp cận khác nhau như: Phân lớp/ Dự đoán, Phân cụm, Luật kết hợp, Các kỹ thuật chính được áp dụng trong khai phá dữ liệu phần lớn được thừa kế từ lĩnh vực: Cơ sở dữ liệu, Học máy, Trí tuệ nhân tạo,

Lý thuyết thông tin, Xác suất thống kê,

Luật kết hợp là một trong những phương pháp khai phá dữ liệu có hiệu quả và là vấn đề quan trọng được nhiều nhà khoa học tìm hiểu và đã thu được những thành công lớn

Với một lĩnh vực khoa học công nghệ mới còn nhiều triển vọng trong tương lai, em đã chọn hướng nghiên cứu về Một số phương pháp khai phá dữ liệu bằng luật kết hợp cho luận văn của mình Luận văn được xây dựng và tổng hợp các nội dung dựa trên nền một số nghiên cứu chủ yếu trong lĩnh vực khai phá dữ liệu của các nhà nghiên cứu trong những năm gần đây ở một số hội nghị quốc tế

và một số các bài báo được công bố trên các tạp chí chuyên ngành, trên Internet

Trang 3

NỘI DUNG ĐỀ TÀI GỒM

CHƯƠNG I: TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU

Chương này trình bày những nét khái quát nhất về khai phá dữ liệu, khai phá dữ liệu trong quá trình phát hiện tri thức; Các hướng tiếp cận; Các kỹ thuật

áp dụng trong khai phá dữ liệu; Các lĩnh vực ứng dụng chính

CHƯƠNG II: KHAI PHA DỮ LIỆU BẰNG LUẬT KẾT HỢP

Trong 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 đầu tiên – Thuật toán Apriori và các hướng cải tiến của thuật toán này nhằm nâng cao hiệu quả của quá trình tính toán Đồng thời cũng trình bày một số hướng nghiên cứu về luật kết hợp đa mức, định lượng, đóng

CHƯƠNG III: ỨNG DỤNG LUẬT KẾT HỢP TRONG BÀI TOÁN DỮ LIỆU MÔ PHỎNG GIAO DỊCH BÁN HÀNG TRONG SIÊU THỊ TÔN MÙI

Chương này trình bày bài toán và qua bài toán xác định rõ nhiệm vụ khai phá dữ liệu, phân tích và thiết kế các môdul chương trình đồng thời thiết kế các giao diện sao cho thuận lợi và thân thiết với người sử dụng nhưng dễ theo dõi và kiểm tra Chương trình được xây dựng với mục đích thử nghiệm để đánh giá kết quả

Trang 4

CHƯƠNG I: TỔNG QUAN VỀ KHAI 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

Gần ba thập niên trở lại đây, lượng thông tin được lưu trữ trên các thiết bị như đĩa cứng, CD-ROM, băng từ, 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 ước đ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 theo đó số lượng cũng như kích cỡ của các cơ sở dữ liệu cũng tăng lên một cách nhanh chóng

Trong lĩnh vực kinh doanh, những nhà quản lý quả thực đang ngập trong

dữ liệu nhưng lại cảm thấy thiếu tri thức và thông tin hữu ích 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 vào tiến trình kinh doanh của doanh nghiệp 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ó nhiều ý nghĩa từ những tập hợ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 trong 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à khi 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ác 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ính tỏ được tính hữu dụng của nó trong mỗi môi trường kinh doanh đầy tính cạnh tranh 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 vị ứng dụng ban đầu

Trang 5

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ữ liệu đã được ứng dụng rộng rãi trong các lĩnh vực khác như: Tin sinh học, điều trị y học, viễn thông, giáo dục,

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

Qua những nội dung đã trình bày ở trên, chúng ta có thể hiểu một cách 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, nên chăng gọi quá trình này là khám phá tri thức thay vì là khai phá dữ liệu Tuy nhiên một số nhà khoa học đồ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 khám phá tri thức và 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 quá trình đó lại chính là dữ liệu Mặt khác, khi chia các bước trong khá trình khám phá tri thức, nhiều nhà khoa học khác lại cho rằng khai phá dữ liệu chỉ là một bước trong quá trình khám phá tri thức1 Như vậy, khi xét ở mức không thật chi tiết thì hai thuật ngữ này được xem là đồng nghĩa nhưng khi xét cụ thể thì khai phá dữ liệu lại 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á

Khai phá dữ liệu được ứng dụng rộng rãi nên có rất nhiều kiểu dữ liệu khác nhau được chấp nhận để khai phá 2 Sau đây là một số loại điển hình:

Cơ sở dữ liệu quan hệ (relational databases): 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 Access,

Cơ sở dữ liệu đa chiều (multimensional structures, data warehouses, data mart):

là các 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 có tính thời gian) và chủ yếu phục vụ cho quá trình phân tích cũng như là khai phá tri thức nhằm hỗ trợ cho việc ra quyết định

Trang 6

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

Dữ liệu không gian và thời gian (spatial, temporal and time-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 & WWW, Dạng dữ liệu này hiện đang rất phổ biến trên Internet do sự ứng dụng rộng rãi của nó

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

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

Thông thường quá trình khai phá dữ liệu thực hiện qua các bước sau:

- Xác định 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 thập các dữ liệu có liên quan và xử lý chúng thành dạng sao cho giải thuật khai phá dữ liệu có thể hiểu được

- 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á

Quá 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 các 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 nhóm, … Giải thuật khai phá dữ liệu bao gồm 3 thành phần chính như sau:

Trang 7

- Biểu diễn mô hình

 Đá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 tri thức hay không Việc đánh giá mô hình được thực hiện thông qua kiểm tra 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 hoá 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 heuristic (tức dựa trên kinh nghiệm, thử nghiệm, rút ra kết luận) 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ể

Trang 8

1.1.5 Các hướng tiếp cận cơ bản và kỹ thuật áp dụng

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 (machinne learning, cây quyết định (decision tree), mạng nơ ron nhân tạo (neural network), v.v Hay lớp bài toán này còn đươc gọi là học có giám sát – Học có thày (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 – Học không thày (unsupervised learning)

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,

Khai 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ự báo cáo

Mô tả khái niệm (concept desccription & 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.6 Các lĩnh vực ứng 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ỗ trợ ra quyết định

Trang 9

- Đ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

- Tin sinh học: tìm kiếm, đối sánh các hệ gene và thông tin di truyền, mối liên hệ giữa một số hệ 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

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

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

1.2.1.1 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 để uy 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

1.2.1.2 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á trị 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 lá

Trang 10

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 luậ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

Ví dụ: Ta có mẫu phát hiện được bằng phương pháp tạo luật “Nếu giảm ngưỡng chỉ cần học đủ số trình là 120 sẽ được phát chứng nhận tốt nghiệp giai đoạn I thì

số lượng sinh viên đăng ký tăng lên 30%

Cây quyết định là phương pháp dùng trong các bài toán phân loại 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ả đơn 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.3 Phát hiện các luật kết hợp

Các luật kết hợp 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 = { A1, 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  R và B  R\X Cho W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{B},r)

- Độ tin cậy = s(X{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

Trang 11

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  cho trước

Khi thiết kế dữ liệu dùng cho kỹ thuật luật kết hợp cần hết sức 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à các tập thoả mãn tần số 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ũng có khuynh hướng mua phần mềm quản

lý tài chính trong cùng lần mua được mô tả bởi luật kết hợp như sau:

“Nếu mua máy tính thì mua phần mềm quản lý tài chính”

[Độ hỗ trợ: 20%, Độ tin cậy: 60%]

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ợ 20% có nghĩa là: 20% của tất cả các giao dịch được phân tích thì chỉ ra rằng máy tính và phần mềm quản lý tài chính được mua cùng nhau Còn độ tin cậy 60% có nghĩa là: 60% 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 của phương pháp này là sự gia 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

Trang 12

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

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ế tối ưu có được khi thiết lập biểu thuế bảo hiểm

Mẫu đầ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 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

Một trong những ưu điểm phải kể đến của mạng neural 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á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,

Mẫu chiết xuất bằng mạng neural được thể hiện ở các nút đầu của mạng Mạng neural 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ó

Trang 13

Đặc điểm của mạng neural 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 neural có hiệu quả cần phải xác định các yếu tố khi thiết kế mạng như:

- Mô hình mạng là gì?

- 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 neural để mạng có thể hiểu được

Mạng neural đượ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ọ đảm bảo 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 hóa 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ể xuất phát Bằng các thao tác lai ghép, đột biến chúng ta biến đổi quần thể gene ban đầu và loại bỏ

đi một số gene làm cho số lượng 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 hóa 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 neural) 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 hóa 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ỏ

Trang 14

Giải thuật di truyền là một giải thuật tối ưu hóa, nó được sử dụng rất rộng rãi trong việc tối ưu hóa các kỹ thuật khai phá dữ liệu trong đó có kỹ thuật mạng neural 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 hóa 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 Lựa chọn các kỹ thuật khai phá

Các giải thuật khai phá dữ liệu tự động mới chỉ ở giai đoạn phát triển ban đầu 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 về 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 như 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ới một hệ thống khai phá dữ liệu là:

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

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

3 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ẫu l đáng quan tâm nếu:

Trang 15

o Dễ hiểu đối với con người

o Hợp lệ hoặc dữ liệu được kiểm tra với độ chắc chắn nào đó

o Có khả năng (tiềm năng) hữu ích

Nhìn chung các độ đo này có thể đượ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á hệ thống khai phá

dữ liệu để sinh ra tất 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 Khai phá luật kết hợp là một ví dụ, ở đó người ta sử dụng các độ đo có thể đảm bảo khai phá trọn vẹn, có nghĩa là với ngưỡng độ hỗ trợ và độ tin cậy nhỏ nhất xác định trước thì có thể tìm được Đối với câu hỏi thứ ba: 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 còn 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 16

CHƯƠNG II: KHAI PHÁ DỮ LIỆU BẰNG 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 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 Lần đầu tiên được Rakesh Agrawal, Tomasz Imielinski, Arun Swami đề xuất năm 1993 Sau đó năm 1996 được Rakesh Agrawal, Heikki Mannila, Ramakrishnan Srikant, Hannu Toivonen, A.Inkeri Verkamo tiếp tục phát triển và cải tiến Đế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

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

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

Ở đây vế trái (tiền đề) của luật là:“Mua đường”, “hút thuốc lá và sống ven vùng ô nhiễm”, còn “mua sữa” và “ung thu phổi” là vế phải (kết luận) của luật

Những con số: 30%, 25% là độ hỗ trợ 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(confidence-

Số phần trăm các giao dịch thỏa mãn vế trái thì cũng thỏa 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 Nhữ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á trình tính toán khá phức tạp và tốn nhiều thời gian

Trang 17

Tuy luật kết hợp là dạng luật khá đơ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 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 Bài toán khai phá dữ liệu bằng luật kết hợp

2.2.1 Phát biểu bài toán và các pha thực hiện

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

T={t1, 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)

Cho  là một quan hệ nhị phân trên I và T (hay   IxT )

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

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 cơ 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  2I (với 2I là tập các tập con của I)4

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:

Trang 18

X I đượ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 một ngưỡng minsup nào đó được xác định bởi người sử dụng: s(X)  minsup

Bảng 2.2 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 2.1 với minsup bằng 50%

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

Một số khái niệm cơ bản:

 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 thỏa mãn điều kiện: XI, Y I, X  Y = 

Đố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)

Độ hỗ trợ của một tập mụ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

D

X T D T X

 ) ( sup

Trang 19

 Tập mục phổ biến (frequent itemset): Tập mục X mà thỏa đ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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 xuấ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 cũng có giá trị giữa 0

và 1

Supp(XY) = P(XY) Conf(XY) = P(Y/X) = supp(XY) /supp(X)

 Luật kết hợp mạnh (strong): Các luật thỏa 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Y)  minsup Conf(XY) = P(Y/X) = supp(XY) /supp(X)  minconf Ngườ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 minconf Hãy tìm tất cả cả các luật kết hợp có dạng X Y thỏa mãn độ

hỗ trợ s(X  Y)  minsup và độ tin cậy của luật là:

c(X Y) = s(X  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ể như sau:

Trang 20

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 X 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 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 '  c 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.2.2 Ví dụ

Cơ sở dữ liệu D được cho trong bảng 2.3 sau:

Bảng: 2.3 - Cơ sở dữ liệu giao dịch D

Định danh các giao dịch

(TID)

Tập mục (itemset)

Trang 21

Sau đây là bảng minh họa độ hỗ trợ của các tập mục đối với dữ liệu ở bảng 2.3.

Bảng 2.4 - Độ hỗ trợ của các tập mục đối với CSDL ở bảng 2.3

có luật kết hợp là: A  C Trong trường hợp này thì:

conf(AC) =(số các tác vụ chứa cả A và C) / (Số các tác vụ chứa A)

=2 / 2

= 1

= 100%

Trang 22

Bảng 2.5 dưới đây là bảng xác định độ tin cậy của một số luật được sinh ra từ CSDL D đã cho ở bảng 2.3 ở trên

Bảng 2.5 - Độ tin cậy của một số luật kết hợp được sinh ra từ bảng 2.3

Nếu A  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ỗ

rợ A

(2) Tí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)

Trang 23

(3) Tính chất 3:

Các tập con của tập phổ biến cũng là 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 Lưu ý ngược lại là không đúng

Nếu X  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 Y)=supp(Z), nếu độ hỗ trợ của X và Y đủ lớn hơn supp(XY) hay supp(X)>supp(XY) và supp(Y)>supp(XY) thì hai luật riêng biệt sẽ không đủ độ tin cậy

Tuy nhiên, đảo lại: X  Y  Z  X  Y  X  Z

(3) 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)T(Y)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

Trang 24

thế thì: conf(XZ)=minconf2<minconf vì minconf<1, do đó luật XZ không đủ độ tin cậy

p

L p B

p

L p B

L B

) ( sup

) ( sup )

( sup

) ( sup )) (

L p

L p D

L p

L p

min )

( sup

) ( sup )

( sup

) ( sup

Tức là: conf((L-D)D  conf((L- C)  C)  minconf

Các tính chất này sẽ được sử dụng trong thuật toán mô tả ở các phần sau 2.3.3 Các loại luật kết hợp

Trong thực tế có nhiều loại luật kết hợp các luật kết hợp có thể có các dạng khác nhau dựa trên các cơ sở sau5:

 Luật kết hợp Boolean: là các luật dựa trên các kiểu của các giá trị trong luật Hay 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 Ví dụ luật:

“Máy tính  Phần mềm quản lý tài chính” (R1)

Trang 25

 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 các luật này, các giá trị định lượng của các mục hoặc các thuộc tính là được phân chia thành các khoảng Luật sau là một ví dụ luật kết hợp định lượng, ở đó X là biến biểu diễn khách hàng:

Tuổi( X, “30 40”)Thunhập(X, “42T 50T”)Mua(X, “Ô tô”)(R2)

ở đây thuộc tính định lượng là tuổi và thu nhập

 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à nếu 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

Ví dụ: Luật (R1) ở trên có thể viết lại:

Mua(X, “Máy tính”)Mua(X, “Phần mềm quản lý tài chính”) (R3)

Luật này là luật kết hợp đơn chiều vì nó chỉ đề cập đến một chiều đó là Mua

 Luật kết hợp đa chiều: là luậ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 như là Mua, Loại khách hàng, thì được gọi là luật kết hợp đa chiều

Ví dụ: Luật (R2) ở trên có thể coi là luật kết hợp đa chiều vì nó chứa ba chiều là tuổi, thu nhập, mua

 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

Ví dụ: Giả sử rằng tập các luật khai phá được bao gồm các luật sau:

Tuổi(X, “30 39”)Mua(X, “máy tính xách tay”) (R4)

Tuổi(X, “30 39”)Mua(X, “máy tính ”) (R5)

Trong các luật R4 và R5, các mục đã mua là tham chiếu đến các mức trừu tượng khác nhau Chẳng hạn: “máy tính” là sự trừu tượng cao hơn của

“máy tính xách tay”

Trang 26

Tập luật kết hợp khai phá được gồm các luật kết hợp đa mức Nếu trong các luật không tham chiếu đến các mục hoặc các thuộc tính với các mức trừu tượng khác nhau thì tập đó chứa các luật kết hợp đơn mức

Khai phá luật kết hợp có thể mở rộng để phân tích sự tương quan, ở đó

sự có mặt hoặc không có mặt của mối tương quan các mục có thể là xác định

Nó có thể mở rộng để khai phá các mẫu cực đại (mẫu phổ biến cực đại) và các tập mục phổ biến đóng Mẫu phổ biến cực đại là mẫu phổ biến mà bất kỳ tập mục nào chứa nó và lớn hơn nó đều không phải tập phổ biến

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

2.4.1 Khai phá luật kết hợp Boolean đơ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 Boolean 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.4.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ử

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 boolean Trong phần này trình bày thuật toán Apriori do Rakesh Agrawal, Tomasz Imielinski, Arun Swami6 đề 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 quá 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 cực tiểu minconf) có thể được phân rã thành hai vấn đề con sau đây:

(i) 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

Trang 27

(ii) 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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 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 ứ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

Các 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 chỉ 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 là 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 là 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

Trang 28

mục có kích thước k là tập k-mục (hay 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 2.6a - Các kí hiệu của thuật toán Apriori

L1 đượ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 lại đượ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  A) không thể là phổ biến hơn I và do đó (I  A) cũng không thể là tập mục phổ biến, hay P(I  A) < minsup Tính chất này còn có

Trang 29

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 Lk-1 để tìm

Lk sau đây Quá trình này bao gồm 2 bước đó là bước kết nối và bước tỉa

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

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

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

- 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 Ck được sinh ra bởi việc kết nối Lk-1 với chính nó Giả sử l1 và l2 là các tập mục trong Lk-1 Ta kí hiệu: li[j] là mục thứ j trong li 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-1 với Lk-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 l1 và l2 của Lk-1được nối nếu:

(l1[1]=l2[1])  (l1[2]=l2[2])   (l1[k-2])=l2[k-2])  (l1[k-1])<l2[k-1]) Điều kiện (l1[k-1])<l2[k-1]) đơ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 l1 và l2 là:

l1[1] l1[2] l1[k-1] l2[k-1]

2 Bước tỉa:

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

- Đầ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 Ck luôn là tập chứa Lk, tức là các thành phần của Ck 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 được chứa đầy đủ trong Ck Quét cơ sở dữ liệu để tính độ hỗ trợ cho mỗi ứng cử trong Ck sẽ nhận được Lk (tức là tất cả các ứng cử được tính độ hỗ

Trang 30

trợ không nhỏ hơn 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, Ck 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 Ck 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

Sau đây ta lấy một ví dụ để minh họa thuật toán Apriori Xét cơ sở dữ liệu D được cho trong bảng 2.6 sau:

Bảng 2.6b - Cơ sở dữ liệu để minh họa thuật toán Apriori

- Các mục được sắp xếp theo thứ tự từ điển

- Cơ sở dữ liệu cho dưới dạng giao dịch

Ở đây có 9 tác vụ (giao dịch) tức |D| = 9 Giả sử minsup =2 Quá trình thuật toán Apriori tìm tập mục phổ biến trong D thể hiện qua các bảng sau:

Trang 32

{1,2,5} 2

L3 Tập mục Độ hỗ trợ {1,2,3} 2

So sánh độ hỗ trợ của mỗi ứng cử trong C3 với

minsupp=2

{1,2,5} 2

Trên đây là toàn bộ diễn biến của thuật toán và các kết quả trung gian, các kết quả cuối cùng là các tập mục phổ biến tìm được trong quá trình thực hiện thuật toán Apriori

Giải thích thuật toán mô tả quá trình trên bằng lời:

1 Trong lần đầu tiên quét cơ sở dữ liệu của thuật toán, mỗi mục

là một phần tử của tập ứng cử gồm một mục – C1 Thuật toán

sẽ quét tất cả các tác vụ theo thứ tự để tính số lần xuất hiện của mỗi mục

2 Giả sử rằng độ hỗ trợ cực tiểu yêu cầu đếm số các tác vụ là 2

(tức là minsupp = 2  22%) Khi đó tập một mục phổ biến L1được xác định L1 sẽ bao gồm các ứng cử 1 mục có trong C1thỏa mãn độ hỗ trợ cực tiểu

3 Để xây dựng được tập phổ biến 2- mục L2, ta phải xác định

được C2 bằng cách: Thuật toán sử dụng việc kết nối L1 với L1

để sinh ra tập các ứng cử gồm 2- mục C2 Đây chính là các

Trang 33

phần tử của tổ hợp chập 2 của các phần tử có trong L1, do đó

số các phần tử của C2 sẽ được tính bằng công thức sau:

4 Tiếp theo, quét các tác vụ trong D để tính độ hỗ trợ cho mỗi

tập mục các ứng cử có trong C2

5 Dựa vào độ hỗ trợ của các tập mục ứng cử trong C2 ta xác

định được tập các tập 2- mục là phổ biến bằng cách tỉa đi các tập 2- mục có trong C2 mà không thỏa mãn độ hỗ trợ cực tiểu

Cụ thể: * {1,3,5} không là phổ biến vì tập con {3,5} của nó không là phổ biến – Không có trong L2

* {2,3,5} không là phổ biến vì tập con {3,5} của nó không là phổ biến – Không có trong L2

* {2,4,5} không là phổ biến vì tập con {4,5} của nó không là phổ biến – Không có trong L2

Việc tỉa bớt các ứng cử này sẽ giảm bớt việc phải quét cơ sở

dữ liệu để tính độ hỗ trợ cho chúng khi xác định L3 Chú ý rằng, với ứng cử k-mục, người ta chỉ cần kiểm tra các tập con

10

! 3

!.

2

! 52 5

2

2  C 1  C  

Ngày đăng: 10/08/2016, 14:50

HÌNH ẢNH LIÊN QUAN

Bảng 2.2 Sẽ liệt kê tất cả các  tập mục phổ biến (frequent – itemset) - Nghiên cứu chung về khai phá dữ liệu
Bảng 2.2 Sẽ liệt kê tất cả các tập mục phổ biến (frequent – itemset) (Trang 18)
Bảng 2.4 -  Độ hỗ trợ của các tập mục đối với CSDL ở bảng 2.3 . - Nghiên cứu chung về khai phá dữ liệu
Bảng 2.4 Độ hỗ trợ của các tập mục đối với CSDL ở bảng 2.3 (Trang 21)
Bảng 2.5 - Độ tin cậy của một số luật kết hợp được sinh ra từ bảng 2.3 - Nghiên cứu chung về khai phá dữ liệu
Bảng 2.5 Độ tin cậy của một số luật kết hợp được sinh ra từ bảng 2.3 (Trang 22)
Bảng 2.6a - Các kí hiệu của thuật toán Apriori. - Nghiên cứu chung về khai phá dữ liệu
Bảng 2.6a Các kí hiệu của thuật toán Apriori (Trang 28)
Bảng 2.9- Danh sách L các mục đã được sắp xếp. - Nghiên cứu chung về khai phá dữ liệu
Bảng 2.9 Danh sách L các mục đã được sắp xếp (Trang 46)
Hình  2.2    Hình 2.3  Hình 2.4 - Nghiên cứu chung về khai phá dữ liệu
nh 2.2 Hình 2.3 Hình 2.4 (Trang 47)
Hình 2.7 - Bảng các đầu mục liên kết và FP-tree với  CSDL D - Nghiên cứu chung về khai phá dữ liệu
Hình 2.7 Bảng các đầu mục liên kết và FP-tree với CSDL D (Trang 48)
Hình 2.8 -  FP-tree phụ thuộc của  “m” - Nghiên cứu chung về khai phá dữ liệu
Hình 2.8 FP-tree phụ thuộc của “m” (Trang 51)
Bảng 2.9 – Dữ liệu điều tra dân số. - Nghiên cứu chung về khai phá dữ liệu
Bảng 2.9 – Dữ liệu điều tra dân số (Trang 53)
Bảng 2.10- Tác vụ mua bán của cơ sở dữ liệu D. - Nghiên cứu chung về khai phá dữ liệu
Bảng 2.10 Tác vụ mua bán của cơ sở dữ liệu D (Trang 55)
Hình 2.10 - Khai phá nhiều mức với độ hỗ trợ như nhau. - Nghiên cứu chung về khai phá dữ liệu
Hình 2.10 Khai phá nhiều mức với độ hỗ trợ như nhau (Trang 57)
Hình 2.12 - Khai phá nhiều mức với giảm độ hỗ trợ, lọc bởi mục đơn. - Nghiên cứu chung về khai phá dữ liệu
Hình 2.12 Khai phá nhiều mức với giảm độ hỗ trợ, lọc bởi mục đơn (Trang 58)

TỪ KHÓA LIÊN QUAN

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