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

Tìm hiểu các thuật toán MMC và MMDT trên bảng quyết định đa trị

79 358 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 79
Dung lượng 1,44 MB

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

Nội dung

MỞ ĐẦU Trong nhiều năm qua, cùng với sự phát triển của công nghệ thông tin và ứng dụng của công nghệ thông tin trong nhiều lĩnh vực của đời sống xã hội, thì lượng dữ liệu được các cơ quan thu thập và lưu trữ ngày một nhiều lên. Người ta lưu trữ những dữ liệu này vì cho rằng nó ẩn chứa những giá trị nhất định nào đó. Tuy nhiên theo thống kê thì chỉ có một lượng nhỏ của những dữ liệu này (khoảng từ 5% đến 10%) là luôn được phân tích, số còn lại họ không biết sẽ phải làm gì và có thể làm gì với những dữ liệu này, nhưng họ vẫn tiếp tục thu thập và lưu trữ vì hi vọng những dữ liệu này sẽ cung cấp cho họ những thông tin quý giá một cách nhanh chóng để đưa ra những quyết định kịp thời vào một lúc nào đó. Chính vì vậy, các phương pháp quản trị và khai thác cơ sở dữ liệu truyền thống ngày càng không đáp ứng được thực tế đã làm phát triển một khuynh hướng kỹ thuật mới đó là kỹ thuật phát hiện tri thức và khai phá dữ liệu. Một trong những công cụ khai phá tri thức hiệu quả hiện nay là sử dụng cây quyết định để tìm ra các luật phân lớp. Thông thường phân loại cây quyết định được sử dụng để phân loại dữ liệu có thuộc tính đơn trị. Tuy nhiên, trong thực tế có rất nhiều vấn đề phân lớp cần phải giải quyết với các dữ liệu đa giá trị. Dữ liệu đa giá trị có nghĩa là một bản ghi có thể có nhiều giá trị cho một thuộc tính chứ không phải là giá trị duy nhất. Ví dụ, nếu chúng ta có một dữ liệu du lịch bao gồm giới tính là nữ và thu nhập $750, theo phương pháp phân loại truyền thống thì chỉ dự đoán cô ấy có thể tham gia tour du lịch C1, nhưng phân lớp mới có thể dự đoán cô ấy có khả năng tham gia tour du lịch C1, C2 hoặc C3. Hầu hết các phân loại không có khả năng xử lý dữ liệu với thuộc tính đa trị. Vì vậy, đó là lý do tôi chọn đề tài luận văn là: “Tìm hiểu các thuật toán MMC và MMDT trên bảng quyết định đa trị” để xây dựng cây quyết định cho dữ liệu đa trị. MMC (Multi-valued and Multi-labeled Classifier) và MMDT (Multi-valued and Multi-labeled Decision Tree) khác với phân loại cây quyết định truyền thống trong một số chức năng chính bao gồm phát triển một cây quyết định, lựa chọn thuộc tính, gán nhãn cho một nút lá và thực hiện dự đoán cho một dữ liệu mới. MMC chủ yếu dựa trên độ đo giống nhau giữa nhiều nhãn; MMDT chủ yếu dựa trên cả độ đo giống nhau và tỉ lệ đo giống nhau giữa nhiều nhãn. Những năm gần đây việc xây dựng cây quyết định cho bảng dữ liệu đa trị được nhiều nhà khoa học quan tâm nghiên cứu. Nhiều nhà khoa học trên thế giới đã nghiên cứu ra các thuật toán để giải quyết vấn đề dữ liệu đa trị; chẳng hạn như: Ba nhà khoa học là Yen-Liang Chen, Chang-Ling Hsu, Shih-Chieh Chou đã nghiên cứu thuật toán MMC [1], hai nhà khoa học là Shihchieh Chou, Chang-Ling Hsu đã nghiên cứu thuật toán MMDT [2] nhằm cải thiện thuật toán MMC và một nhóm nhà khoa học gồm (Hong Li, Rui Zhao, Jianer Chen and Yao Xiang) nghiên cứu thuật toán SSC (Similarity of Same and Consistent) [3], ngoài ra còn có các thuật toán ADMT [4], SSC_SP1, SSC_SP2,… Đề tài nghiên cứu của luận văn nhằm góp phần giải quyết thuộc tính đa trị và thuộc tính số. Mục đích nghiên cứu của luận văn nhằm tìm hiểu những vấn đề sau:  Tìm hiểu bảng quyết định đa trị.  Tìm hiểu hai thuật toán MMC và MMDT.  Cài đặt hai thuật toán. Để hoàn thành luận văn này, tác giả phải phân tích và tổng hợp tài liệu từ các bài báo khoa học trong và ngoài nước; Nghiên cứu lý thuyết, phân tích, khái quát, từ đó rút ra những vấn đề cần giải quyết của đề tài luận văn. Cấu trúc luận văn bao gồm phần mở đầu, ba chương nội dung chính, phần kết luận và tài liệu tham khảo. Chương 1. Tổng quan về phân lớp dữ liệu dựa trên cây quyết định. Trong chương này, trình bày tổng quan về phân lớp dữ liệu, ứng dụng phân lớp dữ liệu dựa trên cây quyết định, mô tả thuật toán xây dựng cây quyết định đơn trị dựa vào phương pháp Hunt làm tư tưởng chủ đạo. Chương 2. Thuật toán MMC và MMDT. Trong chương này, trình bày tổng quan về bảng dữ liệu đa trị, cây quyết định đa trị, cách dự đoán một dữ liệu đa trị mới, các

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO

ĐẠI HỌC HUẾ TRƯỜNG ĐẠI HỌC KHOA HỌC

Trang 2

MỤC LỤC

Lời cam đoan

Lời cảm ơn

Mục lục

Danh mục các bảng

Danh mục các hình

MỞ ĐẦU 1

Chương 1 PHÂN LỚP DỮ LIỆU DỰA TRÊN CÂY QUYẾT ĐỊNH 4

1.1 Tổng quan về phân lớp dữ liệu 4

1.2 Cây quyết định 9

1.3 Một số thuật toán xây dựng cây quyết định đơn trị 14

1.4 Tiểu kết chương 1 20

Chương 2 THUẬT TOÁN MMC VÀ MMDT 21

2.1 Tổng quan về bảng quyết định đa trị 21

2.1.1 Định nghĩa dữ liệu đa trị 21

2.1.2 Cây quyết định đa trị 22

2.1.3 Phân lớp với dữ liệu đa trị 24

2.1.4 Một số ký hiệu sử dụng trong MMC và MMDT 24

2.2 Thuật toán MMC (Multi-valued and Multi-labeled Classifier) 26

2.2.1 Trọng số tương tự giữa các nhãn 26

2.2.2 Một số tính chất của trọng số tương tự 27

2.2.3 Thuật toán MMC 28

2.2.4 Xác định nút trong và các nhánh (Giải quyết bước 4 đến bước 6) 30

2.2.5 Xác định nút lá (bước 10) 34

2.3 Thuật toán MMDT (Multi-valued and Multi-labeled Decision Tree) 36

2.3.1 Độ tương tự nhãn (Label similarity) 36

2.3.2 Tỷ lệ nhãn (Label Ratio) 37

2.3.3 Thuật toán MMDT 40

2.3.4 Hàm next_attribute của MMDT 41

2.3.5 Hàm weighted-labelRatio 42

Trang 3

2.4 Tiểu kết chương 2 45

Chương 3 CÀI ĐẶT VÀ MÔ PHỎNG ỨNG DỤNG 46

3.1 Giới thiệu 46

3.2 Bài toán hỗ trợ mua máy tính 46

3.2.1 Phát biểu 46

3.2.2 Cài đặt 48

3.3 Bài toán hỗ trợ chọn Tour du lịch 53

3.3.1 Phát biểu 53

3.3.2 Cài đặt 55

3.4 Tiểu kết chương 3 59

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 60

TÀI LIỆU THAM KHẢO 61

Trang 4

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

MMC Multi-valued and Multi-labeled Classifier MMDT Multi-valued and Multi-labeled Decision Tree

Trang 5

DANH MỤC CÁC BẢNG

Số hiệu

1.1 Mã giả của thuật toán phân lớp dữ liệu dựa trên cây quyết định 14

2.10 Hàm chọn thuộc tính tốt nhất của thuật toán MMDT 42

Trang 7

1

MỞ ĐẦU

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

