1. Trang chủ
  2. » Công Nghệ Thông Tin

Khai phá luật kết hợp mờ và áp dụng vào bài toán đầu tư chứng khoán

75 286 1

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

Nội dung

Những tri thức thu được, được chuyên môn hoá theo các lĩnh vực như ứng dụng tài chính, sản xuất, nghiên cứu… Để có được tri thức từ cơ sở dữ liệu người ta đã phát triển các lý thuyết và

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

-

LUẬN VĂN THẠC SĨ

KHAI PHÁ LUẬT KẾT HỢP MỜ VÀ ÁP DỤNG VÀO

BÀI TOÁN ĐẦU TƯ CHỨNG KHOÁN

NGÀNH: CÔNG NGHỆ THÔNG TIN

NGUYỄN THÁI CƯỜNG

Người hướng dẫn khoa học: PGS -TS TRẦN ĐÌNH KHANG

Trang 2

Hà nội, ngày 18 tháng 11 năm 2009

HỌC VIÊN

NGUYỄN THÁI CƯỜNG

Trang 3

LỜI CẢM ƠN

Trước tiên em xin được trân trọng gửi lời cảm ơn và lòng biết ơn sâu sắc đến PGS.TS TRẦN ĐÌNH KHANG người đã tận tình hướng dẫn em từ bước chọn lựa đề tài đến các bước tìm tài liệu và nghiên cứu Vì đây là một lĩnh vực hoàn toàn mới mẻ đối với em nên nếu như không được sự chỉ bảo tận tình của PGS.TS TRẦN ĐÌNH KHANG thì em đã không thể hoàn thành được luận văn này

Em cũng xin được chân thành cảm ơn các thầy giáo, cô giáo Viện CNTT - TT

đã cung cấp cho chúng em những kiến thức cần thiết không chỉ cho khóa học mà còn giúp cho em rất nhiều trong công tác chuyên môn hàng ngày

Cuối cùng xin được gửi lời cảm ơn đến các bạn bè, đồng nghiệp và gia đình đã giúp đỡ trong việc tìm tài liệu tham khảo, trong công việc và động viên tôi trong thời gian vừa qua để tôi có thể thực hiện xong luận văn này

Xin trân trọng cảm ơn

Học viên Nguyễn Thái Cường

Trang 4

MỤC LỤC

Trang Lời cảm ơn

Mục lục

Danh mục các bảng 4

Danh mục các hình vẽ 5

Lời nói đầu 6

Chương 1: Tổng quan về khai phá dữ liệu 7

1.1 Phát hiện và khai phá dữ liệu 7

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

1.2.1 Vấn đề phát hiện tri thức từ cơ sở dữ liệu 9

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

1.2.2 1 Chọn lọc dữ liệu 10

1.2.2 2 Làm sạch dữ liệu 10

1.2.2 3 Làm giàu dữ liệu 10

1.2.2 4 Mã hóa 11

1.2.3 Khai phá 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ế 12

1.3 Nội dung bài toán khai phá dữ liệu 12

1.3.1 Phát hiện luật tối ưu truy vấn ngữ nghĩa 12

1.3.2 Phát hiện sự phụ thuộc cơ sở dữ liệu 13

1.3.3 Phát hiện sai lệch 14

1.3.4 Phát hiện luật kết hợp 14

1.3.5 Mô hình hóa sự phụ thuộc 15

1.3.6 Phân nhóm 16

1.3.7 Phân lớp 16

1.3.8 Tổng hợp 16

Trang 5

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

1.4.1 Công cụ truy vấn ,các kỹ thuật thống kê hiện thị 17

1.4.2 Các công cụ truy vấn trực tiếp 18

1.4.3 K láng giêng gần nhất 19

1.4.4 K trung bình 20

1.4.5 Cây quyết định 21

1.4.6 Luật kết hợp 22

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

2.1 Luật kết hợp 24

2.1.1 Ý nghĩa luật kết hợp 24

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

2.1.3 Phát biểu bài toán khai phá luật kết hợp 25

2.1.4 Thuật toán Apriori 29

2.1.5 Thuật toán Apriori nhị phân để tìm tập phổ biến 32

2.1.6 Phương pháp rời rạc hóa dữ liệu 34

2.2 Khai phá luật kết hợp mờ 36

2.2.1 Tập mờ 36

2.2.2 Các phép toán cơ bản trên tập mờ 37

2.2.3 Áp dụng tập mờ để rời rạc hóa dữ liệu và các ưu điểm 38

2.2.4 Luật kết hợp mờ 40

2.2.5 Thuật toán khai phá luật kết hợp mờ 42

Chương 3: Bài toán đầu tư chứng khoán 52

3.1 Nội dung bài toán 52

3.1.1 Mô hình bài toán 52

3.1.2 Cách giải quyết bài toán 53

3.1.3 Chuyển đổi cơ sở dữ liệu 55

3.1.4 Trích rút thông tin và mờ hóa 56

3.1.5 Xây dựng công thức tính toán chỉ số 59

Trang 6

3.2 Cài đặt và thử nghiệm 59

3.2.1 Các bước xây dựng chương trình 59

3.2.2 Các chức năng của chương trình 61

3.2.2.1 Chức năng Fuzzy Database 61

3.2.2.2 Chức năng Find Association Rules 62

3.2.2.3 Chức năng calculate Index 64

3.3 Cài đặt 67

KẾT LUẬN VÀ KIẾN NGHỊ 71

TÀI LIỆU THAM KHẢO 72 TÓM TẮT LUẬN VĂN

Trang 7

DANH MỤC CÁC BẢNG

Trang

Bảng 2.1 : Ví dụ về một cơ sở dữ liệu dạng giao tác 26 Bảng 2.2 : Các tập phổ biến với độ hỗ trợ tối thiểu 50% 27 Bảng 2.3 : Luật kết hợp sinh ra từ tập phổ biến ABE 29 Bảng 2.4 : Rời rạc hóa thuộc tính số 35 Bảng 2.5 Ký hiệu sử dụng trong thuật toán khai phá luật kết hợp mờ 42 Bảng 2.6 Ví dụ cơ sở dữ liệu 13 cuộc gọi điện thoại 44 Bảng 2.7 –TF- Giá trị các thuộc tính tại các bản ghi đã được mờ hóa 46 Bảng 2.8 : F1- Tập tất cả các thuộc tính mờ phổ biến có lực lượng bằng 1 47 Bảng 3.1 ví dụ về dữ liệu giao dịch chứng khoán theo ngày 55 Bảng 3.2 ví dụ về dữ liệu giao dịch của từng cổ phiếu theo ngày 55 Bảng 3.3 : Giao dịch của cổ phiếu BBC trong tháng 12 68

Trang 8

DANH MỤC CÁC HÌNH VẼ

Trang

Hình 1.1: Quá trình phát hiện tri thức từ cơ sở dữ 9

Hình 2.1: Đồ thị hàm thuộc của 3 tập mờ 38 Hình 3.1: Hàm thuộc hình thang cho các tập mua trái phiếu ít

