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

Áp dụng luật kết hợp trong khai phá dữ liệu cho dữ liệu ngân hàng đầu tư và phát triển việt nam

88 595 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 88
Dung lượng 1,06 MB

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

Nội dung

Do KPDL là một lĩnh vực rộng lớn nên trong luận văn này chỉ đề cập đến khía cạnh khai phá dữ liệu bằng luật kết hợp dựa trên nền tảng của một số nghiên cứu đã được thực hiện... giá để th

Trang 1

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

NGUYỄN THẾ VINH

ÁP DỤNG LUẬT KẾT HỢP TRONG KHAI PHÁ

DỮ LIỆU CHO DỮ LIỆU NGÂN HÀNG ĐẦU TƯ

VÀ PHÁT TRIỂN VIỆT NAM

Mã số : 1.01.10

LUẬN VĂN THẠC SỸ

Người hướng dẫn khoa học: PGS TS NGÔ QUỐC TẠO

HÀ NỘI, 2006

Trang 2

LỜI CẢM ƠN

Tôi xin gửi lời cảm ơn chân thành tới thầy giáo PGS.TS Ngô Quốc Tạo và PGS.TS Vũ Đức Thi - Viện Công nghệ thông tin đã tận tình chỉ bảo và hướng dẫn cho tôi thực hiện luận văn này

Tôi cũng xin bày tỏ lòng biết ơn của mình tới các thầy cô thuộc Đại học Công nghệ-Đại học Quốc Gia Hà nội và các thầy cô Viện Công nghệ thông tin đã truyền thụ cho tôi những kiến thức rất bổ ích, tạo cơ sở cho việc làm luận văn và cho công việc của tôi sau này

Lời cảm ơn cuối cùng tôi xin được gửi tới gia đình và bè bạn, những người luôn ủng hộ, giúp đỡ và động viên tôi trong quá trình hoàn thành nghiên cứu khoa học

Học viên thực hiện Nguyễn Thế Vinh

Trang 3

MỤC LỤC

MỤC LỤC 1

BẢNG CÁC KÝ HIỆU VÀ TỪ VIẾT TẮT 3

DANH MỤC HÌNH VẼ VÀ BẢNG BIỂU 4

LỜI MỞ ĐẦU 5

CHƯƠNG 1 KHAI PHÁ DỮ LIỆU VÀ PHÁT HIỆN TRI THỨC 7

1.1 Khai phá dữ liệu 7

1.1.1 Tổng quan về khai phá dữ liệu 7

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

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

1.1.4 Kiến trúc hệ thống khai phá dữ liệu 10

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

1.1.6 Các thành phần khai phá dữ liệu 11

1.1.7 Một số phương pháp khai phá dữ liệu 12

1.1.9 Các ứng dụng của khai phá dữ liệu 18

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

1.1.11 Những khó khăn trong việc khai phá dữ liệu 19

2.2 Công nghệ khám phá tri thức (KDD) 20

2.2.1 Khám phá tri thức là gì? 20

2.2.2 Vai trò và các mục tiêu chính của KDD 22

2.2.3 Quá trình phát hiện tri thức 23

CHƯƠNG 2 LUẬT KẾT HỢP 26

2.1 Một số định nghĩa về luật và luật kết hợp 26

2.2 Tính chất của luật kết hợp 28

2.2.1 Tính chất của tập mục phổ biến 28

2.2.2 Các tính chất của luật kết hợp 28

2.3 Những đặc trưng cơ bản của luật 29

2.3.1 Không gian tìm kiếm 29

2.3.2 Độ hỗ trợ 31

2.4 Những hướng tiếp cận chính 32

CHƯƠNG 3 MỘT SỐ THUẬT TOÁN KHAI PHÁ DỮ LIỆU THEO PHƯƠNG PHÁP LUẬT KẾT HỢP 35

3.1 Khai phá luật kết hợp boolean đơn chiều và đơn mức 35

3.1 1 Thuật toán Apriori 35

3.1.2 Thuật toán Partition (kỹ thuật BFS và giao tập hợp của các tập mục) 39

3.1.3 Thuật toán FP-Growth (kỹ thuật DFS và đếm tần suất xuất hiện tập mục) 47

Trang 4

3.1.4 Thuật toán Eclat (kỹ thuật DFS và giao tập mục) 50

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

3.3 Khai phá luật kết hợp trừu tượng, đa mức 51

3.4 Luật kết hợp có thuộc tính số và hạng mục 53

3.5 Luật kết hợp mờ 56

3.5.1 Luật kết hợp mờ với thuộc tính số được đánh trọng số 66

3.5.2 Chuyển luật kết hợp mờ về luật kết hợp với thuộc tính số 67

CHƯƠNG 4 ỨNG DỤNG THỬ NGHIỆM 68

4.1 Đặt vấn đề 68

4.2 Mô hình thử nghiệm 71

4.3 Chương trình thử nghiệm 77

KẾT LUẬN 83

Những vấn đề đã được giải quyết trong luận văn 83

Hướng nghiên cứu trong tương lai 84

TÀI LIỆU THAM KHẢO 85

Trang 5

BẢNG CÁC KÝ HIỆU VÀ TỪ VIẾT TẮT Bảng từ viết tắt

Khai phá tri thức trong dữ liệu Knowledge Discovery in Data KDD

Ngân hàng Đầu tư và Phát triển

Việt Nam

Bank for Investment and

Trang 6

DANH MỤC HÌNH VẼ VÀ BẢNG BIỂU

Danh mục hình vẽ

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

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

Hình 1.3 Ví dụ về cây quyết định 13

Hình 2.1 Dàn cho tập I={1,2,3,4} 30

Hình 3.1 Cây FP-Growth đếm mức phổ biến 42

Hình 3.2 Cây điều kiện FP - Tree 42

Hình 3.3 Mức hoạt động của giải thuật 43

Hình 3.4 Mô phỏng dữ liệu cây băm 44

Hình 3.5 Cây cấu trúc thân 45

Hình 3.6 Mô phỏng sự kết hợp đầu và thân 46

Hình 4.1 Danh sách các file dữ liệu của phân hệ tiền gửi 70

Hình 4.2 Trình tự xử lý trong ứng dụng thử nghiệm 71

Hình 4.3 Dữ liệu của hệ thống trước khi rời rạc và mờ hoá 75

Hình 4.4 Dữ liệu của hệ thống sau khi rời rạc và mờ hoá 76

Hình 4.5 Màn hình giao diện chính của chương trình 77

Hình 4.6 Màn hình giao diện hiển thị dữ liệu gốc 78

Hình 4.7 Màn hình giao diện hiển thị dữ liệu sau khi được rời rạc và mờ hoá 78

Hình 4.8 Sự phụ thuộc của thời gian xử lý vào fminsupp 79

Hình 4.9 Sự phụ thuộc của số lượng tập phổ biến và luật tin cậy vào giá trị fminsupp 80

Hình 4.10 Sự phụ thuộc của số lượng luật vào độ tin cậy tối thiểu fminconf 80

Hình 4 11 Sự thay đổi kích thước CSDL tác động tới thời gian thực hiện khai phá 81

Hình 4.12 Sự phụ thuộc của số lượng tập phổ biến và luật kết hợp vào ngưỡng tập mờ 81

Danh mục bảng biểu Bảng 1: CSDL khám và chuẩn đoán bệnh tim của 17 bệnh nhân 54

Bảng 2: Rời rạc hoá thuộc tính số rời rạc hữu hạn hoặc thuộc tính hạng mục 55

Bảng 3: Rời rạc hoá thuộc tính số “Lượng cholesterol trong máu” và “Tuổi” 55

Bảng 4: CSDL về khám và chuẩn đoán bệnh tim mạch của 13 bệnh nhân 57

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

Bảng 6: TF -giá trị các thuộc tính tại các bản ghi đã được mờ hoá 63

Bảng 7: C1 - tập tất cả các tập thuộc tính có lực lượng bằng 1 64

Bảng 8: F2 - tập thuộc tính phổ biến có lực lượng bằng 2 65

Trang 7

LỜI MỞ ĐẦU

Trong những thập kỷ gần đây, với sự phát triển mạnh mẽ của công nghệ điện

tử, sự ra đời của các bộ nhớ có dung lượng lớn, bộ xử lý tốc độ cao cùng với các hệ thống mạng viễn thông Người ta xây dựng các hệ thống thông tin nhằm tự động hoá mọi hoạt động kinh doanh của mình Điều này đã tạo ra một dòng dữ liệu tăng lên không ngừng vì ngay từ những giao dịch đơn giản nhất như một cuộc gọi điện thoại, kiểm tra sức khoẻ, sử dụng thẻ tín dụng,v.v đều được ghi vào trong máy tính Cho đến nay, con số này đã trở lên khổng lồ bao gồm các cơ sở dữ liệu lớn cỡ gigabytes và thậm chí terabytes lưu trữ các dữ liệu kinh doanh ví dụ dữ liệu thông tin khách hàng, dữ liệu lịch sử các giao dịch, dữ liệu bán hàng, dữ liệu các tài khoản, các khoản vay, sử dụng vốn,v.v Nhiều hệ quản trị cơ sở dữ liệu (CSDL) mạnh với các công cụ phong phú và thuận tiện đã giúp cho con người khai thác có hiệu quả các nguồn tài nguyên dữ liệu

Cùng với chức năng khai thác có tính chất tác nghiệp, việc khai thác các CSDL phục vụ các yêu cầu trợ giúp quyết định ngày càng có ý nghĩa quan trọng và

là nhu cầu to lớn trong mọi lĩnh vực hoạt động kinh doanh, quản lý Dữ liệu được thu thập và dữ liệu ngày càng nhiều nhưng người ra quyết định trong quản lý kinh doanh lại cần những thông tin bổ ích, những “tri thức” rút ra từ những nguồn dữ liệu đó hơn là chính những nguồn dữ liệu đó cho việc ra quyết định của mình Các nhu cầu đó đã được biết đến từ lâu nhưng mới thực sự bùng nổ từ thập niên 90 Do

đó những năm gần đây đã phát triển mạnh mẽ một loạt các lĩnh vực nghiên cứu về

tổ chức các kho dữ liệu và kho thông tin Các hệ trợ giúp quyết định, các phương pháp phát hiện tri thức và khai phá dữ liệu

Trong đó, khai phá dữ liệu và phát hiện tri thức đã trở thành một lĩnh vực nghiên cứu sôi động thu hút sự quan tâm nghiên cứu của nhiều chuyên gia trong các lĩnh vực như hệ cơ sở dữ liệu, thống kê, chiết xuất thông tin, nhận dạng, học máy, trí tuệ nhân tạo v.v Phần lớn các kỹ thuật chính được áp dụng trong lĩnh vực khai phá dữ liệu được kế thừa từ các lĩnh vực trên Các bài toán chủ yếu trong KPDL là phân lớp/dự đoán, phân cụm, khai phá luật kết hợp, khai phá chuỗi,v.v Lĩnh vực này cũng là điểm hội tụ và giao thoa của rất nhiều lĩnh vực khác KPDL đã và đang được ứng dụng thành công vào thương mại, tài chính và thị trường chứng khoán, sinh học, y học, giáo dục, viễn thông,v.v

Trang 8