dữ liệu này vì cho rằng nó ẩn chứa những giá trị nhất định nào đó Tuy nhiên theo thống kê thì chỉ có một lượng nhỏ của những dữ liệu này (khoảng từ 5% đến 10%) là luôn được phân tích, số còn lại họ không biết sẽ phải làm gì và có thể làm gì với những

dữ liệu này, nhưng họ vẫn tiếp tục thu thập và lưu trữ vì hi vọng những dữ liệu này sẽ cung cấp cho họ những thông tin quý giá một cách nhanh chóng để đưa ra những quyết định kịp thời vào một lúc nào đó Chính vì vậy, các phương pháp quản trị và khai thác

cơ sở dữ liệu truyền thống ngày càng không đáp ứng được thực tế đã làm phát triển

một khuynh hướng kỹ thuật mới đó là kỹ thuật phát hiện tri thức và khai phá dữ liệu

Một trong những công cụ khai phá tri thức hiệu quả hiện nay là sử dụng cây quyết định để tìm ra các luật phân lớp

Thông thường phân loại cây quyết định được sử dụng để phân loại dữ liệu có thuộc tính đơn trị Tuy nhiên, trong thực tế có rất nhiều vấn đề phân lớp cần phải giải quyết với các dữ liệu đa giá trị

Dữ liệu đa giá trị có nghĩa là một bản ghi có thể có nhiều giá trị cho một thuộc tính chứ không phải là giá trị duy nhất

Ví dụ, nếu chúng ta có một dữ liệu du lịch bao gồm giới tính là nữ và thu nhập

$750, theo phương pháp phân loại truyền thống thì chỉ dự đoán cô ấy có thể tham gia tour du lịch C1, nhưng phân lớp mới có thể dự đoán cô ấy có khả năng tham gia tour

du lịch C1, C2 hoặc C3

Hầu hết các phân loại không có khả năng xử lý dữ liệu với thuộc tính đa trị Vì

vậy, đó là lý do tôi chọn đề tài luận văn là: “Tìm hiểu các thuật toán MMC và MMDT trên bảng quyết định đa trị” để xây dựng cây quyết định cho dữ liệu đa trị

MMC (Multi-valued and Multi-labeled Classifier) và MMDT (Multi-valued and Multi-labeled Decision Tree) khác với phân loại cây quyết định truyền thống trong

Trang 8

một số chức năng chính bao gồm phát triển một cây quyết định, lựa chọn thuộc tính, gán nhãn cho một nút lá và thực hiện dự đoán cho một dữ liệu mới MMC chủ yếu dựa trên độ đo giống nhau giữa nhiều nhãn; MMDT chủ yếu dựa trên cả độ đo giống nhau

và tỉ lệ đo giống nhau giữa nhiều nhãn

Những năm gần đây việc xây dựng cây quyết định cho bảng dữ liệu đa trị được nhiều nhà khoa học quan tâm nghiên cứu Nhiều nhà khoa học trên thế giới đã nghiên cứu ra các thuật toán để giải quyết vấn đề dữ liệu đa trị; chẳng hạn như: Ba nhà khoa

học là Yen-Liang Chen, Chang-Ling Hsu, Shih-Chieh Chou đã nghiên cứu thuật toán MMC [1], hai nhà khoa học là Shihchieh Chou, Chang-Ling Hsu đã nghiên cứu thuật

toán MMDT [2] nhằm cải thiện thuật toán MMC và một nhóm nhà khoa học gồm

(Hong Li, Rui Zhao, Jianer Chen and Yao Xiang) nghiên cứu thuật toán SSC

(Similarity of Same and Consistent) [3], ngoài ra còn có các thuật toán ADMT [4], SSC_SP1, SSC_SP2,…

Đề tài nghiên cứu của luận văn nhằm góp phần giải quyết thuộc tính đa trị và thuộc tính số Mục đích nghiên cứu của luận văn nhằm tìm hiểu những vấn đề sau:

 Tìm hiểu bảng quyết định đa trị

 Tìm hiểu hai thuật toán MMC và MMDT

 Cài đặt hai thuật toán

Để hoàn thành luận văn này, tác giả phải phân tích và tổng hợp tài liệu từ các bài

báo khoa học trong và ngoài nước; Nghiên cứu lý thuyết, phân tích, khái quát, từ đó rút ra những vấn đề cần giải quyết của đề tài luận văn

Cấu trúc luận văn bao gồm phần mở đầu, ba chương nội dung chính, phần kết luận và tài liệu tham khảo

Chương 1 Tổng quan về phân lớp dữ liệu dựa trên cây quyết định Trong

chương này, trình bày tổng quan về phân lớp dữ liệu, ứng dụng phân lớp dữ liệu dựa trên cây quyết định, mô tả thuật toán xây dựng cây quyết định đơn trị dựa vào phương pháp Hunt làm tư tưởng chủ đạo

Chương 2 Thuật toán MMC và MMDT Trong chương này, trình bày tổng quan

về bảng dữ liệu đa trị, cây quyết định đa trị, cách dự đoán một dữ liệu đa trị mới, các

Trang 9

luật được tạo ra từ cây quyết định đa trị

Chương 3 Chương trình cài đặt Trong chương này, tác giả cài đặt được hàm chọn thuộc tính tốt nhất để phân nhánh là hàm weighted-similarity của MMC và hàm similarity-ratio của MMDT

Phần kết luận nêu những kết quả đã đạt được và hướng phát triển của đề tài

Vì thời gian có hạn và bản thân bước đầu tìm hiểu về lĩnh vực này nên không thể tránh khỏi những sai sót, kính mong sự giúp đỡ và góp ý của quý thầy cô và các bạn

Trang 10

Chương 1 PHÂN LỚP DỮ LIỆU DỰA TRÊN CÂY QUYẾT ĐỊNH

1.1 Tổng quan về phân lớp dữ liệu

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

Ngày nay phân lớp dữ liệu là một trong những hướng nghiên cứu chính của khai phá dữ liệu

Thực tế đặt ra nhu cầu là từ một cơ sở dữ liệu với nhiều thông tin ẩn con người

có thể trích rút ra các quyết định nghiệp vụ thông minh Phân lớp và dự đoán là hai dạng của phân tích dữ liệu nhằm trích rút ra một mô hình mô tả các lớp dữ liệu quan trọng hay dự đoán xu hướng dữ liệu tương lai Phân lớp dự đoán giá trị của những

nhãn xác định hay những giá trị rời rạc, có nghĩa là phân lớp thao tác với những đối

tượng dữ liệu mà có bộ giá trị là biết trước Trong khi đó, dự đoán lại xây dựng mô hình với các hàm nhận giá trị liên tục Ví dụ mô hình phân lớp dự báo thời tiết có thể cho biết thời tiết ngày mai là mưa, hay nắng dựa vào những thông số về độ ẩm, sức gió, nhiệt độ,… của ngày hôm nay và các ngày trước đó Hay nhờ các luật về xu hướng mua hàng của khách hàng trong siêu thị, các nhân viên kinh doanh có thể ra những quyết sách đúng đắn về lượng mặt hàng cũng như chủng loại bày bán… Một

mô hình dự đoán có thể dự đoán được lượng tiền tiêu dùng của các khách hàng tiềm năng dựa trên những thông tin về thu nhập và nghề nghiệp của khách hàng Trong những năm qua, phân lớp dữ liệu đã thu hút sự quan tâm các nhà nghiên cứu trong nhiều lĩnh vực khác nhau như học máy, hệ chuyên gia, thống kê Công nghệ này cũng ứng dụng trong nhiều lĩnh vực khác nhau như: thương mại, nhà băng, maketing, nghiên cứu thị trường, bảo hiểm, y tế, giáo dục Phần lớn các thuật toán ra đời trước đều sử dụng cơ chế dữ liệu cư trú trong bộ nhớ, thường thao tác với lượng dữ liệu nhỏ Một số thuật toán ra đời sau này đã sử dụng kỹ thuật cư trú trên đĩa cải thiện đáng kể khả năng mở rộng của thuật toán với những tập dữ liệu lớn lên tới hàng tỉ bản ghi Quá trình phân lớp dữ liệu gồm hai bước [8]:

Trang 11

Hình 1.1 Quá trình phân lớp dữ liệu–(a) Bước xây dựng mô hình phân lớp

 Bước thứ hai (Classification)

Bước thứ hai dùng mô hình đã xây dựng ở bước trước để phân lớp dữ liệu mới Trước tiên, độ chính xác mang tính chất dự đoán của mô hình phân lớp vừa tạo ra

được ước lượng Holdout là một kỹ thuật đơn giản để ước lượng độ chính xác đó Kỹ

