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

luận văn thạc sĩ Phương pháp luận kết hợp và ứng dụng

35 400 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 35
Dung lượng 836,65 KB

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

Nội dung

Mục đích nghiên cứu của đề tài là tìm hiểu về các kỹ thuật khai phá dữ liệu; các vấn đề liên quan đến khai phá luật kết hợp nhằm phát hiện và đưa ra các mối liên hệ giữa các giá trị dữ l

Trang 1

Luận văn Thạc sỹ Khoa học máy tính

NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS VŨ ĐỨC THI

Thái Nguyên - 2009

Trang 2

MỤC LỤC

LỜI CẢM ƠN i

DANH MỤC CÁC HÌNH ii

MỞ ĐẦU 3

Chương 1 TỔNG QUAN VỀ KHÁM PHÁ TRI THỨC VÀ KHAI PHÁ DỮ LIỆU 6

1.1 Phát hiện tri thức và khai phá dữ liệu 6

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

1.2.1 Xác định vấn đề 8

1.2.2.Thu thập và tiền xử lý dữ liệu 9

1.2.3 Khai thác dữ liệu 11

1.2.4 Minh họa và đánh giá 11

1.2.5 Đưa kết quả vào thực tế 11

1.3 Khai phá dữ liệu 12

1.3.1 Các quan niệm về khai phá dữ liệu 12

1.3.2 Nhiệm vụ của khai phá dữ liệu 13

1.3.3 Triển khai việc khai phá dữ liệu 15

1.3.4 Một số ứng dụng khai phá dữ liệu 15

1.3.5 Các kỹ thuật khai phá dữ liệu 17

1.3.6 Kiến trúc của hệ thống khai phá dữ liệu 19

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

1.3.8 Những khó khăn trong khai phá dữ liệu 22

Chương 2 LUẬT KẾT HỢP TRONG KHAI PHÁ DỮ LIỆU 25

2.1 Bài toán kinh điển dẫn đến việc khai phá luật kết hợp 25

2.2 Định nghĩa về luật kết hợp 26

2.3 Một số hướng tiếp cận trong khai phá luật kết hợp 32

Chương 3 MỘT SỐ THUẬT TOÁN PHÁT HIỆN LUẬT KẾT HỢP 35

3.1 Thuật toán AIS 35

3.2 Thuật toán SETM 36

3.3 Thuật toán Apriori 37

3.4 Thuật toán Apriori-TID 44

3.5.Thuật toán Apriori-Hybrid 46

3.6 Thuật toán FP_growth 47

3.7 Thuật toán PARTITION [Savasere 95] 55

Chương 4 KHAI THÁC LUẬT KẾT HỢP TRONG BÀI TOÁN QUẢN LÝ THIẾT BỊ TRƯỜNG THPT CHU VĂN AN- THÁI NGUYÊN 58

4.1 Phát biểu bài toán 58

4.2 Cơ sở dữ liệu của bài toán 59

4.3 Rời rạc các thuộc tính gốc để tạo thành các thuộc tính nhị phân 60

4.4 Cơ sở dữ liệu dạng nhị phân 62

4.5 Kết quả khai thác luật kết hợp bằng thuật toán Apriori 62

4.6 Kết quả khai thác cơ sở dữ liệu quản lý thiết bị Trường THPT Chu Văn An – Thái Nguyên 63

KẾT LUẬN 64

TÀI LIỆU THAM KHẢO 66

Trang 3

MỞ ĐẦU

Trong những năm gần đây, sự phát triển mạnh mẽ của công nghệ thông

tin đã làm cho khả năng thu thập và lưu trữ thông tin của các hệ thống thông

tin tăng nhanh một cách nhanh chóng Bên cạnh đó, việc tin học hóa một cách

ồ ạt và nhanh chóng các hoạt động sản xuất, kinh doanh cũng như nhiều lĩnh

vực hoạt động khác đã tạo ra cho chúng ta một lượng dữ liệu cần lưu trữ

khổng lồ Hàng triệu cơ sở dữ liệu đã được sử dụng trong các hoạt động sản

xuất, kinh doanh, quản lý , trong đó có nhiều cơ sở dữ liệu cực lớn cỡ

Gigabyte, thậm chí là Terabyte

Sự bùng nổ này đã dẫn tới một yêu cầu cấp thiết là cần có những kỹ

thuật và công cụ mới để tự động chuyển đổi lượng dữ liệu khổng lồ kia thành

các tri thức có ích Từ đó, các kỹ thuật khai phá dữ liệu đã trở thành một lĩnh

vực thời sự của nền CNTT thế giới hiện nay nói chung và Việt Nam nói riêng

Khai phá dữ liệu đang được áp dụng một cách rộng rãi trong nhiều lĩnh

vực kinh doanh và đời sống khác nhau: marketing, tài chính, ngân hàng và

bảo hiểm, khoa học, y tế, an ninh, internet… Rất nhiều tổ chức và công ty lớn

trên thế giới đã áp dụng kỹ thuật khai phá dữ liệu vào các hoạt động sản xuất

kinh doanh của mình và thu được những lợi ích to lớn

Mục đích nghiên cứu của đề tài là tìm hiểu về các kỹ thuật khai phá dữ

liệu; các vấn đề liên quan đến khai phá luật kết hợp nhằm phát hiện và đưa ra

các mối liên hệ giữa các giá trị dữ liệu trong CSDL và áp dụng chúng vào bài

toán quản lý trang thiết bị đồ dùng của trường THPT Chu Văn An – Tỉnh

Thái Nguyên

Mục tiêu nghiên cứu của đề tài:

- Tổng kết các kiến thức cơ bản nhất liên quan đến phát hiện luật kết

hợp và tìm kiếm tri thức từ dữ liệu

- Dựa trên lý thuyết đã tổng kết được, đi sâu vào tìm hiểu, nghiên cứu phương pháp luật kết hợp và làm một chương trình thử nghiệm dựa trên thuật toán Apriori

Ý nghĩa khoa học của đề tài:

- Đây là phương pháp được nhiều nhà khoa học nghiên cứu và đã có đóng góp trong thực tiễn

- Có thể coi đề tài là một tài liệu tham khảo khá đầy đủ, rõ ràng về các kiến thức cơ bản trong phương pháp phát hiện luật kết hợp

Phương pháp nghiên cứu:

- Lập kế hoạch, lên qui trình, tiến độ thực hiện

- Tham khảo nhiều tài liệu có liên quan, tham khảo ý kiến các chuyên gia trong lĩnh vực nghiên cứu

Phạm vi nghiên cứu:

Các kiến thức cơ bản nhất về phương pháp phát hiện luật kết hợp trên cơ sở làm luận văn thạc sỹ

Các kết quả nghiên cứu đạt được:

- Tổng kết các kiến thức cơ bản nhất của phương pháp khai phá luật kết hợp

- Luận văn có thể trở thành một tài liệu tham khảo cho những người muốn tìm hiểu về khai phá dữ liệu và phương pháp khai phá luật kết hợp

- Xây dựng một phần mềm thử nghiệm dựa trên thuật toán Apriori Luận văn bao gồm 4 chương, với các nội dung:

Chương 1: Trình bày tổng quan về khám phá tri thức và khai phá dữ liệu, trong đó có đề cập đến khái niệm tri thức, dữ liệu, quá trình khám phá tri thức, nhiệm vụ và các kỹ thuật khám phá tri thức

Trang 4

Chương 2: Trình bày về luật kết hợp, trong đó trình bày về các khái niệm,

định nghĩa, tính chất của luật kết hợp

Chương 3: Trình bày một số kỹ thuật khai thác luật kết hợp

Chương 4: Cài đặt chương trình tìm luật kết hợp, ứng dụng trong quản lý

trang thiết bị, đồ dùng của trường THPT Chu Văn An – Tỉnh Thái Nguyên

Luận văn này đã được hoàn thành trong khoảng thời gian không dài

Tuy nhiên, đã đạt được một số kết quả tốt, tôi đang nghiên cứu để hoàn thiện

và đưa chương trình trong luận văn vào ứng dụng thực tiễn quản lý trang thiết

bị của trường THPT Chu Văn An – Tỉnh Thái Nguyên, rất mong nhận được

sự góp ý của các thầy cô, đồng nghiệp và bạn bè để luận văn và chương trình

được hoàn thiện hơn

Chương 1 TỔNG QUAN VỀ KHÁM PHÁ TRI THỨC VÀ KHAI PHÁ DỮ LIỆU 1.1 Phát hiện tri thức và khai phá dữ liệu

Trong thời đại bùng nổ công nghệ thông tin, các công nghệ lưu trữ dữ liệu ngày càng phát triển tạo điều kiện cho các đơn vị thu thập dữ liệu tốt hơn Đặc biệt trong lĩnh vực kinh doanh, các doanh nghiệp đã nhận thức được tầm quan trọng của việc nắm bắt và xử lý thông tin, nhằm giúp các chủ doanh nghiệp trong việc vạch ra các chiến lược kinh doanh kịp thời mang lại những lợi nhuận to lớn cho doanh nghiệp của mình Tất cả lí do đó khiến cho các cơ quan, đơn vị và các doanh nghiệp đã tạo ra một lượng dữ liệu khổng lồ cỡ Gigabyte thậm chí là Terabyte cho riêng mình

Khi lưu trữ các dữ liệu khổng lồ như vậy thì chúng ta thấy rằng chắc chắn chúng phải chứa những giá trị nhất định nào đó Tuy nhiên, theo thống

kê thì chỉ có một lượng nhỏ của những dữ liệu này (khoảng từ 5% đến 10%)

là luôn được phân tích, số còn lại họ không biết sẽ phải làm gì hoặc có thể làm gì với chúng nhưng họ vẫn tiếp tục thu thập rất tốn kém với ý nghĩ lo sợ rằng sẽ có cái gì đó quan trọng đã bị bỏ qua sau này có lúc cần đến nó Mặt khác, trong môi trường cạnh tranh, người ta ngày càng cần có nhiều thông tin với tốc độ nhanh để trợ giúp việc ra quyết định và ngày càng có nhiều câu hỏi mang tính chất định tính cần phải trả lời dựa trên một khối lượng dữ liệu khổng lồ đã có Với những lý do như vậy, các phương pháp quản trị và khai thác cơ sở dữ liệu truyền thống ngày càng không đáp ứng được thực tế đã làm phát triển một khuynh hướng kỹ thuật mới đó là Kỹ thuật phát hiện tri thức và khai phá dữ liệu (KDD - Knowledge Discovery and Data Mining)

Thông thường chúng ta coi dữ liệu như một dãy các bit, hoặc các số và các ký hiệu, hoặc các “đối tượng” với một ý nghĩa nào đó khi được gửi cho một chương trình dưới một dạng nhất định Chúng ta sử dụng các bit để đo

Trang 5

lường các thông tin và xem nó như là các dữ liệu đã được lọc bỏ các dư thừa,

được rút gọn tới mức tối thiểu để đặc trưng một cách cơ bản cho dữ liệu

Chúng ta có thể xem tri thức như là các thông tin tích hợp, bao gồm các sự

kiện và các mối quan hệ giữa chúng Các mối quan hệ này có thể được hiểu

ra, có thể được phát hiện, hoặc có thể được học Nói cách khác, tri thức có thể

được coi là dữ liệu có độ trừu tượng và tổ chức cao

Phát hiện tri thức trong các cơ sở dữ liệu là một qui trình nhận biết các

mẫu hoặc các mô hình trong dữ liệu với các tính năng: hợp thức, mới, khả ích,

và có thể hiểu được Còn khai thác dữ liệu là một bước trong qui trình phát

hiện tri thức gồm có các thuật toán khai thác dữ liệu chuyên dùng dưới một số

qui định về hiệu quả tính toán chấp nhận được để tìm ra các mẫu hoặc các mô

hình trong dữ liệu Nói một cách khác, mục đích của phát hiện tri thức và khai

phá dữ liệu chính là tìm ra các mẫu và/hoặc các mô hình đang tồn tại trong

các cơ sở dữ liệu nhưng vẫn còn bị che khuất bởi hàng “núi” dữ liệu

Nhiều người coi khai phá dữ liệu và khám phá tri thức trong cơ sở dữ

liệu là như nhau Tuy nhiên trên thực tế, khai phá dữ liệu chỉ là một bước thiết

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

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

Quá trình phát hiện tri thức có thể chia thành các bước như sau:

- Làm sạch dữ liệu (Data cleaning): Loại bỏ dữ liệu nhiễu hoặc dữ liệu

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

- Khai phá dữ liệu (Data mining): Các kỹ thuật được áp dụng để trích xuất thông tin có ích hoặc các mẫu điển hình trong dữ liệu

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

- Trình diễn dữ liệu (Knowledge Presentation): Biểu diễn những tri thức khai phá được cho người sử dụng

Hình 1.1 Quá trình khám phá tri thức từ cơ sở dữ liệu

Hình 1.1 mô tả 5 giai đoạn trong quá trình khám phá tri thức từ cơ sở dữ liệu Mặc dù có 5 giai đoạn như trên xong quá trình khám phá tri thức từ cơ sở

dữ liệu là một quá trình tương tác và lặp di lặp lại theo chu trình liên tục kiểu xoáy trôn ốc, trong đó lần lặp sau hoàn chỉnh hơn lần lặp trước Ngoài ra, giai đoạn sau lại dựa trên kết quả thu được của giai đoạn trước theo kiểu thác nước Đây là một quá trình biện chứng mang tính chất khoa học của lĩnh vực phát hiện tri thức và là phương pháp luận trong việc xây dựng các hệ thống phát hiện tri thức

Trang 6

các cơ sở dữ liệu được chuyên môn hóa và phân chia theo các lĩnh vực khác

nhau như sản phẩm, kinh doanh, tài chính, … Với mỗi tri thức phát hiện được

có thể có giá trị trong lĩnh vực này nhưng lại không mang nhiều ý nghĩa đối

với một lĩnh vực khác Vì vậy mà việc xác định lĩnh vực và định nghĩa bài

