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

Khai phá dữ liệu đồ thị (cây dữ liệu), phát hiện các cây con phổ biến

77 436 3

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

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

Nội dung

Trong tin sinh học: cây con phổ biến sử dụng để dự đoán mối quan hệ tương tác giữa các protein, dự đoán cấu trúc bậc 2 phân tử của protein, dò tìm đột biến trong cấu trúc protein v.v … T

Trang 1

MỤC LỤC

DANH MỤC CÁC HÌNH ẢNH iii

DANH MỤC BẢNG BIỂU v

DANH MỤC CÁC TỪ VIẾT TẮT vi

MỞ ĐẦU 1

CHƯƠNG 1 KHAI PHÁ DỮ LIỆU VÀ CẤU TRÚC CÂY DỮ LIỆU 5

1.1 Khai phá dữ liệu 5

1.1.1 Tại sao lại cần khai phá dữ liệu 5

1.1.2 Khai phá dữ liệu là gì? 5

1.1.3 Các chức năng chính của khai phá dữ liệu 7

1.1.4 Các công cụ khai phá dữ liệu 8

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

1.1.6 Ứng dụng của khai phá dữ liệu 13

1.2 Cấu trúc cây dữ liệu 13

1.2.1 Các loại cây 13

1.2.2 Các cách biểu diễn cây cấu trúc dữ liệu 18

1.3 Dạng chuẩn của cây dữ liệu 19

1.3.1 Dạng chuẩn chính tắc theo chiều rộng (BFCF) 19

1.3.2 Dạng chính tắc theo chiều sâu DFCF 24

1.3.3 Cây liệt kê 29

1.4 Kết luận chương 1 33

CHƯƠNG 2 PHÁT HIỆN CÁC CÂY CON PHỔ BIẾN 34

2.1 Khai phá cây con phổ biến 34

2.1.1 Cây con phổ biến 34

2.1.2 Bài toán khai phá các cây con phổ biến 35

Trang 2

2.2 Thuật toán khai phá các cây con phổ biến trong cơ sở dữ liệu cây dữ liệu 36

2.2.1 Thuật toán khai phá các cây con phổ biến DTMiner 36

2.2.2 Thuật toán khai phá cây con phổ biến đóng và cực đại 39

2.2.3 Thứ tự tính toán - Heuristic 48

2.2.4 Thuật toán khai phá các cây con phổ biến đóng và cực đại CMT_Miner(D, minsup) 50

2.2.5 Thuật toán khai phá các cây conphổ biến đóng và cực đạiNCMT_Miner(D, minsup) 52

2.3 Kết luận chương 2 55

CHƯƠNG 3 CHƯƠNG TRÌNH THỬ NGHIỆM 56

3.1 Ứng dụng phát hiện cấu trúc chức năng của protein trong tin sinh học 56

3.1.1 Phân tích trình tự 57

3.1.2 Dò tìm đột biến và SNP 57

3.1.3 Phân tích chức năng gene 57

3.1.4 Nhận diện protein 58

3.1.5 Dự đoán cấu trúc protein 58

3.2 Chương trình thử nghiệm 59

3.2.1 Môi trường thử nghiệm 59

3.2.2 Kết quả thực nghiệm 59

3.2.3 So sánh kết quả thực nghiệm 67

3.3 Kết luận chương 3 68

KẾT LUẬN 69

TÀI LIỆU THAM KHẢO 70

Trang 3

DANH MỤC CÁC HÌNH ẢNH

Hình 1-1 Các bước trong Khai phá dữ liệu & KDD [6] 7

Hình 1-2 Luồng thông tin được sử dụng theo cách kết hợp[1] 9

Hình 1-3 Phân cụm [6] 10

Hình 1-4 Cây quyết định [6] 12

Hình 1-5 Tám cây có thứ tự nhận được từ một cây không có thứ tự 15

Hình 1-6 Cây tìm kiếm nhị phân với tập khóa là các số nguyên 16

Hình 1-7 Cây t’ ở dạng chính tắc DFCF 29

Hình 1-8 Cây liệt kê các cây con phổ biến 33

Hình 2-1 Chuẩn hóa và đánh số các cây giao tác 36

Hình 2-2 CSDL gồm 3 cây giao tác 41

Hình 2-3 (a) Đồ thị định hướng phi chu trình liệt kê DAG, (b) Cây liệt kê 42

Hình 2-4 Cây t và các cây t rên a), b), c), d) trong lớp phủ Bt 43

Hình 2-5 a) Cây trước khi tỉa b) Cây sau khi tỉa 44

Hình 2-6 a) Đường đi phải nhất, b) Lớp phủ trái/phải 45

Hình 2-7 Vị trí của đỉnh mới có thể được thêm vào một cây con phổ biến t 46

Hình 3-1 Cây không có thứ tự T1, T2,T3 59

Hình 3-2 Chính tắc hóa cây T1 60

Hình 3-3 Chính tắc hóa cây T2 60

Hình 3-4 Chính tắc hóa cây T3 60

Hình 3-5 Tập chuỗi mã hóa cây chính tắc T1 61

Hình 3-6 Tập chuỗi mã hóa cây chính tắc T2 61

Hình 3-7 Tập chuỗi mã hóa cây chính tắc T3 61

Hình 3-8 Tập các cây con phổ biến đóng cực đại của tập CSDL T1 62

Hình 3-9 Tập các cây con phổ biến đóng cực đại của tập CSDL T1, T2 62

Trang 4

Hình 3-10 Tập các cây con phổ biến đóng cực đại của tập CSDL T1, T2, T3 63

Hình 3-11 Chính tắc hóa cây T1 63

Hình 3-12 Chính tắc hóa cây T2 64

Hình 3-13 Chính tắc hóa cây T3 64

Hình 3-14 Tập chuỗi mã hóa cây chính tắc T1 64

Hình 3-15 Tập chuỗi mã hóa cây chính tắc T2 65

Hình 3-16 Tập chuỗi mã hóa cây chính tắc T3 65

Hình 3-17 Tập các cây con phổ biến đóng cực đại của tập CSDL T1 65

Hình 3-18 Tập các cây con phổ biến đóng cực đại của tập CSDL T1, T2 66

Hình 3-19 Tập các cây con phổ biến đóng cực đại của tập CSDL T1, T2, T3 66

Hình 3-20 So sánh số lượng cây con phổ biến đóng cực đại của 2 thuật toán 67

Trang 5

DANH MỤC BẢNG BIỂU

Bảng 3.1 Cấu hình phần cứng sử dụng trong thực nghiệm 59 Bảng 3.2 Công cụ phần mềm sử dụng trong thực nghiệm 59

Trang 6

DANH MỤC CÁC TỪ VIẾT TẮT

Depth-first search DFS Tìm kiếm theo chiều sâu Breadth-first search BFS Tìm kiếm theo chiều rộng Breadth-Frist String Encoding BFSE Mã chuỗi theo chiều rộng Breadth-First Canonical String BFCS Chuỗi chuẩn theo chiều rộng Breadth-First Canonical Form BFCF Dạng chuẩn theo chiều rộng Depth-First String Encoding DFSE Mã chuỗi theo chiều sâu Depth-First Canonical Form DFCF Dạng chuẩn theo chiều sâu

phichu trình Partially Ordered set POSET Tập thứ tự bộ phận Frequent Subgraphs Mining FSM Khai phá đồ thị con phổ biến Inductive Logic Programming ILP Chương trình Logic qui nạp eXtensible Markup Language XML Ngôn ngữ đánh dấu Mở rộng

Trang 7

MỞ ĐẦU

1 Đặt vấn đề

Cùng với sự phát triển của xã hội, con người đã tạo ra những thiết bị xử lý dữ liệu thông minh đáp ứng nhu cầu của họ Thế hệ máy tính đầu tiên xuất hiện vào những thập kỉ đầu của thế kỉ 20, đó là những cỗ máy với kích thước khổng lồ có khi bằng cả gian phòng lớn và tiêu thụ rất nhiều điện năng Tuy nhiên do nhu cầu xử lý

dữ liệu ngày càng lớn, con người đã sáng tạo và cải tiến các thế hệ máy tính trở nên gọn nhẹ với những chiếc máy tính xách tay chỉ nặng vài kilogam và tiêu thụ rất ít điện năng đã đáp ứng được hầu hết các yêu cầu của con người trong việc xử lí khối

dữ liệu lớn và phức tạp

Đồng hành với sự phát triển của thông tin và công nghệ, khai phá dữ liệu ra đời mở ra một hướng đi mới để giải quyết những yêu cầu về xử lý khối dữ liệu khổng lồ Hướng đi này đã được ứng dụng vào rất nhiều lĩnh vực, ví dụ như: tin sinh học, điều trị y học, phân tích dữ liệu và hỗ trợ ra quyết định, tài chính và thị trường chứng khoán, bảo hiểm, nhân dạng… Đặc biệt, khi nghiên cứu về tin sinh học ta thấy công nghệ thông tin cũng là một công cụ quan trọng góp phần hỗ trợ trong công tác nghiên cứu và phát triển ngành công nghệ sinh học nói chung và sinh học nói riêng Điển hình đó là ứng dụng phát hiện cấu trúc chức năng của protein trong tin sinh Bên cạnh đó ta thấy được rằng, khai phá dữ liệu đồ thị là một kĩ thuật được dùng để phát hiện tri thức và đặc biệt thích hợp với dữ liệu có cấu trúc vì có thể

Trang 8