thuật này sử dụng một tập dữ liệu kiểm tra với các mẫu đã được gán nhãn lớp Các mẫu này được chọn ngẫu nhiên và độc lập với các mẫu trong tập dữ liệu đào tạo Độ chính xác của mô hình trên tập dữ liệu kiểm tra đã đưa là tỉ lệ phần trăm các các mẫu

trong tập dữ liệu kiểm tra được mô hình phân lớp đúng (so với thực tế)

Trang 12

Hình 1.2 Quá trình phân lớp dữ liệu–(b1)Ước lượng độ chính xác mô hình

Hình 1.3 Quá trình phân lớp dữ liệu–(b2) Phân lớp dữ liệu mới

Trong mô hình phân lớp, thuật toán phân lớp giữ vai trò trung tâm, quyết định tới

sự thành công của mô hình phân lớp Do vậy chìa khóa của vấn đề phân lớp dữ liệu là tìm ra được một thuật toán phân lớp nhanh, hiệu quả, có độ chính xác cao và có khả năng mở rộng được Trong đó khả năng mở rộng được của thuật toán được đặc biệt chú trọng và phát triển [8]

Có thể liệt kê ra đây các kỹ thuật phân lớp đã được sử dụng phổ biến:

 Phân lớp cây quyết định

Trang 13

1.1.2 Các vấn đề liên quan đến phân lớp dữ liệu

1.1.2.1 Chuẩn bị dữ liệu cho việc phân lớp

Việc tiền xử lý dữ liệu cho quá trình phân lớp là một việc làm không thể thiếu và

có vai trò quan trọng quyết định tới sự áp dụng được hay không của mô hình phân lớp Quá trình tiền xử lý dữ liệu sẽ giúp cải thiện độ chính xác, tính hiệu quả và khả năng

mở rộng được của mô hình phân lớp

Quá trình tiền xử lý dữ liệu gồm có các công việc sau:

lý với những giá trị thiếu và lỗi trong tập dữ liệu, nhưng bước tiền xử lý này có thể làm giảm sự hỗn độn trong quá trình học (xây dựng mô hình phân lớp)

 Phân tích sự cần thiết của dữ liệu

Có rất nhiều thuộc tính trong tập dữ liệu có thể hoàn toàn không cần thiết hay liên quan đến một bài toán phân lớp cụ thể Ví dụ dữ liệu về ngày trong tuần hoàn toàn không cần thiết đối với ứng dụng phân tích độ rủi ro của các khoản tiền cho vay của ngân hàng, nên thuộc tính này là dư thừa Phân tích sự cần thiết của dữ liệu nhằm mục đích loại bỏ những thuộc tính không cần thiết, dư thừa khỏi quá trình học vì những thuộc tính đó sẽ làm chậm, phức tạp và gây ra sự hiểu sai trong quá trình học dẫn tới một mô hình phân lớp không dùng được

 Chuyển đổi dữ liệu

Việc khái quát hóa dữ liệu lên mức khái niệm cao hơn đôi khi là cần thiết trong quá trình tiền xử lý Việc này đặc biệt hữu ích với những thuộc tính liên tục

Trang 14

(continuous attribute hay numeric attribute) Ví dụ các giá trị số của thuộc tính thu nhập của khách hàng có thể được khái quát hóa thành các dãy giá trị rời rạc: thấp, trung bình, cao Tương tự với những thuộc tính rời rạc (categorical attribute) như địa chỉ phố có thể được khái quát hóa lên thành thành phố Việc khái quát hóa làm cô đọng dữ liệu học nguyên thủy, vì vậy các thao tác vào/ ra liên quan đến quá trình học

sẽ giảm

1.1.2.2 So sánh các mô hình phân lớp

Trong từng ứng dụng cụ thể cần lựa chọn mô hình phân lớp phù hợp Việc lựa chọn

đó căn cứ vào sự so sánh các mô hình phân lớp với nhau, dựa trên các tiêu chuẩn sau:

1.1.3 Các phương pháp đánh giá độ chính xác của mô hình phân lớp

Ước lượng độ chính xác của bộ phân lớp là quan trọng ở chỗ nó cho phép dự

Trang 15

đoán được độ chính xác của các kết quả phân lớp những dữ liệu tương lai Độ chính xác còn giúp so sánh các mô hình phân lớp khác nhau Chúng tôi đề cập đến 2 phương pháp đánh giá phổ biến là holdout và k-fold cross-validation Cả 2 kỹ thuật này đều dựa trên các phân hoạch ngẫu nhiên tập dữ liệu ban đầu

 Trong phương pháp holdout, dữ liệu đưa ra được phân chia ngẫu nhiên thành 2 phần là: tập dữ liệu đào tạo và tập dữ liệu kiểm tra Thông thường 2/3 dữ liệu cấp cho tập dữ liệu đào tạo, phần còn lại cho tập dữ liệu kiểm tra [8]

Hình 1.4 Ước lượng độ chính xác của mô hình phân lớp

với phương pháp holdout

 Trong phương pháp k-fold cross validation tập dữ liệu ban đầu được chia ngẫu nhiên thành k tập con (fold) có kích thước xấp xỉ nhau S1, S2, …, Sk Quá trình học và test được thực hiện k lần Tại lần lặp thứ i, Si là tập dữ liệu kiểm tra, các tập còn lại hợp thành tập dữ liệu đào tạo Có nghĩa là, đâu tiên việc dạy được thực hiện trên các tập S1, S2, …, Sk, sau đó test trên tập S1 tiếp tục quá trình dạy được thực hiện trên tập

S1, S2, S3, S4, …,Sk, sau đó test trên tập S2, và cứ thế tiếp tục Độ chính xác là toàn bộ

số phân lớp đúng từ k lần lặp chia cho tổng số mẫu của tập dữ liệu ban đầu

1.2 Cây quyết định

1.2.1 Định nghĩa

Trong những năm qua, nhiều mô hình phân lớp dữ liệu đã được các nhà khoa học trong nhiều lĩnh vực khác nhau đề xuất như mạng nơtron, mô hình thống kê tuyến tính, cây quyết định, mô hình di truyền Trong số những mô hình đó, cây quyết định với

Trang 16

những ưu điểm của mình được đánh giá là một công cụ mạnh, phổ biến và đặc biệt thích hợp cho data mining nói chung và phân lớp dữ liệu nói riêng Có thể kể ra những

ưu điểm của cây quyết định như: xây dựng tương đối nhanh, đơn giản, dễ hiểu Hơn nữa các cây có thể dễ dàng được chuyển đổi sang các câu lệnh SQL để có thể được sử dụng để truy nhập cơ sở dữ liệu một cách hiệu quả Cuối cùng, việc phân lớp dựa trên cây quyết định đạt được sự tương tự và đôi khi là chính xác hơn so với các phương pháp phân lớp khác

Cây quyết định là biểu đồ phát triển có cấu trúc dạng cây, được mô tả trong Hình

vẽ sau:

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

Trong cây quyết định:

• Gốc: Là nút trên cùng của cây

• Nút trong: Biểu diễn sự phân lớp (hình chữnhật)

• Nhánh: Giá trị thuộc tính phân lớp (mũi tên)

• Nút lá: Biểu diễn lớp (hình tròn)

Để phân lớp mẫu dữ liệu chưa biết, giá trị các thuộc tính của mẫu được đưa vào kiểm tra trên cây quyết định Mỗi mẫu tương ứng có một đường đi từ gốc đến lá và lá biểu diễn dự đoán giá trị phân lớp mẫu đó

Trang 17

1.2.2 Đánh giá cây quyết định

1.2.2.1 Sức mạnh của cây quyết định

Cây quyết định có 5 sức mạnh chính sau [9]:

 Khả năng sinh ra các quy tắc hiểu được

Cây quyết định có khả năng sinh ra các quy tắc có thể chuyển đổi được sang dạng tiếng Anh, hoặc các câu lệnh SQL Đây là ưu điểm nổi bật của kỹ thuật này Thậm chí với những tập dữ liệu lớn khiến cho hình dáng cây quyết định lớn

và phức tạp, việc đi theo bất cứ đường nào trên cây là dễ dàng theo nghĩa phổ biến

và rõ ràng Do vậy sự giải thích cho bất cứ một sự phân lớp hay dự đoán nào đều tương đối minh bạch

 Khả năng thực thi trong những lĩnh vực hướng quy tắc