toán giúp định hướng cho giai đoạn tiếp theo thu thập và tiền xử lý dữ liệu

1.2.2.Thu thập và tiền xử lý dữ liệu

Các cơ sở dữ liệu thu được thường chứa rất nhiều thuộc tính nhưng lại

không đầy đủ, không thuần nhất, có nhiều lỗi và các giá trị đặc biệt Vì vậy,

giai đoạn thu thập và tiền xử lý dữ liệu trở nên rất quan trọng trong quá trình

phát hiện tri thức từ cơ sở dữ liệu Có thể nói rằng giai đoạn này chiếm từ

70% đến 80% giá thành trong toàn bộ bài toán

Người ta chia giai đoạn thu thập và tiền xử lý dữ liệu thành các công

đoạn như: lựa chọn dữ liệu, làm sạch, làm giàu, mã hóa dữ liệu Các công

đoạn được thực hhiện theo trình tự đưa ra được một cơ sở dữ liệu thích hợp

cho các giai đoạn sau Tuy nhiên, tùy từng dữ liệu cụ thể mà quá trình trên

được điều chỉnh cho phù hợp vì người ta đưa ra một phương pháp cho mọi

loại dữ liệu

a Chọn lọc dữ liệu: Đây là bước chọn lọc các dữ liệu có liên quan

trong các nguồn dữ liệu khác nhau Các thông tin được chọn lọc sao cho có

chứa nhiều thông tin liên quan tới lĩnh vực cần phát hiện tri thức đã xác định

trong giai đoạn xác định vấn đề

b Làm sạch dữ liệu:Dữ liệu thực tế, đặc biệt dữ liệu lấy từ nhiều nguồn

khác nhau thường không đồng nhất Do đó cần có biện pháp xử lý để đưa về

một cơ sở dữ liệu thống nhất phục vụ cho khai thác Nhiệm vụ làm sạch dữ

liệu thường bao gồm:

- Điều hòa dữ liệu: Công việc này nhằm giảm bớt tính không nhất quán

do dữ liệu lấy từ nhiều nguồn khác nhau Phương pháp thông thường là

khử các trường hợp trùng lặp dữ liệu và thống nhất các ký hiệu Chẳng hạn, một khách hàng có thể có nhiều bản ghi do việc nhập sai tên hoặc

do quá trình thay đổi một số thông tin cá nhân gây ra và tạo sự lầm tưởng có nhiều khách hàng khác nhau

- Xử lý các giá trị khuyết: Tính không đầy đủ của dữ liệu có thể gây ra hiện tượng dữ liệu chứa các giá trị khuyết Đây là hiện tượng khá phổ biến Thông thường, người ta có thể lựa chọn các phương pháp khác nhau để thực hiện việc xử lý các giá trị khuyết như: bỏ qua các bộ có giá trị khuyết, điểm bổ sung bằng tay, dùng một hằng chung để điền vào giá trị khuyết, dùng giá trị trung bình của mọi bản ghi cùng lớp hoặc dùng các giá trị mà tần suất xuất hiện lớn

- Xử lý nhiễu và các ngoại lệ: Thông thường, nhiễu dữ liệu có thể là nhiễu ngẫu nhiên hoặc các giá trị bất thường Để làm sạch nhiễu, người

ta có thể sử dụng phương pháp làm trơn nhiễu hoặc dùng các giải thuật phát hiện ra các ngoại lệ để xử lý

c Làm giàu dữ liệu: Việc thu thập dữ liệu đôi khi không đảm bảo tính

đầy đủ của dữ liệu Một số thông tin quan trọng có thể thiếu hoặc không đầy

đủ Chẳng hạn, dữ liệu về khách hàng lấy từ một nguồn bên ngoài không có hoặc không đầy đủ thông tin về thu nhập Nếu thông tin về thu nhập là quan trọng trong quá trình khai thác dữ liệu để phân tích hành vi khách hàng thì rõ ràng là ta không thể chấp nhận đưa các dữ liệu khuyết thiếu vào được Quá trình làm giàu bao cũng bao gồm việc tích hợp và chuyển đổi dữ liệu Các dữ liệu từ nhiều nguồn khác nhau được tích hợp thành một kho thống nhất Các khuôn dạng khác nhau của dữ liệu cũng được quy đổi, tính toán lại để đưa về một kiểu thống nhất, tiện cho quá trình phân tích Đôi khi, một số thuộc tính mới có thể được xây dựng dựa trên các thuộc tính cũ

Trang 7

d Mã hóa: Các phương pháp dùng để chọn lọc, làm sạch, làm giàu dữ

liệu sẽ được mã hóa dưới dạng các thủ tục, chương trình hay tiện ích nhằm tự

động hóa việc kết xuất, biến đổi và di chuyển dữ liệu Các hệ thống con đó có

thể được thực thi định kỳ làm tươi dữ liệu phục vụ cho việc phân tích

1.2.3 Khai thác dữ liệu

Giai đoạn khai thác dữ liệu được bắt đầu sau khi dữ liệu đã được thu

thập và tiến hành xử lý Trong giai đoạn này, công việc chủ yếu là xác định

được bài toán khai thác dữ liệu, tiến hành lựa chọn phương pháp khai thác

phù hợp với dữ liệu có được và tách ra các tri thức cần thiết

Thông thường, các bài toán khai thác dữ liệu bao gồm: các bài toán

mang tính chất mô tả - đưa ra những tính chất chung nhất của các dữ liệu, các

bài toán khai thác dự báo – bao gồm cả việc thực hiện các suy diễn trên dữ

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

thác dữ liệu cho phù hợp

1.2.4 Minh họa và đánh giá

Các tri thức phát hiện từ cơ sở dữ liệu cần được tổng hợp dưới dạng các

báo cáo phục vụ cho các mục đích hỗ trợ quyết định khác nhau

Do nhiều phương pháp khai thác có thể được áp dụng nên các kết quả

có mức độ tốt/xấu khác nhau Việc đánh giá các kết quả thu được là cần thiết,

giúp tạo cơ sở cho những quyết định chiến lược Thông thường chúng được

tổng hợp, so sánh bằng các biểu đồ và được kiểm nghiệm, tin học hóa Công

việc này thường là của các chuyên gia, các nhà phân tích và quyết định

1.2.5 Đƣa kết quả vào thực tế

Các kết quả của quá trình phát hiện tri thức có thể được đưa vào ứng

dụng trong những lĩnh vực khác nhau Do các kết quả có thể là các dự báo

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 hóa quá trình này

Quá trình phát hiện tri thức có thể được tiến hành theo các bước trên Ngoài ra trong quá trình khai thác người ta có thể thực hiện các cải tiến, nâng cấp cho phù hợp

1.3 Khai phá dữ liệu 1.3.1 Các quan niệm về khai phá dữ liệu

Sau đây là một số quan niệm về khai phá dữ liệu:

Khai phá dữ liệu là tập hợp các thuật toán nhằm chiết xuất những thông tin có ích từ kho dữ liệu khổng lồ