và mua trái phiếu trung bình 54 Hình 3.2 : Các bước tiến hành khai phá dữ liệu chứng khoán 59 Hình 3.3 : Trang thông tin chứng khoán 60 Hình 3.4 : Giao diện chính chương trình 61 Hình 3.5 Mờ hóa database phần VnIndex 61 Hình 3.6 a,b Kết quả tìm luật 62 Hình 3.7 Giao diện chức năng tính customer index 63 Hình 3.8 Người dùng lựa chọn loại chứng khoán quan tâm 64 Hình 3.9 : Mờ hóa database theo Customer index 65 Hình 3.10 : Kết quả tìm luật của Customer Index 66 Hình 3.11 : Đồ thị cổ phiếu BBC trong tháng 12 69

Trang 9

LỜI NÓI ĐẦU

Trong những năm gần đây, vai trò của máy tính trong việc lưu trữ và xử lý thông tin ngày càng quan trọng Cùng với việc phát triển mạnh mẽ của công nghệ, đặc biệt trong lĩnh vực phát triển khả năng của bộ vi xử lý, các thiết bị lưu trữ và các thiết bị thu nhập dữ liệu tự động đã tạo ra những kho dữ liệu khổng lồ như dữ liệu ngân hàng, bán hàng…Vấn đề đặt ra là làm thế nào để xử lý khối lượng thông tin cực lớn như vậy để phát hiện ra các tri thức tiềm ẩn Những tri thức thu được, được chuyên môn hoá theo các lĩnh vực như ứng dụng tài chính, sản xuất, nghiên cứu…

Để có được tri thức từ cơ sở dữ liệu người ta đã phát triển các lý thuyết và

kỹ thuật mới, một trong số đó là kỹ thuật khai phá dữ liệu, nhằm tìm ra những thông tin tiềm ẩn có giá trị mà trước đó chưa được phát hiện cũng như tìm ra những xu hướng phát triển và tác động lên chúng

Khai phá luật kết hợp là bài toán được nhiều nhà nghiên cứu quan tâm bởi

nó được ứng dụng rộng rãi trong các lĩnh vực cũng như chứa đựng nhiều hướng

mở rộng khác nhau Luận văn tốt nghiệp này nhằm tìm hiểu về “Khai phá luật kết hợp mờ và áp dụng vào bài toán đầu tư chứng khoán” Qua luận văn tôi cũng

xin được bày tỏ lời cảm ơn sâu sắc nhất đến thầy giáo PGS.TS Trần Đình Khang

đã giúp đỡ trong quá trình thực hiện

Trong quá trình thực hiện luận văn này, mặc dù đã rất cố gắng, song không thể tránh khỏi những sai sót, tôi rất mong nhận được sự chỉ bảo và giúp đỡ của thầy giáo và các bạn

Trang 10

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

Cùng với sự phát triển của công nghệ thông tin và việc ứng dụng công nghệ thông tin trong nhiều lĩnh vực của đời sống kinh tế xã hội, trong nhiều năm qua lượng dữ liệu đã được các cơ quan thu thập và lưu trữ ngày một tích luỹ nhiều lên

Họ lưu trữ các dữ liệu này vì cho rằng trong nó ẩn 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ĩ rằng có cái gì đó quan trọng đã bị bỏ qua sau này sẽ 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)

Kỹ thuật phát hiện tri thức và khai phá dữ liệu đã và đang được nghiên cứu, ứng dụng trong nhiều lĩnh vực khác nhau ở các nước trên thế giới, tại Việt Nam kỹ thuật này cũng đang được nghiên cứu và dần đưa vào ứng dụng Trong chương này trình bày một cách tổng quan về Kỹ thuật phát hiện tri thức và khai phá dữ liệu

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

Nếu quan niệm tri thức là mối quan hệ của các mẫu giữa các phần tử dữ liệu thì quá trình phát hiện tri thức chỉ toàn bộ quá trình triết suất tri thức từ cơ sở dữ liệu, trong đó trải qua nhiều giai đoạn khác nhau như: tìm hiểu và xác định vấn đề, thu nhập và tiền xử lý dữ liệu, phát hiện tri thức, minh hoạ và đánh giá tri thức đã phát hiện và đưa kết quả vào thực tế Đây là một kỹ thuật mới xuất hiện và có tốc

Trang 11

độ phát triển rất nhanh Ngoài ra nó còn là một lĩnh vực đa ngành liên quan đến nhiều lĩnh vực khác như: lý thuyết thuật toán, tính toán song song và tính toán kết quả cao nhưng chủ yếu dựa trên nền tảng của xác suất thống kê, cơ sở dữ liệu

và học máy

Khai phá dữ liệu là giai đoạn phát hiện tri thức trong một chuỗi các giai đoạn của quá trình KDD Tuy nhiên đây là giai đoạn đóng vai trò chủ chốt và là giai đoạn chính tạo nên tính đa ngành của KDD

Giáo sư Tom Mitchell đã đưa ra định nghĩa của khai phá dữ liệu như sau:

“Khai phá dữ liệu là việc sử dụng dữ liệu lịch sử để khám phá những qui tắc và cải thiện những quyết định trong tương lai.” Với một cách tiếp cận ứng dụng hơn, Tiến

sĩ Fayyad đã phát biểu: “Khai phá dữ liệu, thường được xem là việc khám phá tri thức trong các cơ sở dữ liệu, là một quá trình trích xuất những thông tin ẩn, trước đây chưa biết và có khả năng hữu ích, dưới dạng các qui luật , ràng buộc, qui tắc trong cơ sở dữ liệu.” Nói tóm lại, khai phá dữ liệu là một quá trình học tri thức mới

từ những dữ liệu đã thu thập được

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 về nguyên lý trải qua 5 giai đoạn khác nhau và được mô tả trong hình 1.1

Mặc dù chia làm 5 giai đoạn như trên, song quá trình phát hiện tri thức từ cơ

sở dữ liệu là một quá trình tương tác và lặp đi 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ầp lặp trước Ngoài ra, giai đoạn sau lại dựa trên kết quả 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 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 Sau đây sẽ trình bày chi tiết các giai đoạn này

Trang 12

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

1.2.1 Vấn đề phát hiện tri thức từ cơ sở dữ liệu

Đây là một quá trình mang tính định tính với mục đích xác định được lĩnh vực yêu cầu phát hiện tri thức và xây dựng bài toán tổng kết Trong thực tế, các cơ

sở dữ liệu được chuyên môn hoá 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 lĩnh vực khác Vì vậy 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 – giai đoạn 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

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ã hoá dữ liệu Các công đoạn được thực hiệ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

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

4 Minh hoạ và đánh giá tri thức phát hiện được

Trang 13

sau Tuy nhiên tuỳ từng dữ liệu cụ thể mà quá trình trên được điều chỉnh cho phù hợp

1.2.2.1 Chọn lọc dữ liệu

Đây là bước chọn lọc các loại 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 và đã xác định giai đoạn xác định vấn đề

1.2.2.2 Làm sạch dữ liệu

Dữ liệu thực tế đặc biệt là những 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 hoà 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 ra 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 trên thuộc tính 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 nhất

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

1.2.2.3 Làm giàu dữ liệu

Trang 14

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 phá 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 thiếu khuyết vào được