Điều này nghe có vẻ hiển nhiên, nhưng quy tắc quy nạp nói chung và cây quyết định nói riêng là lựa chọn hoàn hảo cho những lĩnh vực thực sự là các quy tắc Rất nhiều lĩnh vực từ di truyền tới các quá trình công nghiệp thực sự chứa các quy tắc ẩn, không rõ ràng do khá phức tạp và tối nghĩa bởi những dữ liệu lỗi Cây quyết định là một sự lựa chọn tự nhiên khi chúng ta nghi ngờ sự tồn tại của các quy tắc ẩn, không rõ ràng

 Dễ dàng tính toán trong khi phân lớp

Mặc dù như chúng ta đã biết, cây quyết định có thể chứa nhiều định dạng, nhưng trong thực tế, các thuật toán sử dụng để tạo ra cây quyết định thường tạo

ra những cây với số phân nhánh thấp và các test đơn giản tại từng nút Những test điển hình là: so sánh số, xem xét phần tử của một tập hợp, và các phép nối đơn giản Khi thực thi trên máy tính, những test này chuyển thành các toán hàm logic

và số nguyên là những toán hạng thực thi nhanh và không đắt Đây là một ưu điểm quan trọng bởi trong môi trường thương mại, các mô hình dự đoán thường được sử dụng để phân lớp hàng triệu thậm trí hàng tỉ bản ghi

 Khả năng xử lý với cả thuộc tính liên tục và thuộc tính rời rạc

Cây quyết định xử lý “tốt” như nhau với thuộc tính liên tục và thuộc tính rời rạc Tuy rằng với thuộc tính liên tục cần nhiều tài nguyên tính toán hơn Những thuộc tính rời rạc đã từng gây ra những vấn đề với mạng neural và các kỹ thuật

Trang 18

thống kê lại thực sự dễ dàng thao tác với các tiêu chuẩn phân chia trên cây quyết

định: mỗi nhánh tương ứng với từng phân tách tập dữ liệu theo giá trị của thuộc tính được chọn để phát triển tại nút đó Các thuộc tính liên tục cũng dễ dàng phân chia bằng việc chọn ra một số gọi là ngưỡng trong tập các giá trị đã sắp xếp của thuộc tính đó Sau khi chọn được ngưỡng tốt nhất, tập dữ liệu phân chia theo test nhị phân của ngưỡng đó

 Thể hiện rõ ràng những thuộc tính tốt nhất

Các thuật toán xây dựng cây quyết định đưa ra thuộc tính mà phân chia tốt nhất tập dữ liệu đào tạo bắt đầu từ nút gốc của cây Từ đó có thể thấy những thuộc tính nào là quan trọng nhất cho việc dự đoán hay phân lớp

1.2.2.2 Điểm yếu của cây quyết định

Dù có những sức mạnh nổi bật trên, cây quyết định vẫn không tránh khỏi có những điểm yếu Đó là cây quyết định không thích hợp lắm với những bài toán với mục tiêu là dự đoán giá trị của thuộc tính liên tục như thu nhập, huyết áp hay lãi xuất ngân hàng,… Cây quyết định cũng khó giải quyết với những dữ liệu thời gian liên tục nếu không bỏ ra nhiều công sức cho việc đặt ra sự biểu diễn dữ liệu theo các mẫu liên tục

 Dễ xẩy ra lỗi khi có quá nhiều lớp

Một số cây quyết định chỉ thao tác với những lớp giá trị nhị phân dạng yes/no hay accept/reject Số khác lại có thể chỉ định các bản ghi vào một số lớp bất kỳ,

nhưng dễ xảy ra lỗi khi số ví dụ đào tạo ứng với một lớp là nhỏ Điều này xẩy ra càng nhanh hơn với cây mà có nhiều tầng hay có nhiều nhánh trên một nút

 Chi phí tính toán đắt để đào tạo

Điều này nghe có vẻ mâu thuẫn với khẳng định ưu điểm của cây quyết định ở trên Nhưng quá trình phát triển cây quyết định đắt về mặt tính toán Vì cây quyết định có rất nhiều nút trong trước khi đi đến lá cuối cùng Tại từng nút, cần tính một

độ đo (hay tiêu chuẩn phân chia) trên từng thuộc tính, với thuộc tính liên tục phải thêm thao tác xắp xếp lại tập dữ liệu theo thứ tự giá trị của thuộc tính đó Sau đó mới có thể chọn được một thuộc tính phát triển và tương ứng là một phân chia tốt nhất Một vài thuật toán sử dụng tổ hợp các thuộc tính kết hợp với nhau có trọng số

Trang 19

để phát triển cây quyết định Quá trình cắt cụt cây cũng “đắt” vì nhiều cây con ứng

cử phải được tạo ra và so sánh

1.2.3 Xây dựng cây quyết định

Cây quyết định là một công cụ mạnh và hiệu quả trong việc phân lớp và dự báo Các đối tượng dữ liệu được phân thành các lớp Các giá trị của đối tượng dữ liệu chưa biết sẽ được dự đoán, dự báo Tri thức được rút ra trong kỹ thuật này thường được mô

tả dưới dạng tường minh, đơn giản, trực quan, dễ hiểu đối với người sử dụng

Quá trình xây dựng cây quyết định gồm hai giai đoạn:

 Giai đoạn thứ nhất phát triển cây quyết định:

Giai đoạn này phát triển bắt đầu từ gốc, đến từng nhánh và phát triển quy nạp theo cách thức chia để trị cho tới khi đạt được cây quyết định với tất cả các lá được gán nhãn lớp

 Giai đoạn thứ hai cắt, tỉa bớt các cành nhánh trên cây quyết định

Giai đoạn này nhằm mục đích đơn giản hóa và khái quát hóa từ đó làm tăng độ chính xác của cây quyết định bằng cách loại bỏ sự phụ thuộc vào mức độ nhiễu của dữ liệu đào tạo mang tính chất thống kê, hay những sự biến đổi mà có thể là đặc

tính riêng biệt của dữ liệu đào tạo Giai đoạn này chỉ truy cập dữ liệu trên cây

quyết định đã được phát triển trong giai đoạn trước và quá trình thực nghiệm cho thấy giai đoạn này không tốn nhiều tài nguyên tính toán, như với phần lớn các thuật toán, giai đoạn này chiếm khoảng dưới 1% tổng thời gian xây dựng mô hình phân lớp

Do vậy, ở đây chúng ta chỉ tập trung vào nghiên cứu giai đoạn phát triển cây quyết định Dưới đây là khung công việc của giai đoạn này:

1) Chọn thuộc tính “tốt” nhất bằng một độ đo đã định trước

2) Phát triển cây bằng việc thêm các nhánh tương ứng với từng giá trị của thuộc tính đã chọn

3) Sắp xếp, phân chia tập dữ liệu đào tạo tới nút con

4) Nếu các đối tượng được phân lớp rõ ràng thì dừng

Ngược lại: lặp lại bước 1 tới bước 4 cho từng nút con

Trang 20

1.3 Một số thuật toán xây dựng cây quyết định đơn trị

1.3.1 Tư tưởng chung

Phần lớn các thuật toán phân lớp dữ liệu dựa trên cây quyết định có mã giả như sau:

Bảng 1.1 Mã giả của thuật toán phân lớp dữ liệu dựa trên cây quyết định

Đầu vào: Bảng quyết định DT=(U,A{d})

Đầu ra: Mô hình cây quyết định

Đối với mỗi thuộc tính A thực hiện

Đánh giá sự phân chia của thuộc tính A

Sử dụng thuộc tính chia tốt nhất để phân S vào S1, S2, …, Sk

các tác giả khác, 1996) đều sử dụng phương pháp của Hunt làm tư tưởng chủ

đạo Phương pháp này được Hunt và các đồng sự nghĩ ra vào những năm cuối thập

kỷ 50 đầu thập kỷ 60

Mô tả quy nạp phương pháp Hunt [10]:

Giả sử xây dựng cây quyết định từ T là tập dữ liệu huấn luyện và các lớp được biểu diễn dưới dạng tập C = {C1, C2, …,Ck}

Trang 21

Trường hợp 1: T chứa các bản ghi thuộc về một lớp đơn Cj, cây quyết định ứng với T là một lá tương ứng với lớp Cj