Khai phá dữ liệu được định nghĩa như một quá trình phát hiện mẫu trong dữ liệu Quá trình này có thể là tự động hay bán tự động, song phần nhiều là bán tự động Các mẫu được phát hiện thường hữu ích theo nghĩa: các mẫu mang lại cho người sử dụng một lợi thế nào đó, thường là lợi thế về kinh

tế

Khai phá dữ liệu giống như quá trình tìm ra và mô tả mẫu dữ liệu Dữ liệu như là một tập hợp của các vật hay sự kiện, còn đầu ra của quá trình khai phá dữ liệu như là những dự báo của các vật hay sự kiện mới

Khai phá dữ liệu được áp dụng trong các cơ sở dữ liệu quan hệ, giao dịch, cơ sở dữ liệu không gian, cũng như các kho dữ liệu phi cấu trúc, mà điển hình là World Wide Web

Khám phá tri thức là quá trình nhận biết các mẫu hoặc các mô hình trong dữ liệu với các tính chất: Đúng đắn, mới, khả ích và có thể hiểu được Khai phá dữ liệu là một bước trong quá trình khám phá tri thức bao gồm các thuật toán khai phá dữ liệu chuyên dùng dưới một số quy định về hiệu quả tính toán chấp nhận được để tìm ra các mẫu và các mô hình trong dữ liệu Như vậy, mục đích của khám phá tri thức và khai phá dữ liệu là tìm ra các mẫu hoặc mô hình đang tồn tại trong các cơ sở dữ liệu nhưng vẫn còn bị khuất bởi số lượng dữ liệu khổng lồ

Trang 8

1.3.2 Nhiệm vụ của khai phá dữ liệu

Các bài toán liên quan đến khai phá dữ liệu về bản chất là các bài toán

thống kê Điểm khác biệt giữa các kỹ thuật khai phá dữ liệu và các công cụ

phục vụ tính toán thống kê mà chúng ta đã biết là ở khối lượng cần tính toán

Một khi dữ liệu đã trở nên khổng lồ thì những khâu như: thu thập dữ liệu, tiền

xử lý và xử lý dữ liệu đều đòi hỏi phải được tự động hóa Tuy nhiên ở công

đoạn cuối cùng, việc phân tích kết quả sau khi đã khai phá dữ liệu vẫn luôn là

công việc của con người

Do là một lĩnh vực đa ngành, khai phá dữ liệu thu hút các lĩnh vực khoa

học khác như trí tuệ nhân tạo, cơ sở dữ liệu, hiển thị dữ liệu, marketing, toán

học, vận trù học, tin sinh học, nhận dạng mẫu, tính toán thống kê …

Điều mà khai phá dữ liệu có thể làm rất tốt là phát hiện ra những giả

thuyết mạnh trước khi sử dụng những công cụ tính toán thống kê Mô hình dự

báo sử dụng kỹ thuật phân cụm (Crustering) để chia nhóm các sự vật, sự kiện

sau đó rút ra các luật nhằm tìm ra đặc trưng cho mỗi nhóm và cuối cùng đề

nghị một mô hình Ví dụ, những bạn đọc đăng ký dài hạn của một tạp chí có

thể phân nhóm dựa theo nhiều tiêu chí khác nhau (lứa tuổi, giới tính, thu

nhập…), sau đó tạp chí căn cứ vào đặc trưng riêng của từng nhóm để đề ra

mức phí thu trong năm sao cho phù hợp nhất

Chúng ta thấy, những nhiệm vụ cơ bản nhất của khai phá dữ liệu là:

 Phân cụm, phân loại, phân nhóm, phân lớp Nhiệm vụ là trả lời câu hỏi:

Một dữ liệu mới thu thập sẽ thuộc về nhóm nào? Quá trình này thường

được thực hiện một cách tự động

 Khai phá luật kết hợp Nhiệm vụ là phát hiện ra những mối quan hệ

giống nhâu của các bản ghi giao dịch Luật kết hợp X=>Y có dạng tổng

quát là: Nếu một giao dịch đã sở hữu các tính chất X thì đồng thời nó

cũng sở hữu các tính chất Y, ở một mức độ nào đó Khai phá luật kết

hợp được hiểu theo nghĩa: Biết trước các tính chât X, vậy các tính chất

Y là những tính chất nào?

 Lập mô hình dự báo, bao gồm hai nhiệm vụ: Hoặc là phân nhóm dư liệu vào một hay nhiều lớp dữ liệu đã xác định từ trước, hoặc là sử dụng các trường đã cho trong một cơ sở dữ liệu để dự báo sự xuất hiện (hoặc không xuất hiện) của các trường hợp khác

 Phân tích đối tượng ngoài cuộc: Một cơ sở dữ liệu có thể có thể chứa các đối tượng không tuân theo mô hình dữ liệu Các đối tượng dữ liệu như vậy gọi là các đối tượng ngoài cuộc Hầu hết các phương pháp khai phá dữ liệu đều coi các đối tượng ngoài cuộc là nhiễu và loại bỏ chúng Tuy nhiên trong một số ứng dụng, chẳng hạn như phát hiện nhiễu thì sự kiện hiếm khi sảy ra lại được chú ý hơn những gì thường xuyên gặp phải Sự phân tích dữ liệu ngoài cuộc được coi như là phai phá các đối tượng ngoài cuộc Một số phương pháp được ứng dụng để phát hiện đối tượng ngoài cuộc: Sử dụng các hình thức kiểm tra mang tính thống kê trên cơ sở một phân phối dữ liệu hay một mô hình xác suất cho dữ liệu, dùng các độ đo khoảng cách mà theo đó các đối tượng có một khoảng cách đáng kể đến cụm bất kỳ khác được coi là đối tượng ngoài cuộc, dùng các phương pháp dựa trên độ lệch để kiểm tra sự khác nhau trong những đặc trưng chính của các nhóm đối tượng

 Phân tích sự tiến hóa: Phân tích sự tiến hóa thực hiện việc mô tả và mô hình hóa các quy luật hay khuynh hướng của những đối tượng mà ứng

xử của chúng thay đổi theo thời gian Phân tích sự tiến hóa có thể bao gồm cả đặc trưng hóa, phân biệt, tìm luật kết hợp, phân lớp hay phân cụm dữ liệu liên quan đến thời gian, phân tích dữ liệu theo chuỗi thời gian, so sánh mẫu theo chu kỳ và phân tích dữ liệu dựa trên tính tương

tự

Trang 9

1.3.3 Triển khai việc khai phá dữ liệu

Nhóm các tác giả Cabena et al đề nghị triển khai quá trình khai phá

dữ liệu theo 5 bước:

Bước 1: Xác định rõ mục tiêu thương mại cần khai phá

Bước 2: Chuẩn bị dữ liệu (Thu thập, tiền xử lý, chuyển đổi khuôn dạng dữ

liệu nếu thấy cần thiết)

Bước 3: Khai phá dữ liệu (Chọn thuật toán thích hợp)

Bước 4: Phân tích kết quả thu được (Xem có gì thú vị không?)

Bước 5: Tiêu hóa các tri thức thu lượm được (Nhằm đề ra kế hoạch khai

thác các thông tin mới)