Do KPDL là một lĩnh vực rộng lớn nên trong luận văn này chỉ đề cập đến khía cạnh khai phá dữ liệu bằng luật kết hợp dựa trên nền tảng của một số nghiên cứu đã được thực hiện

Trang 9

CHƯƠNG 1 KHAI PHÁ DỮ LIỆU VÀ PHÁT HIỆN TRI THỨC 1.1 Khai phá dữ liệu

1.1.1 Tổng quan về khai phá dữ liệu

Hàng nghìn năm nay vấn đề về tổ chức khai thác dữ liệu là vấn đề mà con người phải giải quyết Đến nay vấn đề này vẫn chưa giải quyết được triệt để Các chuyên gia trong lĩnh vực khác nhau trong quá trình hoạt động của mình thu thập được một khối lượng kiến thức khổng lồ nhưng tổ chức cơ sở dữ liệu đó thành một

hệ thống để phân tích đưa ra những thông tin cần thiết trên cơ sở dữ liệu đã được tập hợp là một vấn đề rất phức tạp

Các hệ thống tồn tại một cách chồng chéo khiến các thông tin thừa xảy ra nhiều và vấn đề xử lý số liệu lớn và rất phức tạp Có một nghịch lý là chúng ta thu thập thông tin nhanh hơn rất nhiều việc xử lý thông tin

Cuối thế kỷ 20, phương pháp phân tích số liệu một cách trí tuệ (là phương pháp khai thác thông tin trực tiếp từ dữ liệu thô) đã thu hút được sự quan tâm của các nhà khoa học Những thử nghiệm đã được áp dụng trong nhiều lĩnh vực như phân tích thị trường tài chính, ngân hàng, đánh giá khả năng cho vay, phân tích đánh giá những mạo hiểm trong đầu tư được tiến hành rất nhiều Đây là vấn đề đặc biệt khó khi ta có một lượng thông tin khổng lồ Bài toán cần giải quyết ở đây là phân tích số liệu ra sao? Con người và máy tính sẽ kết hợp với nhau như thế nào, con người sẽ làm những gì và những gì giao cho máy móc Dự đoán các vấn đề trên trong tương lai là rất khó nhưng quan trong nhất là hiểu được giới hạn con người và giới hạn của các thiết bị máy móc Theo John Neumal thì số lượng neural của một người là 1020 bit mặc dù chúng ta không sử dụng hết số lượng này Một số nhà bác học đã mô phỏng các hành vi nhận dạng của não bộ (ví dụ mạng Hopfield) cho chúng ta khả năng nhận dạng tương tự như não người Các mẫu đã được huấn luyện

để nhận dạng sẽ kích thích ở một vùng đã được xác định trước Người ta đã tính được rằng nếu một hệ thống được thiết lập từ 1020

Neural thì ghi nhận được 5.1018mẫu khác nhau bằng 5% số lượng Neural Đây cũng chính là số lượng mẫu lớn nhất

mà con người có thể nhớ được Đó là con số khổng lồ mà thiết bị điện tử không có khả năng đạt được Tuy nhiên, tốc độ của các Neural sinh học quá chậm do với các công nghệ tính toán hiện nay Vấn đề này có lý do là ở Neural sinh học tốc độ phản

Trang 10

ứng nhỏ hơn Neural nhân tạo 8 lần Từ hai yếu tố số lượng và tốc độ của Neural ta xác định được khả năng sử dụng hệ thống trí tuệ nhân tạo trong quá trình KDD là quá trình khai thác thông tin từ cơ sở dữ liệu Không có một chương trình máy tính nào hiện nay cũng như trong khoảng thời gian sắp tới có thể mô tả được độ phong phú của trí tuệ con người Tốt nhất chúng ta nên hạn chế các bài toán của con người trong lĩnh vực tổ chức công việc Máy móc tốt nhất là tập trung vào việc tìm kiếm tri thức mới(các quy luật ẩn dưới khối dữ liệu khổng lồ)

Các hệ thống KDD có thể xác định một cách hình tượng là các bộ tăng tốc cho trí tuệ con người Ứng dụng của hệ thống KDD yêu cầu phải có nghệ thuật biểu diễn và phương pháp tổ chức các bài toán Kết quả cuối cùng là lời giải dựa trên những thông tin đã thu thập được Chìa khóa của vấn đề sử dụng KDD không phải lựa chọn một hoặc vài thuật toán KDD đã biết mà dựa vào việc phân tích dữ liệu bằng tổ hợp các phương pháp Ta có thể lấy ví dụ trong lĩnh vực y tế Đầu thế kỷ

21, loài người đã biết được 105 triệu trứng bệnh, 105 mẫu thuốc 104 các loại bệnh khác nhau Rõ ràng nếu không có sự giúp đỡ của KDD thì việc khám phá ra tri thức trong đó là điều không thể đối với bất kỳ chuyên gia nào

Chúng ta có thể coi tri thức như thông tin tích hợp bao gồm các sự việc và những quan hệ của chúng mà ta có thể lĩnh hội, khám phá hoặc học tập Nói một cách khác, tri thức có thể là dữ liệu ở mức trìu tượng hoá và khái quát cao

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

Trong mọi hoạt động sản xuất - kinh doanh - quản lý thì yếu tốt thành công luôn gắn liền với việc nắm bắt, thống kê và khai thác thông tin hiệu quả Giờ đây KPDL đã 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 Do đó có thể coi mục đích chính của quá trình KPDL là một tả và dự đoán mà các mẫu KPDL phát hiện được đều nhắm vào mục đích này

Để đạt được hai mục đích chính trên, nhiệm vụ chính của KPDL bao gồm:

Phân lớp: là việc học một hàm ánh xạ (hay phân loại) từ một mẫu dữ liệu vào một trong số các lớp đã được xác định trước

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

Trang 11

Phân nhóm: là việc mô tả chung để tìm ra các tập dữ liệu xác định hay các

nhóm để mô tả dữ liệu Các nhóm có thể tách riêng, phân cấp hoặc chồng lên nhau

Có nghĩa là dữ liệu có thể vừa thuộc nhóm này vừa thuộc nhóm kia

Tóm tắt: liên quan đến các phương pháp tìm kiếm một mô tả cho một tập con

dữ liệu Các kỹ thuật tóm tắt thường được áp dụng cho các phân tích dữ liệu tương tác có tính thăm dò và tạo báo cáo tự động

Mô hình phụ thuộc: là việc tìm kiếm một mô hình mô tả sự phụ thuộc giữa

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

Dò tìm biến đổi và phát hiện độ lệch: tập trung vào khai thác những thay đổi

đáng kể nhất trong dữ liệu từ các giá trị chuẩn hoặc được đo trước đó

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

Do KPDL đượ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ập trong KPDL Dưới đây là một số kiểu dữ liệu điển hình:

CSDL quan hệ: là các CSDL tác nghiệp được tổ chức theo mô hình dữ liệu

quan hệ ( như Oracle, IBM, DB2, MS SQL, v.v )

CSDL đa chiều: là kho dữ liệu được tập hợp và chọn lọc từ nhiều nguồn dữ