Trường hợp 2: T chứa các bản ghi thuộc về nhiều lớp khác nhau trong tập C Một kiểm tra được chọn trên một thuộc tính có nhiều giá trị {O1, O2, ….,On } Trong nhiều ứng dụng n thường được chọn là 2, khi đó tạo ra cây quyết định nhị phân Tập T được chia thành các tập con T1, T2, …, Tn, với Ti chứa tất cả các bản ghi trong T mà có kết quả là Oi trong kiểm tra đã chọn Cây quyết định ứng với T bao gồm một nút biểu diễn kiểm tra được chọn, và mỗi nhánh tương ứng với mỗi kết quả có thể của kiểm tra đó Cách thức xây dựng cây tương tự được áp dụng đệ quy cho từng tập con của tập dữ liệu huấn luyện

Trường hợp 3: T không chứa bản ghi nào Cây quyết định ứng với T là một

lá, nhưng lớp gắn với lá đó phải được xác định từ những thông tin khác ngoài T

Ví dụ C4.5 chọn giá trị phân lớp là lớp phổ biến nhất tại cha của nút này

1.3.2 Tình hình nghiên cứu các thuật toán hiện nay

Các thuật toán phân lớp dữ liệu dựa trên cây quyết định đều có tư tưởng chủ đạo là phương pháp Hunt đã trình bày ở trên Luôn có 2 câu hỏi lớn cần phải được trả lời trong các thuật toán phân lớp dữ liệu dựa trên cây quyết định là:

1 Làm cách nào để xác định được thuộc tính tốt nhất để phát triển tại mỗi nút?

2 Lưu trữ dữ liệu như thế nào và làm cách nào để phân chia dữ liệu theo các trường tương ứng?

Các thuật toán khác nhau có các cách trả lời khác nhau cho hai câu hỏi trên Điều này làm nên sự khác biệt của từng thuật toán

Có 2 loại tiêu chuẩn hay chỉ số để xác định thuộc tính tốt nhất phát triển tại mỗi nút

Gini-index (Breiman và các đồng sự, 1984 [1]): Loại tiêu chuẩn này lựa

chọn thuộc tính mà làm cực tiểu hóa độ không tinh khiết của mỗi phân chia Các

thuật toán sử dụng này là CART, SLIQ, SPRINT

Trang 22

sử dụng entropy để đo độ không tinh khiết của một phân chia và lựa chọn thuộc tính theo mức độ cực đại hóa chỉ số entropy Các thuật toán sử dụng tiêu chuẩn này

là ID3, C4.5

Việc tính toán các chỉ số trên đôi khi đòi hỏi phải duyệt toàn bộ hay một phần của tập dữ liệu đào tạo Do vậy các thuật toán ra đời trước yêu cầu toàn bộ tập dữ liệu đào tạo phải nằm thường trú trong bộ nhớ trong quá trình phát triển cây quyết định Điều này đã làm hạn chế khả năng mở rộng của các thuật toán đó, vì kích thước

bộ nhớ là có hạn, mà kích thước của tập dữ liệu đào tạo thì tăng không ngừng, đôi khi là triệu là tỉ bản ghi trong lĩnh vực thương mại Rõ ràng cần tìm ra giải pháp mới

để thay đổi cơ chế lưu trữ và truy cập dữ liệu, năm 1996 SLIQ (Mehta) và SPRINT (Shafer) ra đời đã giải quyết được hạn chế đó Hai thuật toán này đã sử dụng cơ chế lưu trữ dữ liệu thường trú trên đĩa và cơ chế sắp xếp trước một lần tập dữ liệu đào tạo Những đặc điểm mới này làm cải thiện đáng kể hiệu năng và tính mở rộng so với các thuật toán khác Tiếp theo là một số thuật toán khác phát triển trên nền tảng SPRINT với một số bổ xung cải tiến như PUBLIC (1998) với ý tưởng kết hợp hai quá trình xây dựng và cắt tỉa với nhau, hay ScalParC (1998) cải thiện quá trình phân chia dữ liệu của SPRINT với cách dùng bảng băm khác, hay thuật toán do các nhà khoa học trường đại học Minesota (Mỹ ) kết hợp với IBM đề xuất đã làm giảm chi phí vào ra cũng như chi phí giao tiếp toàn cục khi song song hóa so với SPRINT Trong các thuật toán đó SPRINT được coi là sáng tạo đột biến, đáng để chúng ta tìm hiểu và phát triển

1.3.3 Song song hóa thuật toán phân lớp dựa trên cây quyết định tuần tự

Song song hóa xu hướng nghiên cứu hiện nay của các thuật toán phân lớp dữ liệu dựa trên cây quyết định Nhu cầu song song hóa các thuật toán tuần tự là một nhu cầu tất yếu của thực tiễn phát triển khi mà các đòi hỏi về hiệu năng, độ chính xác ngày càng cao Thêm vào đó là sự gia tăng nhanh chóng về kích thước của dữ liệu cần khai phá Một mô hình phân lớp chạy trên hệ thống tính toán song song có hiệu năng cao, có khả năng khai phá được những tập dữ liệu lớn hơn từ đó gia tăng

độ tin cậy của các quy tắc phân lớp Hiện nay, các thuật toán tuần tự yêu cầu dữ liệu thường trú trong bộ nhớ đã không đáp ứng được yêu cầu của các tập dữ liệu có

Trang 23

kích thước TetaByte với hàng tỉ bản ghi Do vậy xây dựng thuật toán song song hiệu quả dựa trên những thuật toán tuần tự sẵn có là một thách thức đặt ra cho các nhà nghiên cứu

Có 3 chiến lược song song hóa các thuật toán tuần tự:

 Phương pháp xây dựng cây đồng bộ

Trong phương pháp này, tất cả các bộ vi xử lý đồng thời tham gia xây dựng cây quyết định bằng việc gửi và nhận các thông tin phân lớp của dữ liệu địa phương Hình 1.6 mô tả cơ chế làm việc của các bộ vi xử lý trong phương pháp này

Ưu điểm của phương pháp này là không yêu cầu việc di chuyển các dữ liệu trong tập dữ liệu đào tạo Tuy nhiên, thuật toán này phải chấp nhận chi phí giao tiếp cao, và tải bất cân bằng Với từng nút trong cây quyết định, sau khi tập hợp được các thông tin phân lớp, tất cả các bộ vi xử lý cần phải đồng bộ và cập nhật các thông tin phân lớp Với những nút ở độ sâu thấp, chi phí giao tiếp tương đối nhỏ, bởi vì số lượng các mục training data được xử lý là tương đối nhỏ Nhưng khi cây càng sâu thì chi phí cho giao tiếp chiếm phần lớn thời gian xử lý Một vấn đề nữa của phương pháp này là tải bất cân bằng do cơ chế lưu trữ và phân chia dữ liệu ban đầu tới từng bộ vi xử lý

Hình 1.6 Sơ đồ xây dựng cây quyết định theo phương pháp đồng bộ

Trang 24

 Phương pháp xây dựng cây phân hoạch

Khi xây dựng cây quyết định bằng phương pháp phân hoạch các bộ vi xử lý khác nhau làm việc với các phần khác nhau của cây quyết định Nếu nhiều hơn 1 bộ vi xử lý cùng kết hợp để phát triển 1 nút, thì các bộ vi xử lý được phân hoạch để phát triển các con của nút đó Phương pháp này tập trung vào trường hợp 1 nhóm các bộ vi xử lý Pn cùng hợp tác để phát triển nút n Khi bắt đầu, tất cả các bộ vi xử lý cùng đồng thời kết hợp để phát triển nút gốc của cây phân lớp Khi kết thúc, toàn bộ cây phân lớp được tạo ra bằng cách kết hợp tất cả các cây con của từng bộ vi xử lý Hình 1.7 mô tả cơ chế làm việc của các bộ vi xử lý trong phương pháp này

Ưu điểm của phương pháp này là khi một bộ vi xử lý một mình chịu trách nhiệm phát triển một nút, thì nó có thể phát triển thành một cây con của cây toàn cục một cách độc lập mà không cần bất cứ chi phí giao tiếp nào

Tuy nhiên cũng có một vài nhược điểm trong phương pháp này, đó là: Thứ nhất yêu cầu di chuyển dữ liệu sau mỗi lần phát triển một nút cho tới khi mỗi bộ vi xử lý chứa toàn bộ dữ liệu để có thể phát triển toàn bộ một cây con Do vậy dẫn đến tốn kém chi phí giao tiếp khi ở phần trên của cây phân lớp Thứ hai là khó đạt được tải cân bằng Việc gán các nút cho các bộ vi xử lý được thực hiện dựa trên số lượng các case trong các nút con Tuy nhiên số lượng các case gắn với một nút không nhất thiết phải tương ứng với sốlượng công việc cần phải xử lý để phát triển cây con tại nút đó