Quá trình làm giàu 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ũ

1.2.2.4 Mã hoá

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ã hoá dưới dạng các thủ tục, chương trình hay tiện ích nhằm tự động hoá việc kết suấ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 phá dữ liệu

Giai đoạn khai phá dữ liệu được bắt đầu sau khi dữ liệu đã được thu nhậ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 phá dữ liệu, tiến hành lựa chọn các phương pháp khai phá 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 phá 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 phá dự báo- bao gồm cả việc thực hiện các suy diễn trên dữ liệu có Tuỳ theo bài toán xác định được mà ta lựa chọn các phương pháp khai phá dữ liệu cho phù hợp

1.2.4 Minh hoạ và đánh giá

Trang 15

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 phá 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 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 hoá quá trình này

1.3 Nội dung của bài toán khai phá dữ liệu

Do phổ ứng dụng của lĩnh vực KDD là rất lớn, nhằm đáp ứng những đòi hỏi trong nhiều lĩnh vực khác nhau nên việc phát hiện tri thức cũng trở nên đa dạng hơn Như đã đề cập, bước đầu tiên trong quá trình phát hiện tri thức là việc xác định lĩnh vực ứng dụng và xác định loại kiến thức nào mà thuật toán phát hiện tri thức cần phải kết xuất từ dữ liệu Do vậy, việc phân loại, so sánh giữa các kiểu nhiệm vụ phát hiện tri thức trong cơ sở dữ liệu là vấn đề đáng quan tâm nhằm tạo

ra một hệ thống phát hiện tri thức trong cơ sở dữ liệu Sau đây sẽ lần lượt trình bày các nội dung của khai phá dữ liệu

1.3.1 Phát hiện các luật tối ưu truy vấn ngữ nghĩa

Các luật tối ưu truy vấn thông thường thực hiện một phép biến đổi cú pháp hay sắp xếp lại thứ tự của các phép toán quan hệ trong một truy vấn và sản sinh ra một truy vấn hiệu quả hơn dựa trên lý thuyết đại số quan hệ Các luật được biến

Trang 16

đổi trả lại cùng một kết quả như câu truy vấn ban đầu, ở bất kỳ trạng thái nào của

cơ sở dữ liệu

Ngược lại, việc tối ưu các truy vấn ngữ nghĩa biến đổi các câu truy vấn ban đầu thành một truy vấn mới tối ưu hơn bằng cách thêm vào hoặc loại bỏ các mối liên hệ hoặc bằng việc sử dụng tri thức cơ sở dữ liệu ngữ nghĩa (bao gồm các ràng buộc về tính toàn vẹn và phụ thuộc hàm) để sản sinh ra câu truy vấn hiệu quả hơn Câu truy vấn mới này cũng trả về cùng một kết quả với câu truy vấn cũ ở bất kỳ trạng thái nào của cơ sở dữ liệu thoả mãn kiến thức về ngữ nghĩa được sử dụng trong phép biến đổi

Các luật tối ưu truy vấn ngữ nghĩa được gọi là các luật SQO Một nội dung của khai phá dữ liệu là phát hiện ra các luật này Các hệ thống phát hiện luật SQO

có thể được chia làm 3 lớp:

* Các hệ thống hướng truy vấn: trong đó thuật toán phát hiện tri thức trong cơ sở

dữ liệu nhằm phục vụ các truy vấn cơ sở dữ liệu thực của người dùng

* Các hệ thống hướng dữ liệu: còn gọi là các hệ thống tác nghiệp trong đó các

thuật toán phát hiện tri thức trong cơ sở dữ liệu chủ yếu phục vụ sự phân bố dữ liệu trong trạng thái hiện thời của cơ sở dữ liệu

* Các hệ thống lai: kết hợp các đặc tính của cả hệ thống hướng truy vấn và hệ

thống hướng dữ liệu

Một đặc tính quan trọng của các luật SQO, khác với các kiểu phát hiện tri thức khác, là việc chọn các thuộc tính để tổng hợp một SQO cần phải tính toán đến chi phí liên quan như dùng phương pháp truy cập nào và sơ đồ chỉ số nào trong hệ quản trị cơ sở dữ liệu Việc này là cần thiết để tiết kiệm thời gian sử lý truy vấn Một thuật toán phát hiện tri thức trong cơ sở dữ liệu thuộc loại này đòi hỏi cần phải xem xét tối ưu chi phí

1.3.2 Phát hiện sự phụ thuộc cơ sở dữ liệu

Trang 17

Trong mô hình cơ sở dữ liệu quan hệ, chúng ta thường nghiên cứu các quan

hệ trong cơ sở dữ liệu với các ràng buộc và quan hệ giữa chúng mà không tính đến quan hệ giữa các thuộc tính Các quan hệ này thường được thể hiện thông qua các phụ thuộc hàm và các ràng buộc tính toàn vẹn

Phương pháp phát hiện tự động các sự phụ thuộc cơ sở dữ liệu này chính là một nhiệm vụ của khai phá dữ liệu

1.3.3 Phát hiện sự sai lệch

Nhiệm vụ này nhằm phát hiện sự sai lệch đáng kể giữa nội dung của một tập con dữ liệu thực và nội dung mong đợi Hai mô hình sai lệch hay được sử dụng là

mô hình sai lệch theo thời gian và mô hình sai lệch theo nhóm

Sai lệch theo thời gian dùng để chỉ sự thay đổi có ý nghĩa của dữ liệu theo thời gian Sai lệch theo nhóm là sự khác nhau không mong muốn giữa dữ liệu trong hai tập con, ở đây tính đến cả trường hợp tập con này thuộc trong tập con kia Điều đó có nghĩa là xác định xem dữ liệu trong một nhóm con của đối tượng có khác đáng kể so với toàn bộ đối tượng không Theo cách này, các sai sót dữ liệu hay sự sai lệch so với giá trị thông thường được phát hiện

1.3.4 Phát hiện luật kết hợp

Để hiểu về nội dung này, ta xét một ví dụ: Xét một tập các mặt hàng trong một giỏ mua hàng Vấn đề đặt ra là tìm ra những mối tương quan giữa các mặt hàng trong giỏ

Một cách chi tiết hơn, xét một tập các thuộc tính nhị phân với một tập các

bộ, mỗi bộ được gọi là một giỏ Các thuộc tính nhị phân gọi là các mục hay các mặt hàng trong giỏ mà mỗi mục chỉ nhận một trong hai giá trị đúng hoặc sai tùy thuộc vào khác hàng có mua mặt hàng đó trong giao dịch hay không? Trên thực tế loại dữ liệu này rất phổ biến và được gọi là dữ liệu giỏ Chúng thường được thu thập thông qua công nghệ mã số, mã vạch trong các hoạt động kinh doanh siêu thị

Trang 18

Một giao dịch có thể chứa một khoản mục, tập hợp tất cả các khoản mục sẽ thuộc vào không gian T nào đó mà mỗi giao dịch khi đó là một tập con của T Ta cần phát hiện những mối tương quan quan trọng hoặc mối quan hệ, mối kết hợp trong số các khoản mục chứa trong các giao dịch của một dữ liệu nào đó sao cho