Trong phân tích sự tiến hóa của các phân tử: cây tiến hóa được sử dụng để mô tả lịch sử tiến hóa của các loài; trong mạng máy tính, cây được sử dụng để xác định định tuyến của các gói tin Trong tin sinh học: cây con phổ biến sử dụng để dự đoán mối quan hệ tương tác giữa các protein, dự đoán cấu trúc bậc 2 phân tử của protein,

dò tìm đột biến trong cấu trúc protein v.v … Từ những ứng dụng nêu trên, ta thấy cây trong các ứng dụng thực tế thường là cây được gắn nhãn vào các đỉnh, nhưng nhãn của các cạnh không cần thiết phải duy nhất – điều này phản ánh đúng thực tế

Và việc xác định được các cấu trúc con phổ biến của tập dữ liệu sẽ hỗ trợ để hiểu và giúp nghiên cứu sâu, chi tiết hơn về dữ liệu đó

Chính vì vậy, để thực hiện khai phá dữ liệu cây, bài toán cơ bản là phát hiện các cây con thường xuyên và được giải quyết bằng các phương pháp liệt kê vét cạn

Số các cây liệt kê được sinh ra thường rất lớn, khá tốn kém trong lưu trữ và thời gian xử lý Bởi vậy, học viên tiếp cận vấn đề theo hướng chỉ quan tâm đến những cây con phổ biến, và ở mỗi mức chỉ cần lưu lại những cây con phổ biến thỏa mãn điều kiện đặt ra để phát triển tiếp các cây con ở mức tiếp theo Bài toán khai phá các cây phổ biến là tìm tất cả những cây con liên thông phổ biến trong một cơ sở dữ liệu các cây Điều cốt lõi của thuật toán khai thác cây con phổ biến là:

- Xác định những cây con đẳng cấu: một cây có phải là một cây con của cây khác hay không?

- Xây dựng một lược đồ liệt kê hiệu quả tất cả các cây con phổ biến

Với những lý do trên nên học viên chọn đề tài "Khai phá dữ liệu đồ thị (cây

dữ liệu), phát hiện các cây con phổ biến "

2 Đối tượng và phạm vi nghiên cứu

Trong phạm vi luận văn, học viên tập trung nghiên cứu các cây con phổ biến đóng và cực đại, các thuộc tính và mối quan hệ giữa chúng Trước tiên, để làm tiền

đề cho nghiên cứu, học viên tìm hiểu về cấu trúc cây dữ liệu, các dạng chính tắc theo chiều sâu DFCF, chiều rộng BFCF cũng như các dạng chuẩn hóa theo chiều sâu DFSE và chiểu rồng BFSE Sau đó, trình bày thuật toán khai phá tất cả các cây con phổ biến đóng và cực đại trong kho các cây dữ liệu đã được gán nhãn không có

Trang 9

thứ tự, sử dụng cấu trúc cây liệt kê DAG, lớp phủ và các kỹ thuật cắt tỉa cây Học viên đi sâu nghiên cứu thuật toán CMT_Miner xác định cây con phổ biến đóng cực đại, do số lượng các cây con thường xuyên tăng theo hàm mũ của kích cỡ của cây con, vì vậy, khai phá tất cả các cây con thường xuyên là không khả thi đối với những cây dữ liệu cỡ lớn Thuật toán CMT_Miner rất hiệu quả trong việc phát hiện những cây con thường xuyên cực đại và đóng trong CSDL các cây con được gắn nhãn Thuật toán này tìm các cây con thường xuyên cực đại và đóng theo cách duyệt cây liệt kê để xác định tất cả cây con thường xuyên Có một số kỹ thuật được

sử dụng để tỉa những nhánh của cây liệt kê mà nó không phải là cây con thường xuyên cực đại hoặc đóng, trong đó phương pháp Heuristic được áp dụng để tổ chức tính toán và xác định cây con thường xuyên hiệu quả nhất có thể Thông qua kết quả thực nghiệm trên những tập dữ liệu thực tế cho thấy rằng thuật toán này khá hiệu quả trong việc giảm thiểu không gian tìm kiếm và nhanh chóng phát hiện các cây con thường xuyên cực đại và đóng Bên cạnh đó, học viêncũng đề cập đến thuật toán NCMT_Miner nhằm mục đích kiểm nghiệm, so sánh, đánh giá lại kết quả thuật toán CMT_Miner Ngoài ra, học viên cũng tìm hiểu về lĩnh vực tin sinh học, khả năng ứng dụng của khai phá cây con phổ biến trong các bài toán của lĩnh vực này

3 Hướng nghiên cứu

+ Tìm hiểu về khai phá dữ liệu, dữ liệu dạng cây Nghiên cứu các dạng biểu diễn chuẩn tắc dữ liệu dạng cây Nghiên cứu ứng dụng phát hiện cấu trúc chức năng của protein trong tin sinh

+ Thuật toán phát hiện cây con phổ biến Ứng dụng cài đặt thực nghiệm thuật toán

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

Phương pháp nghiên cứu lý thuyết: Nghiên cứu lý thuyết về khai phá dữ

liệu Lý thuyết về đồ thị, cấu trúc dữ liệu dạng cây Thuật toán để phát hiện cây con phổ biến đóng và cực đại

Phương pháp nghiên cứu thực nghiệm: Sử dụng ngôn ngữ lập trình để cài

đặt chương trình thực nghiệm

Trang 10

Phương pháp trao đổi khoa học: Trao đổi nội dung, hướng phát triển của đề

tài với giáo viên hướng dẫn để đề xuất và giải quyết các vấn đề mà luận văn đặt ra

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

+ Đề ra các hướng biểu diễn chuẩn tắc dữ liệu dạng cây

+ Đề xuất thuật toán phát hiện cây con phổ biến đóng và cực đại

+ Kết quả nghiên cứu giúp xác định cây con phổ biến đóng và cực đại mà không cần phải phát triển cây hoàn chỉnh

Trang 11

CHƯƠNG 1 KHAI PHÁ DỮ LIỆU VÀ CẤU TRÚC CÂY

DỮ LIỆU

Nội dung chương sẽ giới thiệu khái niệm về khai phá dữ liệu, tiến trình khai phá dữ liệu, các kĩ thuật khai phá dữ liệu, các phương pháp khai phá dữ liệu thông dụng, những thách thức gặp phải trong quá trình khai phá dữ liệu và giới thiệu một

số công cụ hỗ trợ trong khai phá dữ liệu

1.1 Khai phá dữ liệu

1.1.1 Tại sao lại cần khai phá dữliệu

Theo [1] khoảng hơn một thập kỷtrởlại đây, lượng thông tin được lưu trữtrên các thiết bị điện tử(đĩa cứng, CD-ROM, băng từ, v.v.) không ngừng tăng lên Người ta ước đoán rằng lượng thông tin trên toàn cầu tăng gấp đôi sau khoảng hai năm và theo đó sốlượng cũng nhưkích cỡcủa các cơsởdữliệu (CSDL) cũng tăng lên một cách nhanh chóng

Khai phá dữ liệu ra đời nhưmột hướng giải quyết hữu hiệu cho câu hỏi vừa

đặt ra ở trên Khá nhiều định nghĩa vềkhai phá dữ liệu, tuy nhiên có thểhiểu đơn giản rằng khai phá dữ liệu nhưlà một công nghệtri thứcgiúp khai thác những thông tin hữu ích từnhững kho dữliệu được tích trữtrong suốt quá trình hoạt động của một công ty, tổchức nào đó

1.1.2 Khai phá dữliệu là gì?

Thuật ngữkhai phá dữ liệu ám chỉviệc tìm kiếm một tập hợp nhỏcó giá trịtừmột sốlượng lớn các dữ liệu thô Có nhiều thuật ngữhiện được dùng cũng có nghĩa tương tựvớiKhai phá dữ liệu (Data Mining) nhưKhai phá tri thức (Knowledge Mining), Chắt lọc tri thức (knowledge extraction), Phân tích dữliệu/mẫu (data/patern analysis), Khảo cổ dữ liệu (data archaeoloogy), Nạo vét dữ liệu (datadredging), [6]

Định nghĩa 1.1Khai phá dữ liệu là một tập hợp các kỹthuật được sửdụng đểtựđộng

khai thác và tìm ra các mối quan hệlẫn nhau của dữ liệu trong một tập hợp dữliệu

Trang 12

khổng lồvà phức tạp, đồng thời cũng tìm ra các mẫu tiềm ẩn trong tập dữ liệu đó.[2]

Khai phá dữ liệu là một bước trong bảy bước của quá trình KDD (Knowleadge Discovery in Database) và KDD được xem như7 quá trình khác nhau theo thứtự sau:

1 Làm sạch dữ liệu (data cleaning & preprocessing)s: Loại bỏnhiễu và các dữliệu không cần thiết

2 Tích hợp dữ liệu: (data integration): quá trình hợp nhất dữ liệu thành những kho dữ liệu (data warehouses & data marts) sau khi đã làm sạch và tiền xửlý (data cleaning & preprocessing)

3 Trích chọn dữ liệu (data selection): trích chọn dữ liệu từnhững kho dữ liệu và sau đó chuyển đổi vềdạng thích hợp cho quá trình khai thác tri thức

4 Chuyển đổi dữ liệu: Các dữ liệu được chuyển đổi sang các dạng phù hợp cho quá trình xửlý

5 Khai phá dữ liệu (khai phá dữ liệu): Là một trong các bước quan trọng nhất, trong đó sửdụng những phương pháp thông minh đểchắt lọc ra những mẫu dữ liệu

6 Ước lượng mẫu (knowledge evaluation): Quá trình đánh giá các kết quảtìm được thông qua các độ đo nào đó