liệu khác nhau Dạng dữ liệu này có mang tính lịch sử (có thuộ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ợ quá trình ra quyết định

CSDL dạng giao dịch: là một dạng CSDL 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 phổ biến trong lĩnh vực thương mại và ngân hàng, ví dụ: dữ liệu về các giao dịch thanh toán của ngân hàng,v.v

CSDL quan hệ-hướng đối tượng: là dạng CSDL 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: là dạng dữ liệu có tích hợp thuộc tính về

không gian(ví dụ: dữ liệu về bản đồ) hoặc thời gian (ví dụ: dữ liệu về thị trường chứng khoán)

CSDL đa phương tiện: dữ liệu âm thanh, hình ảnh, phim ảnh, text và web

v.v Dạng dữ liệu này hiện đang khá phổ biến trên Internet do sự ứng dụng rộng rãi của nó

Trang 12

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

KPDL là một bước lớn trong quá trình phát hiện tri thức từ số lượng lớn dữ liệu đã được lưu trữ trong CSDL, kho dữ liệu hoặc các nơi lưu trữ khác Kết quả của bước này là những mẫu đáng quan tâm được đưa đến cho người dùng hoặc lưu giữ như là tri thức mới trong CSTT

Kiến trúc của hệ thống KPDL có thể chia thành các thành phần chính như sau:

CSDL, kho dữ liệu hoặc nơi lưu trữ khác: là một hoặc một tập các CSDL,

kho dữ liệu, các công cụ làm sạch dữ liệu và tích hợp dữ liệu có thể thực hiện trên chúng

Cơ sở trí thức: là yếu tố tri thức được dùng để hướng dẫn tìm hoặc đánh giá

các mẫu kết quả tìm được

Kỹ thuật khai phá: là các công cụ để thực hiện các nhiệm vụ như: mô tả, kết

hợp, phân lớp, phân nhóm dữ liệu

Công cụ đánh giá mẫu: gồm một số modul sử dụng các độ đo và tương tác

với các modul KPDL để tập trung vào các thuộc tính cần quan tâm

Giao diện đồ họa: xây dựng modul cho phép giao tiếp giữa người dùng và hệ

thống KPDL

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

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

Quá trình KPDL là công việc khảo sát thăm dò thông tin dữ liệu, trích chọn tri thức, thu thập thông tin, thậm chí là duyệt và tìm kiếm dữ liệu Tuy nhiên, các nhà thống kê thì có quan điểm cho rằng KPDL là một quá trình phân tích và đánh

Lọc

Làm sạch dữ liệu Tích hợp dữ liệu

Giao diện đồ hoạ Đánh giá mẫu

Kỹ thuật khai phá CSDL, kho dữ liệu

Cơ sở tri thức

Trang 13

giá để thăm dò, dự đoán và ước lượng một lượng các thông tin dữ liệu với mục đích phát hiện ra các mẫu tin thích hợp hoặc là các mối quan hệ thuộc tính giữa các yếu

tố hay các biến cố và cuối cùng là tích hợp các kết quả thu được bằng cách áp dụng các hệ số mẫu đã xác định cho các phần dữ liệu mới phát hiện Từ đó đưa ra các hoạt động liên quan đến kết quả thu được

Quá trình khai phá dữ liệu được thể hiện qua mô hình sau:

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

Xác định nhiệm vụ : là việc xác định chính xác và rõ ràng vấn đề cần giải

quyết

Xác định dữ liệu liên quan: để xây dựng giải pháp

Thu thập và tiền xử lý dữ liệu liên quan: thành dạng sao cho thuật toán

KPDL có thể hiểu được

Chọn thuật toán KPDL: cho phù hợp và thực hiện KPDL nhằm tìm được các

mẫu cần quan tâm và biểu diễn chúng dưới dạng có ý nghĩa

Mẫu: là kết quả của quá trình KPDL, tức là hiểu và sử dụng tri thức đã tìm

được thông qua hành động

1.1.6 Các thành phần khai phá dữ liệu

Từ các mẫu tìm kiếm được, chúng ta dự đoán những giá trị chưa biết hoặc những giá trị trong tương lai Và tập trung mô tả vào việc tìm kiếm các mẫu mô tả

dữ liệu làm sao cho con người có thể hiểu được Muốn làm được tốt các công việc

đó chúng ta dựa vào một số công việc sau:

Biểu diễn mô hình: là việc dùng một ngôn ngữ L nào đó để mô tả các mẫu

hay mô hình có thể khai phá được Nếu mô tả quá hạn chế thì sẽ không thể học được hoặc sẽ không thể có các mẫu tạo ra được mô hình chính xác cho dữ liệu Nhưng nếu mô hình quá lớn thì càng làm tăng mức độ nguy hiểm do bị học quá và

Xác định

nhiệm vụ Xác định dữ liệu

liên quan

Thu thập và tiền xử lý

DL

Thống kê Tóm tắt

Dữ liệu trực tiếp

Giải thuật khai phá DL Mẫu

Trang 14

làm giảm khả năng dự đoán các dữ liệu chưa biết Như thế sẽ làm cho việc tìm kiếm càng trở nên phức tạp hơn cũng như việc hiểu được mô hình càng khó khăn hơn

Đánh giá mô hình: là việc đánh giá, ước lượng các mô hình chi tiết có thể

đáp ứng được các tiêu chuẩn của quá trình xử lý và phát hiện tri thức, có dự báo chính xác hay không, có thoả mãn cơ sở logic hay không Việc đánh giá độ chính xác phải dựa trên đánh giá chéo Đánh giá chất lượng liên quan đến độ chính xác dự đoán, tính mới lạ, tính hữu ích, khả năng hiểu được phù hợp với các mô hình Cả hai phương pháp logic và thống kê chuẩn có thể sử dụng trong mô hình kiểm định này

Phương pháp tìm kiếm: gồm hai thành phần: tìm kiếm tham số: thuật toán

phải tìm kiếm các tham số trong phạm vi các tiêu chuẩn đánh giá mô hình để tối ưu

hoá, đưa ra các dữ liệu quan sát được và biểu diễn mô hình đã định, tìm kiếm mô hình: giống như một vòng lặp qua phương pháp tìm kiếm tham số, miêu tả mô hình

bị thay đổi tạo nên một họ các mô hình Với mỗi 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 sử dụng thuật tìm kiếm heuristic vì 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ể

Chọn mẫu dữ liệu: là một giai đoạn rất quan trọng trong kỹ thuật nhận dạng

và KPDL Trong xác suất thống kê nhiều chiều có một phần tương tự như thế, đó là tìm các thuộc tính hay các chỉ tiêu chính cần phân tích nhận dạng của một vec-tơ hay một bộ giá trị thuộc tính nhiều chiều Sau khi chọn mẫu ta thu được một tập con hay một nhóm dữ liệu của tập các biến thuộc tính đầu vào sau khi đã loại bỏ đi các thuộc tính ít quan trọng, thuộc tính thừa Từ đó thu thập và kết hợp thành bộ véctơ thuộc tính mẫu

1.1.7 Một số phương pháp khai phá dữ liệu

Phương pháp quy nạp: có hai kỹ thuật chính để thực hiện công việc này đó

là suy diễn và quy nạp Suy diễn: nhằm rút ra thông tin là kết quả lôgic của các

thông tin trong CSDL dựa trên một dãy các sự kiện chính để suy ra các tri thức mới

từ các tri thức đã có Kỹ thuật suy diễn để thu được mẫu chi tiết thường sử dụng các

luật suy diễn Quy nạp: suy ra các thông tin được sinh ra dựa trên CSDL hoặc các

kho dữ liệu đã có Phương pháp quy nạp là tự tìm kiếm, tạo mô hình, mẫu và sinh ra

Trang 15

tìm được trong CSDL Trong KPDL quy nạp được sử dụng để tạo cây quyết định và luật

Cây quyết định: ở đây ta quan tâm đến cây quyết định quy nạp được dùng

trong việc “học” tri thức thông qua phân tích cây Cây quyết định là một 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 theo lớp các đường đi trên cây, qua các cạnh tương ứng với giá trị của thuộc tính

Một cây quyết định là một cấu trúc hình cây, trong đó:

 Mỗi đỉnh trong (đỉnh có thể khai triển được) biểu thị cho một phép thử đối với một thuộc tính

 Mỗi nhánh biểu thị cho một kết quả của phép thử

Trang 16

 Các đỉnh lá (các đỉnh không khai triển được) biểu thị các lớp hoặc các phân bổ lớp

 Đỉnh trên cùng trong một cây được gọi là gốc

Việc sinh cây quyết định bao gồm hai giai đoạn:

 Xây dựng cây

+ Tại thời điểm khởi đầu, tất cả các ca (case) dữ liệu học đều nằm tại gốc + Các ca dữ liệu được phân chia đệ quy trên cơ sở các thuộc tính được chọn

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 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ệ giữa các hàng trong r có giá trị 1 tại mỗi cột Khi đó tần số xuất hiện và độ tin cậy của luật X =>B trong r được định nghĩa 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

Nhiệm vụ của việc phát triển các luật kết hợp là phải tìm được tất cả các luật X=>B sao cho tần số xuất hiện của 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 phải 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

Trang 17

Thuật toán 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

Một vấn đề quan tâm phải đề cập đến là độ đo của luật: đó là độ hỗ trợ và độ tin cậy Chúng phản ánh sự hữu ích và sự chắc chắn của luật đã khai phá Đặc biệt các luật kết hợp được coi là đáng quan tâm nếu chúng thỏa 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 do các chuyên gia xác định

Ví dụ: phân tích một CSDL kinh doanh bán hàng của công ty Honda về chiến lược kinh doanh và bán xe máy, ôtô trong tương lai:

“Xe máy=>Phụ tùng xe máy”{Độ hỗ trợ 20%, độ tin cậy 80%}

Với ví dụ này, có thể hiểu độ hỗ trợ 20% có nghĩa là 20% của tất cả các tác

vụ đã phân tích chỉ ra rằng người mua xe máy và mua phụ tùng xe máy có tỷ lệ đã được mua là cùng nhau Còn độ tin cậy 80% có nghĩa là 80% người mua xe máy bao giờ cũng có tỷ lệ lớn mua phụ tùng xe máy

Nhược điểm 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ì các vấn đề này cũng được khắc phục

Phân lớp, phân loại dữ liệu: cho phép ta sắp xếp các thực thể với một số

thuộc tính giống nhau vào một lớp chung Công việc này giống việc phân loại nhưng có điểm khác biệt là chưa có sự định nghĩa các lớp từ trước Các phương pháp này rất có ích trong giai đoạn đầu của quá trình nghiên cứu khi ta biết rất ít về đối tượng cần nghiên cứu, nó là tiền đề để tiến hành các phương pháp khác về KDD

Nhiệm vụ của phân lớp là tìm ra được một hàm để ghép một đối tượng dữ liệu vào một lớp trong một số lớp nào đó Ta thấy rằng rất khó để tách lớp một cách hoàn toàn bằng một đường biên rạch ròi có dạng đường thẳng Ngân hàng rất muốn

sử dụng các miền đã được phân lớp để có thể đi đến quyết định một cách tự động về việc liệu có tiếp tục cho khách tiếp tục vay nữa hay không

Trang 18

Có nhiều phương pháp phân lớp, phương pháp nổi tiếng nhất là phương pháp K lân cận Giả sử muốn chia các đối tượng ban đầu thành K lớp Lựa chọn K trung tâm ngẫu nhiên bất kỳ trong không gian các đối tượng Sau đó tiến hành:

- Chia các dữ liệu thành K nhóm gần nhất với một trong các trung tâm Khoảng cách giữa các điểm với các trung tâm sẽ xác định chúng có thuộc K hay không

- Xác định lại các trung tâm mới bằng cách tính lại giá trị trung bình của các biến phụ thuộc, tất nhiên các trung tâm mới sẽ khác trung tâm cũ Phương pháp K lân cận sẽ làm việc tốt nếu bản chất của dữ liệu là có thể phân loại Tuy nhiên nó khó áp dụng với một số tình huống phức tạp, ví dụ như: Phân bố hai hình xoắn ngược chiều nhau

Phương pháp dựa trên mẫu: là việc sử dụng các mẫu miêu tả từ cơ sở dữ liệu

tạo nên một mô hình dự đoán các mẫu mới bằng cách rút ra các thuộc tính tương tự như các mẫu đã biết trong mô hình Các kỹ thuật bao gồm phân lớp theo láng giềng lân cận, các giải thuật hồi quy (Dasarathy 1991) và các hệ thống suy diễn dựa trên tình huống (case - based reasoning) (Kolodner 1993)

Mô hình phụ thuộc dựa trên đồ thị xác suất: Các mô hình xác định sự phụ

thuộc xác suất giữa các sự kiện thông qua các liên hệ trực tiếp theo các cung đồ thị (Peal 1988: Whittaker 1990) Ở dạng đơn giản nhất, mô hình này xác định những biến nào phụ thuộc trực tiếp vào nhau Những mô hình này chủ yếu được sử dụng với các biến có giá trị rời rạc hoặc phân loại

Khái quát dữ liệu: khái quát dữ liệu bao gồm một số phương pháp nhằm tìm

ra một mô tả tóm tắt cho một tập con của dữ liệu Một ví dụ đơn giản là tạo ra bảng giá trị trung bình và độ lệch chuẩn cho tất cả các trường Các phương pháp phức tạp hơn được hình thành từ việc đúc rút các luật tóm tắt, các kỹ thuật suy diễn đa dạng

và phát hiện các phụ thuộc hàm giữa các biến

Khai thác dữ liệu dựa trên văn bản: phù hợp với việc tìm kiếm, phân tích và

phân lớp các dữ liệu văn bản không định dạng Các lĩnh vực ứng dụng như nghiên cứu thị trường, thu thập tình báo Khai phá dữ liệu dạng văn bản đã được sử dụng

để phân tích câu trả lời cho các câu hỏi mở trong khảo sát thị trường, tìm kiếm các tài liệu phức tạp

Trang 19

Mạng neural: là một kỹ thuật phát triển dựa trên cấu trúc toán học với khả

năng học trên mô hình hệ thần kinh con người

Mạng neural có thể đưa ra ý nghĩa từ các dữ liệu phức tạp hoặc không chính xác và có thể được sử dụng để chiết xuất các mẫu và phát hiện xu hướng quá phức tạp mà con người cũng như các kỹ thuật máy tính khác không thể phát hiện được

Một trong những ưu điểm phải kể đến củ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 rất nhiều các loại 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ó

Đặ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 có 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 các chuyên gia đảm bảo các mô hình này làm việc tốt Sau khi

học mạng được coi là một chuyên gia trong lĩnh vực thông tin mà nó vừa được học

Giải thuật di truyền: Đây là phương pháp không chỉ phục vụ KPDL mà còn

phục vụ nhiều bài toán khác, ví dụ như bài toán tối ưu 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 giữ 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 trong quần thể là không thay đổi Một hàm thích nghi được xây dựng để xác định mức độ thích nghi của quần thể theo các giai đoạn Quá trình tiến hoá làm cho các quần thể thích nghi ngày càng cao Về mặt lý thuyết giải thuật di truyền cho người ta lời giải tối ưu toàn

Trang 20

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 các quần thể

Nói theo nghĩa rộng thì giải thuật di truyền mô phỏng lại hệ thống tiến hoá trong tự nhiên, chính xác hơn là các giải thuật chỉ ra tập các cá thể được hình thành, được ước lượng và biến đổi như thế nào Ví dụ như xác định xem làm thế nào để lựa chọn các cá thể tạo giống và lựa chọn các cá thể nào sẽ bị loại bỏ

Giải thuật di truyền là một giải thuật tối ưu hoá Nó được sử dụng nó được sử dụng rất rộng rãi trong việc tối ưu hoá các kỹ thuật khai phá dữ liệu trong đó có kỹ thuật mạng neural Sự liên hệ của nó với các giải thuật khai phá dữ liệu là ở chỗ việc tối ưu hoá cần thiết cho quá trình khai phá dữ liệu Giai đoạn tối ưu hoá là cần thiết để xác định các giá trị tham số nào tạo ra các luật tốt nhất

1.1.9 Các ứng dụng của khai phá dữ liệu

KPDL tuy là một lĩnh vực mới phát triển nhưng thu hút được sự quan tâm của rất nhiều nhà nghiên cứu nhờ vào những ứng dụng thực tiễn của nó Có thể liệt

kê ra đây một số ứng dụng điển hình:

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

Điều trị y học: mối liên hệ giữa triệu chứng, chẩn đoán và phương pháp điều trị( chế độ dinh dưỡng, thuốc men, phẫu thuật, );

Phân lớp văn bản và các trang web, tóm tắt văn bản,v.v.;

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,v.v.;

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 loại cổ phiếu trong thị trường chứng khoán, v.v.;

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

KPDL là một lĩnh vực thuộc công nghệ tri thức liên quan đến nhiều lĩnh vực nghiên cứu khác nhau như CSDL, kỹ thuật máy học, giải thuật, trực quan hoá,v.v

Có thể phân loại các hệ thống KPDL dựa trên các tiêu chí khác nhau

Phân loại dựa trên kiểu dữ liệu được khai phá: tóm tắt và mô tả, luật kết

hợp, phân lớp phân cụm, khai phá chuỗi,…v.v

Trang 21

Phân loại dựa trên lĩnh vực được áp dụng: kinh doanh bán lẻ, viễn thông,

tin-sinh, y học, tài chính và thị trường chứng khoán, khai phá dữ liệu web,v.v

Phân loại dựa trên kỹ thuật được áp dụng: phân tích trực tuyến (OLAP), học

máy (cây quyết định, mạng nơron nhân tạo, k-mean, thụât toán di truyền, máy vectơ

hỗ trợ -SVM, tập thô, tập mờ.v.v.) trực quan hoá, v.v

Việc sử dụng tập mờ thường thích hợp cho việc tìm ra và hiểu được sự liên quan của các mô hình dữ liệu chưa đầy đủ, nhiễu, thông tin hỗn tạp và tác động của con người và từ đó có thể cung cấp giải pháp xấp xỉ nhanh hơn Mạng nơron có khả năng tổng quát, không giới hạn, mạnh và học tốt trong môi trường dữ liệu giàu Thuật toán di truyền cũng cung cấp khả năng tìm các thuật toán để chọn mẫu từ các

dữ liệu hỗn tạp dựa trên một số hàm tiêu chuẩn/mục tiêu thường dùng Tập thô thì lại phù hợp cho việc tìm ra các mẫu khác nhau của tình trạng không rõ ràng trong

dữ liệu Một số yêu cầu khai thác dữ liệu cần phải áp dụng phương pháp tính toán mềm( tính toán mềm là sự kết hợp của các phương pháp logic mờ, thuật toán di

truyền, khám phá tri thức, mạng nơron, tính toán nơron mờ, tập thô, rút ra luật, )

1.1.11 Những khó khăn trong việc khai phá dữ liệu

Những thách thức cơ bản: hiện nay thách thức lớn nhất đối với con người là

nhu cầu sử dụng thông tin Nếu thông tin luôn đáp ứng và làm thoả mãn nhu cầu của con người trong mọi lúc mọi nơi thì xu thế phát triển xã hội, kinh tế, chính trị, công nghệ sẽ là mong muốn lớn nhất của loài người Thế nhưng, trên thực tế con người thường gặp trở ngại khách quan lẫn chủ quan Một trong những thách thức cơ bản mà cần phải vượt qua đó là: các CSDL lớn (ví dụ 106 –1012 bản ghi); số chiều lớn (ví dụ 102 – 103 thuộc tính); các vấn đề nảy sinh: hiệu suất, kích cỡ, chất lượng, hiệu quả; dữ liệu và tri thức không ngừng thay đổi, khi thay đổi dữ liệu và tri thức

có thể làm cho các mẫu đã phát hiện không còn phù hợp nữa Tương tác người- máy

và hiển thị; dữ liệu bị thiếu hoặc nhiễu; quan hệ giữa các trường phức tạp; giao tiếp với người sử dụng và kết hợp với các tri thức đã có; đối phó với độ phức tạp tính toán; tích hợp các hệ thống khác

Những thách thức thực tế: ngày nay các doanh nghiệp và các tổ chức luôn

chịu sức ép cạnh tranh trên thị trường Những doanh nghiệp nào tồn tại và phát triển thì phải nhờ vào việc khai phá tốt các thông tin, dữ liệu về lĩnh vực mà họ quan tâm,

từ đó có được các quyết định kịp thời và chính xác để tìm ra các chiến lược phát

Trang 22

triển tốt trong tương lai Trong những năm gần đây, các công cụ và kỹ thuật được dùng để xử lý các thông tin có cấu trúc (kể cả phi cấu trúc) đã phát triển không ngừng, từ CSDL đến kho dữ liệu và bây giờ là KPDL KPDL đã trở thành một công

cụ hỗ trợ đắc lực cho việc ra quyết định Chính vì vậy, lĩnh vực KPDL là tiền đề để phát triển các nhu cầu tất yếu của các tổ chức, cá nhân trên toàn cầu Tuy nhiên, với mỗi tổ chức, cá nhân sẽ có mục đích đặc thù của họ, dẫn đến KPDL cũng khác nhau Vì vậy để lấy ra được các thông tin hữu ích, đáp ứng được đòi hỏi của người

sử dụng trong các nhiệm vụ, tình huống cụ thể khác nhau là không đơn giản bên cạnh đó còn phải lựa chọn áp dụng phương pháp nào cho từng loại bài toán; thuật toán tối ưu nhất; độ phức tạp tính toán cho từng thuật toán; độ phức tạp về thời gian; nhu cầu sử dụng thông tin chính xác, hiệu quả và kịp thời

Khám phá tri thức nhanh chóng phát triển cùng với nhiều lĩnh vực khác nhau như: cơ sở dữ liệu, thống kê thông tin, học máy, trích rút tri thức hữu ích từ những tập hợp lớn dữ liệu, tính toán song song và hiệu năng cao, thu nhận tri thức cho những hệ thống chuyên gia và trực quan hoá dữ liệu Các lãnh vực này đều có một mục đích chung là rút ra tri thức từ dữ liệu của cơ sở dữ liệu lớn

Những lĩnh vực học máy và nhận dạng có cùng với KDD mục đích nghiên cứu những lý thuyết và giải thuật nhằm lấy ra các mẫu và mô hình từ các dữ liệu (là những kĩ thuật khai phá dữ liệu), hướng tới việc mở rộng những lý thuyết và giải thuật này để có thể tìm kiếm được những mẫu đặc biệt (những thứ mà có thể được gọi là tri thức hữu ích hoặc thú vị) trong những tập hợp lớn dữ liệu của thế giới thực

tế

Trang 23

KDD cũng có nhiều điểm chung so với phương pháp thống kê, phân tích dữ liệu KDD thường được nhúng vào bên trong những thủ tục thống kê đặc biệt để mô hình hoá dữ liệu và quản lý nhiễu, những thủ tục này đóng vai trò như một thành phần trong kết cấu tổng thể của hệ khám phá tri thức

Một lĩnh vực liên quan khác đến KDD là kho dữ liệu, đóng vai trò thu thập

và làm sạch dữ liệu, tạo ra một kho dữ liệu có đầy đủ tính năng sẵn sàng và trực tuyến Cách tiếp cận thông thường để phân tích kho dữ liệu được gọi là OLAP (xử

lý phân tích trực tuyến) Những công cụ OLAP cung cấp khả năng phân tích dữ liệu

đa chiều/ đa khía cạnh (multi-dimensional), đây là công cụ cấp cao hơn so với ngôn ngữ truy vấn chuẩn SQL trong việc tóm lược tính toán theo nhiều chiều dữ liệu

Một câu hỏi rất hay được đặt ra là phân biệt giữa công cụ KDD và OLAP Công cụ phân tích trực tuyến (OLAP) cũng là công nghệ hỗ trợ cho quá trình ra quyết định Một sự khác biệt giữa KDD và OLAP là OLAP cho ta câu trả lời với các tình huống mà người đặt câu hỏi đã chuẩn bị trước Còn KDD thì khác hẳn, nó

tự phát hiện ra các quy luật để từ đó người nghiên cứu rút ra các kết luận cần thiết Ngoài ra KDD đưa ra các giả thiết mới có thể dùng công cụ OLAP để xác nhận hoặc loại bỏ Như vậy KDD và OLAP có quan hệ tương hỗ, hỗ trợ nhau Chúng ta

có thể coi cả công nghệ khám phá tri thức lẫn OLAP là những khía cạnh quan trọng

để tạo ra những công cụ thông minh có thể trích rút và quản lý thông tin

Như ta đã biết, KDD là sự tổng hợp của các lĩnh vực kiến thức rất khác nhau Có hai phương án để tiếp cận KDD:

- Tiếp cận theo hướng thống kê

- Tiếp cận theo hướng mạng Neural

Trong thời gian gần đây, người ta coi phương pháp thống kê là một bộ phận của KDD vì KDD sử dụng các phương pháp thống kê phối hợp với các phương pháp trí tuệ nhân tạo khác Dùng các phương pháp KDD có thể giải quyết được bài toán sau:

- Xây dựng từ tập hợp số liệu cho trước khi mô hình sát nhau để dự đoán và đưa ra quyết định Trong nhiều tình huống khai thác dữ liệu không đầy đủ

- Xác định quan hệ giữa các dữ liệu, mức độ ảnh hưởng của các yếu tố khác nhau đến các quá trình

Trang 24

2.2.2 Vai trò và các mục tiêu chính của KDD

- Thu thập được các tri thức thu được từ dữ liệu có sẵn:

* Nhiều cơ quan đã thu nhập được nhiều năm một khối lượng lớn các dữ liệu họ sẽ phải làm gì và có thể làm gì với chúng?

* Người ta lưu trữ các dữ liệu vì họ nghĩ rằng có thể có những của cải đáng quý nào nó đang tiềm ẩn trong chúng Về ý nghĩa khoa học thì dữ liệu chính là những quan sát đã được tập hợp lại một cách cẩn thận và công phu về một hiện tượng tự nhiên hay xã hội nào đó cần phải được nghiên cứu

* Trong kinh doanh, dữ liệu hàm chứa các thông tin về thị trường, về các đối thủ và về các khách hàng Trong kỹ nghệ, dữ liệu chứa các thông tin về sản xuất, về vận hành và các khả năng tối ưu, cũng như các giải pháp chủ yếu để cải tiến các quy trình và giải quyết các sự cố

* Chỉ có một lượng khá nhỏ (thông thường vào khoảng 5% đến 10%) dữ liệu đã được thu thập luôn luôn được phân tích

* Các dữ liệu có thể chưa bao giờ được phân tích vẫn tiếp tục được thu thập rất tốn kém với ý nghĩ lo xa rằng sau này sẽ có một cái gì đó rất quan trọng có thể

bỏ qua

* Lượng dữ liệu quá lớn đối với cách thức phân tích cổ điển Đôi khi, ta không thể xem được hoặc chứa được tất cả trong bộ nhớ

- Cung cấp công cụ cho những người sử dụng không chuyên về thống kê

- Cần phải nhanh chóng phát hiện và đưa ra quyết định trong các tình huống khẩn cấp trong môi trường cạnh tranh

- Khi các cơ sở dữ liệu càng ngày càng to lên thì khả năng hỗ trợ phân tích

và ra quyết định bằng cách hỏi đáp truyền thống (kiểu SQL) sẽ không thể thực hiện được hoặc nhiều yêu cầu mà người sử dụng quan tâm rất khó có thể mô tả được bằng một ngôn ngữ hỏi đáp Chẳng hạn như “hãy tìm cho tôi tất cả các bản ghi chứng tỏ rằng có sự gian lận trong đó” hoặc “hãy tìm tất cả những bản ghi tương tự như các bản ghi trong bảng X”

Trang 25

2.2.3 Quá trình phát hiện tri thức

Quá trình phát hiện tri thức bao gồm một số bước như sau:

Bước thứ nhất là tìm hiểu lĩnh vực ứng dụng và hình thành bài toán Bước này rõ ràng là một điều tiên quyết cho việc rút ra được các tri thức hữu ích và cho việc chọn các phương pháp khai thác dữ liệu thích hợp trong bước ba sao cho phù hợp với mục đích ứng dụng và bản chất của dữ liệu

Bước thứ hai là thu thập và xử lý thô, hay còn gọi là tiền xử lý dữ liệu nhằm loại bỏ nhiễu hoặc dị dạng, xử lý việc thiếu dữ liệu, tiến hành các phép biến đổi (nếu cần thiết) và rút gọn dữ liệu Bước này thường chiếm hầu hết thời gian cần thiết cho toàn bộ quy trình KDD

Bước thứ ba là khai phá dữ liệu, tức là trích ra các mẫu hoặc/và các mô hình

ẩn dưới các dữ liệu Một mô hình có thể được xem như “một biểu diễn tổng thể của một cấu trúc nhằm tóm lược thành phần mang tính hệ thống ngụ trong dữ liệu hoặc

mô tả tập dữ liệu này có thể sinh sôi nảy nở ra sao” Trái lại một mẫu là một cấu trúc cục bộ chỉ liên quan tới một nhóm các biến và một số tập các sự kiện Các lớp chính của các phương pháp khai phá dữ liệu là mô hình dự đoán chẳng hạn như phân loại và hồi quy: phân đoạn (chia cụm); mô hình phụ thuộc chẳng hạn như các

mô hình đồ thị hoặc ước lượng mật độ; mô hình tóm lược chẳng hạn như tìm các mối quan hệ giữa các trường, các liên kết; và mô hình thay đổi và phát triển độ lệch trong dữ liệu và tri thức

Bước thứ tư là hiểu tri thức đã tìm được, đặc biệt là làm sáng tỏ các mô tả

và dự đoán, hai mục tiêu chính của các hệ thống khám phá trong thực tế Kinh nghiệm cho thấy rằng các mẫu hoặc các mô hình phát hiện được từ các dữ liệu không phải lúc nào cũng đáng quan tâm và có thể trực tiếp sử dụng được ngay và quy trình KDD cần phải được lặp đi lặp lại có điều chỉnh theo các tri thức đã phát hiện được Để có thể đánh giá các luật được áp dụng trong quy trình KDD, người ta thường chia giữ liệu thành hai tập, huấn luyện trên tập thứ nhất và kiểm chứng trên tập thứ hai Có thể lặp lại quy trình này một số lần với các phần chia khác nhau, sau

đó lấy trung bình các kết quả để ước lượng các luật thi hành

Bước cuối cùng là đem tri thức đã phát hiện được vào sử dụng trong thực

tế Trong một vài trường hợp người ta có thể sử dụng tri thức phát hiện được mà

Trang 26

không cần phải đưa vào một hệ thống máy tính Mặt khác, người sử dụng có thể hy vọng rằng tri thức đã tìm được có thể được đưa vào các máy tính và được khai thác bởi một số chương trình Đưa các kết quả đã tìm được vào sử dụng trong thực tế chính là mục đích cuối cùng của một quy trình KDD

Cần lưu ý rằng không gian của các mẫu thường là vô hạn và để liệt kê ra được các mẫu này ta cũng cần phải tiến hành nghiên cứu rất nhiều nữa Thành phần khai thác dữ liệu trong quy trình KDD chủ yếu liên quan đến việc phát hiện và liệt

kê ra các mẫu từ dữ liệu Bộ phận phát hiện tri thức quan tâm đến việc đánh giá và phân tích ý nghĩa của các mẫu để đi tới các quyết định mẫu nào có ý nghĩa và mẫu nào không Nó còn bao gồm việc lựa chọn các lược đồ mã hoá, tiền xử lý dữ liệu, rút mẫu và các phép dự đoán dữ liệu trước khi tiến hành giai đoạn khai phá dữ liệu

Chúng ta sẽ xem xét cụ thể một số công đoạn sau:

* Tìm hiểu rõ phạm vi ứng dụng: những tri thức có liên quan trước đây, các mục đích của người sử dụng

* Tạo lập tập dữ liệu đích: cho ra một tập dữ liệu, hoặc tập trung vào một tập con các biến hoặc các mẫu dữ liệu mà trên đó cần phải phát hiện ra các tri thức

* Quá trình làm sạch dữ liệu: các phép cơ bản như loại bỏ nhiễu hoặc các giá trị kỳ dị nếu hợp lý, xử lý các giá trị bị thiếu, sửa các lỗi mang tính h ệ thống

Rút gọn và dự đoán dữ liệu: phát hiện ra các đặc điểm hữu ích để biểu diễn lại dữ liệu sao cho phù hợp nhất với mục tiêu cần đạt tới Có thể sử dụng phương pháp rút bớt số chiều hoặc biến đổi dữ liệu để giảm bớt số lượng các biến

* Lựa chọn nhiệm vụ của khai phá dữ liệu: quyết định xem mục đích của quy trình KDD này là gì: phân loại, hồi quy, hay gộp nhóm, v.v

* Lựa chọn phương pháp khai phá dữ liệu: chọn các phương pháp sẽ sử dụng để tìm các mẫu trong dữ liệu Trong đó kể cả việc quyết định xem các mô hình nào và các tham số nào là thích hợp

* Rút ra các mẫu/các mô hình: tìm kiếm các mẫu đáng chú ý dưới một dạng biểu diễn khác đi hoặc một tập các biểu diễn như vậy: các quy tắc phân loại hoặc các cây, gộp nhóm và v.v

Trang 27

* Củng cố tri thức đã phát hiện được: tích hợp tri thức này vào hệ thống thực hành, hoặc đơn giản hơn là làm các báo cáo về nó và phân phát cho những người quan tâm Kiểm tra lại xem tri thức này có gì trái với những tri thức đã có trước đây không

Trang 28

CHƯƠNG 2 LUẬT KẾT HỢP

2.1 Một số định nghĩa về luật và luật kết hợp

+ Định nghĩa hệ luật dẫn : Một modul chương trình xử lý các thông tin của vấn đề

đang nằm trong bộ nhớ tạm thời thông qua một CSDL chứa các thông các luật dẫn

và bộ phận suy diễn để suy ra thông tin mới

Mô hình hệ luật dẫn bao gồm 3 bộ phận chính:

Cơ sở tri thức: tập hợp các luật dẫn, mô hình bộ nhớ lâu bền của con người

Bộ nhớ tạm thời( bộ nhớ hoạt động): chứa đựng các sự kiện khởi đầu của

vấn đề và các sự kiện có từ suy diễn, mô hình bộ nhớ tạm thời của con người

Động cơ suy diễn: mô hình hoá lập luận của con người bằng cách kết hợp

các sự kiện của vấn đề với các luật trong CSTT để suy diễn ra thông tin

mới

Trong CSTT với các trạng thái chính là các sự kiện trong bộ nhớ hoạt động và

bộ phận lập luận chính là động cơ suy diễn Khi các luật được phát tác thì các kết luận được đưa vào bộ nhớ hoạt động thành các sự kiện mới và quá trình lặp lại liên tục đến khi gặp điều kiện dừng của hệ thống (không có luật nào thoả điều kiện đang

có, hay không phát sinh thêm được tập mục phổ biến, thông tin mới nào cả, )

Mô tả một hệ luật dẫn: các luật dẫn hoặc còn gọi là luật IF – THEN là những mệnh đề có dạng LHS=>RHS trong đó LHS xác định các điều kiện hoặc hoàn cảnh phải được thoả mãn cho luật được áp dụng; RHS là những tác động phải xảy ra khi luật được áp dụng

Với mỗi X c, kiểm tra độ tin cậy của tất cả các luật X\Y=>Y, Y X,

YX và bỏ những luật không thoả minconf Theo định nghĩa, nó đủ biết tất cả các giá trị hỗ trợ của các tập con của X để tính độ tin cậy của một luật

Tri thức về các giá trị hỗ trợ của tất cả các tập con của X được bảo đảm bằng thuộc tính chặn dưới đóng của tập mục thoả mãn ngưỡng minsup( tính chất tất cả các tập con của một tập phổ biến cũng phổ biến)

Với lý thuyết này, khai phá luật kết hợp có thể chuyển thành hai bài toán tìm tất cả các tập phổ biến với một ngưỡng tối thiểu minsupp cho trước

Trang 29

Khai phá luật kết hợp có thể mở rộng để phân tích sự tương đương (nhiều chiều) với sự có mặt của các mối tuơng quan của các mục và tập mục Từ đó mở rộng để khai phá các mẫu phổ biến cực đại và các tập mục phổ biến đóng

+ Định nghĩa về luật kết hợp: Giả sử tập L={l1,l2, ,lm} là tập các ký hiệu Còn G=(U,V,E) là một đồ thị có hướng(hai phía) không có chu trình có các đỉnh được gián nhãn bởi các ký hiệu trong L Trong đó U V= và tập cạnh E={(u,v)|u U

và v V}

Mỗi một cung(u,v) trong G biểu diễn một mối quan hệ giữa hai ký hiệu nào

đó của L Còn B là một biểu thức logic với các biến là các ký hiệu của L (có thể con

B là dạng chuẩn tắc tuyển, tức là B có dạng: B= D1D2 Dm để dễ dàng cho việc tính giá trị của B)

Nếu như có một cung(u,v) của G nối 2 đỉnh từ A đến B thì ta nói rằng A là cha của B và B là con của A

Nếu như có một đường đi từ C đến D thì ta nói rằng C là tổ tiên của D và D

là cháu chắt của C

Mỗi một tập con có thứ tự TL được gọi là một phiên giao dịch

Một phiên T được gọi là xuất hiện ký hiệu x L nếu như x T hoặc x là tổ tiên của một vài phần tử nào đó của T

Một phiên T được gọi là xuất hiện tập ký hiệu XL nếu như T xuất hiện tất

cả các phần tử của tập X

Bài toán khai phá các luật kết hợp thoả mãn một rằng buộc cho trước chính

là việc tìm ra các luật kết hợp thoả mãn rằng buộc B với hệ số tin cậy c>c0 và s> s0( trong đó c0 và s0 là các hằng số được đưa ra bởi người sử dụng)

+ Ta ký hiệu Lk= tập các mẫu hay xuất hiện với k phần tử Còn Ck= tập các mẫu k phần tử có khả năng là mẫu hay xuất hiện Rõ ràng rằng Ck Lk

+ Một đồ thị lai trên {I} là họ H={E1,E2, ,En} các cạnh hay các tập con của

I, với Ei và tập T I là transversal của H nếu nó giao với tất cả các cạnh, nghĩa

là TEi) với  Ei