sự xuất hiện của một số khoản mục nào đó trong một giao dịch sẽ kéo theo sự xuất hiện của các khoản mục khác trong cùng một giao dịch đó

Một luật kết hợp là một quan hệ có dạng x ⇒ y, x và y là tập các khoản mục

và x ∩ y = ∅ Mỗi luật kết hợp được đặc trưng bởi độ hỗ trợ (supp) và độ tin cậy (conf) Supp được định nghĩa như là tỷ lệ số giỏ thỏa mãn các x và y trên toàn bộ

số giỏ Như vậy supp(x ⇒ y) = P (x ∪ y) Conf được xác định như tỷ lệ số giỏ thỏa mãn cả x và y trên toàn bộ số giỏ chỉ thỏa mãn x, tức là conf = |x ∪ y| / |x| hay conf (x ⇒ y) = P(y/x) Một luật được gọi là mạnh nếu nó thỏa mãn ngưỡng hỗ trợ và ngưỡng tin cậy tối thiểu

1.3.5 Mô hình hoá sự phụ thuộc

Đây chính là việc phát hiện và mô hình hoá sự phụ thuộc trong số các thuộc tính Những sự phụ thuộc này thường được biểu diễn dưới dạng các luật “nếu thì”: nếu tiền đề là đúng thì kết luận là đúng Về nguyên tắc, cả tiền để và kết luận của luật đều có thể là sự kết hợp lôgic của các giá trị thuộc tính Trên thực thế, tiền đề thường là một nhóm các giá trị thuộc tính và kết luận chỉ là một giá trị thuộc tính

Cần lưu ý là những luật này không hoàn toàn giống với sự phụ thuộc cơ sở

dữ liệu Hơn nữa, hệ thống có thể phát hiện các luật với phần kết luận nhiều thuộc tính Điều này khác với luật phân lớp trong đó tất cả các luật cần phải có cùng một thuộc tính do người dùng chỉ ra trong kết luận

Quan hệ phụ thuộc cũng có thể biểu diễn dưới dạng mạng Bayes Đó là một

đồ thị có hướng, không chu trình Các nút biểu diễn các thuộc tính và trọng số của cung biểu diễn độ mạnh của sự phụ thuộc giữa các nút đó

Trang 19

1.3.6 Phân nhóm

Một nhiệm vụ của các hệ thống phát hiện tri thức là phân tích các đối tượng

dữ liệu dạng các giỏ mua hàng mà không quan tâm tới lớp của chúng Các hệ thống này phải tự phát hiện ra các lớp và sinh ra một sơ đồ phân nhóm của tập dữ liệu đó

Tuy nhiên chất lượng của việc phân nhóm này là một vấn đề khó có thể xác định được Bài toán phân nhóm xác định các nhóm dựa vào quan hệ nhiều - nhiều, tức là bất kỳ thuộc tính nào cũng có thể được sử dụng để xác định các nhóm và để

dự báo các giá trị thuộc tính khác Điều này trái với cách xác định nhiều - một liên quan đến nhiệm vụ phân lớp các đối tượng, trong đó một thuộc tính được coi như lớp và tất cả các thuộc tính khác được sử dụng để phán đoán giá trị cho thuộc tính lớp

để dự báo lớp cho các bộ dữ liệu mới khác cùng khuôn dạng

Trong trường hợp những kiến thức được phát hiện biểu diễn dưới dạng các luật thì khuôn dạng của các luật có thể là: “nếu các thuộc tính dự báo của một bộ

dữ liệu thoả mãn các điều kiện của tiền đề thì bộ dữ liệu đó có lớp chỉ ra trong kết luận”

1.3.8 Tổng hợp

Trang 20

Nhiệm vụ tổng hợp chính là việc sản sinh ra các mô tả đặc trưng cho một lớp Các mô tả này là một kiểu tổng hợp, tóm tắt mô tả các đặc tính chung của tất

cả (hoặc hầu hết) các bộ dữ liệu dạng giỏ mua hàng thuộc một lớp

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

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

Vì tri thức có nhiều dạng thể hiện khác nhau nên có nhiều kỹ thuật phương pháp được sử dụng để phát hiện tri thức Tuy nhiên chúng ta sẽ quan tâm đến các

kỹ thuật sau:

Các công cụ truy vấn, các kỹ thuật thống kê, hiển thị

Công cụ phân tích trực tuyến (OLAP)

Học dựa trên trường hợp (k láng giềng gần nhất)

K trung bình

Cây quyết định

Luật kết hợp

1.4.1 Các công cụ truy vấn, các kỹ thuật thống kê hiển thị

Hiện nay, phần lớn các hệ thống cơ sở dữ liệu điều hành, cơ sở dữ liệu báo cáo và kho dữ liệu vẫn dùng chủ yếu các công cụ truy vấn SQL cho việc khai phá

dữ liệu đầu ra Với các công cụ truy vấn này, người dùng sẽ đạt được các thông tin chính xác Với một số công cụ phân tích SQL tốt, người lãnh đạo nhà phân tích, người quản lý có thể kết xuất dữ liệu ra một cách tuỳ biến đáp ứng yêu cầu hỗ trợ quyết định đến khoảng 80% Phần còn lại ước tính khoảng 20% là các thông tin tiềm ẩn đòi hỏi phải có kỹ thuật cao hơn và thường dùng cho các tổ chức lớn, có

Trang 21

kho dữ liệu lớn 20% thông tin này có thể là những thông tin vô cùng quan trọng quyết định sự thành công trong môi trường cạnh tranh

Chúng ta sẽ sử dụng một ví dụ minh hoạ trong cả chương để biểu diễn quá trình phát hiện tri thức trong cơ sở dữ liệu Một nhà sách có cơ sở dữ liệu về các khách hàng mua sách theo các chủ đề về sách thiếu nhi, thể thao, âm nhạc và sách

kỹ thuật Mục tiêu của quá trình khai phá dữ liệu là tìm ra các nhóm khách hàng có đặc tính chung để thực hiện các hoạt động tiếp thị Do đó, chúng ta quan tâm đến các câu hỏi đại loại như: “Hồ sơ điển hình của một tác giả về sách thiếu nhi là gì?” hoặc “Có mối tương quan nào giữa sự quan tâm đến sách thiếu nhi và sách kỹ thuật?”

Khi đó các số liệu đưa ra có thể là tuổi trung bình của khác hàng là 46, thu nhập trung bình là 700.000 đồng, và thú vị hơn khi ta thấy trong số 400 người mua sách thiếu nhi có rất ít người (khoảng 30) mua sách kỹ thuật Những con số thống

kê này rất quan trọng vì chúng đưa ra một chuẩn để phán xét hiệu quả của các thuật toán học và nhận dạng Chúng ta cũng thấy qua con số thống kê tuổi của những người mua sách thiếu nhi là rất thấp và người mua hai loại sách ta cũng thấy nhiều thông tin quan trọng Nếu tìm hiểu sâu hơn về khả năng mua sách theo độ tuổi chúng ta cũng sẽ thấy một bức tranh khác về khách hàng