Một tác giả khác cũng nói tới quy trình 5 bước của khai phá dữ liệu, với

quan điểm gần giống như trên:

1 Chiết xuất, biến đổi và nạp dữ liệu vào hệ thống kho dữ liệu

2 Lưu trữ và quản trị dữ liệu trong một cơ sở dữ liệu nhiều chiều

3 Xác định mục tiêu cần khai phá (Sử dụng các công cụ phân tích về mặy

tác nghiệp)

4 Sử dụng các phần mềm phân tích dữ liệu để khai phá dữ liệu

5 Thể hiện kết quả khai phá dưới khuôn dạng hữu ích hay bảng biểu,đồ thị

1.3.4 Một số ứng dụng khai phá dữ liệu

Ở thập kỷ 90 của thế kỷ XX, người ta coi khai phá dữ liệu là quá trình

phân tích cơ sở dữ liệu nhằm phát hiện ra các thông tin mới và giá trị, thường

thể hiện dưới dạng các mối quan hệ chưa biết đến giữa các biến số Những

phát hiện này được sử dụng nhằm tăng thêm tính hiệu quả của doanh nghiệp

trong khi phải cạnh tranh trên thương trường Nhờ phân tích các dữ liệu liên

quan đến khách hàng, doanh nghiệp có khả năng dự báo trước một số hành vi

ứng xử của khách hàng

Những năm gần đây, người ta quan niệm khai phá dữ liệu (Đôi khi còn dùng thuật ngữ khám phá dữ liệu hay phát hiện tri thức) là một quá trình phân tích dữ liệu từ các viễn cảnh khác nhau và rút ra các thông tin bổ ích – những thông tin có thể dùng để tăng lợi nhuận, cắt giảm chi phí hoặc cả hai mục đích Phần mềm khai phá dữ liệu là một công cụ phân tích dùng để phân tích

dữ liệu Nó cho phép người sử dụng phân tích dữ liệu theo nhiều góc nhìn khác nhau, phân loại dữ liệu thao những quan điểm riêng biệt và tổng kết các mối quan hệ đã được bóc tách Xét về khía cạnh kỹ thuật, khai phá dữ liệu là một quá trình tìm kiếm các mối tương quan giữa các mẫu ẩn chứa trong hàng chục trường dữ liệu của một cơ sở dữ liệu quan hệ cỡ lớn

Hiện nay, kỹ thuật khai phá dữ liệu đang được áp dụng một cách rộng rãi trong rất nhiều lĩnh vực kinh doanh và đời sống khác nhau như:

- Thương mại: Phân tích dữ liệu bán hàng và thi trường, phân tích đầu tư, quyết định cho vay, phát hiện gian lận, …

- Thông tin sản xuất: Điều khiển và lập kế hoạch, hệ thống quản lý, phân tích kết quả thử nghiệm, …

- Thông tin khoa học: dự báo thời tiết, CSDL sinh học: Ngân hàng gen, … khoa học địa lý: dự báo động đất, …

- Trong y tế, marketing, ngân hàng, viễn thông, du lịch, internet…

Và những gì thu được thật đáng giá Điều đó được chứng minh bằng thực tế: Chẩn đoán bệnh trong y tế dựa trên kết quả xét nghiệm đã giúp cho bảo hiểm y tế phát hiện ra nhiều trường hợp xét nghiệm không hợp lý, tiết kiệm được nhiều kinh phí mỗi năm; trong dịch vụ viễn thông đã phát hiện ra những nhóm người thường xuyên gọi cho nhau bằng mobile và thu lợi hàng triệu USD; IBM Suft-Aid đã áp dụng khai phá dữ liệu vào phân tích các lần đăng nhập Web vào các trang liên quan đến thị trường để phát hiện sở thích khách hàng, từ đó đánh giá hiệu quả của việc tiếp thị qua Web và cải thiện hoạt động

Trang 10

của các Website; trang Web mua bán qua mạng Amazon cũng tăng doanh thu

nhờ áp dụng khai phá dữ liệu trong việc phân tích sở thích mua bán của khách

hàng

1.3.5 Các kỹ thuật khai phá dữ liệu

Thường được chia thành hai nhóm chính:

- Kỹ thuật khai phá dữ liệu mô tả: Có nhiệm vụ mô tả về các tính chất

hoặc các đặc tính chung của dữ liệu tring cơ sở dữ liệu hiện có Các kỹ

thuật này gồm có: Phân cụm (clustering), tóm tắt (summerization), trực

quan hóa (visualiztation), phân tích sự phát triển và độ lệch (evolution

and deviation analyst), phân tích luật kết hợp (association rules) …

- Kỹ thuật khai phá dữ liệu dự đoán: Có nhiệm vụ đưa ra các dự đoán

dựa vào các suy diễn trên dữ liệu hiện thời Các kỹ thuật này gồm có:

Phân lớp (classification), hồi quy (regession)…

Tuy nhiên, chỉ có một số phương pháp thông dụng nhất là: Phân cụm dữ

liệu, phân lớp dữ liệu, phương pháp hồi quy và khai phá luật kết hợp

a Phân cụm dữ liệu:

Mục tiêu chính của phương pháp phân cụm dữ liệu là nhóm các đối

tượng tương tự nhau trong tập dữ liệu vào các cụm sao cho các đối tượng

thuộc cùng một lớp là tương đồng còn các đối tượng thuộc các cụm khác nhau

sẽ không tương đồng Phân cụm dữ liệu là một ví dụ của phương pháp học

không có thầy Không giống như phân lớp dữ liệu, phân cụm dữ liệu không

đòi hỏi phải định nghĩa trước các mẫu dữ liệu huấn luyện Vì thế có thể coi

phân cụm dữ liệu là một cách học bằng quan sát (learning by observation),

trong khi phân lớp dữ liệu là học bằng ví dụ (learning by example) Trong

phương pháp này bạn không thể biết kết quả các cụm thu được sẽ thế nào khi

bắy đầu quá trình Vì vậy, thông thường cần có một chuyên gia về lĩnh vực đó

để đánh giá các cụm thu được Phân cụm dữ liệu được sử dụng nhiều trong

các ứng dụng về phân đoạn thị trường, phan đoạn khách hàng, nhận dạng mẫu, phan loại trang Web… Ngoài ra phân cụm dữ liệu còn có thể được sử dụng như một bước tiền xử lý cho các thuật toán khai phá dữ liệu khác

b Phân lớp dữ liệu:

Mục tiêu của phương pháp phân lớp dữ liệu là dự đoán nhãn lớp cho các mẫu dữ liệu Quá trình phân lớp dữ liệu thường gồm hai bước: Xây dựng

mô hình và sử dụng mô hình để phân lớp dữ liệu

- Bước 1: Một mô hình sẽ được xây dựng dựa trên việc phân tích các mẫu dữ liệu sẵn có Mỗi mẫu tương ứng với một lớp, được quyết định bởi một thuộc tính gọi là thuộc tính lớp Các lớp dữ liệu này còn được gọi là lớp dữ liệu huấn luyện (training data set) Các nhãn lớp của tập