+ Với mỗi luật kết hợp X=>Y, hệ số hỗ trợ là tỷ số giữa tổng số bản ghi có chứa tập các thuộc tính XY và tổng số phần tử trong CSDL

Trang 30

+ Với mỗi luật kết hợp X=>Y, hệ số tin cậy của luật đó là tỷ số |XY|/|X| trong đó |XY| là tổng số bản ghi có chứa tập các thuộc tính X và Y,|X| là tổng số bản ghi chứa tập thuộc tính X

+ Giả sử T là một kho dữ liệu, X và Y là các tập giá trị của mẫu dữ liệu nhiều chiều Còn Z là một biểu thức gán các giá trị cụ thể cho các thuộc tính của mẫu dữ liệu Khi đó, một luật kết hợp mở rộng là một biểu thức dạng X=>Y(Z), có nghĩa là: các bản ghi hay các tác vụ thoả mãn điều kiện Z nếu như chứa X thì thường chứa Y

+ 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 A không phổ biến thì B cũng là không phổ biến)

Chứng minh: Nếu A B , với A, B là các tập mục thì supp(A)supp(B) (theo tính chất 1) mà supp(A)<minsupp thì supp(B)<minsupp

+Tính chất 3: Các tập con của một tập phổ biến cũng là tập phổ biến(nếu B

phổ biến thì A cũng phổ biến)

