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

Ứng dụng khai phá dữ liệu trong khai thác cơ sở dữ liệu tích hợp nghành giao thông vận tải

81 1,5K 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 81
Dung lượng 1,12 MB

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

Nội dung

Còn khai thác dữ liệu là một bước trong qui trình phát hiện tri thức gồm có các thuật toán khai thác dữ liệu chuyên dùng dưới một số qui định về hiệu quả tính toán chấp nhận được để tìm

Trang 2

NGUYỄN HẠNH PHÚC

ỨNG DỤNG KHAI PHÁ DỮ LIỆU TRONG KHAI THÁC CƠ SỞ DỮ LIỆU TÍCH HỢP

NGÀNH GIAO THÔNG VẬN TẢI

LUẬN VĂN THẠC SĨ

Người hướng dẫn khoa học : T.S PHÙNG VĂN ỔN

Hà Nội - 2006

Trang 3

nghệ thông tin - Đại học Công nghệ, Đại học Quốc gia Hà nội, đã tận tâm giảng dạy các kiến thức trong hai năm học qua cùng với sự cố gắng hết mực của bản thân

Đặc biệt tôi xin bày tỏ sự biết ơn sâu sắc đến thầy giáo Tiến sĩ Phùng Văn Ổn, người đã tận tình hướng dẫn, động viên tôi thực hiện luận văn này Tác giả cũng xin chân thành cảm ơn Ban chủ nhiệm khoa Công nghệ thông tin - Trường đại học Hàng Hải, các bạn đồng nghiệp, các bạn trong lớp cao học K10T2 đã tạo điều kiện, giúp đỡ tôi trong suốt thời gian qua

Rất mong nhận được sự góp ý của tất cả thầy cô, bạn bè đồng nghiệp để luận văn có thể phát triển và hoàn thiện hơn

Hà Nội, tháng 11 năm 2006

NGƯỜI THỰC HIỆN

Nguyễn Hạnh Phúc

Trang 4

MỤC LỤC

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT 4

MỞ ĐẦU 5

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

1 Tổ chức và khai thác cơ sở dữ liệu truyền thống 7

2 Tổng quan về kỹ thuật phát hiện tri thức và khai phá dữ liệu 8

2.1 Phát hiện tri thức và khai phá dữ liệu là gì? 8

2.2 Qui trình phát hiện tri thức [7] 9

2.3 Các phương pháp khai phá dữ liệu [7] 10

2.4 Các lĩnh vực liên quan đến phát hiện tri thức và khai phá dữ liệu [7] 12

3 Các nhiệm vụ trong khai phá dữ liệu 12

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

3.2 Phát hiện sự phụ thuộc CSDL (Database Dependencies) 14

3.3 Phát hiện sự sai lệch (Deviation) 14

3.4 Phát hiện luật kết hợp (Association Rules) 14

3.5 Mô hình hoá sự phụ thuộc (Dependence Modeling) 15

3.6 Mô hình hoá nhân quả (Causation Modeling) 15

3.7 Phân cụm, nhóm (Clustering) [6] 16

3.8 Phân lớp (Classification) 16

3.9 Hồi quy (Regression) 17

3.10 Tổng hợp (Sumarization) 17

3.11 So sánh các nhiệm vụ phát hiện tri thức 17

4 Phân lớp dữ liệu 20

4.1 Khái niệm về phân lớp 20

4.2 Ứng dụng của phân lớp 21

4.3 Các vấn đề nghiên cứu trong phân lớp 22

4.4 Các yêu cầu đối với bài toán phân lớp 23

5 Một số phương pháp phân lớp 24

5.1 Phương pháp phân hoạch 25

5.2 Phân lớp dựa trên cây quyết định [6] 25

5.3 Phương pháp dựa vào mật độ 27

5.4 Phân lớp và mạng nơron nhân tạo 28

6 Đánh giá, nhận xét 30

CHƯƠNG 2 - ỨNG DỤNG LUẬT KẾT HỢP VÀO KHAI PHÁ DỮ LIỆU 31

1 Lý thuyết về luật kết hợp 31

1.1 Luật kết hợp 32

Trang 5

1.2 Một số tính chất của luật kết hợp [6] 35

1.3 Phân loại luật kết hợp 36

1.4 Đặc tả bài toán khai phá dữ liệu 39

2 Các đặc trưng của luật kết hợp 40

2.1 Không gian tìm kiếm của luật 40

2.2 Độ hỗ trợ của luật 42

3 Một số giải thuật cơ bản khai phá các tập phổ biến 43

3.1 Giải thuật BFS (BFS – breadth first search) 44

3.2 Giải thuật DFS (Depth First Search) 53

3.3 Giải thuật DHP (Direct Hashing and Pruning) 54

3.4 Giải thuật PHP (Perfect Hashing and Pruning) 57

4 Phát sinh luật từ các tập phổ biến 59

4.1 Cải tiến 1 - Giảm số lượng các luật được phát sinh & cần phải kiểm tra 60

4.2 Cải tiến 1.a – Tránh phát sinh các luật không có ý nghĩa 61

4.3 Một số kỹ thuật khác trong việc tối ưu hóa chi phí tính độ confident 62

5 Đánh giá, nhận xét 62

CHƯƠNG 3 - ỨNG DỤNG, THỬ NGHIỆM KHAI PHÁ DỮ LIỆU TÍCH HỢP NGÀNH GIAO THÔNG VẬN TẢI 63

1 Bài toán 63

1.1 Phát biểu bài toán 63

1.2 Đặc tả dữ liệu 63

1.3 Minh họa chương trình 70

1.4 Phân tích, đánh giá 75

2 Hướng phát triển 76

KẾT LUẬN 77

TÀI LIỆU THAM KHẢO 78

Trang 6

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT

C k C k Tập các K – itemset ứng cử

Conf confidence Độ tin cậy

CSDL Database Cơ sở dữ liệu

DW Data Warehouse Kho dữ liệu

Item item Khoản mục

Itemset itemset Tập các khoản mục

Minconf Minimum Confidence Độ tin cậy tối thiểu

Minsup Minimum Support Độ hỗ trợ tối thiểu

OLAP On Line Analytical Processing Phân tích trực tuyến

MOLAP Multidimensional OLAP Phân tích đa chiều trực tuyến

ROLAP Relational OLAP Phân tích quân hệ trực tuyến

pre(k, s) pre(k, s) Tiếp đầu dãy có độ dài k của s

Record record Bản ghi

Supp suppport Độ hỗ trợ

TID Transaction Indentification Định danh giao tác

SQL Structured Query Language Ngôn ngữ vấn đáp chuẩn

SQO Sematics Query Optimization

DBSCAN Density Based Spatial

Clustering of Application with Noise

Thuật toán phân lớp dựa vào vị trí địa phương

DENCLUE DENsity Based CLUstEring Thuật toán phân lớp cơ bản (tổng quát)

ADO Activate X Data Object

DFS Depth First Search Tìm kiếm theo độ sâu

BFS Breadth First Search Tìm kiếm theo bề rộng

DHP Direct Hashing and Pruning Bảng băm trực tiếp và sự cắt tỉa

PHP Perfect Hashing and Pruning Bảng băm lý tưởng và sự cắt tỉa

I/O Input/Output Vào/ra

Trang 7

MỞ ĐẦU

Trong những năm gần đây, việc nắm bắt được thông tin được coi là cơ

sở của mọi hoạt động sản xuất, kinh doanh Cá nhân hoặc tổ chức nào thu thập và hiểu được thông tin, và hành động dựa trên các thông tin được kết xuất từ các thông tin đã có sẽ đạt được thành công trong mọi hoạt động Chính vì lý do đó, việc tạo ra thông tin, tổ chức lưu trữ và khai thác ngày càng trở nên quan trọng và gia tăng không ngừng

Sự tăng trưởng vượt bậc của các cơ sở dữ liệu (CSDL) trong cuộc sống như: thương mại, quản lý và khoa học đã làm nảy sinh và thúc đẩy sự phát triển của kỹ thuật thu thập, lưu trữ, phân tích và khai phá dữ liệu… không chỉ bằng các phép toán đơn giản thông thường như: phép đếm, thống kê… mà đòi hỏi cách xử lý thông minh hơn, hiệu quả hơn Từ đó các nhà quản lý có được thông tin có ích để tác động lại quá trình sản xuất, kinh doanh của mình… đó

là tri thức Các kỹ thuật cho phép ta khai thác được tri thức hữu dụng từ

CSDL (lớn) được gọi là các kỹ thuật khai phá dữ liệu (DM – Data Mining)

Khai phá luật kết hợp là một nội dung quan trọng trong khai phá dữ liệu Luận văn nghiên cứu về những khái niệm cơ bản về khai phá dữ liệu, luật kết hợp và ứng dụng một số thuật toán khai phá luật kết hợp trong CSDL lớn

Luận văn có cấu trúc như sau:

CHƯƠNG I - TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU VÀ PHÁT HIỆN TRI THỨC

Trình bày kiến thức tổng quan về khai thác và xử lý thông tin

Định nghĩa kho dữ liệu, khai phá dữ liệu, các phương pháp khai phá dữ liệu phổ biến và ứng dụng của chúng

CHƯƠNG II - CƠ SỞ LÝ THUYẾT LUẬT KẾT HỢP ỨNG DỤNG LUẬT KẾT HỢP VÀO KHAI PHÁ DỮ LIỆU

Trình bày các bài toán trong khai phá dữ liệu, phát hiện luật kết hợp Khái niệm về luật kết hợp và các phương pháp khai phá luật kết hợp Khai phá luật kết hợp dựa trên sự phân chia không gian tìm kiếm

CHƯƠNG III - ỨNG DỤNG, THỬ NGHIỆM KHAI PHÁ DỮ LIỆU TÍCH HỢP NGÀNH GIAO THÔNG VẬN TẢI

Trang 8

Nội dung của chương là áp dụng kỹ thuật khai phá dữ liệu vào bài toán thống kê về tình hình gia tăng các loại ôtô trong cả nướcvà dự báo về tốc độ gia tăng của các loại ôtô

Cuối cùng là kết luận lại những kết quả đạt được của đề tài và hướng phát triển trong tương lai

Trang 9

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

HIỆN TRI THỨC

1 Tổ chức và khai thác cơ sở dữ liệu truyền thống

Việc dùng các phương tiện tin học để tổ chức và khai thác cơ sở dữ liệu (CSDL) đã được phát triển từ những năm 60 của thế kỉ trước Từ đó cho đến nay, rất nhiều CSDL đã được tổ chức, phát triển và khai thác ở mọi quy mô