7 Biểu diễn tri thức (knowledge presentation): Quá trình này sửdụng các kỹthuật đểbiểu diễn và thểhiện trực quan cho người dùng

Trang 13

Hình 1-1Các bước trong Khai phá dữ liệu& KDD[6]

1.1.3 Các chức năng chính của khai phá dữ liệu

Khai phá dữ liệu được chia nhỏthành một sốhướng chính nhưsau:

 Mô tảkhái niệm (concept description): thiên vềmô tả, tổng hợp và tóm tắt khái niệm Ví dụ: tóm tắt văn bản

 Luật kết hợp (association rules): là dạng luật biểu diễn tri thứ ởdạng khá đơn giản Ví dụ: “60 % nam giới vào siêu thịnếu mua bia thì có tới 80% trong sốhọsẽmua thêm thịt bò khô” Luật kết hợp được ứng dụng nhiều trong lĩnh vực kinh doanh, y học, tin-sinh, tài chính & thịtrường chứng khoán, v.v

 Phân lớp và dự đoán (classification & prediction): xếp một đối tượng vào một trong những lớp đã biết trước Ví dụ: phân lớp vùng địa lý theo dữ liệu thời tiết Hướng tiếp cận này thường sử dụng một sốkỹthuật của machine learningnhưcây quyết định (decision tree), mạng nơron nhân tạo (neural network), v.v Người ta còn gọi phân lớplà học có giám sát (học có thầy)

 Phân cụm (clustering): xếp các đối tượng theo từng cụm (sốlượng cũng nhưtên của cụm chưa được biết trước Người ta còn gọi phân cụmlà học không giám sát (học không thầy)

Trang 14

 Khai phá chuỗi (sequential/temporal patterns): tương tựnhưkhai phá luật kết hợp nhưng có thêm tính thứtựvà tính thời gian Hướng tiếp cận này được ứng dụng nhiều trong lĩnh vực tài chính và thịtrường chứng khoán vì nócó tính dựbáo cao

1.1.4 Các công cụ khai phá dữ liệu

Khai phá dữ liệu không phải là tất cả về các công cụ hay phần mềm cơ sở dữ liệu đang sử dụng Có thể thực hiện khai phá dữ liệu bằng các hệ thống cơ sở dữ liệu bình thường và các công cụ đơn giản, bao gồm việc tạo và viết phần mềm riêng hoặc sử dụng các gói phần mềm thương mại Khai phá dữ liệu phức tạp được hưởng lợi từ kinh nghiệm trong quá khứ và các thuật toán đã định nghĩa với phần mềm và các gói phần mềm hiện có, với các công cụ nhất định để thu được một mối quan hệ hoặc uy tín lớn hơn bằng các kỹ thuật khác nhau [3]

Gần đây các tập hợp dữ liệu rất lớn và việc xử lý dữ liệu theo cụm và quy mô lớn có thể cho phép khai phá dữ liệu để sắp xếp và lập báo cáo về các nhóm và các mối tương quan của dữ liệu phức tạp hơn Bây giờ đã có sẵn rất nhiều công cụ và hệ thống hoàn toàn mới, gồm các hệ thống lưu trữ và xử lý dữ liệu kết hợp

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

Một số kỹ thuật cốt lõi, được sử dụng trong khai phá dữ liệu, mô tả kiểu hoạt động khai phá và hoạt động phục hồi dữ liệu [6]

1.1.5.1 Khai phá luật kết hợp

Khai phá luật kết hợp (mối quan hệ) là kỹ thuật khai phá dữ liệu được biết đến nhiều hơn vì tính quen thuộc và đơn giản Ở đây, thực hiện một sự tương quan đơn giản giữa hai hoặc nhiều mục, thường cùng kiểu để nhận biết các mẫu.Việc xây dựng các công cụ khai phá dữ liệu dựa trên sự kết hợp hay mối quan hệ có thể thực hiện đơn giản bằng các công cụ khác nhau

Ví dụ 1-1: Hình 1-2 cho thấy của cơ sở dữ liệu ví dụ mẫu [9]

Trang 15

Hình 1-2 Luồng thông tin được sử dụng theo cách kết hợp[1]

1.1.5.2 Phân lớp

Kỹ thuật phân lớpdùng để xây dựng một ý tưởng về kiểu khách hàng, kiểu mặt hàng hoặc kiểu đối tượng bằng cách mô tả nhiều thuộc tính để nhận biết một lớp cụ thể Ví dụ, bạn có thể dễ dàng phân loại các xe ô tô thành các kiểu xe khác nhau (xe mui kín, 4x4, xe có thể bỏ mui) bằng cách xác định các thuộc tính khác nhau (số chỗ ngồi, hình dạng xe, các bánh xe điều khiển) Với một chiếc xe mới, bạn có thể đặt nó vào một lớp cụ thể bằng cách so sánh các thuộc tính với định nghĩa đã biết của chúng tôi Bạn có thể áp dụng các nguyên tắc tương tự ấy cho các khách hàng,

ví dụ bằng cách phân loại khách hàng theo độ tuổi và nhóm xã hội

Hơn nữa, bạn có thể sử dụng việc phân loại như một nguồn cấp, hoặc như là kết quả của các kỹ thuật khác Ví dụ, bạn có thể sử dụng các cây quyết định để xác định một cách phân loại Việc phân cụm sẽ cho phép bạn sử dụng các thuộc tính chung theo các cách phân loại khác nhau để nhận biết các cụm [8]

Trang 16

1.1.5.3 Phân cụm

Bằng cách xem xét một hay nhiều thuộc tính hoặc các lớp, có thể nhóm các phần dữ liệu riêng lẻ với nhau để tạo thành một quan điểm cấu trúc Ở mức đơn giản, việc phân cụm đang sử dụng một hoặc nhiều thuộc tính làm cơ sở cho bạn để nhận ra một nhóm các kết quả tương quan Việc phân cụm giúp để nhận biết các thông tin khác nhau vì nó tương quan với các ví dụ khác, nên có thể thấy ở đâu có những điểm tương đồng và các phạm vi phù hợp

Việc phân cụm có thể làm theo hai cách Có thể giả sử rằng có một cụm ở một điểm nhất định và sau đó sử dụng các tiêu chí nhận dạng để xem liệu có đúng không Đồ thị trong Hình 1-3 là một ví dụ Một ví dụ mẫu về dữ liệu kinh doanh so sánh tuổi của khách hàng với quy mô bán hàng Hợp lý khi thấy rằng những người

ở độ tuổi hai mươi (trước khi kết hôn và còn nhỏ), ở độ tuổi năm mươi và sáu mươi (khi không còn con cái ở nhà), có nhiều tiền tiêu hơn

Hình 1-3Phân cụm [6]

Trong ví dụ này, chúng ta có thể nhận ra hai cụm, một cụm xung quanh nhóm 2.000 Đô la Mỹ/ 20-30 tuổi và một cụm ở nhóm 7.000-8.000 Đô la Mỹ/ 50-65 tuổi Trong trường hợp này, giả thuyết hai cụm và đã chứng minh giả thuyết bằng một đồ

Trang 17

thị đơn giản mà ta có thể tạo ra bằng cách sử dụng bất kỳ phần mềm đồ họa thích hợp nào để có được cái nhìn nhanh chóng Các quyết định phức tạp hơn cần phải có một gói phần mềm phân tích đầy đủ, đặc biệt là nếu muốn các quyết định tự động

dựa vào thông tin lân cận gần nhất

Việc vẽ đồ thị phân cụm theo cách này là một ví dụ đơn giản về cái gọi là

nhận ra sự lân cận gần nhất Có thể nhận ra các khách hàng riêng lẻ bằng sự gần

gũi theo nghĩa đen của họ với nhau trên đồ thị Có nhiều khả năng là các khách hàng trong cùng một cụm cũng dùng chung các thuộc tính khác và bạn có thể sử dụng sự mong đợi đó để giúp hướng dẫn, phân loại và nếu không thì phân tích những người khác trong tập hợp dữ liệu của bạn

Cũng có thể áp dụng việc phân cụm theo quan điểm ngược lại; dựa vào một số thuộc tính đầu vào, có thể nhận ra các tạo phẩm khác nhau Ví dụ, một nghiên cứu gần đây về các số PIN 4-chữ số đã tìm ra các cụm giữa các chữ số trong phạm vi 1-

12 và 1-31 cho các cặp đầu tiên và thứ hai Bằng cách vẽ các cặp này, bạn có thể nhận ra và xác định các cụm liên quan đến ngày tháng (các ngày sinh nhật, các ngày

kỷ niệm)

1.1.5.4 Dự báo

Dự báo là một chủ đề rộng và đi từ dự báo về lỗi của các thành phần hay máy móc đến việc nhận ra sự gian lận và thậm chí là cả dự báo về lợi nhuận của công ty nữa Được sử dụng kết hợp với các kỹ thuật khai phá dữ liệu khác, dự báo gồm có việc phân tích các xu hướng, phân loại, so khớp mẫu và mối quan hệ Bằng cách phân tích các sự kiện hoặc các cá thể trong quá khứ, bạn có thể đưa ra một dự báo

Trang 18

1.1.5.6 Các cây quyết định

Liên quan đến hầu hết các kỹ thuật khác (chủ yếu là phân loại và dự báo), cây quyết định có thể được sử dụng hoặc như là một phần trong các tiêu chí lựa chọn hoặc để hỗ trợ việc sử dụng và lựa chọn dữ liệu cụ thể bên trong cấu trúc tổng thể Trong cây quyết định, bạn bắt đầu bằng một câu hỏi đơn giản có hai câu trả lời (hoặc đôi khi có nhiều câu trả lời hơn) Mỗi câu trả lời lại dẫn đến thêm một câu hỏi nữa để giúp phân loại hay nhận biết dữ liệu sao cho có thể phân loại dữ liệu hoặc sao cho có thể thực hiện dự báo trên cơ sở mỗi câu trả lời Hình 1-4cho thấy một ví

dụ trong đó bạn có thể phân loại một điều kiện lỗi gửi đến

Hình 1-4Cây quyết định [6]

Trang 19

Các cây quyết định thường được sử dụng cùng với các hệ thống phân loại liên quan đến thông tin có kiểu thuộc tính và với các hệ thống dự báo, nơi các dự báo khác nhau có thể dựa trên kinh nghiệm lịch sử trong quá khứ để giúp hướng dẫn cấu trúc của cây quyết định và kết quả đầu ra

1.1.6 Ứng dụng của khai phá dữ liệu

Khai phá dữ liệu tuy là một hướng tiếp cận mới nhưng thu hút được rất nhiều sựquan tâm của các nhà nghiên cứu và phát triển nhờvào những ứng dụng thực tiễn của nó Chúng ta có thểliệt kê ra đây một số ứng dụng điển hình:

 Phân tích dữ liệu và hỗtrợra quyết định (data analysis & decision support)

 Điều trịy học (medical treatment)

 Text mining & Web mining

 Tin-sinh (bio-informatics)

 Tài chính và thịtrường chứng khoán (finance & stock market)

 Bảo hiểm (insurance)

 Nhận dạng (pattern recognition)

 v.v

1.2 Cấu trúc câydữ liệu

Đồ thị được gắn nhãn G = (V, E, , L) gồm tập các đỉnh V, tập cạnh E, bảng chữ  cho các nhãn của đỉnh, các cạnh và hàm gắn nhãn L: V  E  Đồ thị là có hướng (hoặc vô hướng) nếu mỗi cạnh nối hai đỉnh là một cặp được sắp (hoặc không

có thứ tự, không được sắp tương ứng) Đồ thị là liên thông nếu giữa hai đỉnh bất kỳ đều có ít nhất một đường đi nối giữa chúng, ngược lại là đồ thị không liên thông Chu trình trong đồ thị là một đường đi mà đỉnh đầu và đỉnh cuối trùng nhau [4]

1.2.1 Các loại cây

Cây tự do (Free Tree) là một đồ thị vô hướng liên thông và phi chu trình

Định nghĩa 1.2Cây có gốc (rooted tree), gọi tắt là cây, là cây tự do có một đỉnh đặc

biệt được gọi là gốc và thỏa mãn các tính chất sau:

- Mỗi đỉnh khác gốc đều có đúng một đỉnh vào

- Có đúng một đường đi từ gốc tới mỗi đỉnh khác của cây

Trang 20

Trong cấu trúc cây, đỉnh v trên đường đi từ gốc tới w được gọi là tiền bối (ancestor) của w, còn w được gọi là hậu duệ (descendant) của v Nếu w liền kề với

v (có cạnh nối v với w) thì v là cha của w, hay ngược lại w là con của v Kích thước của cây t được định nghĩa là số đỉnh của cây, ký hiệu là |t| = |V| Để tiện lợi, ta qui ước cây có kích thước k sẽ được gọi là k-cây Trong cây, một đỉnh v được gọi là lá nếu nó không có đỉnh con Bậc của mỗi đỉnh v là số đỉnh con của nó, ký hiệu là deg(v) Hiển nhiên, nếu v là lá thì deg(v) = 0

Chiều cao của cây t, ký hiệu là high(t), là độ dài của đường đi dài nhất trên cây (bắt đầu từ gốc) Thông thường, đối với k-cây thì độ dài của cây t luôn thỏa mãn high(t) < k Một đỉnh trên cây được gọi là ở mức m nếu đường đi từ gốc tới nó có

độ dài (số cạnh) là m, m  h Đỉnh gốc có mức là 0 Đỉnh không phải là gốc, không phải là lá được gọi là đỉnh trong của cây

Cây t và s được gọi là đẳng cấu với nhau (isomorphism) nếu tồn tại một ánh

xạ 1-1 giữa hai tập đỉnh của t, s và bảo toàn được các nhãn của đỉnh và các cạnh Một cây con t có đẳng cấu trong cây s nếu tồn tại một đẳng cấu của t với một cây con của s

Các cây trong đó mỗi nút có thể có nhiều hơn hai con được gọi là cây tổng quát,

các cây trong đó mỗi nút có không quá hai con được gọi là cây nhị phân

Các cây có thể phân chia thành hai loại chính: cây có thứ tự và cây không có

thứ tự

1.2.1.1 Cây có thứ tự

Định nghĩa 1.3Một cây có thứ tự (rooted ordered tree) là cây trong đó các đỉnh con

của mỗi đỉnh đều được xếp theo thứ tự từ trái qua phải, ngược lại được gọi là cây không có thứ tự

Ví dụ 1-2Các cây có thứ tự, trong đó sử dụng các nhãn để ký hiệu cho các đỉnh của cây

Trang 21

Hình 1-5 Tám cây có thứ tự nhận được từ một cây không có thứ tự

Một cây t (với tập đỉnh Vt và tập cạnh Et) được gọi là cây con của cây s (với tập đỉnh Vs và tập cạnh Es) nếu và chỉ nếu 1/ Vt Vs, 2/ Et  Es, và 3/ Các nhãn của các đỉnh trong Vt và các cạnh trong Et được bảo toàn trong cây s

Trong cây có thứ tự, các đỉnh con của một đỉnh bất kỳ đều được sắp xếp theo một thứ tự nhất định, ví dụ được liệt kê từ trái qua phải Để phân biệt được các cây con của cây có thứ tự t, chúng ta định nghĩa quan hệ ttrên tập Vt để thể hiện quan

hệ anh/em (sibling relation) như sau: v1 t v2 nếu v1, v2 là hai đỉnh con của cùng một cha và v2 là anh (chị) của v1 (v2 ở bên phải của v1)

Ví dụ trên cây ở Hình 1-5 (a), gốc được gắn nhãn A có 2 đỉnh con cùng nhãn

B ứng với 2 cây con có quan hệ anh/em với nhau và cây con bên phải là anh của cây con bên trái Hiển nhiên, đối với cây có thứ tự thì việc đổi vị trí của các đỉnh có quan hệ anh/emsẽ tạo thành các cây có thứ tự mới

Các cây có thứ tự có nhiều ứng dụng quan trọng trong việc tạo lập các cấu trúc

dữ liệu Cây tìm kiếm nhị phân là một cây sắp thứ tự điển hình, được sử dụng để tìm kiếm nhanh và rất hiệu quả

1.2.1.2 Cây không có thứ tự

Một cây, trong đó các đỉnh con của mỗi nút đều không xác định một thứ tự nào cả, được gọi là cây không có thứ tự (rooted unordered tree), nghĩa là không phân biệt vị trí (trước, sau) giữa các đỉnh con của mỗi đỉnh

Trang 22

Dễ dàng nhận thấy từ một cây không có thứ tự, có thể suy ra những cây có thứ

tự đẳng cấu với nhau bằng cách thay đổi quan hệ anh/em giữa các đỉnh con Những cây có thứ tự trên Hình 1-5 được tạo ra từ một cây không có thứ tự và tất cả chúng đẳng cấu với nhau Do vậy, để nghiên cứu những cây không có thứ tự, chúng ta cần xác định dạng chuẩn biểu diễn duy nhất cho những cây đó

Lưu ý rằng, đối với cây được gắn nhãn, hoàn toàn không mất tính tổng quát ta có thể giả thiết rằng tất cả các nhãn của các cạnh là đồng nhất, bởi vì mỗi cạnh đều được nối với một đỉnh cha của nó Ta có thể xem mỗi cạnh đó cùng với nhãn trên cạnh như là một phần được thể hiện trên nhãn của đỉnh con Đối với gốc không có cạnh đi tới nó, ta giả thiết đó

là cạnh null (cạnh rỗng) nối với gốc Từ đây trở về sau, chúng ta giả thiết rằng các nhãn

trên các cạnh là tương đương, nghĩa là không cần gắn nhãn cho các cạnh mà chỉ cần xét các nhãn trên các đỉnh là đủ

1.2.1.3 Cây tìm kiếm nhị phân

- Mọi khóa trên cây con trái đều nhỏ hơn khóa trên nút v

- Mọi khóa trên cây con phải đều lớn hơn khóa trên nút v

Ví dụ 1-3

Hình 1-6Cây tìm kiếm nhị phân với tập khóa là các số nguyên

Trang 23

Cây tìm kiếm nhị phân là một cấu trúc dữ liệu cơ bản được sử dụng để xây dựng các cấu trúc dữ liệu trừu tượng hơn như các tập hợp, đa tập hợp, các dãy kết hợp[10]

Nếu một BST có chứa các giá trị giống nhau thì nó biểu diễn một đa tập hợp Mọi nút trong cây con trái có khóa nhỏ hơn khóa của nút cha, mọi nút trên cây con phải có nút lớn hơn hoặc bằng khóa của nút cha

Nếu một BST không chứa các giá trị giống nhau thì nó biểu diễn một tập hợp đơn trị như trong lý thuyết tập hợp Cây loại này sử dụng các bất đẳng thức chặt chẽ Mọi nút trong cây con trái có khóa nhỏ hơn khóa của nút cha, mọi nút trên cây con phải có nút lớn hơn khóa của nút cha

Việc chọn đưa các giá trị bằng nhau vào cây con phải (hay trái) là tùy theo mỗi người Một số người cũng đưa các giá trị bằng nhau vào cả hai phía, nhưng khi đó việc tiìm kiếm trở nên phức tạp hơn

Có rất nhiều loại cây tìm kiếm nhị phân Cây tìm kiếm nhị phân tự cân bằng (AVL (Adelson – Velskii – Landiis)) và cây đỏ đen đều là các dạng của cây tìm kiếm nhị phân tự cân bằng, là một cây nhị phân có thể tự đẩy các phần mới vào gần nút gốc Trong một treap ("cây heap"), mỗi nút có một sự ưu tiên (priority) và các nút cha có sự ưu tiên cao hơn các nút con của chúng

Các phép toán trên cây nhị phân BST:

Tìm kiếm (Searching) Việc tìm một khóa trên BST có thể thực hiện nhờ đệ

quy Chúng ta bắt đầu từ gốc Nếu khóa cần tìm bằng khóa của gốc thì khóa đó trên cây, nếu khóa cần tìm nhỏ hơn khoa ở gốc, ta phải tìm nó trên cây con trái, nếu khóa cần tìm lớn hơn khóa ở gốc, ta phải tìm nó trên cây con phải Nếu cây con (trái hoặc phải) là rỗng thì khóa cần tìm không có trên cây Thời gian tìm kiếm trung bình là O(log 2n), và là O(n) khi cây là không cân bằng chỉ là một danh sách liên kết

Chèn (Insertion) Phép chèn bắt đầu giống như phép tìm kiếm; Nếu khóa của

gốc khác khóa cần chèn ta tìm nó trong cây con trái hoặc phải Nếu cây con trái

Trang 24

hoặc phải tương ứng là rỗng (không tìm thấy) thì thêm một nút và gán cho nút ấy khóa cần chèn

Xóa (Deletion) Xét các trường hợp sau

- Xóa một lá: Vì lá không có con nên chỉ cần giải phóng nó khỏi cây

- Xóa một nút có hai con: Xóa nút đó và thay thế nó bằng nút có khóa lớn nhất trong các khóa nhỏ hơn khóa của nó (được gọi là "nút tiền nhiệm" -nút cực phải của cây con trái) hoặc nút có nhỏ nhất trong các khóa lớn hơn nó (được gọi là "nút kế vị" - nút cực trái của cây con phải) Cũng có thể tìm nút tiền nhiệm hoặc nút kế vị đổi chỗ nó với nút cần xóa và sau đó xóa nó Vì các nút kiểu này có ít hơn hai con nên việc xóa nó được quy về hai trường hợp trước

Phép duyệt Khi một cây tìm kiếm nhị phân được tạo ra, tất cả các nút có thể

được duyệt theo thứ tự giữa nhờ duyệt đệ qui cây con bên trái, in nút đang duyệt, rồi duyệt đệ qui cây con bên phải, tiếp tục làm như vây với mỗi nút của cây trong quá trình đệ qui Với mọi cây nhị phân, cây có thể được duyệt theo thứ tự nút gốc trước (Polish notation – ký pháp Ba Lan), hoặc theo thứ tự nút gốc sau (reverse Polish notation – Ký pháp Ba Lan ngược), cả hai cách đều hữu dụng với cây tìm kiếm nhị phân Các pháp Ba Lan, Ba Lan ngược được sử dụng phổ biến trong việc biểu diễn các biểu thức trong tính toán để thực hiện chương trình dịch, thông dịch và tính toán nhanh

1.2.2 Các cách biểu diễn cây cấu trúc dữ liệu

Có nhiều phương pháp biểu diễn cây cấu trúc dữ liệu tùy thuộc vào đối tượng dữ liệu

mà chúng cần biểu diễn

1.2.2.1 Biểu diễn bằng các nút với các con trỏ

Cách thường dùng nhất là biểu diễn mỗi nút như một dữ liệu kiểu bản ghi, mỗi nút chứa các con trỏ tới các con hoặc cha của nó, hoặc cả hai

Mỗi nút là một dữ liệu kiểu bản ghi với ba trường: Một trường thường gọi là INFOR, chứa thông tin lưu trữ tại nút đó Thông tin này có thể chỉ là một số, một ký

tự, cũng có thể là một tập hợp dữ liệu rất phức tạp Hai trường LLINK và RLINK chứa các liên kết trái và phải Nếu cây là cây nhị phân, LLINK trỏ tới con trái của

Trang 25

nút, RLINK trỏ tới con phải của nút Nếu cây là cây tổng quát, LLINK trỏ tới con cực trái và RLINK trỏ tới em kế cận phải của nút đó Do đó danh sách các nút biểu diễn một cây tổng quát, khi được xem là biểu diễn của cây nhị phân sẽ cho một cây nhị phân Cây nhị phân này được gọi là cây nhị phân tương đương với cây tổng quát ban đầu

1.2.2.2 Biểu diễn cây nhị phân bằng mảng

Cây có thể biểu diễn bằng các mảng cùng với quan hệ giữa các vị trí trong mảng

Ta có thể dùng một mảng gồm 2h+1 - 1 phần tử để biểu diễn cây nhị phân có chiều cao là h, bằng cách lần lượt lưu trữ thông tin của mỗi nút vào mảng theo thứ

tự từ trên xuống dưới, từ trái sang phải Khi đó con trái của nút thứ i là phần tử thứ 2*i, con phải là phần tử thứ 2*i+1 Cha của phần tử thứ i là phần tử thứ int(i/2)

Ta gán giá trị Null cho các vị trí còn thiếu Một cách khác, dùng một mảng hai chiều trong dòng thứ nhất ghi các thông tin của nút, dòng thứ hai ghi chỉ số của nút cha của nút đó với dấu + nếu nút hiện tại là con trái, với dấu - nếu nút hiện tại là con phải của nút cha

1.3 Dạng chuẩn của cây dữ liệu

1.3.1 Dạng chuẩn chính tắc theo chiều rộng (BFCF)

1.3.1.1 Thuật toán tìm kiếm theo chiều rộng

Tìm kiếm theo chiều rộng (BFS) là một thuật toán tìm kiếm trong đồ thị trong

đó việc tìm kiếm chỉ bao gồm 2 thao tác: (a) thăm một đỉnh của đồ thị; (b) thêm các đỉnh kề với đỉnh vừa thăm vào danh sách có thể thăm trong tương lai Có thể sử dụng thuật toán tìm kiếm theo chiều rộng cho hai mục đích: tìm kiếm đường đi từ một đỉnh gốc cho trước tới một đỉnh đích, và tìm kiếm đường đi từ đỉnh gốc tới tất

cả các đỉnh khác Trong đồ thị không có trọng số, thuật toán tìm kiếm theo chiều rộng luôn tìm ra đường đi ngắn nhất có thể [5]

Thuật toán BFS bắt đầu từ đỉnh gốc và lần lượt thăm các đỉnh kề với đỉnh gốc Sau đó, với mỗi đỉnh trong số đó, thuật toán lại lần lượt thăm các đỉnh kề với nó mà chưa được thăm trước đó và lặp lại Xem thêm thuật toán tìm kiếm theo chiều sâu,

Trang 26

trong đó cũng sử dụng 2 thao tác trên nhưng có trình tự thăm các đỉnh khác với thuật toán tìm kiếm theo chiều rộng

Thuật toán sử dụng một cấu trúc dữ liệu hàng đợi để lưu trữ thông tin trung gian thu được trong quá trình tìm kiếm:

1 Chèn đỉnh gốc vào hàng đợi

2 Lấy ra đỉnh đầu tiên trong hàng đợi và thăm nó

- Nếu đỉnh này chính là đỉnh đích, dừng quá trình tìm kiếm và trả về kết quả

- Nếu không phải thì chèn tất cả các đỉnh kề với đỉnh vừa thăm nhưng chưa được thăm trước đó vào hàng đợi

3 Nếu hàng đợi là rỗng, thì tất cả các đỉnh có thể đến được đều đã được thăm – dừng việc tìm kiếm và trả về "không thấy"

4 Nếu hàng đợi không rỗng thì quay về bước 2

Nếu sử dụng một ngăn xếp thay vì hàng đợi thì thuật toán trở thành thuật toán tìm kiếm theo chiều sâu

Thuật toán 1-1Duyệt theo chiều rộng BFS

Trang 27

Nếu V, và E là tập hợp các đỉnh và cung của đồ thị, thì thời gian thực thi của

thuật toán là O(|E|+|V|) vì trong trường hợp xấu nhất, mỗi đỉnh và cung của đồ thị được thăm đúng một lần

1.3.1.2 Dạng chuẩn chính tắc theo chiều rộng (BFCF)

Không mất tính tổng quát, xét trên tập nhãn mở rộng ’ = {$, #}, với

$, #   và giả thiết luôn có một quan hệ thứ tự toàn phần , nghĩa là

1 Giữa các nhãn v, w trên các đỉnh của cây luôn có quan hệ v  w hoặc w  v

2 v  $  #, với v 

Mã chuỗi theo chiều rộng BFSE (Breadth-First String Encoding) [11] của cây có thứ tự được định nghĩa như sau

Định nghĩa 1.1Khai phá dữ liệu là một tập hợp các kỹthuật được sửdụng đểtựđộng

khai thác và tìm ra các mối quan hệlẫn nhau của dữ liệu trong một tập hợp dữliệu khổng lồvà phức tạp, đồng thời cũng tìm ra các mẫu tiềm ẩn trong tập dữ liệu đó

Mã chuỗi theo chiều rộng BFSE của cây có thứ tự là chuỗi các nhãn trên các đỉnh bắt đầu từ gốc và lần lượt theo các mức, trong đó ký hiệu $ được sử dụng để phân biệt giữa các đỉnh anh/em của các cây con và # để đánh dấu kết thúc chuỗi

Trang 28

Thuật toán BFSE xác định mã chuỗi theo chiều rộng của cây T có thứ tự, trong đó OrderedTree T là tập các cây có thứ tự,  là phép ghép hai chuỗi ký tự (chuỗi các nhãn)

Định nghĩa 1.4

Chuỗi chính tắc theo chiều rộng BFCS (Breadth-First Canonical String) của cây không có thứ tự là chuỗi mã cực tiểu (xét theo quan hệ ) trong số các chuỗi mã theo chiều rộng của các cây có thứ tự đẳng cấu với nhau Cây tương ứng với BFCS được gọi là cây có thứ tự ở dạng chính tắc theo chiều rộng BFCF

Trang 29

Với quan hệ thứ tự toàn phần  trên ’ và theo định nghĩa 2, thuật toán BFCS xác định cây có thứ tự ở dạng chính tắc theo chiều rộng BFCF của các cây không có thứ tự, bằng cách sắp xếp lại dãy nhãn của các đỉnh theo thứ tự  từ trái qua phải và

từ dưới lên

Thuật toán 1-2: Thuật toán BFCS

Input: Cây T không có thứ tự

Ouput: Dạng chính tắc theo chiều rộng BFCF của cây T

Procedure BFCS(UOrderedTree T){

1 UOrderedTree T1 = T;

2 for i = high(T1) downto 1 do {

3 if(v1 v2&& L(v2) < L(v1)) then

4 Đổi vị trí của 2 cây con v1 và v2;

5 else if(v1 v2&& L(v2) == L(v1)&&

và áp dụng thuật toán BFSE, chúng ta thu được chuỗi mã chính tắc theo chiều rộng của

chúng Độ phức tạp thuật toán là O(h.d.log d), trong đó h là chiều cao của cây và d

là số bậc cực đại của các đỉnh trong T(d = max{deg(v), v V t })

Định nghĩa 1.5

Giả thiết D là CSDL các cây dữ liệu, trong đó mỗi cây giao tác T  D là cây được gắn nhãn không có thứ tự và cho trước cây mẫu t Ta nói cây t xuất hiện trong

Trang 30

giao tác T, nếu t đẳng cấu với ít nhất một cây con của T và được ký hiệu t(T) = 1, ngược lại t(T) = 0 T hỗ trợ mẫu t nếu t(T) = 1 và định nghĩa độ hỗ trợ của mẫu t trong D là support(t) = T Dt(T)

Để thuận tiện cho việc tính toán, có thể đánh số các đỉnh theo chiều rộng của cây

và sử dụng cấu trúc danh sách xuất hiệnL t để lưu những thông tin các lần xuất hiện của

t trong CSDL L t = {(tid, i1, i2, …, ik) | trong đó, tid là định danh của cây giao tác chứa t

và i1, i2, …, ik là các chỉ số của các đỉnh (liệt kê theo chiều rộng) trong giao tác tid tương ứng với các đỉnh của t.Từ danh sáchL t dễ dàng kiểm tra xem nếu số các giao tác khác nhau mà  minsup thì nó là phổ biến

Hàm tính độ hỗ trợ support(t)

Output: Độ hỗ trợ của T trong D

1 Đánh chỉ số các đỉnh của các cây giao tác

2 Xác định danh sách xuất hiện Lt theo định nghĩa

3 Trả lại số các giao tác xuất hiện trong Lt

Độ phức tạp thời gian của hàm support(t) là (n.p), trong đó p = max(|Ti|, i = 1 n) Một mẫu (cây dữ liệu) t được gọi là phổ biến (thường xuyên) nếu độ hỗ trợ của

nó lớn hơn hoặc bằng độ hỗ trợ cực tiểu minsup được xác định trước Bài toán khai phá phát hiện cây con phổ biến là tìm tất cả các mẫu cây con phổ biến trong các CSDL cho trước Trong khai phá cây con phổ biến, thường sử dụng một tính chất khá hiển nhiên, nhưng quan trọng:

Bất kỳ cây con nào của cây phổ biến cũng là cây phổ biến và cây trên (cha) của cây không phổ biến là không phổ biến Tính chất này được chứng minh trực tiếp từ định nghĩa của cây con và độ hỗ trợ của cây con phổ biến

1.3.2 Dạng chính tắc theo chiều sâu DFCF

1.3.2.1 Thuật toán tìm kiếm theo chiều sâu

Tư tưởng chính của thuật toán là: Giả sử chúng ta đang xét trên đồ thị G(V,E)

Từ một đỉnh uhiện thời nào đó ta sẽ thăm tới đỉnh kề v của u và quá trình được lặp

Trang 31

lại đối với đỉnh v ở bước tổng quát, giả sử hiện tại đang xét đỉnh u0, chúng ta sẽ có hai khả năng sẽ xảy ra:

- Nếu như tồn tại một đỉnh v 0 kề với u 0 mà chưa được thăm thì đỉnh v 0 đó sẽ trở

- Ngược lại, nếu mọi đỉnh kề với u 0 đều đã thăm thì ta sẽ quay trở lại đỉnh mà

Như vậy, trong quá trình thăm đỉnh bằng thuật toán tìm kiếm theo chiều sâu, đỉnh được thăm càng muộn càng sớm được duyệt xong Độ phức tạp không gian của DFS thấp hơn của BFS (tìm kiếm theo chiều rộng) Độ phức tạp thời gian của hai thuật toán là tương đương nhau và bằng O(|V| + |E|)

Thuật toán 1-3 Tìm kiếm theo chiều sâu DFS

Trang 32

1.3.2.2 Dạng chính tắc theo chiều sâu DFCF

Không mất tính tổng quát ta có thể giả thiết rằng có hai ký hiệu đặc biệt “$” và

“#” không nằm trong bảng chữ cái  được sử dụng để gắn nhãn cho các đỉnh của cây Trên tập ’ =  {$, #} ta giả thiết có một quan hệ thứ tự toàn phần :[10]

1 Giữa các nhãn v, w trên các đỉnh của cây luôn có quan hệ v  w hoặc w

 v

2 v  $  #, với v 

Mã chuỗi theo chiều sâu DFSE (Depth-First String Encoding) [19] của cây có thứ tự theo thuật toán duyệt cây theo chiều sâu được định nghĩa như sau:

Định nghĩa 1.6Mã chuỗi theo chiều sâu DFSE của cây có thứ tự là chuỗi các nhãn

nhận được theo phương pháp duyệt cây theo chiều sâu, trong đó “$” biểu diễn cho việc “quay về đỉnh cũ” (backtrack) và “#” là kết thúc của chuỗi mã

Ví dụ 1-4Tám cây trong hình 1.5 b có các chuỗi mã tương ứng là :

Từ định nghĩa 1.1 suy ra khi duyệt theo chiều sâu thì ký hiệu $ được sử dụng

để quay lui về gốc của các cây con, nghĩa là số ký hiệu $ bằng chiều cao của từng cây con

Thuật toán xác định mã chuỗi theo chiều sâu của một cây có thứ tự được thực hiện theo phương pháp đệ qui như sau

Thuật toán 1-4 Xác định mã chuỗi theo chiều sâu của cây có thứ tự t

OrderedTree tập (kiểu dữ liệu) các cây có thứ tự và  là phép ghép hai chuỗi ký tự

Trang 33

Định lý 1-1Thuật toán 1 xác định đúng DFSE của cây có thứ tự và mỗi cây có thứ

tự cũng có đúng duy nhất một mã chuỗi theo chiều sâu DFSE

Chứng minh Ta có thể chứng thuật toán đệ qui trên qui nạp theo số đỉnh của cây

Nếu t là 1-cây, cây có 1 đỉnh thì hiển nhiên DFSE = L(root(t)) và sau đó ghép thêm

‘#’ vào cuối, ta được mã chuỗi theo chiều sâu đúng theo định nghĩa

Ta giả thiết thuật toán DFSE đúng với k-cây, nghĩa là ứng với mã chuỗi theo

chiều sâu Sn, với k = n số đỉnh của cây, tồn tại duy nhất một k-cây Tn+1 tương với Sn

Ta cần chứng minh thuật toán đúng với k = n+1, tồn tại duy nhất một k-cây Tn tương với Sn+1 Khi đó đỉnh thứ n + 1 có nhãn là e của cây hoặc là đỉnh con cháu bên phải của đỉnh thứ n, nếu không có $ giữa Sn và e, hoặc là đỉnh con của một đỉnh ở mức i, 1

 i  n và i được xác định duy nhất bởi số ký hiệu $ nằm giữa Sn và e trong Sn+1 Trong cả hai trường hợp, cây có thứ tự Kn+1 tương ứng với Sn+1 đều được xác định duy nhất

Độ phức tạp của thuật toán 1 là (m h), trong đó m là số đỉnh và h là chiều cao của cây

Từ mã chuỗi theo chiều sâu của cây có thứ tự, chúng ta định nghĩa dạng chính tắc theo chiều sâu DFCF của cây không có thứ tự là cây có chuỗi mã cực tiểu trong

số các chuỗi mã theo chiều sâu của các cây có thứ tự đẳng cấu với nhau

Trang 34

Ví dụ 1-5DFCF của cây không có thứ tự trong Hình 1 là: (b) ABC$DB$E$$BC$# Thuật toán 1-5Xác định DFCF của cây không có thứ tự được thực hiện như sau

Input: Cây t không có thứ tự

5 Đổi vị trí của 2 cây con v1 và v2 cho nhau;

6 else if(v1 v2 && L(v2) == L(v1) && DFSE(v2) < DFSE(v1)) then

7 Đổi vị trí của 2 cây con v1 và v2 cho nhau;

8 }

Trong đó, DFSE(v) là mã chuỗi theo chiều sâu của cây con v

Định lý 1-2Thuật toán 1-4xác định đúng dạng chính tắc theo chiều sâu DFCF của cây

không có thứ tự

Chứng minh

Thuật toán trên xác định DFCF của cây không có thứ tự được thực hiện từ dưới lên trên theo các mức của cây và từ trái qua phải, so sánh các nhãn của gốc các cây con và sắp xếp chúng theo thứ tự  (không giảm) trên ’ Kết quả ta thu được DFCF theo yêu cầu.Thuật toán 1-2có độ phức tạp là (n.logn), trong đó n là số đỉnh của cây

Trang 35

Hình 1-7Cây t’ ở dạng chính tắc DFCF

1.3.3 Cây liệt kê

Cây liệt kê (Enumeration tree) được sử dụng để khai phá, phát hiện cây con phổ biến, đó là cây được xây dựng trên cơ sở liệt kê tất cả các cây con phổ biến của một kho các cây dữ liệu [9]

Giả sử các đỉnh (nút) lá ở mức dưới cùng (Lower Leaf) của cây t là ngọn và ký hiệu LLeaf(t) là tập các đỉnh ngọn Trong số các đỉnh ngọn, chúng ta gọi ngọn bên phải nhất là ngọn cuối, ký hiệu là LastLeaf(t) Đỉnh lá ở bên phải gần nhất với đỉnh ngọn cuối, đỉnh của cây t không có đỉnh con và ở mức trước mức cuối cùng, được gọi là đỉnh cuối bên phải, ký hiệu WLeaf(t) là tập các đỉnh cuối bên phải Trong mã chuỗi BFSE(t), thì ngọn là các đỉnh có nhãn nằm giữa hai ký hiệu $ cuối cùng, trong

đó ngọn cuối ứng với nhãn (khác $) cuối cùng, còn đỉnh gần nhất với đỉnh ngọn cuối bên phải là những đỉnh cuối ở mức trước và có mã ứng với $ (không có đỉnh con)

Ví dụ 1-6Đối với cây T 4 ở Hình 2-1, ta có LLeaf(t) = {9}, LastLeaf(t) = 9 và WLeaf(t) = {6, 7, 8}

Bổ đề sau làm cơ sở để phát triển các cây liệt kê bảo toàn dạng chuẩn BFCF

Bổ đề 1.1Loại bỏ đi (cắt tỉa) ngọn cuối của (k+1)-cây ở dạng chuẩn BFCF sẽ cho

kết quả là k-cây khác (cây con) vẫn ở dạng chuẩn BFCF Bổ đề 1.1 đã được chứng minh trong [18]

Trang 36

Lưu ý rằng, số các cây liệt kê được sinh ra thường rất lớn, rất tốn kém cho vấn

đề lưu trữ và thời gian xử lý dữ liệu Trong bài toán khai phá dữ liệu, chúng ta thường chỉ cần quan tâm đến những cây con phổ biến Như đã phân tích ở trên, khi một cây đã không phổ biến thì các cây cha (được bổ sung thêm đỉnh mới) cũng sẽ không phổ biến, nên có thể loại chúng ra khỏi quá trình liệt kê Do vậy, ở mỗi mức chúng ta chỉ cần lưu lại những cây con phổ biến (có độ hỗ trợ  minsup) để phát triển tiếp các cây con ở mức tiếp theo Việc tính độ hỗ trợ của các cây cha (được bổ sung thêm một đỉnh mới) từ những cây con ở mức trước cũng được thực hiện dựa trên danh sách xuất hiện được mở rộng từ danh sách xuất hiện của các cây con ở mức trước trong quá trình liệt kê sẽ giúp giảm thiểu được các bước tính toán để tính

độ hỗ trợ của các cây con

Ở mỗi mức, lực lượng của cây con được tạo ra bằng đúng số hiệu của mức đang liệt kê và ở mức tiếp theo chỉ bổ sung thêm một đỉnh theo chiều rộng Mặt khác, việc bổ sung một đỉnh mới vào cây ở mức trên được thực hiện dựa vào dạng chuẩn BFCF của cây không có thứ tự Các cây giao tác trong CSDL đã được chuyển

về dạng chuẩn BFCF, nên những đỉnh có thể được chọn là nằm bên phải của đỉnh ngọn cần bổ sung để bảo toàn thứ tự trong ’ Nghĩa là, số các đỉnh có thể chọn để

bổ sung đã giảm đi nhiều trong quá trình liệt kê Từ đó suy ra, k-cây t ở mức k được

mở rộng thêm đỉnh v (cùng với cạnh liền kề) thành (k+1)-cây t’ở mức k+1 nếu thỏa một trong các điều kiện sau:

(i)  i = 1, 2, …, n, (w  WLeaf(t), (w, v) 

i

T

E hoặc (1) (ii)  i = 1, 2, …, n, (LastLeaf(t) Ti v) hoặc (2)

Trang 37

2) ((v  WLeaf(t1), (index(v), ik+1)  Etid or ik=index(LastLeaf(t1)) andik tid ik+1or (5)

 w  LLeaf(t1) and (w, v i k1)  Etid

Trong đó index(v) là hàm đánh số đỉnh v trong cây giao tác Quá trình liệt kê sẽ dừng khi không tìm được cây con nào phổ biến ở mức tiếp theo

Ví dụ 1-7 Ta xây dựng cây liệt kê cho CSDL gồm 3 cây giao tác T 4 , T 5 và T 6 như trong Hình 2-1 với minsup = 2

Mức 0 bắt đầu từ tập trống Mức 1 liệt kê tất cả các đỉnh của các 1-cây phổ biến (có độ hỗ trợ  minsup = 2), đó là A, B, C, D, E, F và H được liệt kê theo thứ

tự  của tập các nhãn  của tất cả các cây giao tác Mức 2 liệt kê tất cả 2-cây con có gốc là các đỉnh ở mức 1, được bổ sung thêm một đỉnh con xuất hiện trong ít nhất một cây giao tác thỏa một trong ba trường hợp (1), (2), (3) nêu trên Những cây con không phổ biến được đánh dấu trong hình ellipse nét đứt là những cây có độ hỗ trợ nhỏ hơn 2 (có số các giao tác khác nhau ít hơn 2 trong danh sách xuất hiện) Danh sách xuất hiện của những cây được mở rộng từ cây con ở mức trước cũng được phát triển từ danh sách xuất hiện của những cây con đó theo hai điều kiện (4) và (5) nêu trên Từ những cây con phổ biến ở mức 2, phát triển các 3-cây ở mức kế tiếp theo chiều rộng Lưu ý, đỉnh mới được bổ sung sẽ trở thành ngọn cuối của cây liệt kê ở mức đang xét Ví dụ trong cây T12, ngọn B có đỉnh D là anh của B (B T4D) ở T4, vậy bổ sung đỉnh D vào ta được cây T121 Tương tự, vì B T5E ở T5 nên có thể bổ sung E vào ta được cây T122 Quá trình trên tiếp tục đến mức 5 thì không có cây con nào là phổ biến thì thuật toán dừng

Ngày đăng: 09/12/2016, 17:56

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. Nguyễn Hà Nam, Nguyễn Trí Thành, Hà Quang Thụy (2013). Giáo trình Khai phá dữ liệu, NXB ĐHQGHN Sách, tạp chí
Tiêu đề: Giáo trình Khai phá dữ liệu
Tác giả: Nguyễn Hà Nam, Nguyễn Trí Thành, Hà Quang Thụy
Nhà XB: NXB ĐHQGHN
Năm: 2013
2. Đỗ Phúc (2005), Giáo trình khai phá dữ liệu, Nxb Đại học Quốc gia thành phố Hồ Chí Minh Sách, tạp chí
Tiêu đề: Giáo trình khai phá dữ liệu
Tác giả: Đỗ Phúc
Nhà XB: Nxb Đại học Quốc gia thành phố Hồ Chí Minh
Năm: 2005
3. Nguyễn Nhật Quang (2010), Bài giảng Khai phá dữ liệu, Đại học Bách khoa Hà Nội Sách, tạp chí
Tiêu đề: Bài giảng Khai phá dữ liệu
Tác giả: Nguyễn Nhật Quang
Năm: 2010
4. Nguyễn Ngọc Trung (2009), Bài giảng môn Lý thuyết đồ thị Trường ĐHSP TP Hồ Chí Minh Sách, tạp chí
Tiêu đề: Bài giảng môn Lý thuyết đồ thị
Tác giả: Nguyễn Ngọc Trung
Năm: 2009
5. Nguyễn Hữu Hải, Đoàn Văn Ban (2014), Bài báo khoa học Khai phá cây con phổ biến đóng và cực đại trong các cây dữ liệu, “Một số v/đ chọn lọc của CNTT&amp;TT” lần thứ 18 tại Trường ĐH Tây nguyên, ĐăkLak Sách, tạp chí
Tiêu đề: Bài báo khoa học Khai phá cây con phổ biến đóng và cực đại trong các cây dữ liệu, "“Một số v/đ chọn lọc của CNTT&TT
Tác giả: Nguyễn Hữu Hải, Đoàn Văn Ban
Năm: 2014
7. Nguyễn Văn Cách (2005), Tin - Sinh học,Nxb Khoa học và Kỹ thuật. B. Tiếng Anh Sách, tạp chí
Tiêu đề: Tin - Sinh học
Tác giả: Nguyễn Văn Cách
Nhà XB: Nxb Khoa học và Kỹ thuật. B. Tiếng Anh
Năm: 2005
9. T. Asai, H. Arimura, T. Uno, and S. Nakano (2003), “Discovering Frequent Substructures in Large Unordered Trees,” Proc. Sixth Int’l Conf. Discovery Science Sách, tạp chí
Tiêu đề: Discovering Frequent Substructures in Large Unordered Trees,”
Tác giả: T. Asai, H. Arimura, T. Uno, and S. Nakano
Năm: 2003
10. Y. Chi, Y. Yang, and R.R. Muntz (2004), “HybridTreeMiner: An Efficient Algorithm for Mining Frequent Rooted Trees and Free Trees Using Canonical Forms,” Proc. 16th Int’l Conf. Scientific and Statistical Database Management (SSDBM ’04) Sách, tạp chí
Tiêu đề: HybridTreeMiner: An Efficient Algorithm for Mining Frequent Rooted Trees and Free Trees Using Canonical Forms,”
Tác giả: Y. Chi, Y. Yang, and R.R. Muntz
Năm: 2004
11. Y. Chi, Y. Yang, Y. Xia, and R.R. Muntz (2004), “CMTreeMiner: Mining Both Closed and Maximal Frequent Subtrees,” Proc. Eighth Pacific Asia Conf. Knowledge Discovery and Data Mining (PAKDD ’04) Sách, tạp chí
Tiêu đề: CMTreeMiner: Mining Both Closed and Maximal Frequent Subtrees,”
Tác giả: Y. Chi, Y. Yang, Y. Xia, and R.R. Muntz
Năm: 2004
12. J. Cui, J. Kim, D. Maggiorini, K. Boussetta, and M. Gerla (2002), “Aggregated Multicast–A Comparative Study,” Proc. IFIP Net-working Conf. 2002 Sách, tạp chí
Tiêu đề: Aggregated Multicast–A Comparative Study,”
Tác giả: J. Cui, J. Kim, D. Maggiorini, K. Boussetta, and M. Gerla
Năm: 2002
13. J. Han, J. Pei, and Y. Yin, “Mining Frequent Patterns without Candidate Generation (2003),” Proc. Int’l Conf. Management of Data (ACM SIGMOD ’00) Sách, tạp chí
Tiêu đề: Mining Frequent Patterns without Candidate Generation (2003),”
Tác giả: J. Han, J. Pei, and Y. Yin, “Mining Frequent Patterns without Candidate Generation
Năm: 2003
14. J. Huan, W. Wang, and J. Prins (2003), “Efficient Mining of Frequent Subgraph in the Presence of Isomorphism,” Proc. Int’l Conf. Data Mining (ICDM ’03) Sách, tạp chí
Tiêu đề: Efficient Mining of Frequent Subgraph in the Presence of Isomorphism,”
Tác giả: J. Huan, W. Wang, and J. Prins
Năm: 2003
15. T. Kudo (2003), “FREQT: An Implementation of FREQT,” http://chasen.org/~taku/software/freqt/ Sách, tạp chí
Tiêu đề: FREQT: An Implementation of FREQT
Tác giả: T. Kudo
Năm: 2003
16. F. Luccio, A.M. Enriquez, P.O. Rieumont, and L. Pagli (2004), “Bottom-Up Subtree Isomorphism for Unordered Labeled Trees,” Techni-cal Report TR-04- 13, Universita` di Pisa Sách, tạp chí
Tiêu đề: Bottom-Up Subtree Isomorphism for Unordered Labeled Trees
Tác giả: F. Luccio, A.M. Enriquez, P.O. Rieumont, and L. Pagli
Năm: 2004
17. S. Nijssen and J.N. Kok (2003), “Efficient Discovery of Frequent Unordered Trees,” Proc. Int’l Workshop Mining Graphs, Trees, and Sequences Sách, tạp chí
Tiêu đề: Efficient Discovery of Frequent Unordered Trees,”
Tác giả: S. Nijssen and J.N. Kok
Năm: 2003
18. U. Ru¨ckert and S. Kramer (2004), “Frequent Free Tree Discovery in Graph Data,” Special Track on Data Mining, Proc. ACM Symp. Applied Computing (SAC ’04) Sách, tạp chí
Tiêu đề: Frequent Free Tree Discovery in Graph Data
Tác giả: U. Ru¨ckert and S. Kramer
Năm: 2004
19. Yun Chi, Yirong Yang, Richard R. Muntz (2005), Canonical forms for labelled trees and their applications in frequent subtree mining, Knowledge and Information Systems (2005) pp. 203–234 Sách, tạp chí
Tiêu đề: Knowledge and Information Systems" (2005)
Tác giả: Yun Chi, Yirong Yang, Richard R. Muntz
Năm: 2005
6. Giáo trình Khai phá dữ liệu http://www.coltech.vnu.edu.vn/~thuyhq/Student_Thesis/K44_Do_Thi_Dieu_Ngoc_Thesis.pdf Link

HÌNH ẢNH LIÊN QUAN

Hình 1-1Các bước trong Khai phá dữ liệu&amp; KDD[6] - Khai phá dữ liệu đồ thị (cây dữ liệu), phát hiện các cây con phổ biến
Hình 1 1Các bước trong Khai phá dữ liệu&amp; KDD[6] (Trang 13)
Hình 1-2 Luồng thông tin được sử dụng theo cách kết hợp[1] - Khai phá dữ liệu đồ thị (cây dữ liệu), phát hiện các cây con phổ biến
Hình 1 2 Luồng thông tin được sử dụng theo cách kết hợp[1] (Trang 15)
Hình 1-3Phân cụm [6] - Khai phá dữ liệu đồ thị (cây dữ liệu), phát hiện các cây con phổ biến
Hình 1 3Phân cụm [6] (Trang 16)
Hình 1-5 Tám cây có thứ tự nhận được từ một cây không có thứ tự - Khai phá dữ liệu đồ thị (cây dữ liệu), phát hiện các cây con phổ biến
Hình 1 5 Tám cây có thứ tự nhận được từ một cây không có thứ tự (Trang 21)
Hình 1-7Cây t’ ở dạng chính tắc DFCF - Khai phá dữ liệu đồ thị (cây dữ liệu), phát hiện các cây con phổ biến
Hình 1 7Cây t’ ở dạng chính tắc DFCF (Trang 35)
Hình 2-2CSDL gồm 3 cây giao tác  2.2.2.3  Phát triển cây liệt kê - Khai phá dữ liệu đồ thị (cây dữ liệu), phát hiện các cây con phổ biến
Hình 2 2CSDL gồm 3 cây giao tác 2.2.2.3 Phát triển cây liệt kê (Trang 47)
Hình 2-7Vị trí của đỉnh mới có thể được thêm vào một cây con phổ biến t - Khai phá dữ liệu đồ thị (cây dữ liệu), phát hiện các cây con phổ biến
Hình 2 7Vị trí của đỉnh mới có thể được thêm vào một cây con phổ biến t (Trang 52)
Hình 3-8 Tập các cây con phổ biến đóng cực đại của tập CSDL T 1 - Khai phá dữ liệu đồ thị (cây dữ liệu), phát hiện các cây con phổ biến
Hình 3 8 Tập các cây con phổ biến đóng cực đại của tập CSDL T 1 (Trang 68)
Hình 3-9 Tập các cây con phổ biến đóng cực đại của tập CSDL T 1 , T 2 - Khai phá dữ liệu đồ thị (cây dữ liệu), phát hiện các cây con phổ biến
Hình 3 9 Tập các cây con phổ biến đóng cực đại của tập CSDL T 1 , T 2 (Trang 68)
Hình 3-10 Tập các cây con phổ biến đóng cực đại của tập CSDL T 1 , T 2 , T 3 - Khai phá dữ liệu đồ thị (cây dữ liệu), phát hiện các cây con phổ biến
Hình 3 10 Tập các cây con phổ biến đóng cực đại của tập CSDL T 1 , T 2 , T 3 (Trang 69)
Hình 3-11 Chính tắc hóa cây T 1 - Khai phá dữ liệu đồ thị (cây dữ liệu), phát hiện các cây con phổ biến
Hình 3 11 Chính tắc hóa cây T 1 (Trang 69)
Hình 3-14 Tập chuỗi mã hóa cây chính tắc T 1 - Khai phá dữ liệu đồ thị (cây dữ liệu), phát hiện các cây con phổ biến
Hình 3 14 Tập chuỗi mã hóa cây chính tắc T 1 (Trang 70)
Hình 3-16 Tập chuỗi mã hóa cây chính tắc T 3 - Khai phá dữ liệu đồ thị (cây dữ liệu), phát hiện các cây con phổ biến
Hình 3 16 Tập chuỗi mã hóa cây chính tắc T 3 (Trang 71)
Hình 3-20 So sánh số lượng cây con phổ biến đóng cực đại của 2 thuật toán - Khai phá dữ liệu đồ thị (cây dữ liệu), phát hiện các cây con phổ biến
Hình 3 20 So sánh số lượng cây con phổ biến đóng cực đại của 2 thuật toán (Trang 73)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

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

w