Nếu tập B là một tập phổ biến trong D, tức là supp(B)>minsuppp, mọi tập con A của B cũng phổ biến trong D bởi vì supp(A) supp(B)  minsupp (theo tính chất 2) Trường hợp đặc biệt, nếu tập A={i1,i2, ,im} thì mọi tập con(m-1) mục của

nó cũng là phổ biến nhưng điều ngược lại không đúng

2.2.2 Các tính chất của luật kết hợp

+Tính chất 1: Không hợp các luật kết hợp

Nếu X=>Z và Y =>Z trong D thì không nhất thiết (XY)=>Z là đúng

Ví dụ: xét trường hợp XY=, các tác vụ trong D hỗ trợ Z nếu và chỉ nếu chúng hỗ trợ mỗi X hoặc Y, khi đó luật XY=>Z có độ tin cậy 0%

Tương tự X=>Y và X=>Z thì không nhất thiết X=>YZ

Trang 31

+Tính chất 3: Các luật không có tính bắc cầu

Nếu X=>Y và Y=>Z thì không thể suy ra X=>Z

+Tính chất 4: Nếu luật A=>(L-A) không thoả mãn độ tin cậy cực tiểu thì

luật B =>(L-B) cũng không thoả mãn, với các tập mục L, A, B và B  A L