và các lĩnh vực hoạt động của con người và xã hội Theo như đánh giá cho thấy, lượng thông tin trên thế giới cứ sau 20 tháng lại tăng lên gấp đôi Kích thước và số lượng CSDL thậm trí còn tăng nhanh hơn Năm 1989, tổng số CSDL trên thế giới vào khoảng 5 triệu, hầu hết là CSDL cỡ nhỏ được phát triển trên DBaseIII Với sự phát triển của công nghệ điện tử, sự phát triển mạnh mẽ của công nghệ phần cứng tạo ra các bộ nhớ có dung lượng lớn, bộ

xử lý có tốc độ cao cùng với sự phát triển của các hệ thống viễn thông, người

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

và khai thác CSDL Cho đến nay, không một tổ chức nào sử dụng tin học trong công việc mà không sử dụng các hệ quản trị CSDL và các hệ công cụ báo cáo, ngôn ngữ hỏi đáp nhằm khai thác CSDL phục vụ cho các hoạt động tác nghiệp của mình Cùng với việc tăng không ngừng khối lượng dữ liệu, các hệ thống thông tin cũng được chuyên môn hoá, phân chia theo lĩnh vực ứng dụng như sản xuất, tài chính, hoạt động kinh doanh, Như vậy bên cạnh chức năng khai thác dữ liệu có tính chất tác nghiệp, sự thành công trong công việc không còn là năng suất của các hệ thống thông tin nữa mà là tính linh hoạt và sẵn sàng đáp lại những yêu cầu trong thực tế, CSDL cần đem lại những “tri thức” hơn là chính những dữ liệu trong đó Các quyết định cần phải có càng nhanh càng tốt và phải chính xác dựa trên những dữ liệu sẵn có trong khi khối lượng dữ liệu cứ sau 20 tháng lại tăng gấp đôi làm ảnh hưởng

Trang 10

đến thời gian ra quyết định cũng như khả năng hiểu hết được nội dung dữ liệu Lúc này, các mô hình CSDL truyền thống và ngôn ngữ SQL đã cho thấy không có khả năng thực hiện công việc này Để lấy thông tin có tính “tri thức” trong khối dữ liệu khổng lồ này, người ta đã tìm ra những kỹ thuật có khả năng hợp nhất các dữ liệu từ các hệ thống giao dịch khác nhau, chuyển đổi thành một tập hợp các CSDL ổn định, có chất lượng được sử dụng chỉ cho riêng một vài mục đích nào đó Các kỹ thuật đó gọi chung là kỹ thuật tạo kho

dữ liệu (data warehousing) và môi trường các dữ liệu có được gọi là các kho

dữ liệu (data warehouse)

Nhưng chỉ có kho dữ liệu thôi chưa đủ để có tri thức Các kho dữ liệu được sử dụng theo một số cách như:

Theo cách khai thác truyền thống: tức là kho dữ liệu được sử dụng để khai thác các thông tin bằng các công cụ truy vấn và báo cáo

Các kho dữ liệu được sử dụng để hỗ trợ cho phân tích trực tuyến (OLAP- OnLine Analytical Processing) Việc phân tích trực tuyến có khả năng phân tích dữ liệu, xác định xem giả thuyết đúng hay sai Tuy nhiên, phân tích trực tuyến lại không có khả năng đưa ra các giả thuyết

Công nghệ khai phá dữ liệu (data mining) ra đời đáp ứng những đòi hỏi trong khoa học cũng như trong hoạt động thực tiễn Đây chính là một ứng dụng chính của kho dữ liệu

2 Tổng quan về kỹ thuật phát hiện tri thức và khai phá dữ liệu (KDD - Knowledge Discovery and Data Mining)

2.1 Phát hiện tri thức và khai phá dữ liệu là gì?

Nếu cho rằng các điện tử và các sóng điện tử chính là bản chất của công nghệ điện tử truyền thống thì dữ liệu, thông tin và tri thức hiện đang là tiêu điểm của một lĩnh vực mới trong nghiên cứu và ứng dụng về phát hiện tri thức (Knowledge Discovery) và khai phá dữ liệu (Data Mining)

Thông thường chúng ta coi dữ liệu như một dãy các bit, hoặc các số và các ký hiệu, hoặc các “đối tượng” với một ý nghĩa nào đó khi được gửi cho một chương trình dưới một dạng nhất định Chúng ta sử dụng các bit để đo lường các thông tin và xem nó như là các dữ liệu đã được lọc bỏ các dư thừa, được rút gọn tới mức tối thiểu để đặc trưng một cách cơ bản cho dữ liệu Chúng ta có thể xem tri thức như là các thông tin tích hợp, bao gồm các sự kiện và các mối quan hệ giữa chúng Các mối quan hệ này có thể được hiểu ra,

Trang 11

có thể được phát hiện, hoặc có thể được học Nói cách khác, tri thức có thể được coi là dữ liệu có độ trừu tượng và tổ chức cao

Phát hiện tri thức trong các cơ sở dữ liệu là một qui trình nhận biết các mẫu hoặc các mô hình trong dữ liệu với các tính năng: hợp thức, mới, khả ích,

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

Định nghĩa: “KDD là quá trình không tầm thường nhận ra những mẫu

có giá trị, mới, hữu ích tiềm năng và hiểu được trong dữ liệu” [7]

Còn các nhà thống kê thì xem Khai phá dữ liệu như là một qui trình phân tích được thiết kế để thăm dò một lượng cực lớn các dữ liệu nhằm phát hiện

ra các mẫu thích hợp và/hoặc các mối quan hệ mang tính hệ thống giữa các biến và sau đó sẽ hợp thức hoá các kết quả tìm đưọc bằng cách áp dụng các mẫu đã phát hiện được cho các tập con mới của dữ liệu Qui trình này bao gồm ba giai đoạn cơ bản: thăm dò, xây dựng mô hình hoặc định nghĩa mẫu, hợp thức/kiểm chứng

2.2 Qui trình phát hiện tri thức [7]

Qui trình phát hiện tri thức được mô tả tóm tắt trên Hình 1:

Hình 1 Quy trình phát hiện tri thức

Trang 12

Bước thứ nhất: Hình thành, xác định và định nghĩa bài toán Là tìm hiểu lĩnh vực ứng dụng từ đó hình thành bài toán, xác định các nhiệm vụ cần phải hoàn thành Bước này sẽ quyết định cho việc rút ra được các tri thức hữu ích

và cho phép chọn các phương pháp khai phá dữ liệu thích hợp với mục đích ứng dụng và bản chất của dữ liệu

Bước thứ hai: Thu thập và tiền xử lý dữ liệu Là thu thập và xử lý thô, còn được gọi là tiền xử lý dữ liệu nhằm loại bỏ nhiễu, xử lý việc thiếu dữ liệu, biến đổi dữ liệu và rút gọn dữ liệu nếu cần thiết, bước này thường chiếm nhiều thời gian nhất trong toàn bộ qui trình phát hiện tri thức

Bước thứ ba: Khai phá dữ liệu, rút ra các tri thức Là khai phá dữ liệu, hay nói cách khác là trích ra các mẫu và/hoặc các mô hình ẩn dưới các dữ liệu Giai đoạn này rất quan trọng, bao gồm các công đoạn như: chức năng, nhiệm

vụ và mục đích của khai phá dữ liệu, dùng phương pháp khai phá nào?

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

cả các lần thực hiện

Tóm lại: KDD là một quá trình chiết xuất ra tri thức từ kho dữ liệu mà trong đó khai phá dữ liệu là công đoạn quan trọng nhất

2.3 Các phương pháp khai phá dữ liệu [7]

KDD bao gồm hai yếu tố quan trọng không thể thiếu được là Dự đoán (Prediction) và Mô tả (Description)

Dự đoán: Đòi hỏi sử dụng một vài biến hoặc trường để dự đoán thông tin tiềm ẩn hoặc một giá trị tương lai của một biến thuộc tính mà ta quan tâm đến

Mô tả: Tập trung là nổi bật lên mô hình kết quả mà con người có thể hiểu sâu về thông tin dữ liệu

Với hai đích chính đã nêu ở trên, người ta thường sử dụng các phương pháp sau cho khai phá dữ liệu:

- Phân lớp, phân loại (Classification): Là việc học một hàm ánh xạ 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 qui (Regression): 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ự đoán có giá trị thực

Trang 13

- Phân nhóm (Clustering): Là việc mô tả chung để tìm ra các tập hay các nhóm, loại mô tả dữ liệu Các nhóm có thể tách nhau hoặc phân cấp

- Tổng hợp (Summarization): Là công việc lên quan đến các phương pháp tìm kiếm một mô tả tập con dữ liệu, thường áp dụng trong việc phân tích

dữ liệu có tính thăm dò và báo cáo tự động

- Mô hình ràng buộc (Dependency modeling): Là việc tìm kiếm một mô hình mô tả sự phụ thuộc giữa các biến, thuộc tính theo hai mức: phụ thuộc cục bộ vào cấu trúc của mô hình, phụ thuộc vào thước đo, ước lượng của một định lượng nào đó

- Dò tìm biến đổi và độ lệch (Change and Deviation Dectection): Chú ý vào những thay đổi quan trọng trong dữ liệu từ các giá trị chuẩn hoặc đã được xác định trước đó

- Biểu diễn mô hình (Model Representation): Là việc dùng một ngôn ngữ L_ Language nào đó để mô tả các mẫu mô hình có thể khai phá được

Mô tả mô hình rõ ràng thì học máy sẽ tạo ra mẫu có mô hình chính xác cho

dữ liệu Tuy nhiên, nếu mô hình quá lớn thì khả năng dự đoán của học máy

sẽ bị hạn chế Như thế sẽ làm cho việc tìm kiếm phức tạp hơn cũng như hiểu được mô hình là không đơn giản

- Kiểm định mô hình (Model Evaluation): Là việc đánh giá, ước lượng các mô hình chi tiết, chuẩn trong quá trình xử lý và phát hiện tri thức với sự ước lượng có dự báo chính xác hay không và có thoả mãn cơ sở logic hay không? Ước lượng phải được đánh giá chéo (cross validation) với việc mô tả đặc điểm bao gồm dự báo chính xác, tính mới lạ, tính hữu ích, tính hiểu được phừ hợp với các mô hình Hai phương pháp logic và thống kê chuẩn có thể

sử dụng trong mô hình kiểm định