Tuy nhiên, sự khác biệt thú vị xảy ra khi thống kê theo nhóm con Các khách hàng mua sách thiếu nhi thường tập trung ở độ tuổi 30, những khách hàng mua sách thể thao thì trải rộng qua nhiều độ tuổi khách nhau

Rõ ràng công cụ SQL có thể thu nhập được các thông tin chi tiết dựa trên cấu trúc của dữ liệu và những thông tin này có thể rất hữu ích cho các mục đích hỗ trợ quyết định

1.4.2 Các công cụ truy vấn trực tiếp

Như đã biết, công nghệ cơ sở dữ liệu hiện nay chủ yếu dựa theo mô hình quan hệ Trong mô hình quan hệ, dữ liệu được biểu diễn dưới dạng các bảng có

Trang 22

quan hệ với nhau Do vậy, dữ liệu thường là 2 chiều Các câu hỏi dựa trên các bảng hai chiều tường là tương đối đơn giản và không cho phép đạt được các thông tin có giá trị và với yêu cầu phức tạp Việc phân tích dữ liệu nhiều khi cần đặt ra những câu hỏi phức tạp hơn gồm nhiều ràng buộc, chẳng hạn : “Số sách thiếu nhi bán được trong 3 tháng ở khu vực Đông Anh cho những người có độ tuổi từ 20 – 30 là bao nhiêu ?” Những câu hỏi như vậy được coi là những câu truy vấn nhiều chiều Chúng rất hữu ích cho các quyết định mang tính chiến lược song lại không dễ dàng

có được câu trả lời trên những bảng dữ liệu hai chiều

Các công cụ phân tích trực tuyến được phát triển để giải quyết vấn đề này dựa trên mô hình dữ liệu đa chiều Một cách tổng quát, công cụ phân tích trực tuyến đa chiều (MOLAP) lưu dữ liệu dưới khuôn dạng các khối đa chiều sẵn sàng cho khai phá trực tiếp Ngoài ra, các công cụ phân tích trực tuyến đa chiều kiểu quan hệ (ROLAP) bao gồm một cơ cấu đa chiều cho phép kết nối đến dữ liệu thực

sự lưu dưới dạng mô hình quan hệ Mô hình này cho phép lưu dữ liệu theo dạng hai chiều song lại phân tích theo kiểu đa chiều

Điểm khác biệt giữa các công cụ phân tích trực tuyến và khai phá dữ liệu là các công cụ phân tích trực tuyến không học Điều đó có nghĩa là chúng không tạo

ra tri thức mới và chỉ thể hiện và tổng hợp các dữ liệu chính xác ở nhiều nơi ở nhiều giác độ khác nhau Mặt khác các luật khai phá dữ liệu thông minh hơn và chúng không cần một dạng lưu trữ đặc biệt nào mà thường dựa ngay vào các cơ sở

dữ liệu quan hệ

1.4.3 K láng giềng gần nhất

Khi dữ liệu được biểu diễn dưới dạng các phần tử trong không gian nhiều thì

sẽ hình thành nên khái niệm láng giềng

Giả sử chúng ta muốn dự báo hành vi của một tập khách hàng với một cơ sở

dữ liệu mô tả về khách hàng đó Một giả định quan trọng đòi hỏi đặt ra là khách hàng cùng một kiểu sẽ có cùng một hoạt động Trong không gian dữ liệu một kiểu

Trang 23

khách hàng không hơn là một vùng dữ liệu mà các bộ có cùng kiểu Nói khác đi, các bộ có cùng kiểu sẽ phân bố gần nhau và chúng sẽ là “láng giềng” của nhau Dựa trên ý tưởng này chúng ta có thể phát triển một thuật toán rất đơn giản nhưng hiệu quả “ k láng giềng gần nhất” Phương châm của phương pháp k láng giền gần nhất là “làm như láng giềng làm” Nếu như chúng ta muốn dự báo hành vi của một

cá nhân nào đó, chúng ta bắt đầu bằng cách nhìn vào các hành vi chẳng hạn 10 cá nhân gần nhất với anh ta Và giá trị trung bình của các hành vi của các láng giềng này sẽ dự báo cho hành vi của anh ta Số k trong phương pháp k láng giềng nhất dùng để chỉ số láng giềng được xem xét

Phương pháp k láng giềng gần nhất đơn giản nhưng chưa phải là một kỹ thuật học mà gần như một phương pháp tìm kiếm Nếu ta muốn phương pháp này

dự báo hành vi cho từng phần tử trong một tập thể dữ liệu có n bộ thì ta phải so sánh từng bộ phận với tất cả các bộ còn lại và như vậy, độ phức tạp sẽ là O(n+) Điều đó có nghĩa là không thể áp dụng phương pháp này cho dữ liệu lớn

Một số vấn đề của phương pháp k láng giềng gần nhất là độ đo tức là xác định khoảng cách của hai phần tử trong không gian Do các thuộc tính có nhiều khuôn dạng dữ liệu khác nhau, có thể là các giá trị liên tục rời rạc hoặc mờ nên việc tìm một độ đo hiệu quả là rất khó Các thuộc tính quan trọng có thể là có một trọng số cao hơn trong công thức tính toán

Việc áp dụng thuật toán k láng giềng gần nhất chỉ là dự báo hiệu quả trong một số trường hợp nhất định Chẳng hạn với tập dữ liệu phân bố tương đối đều trong cả không gian, k láng giềng gần nhất sẽ không tìm ra được các thông tin nhiều ý nghĩa Nhưng nếu trong một không gian khách hàng có thu nhập khác nhau luôn, chắc chắn hành vi mua sắm cũng khác nhau và như vậy phương pháp k láng giềng gần nhất có thể hữu ích

1.4.4 K – trung bình

Trang 24

Giải thuật k trung bình phần lớn được sử dụng trong các kỹ thuật phân nhóm

và đặc biệt với các thuộc tính dữ liệu kiểu số Giả sử cho trước một tập các đối tượng dạng số x và một số nguyên k (<= n) giải thuật k trung bình sẽ tìm ra một cách phân chia x thành các cụm (nhóm) sao cho cực tiểu hoá tổng sai phương trong các nhóm

Quá trình này thường được lặp đi lặp lại nhằm tìm ra một cách phân chia tối

ưu theo nghĩa các phần tử trong một nhóm thì gần nhau hơn các phần tử khác nhóm

Phương pháp k trung bình có môt số điểm khác so với các phương pháp khác ở chỗ lựa chọn các tâm ban đầu ngẫu nhiên Sau đó đo không tương tự (Dissimilarity) được tính toán để định hướng cho việc tính k trung bình các nhóm Biến thể phức tạp của giải thuật k trung bình bao gồm giải thuật nổi tiếng ISODATA và giải thuật k trung bình mờ Một điều khó trong việc sử dụng giải thuật k trung bình là sao cho số các cụm phải được chỉ ra một cách tối ưu Một biến thể khác nữa giống như ISODATA lại bao gồm cả các thủ tục để tìm ra số k tối ưu nhất trong những dữ liệu cụ thể

1.4.5 Cây quyết định

Để làm rõ kỹ thuật này ta xét lại ví dụ đã nêu ở phần trước Xét cơ sở dữ liệu