Vì supp(B)supp(A)(theo tính chất 1) ta có:

conf(B=>(L-B))=(supp(L)/supp(B))(supp(L)/supp(A))minconf

+Tính chất 5: Nếu có luật (L-C)=>C thì cũng có luật (L-D)=>D với CD và

D

Bởi vì DC nên (L-D)(L-C), do đó supp(L-D) supp(L-D)

Suy ra(supp(L)/supp(L-D))(supp(L)/supp(L-C)) minconf

2.3 Những đặc trƣng cơ bản của luật

2.3.1 Không gian tìm kiếm

Như đã đề cập ở trên, bài toán đặt ra là phải tìm tất cả các tập mục thoả ngưỡng minsupp Với việc duyệt tất cả các tập con của I sẽ hoàn toàn thất bại vì không gian tìm kiếm quá lớn Trên thực tế, các mục tăng tuyến tính số lượng bản ghi kéo theo sự tăng theo cấp luỹ thừa các tập mục cần xem xét Với trường hợp đặc biệt I={1,2,3,4}, ta có thể biểu diễn không gian tìm kiếm thành một lưới như trong hình sau:

Trang 32

Hình 2.1 Dàn cho tập I={1,2,3,4}

Các tập phổ biến nằm trong phần trên của hình trong khi những tập không phổ biến lại nằm trong phần dưới Mặc dù không chỉ ra một cách tường minh các giá trị hỗ trợ cho mỗi tập mục nhưng giả sử rằng đường biên đậm trong hình trên phân chia các tập phổ biến và tập không phổ biến Sự tồn tại của đường biên như vậy không phụ thuộc vào bất kỳ CSDL D và ngưỡng hỗ trợ minsupp nào mà sự tồn tại của nó chỉ đơn thuần được đảm bảo bởi tính chặn dưới của tập mục thoả ngưỡng

hỗ trợ minsupp

Nguyên lý cơ bản của các thuật toán thông thường là sử dụng đường biên này để thu hẹp không gian tìm kiếm một cách hiệu quả Khi đường biên được tìm thấy, có thể giới hạn việc xác định các giá trị hỗ trợ của các tập mục phía trên đường biên và bỏ qua các tập mục phía dưới đường biên

Giả sử ánh xạ f:I{1, ,|I|} là một phép ánh xạ từ các phần tử xI ánh xạ

1-1 vào các số tự nhiên Trong đó các phần tử có thể được xem có thứ tự hoàn toàn

Trang 33

Mặt khác, với XI, cho X.item:{1, ,|X|}I:nX.item n là một ánh xạ, trong

đó X.itemn là phần tử thứ n của các phần tử x X sắp xếp tăng dần trên quan hệ “<” của n- tiền tố của một tập mục X với n |X| được định nghĩa bởi P={X.itemm | 1 m

n}

Cho các lớp E(p), PI với E(P)={XI:|X|=|P|+1 và P là một tiền tố của X} là các nút của một cây Hai nút sẽ được nối với nhau bằng một cạnh nếu tất cả các tập mục của lớp E có thể được phát sinh bằng cách kết hợp hai tập mục của lớp cha E‟

Cùng với tính chặn dưới của tập mục thoả ngưỡng minsupp, điều này suy ra: nếu lớp cha E‟ của lớp E không có tối thiểu hai tập phổ biến thì E cũng phải không chứa bất kỳ một tập phổ biến nào Nếu gặp một lớp E‟ như vậy trong quá trình duyệt cây từ trên xuống thì đã tiến đến đường biên phân chia giữa tập phổ biến và không phổ biến Do đó không cần phải tìm tiếp phần sau đường biên này, tức là đã loại bỏ E và các lớp con của E trong không gian tìm kiếm

Tiếp theo cần giới hạn một cách có hiệu quả số lượng các tập mục cần phải duyệt Chỉ cần xác định các giá trị độ hỗ trợ của các tập mục mà đã duyệt qua trong quá trình tìm kiếm đường biên giữa tập phổ biến và tập không phổ biến

Cuối cùng, chiến lược tiếp cận phổ biến hiện nay sử dụng cả tìm kiếm ưu tiên bề rộng(BFS) lẫn tìm kiếm ưu tiên chiều sâu (DFS) Với BFS, giá trị hỗ trợ của tất cả (k-1) itemset được xác định trước khi tính giá trị hỗ trợ của k-itemset Ngược lại, DFS duyệt đệ quy theo cấu trúc cây mô tả ở trên

2.3.2 Độ hỗ trợ

Một tập mục có khả năng là phổ biến và cần phải xác định độ hỗ trợ của nó trong quá trình duyệt dàn được gọi là một tập mục ứng cử viên Một hướng tiếp cận phổ biến để xác định giá trị hỗ trợ của một tập mục là đếm các thể hiện của nó trong CSDL Với mục đích đó, một biến đếm được tạo ra và khởi tạo bằng 0 cho mỗi tập mục đang duyệt Sau đó, quét qua tất cả các tác vụ và khi tìm được một ứng cử viên

là tập con của một tác vụ thì tăng biến đếm của nó lên Thông thường, tập con tạo ra

và bảng tìm kiếm ứng cử viên được tích hợp và cài đặt bằng một cây băm hay một cấu trúc dữ liệu tương ứng

Như vậy, không phải tất cả các tập con của mỗi tác vụ đều được tạo ra mà chỉ những tác vụ có chứa trong các ứng cử viên hoặc có một tiền tố chung với ít nhất một ứng cử viên mới được tạo ra

Trang 34

Một hướng tiếp cận khác để xác định giá trị hỗ trợ của các ứng cử viên là sử dụng giao tập hợp Một TID là một khoá-biến nhận dạng tác vụ duy nhất Với một phần tử đơn giản, tidlist là tập hợp của các biến nhận dạng tương ứng với các tác vụ

có chứa phần tử này Do đó, các tidlist cũng tồn tại cho mỗi tập mục X và được biểu diễn bởi X.tidlist Phần tử tidlist của một ứng cử viên C=XY xác định bởi: C.tidlist=X.tidlist Y.tidlist Trong đó các tidlist được sắp xếp theo thứ tự tăng dần

để các phép giao được hiệu quả

Bằng cách dùng vùng đệm cho tidlist của các ứng cử viên phổ biến như là các kết quả trung gian, có thể tăng đáng kể tốc độ phát sinh tidlist cho các ứng cử viên tiếp theo Cuối cùng các độ hỗ trợ thực sự của ứng cử viên chính là |C.tidlist|

2.4 Những hướng tiếp cận chính

Kể từ khi được Agrawal đề xuất vào năm 1993, lĩnh vực khai phá luật kết hợp đến nay đã được nghiên cứu và phát triển theo nhiều hướng khác nhau Có những đề xuất nhằm vào cải tiến tốc độ thuật toán, có những đề xuất nhằm tìm kiếm luật có ý nghĩa hơn.v.v Sau đây là một số hướng nghiên cứu chính:

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

hết các nghiên cứu ở thời kỳ đầu về luật kết hợp đều liên quan đến luật kết hợp nhị phân Trong dạng luật kết hợp này, các mục (thuộc tính) chỉ được quan tâm là có hay không xuất hiện trong giao dịch của CSDL chứ không quan tâm về “mức độ” xuất hiện Có nghĩa là việc mua 20 chai bia và 1 chai bia được được xem là giống nhau Thuật toán tiêu biểu nhất khai phá dạng luật này là thuật toán Apriori và các biến thể của nó Đây là dạng luật đơn giản và các dạng luật khác cũng có thể chuyển

về dạng luật này bằng một số phương pháp như rời rạc hoá, mờ hoá, v.v Một ví dụ

về dạng luật này: ”Mua bánh mì=‟yes‟ AND mua đường=‟yes‟=> mua sữa=‟yes‟AND mua bơ=‟yes‟”, với độ hỗ trợ 20% và độ tin cậy 80%”

Luật kết hợp có thuộc tính số và thuộc tính hạng mục: các thuộc tính của các