Trang 25

Hình 1.7 Sơ đồ xây dựng cây quyết định theo phương pháp phân hoạch

 Phương pháp lai

Phương pháp lai tận dụng ưu điểm của cả 2 phương pháp trên Phương pháp xây dựng cây đồng bộ chấp nhận chi phí giao tiếp cao khi biên giới của cây càng rộng Trong khi đó, phương pháp xây dựng cây quyết định phân hoạch thì phải chấp nhận chi phí cho việc tải cân bằng sau mỗi bước Trên cơ sở đó, phương pháp lai tiếp tục duy trì cách thức thứ nhất miễn là chi phí giao tiếp phải chịu do tuân theo cách thức thứ nhất không quá lớn Khi mà chi phí này vượt quá một ngưỡng quy định, thì các bộ

vi xử lý đang xử lý các nút tại đường biên hiện tại của cây phân lớp được phân chia thành 2 phần (với giả thiết số lượng các bộvi xử lý là lũy thừa của 2).Phương pháp này cần sử dụng tiêu chuẩn để khởi tạo sự phân hoạch tập các bộ vi xử lý hiện tại, đó là:

∑(Chi phí giao tiếp) ≥ Chi phí di chuyển + Tải cân bằng

Mô hình hoạt động của phương pháp lai được mô tả trong hình 1.8

Trang 26

Hình 1.8 Sơ đồ xây dựng cây quyết định theo phương pháp lai

1.4 Tiểu kết chương 1

Trong chương này luận văn đã giới thiệu tổng quan về phân lớp dữ liệu, ứng dụng phân lớp dữ liệu dựa trên cây quyết định, mô tả thuật toán xây dựng cây quyết định đơn trị dựa vào phương pháp Hunt làm tư tưởng chủ đạo Trong chương sau, luận văn sẽ trình bày nội dung lý thuyết xây dựng cây quyết định đa trị của 2 thuật toán MMC và MMDT

Trang 27

Chương 2 THUẬT TOÁN MMC VÀ MMDT 2.1 Tổng quan về bảng quyết định đa trị

2.1.1 Định nghĩa dữ liệu đa trị

Dữ liệu đa trị có nghĩa là một bản ghi có thể có nhiều giá trị cho một thuộc tính chứ không phải là một giá trị duy nhất Người ta cũng có thể phân biệt giá trị tại thuộc tính địa chỉ nhãn của thuộc tính quyết định Ở đây chúng ta gọi chung đa trị và đa nhãn

Thu nhập

P5 Độc thân 910 Nam Nghệ thuật, thể thao C2, C3

P9 Đã ly hôn 1250 Nam Nghệ thuật,Mua sắm C1, C2, C3

P11 Đã kết hôn 340 Nữ Nghệ thuật, thể thao C1, C3

P15 Độc thân 520 Nữ Nghệ thuật, thể thao, mua sắm C3

Trong bảng, các thuộc tính: tình trạng hôn nhân, giới tính là các thuộc tính đơn trị; thuộc tính thu nhập là số; và thuộc tính sở thích là thuộc tính đa trị bởi nó có 3 giá

Trang 28

trị đối với thuộc tính sở thích là: thể thao, mua sắm và nghệ thuật; thuộc tính nhãn lớp gồm 3 giá trị là: C1,C2 và C3

Mỗi dữ liệu của khách hàng có thể có ít nhất một trong ba nhãn khác nhau C1, C2 và C3 Ví dụ, khách hàng P3 có thuộc tính sở thích gồm {nghệ thuật, mua sắm}, và khách hàng P5 gắn với hai nhãn C2 và C3

2.1.2 Cây quyết định đa trị

Một cây quyết định đa trị tương ứng với tập dữ liệu trong Bảng 2.1 được minh họa ở Hình 2.1 Trong cây, mỗi nút trong tương ứng với một thuộc tính, mỗi nhánh của thuộc tính số tương ứng với một khoảng giá trị, mỗi nhánh của thuộc tính phi số tương ứng với một giá trị, các nút lá là các nhãn

Hình 2.1 Cây quyết định đa trị

Dựa vào cây quyết định trên, chúng ta có thể dự đoán một tours khách hàng mới

sẽ được quan tâm

Ví dụ 2.1 Chúng ta xét một khách hàng có mức thu nhập là 500 USD và có sở

thích bao gồm thể thao và nghệ thuật Truy tìm trên cây từ gốc, bắt đầu với thuộc tính

“thu nhập=500”, ta đi dọc theo nhánh “475-599” và nhận được thuộc tính “sở thích” Tiếp tục đi theo nhánh “thể thao” ta nhận được nhãn C3 và đi theo nhánh “nghệ

C1,C2

Nghệ thuật

C1,C2

Giới tính

C1 C1,C2,C3 Nam Nữ

Sở thích

Mua sắm

Nghệ thuật Thể thao

C2

C1,C2,C3

Trang 29

thuật” ta nhận được nhãn C1, C2 Hợp các nhãn này lại ta được kết quả dự đoán là

một luật: “if – điều kiện – then – nhãn”

Bảng 2.2 Một số luật từ cây quyết định trong Hình 2.1

If Thu nhập in [$100-$224] Then C1, C2, C3

If Thu nhập in [$225-$349] Then C1, C3

If Thu nhập in [$350-$474] Then C1

If Thu nhập in [$475-$599] and Sở thích= “Thể thao” Then C3

If Thu nhập in [$475-$599] and Sở thích= “Mua sắm” Then C1,C2

If Thu nhập in [$475-$599] and Sở thích= “Nghệ thuật” Then C1,C2

If Thu nhập in [$725-$849] and Giới tính= “Nam” Then C1

If Thu nhập in [$725-$849] and Giới tính= “Nữ” Then C1,C2,C3

If Thu nhập in [$850-$974] Then C2,C3

If Thu nhập in [$975-$1099] Then C3

If Thu nhập in [$1100-$1224] Then C1

If Thu nhập in [$1225-$1350] and Sở thích= “Thể thao’ Then,C2

If Thu nhập in [$1225-$1350] and Sở thích= “Mua sắm’ Then C1,C2,C3

If Thu nhập in [$1225-$1350] and Sở thích= “Nghệ thuật’ Then C1,C2,C3

Trang 30

2.1.3 Phân lớp với dữ liệu đa trị

Khó khăn lớn nhất trong việc xử lý dữ liệu đa trị bằng phương pháp truyền thống là:

- Thứ nhất: Dữ liệu đa trị có một hoặc nhiều nhãn tại mỗi nút, trong khi dữ liệu đơn trị thì mỗi nút con chỉ có một nhãn duy nhất

- Thứ hai: Trong việc phân loại một đối tượng, một đối tượng với thuộc tính đa trị thì có thể tách thành nhiều nhánh, trong khi phân loại đối tượng với thuộc tính đơn trị chỉ đi ra 1 nhánh

Để giải quyết vấn đề phân lớp với bảng quyết định đa trị, nhóm ba nhà khoa học:

Yen-Liang Chen, Chang-Ling Hsu, Shih-Chieh Chou đã đề xuất thuật toán MMC

(Multi-valued and Multi-labeled Classifier) MMC khác với những phương pháp phân lớp truyền thống trong một số chức năng chính bao gồm (1) phát triển một cây quyết định, (2) chỉ định nhãn đại diện cho một nút lá và (3) thực hiện một dự đoán cho một

dữ liệu mới Trong quá trình phát triển một cây, MMC đề xuất một giải pháp mới có

tên trọng số tương tự (weighted similarity) để lựa chọn thuộc tính phân nhánh tốt

nhất Gán nhãn, MMC chọn những nút liên quan với số đủ lớn để đại diện cho một lá

Để thực hiện một dự đoán cho một dữ liệu mới, MMC vẫn duyệt cây, và khi duyệt đến một số nút lá cho các dòng với thuộc tính đa trị, MMC sẽ kết hợp tất cả các nhãn của các nút lá lại và đó cũng là kết quả dự đoán

Có một thuật toán phân lớp với dữ liệu đa trị nhằm cải thiện tính chính xác của

MMC Hai nhà khoa học Shihchieh Chou, Chang-Ling Hsu đã thiết kế thuật toán mới

đó là MMDT (Multi-valued and Multi-labeled Decision Tree)

Một số hàm chính được sử dụng trong các thuật toán trên:

Trang 31

(a) D là tập dữ liệu huấn luyện và |D| là số lượng bản ghi