- Phương pháp tìm kiếm (Search Method): Gồm có hai thành phần: (1) – Trong bảng tham biến (phạm vi tìm kiếm tham số) thuật toán phải tìm kiếm các tham số tronng phạm vi các chuẩn của mô hình kiểm định rồi tối ưu hoá

và đưa ra tiêu chí (quan sát) dữ liệu và biểu diễn mô hình đã định (2) – Mô hình tìm kiếm, xuất hiện như một đường vòng trên toàn bộ phương pháp tìm kiếm, biểu diễn mô hình phải thay đổi sao cho các hệ mô hình phải thay đổi sao cho các hệ gia phả mô hình phải được thông qua

Trang 14

2.4 Các lĩnh vực liên quan đến phát hiện tri thức và khai phá dữ liệu [7]

Phát hiện tri thức và khai phá dữ liệu liên quan đến nhiều ngành, nhiều lĩnh vực: thống kê, trí tuệ nhân tạo, cơ sở dữ liệu, thuật toán học, tính toán song song và tốc độ cao, thu thập tri thức cho các hệ chuyên gia, quan sát dữ liệu Đặc biệt Phát hiện tri thức và khai phá dữ liệu rất gần gũi với lĩnh vực thống kê, sử dụng các phương pháp thống kê để mô hình dữ liệu và phát hiện các mẫu, luật Ngân hàng dữ liệu (Data Warehousing) và các công cụ phân tích trực tuyến (OLAP) cũng liên quan rất chặt chẽ với Phát hiện tri thức và khai phá dữ liệu

Khai phá dữ liệu có nhiều ứng dụng trong thực tế Một số ứng dụng điển hình như:

Bảo hiểm, 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 Danh mục vốn và giá, lãi suất, dữ liệu thẻ tín dụng, phát hiện gian lận,

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

Điều trị y học và chăm sóc y tế: Một số thông tin về chuẩn đoán bệnh lưu trong các hệ thống quản lý bệnh viện Phân tích mối liên hệ giữa các triệu chứng bệnh, chuẩn đoán và phương pháp điều trị (chế độ dinh dưỡng, thuốc, )

Sản xuất và chế biến: Quy trình, phương pháp chế biến và xử lý sự cố Text mining và Web mining: Phân lớp văn bản và các trang Web, tóm tắt văn bản,

Lĩnh vực khoa học: Quan sát thiên văn, dữ liệu gene, dữ liệu sinh vật học, tìm kiếm, so sánh các hệ gene và thông tin di truyền, mối liên hệ gene và một

số bệnh di truyền,

Mạng viễn thông: Phân tích các cuộc gọi điện thoại và hệ thống giám sát lỗi, sự cố, chất lượng dịch vụ,

3 Các nhiệm vụ trong khai phá dữ liệu

Do sự phát triển mạnh mẽ của các loại hệ thống phát hiện tri thức trong CSDL (KDD) theo yêu cầu nhằm đáp ứng những đòi hỏi trong nhiều lĩnh vực khác nhau, việc phát hiện tri thức cũng trở lên đa dạng hơn Do đó, nhiệm vụ

Trang 15

của phát hiện tri thức trong CSDL cũng trở lên phong phú và có thể phát hiện rất nhiều kiểu tri thức khác nhau Một trong các bước đầu tiên trong quá trình phát hiện tri thức trong CSDL là quyết định xem loại kiến thức nào mà thuật toán phát hiện tri thức trong CSDL cần phải kết xuất từ dữ liệu Do đó, vệc phân loại và so sánh các kiểu nhiệm vụ phát hiện tri thức trong CSDL 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 CSDL hữu ích Ta sẽ xem xét một số kiểu nhiệm vụ phát hiện tri thức sau:

3.1 Phát hiện các luật tối ưu truy vấn ngữ nghĩa (Sematics Query Optimization – SQO Rules)

Các luật tối ưu truy vấn CSDL 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 Các phép biến đổi này thường dựa trên lý thuyết đại số quan hệ Các luật được biến đổi trả lại cùng một câu trả lời như câu truy vấn ban đầu ở bất kỳ trạng thái nào của CSDL Ngược lại, luật tối ưu 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 bằng cách thêm vào hoặc xoá đi các mối liên kết bằng việc sử dụng các tri thức CSDL ngữ nghĩa bao gồm các ràng buộc về tính toàn vẹn và

sự phụ thuộc hàm để sản sinh ra các câu truy vấn hiệu quả hơn Như vậy câu truy vấn đã biến đổi cũng trả lại cùng câu trả lời giống như câu truy vấn ban đầu trong bất kỳ trạng thái nào của CSDL thoả mãn kiến thức về ngữ nghĩa được sử dụng trong phép biến đổi Các hệ thống phát hiện luật SQO có thể được chia thành ba lớp:

Các hệ thống hướng truy vấn (hệ thống báo cáo) trong đó thuật toán phát hiện tri thức trong CSDL nhằm phục vụ các truy vấn CSDL thực của người dùng;

Các hệ thống hướng dữ liệu (hệ thống tác nghiệp) trong đó thuật toán phát hiện tri thức trong CSDL chủ yếu phục vụ sự phân bổ dữ liệu trong trạng thái hiện thời của CSDL;

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ướ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 đến chi phí liên quan như dùng phương pháp truy cập nào và sơ đồ chỉ số trong hệ quản trị CSDL Việc này là cần thiết để tiết kiệm thời gian xử lý

Trang 16

truy vấn Một thuật toán phát hiện tri thức trong CSDL loại này đòi hỏi phải xem xét tối ưu chi phí

3.2 Phát hiện sự phụ thuộc CSDL (Database Dependencies)

Trong mô hình dữ liệu quan hệ, chúng ta đã nghiên cứu quan hệ trong CSDL quan hệ 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 sự phụ thuộc dữ liệu hoặc ràng buộc toàn vẹn

Ở đây sẽ sử dụng thuật ngữ phụ thuộc CSDL để chỉ sự phụ thuộc dữ liệu kiểu này Sự phụ thuộc CSDL được sử dụng trong thiết kế và duy trì một CSDL Phương pháp phát hiện tự động các sự phụ thuộc CSDL này chính là một kiểu nhiệm vụ của Khai phá dữ liệu

3.3 Phát hiện sự sai lệch (Deviation)

Nhiệm vụ này nhằm phát hiện sự sai lệch đáng kể giữa nội dung của tập con dữ liệu thực và nội dung mong đợi Hai mô hình sai lệch hay dùng là mô hình sai lệch theo thời gian và sai lệch nhóm Sai lệch theo thời gian là 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 chờ đợi giữa dữ liệu trong hai tập con dữ liệu, ở đây tính đến cả trường hợp tập con này thuộc trong tập con kia, nghĩa là xác định 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

3.4 Phát hiện luật kết hợp (Association Rules)

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 những mối liên 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 được 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 tuỳ thuộc vào khách 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ị

Một giao dịch có thể chứa một số khoản mục, tập hợp tất cả các khoản mục sẽ thuộc vào một 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

Trang 17

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ả mục nào đó trong giao dịch sẽ kéo theo sự xuất hiện của một số 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, trong đó, 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ợ (sup) và độ tin cậy (conf) sup được định nghĩa như tỷ lệ số giỏ thoả mãn cả

X và Y trên toàn bộ số giỏ conf được xác định như tỷ lệ số giỏ thoả mãn cả

X và Y trên toàn bộ chỉ thoả mãn X Ta sẽ tìm hiểu luật kết hợp ở phần sau

3.5 Mô hình hoá sự phụ thuộc (Dependence Modeling)

Nhiệm vụ này liên quan đến việc phát hiện sự phụ thuộc trong số các thuộc tính Những phụ thuộc này thường được biểu thị dưới dạng 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 logic của các giá trị thuộc tính Trên thực tế, tiên đề thường là nhóm các giá trị thuộc tính và kết luận chỉ là một giá trị tuộc tính Lưu ý là những luật này không phải hoàn toàn giống với

sự phụ thuộc CSDL được nêu ở phần II.2 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 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 đó

3.6 Mô hình hoá nhân quả (Causation Modeling)

Nhiệm vụ này liên quan đến việc phát hiện mối quan hệ nhân quả trong thuộc tính Các luật nhân quả cũng là các luật “nếu - thì” giống các luật phụ thuộc, nhưng mạnh hơn Luật phụ thuộc đơn giản chỉ ra một mối tương hỗ giữa tiên đề và kết luận của luật mà không có ý nghĩa nhân quả trong quan hệ này Do đó, cả tiên đề và kết luận có thể quan hệ dưới sự ảnh hưởng của một biến thứ ba, tức là một thuộc tính hoặc có ở trong tiên đề hoặc có ở trong kết luận Luật nhân quả không chỉ chỉ ra mối tương quan giữa tiên đề và kết luận

mà còn cho biết tiên đề thực sự tạo ra kết luận và mối quan hệ giữa hai thành phần này là trực tiếp Tập các mối quan hệ nhân quả có thể được biểu diến bằng đồ thị nhân quả

Trang 18

Thuật toán phát hiện các luật nhân quả CAUDISCO áp dụng các phép kiểm tra sự độc lập thống kê của từng cặp thuộc tính Sau đó, đối với các thuộc tính phụ thuộc lẫn nhau, thuật toán sẽ xác định mối quan hệ có là xác thực, tiềm năng hay chỉ là một liên kết giả tạo, không phụ thuộc vào tập các điều kiện thoả mãn bởi quan hệ nhân quả

Các quan hệ nhân quả cần phụ thuộc vào thời gian theo nghĩa là nguyên nhân trước kết quả (kết luận) Nguyên nhân và kết quả đều có ít nhất một sự kiện thời gian đi kèm và thời gian của kết quả phải đi sau thời gian của nguyên nhân Mặc dù yếu tố thời gian làm rõ ý nghĩa nhân quả nhưng hệ thống thường khó phân biệt các liên kết giả tạo

3.7 Phân cụm, nhóm (Clustering) [6]

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 như các giỏ 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 dề 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 xem 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

3.8 Phân lớp (Classification)

Trong nhiệm vụ phân lớp, mỗi bộ dữ liệu theo dạng giỏ mua hàng thuộc

về một lớp nào đó đã được xác định trước Các bộ dữ liệu bao gồm tập các thuộc tính dự báo và một thuộc tính phân lớp cụ thể Lớp của bộ được chỉ ra bởi giá trị của thuộc tính lớp mà người dùng xác định trước