dữ liệu huấn luyện đều phải được xác định trước khi xây dựng mô hình

- Bước 2: Sử dụng mô hình để phân lớp dữ liệu Trước hết, chúng ta phải tính độ chính xác của mô hình Nếu độ chính xác là chấp nhận được,

mô hình sẽ được sử dụng để dự đoán nhãn lớp cho các mẫu dữ liệu khác trong tương lai

Ví dụ về việc sử dụng phương pháp phân lớp trong khai phá dữ liệu là ứng dụng phân lớp các xu hướng trong thị trường tài chính và ứng dụng tự động xác định các đối tượng đáng quan tâm trong cơ sở dữ liệu ảnh lớn

c Phương pháp hồi quy:

Phương pháp hồi quy khác với phân lớp dữ liệu ở chỗ: Hồi quy dùng để

dự đoán về các giá trị liên tục còn phân lớp dữ liệu chỉ dùng để dự đoán về các giá trị rời rạc

Hồi quy là một hàm học ánh xạ mục 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, chẳng hạn như khả năng đánh giá tử vong của bệnh nhân khi biết các kết quả

Trang 11

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 chi tiêu quảng cáo

d Khai phá luật kết hợp:

Mục tiêu của phương pháp này là phát hiện và đưa ra các mối liên hệ

giữa các giá trị dữ liệu trong cơ sở dữ liệu Mẫu đầu ra của giải thuật khai phá

dữ liệu là luật kết hợp tìm được Chẳng hạn, phân tích cơ sở dữ liệu bán hàng

nhân được thông tin về những khách hàng mua máy tính 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: “Máy tính=>Phần mềm quản lý tài chính” (Độ hỗ trợ: 2%, độ tin

cậy: 60%)

Độ hỗ trợ và độ tin cậy là hai độ đo của sự đáng quan tâm của luật

Chúng phản ánh sự hữu ích vá sự chắc chắn của luật đã khám phá Độ hỗ trợ

2% có nghĩa là 2% của tất cả các vụ đang 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 60%

có nghĩa là: 60% các khách hàng mua máy tính cũng mua phần mềm Khai

phá luật kết hợp được thực hiện qua hai bước:

Bước 1: Tìm tất cả các tập mục phổ biến, một tập mục phổ biến được

xác định qua tính hỗ trợ và thỏa mãn độ hỗ trợ cực tiểu

Bước 2: Sinh ra các luật kết hợp mạnh từ tập mục phổ biến, các luật

phải thỏa mãn độ hỗ trợ cực tiểu và độ tin cậy cực tiểu

Phương pháp này được sử dụng rất hiệu quả trong các lĩnh vực như

maketing có chủ đích, phân tích quyết định, quản lý kinh doanh, phân tích giá

thị trường …

1.3.6 Kiến trúc của hệ thống khai phá dữ liệu

Như đã trình bày ở trên, khai phá dữ liệu là một giai đoạn trong quá

trình phát hiện tri thức từ số lượng lớn dữ liệu lưu trữ trong các cơ sở dữ liệu,

kho dữ liệu hoặc các nơi lưu trữ khác Bước này có thể tương tác lẫn nhau

giữa người sử dụng hoặc cơ sở tri thức, những mẫu đáng quan tâm được đưa cho người dùng hoặc lưu trữ như là tri thức mới trong cơ sở tri thức

Hình 1.2 Kiến trúc của hệ thống khai phá dữ liệu

Kiến trúc của hệ thống khai phá dữ liệu (Hình 1.2) có các thành phần như sau:

- Cơ sở dữ liệu, kho dữ liệu: Đó là một hoặc tuyển tập các cơ sở dữ liệu, kho dữ liệu … Các kỹ thuật làm sạch dữ liệu, tích hợp, lọc dữ liệu có thể thực hiện trên dữ liệu

- Cơ sở dữ liệu hoặc kho dữ liệu phục vụ: Là kết quả lấy dữ liệu có liên

quan trên cơ sở khai phá dữ liệu của người dùng

- Cơ sở tri thức: Đó là lĩnh vực tri thức được sử dụng để hướng dẫn việc

tìm hoặc đánh giá các mẫu kết quả thu được

- Mô tả khai phá dữ liệu: Bao gồm tập các modul chức năng để thực hiện

các nhiệm vụ mô tả đặc điển, kết hợp, phân lớp, phân cụm dữ liệu…

- Đánh giá mẫu: Thành phần này sử dụng các độ đo và tương tác với

modul khai phá dữ liệu để tập trung vào tìm các mẫu quan tâm

Giao diện người dùng

Đánh giá mẫu

Mô tả khai phá dữ liệu

CSDL hay kho dữ liệu phục vụ

Cơ sở dữ liệu Kho dữ liệu

Cơ sở tri thức

Trang 12

- Giao diện người dùng: Đây là modul giữa người dùng và hệ thống khai

phá dữ liệu Cho phép người dùng tương tác với hệ thống trên cơ sở

những truy vấn hay tác vụ, cung cấp thông tin cho việc tìm kiếm

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

Các thuật toán khai phá dữ liệu thường được mô tả như những chương

trình hoạt động trực tiếp trên tệp dữ liệu Với phương pháp máy học và thống

kê trước đây, thường thì bước đầu tiên các thuật toán nạp toàn bộ tệp dữ liệu

vào bộ nhớ Khi chuyển sang các ứng dung công nghiệp liên quan đến việc

khai thác các kho dữ liệu lớn, mô hình này không thể đáp ứng bởi vì không

thể nạp hết dữ liệu vào bộ nhớ mà còn khó có thể chiết xuất ra những tệp đơn

giản để phân tích

Quá trình khai phá dữ liệu (Hình 1.3) bắt đầu bằng cách xác định chính

xác vấn đề cần giải quyết Tiếp đến là xác định dữ liệu liên quan dùng để xây

dựng giải pháp Bước tiếp theo là thu thập các dữ liệu liên quan và xử lý

chúng thành dạng sao cho thuật toán khai phá có thể hiểu được

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

Thuật toán khai phá dữ liệu

Dữ liệu trực tiếp

Mẫu

Sau đó chọn thuật toán khai phá dữ liệu thích hợp và thực hiện việc khai phá dữ liệu để tìm được các mẫu có ý nghĩa dưới dạng biểu diễn tương ứng (luật kết hợp, cây quyết định …)

Kết quả thu được mẫu phải có đặc điểm mới Độ mới có thể được đối sánh tương ứng với độ thay đổi trong dữ liệu hoặc bảng tri thức Thường thì

độ đo mới của mẫu được đánh giá bằng một hàm logic hoặc hàm độ đo mới Ngoài ra mẫu còn có khả năng sử dụng tiềm ẩn

Với thuật toán và nhiệm vụ khai phá dữ liệu khác nhau thì dạng mẫu chiết xuất được cũng rất đa dạng

1.3.8 Những khó khăn trong khai phá dữ liệu