về những khách hàng mua sách Thông tin về khách hàng bao gồm tuổi, thu nhập nghề nghiệp… ta cần dự báo một kiểu khách hàng khi ta đã có các thuộc tính đã biết của họ và dùng làm căn cứ đoán nhận Chẳng hạn ta cần dự báo ai sẽ mua sách thiếu nhi Các thuộc tính liên quan có thể quan trọng hơn nghĩa là nếu dựa vào tuổi của một số người có thể dự báo được người đó có mua sách thiếu nhi hay không Hơn nữa chúng ta cũng cần phải nghiên cứu xem có tồn tại một ngưỡng của thuộc tính tuổi hay không để có thể tách biệt những người mua sách thiếu nhi và những người không quan tâm Theo cách này chúng ta có thể bắt đầu với thuộc tính đầu tiên, tìm ra một ngưỡng nào đó, rồi chuyển sang thuộc tính tiếp theo, lại tìm một

Trang 25

ngưỡng nào đó và lắp lại quá trình này cho tới khi có sự phân lớp đúng đắn và cuối cùng là tạo ra cây quyết định Để tạo cây quyết định có nhiều thuật toán khác nhau

Cây quyết định là một cấu trúc giống như một lưu đồ mà mỗi nút trong của cây biểu diễn một trường hợp thử hoặc một phép kiểm tra trên một thuộc tính Mỗi một phân nhánh của một nút biểu diễn một khả năng giá trị (miền giá trị) của phép thử Các giá trị này nằm về một phía so với ngưỡng tương ứng của nút Các nút lá biểu diễn các lớp hoặc phân bố lớp Nút trên cùng trong cây gọi là nút gốc

Để xây dựng cây quyết định có nhiều cách song tựu trung ta có một khung chung cho quá trình này như sau:

- Lựa chọn thuộc tính “tốt nhất” nhờ một độ đo lựa chọn ( thường là Entropy )

- Mở rộng cây bằng cách thêm vào các nhánh mới với từng giá trị thuộc tính

- Sắp xếp các mẫu huấn luyện cho các nút lá

- Kiểm tra: nếu mẫu huấn luyện đã được phân loại thì dừng, ngược lại thì lặp lại quá trình trên cho mỗi nút lá

- Tỉa bớt những nút lá không ổn định

1.4.6 Luật kết hợp

Data Mining là rút trích dữ liệu theo yêu cầu của bài toán hay nói cách khác là trích

ra các mẫu hoặc các mô hình ẩn dưới các dữ liệu Nó bao gồm chọn nhiệm vụ khai phá dữ liệu , chọn thuật toán khai phá dữ liệu thích hợp để tìm các mẫu hoặc mô hình về tri thức, đánh giá hoặc giải thích, thử lại các mẫu đã được khai phá trước khi đưa tri thức khai phá được vào sử dụng Các mẫu sử dụng ở đây là các mẫu thường xuyên Các mẫu thường xuyên là các mẫu bao gồm tập các mục (Item), các chuỗi con tuần tự và các cấu trúc con xuất hiện trong tập dữ liệu một cách thường xuyên

Việc tìm kiếm các mẫu thường xuyên như vậy đóng vai trò cần thiết trong khai phá các mối kết hợp, khai phá các tương quan, và các mối quan hệ khác trong dữ liệu

Trang 26

Hơn nữa, nó trợ giúp trong sự phân lớp dữ liệu, phân cụm, và các tác vụ khác được tốt hơn Do đó, khai phá các mẫu thường xuyên đã trở thành nhiệm vụ quan trọng

và là một tiêu điểm trong nghiên cứu khai phá dữ liệu

Chủ đề của khai phá các mẫu thường xuyên là rất rộng, chúng ta chỉ tập trung vào các phương pháp của việc khai phá các itemset thường xuyên ( frequent itemset) Làm thế nào chúng ta có thể tìm các tập item thường xuyên trong một lượng lớn dữ liệu, trong đó dữ liệu có thể là các cơ sở dữ liệu giao tác ( transactional database) hay cơ sở dữ liệu quan hệ ( relational database) Làm thế nào chung ta có thể khai phá các luận kết hợp (association rules) trong không gian đa mức hay đa chiều? Các luật kết hợp nào được quan tâm nhất?

Phát hiện luật kết hợp từ những cơ sở dữ liệu lớn lần đầu tiên xuất hiện vào năm

1993 và được đặc biệt quan tâm trong những năm gần đây vì các luật được sử dụng phổ biến trong khai phá dữ liêu để hỗ trợ quá trình ra quyết định, lựa chon chiến lược kinh doanh, dự báo tài chính, chứng khoán…

Kết luận chương

Trong chương này, luận văn đã trình bày một cách tổng quan nhất về khai phá dữ liệu, những mục đích và động cơ thúc đẩy các nhà tin học nghiên cứu lĩnh vực này Các nội dung của của bài toán khai phá dữ liệu cũng như các kỹ thuật khai phá dữ liệu Nói tóm lại, chương này cung cấp một cái nhìn chung về lĩnh vực khai phá dữ liệu

Trang 27

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

2.1 Luật kết hợp

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

Luật kết hợp là một lĩnh vực quan trọng trong khai phá dữ liệu Luật kết hợp giúp chúng ta tìm được các mối liên hệ giữa các mục dữ liệu ( items) của cơ sở dữ liệu.Trong chứng khoán, mối quan hệ giữa các chỉ số đánh giá sức mạnh tài chính của một công ty, giá trị của một loại cổ phiếu, biểu đồ lịch sử về cổ phiếu đó… luôn là mối quan tâm dẫn tới quyết định của nhà đầu tư

Luật kết hợp là những luật có dạng :” 80% khách hàng mua máy điện thoại

di động thì mua thêm simcard” Độ hỗ trợ ( support ) và độ tin cậy ( confidence ) là hai thước đo cho một luật kết hợp

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

Lĩnh vực khai phá 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 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à có một số hướng chính sau đây

Luật kết hợp nhị phân ( binary association rule hoặc boolean association rule): là hướng nghiên cứu đầu tiên của luật kết hợp Hầu hết các nghiên cứu ở thời

kỳ đầu về luật kết hợp đều liên quan đến luật kết hợp nhị phân Trong dạng luật kết hợp này, các mục ( thuộc tính ) chỉ được quan tâm là có hay không xuất hiện trong giao tác của cơ sở dữ liệu chứ không quan tâm về “mức độ” xuất hiện, có nghĩa là việc mua 10 loại cổ phiểu khác nhau và mua một loại cổ phiếu là như 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

Trang 28

nó Đây là dạng luật đơn giản và các luật khác cũng có thể chuyển về dạng luật này

nhờ một số phương pháp như rời rạc hóa,mờ hóa ,v.v… Một ví dự về dạng luật

này: “VnIndex tăng = “yes” And tâm lý thị trường tốt=”yes” => giao dịch thị

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

Luật kết hợp mờ (fuzzy association rule): Với những hạn chế còn gặp phải

trong quá trình rời rạc hóa các thuộc tính số ( quantitave attributes ), các nhà