Ta xét ví dụ sau: Giả sử, mỗi bộ dữ liệu biểu diễn các thông tin về nhân viên, trong đó các thuộc tính dự báo là tuổi, giới tính, trình độ học vấn, của nhân viên đó và thuộc tính phân lớp là trình độ lãnh đạo của nhân viên Mục tiêu của thuật toán phân lớp là tìm ra mối quan hệ nào đó giữa các thuộc tính

dự báo và thuộc tính phân lớp, từ đó sử dụng mối quan hệ này để dự báo lớp cho các bộ dữ liệu mới khác cùng khuôn dạng

Trang 19

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

3.9 Hồi quy (Regression)

Về khái niệm, nhiệm vụ hồi quy tương tự như phân lớp Điểm khác nhau chính là ở chỗ thuộc tính để dự báo là liên tục chứ không phải rời rạc Việc dự báo các giá trị số thường được làm bởi các phương pháp thống kê cổ điển, chẳng hạn như hồi quy tuyến tính Tuy nhiên, các phương pháp mô hình hoá cũng được sử dụng, chẳng hạn như cây quyết định, trong đó nút lá là

mô hình tuyến tính phát sinh tập các lớp giả (pseudo - class) có giá trị thuộc tính đích tương tự nhau, sau đó sử dụng phương pháp quy nạp để thay thế các lớp trong luật quy nạp bằng tổ hợp các giá trị của thuộc tính lớp cho các bộ dữ liệu theo luật

3.10 Tổng hợp (Sumarization)

Nhiệm vụ tổng hợp chính là sản sinh ra các mô tả đặc trưng cho một lớp

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 luật có dạng sau: ”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 luật phân lớp Luật phát hiện đặc trưng cho một lớp chỉ sản sinh khi các bộ dữ liệu đã thuộc về lớp đó

3.11 So sánh các nhiệm vụ phát hiện tri thức

Điểm giống và khác giữa các nhiệm vụ phát hiện tri thức được tóm tắt trong bảng sau:

SQO Hướng hệ quản tri CSDL Tối ưu truy vấn Không học

Sự phụ thuộc CSDL Hướng hệ quản tri CSDL Thiết kế và duy trì CSDL Không học Phát hiện sai lệch Mục đích chung Xác định trội Không học Phát hiện liên kết Mục đích chung Dự báo, xác định trội Có học

Trang 20

Nhiệm vụ Kiểu phát hiện Mục đích Kiểu dự báo

Nhân quả Mục đích chung Dự báo, mô tả Không học Phân nhóm Mục đích chung Dự báo, mô tả Không học Phân lớp Mục đích chung Dự báo Có học Hồi quy Mục đích chung Dự báo Có học Tổng hợp Mục đích chung Dự báo Có học

Bảng 1: So sánh các nhiệm vụ phát hiện tri thức Trong bảng này, cột đầu tiên chỉ ra nhiệm vụ phát hiện tri thức Cột thứ hai chỉ ra kiểu tri thức được phát hiện Các kiểu có thể là hướng hệ quản trị CSDL (như các luật SQO) hoặc phụ thuộc CSDL hoặc là mục đích chung (tức

là các nhiệm vụ phát hiện bổ trợ khác) Tri thức hướng hệ quản trị CSDL thường dùng trong thiết kế và giao dịch của một CSDL Tuy nhiên, tri thức hướng hệ quản trị CSDL cũng có thể dùng cho việc kiểm tra các luật tối ưu truy vấn ngữ nghĩa để cải thiện việc tìm hiểu ứng dụng Trong khi tri thức theo kiểu mục đích chung có thể được sử dụng theo các mục đích khác nhau tuỳ thuộc vào nhu cầu của người dùng theo nghĩa mờ và nó có thể sử dụng hiệu quả trong hệ quản trị CSDL Tuy vậy, điểm khác biệt quan trọng là tri thức hướng hệ quản trị CSDL yêu cầu độ chính xác cao hơn so với tri thức theo mục đích chung Cột thứ ba trong bảng chỉ ra mục đích của việc phát hiện tri thức Cột này xuất phát từ cột hai Mục đích chính của các tri thức hướng hệ quản trị CSDL là khá cụ thể: Tối ưu truy vấn (trong trường hợp SQO) và thiết kế, duy trì CSDL (trong trường hợp sự phụ thuộc CSDL) Các tri thức theo kiểu mục đích chung thường được dùng co một sự kết hợp các mục đích dự báo, mô tả và xác định trội Dự báo liên quan đến xác định giá trị của các tri thức trên cơ sở xác định giá trị của các thuộc tính khác Kỹ thuật đặc trưng là phân lớp và hồi quy Tuy nhiên, dự báo cũng dựa trên quan hệ nhân quả, mô hình hoá sự phụ thuộc cũng như phát hiện luật kết hợp Mô tả thường gắn với tổng hợp, thông tin gộp Do vậy, mô tả là mục tiêu chính của phân nhóm và tổng hợp Đối với hai nhiệm vụ này, việc mô tả các thuộc tính chung của các tập dữ liệu được quan tâm Hơn nữa việc mô tả cũng khá quan trọng trong các nhiệm vụ xác định phụ thuộc và quan hệ nhân quả Cần chú ý

là mục tiêu chính của phát hiện tri thức phụ thuộc vào dạng mà tri thức biểu diễn, chẳng hạn, mạng nhân quả thích hợp cho mục tiêu mô tả hơn là luật về

sự phụ thuộc

Trang 21

Ta sử dụng thuật ngữ xác định trội (highlighting) để xác định các mẫu, những quy luật hay những bất thường đặc biệt trong dữ liệu Tính chất cơ bản của các mẫu đặc biệt này là chúng có một giá trị bất ngờ hoặc tần suất tương đối không mong đợi Hơn nữa, khác với tri thức được phát hiện cho các mục đích mô tả, các mẫu này không cần thiết thể hiện dưới dạng trừu tượng Ví

dụ điển hình là thăm dò sự sai khác với thông tin được phát hiện chỉ đơn giản

là danh sách các điểm dữ liệu lệch ra ngoài Nhiệm vụ phát hiện luật liên kết

có thể được xem là một dạng xác định trội, bởi lẽ, một trong các đòi hỏi rõ ràng của luật liên kết là tần suất tương đối tối thiểu (giá trị support) trong dữ liệu

Cột thứ tư chỉ ra loại dự báo liên quan đến từng nhiệm vụ phát hiện tri thức Mặc dù các nhiệm vụ SQO và sự phụ thuộc CSDL phát hiện tri thức hướng CSDL và theo mục tiêu cụ thể, nhưng cũng có các nhiệm vụ dự báo liên quan đến kiểu này Nói chung, các nhiệm vụ SQO, sự phụ thuộc CSDL, liên kết, nhân quả, sự phụ thuộc và phân cụm có kiểu dự báo nhiều - nhiều trong đó giá trị của một vài thuộc tính có thể dùng để dự báo giá trị của các thuộc tính khác Một cách nhìn khác về quan hệ nhiều - nhiều là xem xét các nhiệm vụ như một dạng phát hiện không có học, bởi vì người dùng không chỉ

ra thuộc tính mục tiêu và hệ thống có sự tự chủ hoàn toàn để quyết định thuộc tính nào sẽ được đưa ra trong tri thức Nhiệm vụ phát hiện sự sai khác không hoàn toàn đúng với mục tiêu dự báo nhưng có thể nói nó liên quan đến việc phát hiện không có học

Nhiệm vụ phân lớp và hồi quy liên quan đến dự báo nhiều - một trong đó giá trị của nhiều thuộc tính có thể được sử dụng để dự báo giá trị của một thuộc tính do người dùng xác định trước Đối với nhiệm vụ tổng hợp, từ lớp của một bộ dữ liệu, chúng ta có thể dự báo giá trị (hoặc khoảng giá trị, giá trị trung bình, ) của các thuộc tính khác Tri thức được phát hiện phải bao gồm quan hệ đó Do vậy, tính tự chủ của hệ thống chỉ ở chỗ xác định các thuộc liên quan đến giá trị thuộc tính đích và có hạn chế hơn so với các nhiệm vụ không học Tuy nhiên, các nhiệm vụ không học có thể chuyển thành có học Các đặc tính khác của phát hiện tri thức như tính thông minh và tính hữu dụng không bao gồm trong bảng trên bởi vì chúng mang tính chủ quanvà thay đổi lớn trong mỗi nhiệm vụ của từng kĩnh vực cụ thể

Phát hiện tri thức hướng CSDL (SQO và sự phụ thuộc CSDL) có độ chính xác cao Đây là điểm khác biệt quan trọng so với các đòi hỏi của các nhiệm vụ phát hiện tri thức khác Nhiệm vụ phát hiện sự sai lệch liên quan

Trang 22

đến phát hiện tri thức với mức ý nghĩa do người dùng xác định Nhiệm vụ phát hiện liên kết cũng như thế với ngưỡng tin cậy (ngưỡng confidence) và tần suất tương đối (ngưỡng hỗ trợ - support) Nhiệm vụ tổng hợp liên quan đến phát hiện tri thức có tính phổ biến cao tức là luật được phát hiện phải bao hàm một số dữ liệu (mà các nhiệm vụ khác như phân lớp không đòi hỏi như vậy)

Các nhiệm vụ như phát hiện sự phụ thuộc, nhân quả, phân lớp và hồi quy chủ yếu liên quan đến phát hiện tri thức có độ chính xác cao

4 Phân lớp dữ liệu

4.1 Khái niệm về phân lớp

Phân lớp (classification) là quá trình nhóm một tập các đối tượng vật lý hoặc trừu tượng thành các nhóm hay các đối tượng tương tự nhau Một lớp (class) là một tập các đối tượng dữ liệu trong đó các đối tượng trong cùng một lớp có sự tương tự hoặc khác nhau so với các đối tượng thuộc lớp khác

Không giống như trong quá trình phân loại, ta thường biết trước tính chất hay đặc điểm của các đối tượng trong cùng một lớp và dựa vào đó để ấn định một đối tượng mới vào lớp của nó Thay vào đó trong quá trình phân lớp ta không hề biết trước tính chất của các lớp mà phải dựa vào mối quan hệ giữa các đối tượng để tìm ra sự giống nhau giữa các đối tượng theo một độ đo nào đó đặc trưng cho lớp

Việc phân lớp không bao giờ sử dụng độc lập mà nó thường được sử dụng kèm với các phương pháp khác Khi một cách phân lớp được đưa ra cũng phải có một phương pháp áp dụng để đưa ra ý nghĩa của lớp đó

Quá trình phân lớp được chia làm hai giai đoạn Ta có thể hình dung về quá trình này qua hình vẽ sau:

Trang 23