Việc nghiên cứu và ứng dụng kỹ thuật khai phá dữ liệu gặp nhiều khó khăn, nhưng không phải là không giải quyết được mà chúng cần được tìm hiểu để có thể phát triển tốt hơn Những khó khăn phát sinh trong khai phá dữ liệu chính là dữ liệu trong thực tế thường động, không đầy đủ, lớn và bị nhiễu Trong trường hợp khác, người ta không biết cơ sở dữ liệu có chứa thông tin cần thiết cho việc khai thác hay không và làm thế nào để giải quyết sự dư thừa thông tin không thích hợp này

- Dữ liệu lớn: Hiện nay các cơ sở dữ liệu với hàng trăm trường và bảng, hàng triệu bản ghi với kích thước rất lớn, có thể lên đến GB Các phương pháp giải quyết hiện nay là đưa ra một ngưỡng cho cơ sở dữ liệu, lấy mẫu, các phương pháp tính xấp xỉ, xử lí song song

- Kích thước lớn: không chỉ có số lượng bản ghi mà số các trường trong

cơ sở dữ liệu cũng nhiều Vì vậy mà kích thước của bài toán trở nên lớn làm tăng không gian tìm kiếm Hơn nữa, nó cũng làm tăng khả năng một thuật toán khai phá dữ liệu có thể tìm thấy các mẫu giả Biện pháp khắc phục là làm giảm kích thước tác động của bài toán và sử dụng các tri thức biết trước để xác định các biến không phù hợp

Trang 13

- Dữ liệu động: Đặc điểm cơ bản của hầu hết các cơ sở dữ liệu là nội

dung của chúng thay đổi liên tục Chẳng hạn như các biến trong cơ sở

dữ liệu của ứng dụng đã cho chũng có thể bị thay đổi, bị xóa hoặc là

tăng lên theo thời gian Dữ liệu có thể thay đổi theo thời gian và việc

khai phá dữ liệu bị ảnh hưởng bởi thời điểm quan sát dữ liệu, do đó có

thể làm cho mẫu khai thác được trước đó mất giá trị Vấn đề này được

giải quyết bằng giải pháp tăng trưởng để nâng cấp các mẫu và coi

những thay đổi như là cơ hội để khai thác bằng cách sử dụng nó để tìm

kiếm các cẫu bị thay đổi

- Các trường dữ liệu không phù hợp: Một đặc điểm quan trọng khác là

tính không thích hợp của dữ liệu – nghĩa là mục dữ liệu trở thành

không thích hợp với trọng tâm hiện tại của việc khai thác Bên cạnh đó,

tính ứng dụng của một thuộc tính đối với một tập con của cơ sở dữ liệu

cũng là một vấn đề đôi khi cũng liên quan dến độ phù hợp

- Các giá trị bị thiếu: Sự có mặt hay vắng mặt của giá trị các thuộc tính

dữ liệu phù hợp có thể ảnh hưởng đến việc khai phá dữ liệu Trong hệ

thống tương tác, sự thiếu vắng dữ liệu quan tọng có thể dẫn tới yêu cầu

cho giá trị của nó hoặc kiểm tra để xác định giá trị của nó Hoặc cũng

có thể sự vắng mặt của dữ liệu được coi như một điều kiện, thuộc tính

bị mất có thể được xem như một giá trị trung gian và gía trị không biết

- Các trường dữ liệu bị thiếu: Một quan sát không đầy đủ cơ sở dữ liệu có

thể làm cho dữ liệu có giá trị bị xem như có lỗi Việc quan sát cơ sở dữ

liệu phải phát hiện được toàn bộ các thuộc tính có thể dùng để thuật

toán khai phá dữ liệu có thể áp dụng để giải quyết bài toán Giả sử ta có

các thuộc tính để phân biệt các tình huống đáng quan tâm Nếu chúng

không làm được điều đó thì có nghĩa là đã có lỗi trong dữ liệu Đây

cũng là vấn đề thường xảy ra trong cơ sở dữ liệu kinh doanh Các thuộc tính quan trọng có thể sẽ bị thiếu dữ liệu không được chuẩn bị

- Quá phù hợp: Khi một thuật toán tim kiếm tham số tốt nhất cho một mô thình nào đó sử dụng một tập dữ liệu hữu hạn, nó có thể sẽ bị tình trạng

“quá độ” dữ liệu (nghĩa là tìm kiếm quá mức cần thiết gây ra hiện tượng chỉ phù hợp với dữ liệu đó mà không có khả năng đáp ứng cho các dữ liệu lạ), làm cho mô hình hoạt động rất kém đối với các dữ liệu thử Các giải pháp khắc phục như đánh giá chéo, thực hiện theo nguyên tắc nào đó hoặc sử dụng các biện pháp thống kê khác

- Khả năng biểu đạt mẫu: Trong rất nhiều ứng dụng, điều quan trọng là những điều khai thác được phải càng dễ hiểu với con người càng tốt Vì vậy, các giải pháp thường bao gồm việc diễn tả dưới dạng đồ họa, xây dựng cấu trúc luật với các đồ thị có hướng, biểu diễn bằng ngôn ngữ tự nhiên và kỹ thuật khác nhằm biểu diễn các tri thức và dữ liệu

- Sự tương tác với người sử dụng các tri thức sẵn có: Rất nhiều công cụ

và phương pháp khai phá dữ liệu không thực sự tương tác với người dùng và không dễ dàng kết hợp cùng với các tri thức đã biết trước đó Việc sử sụng tri thức miền là rất quan trọng trong khai phá dữ liệu Đã

có nhiều biện pháp nhằm khắc phục vấn đề này như sử dụng cơ sở dữ liệu suy diễn để phát hiện tri thức, những tri thức này sau đó được sử dụng để hướng dẫn cho việc tìm kiếm khai phá dữ liệu hoặc sử dụng sự phân bố xác suất dữ liệu trước đó như một dạng mã hóa tri thức có sẵn

Trang 14

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

2.1 Bài toán kinh điển dẫn đến việc khai phá luật kết hợp

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ắc đỡ mất công tìm kiếm

Bài toán này hoàn toàn có thể áp dụng trong các lĩnh vực khác Ví dụ:

- Giỏ hàng = văn bản Mặt hàng = từ Khi đó, những từ hay đi cùng nhau

sẽ giúp ta nhanh chóng tìm ra các lối diễn đạt, hay các khái niệm có

mặt trong văn bản

- Giỏ hàng = văn bản Mặt hàng = câu Khi đó, những văn bản có nhiều

câu giống nhau giúp phát hiện ra sự đạo văn, hay những “website đúp”

(mirror website)

Khai phá luật kết hợp được môt tả như sự tương quan của các sự kiện-

những sự kiện xuất hiện thường xuyên một các đồng thời Nhiệm vụ chính

của khai phá luật kết hợp là phát hiện ra các tập con cùng xuất hiện trong một

khối lượng giao dịch lớn của một cơ sở dữ liệu cho trước Nói cách khác,

thuật toán khai phá luật kết hợp cho phép tạo ra các luật mô tả các sự kiện xảy

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 đầu là đi tìm các sự kiện xảy ra thường xuyên, pha hai là tìm

luật

2.2 Định nghĩa về luật kết hợp Định nghĩa:

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ả

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

Định nghĩa: Độ hỗ trợ Định nghĩa 2.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 T  D 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)