(b) C là tập các nhãn {Ci| i=1 k, Ci là một nhãn} Số lượng nhãn trong C được biết trước

(c) A kí hiệu cho tập thuộc tính A={Ai|Ai là thuộc tính bất kỳ của D, i=1 n} |A|

là ký hiệu số lượng thuộc tính (gồm n thuộc tính)

(d) L biểu diễn một tập hợp các nhãn, nhãn này có thể là đơn trị hoặc đa trị

L= {L j |L j 2C }

(e) T(V,E) biểu thị một cây quyết định bắt nguồn từ gốc và có nhiều cấp, trong

đó V là tập hợp các nút và E là tập hợp các nhánh Mỗi nút của T chứa thuộc tính số hoặc phi số Mỗi nút lá của T chứa nhiều nhãn thuộc L

(f) “Nhiều nhãn” được biểu diễn như một tập nhãn Lj kí hiệu một nhãn được thiết lập để đại diện cho một tập hợp các nhãn trong C

Vì vậy mỗi bản ghi trong D có thể được biểu diễn (A,Lj), trong đó A là tập các thuộc tính Ai, chú ý rằng mỗi thuộc tính Ai có thể được ánh xạ đến 1 giá trị duy nhất

hoặc nhiều giá trị, và có thể phi số hoặc số Mục tiêu của chúng tôi là xây dựng một cây phân loại quyết định đó có thể dự đoán giá trị của Lj khi giá trị của A được cho

(g) Để giải quyết các thuộc tính số, chúng tôi sử dụng một tham số do người

dùng tự định nghĩa (gọi là tham số ub) để thiết lập trên ràng buộc về số nhánh mà một

nút của thuộc tính số cho ra Ngoài ra, khi tách các nhánh từ một nút, chúng tôi áp dụng định nghĩa của một khoảng thời gian trong IC [11]: “Mỗi nhánh tương ứng với một khoảng giá trị cho thuộc tính số và tương ứng với một giá trị duy nhất cho thuộc tính phi số”

Sự phát triển của MMC chủ yếu dựa vào độ đo tương tự trong nhiều nhãn, trong khi sự phát triển của MMDT chủ yếu dựa trên cả hai là độ đo tương tự và tỉ lệ tương tự trong nhiều nhãn Sự phát triển của MMDT dựa trên MMC, vì vậy, chúng tôi sẽ lần lượt mô tả các thuật toán MMC và MMDT trong các mục tiếp theo

Trang 32

2.2 Thuật toán MMC (Multi-valued and Multi-labeled Classifier)

2.2.1 Trọng số tương tự giữa các nhãn

Trước tiên chúng ta xác định những ký hiệu được sử dụng để đo sự giống nhau giữa hai tập nhãn Li và Lj như sau:

same(L i , L j ): Số lượng nhãn xuất hiện trong cả hai Li và Lj

different(L i , L j ): Số lượng nhãn xuất hiện trong Li hoặc Lj nhưng không phải cả hai

cardinality(L i , L j ): Số lượng nhãn khác nhau xuất hiện trong Li hoặc Lj

Sử dụng các ký hiệu trên, chúng tôi xác định sự giống nhau giữa 2 nhãn Li và Ljnhư sau:

similarity(L i ,L j )=

2

1)

,(

),()

,(

j i j

i

L L y cardinalit

L L different L

L same

(2.1)

Ví dụ 2.2

(1) Nếu Li={C1,C2} and Lj={C1,C3} thì ta có: same(L i , L j )=1,

2),