Hình 2: Các giai đoạn của quá trình phân lớp

Giai đoạn xây dựng mô hình có nhiệm vụ mô tả một tập hợp các lớp đã xác định trước Giả sử ta có một tập các bộ dữ liệu được giả định rằng đã thuộc vào một lớp đã xác định trước Lớp của mỗi bộ được chỉ ra trong thuộc tính nhãn lớp của bộ đó Tập dữ liệu này dùng để xây dựng mô hình và được gọi là tập dữ liệu huấn luyện Mô hình được xây dựng có thể là các luật phân lớp, cây quyết định hoặc có thể là công thức toán học

Trong giai đoạn sử dụng mô hình, mô hình đã được xác định được dùng

để phân lớp các đối tượng trong tương lai hoặc các đối tượng chưa biết Trong giai đọan này, một công việc quan trọng là đánh giá độ chính xác của mô hình

sử dụng Để là được điều đó các nhãn lớp đã biết của các bộ trong tập dữ liệu kiểm tra được so sánh với kết quả phân của mô hình Độ chính xác là tỉ lệ phần trăm của các bộ trong tập dữ liệu kiểm tra được phân lớp đúng bởi mô hình Tập dữ liệu kiểm tra phải có cùng một khuôn dạng và độc lập với tập dữ liệu huấn luyện để tránh vấn đề Over-fitting có thể xảy ra

4.2 Ứng dụng của phân lớp

Việc phân lớp đã được sử dụng rộng rãi trong các ứng dụng của nhiều lĩnh vực, bao gồm nhận dạng mẫu, phân tích dữ liệu, phân tích thị trường, Bằng cách phân lớp, chúng ta có thể thấy các vùng đầy đặc hoặc thưa thớt do vậy phát hiện được sự phân bố các mẫu và có thể thấy được sự tương quan giữa những thuộc tính dữ liệu Trong kinh doanh, phân lớp có thể giúp nhà nghiên cứu thị trường phát hiện được các nhóm khách hàng khác nhau và đặc tính của từng nhóm khách hàng dựa vào dữ liệu mua bán Trong sinh học, phân lớp được dùng để chia nhóm các loài động và thực vật, phân loại gen có

Xây dựng mô hình Sử dụng mô hình để dự

Dữ liệu chưa biết

Trang 24

chức năng tương tự nhau và có những thông tin chi tiết hơn về cấu trúc của các vùng dân cư Phân lớp cũng giúp cho việc nhận dạng các mẫu đất giống nhau dựa trên cơ sở dữ liệu quan sát trái đất, phân chia các nhóm nhà trong thành phố theo các tiêu chí như giá trị, vị trí địa lý của ngôi nhà Phân lớp còn được sử dụng để phân chia các nhóm tài liệu Web dựa vào nội dung thông tin

Với vai trò là chức năng trong khai phá dữ liệu, phân tích phân lớp có thể sử dụng như là một công cụ độc lập để thu thập thông tin về sự phân bố

dữ liệu, để quan sát các đặc tính của một lớp nhờ đó tập trung được vào từng lớp cụ thể cho các bước phân tích sau Ngoài ra, phân lớp cũng là một bước tiền xử lý dữ liệu cho nhiều thuật toán như là phát hiện các đặc tính và phân loại dữ liệu trong đó Các thuật toán này thường đòi hỏi thực hiện trên các lớp đã được phát hiện

4.3 Các vấn đề nghiên cứu trong phân lớp

Ngày nay, có nhiều vấn đề nghiên cứu về phân lớp trong các lĩnh vực khác nhau như khai phá dữ liệu, thống kê, học máy, công nghệ dữ liệu không gian, sinh học Do kích thước của các CSDL tăng lên rất nhanh, phân lớp đang là vấn đề được quan tâm trong nghiên cứu về khai phá dữ liệu

Trong lĩnh vực thống kê, phân lớp đã được nghiên cứu phát triển trong nhiều năm, các vấn đề tập trung chủ yếu vào phân tích các lớp dựa vào khoảng cách Các công cụ phân tích lớp dựa trên một số phương pháp như k-means, k-medoids đã được xây dựng trong nhiều hệ thống phần mềm phân tích thống kê như S-Plus, SPSS và SAS Trong học máy, phân lớp là một ví

dụ về học không quan sát Không giống như phân loại, phân lớp và học không giám sát không dựa vào các lớp đã định nghĩa trước và các mẫu đã được gán nhãn trước Theo định nghĩa này, phân lớp là một dạng của học qua quan sát hơn là học bằng mẫu

Trong khai phá dữ liệu, các vấn đề nghiên cứu trong phân lớp chủ yếu tập trung vào tìm kiếm các phương pháp phân lớp hiệu quả và tin cậy trong CSDL lớn Các yêu cầu đặt ra đối với các phương pháp phân lớp đó là độ hiệu quả (effectiveness) và độ tuyến tính (scalability) của thuật toán, khả năng làm việc với các kiểu dữ liệu và các lớp có hình dạng phức tạp, các kĩ thuật phân lớp nhiều chiều và các phương pháp phân lớp gồm dữ liệu số và dữ liệu xác thực trong CSDL lớn

Trang 25

4.4 Các yêu cầu đối với bài toán phân lớp

Phân lớp luôn là vấn đề nghiên cứu với nhiều thách thức bởi các ứng dụng của nó thường đòi hỏi rất nhiều các yêu cầu đặc biệt Sau đây là các yêu cầu chính đối với phân lớp trong khai phá dữ liệu:

+ Tính tuyến tính (scalability): nhiều thuật toán làm việc tốt trên tập dữ liệu nhỏ có ít hơn 200 đối tượng dữ liệu, tuy nhiên các CSDL lớn có thể có hàng triệu đối tượng Phân lớp tập các dữ liệu lớn có thể dẫn đến kết quả không mong muốn như có thời gian thực hiện quá lâu hoặc dữ liệu đầu ra không phù hợp Do vậy các thuật toán cần có tính tuyến tính

+ Khả năng làm việc với nhiều loại dữ liệu khác nhau: nhiều thuật toán được xây dựng chỉ thực hiện với dữ liệu số Tuy nhiên, các ứng dụng có thể yêu cầu phân lớp với nhiều dạng dữ liệu khác nhau như là nhị phân, dữ liệu phân loại, dữ liệu thứ tự hoặc dữ liệu hỗn hợp theo nhiều kiểu

+ Khả năng phát hiện các lớp với hình dạng bất kỳ: nhiều thuật toán xác định lớp chỉ dựa vào độ đo khoảng cách Euclidean hoặc Manhattan Các thuật toán dựa vào độ đo này có xu hướng tìm các lớp có hình cầu và có sự tương tự nhau về kích thước và mật độ Tuy nhiên, một lớp lại có thể có hình dạng bất kỳ Do vậy, việc phát hiện các thuật toán có khả năng phát hiện các lớp với hình dạng bất kỳ là rất quan trọng

+ Tối thiểu các tham số đầu vào: nhiều thuật toán phân lớp yêu cầu người sử dụng nhập vào một số các tham số nhất định để thực hiện việc phân lớp (ví dụ như số lớp mong muốn) Các tham số thường rất khó xác định, đặc biệt với các tập dữ liệu có các đối tượng nhiều chiều Điều này không chỉ gây khó khăn cho người sử dụng mà còn cho ra chất lượng các lớp khác nhau + Khả năng làm việc với các dữ liệu nhiễu: Hầu hết các dữ liệu thực đề

có dữ liệu không đầy đủ, không biết rõ hoặc dữ liệu lỗi Một số thuật toán nhạy cảm với các dữ liệu như vậy và có thể dẫn đến phân lớp có chất lượng kém

+ Không phụ thuộc vào thứ tự của các bản ghi đầu vào: Một số thuật toán phân lớp là rất nhạy cảm với thứ tự dữ liệu đầu vào Cùng một tập dữ liệu, khi biểu diễn với thứ tự khác nhau đối với các thuật toán có thể tạo ra những lớp rất khác nhau Như vậy yêu cầu thuật toán không phụ thuộc vào thứ tự đầu vào dữ liệu là rất quan trọng

Trang 26

+ Khả năng làm việc với dữ liệu nhiều chiều: Một CSDL hoặc một kho

dữ liệu tích hợp (data warehouse) có thể có nhiều chiều hoặc nhiều thuộc tính Nhiều thuật toán phân lớp rất tốt với các dữ liệu ít chiều (ví dụ khoảng 2 hoặc3 chiều) Đây là một thách thức trong việc phân lớp các đối tượng dữ liệu trong không gian nhiều chiều đặc biệt khi các dữ liệu đó rất thưa thớt và không đối xứng

+ Phân lớp với các ràng buộc: Các ứng dụng trong thực tế có thể phải thực hiện phân lớp với nhiều ràng buộc Ví dụ công việc của bạn cần phải làm là phải lựa chọn vị trí của một số xác định các máy thanh toán tiền tự động trong thành phố Để xác định được điều này, bạn phải phân lớp các hộ gia đình trong khi cần chú ý các ràng buộc khác như vị trí các con sông, mạng lưới đường cao tốc của thành phố cũng như là yêu cầu khách hàng của từng vùng Một nhiệm vụ thách thức đặt ra là tìm một nhóm dữ liệu sao cho phân lớp tốt nhất thỏa mãn các điều kiện ràng buộc

+ Tính có thể hiểu được và khả năng sử dụng được: Người sử dụng mong chờ ở việc phân lớp làm sao có thể hiểu được, nhận biết được và sử dụng được các lớp sau khi chia Nghĩa là các lớp cần mang lại những ý nghĩa

và ứng dụng Việc nghiên cứu mục đích của ứng dụng có ảnh hưởng quan trọng đến các phương pháp phân lớp

Với yêu cầu đặt ra, ta nhận thấy rằng rất khó có thể tìm ra một phương pháp phân lớp nào có thể đáp ứng đầy đủ các yêu cầu trên Do vậy tìm ra được một phương pháp đáp ứng được càng nhiều yêu cầu của việc phân lớp luôn là một thách thức lớn đối với lĩnh vực khai phá dữ liệu và điều này luôn đòi hỏi nhiều công sức và thời gian để đạt được những kết quả tốt nhất

5 Một số phương pháp phân lớp

Có rất nhiều thuật toán phân lớp khác nhau, việc lựa chọn một thuật toán thích hợp phụ thuộc vào kiểu dữ liệu cần thực hiện cũng như là mục đích của ứng dụng Nếu phân lớp được xem như là công cụ mô tả hoặc thăm dò, khi