Supp(X)= |{ T D: Y X}|

|D|

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

Định nghĩa 2.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 XY, so với tổng số các bản ghi trong D - Ký hiệu supp(XY)

Supp(XY)= |{ T D: T X Y}|

|D|

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

Trang 15

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)

Định nghĩa: Độ tin cậy

Định nghĩa 2.3: Độ 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 trong D chứa XY 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ó 0  conf(r)  1

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

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

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

Định nghĩa 2.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

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 để sả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) gữa X

và Y Độ tin cậy đo sức nặng 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 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ừ cơ sở dữ liệu chính là việc tìm tất cả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

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

itemset) nếu có supp(X)  minsup, với minsup là ngưỡng độ hỗ trợ cho trước

Trang 16

Định nghĩa 2.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à X’X 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 2.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ớm nhất là MFI Dễ thấy MFI  FCI  FI

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ỏ, hay như người ta thường nói, việc giải bài toán trải qua 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:

conf = sup p( )

sup p( )

ABCD AB

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 patterm) dài 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- itemsets mà chúng quét qua, và do đó không thích hợp với các itemsets 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

Thuật toán 1 – Thuật toán cơ bản:

Ví dụ minh họa:

Xét 4 mặt hàng (tính chất) trong một cửa hàng thực phẩm với CSDL các giao dịch thuộc loại nhỏ, chỉ có 4 giao dịch (giỏ mua hàng), cho trong các bảng sau:

Trang 17

Cho trước 2 ngưỡng  = 40% và  = 60%

Bánh mì, Bơ, Trứng, Sữa {} 0/4 0% Sai

Bảng 2.3 Các luật kết hợp và độ tin cậy của chúng

Agrawal đã chỉ ra việc duyệt các tập hợp các tính chất để tính ra ngưỡng độ hỗ trợ của chúng và đánh giá có vượt ngưỡng  cho trước hay không, tốn rất nhiều thời gian tính toán (độ phức tạp hàm mũ) Còn một khi

đã xác định xong các tập hợp thỏa mãn điều kiện trên (gọi là các tập hợp xuất hiện thường xuyên) thì việc KPLKH đỡ tốn thời gian hơn Agrawal đề nghị một thuật toán như sau

Thuật toán 2- Tìm luật kết hợp khi đã biết các tập hợp thường xuyên):

có nhỏ hơn  hay không

Thực chất, tập hợp S mà ta xét đóng vai trò của tập hợp giao S = X Y,

và do X  (S – X) = , nên coi như Y= S – X

Các thuật toán xoay quanh KPLKH chủ yếu nêu ra các giải pháp để đẩy nhanh việc thực hiện mục 1 của Thuật toán 1 Chương sau ta điểm qua một số thuật toán

2.3 Một số hướng tiếp cận trong khai phá luật kết hợp

Lĩnh vực khai thác luật kết hợp cho đến nay đã được nghiên cứu và phát triển theo nhiều hướng khác nhau Có những đề xuất nhằm cải tiến thuật toán,

có đề xuất tìm kiếm những luật có ý nghĩa hơn v.v… và có một số hướng chính sau đây:

- Luật kết hợp nhị phân (Binary association rule): là hướng nghiên cứu đầu tiên của luật kết hợp Theo dạng luật kết hợp này thì các items chỉ được quan tâm là có hay không xuất hiện trong cơ sở dữ liệu giao tác

Ngày đăng: 05/08/2016, 22:49

HÌNH ẢNH LIÊN QUAN

Hình trong dữ liệu. Nói một cách khác, mục đích của phát hiện tri thức và khai - luận văn thạc sĩ Phương pháp luận kết hợp và ứng dụng
Hình trong dữ liệu. Nói một cách khác, mục đích của phát hiện tri thức và khai (Trang 5)
Hình 1.2 Kiến trúc của hệ thống khai phá dữ liệu - luận văn thạc sĩ Phương pháp luận kết hợp và ứng dụng
Hình 1.2 Kiến trúc của hệ thống khai phá dữ liệu (Trang 11)
Bảng 2.1. Giao dịch mua hàng - luận văn thạc sĩ Phương pháp luận kết hợp và ứng dụng
Bảng 2.1. Giao dịch mua hàng (Trang 16)
Bảng 2.2. Tính độ hỗ trợ cho các tập hợp chứa các mặt hàng - luận văn thạc sĩ Phương pháp luận kết hợp và ứng dụng
Bảng 2.2. Tính độ hỗ trợ cho các tập hợp chứa các mặt hàng (Trang 17)
Bảng 3.2. Ma trận biểu diễn cơ sở dữ liệu - luận văn thạc sĩ Phương pháp luận kết hợp và ứng dụng
Bảng 3.2. Ma trận biểu diễn cơ sở dữ liệu (Trang 23)
Bảng 3.3. Vector biểu diễn nhị phân cho tập 1 thuộc tính - luận văn thạc sĩ Phương pháp luận kết hợp và ứng dụng
Bảng 3.3. Vector biểu diễn nhị phân cho tập 1 thuộc tính (Trang 23)
Bảng 3.7.Các giao tác cơ sở dữ liệu - luận văn thạc sĩ Phương pháp luận kết hợp và ứng dụng
Bảng 3.7. Các giao tác cơ sở dữ liệu (Trang 26)
Hình 3.8. Một cây mẫu thường xuyên - luận văn thạc sĩ Phương pháp luận kết hợp và ứng dụng
Hình 3.8. Một cây mẫu thường xuyên (Trang 26)
Hình 3.9. Quá trình xây dựng FP_Tree - luận văn thạc sĩ Phương pháp luận kết hợp và ứng dụng
Hình 3.9. Quá trình xây dựng FP_Tree (Trang 27)
Hình 3.10. Cây FP_Tree của cơ sở dữ liệu trong bảng 2.2 - luận văn thạc sĩ Phương pháp luận kết hợp và ứng dụng
Hình 3.10. Cây FP_Tree của cơ sở dữ liệu trong bảng 2.2 (Trang 27)
Hình 3.11. Các FP_Tree phụ thuộc - luận văn thạc sĩ Phương pháp luận kết hợp và ứng dụng
Hình 3.11. Các FP_Tree phụ thuộc (Trang 28)
Hình 4.2.Bảng thống kê chi tiết các thiết bị trong phòng - luận văn thạc sĩ Phương pháp luận kết hợp và ứng dụng
Hình 4.2. Bảng thống kê chi tiết các thiết bị trong phòng (Trang 31)
Hình 4.1.Bảng danh mục các phòng - luận văn thạc sĩ Phương pháp luận kết hợp và ứng dụng
Hình 4.1. Bảng danh mục các phòng (Trang 31)
Hình 4.3.Bảng đăng ký tên thuộc tính rời rạc - luận văn thạc sĩ Phương pháp luận kết hợp và ứng dụng
Hình 4.3. Bảng đăng ký tên thuộc tính rời rạc (Trang 32)
Bảng gồm các trường - luận văn thạc sĩ Phương pháp luận kết hợp và ứng dụng
Bảng g ồm các trường (Trang 32)

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