(L i L j

different , cardinalit y(L i,L j)3 và similarity(L i ,L j )=1/3

(2) Nếu Li={C1,C2} and Lj={C3,C4} thì ta có: same(L i , L j )=0,

) , (( Li Lj

different =4, cardinalit y(L i,L j)=4 và similarity(L i ,L j )=0

Dựa trên các sự tương tự giữa hai tập nhãn, chúng ta có thể xác định sự giống nhau giữa một tập hợp các nhãn L={L1, L2, …., Lm} như sau:

set- similarity(L)=

2/)1(

),(

m m

L L similarity

Trang 33

Bảng 2.3 Bảng tương tự giữa hai tập nhãn bất kỳ

))3/2(23())3/1(22())2/1(32(131

Trang 34

Vì similarity(Li,Lj)= ( , ) 1 2

),()

,(

j i j

i

L L y cardinalit

L L different L

L same

) , ( )

, (

i j i

j

L L y cardinalit

L L different L

L same

= similarity(Lj,Li)

Tính chất 2: 0 similarity(L i ,L j ) 1

) , (

) , ( )

, (

j i

j i j

i

L L y cardinalit

L L different L

L same

Cho 3 tập nhãn Li, Lj, Lk Nếu same(Li ,L k ) same(L j ,L k ) nhưng

different(L i ,L k )= different(L j ,L k ) thì similarity(L i ,L k ) similarity(L j ,L k )

Tính chất 7:

Cho 3 tập nhãn Li, Lj, Lk Nếu same(Li ,L k ) < same(L j ,L k ) nhưng

different(L i ,L k )> different(L j ,L k ) thì similarity(L i ,L k ) < similarity(L j ,L k )

2.2.3 Thuật toán MMC

Thuật toán MMC được thiết kế bởi Chen et al., 2003 [1] để xây dựng một cây quyết định đa trị và đa nhãn Nó tuân theo tiêu chuẩn được thông qua bởi các phương pháp phân loại cổ điển như ID3 [14] (Quinlan, 1986), C4.5 [13] (Quinlan, 1993), IC [11] (Agrawal et al., 1992), SLIQ [12] (Mehta et al., 1996) và SPRINT [15] (Shafer et al., 1996)

Trang 35

Ý tưởng của thuật toán MMC

 Thực hiện các giải thuật tìm kiếm tham lam đối với không gian các cây quyết định có thể

 Xây dựng nút theo chiến lược Top-Down, bắt đầu từ nút gốc

 Ở mỗi nút, thuộc tính kiểm tra là thuộc tính có khả năng phân loại tốt nhất

 Tạo mới một cây con của nút hiện tại cho mỗi giá trị có thể của thuộc tính kiểm tra và tập dữ liệu đầu vào sẽ được tách ra thành các tập con tương ứng với các cây con vừa tạo

 Mỗi thuộc tính chỉ được phép xuất hiện tối đa 1 lần đối với bất kỳ đường đi nào trong cây

 Quá trình phát triển cây sẽ tiếp tục cho tới khi thỏa một trong hai điều kiện sau:

Cây quyết định phân loại hoàn toàn các dữ liệu đầu vào

Tất cả các thuộc tính được sử dụng

Thuật toán MMC như sau:

Bảng 2.4 Thuật toán MMC

Dữ liệu vào: D là tập dữ liệu huấn luyện và A là tập thuộc tính

Dữ liệu ra: Cây quyết định đa trị T

Phương pháp:

1 MMC (Cho tập mẫu huấn luyện D)

2 Khởi tạo cây T và đặt tất cả các bản ghi của D vào nút gốc

3 While (Các nút lá trong T là nút NON-STOP)

4 For mỗi thuộc tính Ai của nút NON-STOP do

5 For mỗi khoảng giá trị của thuộc tính Ai do

6 Đánh giá độ tốt đối với cách chia của thuộc tính Ai

7 For mỗi nút lá NON-STOP do

Trang 36

Trong thuật toán trên, bước 6 và bước 10 là các bước quan trọng nhất Bước

4-6 xác định nút trong và các nhánh của nó Bước 10 xác định nút lá Trong phần tiếp theo, chúng tôi sẽ làm rõ thêm các bước này

2.2.4 Xác định nút trong và các nhánh (Giải quyết bước 4 đến bước 6)

Đối với một nút NON-STOP, MMC chọn thuộc tính phân biệt nhất để tách và

phân vùng khoảng cho nó

MMC sử dụng công thức tương tự set-similarity(L) được mô tả trong phần 2.2.2

để lựa chọn thuộc tính tách tốt nhất và phân vùng các khoảng của nó

Ký hiệu DCN là tập dữ liệu lưu trữ trong nút CN và n là số bản ghi trong DCN Giả

sử chúng ta muốn phân vùng theo thuộc tính số Al Sau khi sắp xếp tăng dần các dữ liệu trong DCN bởi thuộc tính Al Sau đó MMC có thể phân vùng nút CN vào tối đa là k khoảng theo thuộc tính Al bằng hàm split-Intervals sau đây (xem Bảng 2.5)

Bảng 2.5 Hàm phân chia khoảng cho thuộc tính số

6 left = index * delta + MinValue

7 right = left + delta - 1

8 if (index = k) then right = Maxvalue;

9 Ngược lại tạo ra khoảng giá trị [left, right]

10 Endfor

Ví dụ 2.4 Giả sử nút CN có 10 bản ghi với giá trị thuộc tính tuổi tương ứng là 15, 15,

15, 15, 17, 18, 18, 25, 28, 28 Bây giờ ta chia tập giá trị này thành 5 khoảng

Khi đó ta có:

b1=15; (giá trị nhỏ nhất trong tập giá trị của ví dụ 2.4)

b2= 28; (giá trị lớn nhất trong tập giá trị của ví dụ 2.4)

Trang 37

delta=(b1-b2)/5=2 (lấy phần nguyên)

Thực hiện vòng lặp tạo ra 3 khoảng giá trị:

- Tạo ra khoảng [15, 16], gồm 4 bản ghi, tương ứng với index = 1

- Tạo ra khoảng [17, 18], gồm 3 bản ghi, tương ứng với index = 2

- Với index = 3, tạo ra khoảng giá trị [19, 20], nhưng không chứa bản ghi nào

- Với index = 4, tạo ra khoảng giá trị [20, 21], nhưng không chứa bản ghi nào

- Tạo ra khoảng [23, 28], gồm 3 bản ghi, tương ứng với index = 5

Cho tập dữ liệu kí hiệu DCN(1), DCN(2),…, DCN(k), và tập n1, n2,…,nk là số bản ghi trong các nhóm này, và để n0=

k

i ni

1 (trong đó n0  n, cho một thuộc tính có thể

có nhiều giá trị và một bản ghi có thể thuộc nhiều khoảng giá trị khác nhau

Đối với mỗi bộ dữ liệu DCN(i), có thể tính độ tương tự của nó bằng hàm similarity(F) và đặt set-similarity i ký hiệu cho giá trị này Để sự phân nhánh được tốt nhất, MMC xác định trọng số tương tự để phân nhánh thuộc tính Al trên nút CN như sau:

n

n similarity set

1

0 (2.3)

Trong công thức trên, nếu Al là thuộc tính phi số, thì k là số các giá trị khác nhau của thuộc tính Al, có nghĩa là một khoảng chỉ chứa một giá trị Cuối cùng, dễ dàng để chọn các thuộc tính tách tốt nhất cho nút CN; và qui trình của nó như sau:

Trang 38

Bảng 2.6 Hàm chọn thuộc tính để phân nhánh

Dữ liệu vào: Tập dữ liệu huấn luyện D, tập thuộc tính A

Dữ liệu ra: Thuộc tính điều kiện tốt nhất

Phương pháp:

1 next-attribute(CN)

2 For mỗi thuộc tính Ai do

3 If nó là thuộc tính phân loại Then tính weighted-similarity của nó

7 Chọn thuộc tính nào có weighted-similarity lớn nhất thì tách trước

Ví dụ 2.5 Giả sử bảng dưới đây đại diện cho dữ liệu được lưu trữ trong nút CN,

trong đó có 10 bản ghi và 2 thuộc tính phân loại là tuổi và sở thích

Id1 Nghệ thuật, mua sắm 15 C1, C2

Id2 Nghệ thuật, thể thao 17 C2, C3

Id4 mua sắm, thể thao 15 C1, C2,C3

Id5 Nghệ thuật, mua sắm, thể thao 15 C2

Id9 mua sắm, thể thao 15 C1, C2,C3

Trước tiên, chúng ta xét thuộc tính sở thích, khi đó nút CN được chia thành ba tập: {id-1, id-2, id-3, id-5, id-8} cho nghệ thuật; { id-1, id-4, id-5, id-6, id-8, id-9, id- 10} cho mua sắm và { id-2, id-4, id-5, id-6, id-7, id-9} cho thể thao Đối với ba tập

Trang 39

này chúng ta tính set-similarity của chúng tương ứng là 0.3 cho nghệ thuật, 0.43 cho

mua sắm, 0.47 cho thể thao

Cách tính này như sau:

),()

,(

j i j

i

L L y cardinalit

L L different L

L same

Tổng quát: set- similarity(L)=

1)/2-m(m

Lj)(Li,similarity

23

(id-3) và (id-5)=0: (id-3) và (id-8)=

2 1

/)15(5

2/13/12/12/13/12/13/

72

/)16(6

3/23/13/12/113/23/13/13/212/1

Ngày đăng: 14/12/2015, 21:34

HÌNH ẢNH LIÊN QUAN

Hình 1.1. Quá trình phân lớp dữ liệu–(a) Bước xây dựng mô hình phân lớp. - Tìm hiểu các thuật toán MMC và MMDT trên bảng quyết định đa trị
Hình 1.1. Quá trình phân lớp dữ liệu–(a) Bước xây dựng mô hình phân lớp (Trang 11)
Hình 1.2. Quá trình phân lớp dữ liệu–(b1)Ước lượng độ chính xác mô hình. - Tìm hiểu các thuật toán MMC và MMDT trên bảng quyết định đa trị
Hình 1.2. Quá trình phân lớp dữ liệu–(b1)Ước lượng độ chính xác mô hình (Trang 12)
Hình 1.3. Quá trình phân lớp dữ liệu–(b2) Phân lớp dữ liệu mới. - Tìm hiểu các thuật toán MMC và MMDT trên bảng quyết định đa trị
Hình 1.3. Quá trình phân lớp dữ liệu–(b2) Phân lớp dữ liệu mới (Trang 12)
Hình 1.4. Ước lượng độ chính xác của mô hình phân lớp - Tìm hiểu các thuật toán MMC và MMDT trên bảng quyết định đa trị
Hình 1.4. Ước lượng độ chính xác của mô hình phân lớp (Trang 15)
Hình 1.5. Ví dụ về cây quyết định. - Tìm hiểu các thuật toán MMC và MMDT trên bảng quyết định đa trị
Hình 1.5. Ví dụ về cây quyết định (Trang 16)
Hình 1.6.  Sơ đồ xây dựng cây quyết định theo phương pháp đồng bộ - Tìm hiểu các thuật toán MMC và MMDT trên bảng quyết định đa trị
Hình 1.6. Sơ đồ xây dựng cây quyết định theo phương pháp đồng bộ (Trang 23)
Hình 1.7. Sơ đồ xây dựng cây quyết định theo phương pháp phân hoạch. - Tìm hiểu các thuật toán MMC và MMDT trên bảng quyết định đa trị
Hình 1.7. Sơ đồ xây dựng cây quyết định theo phương pháp phân hoạch (Trang 25)
Bảng 2.1. Tập dữ liệu huấn luyện đa trị. - Tìm hiểu các thuật toán MMC và MMDT trên bảng quyết định đa trị
Bảng 2.1. Tập dữ liệu huấn luyện đa trị (Trang 27)
Hình 2.1. Cây quyết định đa trị - Tìm hiểu các thuật toán MMC và MMDT trên bảng quyết định đa trị
Hình 2.1. Cây quyết định đa trị (Trang 28)
Hình 3.2. Độ tương tự của MMC - Tìm hiểu các thuật toán MMC và MMDT trên bảng quyết định đa trị
Hình 3.2. Độ tương tự của MMC (Trang 55)
Hình 3.3. Tỉ lệ Độ tương tự của MMDT - Tìm hiểu các thuật toán MMC và MMDT trên bảng quyết định đa trị
Hình 3.3. Tỉ lệ Độ tương tự của MMDT (Trang 56)
Hình 3.4. Cây quyết định hỗ trợ mua máy tính - Tìm hiểu các thuật toán MMC và MMDT trên bảng quyết định đa trị
Hình 3.4. Cây quyết định hỗ trợ mua máy tính (Trang 57)
Bảng 3.2. Dữ liệu khách hàng đi du lịch - Tìm hiểu các thuật toán MMC và MMDT trên bảng quyết định đa trị
Bảng 3.2. Dữ liệu khách hàng đi du lịch (Trang 60)
Hình 3.8. Độ tương tự của MMC - Tìm hiểu các thuật toán MMC và MMDT trên bảng quyết định đa trị
Hình 3.8. Độ tương tự của MMC (Trang 62)
Hình 3.9. Tỉ lệ Độ tương tự của MMDT - Tìm hiểu các thuật toán MMC và MMDT trên bảng quyết định đa trị
Hình 3.9. Tỉ lệ Độ tương tự của MMDT (Trang 63)

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