đó phải thực hiện nhiều thuật toán phân lớp khác nhau trên cùng một phương pháp phù hợp nhất Nói chung các thuật toán phân lớp được chia thành các nhóm sau: phương pháp phân hoạch, phương pháp phân cấp, phương pháp dựa vào mật độ, phương pháp chia lưới, phương pháp dựa vào mô hình,(thường áp dụng cho CSDL không gian)

Trang 27

5.1 Phương pháp phân hoạch

Ý tưởng của phương pháp phân hoạch là xác định số lớp trước và xác định luôn tính chất của từng lớp Sau đó với mỗi một điểm dữ liệu tìm cách đưa điểm dữ liệu đó vào lớp thích hợp nhất

Với cách làm này dẫn tới một bài toán phải xác định được mật độ đo thích hợp giữa một phần tử và một phần tử đại diện lớp

Hình 3: Phân lớp không gian thứ bậc

Hình trên là một ví dụ minh họa phân lớp một tập các điểm thành 3 nhóm với phần tử đại diện được biểu diễn bằng các diểm đậm hơn trong mỗi lớp Nói cách khác, đây là một cách phân lớp không thứ bậc với k = 3

5.2 Phân lớp dựa trên cây quyết định [6]

Với kỹ thuật phân lớp dựa trên cây quyết định, kết quả của quá trình xây dựng mô hình sẽ cho ra một cây quyết định Cây này được sử dụng trong quá trình phân lớp các đối tượng dữ liệu chưa biết hoặc đánh giá độ chính xác của

mô hình Tương ứng với hai giai đoạn trong quá trình phân lớp là quá trình xây dựng và sử dụng cây quyết định

Quá trình xây dựng cây quyết định bắt đầu từ một nút đơn biểu diễn tất

cả các mẫu dữ liệu Sau đó, các mẫu sẽ được phân chia một cách đệ quy dựa vào việc lựa chọn các thuộc tính Nếu các mẫu có cùng một lớp thì nút sẽ trở thành lá, ngược lại ta sử dụng một độ đo thuộc tính để chọn ra thuộc tính tiếp theo làm cơ sở để phân chia các mẫu ra các lớp Theo từng giá trị của thuộc tính vừa chọn, ta tạo ra các nhánh tương ứng và phân chia các mẫu vào các nhánh đã tạo Lặp lại quá trình trên cho tới khi tạo ra được cây quyết định, tất

cả các nút triển khai thành lá và được gán nhãn Quá trình đệ quy sẽ dừng lại khi một trong các điều kiện sau được thỏa mãn:

+ Tất cả các mẫu thuộc cùng một nút

+ Không còn một thuộc tính nào để lựa chọn

Trang 28

+ Nhánh không chứa mẫu nào

Để hình dung tốt hơn về cây quyết định, ta xét ví dụ sau Để chẩn đoán

và phân loại các bệnh nhân có hoặc không mắc bệnh ung thư, ta có một CSDL và kết quả là sinh thiết tế bào bao gồm 3 thuộc tính dự báo như trong bảng sau:

Light 1 1 Healthy Light 1 2 Healthy Light 2 2 Cancerous Light 2 1 Healthy Dark 1 1 Healthy Dark 1 2 Cancerous Dark 2 2 Cancerous Dark 2 1 Cancerous

Bảng 2: Tập ví dụ huấn luyện D

Vấn đề đặt ra là làm thế nào để lựa chọn được thuộc tính tốt nhất? Thông thường người ta dựa vào công thức tính Entropy để tính độ đo giữa các thuộc tính Để đơn giản, ta giả thiết mỗi mẫu dữ liệu có thể có lớp  hoặc  Giả thiết S một tập hợp các mẫu, P là tỷ lệ các mẫu  và P là tỷ lệ các mẫu

Độ đo thu lợi thông tin từ tập S trên thuộc tính A được định nghĩa:

Trang 29

Sau quá trình lặp đệ quy cây quyết định có thể được sinh ra như hình vẽ

sau

Hình 4: Phân lớp dựa trên cây quyết định

Phần lớn các giải thuật sinh cây quyết định đều có hạn chế chung là sử

dụng nhiều bộ nhớ Lượng bộ nhớ sử dụng tỷ lệ thuận với kích thước của

mẫu dữ liệu huấn luyện Một chương trình sinh cây quyết định có hỗ trợ sử

dụng bộ nhớ ngoài song lại có nhược điểm về tốc độ thực thi Do vậy, vấn đề

tỉa bớt cây quyết định trở nên quan trọng Các nút lá không ổn định trong cây

quyết định sẽ được tỉa bớt

Kỹ thuật tỉa trước là việc dừng sinh cây quyết định khi chia dữ liệu

không có ý nghĩa Đôi khi, ta có thể sinh ra một cây quyết định đầy đủ sau đó

mới tỉa các nút lá không ổn định Kĩ thuật này gọi là tỉa sau Thông thường

phương pháp tỉa sau sẽ tỉa giảm sai số hoặc tỉa sau với các luật (tức là sinh ra

các luật rồi áp dụng việc tỉa bớt các luật)

Trong quá trình sử dụng, cây quyết định được dùng để phân lớp một mẫu

dữ liệu chưa biết Thông thường quá trình này đòi hỏi việc kiểm tra các giá

trị của các mẫu dữ liệu dựa vào cây quyết định

5.3 Phương pháp dựa vào mật độ

Hầu hết các phương pháp phân lớp, phân hoạch chủ yếu dựa vào khoảng

cách các đối tượng Do vậy các phương pháp này chỉ tìm được các lớp có

cancerous healthy

#nuclei=1

Color = light Color = dark

#nuclei=2 #nuclei=1 #nuclei=2

Trang 30

hình dạng đơn giản và sẽ gặp khó khăn khi cần tìm các lớp với hình dạng bất

kỳ Phương pháp phân lớp dựa vào mật độ có khả năng phát hiện các lớp dưới hình dạng bất kỳ Ý tưởng của phương pháp chính là xây dựng một lớp mật độ của các điểm trong một lớp lớn hơn một ngưỡng nào đó, nếu một điểm

có mật độ nhỏ hơn ngưỡng các điểm đó sẽ được coi là nhiễu Phương pháp này được ứng dụng trong lĩnh vực khám phá tri thức trong CSDL không gian Một số thuật toán tiêu biểu của phương pháp này là thuật toán DBSCAN, DENCLUE,

Thuật toán DBSCAN (Density based Spatial Clustering of Application with Noise) là thuật toán chia lớp dựa vào vị trí địa phương (locality-based) DBSCAN chia lớp dựa trên quan sát thực tế thấy rằng, mật độ của những điểm trong cùng một lớp thì lớn hơn rất nhiều so với mật độ của những điểm không thuộc lớp đó Từ quan sát đó, DBSCAN thực hiện việc chia các lớp sao cho mật độ của các đối tượng dữ liệu trong từng lớp lớn hơn một ngưỡng đặt

ra Thuật toán có khả năng phát hiện các lớp với hình dạng bất kỳ, xác định lớp với mật độ đủ lớn, có khả năng làm việc trên CSDL không gian có nhiễu Mỗi lớp được xem như một tập cực đại các điểm liên thông mật độ

Thuật toán DENCLUE (Density Based Clustering) là thuật toán chia lớp tổng quát Với các tham số thích hợp, DENCLUE tương ứng với thuật toán chia lớp phân hoạch, thuật toán chia lớp dựa vào vị trí địa phương, phương pháp chia lớp có cấu trúc hoặc phương pháp chia lưới Thuật toán này phân lớp dựa vào hàm phân bố mật độ Ảnh hưởng của mỗi điểm có thể được tổng quát hóa bằng một hàm toán học gọi là hàm ảnh hưởng Mật độ tổng thể trên không gian dữ liệu có thể được xem như là tổng các hàm ảnh hưởng của tất cả các điểm dữ liệu Các lớp được xác định bằng cách nhận các điểm hút mật độ

là các điểm cực đại cục bộ của hàm mật độ tổng thể

5.4 Phân lớp và mạng nơron nhân tạo

Một kĩ thuật rất quan trọng khác sử dụng trong phân lớp và dự báo đó là mạng nơron nhân tạo Các giải pháp toán học trên mô hình tuyến tính tỏ ra rất hiệu quả, nhưng đối với mô hình phi tuyến, hầu như các thao tác toán học

là vô hạn và phức tạp Tuy nhiên, mạng nơron nhân tạo là một họ của các giải pháp phi tuyến cung cấp một cách tiếp cận mạnh và hiệu quả cho việc phân lớp và dự báo Về mặt lý thuyết, mạng nơron có khả năng xấp xỉ hầu hết các hàm phức tạp với hiệu quả rất gần với mô hình tuyến tính

Trang 31

Như đã giới thiệu, trải qua thời gian có rất nhiều kiến trúc mạng nơron Tuy nhiên, hầu hết các mạng nơron được sử dụng rộng rãi là mạng đầy đủ và lan truyền ngược

Với bài toán phân lớp, mỗi lớp được biểu diễn bởi một đơn vị ra riêng biệt Đối với mỗi trường hợp, nếu giá trị đầu ra là 1 thì thì trường hợp đó sẽ được quy vào lớp đúng, ngược lại, giá trị giá trị ra là 0 sẽ được chỉ định vào các lớp còn lại Ta trở lại với ví dụ về dữ liệu sinh thiết tế bào chẩn đoán bệnh ung thư ở phần II.2, phương pháp mạng nơron có thể được áp dụng như

hình vẽ sau:

Hình 5: Phân lớp dựa vào mạng Nơron

Mặc dù mạng nơron là một trong những cách biểu diễn các giải pháp toán học mạnh nhất và đơn giản nhất nhưng việc đạt được bộ trọng số hợp lý

là một công việc khó Mục tiêu là cực tiểu hóa sai phương giữa các giá trị đầu ra của các mẫu huấn luyện Lan truyền ngược là một phương pháp tối ưu đơn giản nhất mà có rất nhiều ưu điểm, trong đó có thể nói ưu điểm lớn nhất

là có thể sử dụng các mẫu huấn luyện đơn giản và bất kỳ Tuy nhiên, phương pháp này có thể gặp bất lợi do tốc độ huấn luyện chậm

Trang 32

6 Đánh giá, nhận xét

Chương này trình bày những khái niệm cơ bản về phát hiện tri thức và khai phá dữ liệu Đồng thời cũng đưa ra cái nhìn tổng quan về các nhiệm vụ cũng như một số phương pháp khai phá dữ liệu thường gặp