CSDL thực tế có nhiều kiểu rất đa dạng (nhị phân, số, dạng mục, v.v.) Để phát hiện luật kết hợp với các thuộc tính này, các nhà nghiên cứu đã đề xuất một số phương pháp rời rạc hoá nhằm chuyển dạng luật này về dạng nhị phân để có thể áp dụng các thuật toán đã có Một ví dụ về dạng luật này: “Giới tính=‟Nam‟ AND Tuổi 

‟50 65‟AND Cân nặng  ‟60 80‟AND Lượng đường trong máu>120mg/dl=>

Trang 35

Luật kết hợp mờ: với những hạn chế còn gặp phải trong quá trình rời rạc hoá

các thuộc tính, các nhà nghiên cứu đã đề xuất luật kết hợp mờ nhằm khắc phục những hạn chế trên và chuyển luật kết hợp về một dạng tự nhiên hơn, gần gũi hơn với người sử dụng Một ví dụ về dạng luật này: “Họ khan=‟yes‟ AND sốt cao AND đau cơ=‟yes‟ AND khó thở=‟yes‟=> Bị nhiễm SARS=‟yes‟, với độ hỗ trợ 4% và độ tin cậy 85%” Trong luật trên, điều kiện sốt cao ở về trái của luật là một thuộc tính

đã được mờ hoá

Luật kết hợp nhiều mức: ngoài các dạng luật trên, các nhà nghiên cứu còn đề

xuất một hướng nghiên cứu nữa về luật kết hợp là luật kết hợp nhiều mức Với cách tiếp cận này, người ta sẽ tìm kiếm thêm những luật có dạng “Mua máy tính PC=>

Mua hệ điều hành AND mua phần mềm tiện ích văn phòng, ” thay vì chi phí

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

Luật kết hợp với thuộc tính được đánh trọng số: trong thực tế, các thuộc tính

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

hỗ trợ thấp, nhưng mang một ý nghĩa đặc biệt)

Luật kết hợp tiếp cận theo hướng tập thô: tìm kiếm luật kết hợp dựa trên lý

thuyết tập thô

Khai phá luật kết hợp song song: bên cạnh khai phá luật kết hợp với các

thuật toán tuần tự, các nhà làm tin học cũng tập trung vào nghiên cứu các thuật toán song song cho quá trình phát hiện luật kết hợp Nhu cầu song song hoá và xử lý phân tán là cần thiết bởi kích thước dữ liệu ngày càng lớn nên đòi hỏi tốc độ xử lý cũng như dung lượng bộ nhớ của hệ thống phải được đảm bảo Có rất nhiều thuật

Trang 36

toán song song khác nhau đã được đề xuất, chúng có thể phụ thuộc hoặc độc lập với nền tảng phần cứng

Bên cạnh những nghiên cứu về những biến thể của luật kết hợp, các nhà nghiên cứu còn chú trọng đề xuất những thuật toán nhằm tăng tốc quá trình tìm kiếm tập phổ biến từ CSDL Người ta chứng minh rằng, chỉ cần tìm kiếm những tập mục phổ biến tối đa là đủ đại diện cho tập tất cả các tập phổ biến (thuật toán MAFIA), hoặc chỉ cần tìm tập các phổ biến đóng là đủ như (thuật toán CLOSET), (thuật toán CHARM) Những thuật toán này cải thiện đáng kể về mặt tốc độ do áp dụng được những chiến lược cắt tỉa “tinh xảo” hơn các thuật toán trước đó

Ngoài ra, còn một số hướng nghiên cứu khác về khai phá luật kết hợp như: khai phá luật kết hợp trực tuyến, khai phá luật kết hợp được kết nối trực tuyến đến các kho dữ liệu đa chiều thông qua công nghệ OLAP(Online Analysis Processing ), MOLAP(Multidimentional OLAP), ROLAP(Relational OLAP), ADO(ActiveX Data Object) for OLAP v.v

Trang 37

CHƯƠNG 3 MỘT SỐ THUẬT TOÁN KHAI PHÁ DỮ LIỆU THEO

PHƯƠNG PHÁP LUẬT KẾT HỢP

3.1 Khai phá luật kết hợp boolean đơn chiều và đơn mức

Phương pháp khai phá luật kết hợp này đơn giản nhất để khai phá các tập mục phổ biến, nó sinh ra các luật kết hợp từ các tập mục phổ biến Vấn đề đặt ra là phải tìm ra tất cả các luật kết hợp có độ hỗ trợ và độ tin cậy thoả mãn ngưỡng hỗ trợ xác định nào đó

Sau khi tìm thấy các tập mục phổ biến từ các tác vụ t trong CSDL D Có thể sinh ra các luật kết hợp mạnh Điều này có thể chứng minh bằng độ tin cậy của luật

r đó Các thuật toán sử dụng được phân loại dựa vào duyệt theo không gian tìm kiếm (BFS,DFS)

3.1 1 Thuật toán Apriori

Thuật toán này dựa trên kỹ thuật BFS và đếm tần suất xuất hiện Thuật toán Apriori tạo ra việc sử dụng các tính chất chặn dưới của tập mục thoả ngưỡng minsupp bằng việc tỉa bớt những ứng cử viên thuộc tập không phổ biến trước khi tính độ phổ biến chúng Cách tối ưu có thể thực hiện được vì các thuật toán tìm kiếm ưu tiên theo chiều rộng(BFS) bảo đảm rằng các giá trị hỗ trợ của các tập của một ứng cử viên đều được biết trước Thuật toán Apriori đếm tất cả các ứng viên có

k phần tử trong một lần đọc CSDL Phần cốt lõi của bài toán là xác định các ứng cử viên trong mỗi tác vụ Để thực hiện được mục đích này phải dựa vào cấu trúc cây băm(hashtree) Các mục trong mỗi tác vụ được dùng để đi xuống trong cấu trúc cây băm Bất cứ khi nào tới được nút lá của nó, nghĩa là ta đã tìm được một tập các ứng

cử viên có cùng tiền tố được chứa trong tác vụ đó Sau đó các ứng cử viên này sẽ được thực hiện tìm kiếm trong tác vụ mà nó đã được mã hoá trước thành ma trận bit Nếu thành công, biến đếm các ứng cử viên trong cây được tăng lên

Bài toán được phát biểu: tìm tất cả các luật kết hợp có độ hỗ trợ s thoả mãn s

 s0 và độ tin cậy c  c0 (s0,c0 là hai ngưỡng do người dùng xác định- còn gọi là độ

hỗ trợ cực tiểu minsupp và độ tin cậy cực tiểu minconf) và ký hiêu Lk là tập k mục phổ biến, Ck là tập k mục ứng cử (cả hai tập có: độ tin cậy và độ hỗ trợ) Bài toán đặt ra được phân thành hai bước:

-Tìm tất cả các tập mục phổ biến với minsupp nào đó

Trang 38

-Sử dụng các tập phổ biến để sinh ra các luật kết hợp với độ tin cậy 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 đó 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

Thuật toán sẽ thực hiện quá trình duyệt dữ liệu lặp lại

Trong lần duyệt thứ nhất tìm tất cả các độ hỗ trợ của các mục riêng biệt và xác định các mục phổ biến (thoả độ hỗ trợ cực tiểu)

Trong các lần duyệt còn lại: bắt đầu với các tập mục phổ biến là kết quả tìm được trong lần duyệt trước, sử dụng các tập mục mẫu này sinh các tập mục phổ biến tiềm năng (gọi là tập ứng cử) và tìm độ hỗ trợ thực sự của các tập mục ứng cử này khi duyệt qua dữ liệu Mỗi lần duyệt, phải xác định được tập mục trong các tập ứng

cử là tập mục mẫu cho lần duyệt tiếp theo

Quá trình này thực hiện lặp cho đến khi không còn tập mục phổ biến nào nữa được tìm thấy

Thuật toán Apriori sinh ra các tập ứng cử để tính trong một lần duyệt bằng việc chỉ sử dụng các tập mục đã được tìm thấy là phổ biến trong lần duyệt trước đó

mà không cần quan tâm tới các tác vụ trong CSDL 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 ứ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à xoá đi các tập ứng viên nếu có chứa bất kỳ một tập con nào mà không phổ biến Thủ tục này dẫn đến một số nhỏ hơn nhiều các tập ứng viên, hay nói cách khác là khá hiệu quả trong việc thu hẹp không gian tìm kiếm

Thuật toán thực hiện theo cách lặp lại, trong đó tập (k-1) mục được sử dụng cho việc tìm tập k-mục Giả sử trong lần duyệt thứ nhất tìm được L1 - tập mục phổ biến (L1=C1, tập ứng cử trùng với tập phổ biến), tiếp theo sử dụng L1 để tìm các tập hai mục phổ biến L2, thực hiện lặp để tìm L3, ,Lk và cứ như vậy cho đến khi không tìm được tập mục phổ biến nào nữa lớn hơn k mục phổ biến đã được tìm thấy

Tập ứng cử Ck được sinh ra từ tập mục phổ biến Lk-1 kết hợp với chính nó, từ tập mục ứng cử Ck tìm ra những tập mục phổ biến đưa vào Lk Thuật toán Apriori

Trang 39

mục phổ biến phải là phổ biến Do đó, mục ứng cử Ck được tạo thành từ việc kết hợp các tập con của tập (k-1) mục phổ biến Điều đó giúp cho giảm một số lượng lớn đáng kể các ứng cử viên, rút gọn không gian tìm kiếm

Quá trình tìm tập mục phổ biến gồm hai bước:

Bước kết nối: Để tìm Lk là tập k - mục ứng cử được sinh ra bởi việc kết nối

Lk-1 với chính nó cho kết quả là Ck Giả sử L1 và L2 thuộc Lk-1, ký hiệu Li [j] là mục thứ j trong Li Điều kiện là các tập mục hay mục trong tác vụ hoặc tập mục có thứ tự

từ điển Kết nối Lk-1 và Lk-1 được thực hiện như sau: các thành phần của Lk-1 kết nối nếu có chung (k-2) - mục đầu tiên, tức là hai mục L1 và L2 của Lk-1 được kết nối với nhau nếu:

(L1[1]=L2[1] L2[1]=L2[2] L1[k-2]=L2[k-2]L1[k-1]=L2[k-1] với điều kiện (L1[k-1]<L2[k-1]) để đảm bảo không sinh thừa hoặc lặp lại

Kết quả thu được là dãy kết nối có dạng: L1[1]L2[1] L1[k-2]L2[k-1]

Bước tỉa: Quét CSDL và tập Ck để lấy ra tập mục phổ biến để đưa vào Lk Các ứng cử được tính độ hỗ trợ không nhỏ hơn ngưỡng hỗ trợ cực tiểu minsupp là tập phổ biến được xác định Tuy nhiên, có thể Ck là rất lớn, do đó phải rút gọn kích thước, để khắc phục Apriori sử dụng các tính chất để loại bỏ các tập mục không phổ biến khỏi Ck:

- Tất cả các tập con khác rỗng của tập mục phổ biến đều phổ biến

- Nếu L là tập mục không phổ biến thì mọi tập chứa nó không phổ biến

Kiểm tra tập con (k-1)này có thể làm nhanh bởi duy trì một cây băm của tất

cả các tập mục phổ biến đã tìm thấy

Thuật toán Apriori: tìm tất cả các tập mục phổ biến dựa trên cơ sở sinh các ứng cử:

Trang 40

Giả sử n là độ dài lớn nhất có thể đạt được của các tập được sinh ra Vậy thì thuật toán sẽ phải duyệt toàn bộ các tác vụ (n+1) lần Như vậy nếu bỏ qua thời gian

so sánh tìm sự xuất hiện của môt mẫu trong một tác vụ thì độ phức tạp của thuật

Main Program

+ Input: CSDL D,ngưỡng độ hỗ trợ cực tiểu của các tác vụ t là minsupp

+Output: L- tập mục phổ biến trong D

1 Tìm ra tập mục phổ biến, nhận được L1

For(k=2;Lk-1 ;k++){

C k =apriori_gen(L k-1 ,minsupp);//sinh tập ứng cử từ L k-1

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

Ct=subset(Ck,t);//lấy tập con của t mà là các ứng cử trong Ck For(mỗi ứng cử c  C t )

c.count++;//tăng bộ đếm tần suất cho c một đơn vị }

If(I1[1]=I21]  I1[2]=I2[2]   I1[k-2]=I2[k-2]  I1[k-1]  I2[k-1] ) then

c=I 1  I 2 //kết nối I 1 với I 2 sinh ra ứng cử c

Kiểm tra tập con (k-1) mục của ứng cử k mục không phải là tập phổ biến

Procedure has_infrequent_subset(c:Ứng cử k mục;L k-1 : tập phổ biến (k-1) mục)

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

2 If s  L k-1 then Return TRUE;

3 Return FALSE;

Ngày đăng: 29/06/2015, 20:41

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[2] Đào Hữu Hồ(2001), Xác suất thống kê, NXB Giáo dục Sách, tạp chí
Tiêu đề: Xác suất thống kê
Tác giả: Đào Hữu Hồ
Nhà XB: NXB Giáo dục
Năm: 2001
[3] Đinh Mạnh Tường(2003), Trí tuệ nhân tạo, NXB Đại học Quốc gia Hà Nội Sách, tạp chí
Tiêu đề: Trí tuệ nhân tạo
Tác giả: Đinh Mạnh Tường
Nhà XB: NXB Đại học Quốc gia Hà Nội
Năm: 2003
[4] Đỗ Trung Tuấn(1999), Hệ chuyên gia, NXB Giáo dục Sách, tạp chí
Tiêu đề: Hệ chuyên gia
Tác giả: Đỗ Trung Tuấn
Nhà XB: NXB Giáo dục
Năm: 1999
[5] Jeffrey D.Ullman(2000), Nguyên lý các hệ Cơ sở dữ liệu và cơ sở trí thức, NXB Thống kê Sách, tạp chí
Tiêu đề: Nguyên lý các hệ Cơ sở dữ liệu và cơ sở trí thức
Tác giả: Jeffrey D.Ullman
Nhà XB: NXB Thống kê
Năm: 2000
[6] Lê Tiến Vương(1996), Nhập môn cơ sở dữ liệu quan hệ, NXB Khoa học kỹ thuật Sách, tạp chí
Tiêu đề: Nhập môn cơ sở dữ liệu quan hệ
Tác giả: Lê Tiến Vương
Nhà XB: NXB Khoa học kỹ thuật
Năm: 1996
[7] Phan Đình Diệu(1999), Lôgic trong các hệ tri thức, NXB Đại học Quốc gia Hà Nội Sách, tạp chí
Tiêu đề: Lôgic trong các hệ tri thức
Tác giả: Phan Đình Diệu
Nhà XB: NXB Đại học Quốc gia Hà Nội
Năm: 1999
[8] Vũ Đức Thi(1997), Cơ sở dữ liệu- Kiến thức và thực hành, NXB Thống kê.+ Tài liệu tiếng Anh Sách, tạp chí
Tiêu đề: Cơ sở dữ liệu- Kiến thức và thực hành, "NXB Thống kê
Tác giả: Vũ Đức Thi
Nhà XB: NXB Thống kê. "+ Tài liệu tiếng Anh
Năm: 1997
[10] J.Han and Y.Fu(1999) Discovery of Multiple- Level Association Rules from Large Databases, IEEE Transactions on Knowledge and Data Engineering Sách, tạp chí
Tiêu đề: Discovery of Multiple- Level Association Rules from Large Databases
[11] Mayer.D(1983), The theory of Relational Database, Computer Science Press.Inc Sách, tạp chí
Tiêu đề: The theory of Relational Database
Tác giả: Mayer.D
Năm: 1983
[12] Michael J.Corey and Michael Abbey and Ian Abrasmon and Ben Taub(2000),Oracle Data Warehousing, Oracle Press Sách, tạp chí
Tiêu đề: Oracle Data Warehousing
Tác giả: Michael J.Corey and Michael Abbey and Ian Abrasmon and Ben Taub
Năm: 2000
[13]. Tamraparni Dasu and Theodor Johnson. Exploratory Data Mining and Data Clearing. John Wiley &amp; Sons, 2003 Sách, tạp chí
Tiêu đề: Exploratory Data Mining and Data Clearing
[14]. Daniel T. Larose. An Introduction to Data Mining. John Wiley &amp; Sons, 2005 Sách, tạp chí
Tiêu đề: An Introduction to Data Mining
[15]. Michael J. A. Berry and Gordon S. Linoff. Data Mining Techniques for Marketing, Sales and Customer Relationship Management. Wiley Publishing, 2004 Sách, tạp chí
Tiêu đề: Data Mining Techniques for Marketing, Sales and Customer Relationship Management
[16]. Dorian Pyle. Bussiness Modeling and Data Mining. Morgan Kaufmann Publishers, 2003 Sách, tạp chí
Tiêu đề: Bussiness Modeling and Data Mining
[17]. Mehmed Kantardzic. Data Mining: Concepts, Models, Methods and Algorithms. John Wiley &amp; Sons, 2003 Sách, tạp chí
Tiêu đề: Data Mining: Concepts, Models, Methods and Algorithms
[18]. Namid R. Nemati and Christopher D. Barko. Organizational Data Mining: Leveraging Enterprise for Optimal Performance. Idea Group Publishing, 2004 Sách, tạp chí
Tiêu đề: Organizational Data Mining: Leveraging Enterprise for Optimal Performance
[19]. Jiawei Han and Micheline Kamber. Data Mining, Concepts and Techniques. University of Illinois, Morgan Kaufmann Publishers, 2002 [20] http://www.data-mine.com Sách, tạp chí
Tiêu đề: Data Mining, Concepts and Techniques". University of Illinois, Morgan Kaufmann Publishers, 2002 [20]

HÌNH ẢNH LIÊN QUAN

Hình 1.1 Kiến trúc hệ thống khai phá dữ liệu - Áp dụng luật kết hợp trong khai phá dữ liệu cho dữ liệu ngân hàng đầu tư và phát triển việt nam
Hình 1.1 Kiến trúc hệ thống khai phá dữ liệu (Trang 12)
Hình 1.2 Quá trình khai phá dữ liệu - Áp dụng luật kết hợp trong khai phá dữ liệu cho dữ liệu ngân hàng đầu tư và phát triển việt nam
Hình 1.2 Quá trình khai phá dữ liệu (Trang 13)
Hình 1.3 Ví dụ về cây quyết định - Áp dụng luật kết hợp trong khai phá dữ liệu cho dữ liệu ngân hàng đầu tư và phát triển việt nam
Hình 1.3 Ví dụ về cây quyết định (Trang 15)
Hình 2.1 Dàn cho tập I={1,2,3,4} - Áp dụng luật kết hợp trong khai phá dữ liệu cho dữ liệu ngân hàng đầu tư và phát triển việt nam
Hình 2.1 Dàn cho tập I={1,2,3,4} (Trang 32)
Hình 3.1 Cây FP-Growth đếm mức phổ biến - Áp dụng luật kết hợp trong khai phá dữ liệu cho dữ liệu ngân hàng đầu tư và phát triển việt nam
Hình 3.1 Cây FP-Growth đếm mức phổ biến (Trang 44)
Hình 3.2 Cây điều kiện FP - Tree - Áp dụng luật kết hợp trong khai phá dữ liệu cho dữ liệu ngân hàng đầu tư và phát triển việt nam
Hình 3.2 Cây điều kiện FP - Tree (Trang 44)
Hình 3.3 Mức hoạt động của giải thuật - Áp dụng luật kết hợp trong khai phá dữ liệu cho dữ liệu ngân hàng đầu tư và phát triển việt nam
Hình 3.3 Mức hoạt động của giải thuật (Trang 45)
Hình 3.4 Mô phỏng dữ liệu cây băm Procedure Gen_final_count(HashMap,HashMapNew) - Áp dụng luật kết hợp trong khai phá dữ liệu cho dữ liệu ngân hàng đầu tư và phát triển việt nam
Hình 3.4 Mô phỏng dữ liệu cây băm Procedure Gen_final_count(HashMap,HashMapNew) (Trang 46)
Hình 3.5 Cây cấu trúc thân - Áp dụng luật kết hợp trong khai phá dữ liệu cho dữ liệu ngân hàng đầu tư và phát triển việt nam
Hình 3.5 Cây cấu trúc thân (Trang 47)
Hình 3.6 Mô phỏng sự kết hợp đầu và thân của luật - Áp dụng luật kết hợp trong khai phá dữ liệu cho dữ liệu ngân hàng đầu tư và phát triển việt nam
Hình 3.6 Mô phỏng sự kết hợp đầu và thân của luật (Trang 48)
Bảng dữ liệu sau đây minh họa một CSDL bao gồm các thuộc tính nhị phân, thuộc  tính số và thuộc tính hạng mục - Áp dụng luật kết hợp trong khai phá dữ liệu cho dữ liệu ngân hàng đầu tư và phát triển việt nam
Bảng d ữ liệu sau đây minh họa một CSDL bao gồm các thuộc tính nhị phân, thuộc tính số và thuộc tính hạng mục (Trang 55)
Bảng 1: CSDL khám và chuẩn đoán bệnh tim của 17 bệnh nhân - Áp dụng luật kết hợp trong khai phá dữ liệu cho dữ liệu ngân hàng đầu tư và phát triển việt nam
Bảng 1 CSDL khám và chuẩn đoán bệnh tim của 17 bệnh nhân (Trang 56)
Bảng 3: Rời rạc hoá thuộc tính số “Lƣợng cholesterol trong máu” và “Tuổi” - Áp dụng luật kết hợp trong khai phá dữ liệu cho dữ liệu ngân hàng đầu tư và phát triển việt nam
Bảng 3 Rời rạc hoá thuộc tính số “Lƣợng cholesterol trong máu” và “Tuổi” (Trang 57)
Bảng 2: Rời rạc hoá thuộc tính số rời rạc hữu hạn hoặc thuộc tính hạng mục - Áp dụng luật kết hợp trong khai phá dữ liệu cho dữ liệu ngân hàng đầu tư và phát triển việt nam
Bảng 2 Rời rạc hoá thuộc tính số rời rạc hữu hạn hoặc thuộc tính hạng mục (Trang 57)
Bảng 4: CSDL về khám và chuẩn đoán bệnh tim mạch của 13 bệnh nhân - Áp dụng luật kết hợp trong khai phá dữ liệu cho dữ liệu ngân hàng đầu tư và phát triển việt nam
Bảng 4 CSDL về khám và chuẩn đoán bệnh tim mạch của 13 bệnh nhân (Trang 59)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

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

w