nghiên cứu đã đề xuất luật kết hợp mờ nhằm khắc phục các 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 Vd của dạng luật này là: “nhà đầu tư nước ngoài =”yes” AND giá trị giao dịch lớn=> tâm lý thị trường tốt =”yes” với độ hỗ trợ 10% và độ tin cậy là 90% Trong luật trên điều kiện “ giá trị giao dịch lớn “ ở vế trái của luật là một thuộc tính đã được

mờ hóa

2.1.3 Phát biểu bài toán khai phá luật kết hợp

I={ i1,i2,…in} là tập bao gồm n mục ( Item – còn gọi là thuộc tính – attribute ) X ⊆ I được gọi là tập mục ( itemset)

Trang 29

T= {t1,t2, ,tm} là tập gồm m giao tác ( Transaction – còn gọi là bản ghi – record ), mỗi giao tác được định danh bởi TID ( Transaction Itentification )

R là một quan hệ nhị phân trên I và T ( hay R ⊆ IxT) Nếu giao tác t co chứa mục i thì ta viết (i,t) ∈ R ( hoặc iRt) (T,I,R ) là ngữ cảnh khai phá dữ liệu Một cơ

sở dữ liệu D, về mặt hình thức, chính là một quan hệ nhị phân R như trên Về ý nghĩa, một cơ sở dữ liệu là một tập các giao tác, mỗi giao tác t là một tập mục, t ∈

2i (2i là tập các tập con của I)

Ví dụ về cơ sở dữ liệu (dạng giao tác ) : I ={ A,B,C,D,E),

T={1,2,3,4,5,6} Thông tin về các giáo tác cho ở bảng sau :

Bảng 2.1 : Ví dụ về một cơ sở dữ liệu dạng giao tác – D

Cho một tập mục X ⊆ I Kí hiệu s(X) là độ hỗ trợ ( Support) của tập mục X – là tỷ

lệ phần trăm số giao tác trong cơ sở dữ liệu D chứa X trên tổng số các giao tác trong cơ sở dữ liệu D S(X) = Card (X) /Card (D) %

Trang 30

Tập phổ biến: Cho một tập mục X ⊆ I và ngưỡng phố biến tối thiểu

minsupp ∈ (0,1] (minsupp ( mininum Support ) được xác định bởi người dùng ) Một tập mục X được gọi là tập phổ biến theo ngưỡng minsupp nếu và chỉ nếu độ

hỗ trợ của nó lớn hơn hoặc bằng một ngưỡng minsupp: s(X) ≥ minsupp

Ký hiệu FX(T, I, R, minsupp ) là tập hợp các tập phổ biến theo ngưỡng minsupp tức là FX(T, I, R, minsupp) ={ X ⊆ I | s(X) ≥ minsupp }

Với (T, I, R) như trong cơ sở dữ liệu cho ở bảng 2.1 , và giá trị ngưỡng minsupp =50% sẽ liệt kê tất cả các tập phổ biến ( frequent – itemset ) như sau :

Bảng 2.2:Các tập phổ biến trong cơ sở dữ liệu bảng 2.1 với độ hỗ trợ tối thiểu 50%

Đỗ hỗ trợ s của luật kết hợp XÆ Y là tỷ lệ phần trăm các giao tác trong D có chứa X và Y s(XÆ Y)=Card (X∪ Y)/ Card (D) %

Luật kết hợp có dạng , trong đó:

X và Y là các tập mục thỏa mãn điều kiện X∩Y=∅ C là độ tin cậy

Độ tin cậy của luật c =s(X∪Y)/s(X) % (c=Card(X∪Y)/Card(X)%): là tỷ lệ phần trăm các giao tác trong D có chứa X thì chứa Y Về mặt xác suất, độ tin cậy c của một luật là xác suất ( có điều kiện ) xảy ra Y với điều kiện đã xảy ra X

Trang 31

Luật kết hợp tin cậy: Một luật được xem là tin cậy nếu độ tin cậy c của nó lớn hơn hoặc bằng một ngưỡng minconf ∈ (0,1] nào đó do người dùng xác định Ngưỡng minconf phản ánh mức độ xuất hiện của Y khi cho trước X (c ≥ minconf ( Minumum Confidence ))

Luật kết hợp cần tìm là luật kết hợp thỏa mãn MinSupp và MinConf cho trước Chúng ta chỉ quan tâm đến các luật có độ hỗ trợ lớn hơn Độ hỗ trợ tối thiếu

và độ tin cậy lớn hơn độ tin cậy tối thiểu

Hầu hết các thuật toán khai phá luật kết hợp thường chia làm hai pha:

Pha 1: Tìm tất cả các tập mục phổ biến từ cơ sở dữ liệu tức là tìm ra tất cả các tập mục X thỏa mãn s(X) ≥ minsupp

Pha 2: Sinh các luật tin cậy từ tập phổ biến đã tìm thấy ở pha 1

Nếu X là một tập luật phổ biến thì luật kết hợp được sinh tư X có dạng :

, trong đó :

X’ là tập con khác rỗng của X

X\X’ là hiệu của hai tập hợp X và X’

C là độ tin cậy của luật thỏa mãn c ≥ minconf

Ví dụ : Các tập phổ biến với độ hỗ trợ tối thiểu 50% như sau :

Trang 32

Trong bảng trên với tập phổ biến ABE có đỗ hỗ trợ 67% và minconf =70%

Thì chúng ta có thể sinh các luật kết hợp như sau :

Bảng 2.3 : Luật kết hợp sinh ra từ tập phổ biến ABE

2.1.4 Thuật toán Apriori

Thuật toán Apriori là thuật toán phổ biến nhất trong lĩnh vực khai thác luật kết hợp từ cơ sở dữ liệu tập trung Thuật toán thực hiện trong 3 bước

Bước 1: Đếm độ hỗ trợ cho mỗi mục item, dựa vào độ hỗ trợ tối thiểu (minSup)

chọn tập các tập phổ biến có một phần tử Tập phổ biến gọi là Large Itemset

Bước 2: Từ tập Large Itemset phát sinh các tập ứng viên (Candiate Itemset), đếm

độ hỗ trợ cho tập các ứng viên này và chọn ra các Itemset có độ hỗ trợ lớn hơn hoặc bằng Minsup để đưa vào tập Large Itemset

Bước 3: Lặp lại bước 2 cho đến khi không tìm thấy thêm một tập large Itemset nào

nữa

Đối với thuật toán Apriori, các large itemset được tính toán thông qua các bước lặp Trong mỗi bước lặp, cơ sở dữ liệu được quyét một lần và mọi large itemset có cỡ giống nhau được tính toán

Trang 33

Ở bước lặp đầu tiên, đếm các support của các item để thành lập large 1- itemset ( ký hiệu là L1) đồng thời loại ra các item có độ hỗ trợ bé hơn ngưỡng minsup

Ở giai đoạn thứ k (k>1), trước hết, các large (k-1)_itemset trong tập Lk-1 tìm trong giai đoạn thứ k-1 được sử dụng để sinh ra các candidate itemset Ck, bằng cách thực hiện hàm Apriori_gen() Tiếp theo cơ sở dữ liệu sẽ được quyét để tính support cho mỗi candidate trong Ck

Thuật toán Apriori được trình bày như sau:

i1 và i2 (i1 ≠i2) nào đó mà giống nhau thì ta khởi tạo một candidate k-itemset cho Ck

Trang 34

bằng cách lấy phần tiền tố này hợp với 2 item thứ k-1 của i1 và i2 ( có thể phải sắp lại thứ tự cho các item này) Tiếp theo là pha cắt tỉa, kỹ thuật cắt tỉa áp dụng tính chất 1.1 Trong pha này xóa mọi itemsets từ kết quả của pha nối mà có (k-1) subset không nằm trong Lk-1 thì bị xóa

Giai đoạn nối và cắt tỉa tóm tắt bằng thuật toán sau

Input: tập các large (k-1) itemset Lk-1

Output: tập canditate k-itemset Ck

Where p.item1 = q.item1, ,p.itemk-2=q.itemk-2,p.itemk-1<q.itemk-1;

//Giai đoạn cắt tỉa

For all itemset c ∈ Ck do

For all(k-1) subset s of c do

If(s ∉ Lk-1) then delete c from Ck; Chẳng hạn xét L3 là {{1 2 3},{1 2 4},{1 3 4},{1 3 5},{2 3 4} Sau bước nối C4 sẽ

là {{1 2 3 4}, {1 3 4 5}} Bước cắt tỉa sẽ xóa itemset {1 3 4 5 } bởi vì itemset {1 4 5} không có trong L3 Như vậy C4 chỉ còn {1 2 3 4}

Hàm subset

Hàm subset(Ck,t) tìm tất cả các candidate trong Ck được chứa trong giao dịch t bắt đầu từ nút gốc của cây và duyệt theo nhánh tương ứng với chỉ mục i của các item trong giao dịch t cho đến khi gặp một nút lá Thủ tục này được thực hiện

đệ quy

Các candidate itemset Ck được sắp xếp trong một cây băm (hash tree) Gốc của cây được định nghĩa có độ sâu bằng 1 Một nút trong có độ sâu là d trỏ đến nút

Trang 35

có độ sâu d+1 Một nút của hash tree bao gồm một danh sách của các itemset đối với nút lá hoặc một bảng băm (hash table) đối với nút bên trong Tại mỗi node bên trong, mỗi phần tử của hash tree trỏ đến node khác Các itemset được lưu trong node lá thành một danh sách liên kết đã được sắp xếp Khi thêm một itemset, bắt đầu từ gốc đi xuống cho đến khi tìm được node lá Tại một node trong có độ sâu d,

áp dụng hàm Hash để phân nhánh cho item thứ d của itemset Tất cả các node được khởi tạo như một node lá Khi số các itemset trong một node lá vượt quá ngưỡng cho trước thì node lá sẽ được chuyển thành node trong

Thuật toán Apriori đếm tất cả các ứng cử viên có k phần tử trong một lần đọc cơ sở dữ liệu 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 giao tác Để thực hiện được mục đích này thuật toán đã sử dụng một cấu trúc gọi

là hash tree Các item trong mỗi giao tác này được dùng để đi lần xuống trong cấu trúc hashtree Bất cứ khi nào tới được node 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 giao tác đó Sau đó các ứng cử viên này sẽ được thực hiện tìm kiếm trong giao tác mà nó đã được mã hóa trước thành ma trận bit Trong trường hợp thành công biến đếm các ứng cử viên trong

cây được tăng lên

2.1.5 Thuật toán Apriori nhị phân để tìm các tập phổ biến

Thuật toán Apriori nhị phân được xây dựng trên công trình nghiên cứu của thầy GS.TSKH Hoàng Kiếm và thầy TS Đỗ Phúc Thuật toán sử dụng các véc tơ bít cho các thuộc tính, Véc tơ nhị phân n chiều ứng với n giao tác trong CSDL Sử dụng cơ sở dữ liệu bảng 2.1 để minh họa cho thuật toán trên Có thể biểu diễn cơ

sở dữ liệu của bảng 2.1 bằng ma trận nhị phân trong đó dòng thứ I tương ứng với giao tác ( bản ghi ) ti và cột thứ j tương ứng với mục ( thuộc tính ) ij

Ma trận biểu diễn cơ sở dữ liệu ban đầu :

Trang 36

Các véc tơ biểu diễn nhị phân cho các tập 1 thuộc tính có dạng sau :

Các véc tơ biểu diễn nhị phân cho các tập 2 thuộc tính có dạng sau :

Trang 37

Các véc tơ biểu diễn cho thấy tập {A, C}, C, D} có độ hỗ trợ 33% (2/6 ) nên bị loại Các véc tơ biểu diễn nhị phân cho các tập 3 thuộc tính có dạng sau:

Các véc tơ biểu diễn nhị phân cho các tập 4 thuộc tính có dạng sau :

Các véc tơ biểu diễn cho thấy tất cả các tập 4 thuộc tính đều có độ hỗ trợ <50% nên thuật toán dừng Kết quả tìm được phổ biến giống bảng 2.2

2.1.6 Phương pháp rời rạc hóa dữ liệu

Các thuật toán khai phá luật kết hợp nhị phân chỉ có thể áp dụng trên những

cơ sở dữ liệu quan hệ chỉ có thuộc tính hoặc cơ sở dữ liệu dạng giao tác trong bảng 2.1 Các thuật toán khai phá luật kết hợp nhị phân không thể áp dụng trực tiếp với các cơ sở dữ liệu có thuộc tính số và thuộc tính hạng mục Để khắc phục được vấn

Ngày đăng: 27/07/2017, 20:28

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. Hệ mờ, Mạng Nơron và Ứng dụng Chủ biên: Bùi Công Cường, Nguyễn Doãn Phước , Nhà xuất bản khoa học và kỹ thuật Khác
2. PGS.TS Nguyễn Thanh Thuỷ, Khai phá dữ liệu - kỹ thuật và ứng dụng, Hà Nội, 2001 Khác
3. PGS.TS Đỗ Phúc (2006), Giáo trình Khai thác Dữ liệu, Trường Đại học Công nghệ thông tin TP. Hồ Chí Minh, Đại học Quốc gia TP. Hồ Chí Minh Khác
4. Tổng quan về khai phá dữ liệu – Tác giả Nguyến Đức Cường kỷ yếu hội nghị khoa học và Công nghệ lần thứ 9 Khác
5. Nghiên cứu tính ứng dụng của khai thác luật kết hợp trong cơ sở dữ liệu giao dịch ( Research on the Application of Association rules in transactionDatabase ) – Trương Ngọc Châu – Phan Văn Dũng Trường Đại học Bách khoa Đà Nẵng.Tiếng Anh Khác
1. Data mining Overview By Dr. Michael Gilman, CEO, Data Mining Technologies Inc Khác
2. Data mining concepts and technicques by Jiawei Han and Micheline Kamber – Simon Fraser University Khác
3. Examples of the use of data mining in financial applications By Stephen Langdell, Phd, Numberical Algorithms Group Khác
4. Mining the Stock Market : Which Measure is Best? By Martin Gavrilov, Dragomir Anguelov, Piotr Indyk, Rajeev Motwani Department if Coputer Science Stanford University Khác

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

w