Trang 33

CHƯƠNG 2 - ỨNG DỤNG LUẬT KẾT HỢP VÀO KHAI PHÁ

DỮ LIỆU

Việc dự đoán các thông tin có giá trị cao dựa trên số lượng dữ liệu lớn về nghiệp vụ càng ngày càng trở lên quan trọng đối với nhiều tổ chức, doanh nghiệp Chẳng hạn, những vấn đề các nhà quản lí và kinh doanh cần biết là các kiểu mẫu hành vi mua hàng của các khách hàng, xu hướng kinh doanh, vv… Những thông tin này có thể học được từ những dữ liệu có sẵn

Một trong những vấn đề khó khăn nhất trong việc khai phá dữ liệu trong CSDL là có một số vô cùng lớn dữ liệu cần được xử lý Các tổ chức doanh nghiệp quy mô vừa có thể có từ hàng hàng trăm Megabyte đến vài Gigabyte

dữ liệu thu thập được Các ứng dụng khai phá dữ liệu thường thực hiện phân tích dữ liệu khá phức tạp, mất nhiều thời gian trong toàn bộ CSDL Vì vậy, tìm một thuật toán nhanh và hiệu quả để xử lý khối lượng dữ liệu lớn là một thách thức lớn

Chương này trình bày cơ sở lý thuyết của luật và luật kết hợp, khai phá

dữ liệu dựa vào luật kết hợp, đồng thời trình bày một số thuật toán liên quan đến luật kết hợp

1 Lý thuyết về luật kết hợp

Từ khi nó được giới thiệu từ năm 1993, bài toán khai thác luật kết hợp nhận được rất nhiều sự quan tâm của nhiều nhà khoa học Ngày nay việc khai thác các luật như thế vẫn là một trong những phương pháp khai thác mẫu phổ biến nhất trong việc khám phá tri thức và khai thác dữ liệu (KDD: Knowledge Discovery and Data Mining)

Một cách ngắn gọn, một luật kết hợp là một biểu thức có dạng: XY, trong đó X và Y là tập các trường gọi là item Ý nghĩa của các luật kết hợp khá dễ nhận thấy: Cho trước một cơ sở dữ liệu có D là tập các giao tác - trong

đó mỗi giao tác T D là tập các item - khi đó XY diễn đạt ý nghĩa rằng bất

cứ khi nào giao tác T có chứa X thì chắc chắn T có chứa Y Độ tin cậy của luật (rule confidence) có thể được hiểu như xác suất điều kiện p(Y  T | X 

T) Ý tưởng của việc khai thác các luật kết hợp có nguồn gốc từ việc phân tích

dữ liệu mua hàng của khách và nhận ra rằng “Một khách hàng mua mặt hàng x1 và x2 thì sẽ mua mặt hàng y với xác suất là c%” Ứng dụng trực tiếp của các luật này trong các bài toán kinh doanh cùng với tính dễ hiểu vốn có của chúng – ngay cả đối với những người không phải là chuyên gia khai thác dữ

Trang 34

liệu – làm cho luật kết hợp trở thành một một phương pháp khai thác phổ biến Hơn nữa, luật kết hợp không chỉ bị giới hạn trong phân tích sự phụ thuộc lẫn nhau trong phạm vi các ứng dụng bán lẻ mà chúng còn được áp dụng thành công trong rất nhiều bài toán kinh doanh

Việc phát hiện luật kết hợp giữa các mục (item) trên dữ liệu “giỏ” là bài toán rất đặc trưng của khai phá dữ liệu Dữ liệu giỏ là dữ liệu bao gồm các mục được mua bởi khách hàng với các thông tin như ngày mua hàng, số lượng, giá cả, … Luật kết hợp chỉ ra tập các mục mà thường được mua nhất với cùng các tập mục khác

Hiện nay, có nhiều thuật toán dùng cho việc phát hiện luật kết hợp Tuy nhiên, vấn đề nảy sinh là số lần quét (duyệt) CSDL quá nhiều sẽ ảnh hưởng rất lớn đến hiệu quả và tính khả thi của thuật toán trên các CSDL lớn Đối với các CSDL được lưu trên đĩa, phép duyệt CSDL sẽ gây ra số lần đọc đĩa rất lớn Chẳng hạn một CSDL kích thước 1GB sẽ đòi hỏi khoảng 125000 lần đọc khối cho mỗi lần duyệt (với kích thước khối là 8KB) Nếu thuật toán có

10 lần duyệt thì sẽ gây ra1250000 lần đọc khối Giả thiết thời gian đọc trung bình là 12ms một trang, thời gian cần thiết để thực hiện một thao tác I/O này là1250000*12ms hay sấp sỉ 4 tiếng đồng hồ !!!

Trong phần này, chúng ta xem xét một số định nghĩa, tính chất có liên quan đến luật và luật kết hợp Đồng thời chúng ta tìm hiểu ý nghĩa của luật kết hợp

1.1 Luật kết hợp

a) Ý nghĩ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 thác 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 ngành giao thông vận tải, các loại phương tiện giao thông ngày càng nhiều, do đó chúng ta có thể tìm mối liên hệ giữa việc sử dụng các phương tiện giao thông và nhu cầu về chúng để phục vụ cho việc phát triển cơ sở hạ tầng giao thông vận tải Hay như trong ngành viễn thông, các loại dịch vụ cung cấp cho khách hàng ngày càng nhiều, do đó chúng ta có thể tìm mối liên kết giữa việc sử dụng các loại dịch vụ để phục vụ cho việc quảng cáo, tiếp thị Ví dụ như để tìm hiểu thói quen sử dụng các dịch vụ viễn thông của khách hàng, người ta thường đặt câu hỏi “Những dịch vụ nào khách hàng thường hay sử dụng cùng lúc với nhau khi đăng ký sử dụng tại trung tâm chăm sóc khách hàng ?” Các kết quả nhận

Trang 35

được có thể dùng cho việc tiếp thị dịch vụ như liệt kê các dịch vụ khách hàng hay sử dụng cùng lúc nằm gần nhau, hoặc khuyến mãi dịch vụ kèm theo….

b) Định nghĩa luật kết hợp: Cho một tập I = {I1, I2, ,Im} là tập gồm m khoản mục (item), còn được gọi là các thuộc tính (attribute) Các phần tử trong I là phân biệt nhau X  I được gọi là tập mục (itemset) Nếu lực lượng của X bằng k (tức là |X| = k) thì X được gọi là k-itemset

Một giao dịch (transaction) T được định nghĩa như một tập con (subset) của các khoản mục trong I (T I) Tương tự như khái niệm tập hợp, các giao dịch không được trùng lặp, nhưng có thể nới rộng tính chất này của tập hợp

và trong các thuật toán sau này, người ta đều giả thiết rằng các khoản mục trong một giao dịch và trong tất cả các tập mục (item set) khác, có thể coi chúng đã được sắp xếp theo thứ tự từ điển của các item

Gọi D là CSDL của n giao dịch và mỗi giao dịch được đánh nhãn với một định danh duy nhất (Unique Transasction IDentifier-TID) Nói rằng, một giao dịch T  D hỗ trợ (support) cho một tập X  I nếu nó chứa tất cả các item của X, nghĩa là X  T, trong một số trường hợp người ta dùng ký hiệu T(X) để chỉ tập các giao dịch hỗ trợ cho X Kí hiệu support(X) (hoặc supp(X), s(X)) là tỷ lệ phần trăm của các giao dịch hỗ trợ X trên tổng các giao dịch trong D, nghĩa là:

supp(X) =  

D

T X D

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

2, 3, 4, 5, 6} Thông tin về các giao dịch cho ở bảng sau :

Định danh giao dịch (TID) Tập mục (itemset)

Trang 36

Ta có: supp( {A }) = 4/6 (%)= 66.67 %;

supp({ABDE}) = 3/6 =50%;

supp({ABCDE}) = 1/6 = 16.67%;

Tập phổ biến (frequent itemset):

Support tối thiểu minsup ( 0, 1] (Minimum Support) là một giá trị cho trước bởi người sử dụng Nếu tập mục X  I có supp(X)  minsup thì ta nói

X là một tập phổ biến-frequent itemset (hoặc large itemset) Một frequent itemset được sử dụng như một tập đáng quan tâm trong các thuật toán, ngược lại, những tập không phải frequent itemset là những tập không đáng quan tâm Trong các trình bày sau này, ta sẽ sử dụng những cụm từ khác như “X có support tối thiểu”, hay “X không có support tối thiểu” cũng để nói lên rằng X thỏa mãn hay không thỏa mãn support(X)  minsupp

Ví dụ: Với cơ sở dữ liệu D cho ở bảng 3, 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 :

Các tập mục phổ biến Độ hỗ trợ (supp) tương ứng

B 100% (6/6)

E, BE 83% (5/6)

A, C, D, AB, AE, BC, BD, ABE 67% (4/6)

AD, CE, DE, ABD, ADE, BCE, BDE 50% (3/6)

Bảng 4 : Các tập phổ biến trong cơ sở dữ liệu ở bảng 1

với độ hỗ trợ tối thiểu 50%

Một số tính chất (TC) liên quan đến các frequent itemset:

TC 1 support cho tất cả các subset: nếu A B, A, B là các itemset thì supp(A)  supp(B) vì tất cả các giao dịch của D support B thì cũng support A

TC 2 Nếu một item A không có support tối thiểu trên D nghĩa là

support(A) < minsupp thì một superset B của A sẽ không phải là một frequent

vì support(B)  support(A) < minsup

TC 3 Nếu item B là frequent trên D, nghĩa là support(B)  minsup thì mọi subset A của B là frequent trên D vì support(A)  support(B) > minsup

Trang 37

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

Một luật kết hợp có dạng R: X  Y, trong đó X, Y là các itemset, X, Y

 I và X Y =  X được gọi là tiên đề và Y được gọi là hệ quả của luật Luật X  Y tồn tại một độ hỗ trợ support - supp Supp(X  Y) được định nghĩa là khả năng mà tập giao dịch hỗ trợ cho các thuộc tính có có trong

cả X lẫn Y, nghĩa là:

Support(XY) = support(XY)

Luật X  Y tồn tại một độ tin cậy c (confidence - conf) Conf c được định nghĩa là khả năng giao dịch T hỗ trợ X thì cũng hỗ trợ Y Nói cách khác

c biểu thị số phần trăm giao dịch có chứa luôn A trong số những giao dịch có chứa X

Ta có công thức tính conf c như sau:

conf(X  Y) = p(Y  I | X  I ) =

) ( sup

) (

sup )

(

) (

X p

Y X p T

X p

T Y

Ta nói rằng, luật X Y là thoả trên D nếu với một support tối thiểu

minsup và một ngưỡng cofidence tối thiểu minconf cho trước nào đó mà:

Support(X Y) ≥ minsup và confidence(X Y) ≥ minconf

Chú ý rằng, nếu luật XY mà thoả trên D thì cả X và Y đều phải là các Frequent Itemset trên D và khi xét một luật có thoả hay không, thì cả support

và confidence của nó đều phải quan tâm, vì một luật có thể có confidence = 100% > minconf nhưng có thể là nó không đạt support tối thiểu minsup

Trang 38

Tương tự ta cũng có : Nếu XY và ZZ không thể suy ra XYZ 2) Nếu luật XYZ là thoả trên D thì XZ và YZ có thể không thoả trên D

Chẳng hạn, khi Z là có mặt trong một giao dịch chỉ nếu cả X và Y đều có mặt trong giao dịch đó, nghĩa là support(XY)=support(Z) Nếu support cho

X và Y lớn hơn support(XY), thì 2 luật trên sẽ không có confidence yêu cầu Tuy nhiên, nếu XYZ là thoả trên D thì có thể suy ra XY và XZ cũng thoả trên D Vì support(XY) ≥ support(XYZ) và support(XZ) ≥ support(XYZ)

3) Nếu XY và YZ là thoả trên D thì không thể khẳng định rằng

XZ cũng giữ được trên D

Giả sử T(X)T(Y)  T(Z) và confidence(XY) = confidence(YZ) = minconf Khi đó ta có confidence(XZ) = minconf < minconf vì minconf

<1, nghĩa là luật XZ không có cofidence tối thiểu

4) Nếu luật A (L-A) không có confidence tối thiểu thì cũng không có luật nào trong các luật B (L-B) có confidence tối thiểu trong đó L-A.B là các intemset và BA

Thật vậy, theo tính chất TC1, vì BA Nên support(B) ≥ support(A) và theo định nghĩa của confidence, ta có :

confidence(B (L-B)) = 

) ( sup

) ( sup

B port

L port

) ( sup

) ( sup

A port

L port

<minconf

Cũng vậy, nếu luật (L-C) C là thoả trên D, thì các luật (L-K) K với

KC và K cũng thoả trên D

Bài toán khai phá luật kết hợp:

Có thể diễn đạt một bài toán khai phá luật kết hợp như sau[2][3][8]: Cho một tập các item I, một cơ sở dữ liệu giao dịch D, ngưỡng support tối thiểu minsup, ngưỡng confidence tối thiểu minconf, tìm tất cả các luật kết hợp XY trên D sao cho: support(XY) minsup và confidence(XY)

minconf

1.3 Phân loại luật kết hợp

Tuỳ theo ngữ cảnh các thuộc tính dữ liệu cũng như phương pháp trong các thuật toán mà người ta có thể phân bài toán khai phá luật kết hợp ra nhiều

Trang 39

nhóm khác nhau Chẳng hạn, nếu giá trị của các item chỉ là các giá trị theo kiểu boolean thì người ta gọi là khai phá luật kết hợp boolean (Mining Boolean Association Rules), còn nếu các thuộc tính có tính đến khoảng giá trị của nó (như thuộc tính phân loại hay thuộc tính số lượng chẳng hạn) thì người

ta gọi nó là khai phá luật kết hợp định lượng (Mining Quantitative Association Rules)… Ta sẽ xem xét cụ thể các nhóm đó

Lĩnh vực khai thác luật kết hợp cho đến nay đã được nghiên cứu và phát triển theo nhiều hướng khác nhau Có những đề xuất nhằm cải tiến 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 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 gọi 10 cuộc điện thoại và 1 cuộ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

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 hoá, mờ hoá, v v Một ví dụ về dạng luật này : “gọi liên tỉnh=‟yes‟ AND gọi di động=”yes”  gọi quốc tế=‟yes‟ AND gọi dịch vụ 108 = „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 (quantitative

and categorial association rule): Các thuộc tính của các cơ sở dữ liệu thực tế

có kiểu rất đa dạng (nhị phân – binary, số – quantitative, hạng mục – categorial, 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 “phương thức gọi = ‟Tự động‟ AND giờ gọi ?

„23:00:39 23:00:59‟ AND Thời gian đàm thoại? „200 300‟  gọi liên tỉnh

=‟có‟ , với độ hỗ trợ là 23 53% , và độ tin cậy là 80%”

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 nhiều mức (multi-level association rule): Với cách tiếp cận

theo luật này sẽ tìm kiếm thêm những luật có dạng “ mua máy tính PC 

Trang 40

mua hệ điều hành AND mua phần mềm tiện ích văn phòng, …” thay vì chỉ 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 phần mềm tiện ích văn phòng Microsoft Office, …” Như vậy 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 theo nhiều mức khác nhau

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 hoá 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 một ví dụ của dạng này là : “thuê bao tư nhân = „yes‟ AND thời gian đàm thoại lớn AND cước nội tỉnh = „yes‟  cước không hợp lệ = „yes‟, với

độ hỗ trợ 4% và độ tin cậy 85%” Trong luật trên, điều kiện thời gian đàm thoại lớn ở vế trái của luật là một thuộc tính đã được mờ hoá

Luật kết với thuộc tính được đánh trọng số (association rule with

weighted items): Trong thực tế, các thuộc tính trong cơ sở dữ liệu không phải lúc nào cũng có vai trò như nhau Có một số thuộc tính được chú trọng hơn và

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ề doanh thu hàng tháng, thông tin về thời gian đàm thoại, vùng cước là quan trọng hơn nhiều so với thông tin về phương thức gọi Trong quá trình tìm kiếm luật, chúng ta sẽ gán thời gian gọi, vùng cước các trọng số lớn hơn thuộc tính phương thức gọi Đây là 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 thác được những luật

“hiếm” (tức là có độ hỗ trợ thấp, nhưng có ý nghĩa đặc biệt hoặc mang rất nhiều ý nghĩa)

Khai thác luật kết hợp song song (parallel mining of association rules):

Bên cạnh khai thác luật kết hợp 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 giải 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 hơ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 toán song song khác nhau đã

đề xuất để có thể không phụ thuộc vào 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ừ cơ sở

dữ liệu

Ngày đăng: 19/08/2015, 21:39

HÌNH ẢNH LIÊN QUAN

Hình 1. Quy trình phát hiện tri thức - Ứng dụng khai phá dữ liệu trong khai thác cơ sở dữ liệu tích hợp nghành giao thông vận tải
Hình 1. Quy trình phát hiện tri thức (Trang 11)
Hình 2: Các giai đoạn của quá trình phân lớp - Ứng dụng khai phá dữ liệu trong khai thác cơ sở dữ liệu tích hợp nghành giao thông vận tải
Hình 2 Các giai đoạn của quá trình phân lớp (Trang 23)
Bảng 2: Tập ví dụ huấn luyện D. - Ứng dụng khai phá dữ liệu trong khai thác cơ sở dữ liệu tích hợp nghành giao thông vận tải
Bảng 2 Tập ví dụ huấn luyện D (Trang 28)
Hình 4: Phân lớp dựa trên cây quyết định. - Ứng dụng khai phá dữ liệu trong khai thác cơ sở dữ liệu tích hợp nghành giao thông vận tải
Hình 4 Phân lớp dựa trên cây quyết định (Trang 29)
Hình vẽ sau: - Ứng dụng khai phá dữ liệu trong khai thác cơ sở dữ liệu tích hợp nghành giao thông vận tải
Hình v ẽ sau: (Trang 31)
Hình 6: Dàn cho tập I = {1,2,3,4} - Ứng dụng khai phá dữ liệu trong khai thác cơ sở dữ liệu tích hợp nghành giao thông vận tải
Hình 6 Dàn cho tập I = {1,2,3,4} (Trang 43)
Hình 7: Cây cho tập I = {1, 2, 3, 4} - Ứng dụng khai phá dữ liệu trong khai thác cơ sở dữ liệu tích hợp nghành giao thông vận tải
Hình 7 Cây cho tập I = {1, 2, 3, 4} (Trang 44)
Hình 8: Hệ thống hóa các giải thuật - Ứng dụng khai phá dữ liệu trong khai thác cơ sở dữ liệu tích hợp nghành giao thông vận tải
Hình 8 Hệ thống hóa các giải thuật (Trang 46)
Hình 9. Ví dụ thuật toán Apriori - Ứng dụng khai phá dữ liệu trong khai thác cơ sở dữ liệu tích hợp nghành giao thông vận tải
Hình 9. Ví dụ thuật toán Apriori (Trang 53)
Bảng 5: CSDL về phương tiện giao thông trong cả nước. [5] - Ứng dụng khai phá dữ liệu trong khai thác cơ sở dữ liệu tích hợp nghành giao thông vận tải
Bảng 5 CSDL về phương tiện giao thông trong cả nước. [5] (Trang 67)
Bảng 6: Dữ liệu đã chuyển đổi từ dạng số lƣợng sang dạng boolean. - Ứng dụng khai phá dữ liệu trong khai thác cơ sở dữ liệu tích hợp nghành giao thông vận tải
Bảng 6 Dữ liệu đã chuyển đổi từ dạng số lƣợng sang dạng boolean (Trang 68)
Hình 11: Sơ đồ quan hệ sử dụng trong chương trình - Ứng dụng khai phá dữ liệu trong khai thác cơ sở dữ liệu tích hợp nghành giao thông vận tải
Hình 11 Sơ đồ quan hệ sử dụng trong chương trình (Trang 71)
Hình 12: Giao diện chính của chương trình - Ứng dụng khai phá dữ liệu trong khai thác cơ sở dữ liệu tích hợp nghành giao thông vận tải
Hình 12 Giao diện chính của chương trình (Trang 73)
Hình 13: Quá trình tạo luật kết hợp theo thuật toán Apriori - Ứng dụng khai phá dữ liệu trong khai thác cơ sở dữ liệu tích hợp nghành giao thông vận tải
Hình 13 Quá trình tạo luật kết hợp theo thuật toán Apriori (Trang 74)
Hình 14: Phần mô phỏng thuật toán với dữ liệu nhập từ bàn phím - Ứng dụng khai phá dữ liệu trong khai thác cơ sở dữ liệu tích hợp nghành giao thông vận tải
Hình 14 Phần mô phỏng thuật toán với dữ liệu nhập từ bàn phím (Trang 74)

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