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

Nghiên cứu ảnh hưởng của kỹ thuật tiền xử lý lên hiệu năng trong các phương pháp phân loại dữ liệu

74 25 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 74
Dung lượng 749,02 KB

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

Nội dung

Các phương pháp lựa chọn ñược hiện thực trong luận văn là: lựa chọn ngẫu nhiên Random, lựa chọn theo tỷ lệ các giá trị của thuộc tính lớp Rate of class attribute values, lựa chọn theo cá

Trang 2

CÔNG TRÌNH ðƯỢC HOÀN THÀNH TẠI TRƯỜNG ðẠI HỌC BÁCH KHOA

ðẠI HỌC QUỐC GIA TP HỒ CHÍ MINH

Cán bộ hướng dẫn khoa học : TS NGUYỄN ðỨC CƯỜNG

Trang 3

Tôi cam ñoan rằng, ngoại trừ các kết quả tham khảo từ các công trình khác như ñã ghi rõ trong luận văn, các công việc trình bày trong luận văn này là do chính chúng tôi thực hiện

và chưa có phần nội dung nào của luận văn này ñược nộp ñể lấy một bằng cấp ở trường

này hoặc trường khác

Ngày 30 tháng 11 năm 2008

Trần ðăng Quang

Trang 4

Tôi xin gửi lời cảm ơn ñến gia ñình, những người luôn sát cánh, ñộng viên, và tạo mọi ñiều kiện tốt nhất ñể tôi có thể học tập và hoàn tất ñược luận văn tốt nghiệp này Xin chân thành cảm ơn thầy TS Nguyễn ðức Cường, ñã nhiệt tình hướng dẫn tôi hoàn thành tốt luận văn này

Xin chân thành biết ơn sự tận tình dạy dỗ và sự giúp ñỡ của tất cả quý thầy cô tại trường ðại học Bách khoa, ñặc biệt là các thầy cô trong khoa Khoa học và Kỹ thuật Máy tính

Trang 5

Hiện nay trữ lượng thông tin gia tăng một cách nhanh chóng và ñược lưu trữ thành những khối dữ liệu lớn Quá trình phân loại dữ liệu (Data Classification) trên các tập dữ liệu lớn sẽ tốn rất nhiều thời gian ñể cho ra kết quả ðể giải quyết vấn ñề này cần phải tổng hợp hay tóm tắt dữ liệu (Data Summarization), biến dữ liệu lớn thành dữ liệu nhỏ hơn Luận văn này khảo sát và ñề xuất các phương pháp lựa chọn dữ liệu kết hợp với các giải thuật gom nhóm (Data Clustering) nhằm tìm ra phương pháp Data Summarization hiệu quả ñể nâng cao hiệu suất cho các tác vụ Data Classification Các phương pháp lựa chọn ñược hiện thực trong luận văn là: lựa chọn ngẫu nhiên (Random), lựa chọn theo tỷ lệ các giá trị của thuộc tính lớp (Rate of class attribute values), lựa chọn theo các thuộc tính

có ñộ lợi cao nhất (Gain of attributes), lựa chọn các phần tử gần khu vực tâm của mỗi nhóm bằng khoảng cách Euclidean (Euclidean Distance) Các phương pháp ñược ño ñạc, khảo sát với 9 tập dữ liệu thự tế: splice, mushroom, kr-vs-kp, anneal, hypothyroid 1, hypothyroid 2, kropt, census-income, covtype

Trang 6

Nowaday information expands very fast and become really huge datasets Data Classification process on those ones will take a long runtime It’s actual issue There is one method to resolve that problem, that is Data Summarization It reduces big data to the smaller one and then the reduced data will be classified This thesis proposes and surveys four selection method associate with Data Clustering algorithms to find out the positive Data Summarization to improve the efficiency of Data Classification operations They are Random select, Rate of class attribute values, Gain of attributes, Euclidean Distance methods The survey is practical with nine real datasets: splice, mushroom, kr-vs-kp, anneal, hypothyroid 1, hypothyroid 2, kropt, census-income, covtype

Trang 7

DANH MỤC HÌNH v

DANH MỤC BẢNG vii

CHƯƠNG 1 GIỚI THIỆU 1

1.1 Sơ lược về ñề tài 1

1.2 Phạm vi ñề tài và các công việc cần làm 2

1.3 Nội dung thực hiện 4

CHƯƠNG 2 CÁC NGHIÊN CỨU LIÊN QUAN 5

2.1 ðiều khiển hiệu quả các thành phần dư thừa trong dữ liệu nhiều chiều 5

2.2 Lấy mẫu có ñịnh hướng bằng cách phân mảnh dữ liệu 6

2.2.1 Dựa vào thông tin về lớp ñể phân mảnh dữ liệu rồi tiến hành lấy mẫu (Stratified Sampling) 6

2.2.2 Dựa vào giá trị entropy ñể phân mảnh rồi tiến hành lấy mẫu 6

2.2.3 Dựa vào sự khác biệt về thuộc tính ñể phân mảnh 7

2.3 Kỹ thuật xử lý dữ liệu nhiều chiều 8

2.3.1 Kiểm tra ñường biên vật lý 8

2.3.2 Lọc các giá trị trung bình 10

2.3.3 Khử các giá trị nhiễu 10

2.3.4 Xóa bỏ các thành phần bên ngoài ñường biên dựa vào giá trị α-Stable Distribution 11

CHƯƠNG 3 CƠ SỞ LÝ THUYẾT 13

3.1 Những phương pháp, giải thuật cơ bản 13

Trang 8

3.1.1 Phương pháp thống kê 13

3.1.2 Mất hay thiếu dữ liệu 15

3.1.3 Thuộc tính mang giá trị số (giá trị liên tục) 15

3.1.4 Phương pháp chia ñể trị 17

3.1.4.1 Xây dựng cây quyết ñịnh dựa vào ñộ lợi thông tin 17

3.1.4.2 Xây dựng cây quyết ñịnh dựa vào tỷ lệ ñộ lợi thông tin 19

3.1.5 Phương pháp dùng giải thuật bao phủ 20

3.1.6 Mô hình tuyến tính 21

3.1.7 Phương pháp ño khoảng cách 22

3.2 Các cách ñánh giá, ño lường ñáng tin cậy 23

3.2.1 Kiểm tra chéo 23

3.2.2 Leave-one-out 23

3.2.3 Bootstrap 24

3.3 Gom nhóm dữ liệu 25

3.3.1 Gom nhóm theo cấp bậc 26

3.3.2 Gom nhóm theo phạm vi bao phủ 28

3.3.3 Gom nhóm bằng cách phân mảnh 30

3.3.4 Sơ lược các giải thuật gom nhóm khác 32

CHƯƠNG 4 ðỀ XUẤT CÁC PHƯƠNG PHÁP THU GỌN DỮ LIỆU 34

4.1 Chọn ngẫu nhiên theo tỷ lệ trên thuộc tính lớp 34

4.2 Chọn theo ñộ lợi thông tin với thông số tỷ lệ phần trăm của các giá trị thuộc tính 34 4.3 Chọn theo tỷ lệ ñộ lợi thông tin với thông số tỷ lệ phần trăm của các giá trị thuộc tính 36

Trang 9

4.4 Chọn theo sự phân mảnh trên từng thuộc tắnh Ờ Ưu tiên thuộc tắnh ắt bị phân mảnh36 4.5 Chọn theo sự phân mảnh trên từng cặp thuộc tắnh Ờ Ưu tiên thuộc tắnh ắt bị phân

mảnh 37

4.6 Phân mảnh dữ liệu theo từng bộ giá trị các thuộc tắnh rồi tiến hành thu gọn 38

4.7 Chia dữ liệu thành nhiều mảnh nhỏ theo nhiều cấp Ờ Ưu tiên chọn giá trị gần với giá trị tâm của mỗi mảnh 39

4.8 Chọn theo tỷ lệ ựộ lợi thông tin và giá trị trung bình của các thuộc tắnh 40

4.9 Tiêu chắ ựánh giá các phương pháp khảo sát 40

CHƯƠNG 5 HIỆN THỰC 41

5.1 Giải thắch một số ựối tượng chắnh ựược sử dụng trong thư viện Weka 41

5.1.1 Gói weka.classifiers 41

5.1.2 Gói weka.clusters 42

5.2 Hiện thực 42

5.2.1 Cách gom nhóm 42

5.2.2 Cách lựa chọn các phần tử ựể thu gọn tập dữ liệu 43

5.2.2.1 Chọn ngẫu nhiên 43

5.2.2.2 Chọn dựa vào tỷ lệ xuất hiện của các giá trị của thuộc tắnh lớp 43

5.2.2.3 Chọn dựa vào thuộc tắnh có ựộ lợi cao nhất 43

5.2.2.4 Chọn dựa vào khoảng cách Eclidean 43

5.2.3 Giao diện của chương trình 44

5.3 đánh giá kết quả bằng thực nghiệm 46

5.3.1 Các tập dữ liệu ựược khảo sát 47

5.3.2 Biểu ựồ ựộ chắnh xác trung bình giữa các phương pháp lựa chọn 47

Trang 10

5.3.3 Biểu ñồ thời gian thực thi trung bình quá trình phân loại dữ liệu giữa cách làm

trực tiếp và cách làm trên dữ liệu ñã ñược thu gọn 51

CHƯƠNG 6 KẾT LUẬN 58

6.1 Kết quả của ñề tài 58

6.1.1 Về mặt ñộ chính xác 58

6.1.2 Về mặt thời gian thực thi 58

6.2 Kết luận và hướng phát triển 59

TÀI LIỆU THAM KHẢO 60

Trang 11

DANH MỤC HÌNH

Hình 2.1 Sự khác biệt giữa việc lấy mẫu ngẫu nhiên và lấy mẫu theo cây kd-tree 8

Hình 2.2 Dữ liệu gốc và dữ liệu sau khi xử lý ñường biên vật lý [11] 9

Hình 2.3 Tín hiệu trước và sau khi xử lý bằng phương pháp khử các giá trị nhiễu 11

Hình 2.4 Dữ liệu dạng heavy tails [11] 12

Hình 3.1 Cây quyết ñịnh ñơn giản với gốc là các thuộc tính 18

Hình 3.2 Cây quyết ñịnh ñầy ñủ cho dữ liệu thời tiết 19

Hình 3.3 Không gian bao phủ của tập luật [3] 21

Hình 3.4 Dữ liệu ñược phân mảnh theo tập luật [3] 21

Hình 3.5 Các phương pháp ño khoảng cách [7] 26

Hình 3.6 Gom nhóm theo cấp bậc (Hierarchical Clustering) [7] 27

Hình 3.7 Ba loại liên kết giữa các Cluster [7] 27

Hình 3.8 Gom nhóm theo mật ñộ bao phủ (Density-based Clustering) [7] 28

Hình 3.9 Minh họa kết quả phân nhóm dữ liệu bằng giải thuật OPTICS [7] 30

Hình 3.10 Minh họa các bước của giải thuật K-Means [7] 31

Hình 4.1 Chọn ngẫu nhiên theo tỷ lệ 1/5 trên thuộc tính lớp 34

Hình 4.2 Cây quyết ñịnh theo ñộ lợi thông tin với thông số tỷ lệ 35

Hình 4.3 Minh họa sự phân mảnh dữ liệu trên từng thuộc tính 36

Hình 4.4 Minh họa sự phân mảnh dữ liệu trên từng cặp thuộc tính 38

Hình 4.5 Chia dữ liệu thành nhiều mảnh nhỏ 39

Hình 5.1 Giao diện chính của chương trình khảo sát 45

Trang 12

Hình 5.2 Giao diện của chức năng minh họa tập dữ liệu bằng hình ảnh 46 Hình 5.3 Biểu ñồ ñộ chính xác trung bình giữa các phương pháp lựa chọn 48 Hình 5.4 Biểu ñồ ñộ chính xác trung bình giữa các phương pháp lựa chọn ứng với từng phương pháp phân loại 49 Hình 5.5 Biểu ñồ ñộ chính xác trung bình giữa các phương pháp lựa chọn ứng với từng phương pháp gom nhóm 50 Hình 5.6 Biểu ñồ ñộ chính xác trung bình giữa các phương pháp lựa chọn ứng với 3 phương pháp gom nhóm XMeans, XMeans 1-phase, XMeans 2-phase 51 Hình 5.7 Biểu ñồ thời gian thực thi trung bình giữa các phương pháp lựa chọn 52 Hình 5.8 Biểu ñồ thời gian thực thi trung bình giữa các phương pháp lựa chọn ñược tiến hành với phương pháp gom nhóm SimpleKMeans 1-phase 54 Hình 5.9 Biểu ñồ thời gian thực thi trung bình giữa các phương pháp lựa chọn với quá trình phân loại dữ liệu ñược tiến hành bằng các giải thuật ñơn giản 55 Hình 5.10 Biểu ñồ thời gian thực thi trung bình giữa các phương pháp lựa chọn với quá trình phân loại dữ liệu ñược tiến hành bằng các giải thuật phức tạp 55 Hình 5.11 Biểu ñồ thời gian thực thi trung bình giữa các phương pháp lựa chọn với phương pháp gom nhóm SimpleKMeans 1-phase và các giải thuật phân loại: RBFNetwork, Logistic, NBTree 56 Hình 5.12 Biểu ñồ thời gian thực thi trung bình giữa các phương pháp lựa chọn với phương pháp gom nhóm SimpleKMeans 1-phase và giải thuật phân loại: MultilayerPerceptron 57

Trang 13

DANH MỤC BẢNG

Bảng 3.1 Dữ liệu về thời tiết với các thuộc tính mang giá trị rời rạc [3] 13

Bảng 3.2 Thống kê tỷ lệ xuất hiện của các phần tử theo thuộc tính [3] 14

Bảng 3.3 Dữ liệu về thời tiết có chứa thuộc tính số [3] 16

Bảng 3.4 Thống kê tỷ lệ xuất hiện của các phần tử theo thuộc tính [3] 16

Bảng 3.5 Cách tính tỷ lệ ñộ lợi [3] 20

Bảng 5.1 Các tập dữ liệu ñược dùng ñể khảo sát 47

Bảng 5.2 Việc thiết ñặt các thông số k, N, D theo số lượng phần tử n của tập nguồn 53

Trang 14

CHƯƠNG 1

GIỚI THIỆU

1.1 Sơ lược về ựề tài

Trữ lượng thông tin gia tăng một cách chóng mặt trong thời ựại ngày nay Thông tin

ựược lưu trữ thành những khối dữ liệu khổng lồ làm cho các giải thuật phân loại dữ liệu

(Data Classification) gặp một số khó khăn Thời gian thực thi ựể cho ra kết quả thường khá lâu, có thể là vài ngày, vài tháng hoặc vài năm Từ ựó dẫn ựến một hướng tiếp cận mới: ựó là tìm cách giản lược bớt dữ liệu ựể thành lập dữ liệu có kắch thước nhỏ hơn nhưng vẫn thể hiện rõ bản chất của dữ liệu gốc, sau ựó mới tiến hành khảo sát, ựo ựạc dữ liệu Như thế hiệu suất của việc phân loại dữ liệu sẽ ựược cải thiện và cách làm này gọi chung là sự tổng kết, tổng hợp hay tóm tắt dữ liệu (Data Summarization)

Có nhiều cách Data Summarization đơn giản nhất là lấy mẫu (Sampling) Phương pháp này không xét ựến bản chất của dữ liệu nên thường có ựộ chắnh xác không cao và chỉ phù hợp trong một số ắt trường hợp Phương pháp thứ hai là gom các phần tử có ựặc

ựiểm khá giống nhau vào từng nhóm nhỏ (Data Clustering) Phương pháp này có khảo sát ựến bản chất của dữ liệu cũng như mật ựộ phân bố của các phần tử trong dữ liệu nên cho

kết quả tốt hơn và phù hợp với nhiều loại thông tin đó là hai phương pháp thông dụng, ngoài ra còn có một số phương pháp ựặc thù khác chỉ ựược áp dụng với từng kiểu dữ liệu

cụ thể

Phạm vi của ựề tài này là nghiên cứu và ựề xuất các phương thức lựa chọn dữ liệu nhằm tìm ra phương pháp Data Summarization hiệu quả ựể cải thiện hiệu suất cho tác vụ Data Classification để hiện thực ựiều này chúng ta cần phải tiến hành phân tắch, khảo sát

và kiểm nghiệm trên nhiều phương pháp và giải thuật Một số giải thuật ựược áp dụng rộng rãi hiện nay như: Hierarchical Clustering, Density-based Clustering, Partitional Clustering và một số phương pháp khác như: Probabilistic Clustering, Grid Clustering, Artificial Intelligence, v.v

Trang 15

Tại sao chúng ta quan tâm ñến vấn ñề này ? Thử tưởng tượng với những ứng dụng có

ý nghĩa về mặt thời gian, chẳng hạn như chương trình dự báo thời tiết, chương trình về quân sự hay chương trình tổng hợp các giao dịch trong ngày của một mạng lưới bán hàng lớn Chúng cần phải phân tích một khối lượng dữ liệu ñồ sộ trong một khoảng thời gian rất ngắn Với các chương trình này hiệu suất ñược ưu tiên hàng ñầu Muốn vậy bắt buộc phải giản lược bớt thông tin Khi ñó ñộ chính xác sẽ giảm xuống Vì vậy cần phải có những phương pháp, hướng tiếp cận mới nhằm tối ưu quá trình Data Summarization sao cho ñộ chính xác của kết quả phân tích là chấp nhận ñược

1.2 Phạm vi ñề tài và các công việc cần làm

Hình 1.1 minh họa hai hướng triển khai Data Classification Một là làm trực tiếp từ

dữ liệu nguyên thủy Hai là tìm cách ñơn giản dữ liệu ñầu vào bằng quá trình Data Summarization, sau ñó mới tiến hành Classification ðề tài sẽ ñi theo hướng thứ hai

Trang 16

Về cơ bản quá trình Data Summarization gồm có hai bước chính Một là phân tích dữ liệu (Pre-Analyzing) Hai là ñơn giản hay thu gọn dữ liệu (Data Simplying) Ở bước một

có nhiều phương pháp phân tích, ñiển hình như: Sampling, K-Means, EM,… chúng ta sẽ tiến hành khảo sát chúng Ở bước hai ngoài việc khảo sát các phương pháp hiện nay ñề tài

sẽ ñề xuất một số phương thức mới và tiến hành ño ñạc tính hiệu quả của các phương thức

ñã ñề xuất Các công việc quan trọng phải làm:

• Tìm hiểu các giải thuật, phương pháp về Sampling, Clustering

• Tự ñề suất các phương pháp về Data Simplying

Trang 17

• Tiến hành ño ñạc, kiểm thử các phương pháp này thông qua các tập dữ liệu thực

tế và thư viện Weka

• Tổng kết, nhận xét ưu khuyết ñiểm của từng phương pháp và nêu ra hướng khắc phục

1.3 Nội dung thực hiện

Hầu hết các giải thuật về Sampling và Clustering phổ biến hiện nay ñã ñược hiện thực với gói thư viện Weka tại ñịa chỉ [12] Chúng ta có thể tham khảo và sử dụng lại gói thư viện này trong quá trình kiểm thử ñể ño ñạt thời gian và ñộ chính xác của các phương thức ñã ñề xuất nhằm tìm ra giải phát tối ưu

Trang 18

CHƯƠNG 2

CÁC NGHIÊN CỨU LIÊN QUAN

2.1 ðiều khiển hiệu quả các thành phần dư thừa trong dữ liệu nhiều chiều

Nghiên cứu này ñược ñề xuất bởi Lei Yu và Huan Liu [8] Tác giả ñưa ra những lý thuyết ñể phân tích sự tương quan, tính toán giá trị trọng số của các thuộc tính nhằm xác

ñịnh mức ñộ quan trọng của các thuộc tính Tìm ra thuộc tính không cần thiết hay thuộc

tính dư thừa và tiến hành loại trừ các thuộc tính này ñể giản lược bớt thông tin nhằm làm tăng tốc ñộ xử lý và ñộ chính xác cho việc phân tích dữ liệu

Về cơ bản, một ñặc ñiểm hay thuộc tính của tập dữ liệu ñược xem là tốt nếu nó liên quan ñến thuộc tính lớp của dữ liệu ñó và nó cũng phải có ý nghĩa với những thuộc tính tốt khác Khi ñó các thuộc tính tốt này sẽ giữ vai trò quan trọng ñối với các tác vụ phân loại dữ liệu (Classification Tasks)

Trước ñây việc tính toán giá trị tương quan này ñòi hỏi các thuộc tính phải mang giá trị số Tuy nhiên với phương pháp của Lei Yu và Huan Liu thì không bắt buộc ñiều này vì việc tính toán ñược thực hiện trên các lý thuyết về thông tin bởi giá trị entropy Giá trị entropy của một biến X ñược ñịnh nghĩa như sau:

Trang 19

Khi ñó thuộc tính Y sẽ tương quan với thuộc tính X nhiều hơn là tương quan với thuộc Z nếu IG(X|Y) > IG(Z|Y)

Có thể dùng ñộ lợi thông tin ñể ño lường sự tương quan của hai thuộc tính Tuy nhiên tác giả cho rằng ñộ lợi này nghiên về phía về những thuộc tính có nhiều giá trị hơn do ñó

ñã chọn giải pháp cân ñối giá trị entropy của hai thuộc tính ñể tính ñộ tương quan Công

thức tính như sau:

IG (X|Y)

SU (X,Y) = 2

H(X) + H(Y)

2.2 Lấy mẫu có ñịnh hướng bằng cách phân mảnh dữ liệu

Huan Liu, Hongjun Lu, Hiroshi Motoda và Lei Yu [9] [10] ñã ñề xuất các phương pháp sau:

2.2.1 Dựa vào thông tin về lớp ñể phân mảnh dữ liệu rồi tiến hành lấy mẫu (Stratified Sampling)

Dữ liệu ñược phân chia thành những mảnh nhỏ dựa theo giá trị của thuộc tính lớp rồi mới tiến hành lấy mẫu Nếu thuộc tính lớp của dữ liệu có j giá trị c1, c2, …,cj; thì dữ liệu

sẽ ñược tách thành j mảnh Mỗi mảnh sẽ ñồng nhất nhau về thuộc tính lớp ðộ phức tạp của giải thuật là O(jN) (N là số phần tử của dữ liệu) [10]

Phương pháp này là một cải tiến của việc lấy mẫu một cách tự do, ngẫu nhiên từ tập

dữ liệu gốc Tuy nhiên về cơ bản nó vẫn là phương pháp ñơn giản và không có gì ñặc sắc

2.2.2 Dựa vào giá trị entropy ñể phân mảnh rồi tiến hành lấy mẫu

Về lý thuyết giá trị entronpy trong các tác vụ phân loại dữ liệu ñược tính theo các mảnh dữ liệu của thộc tính lớp [10]

Trang 20

Xét một thuộc tính bất kì Ai với q giá trị, phân tách dữ liệu theo Ai ta có q mảnh Khi

ñó giá trị entropy của thuộc tính Ai như sau:

So với phương pháp 1 (ñã ñược nói ở mục trước), phương phát phân mảnh này ñạt

ñược ñộ ñồng nhất cao hơn vì nó áp dụng lý thuyết entropy Tuy nhiên ñộ phức tạp của nó

cũng khá cao O(k N logN) với k là số thuộc tính của dữ liệu [10]

2.2.3 Dựa vào sự khác biệt về thuộc tính ñể phân mảnh

Hai phương pháp ở mục trước là tìm cách ñưa các phần tử giống nhau vào cùng một mảnh dữ liệu thì ở phương pháp này tác giả ñề suất cách làm khác: phân tách các phần tử theo sự khác biệt của chúng

ðầu tiên tiến hành xây dựng cây kd-tree từ dữ liệu gốc (kd-tree tương tự như cây nhị

phân nhưng sử dụng k thuộc tính của dữ liệu làm các cấp bậc) Thuộc tính ñược chọn trước tiên nếu sự khác biệt dữ liệu trên chiều của nó là lớn nhất Giá trị trung bình của thuộc tính này sẽ ñược sử dụng ñể phân chia dữ liệu thành 2 phần có kích thước bằng nhau Hai phần ñó ñược ñưa vào nhánh bên trái và nhánh bên phải của cây Cứ như thế tiếp tục cho tới các cấp tiếp theo của cây Cây kd-tree có thể xem là cây cân bằng

Sau khi cây xây dựng xong sẽ tiến hành việc lấy mẫu trên tập các nốt lá của cây

Trang 21

Hình 2.1 Sự khác biệt giữa việc lấy mẫu ngẫu nhiên và lấy mẫu theo cây kd-tree Phương pháp này cũng là một ñề xuất mới trong việc phân mảnh dữ liệu tuy nhiên với những dữ liệu mà không có sự khác biệt thông tin rõ rệt trong từng thuộc tính thì việc chọn lựa thộc tính làm nút gốc ở các cấp của cây gặp vấn ñề Mặt khác ñộ phức tạp của giải thuật xây dựng cây kd-tree cũng khá cao O(k N logN) [9]

2.3 Kỹ thuật xử lý dữ liệu nhiều chiều

Tiêu biểu là các nghiên cứu của Anthony Quinn và Ludvik Tesar [11] với các phương pháp ñề xuất sau:

2.3.1 Kiểm tra ñường biên vật lý

Dữ liệu nhiều chiều là dữ liệu có rất nhiều thuộc tính ví dụ thông tin của người khám bệnh tổng quát sẽ có các thuộc tính sau: nồng ñộ hồng cầu, bạch cầu, trữ lượng mỡ, nhịp tim, số lần thở trong một phút, phổi, thận, gan, mật, nước tiểu v.v Mỗi thuộc tính sẽ có các giá trị biên bao gồm cận biên dưới và cận biên trên ký hiệu là ξ và ψ Hai giá trị này

sẽ do chúng ta quy ñịnh Như thế những dữ liệu nào có thuộc tính nằm trong khoảng cận

Trang 22

biên dưới và cận biên trên của nó ñược xem là nằm trong khoảng ñường biên quy ñịnh: ξ

≤ yt ≤ ψ

Khi ñó ta có hai cách chọn Cách thứ nhất là chọn những phần tử nằm trong ñường biên Cách thứ hai là chọn những phần tử nằm dưới hoặc nằm trên ñường biên Những phần tử không ñược chọn có thể xem như là dữ liệu bị sai lệch, gây nhiễu, chúng sẽ bị loại bỏ và ñược sử dụng trong phần nội suy

Hình 2.2 Dữ liệu gốc và dữ liệu sau khi xử lý ñường biên vật lý [11]

Trang 23

2.3.2 Lọc các giá trị trung bình

Có hai cách tính giá trị trung bình là mean và median [11] ðể dễ hiểu ta lấy ví dụ sau: giả sử cần tính nhiệt ñộ trung bình của 10 ñối tượng trong một căn phòng, hầu hết chúng ñều có nhiệt ñộ từ 20 ñến 25◦C, tuy nhiên có một phần tử ñặc biệt có nhiệt ñộ 350

◦C Khi ñó giá trị trung bình mean là 55 (giá trị trung bình của tất cả các phần tử) nhưng

giá trị median chỉ là 23 (giá trị trung bình của nửa cao hơn và nửa thấp hơn) Trong trường hợp này giá trị median phản ánh nhiệt ñộ trung bình của các phần tử tốt hơn giá trị mean

Công thứ tính hai giá trị này

t

t - w + 1 t

Tác giả ñề suất giải thuật lọc dựa trên giá trị trung bình theo tiêu chí sau:

t t t

s L ≤ y - mVới st là ñộ lệch chuẩn khi ño lường các giá trị yt-ω+1, …,yt L ñược giả sử là một giá trị ngưỡng Nếu bất ñẳng thức thỏa mãn thì giá trị yt ñược xem như giá trị nằm ngoài vùng cho phép và ñược thay thế bằng giá trị mt

Hoàn toàn tương tự cho giá trị median dt

Trang 24

thay thế hai giá trị tần số của hai phần tử liền kề bằng tần số trung bình của chúng, cứ như thế lặp lại nhiều lần Về cơ bản ñây là giải thuật ñơn giản dữ liệu bằng cách lấy giá trị trung bình của 2 phần tử kề nhau

Hình 2.3 Tín hiệu trước và sau khi xử lý bằng phương pháp khử các giá trị nhiễu

2.3.4 Xóa bỏ các thành phần bên ngoài ñường biên dựa vào giá trị α-Stable Distribution

Giải thuật này chủ yếu dựa trên quan ñiểm cho rằng với những dữ liệu có phần cuối kéo dài khá giống nhau một cách nặng nề, gọi theo thuật ngữ là “heavy tails”, “long tails” hay “power-law tails” thì có thể ñược thay thế bằng một phần tử khác ñược lấy ngẫu nhiên từ những vùng khác trong tập dữ liệu

Trang 25

Hình 2.4 Dữ liệu dạng heavy tails [11]

Giải thuật này gặp phải vấn ñề khi thực hiện việc tính toán ñộ dày hay ñộ ñậm ñặc của các phần tử trong dữ liệu Việc tính toán này rất phức tạp và không hiệu quả

Trang 26

CHƯƠNG 3

CƠ SỞ LÝ THUYẾT

3.1 Những phương pháp, giải thuật cơ bản

3.1.1 Phương pháp thống kê

Giả sử chúng ta có dữ liệu về thời tiết với các thuộc tính mang giá trị rời rạc

Bảng 3.1 Dữ liệu về thời tiết với các thuộc tính mang giá trị rời rạc [3]

Dữ liệu trên có 4 thuộc tính: outlook, temperature, humidity, windy Ta cần quan tâm

có nên tổ chức (play = yes) hay không tổ chức (play = no) một trận ñấu ứng với từng bộ giá trị của các thộc tính này Thuộc tính play là thuộc tính lớp với 2 giá trị: yes, no tương

ứng với 2 lớp

Trang 27

Bằng cách thống kê ta có các giá trị trong Bảng 3.2

Bảng 3.2 Thống kê tỷ lệ xuất hiện của các phần tử theo thuộc tính [3]

Từ bảng thống kê ta thấy nếu thuộc tính outlook = sunny thì có 2 phần tử thuộc lớp play = yes và 3 phần tử thuộc lớp play = no

Khi ñó với một bộ giá trị của (outlook, temperature, humidity, windy) cho trước ta có thể tính xác suất của thuộc tính lớp Giả sử (outlook, temperature, humidity, windy) = (sunny, cool, high, true), xác suất của thuộc tính lớp ñược tính như sau:

Xác suất ñể play = yes (likelihood of yes) = 2/9 x 3/9 x 3/9 x 3/9 x 9/14 = 0.0053 likelihood of no = 3/5 x 1/5 x 4/5 x 3/5 x 5/14 = 0.0206

Tỷ lệ ñể play = yes (probability of yes) = 0.0053 / (0.0053 + 0.0206) = 20.5%

Trang 28

Ký hiệu E1, E2, E3, E4 tương ứng với 4 thuộc tính Khi ñó xác suất play = yes ñược tính theo công thức

Pr[E1|yes] x Pr[E2yes] x Pr[E3yes] x Pr[E4|yes] x Pr[yes]

3.1.2 Mất hay thiếu dữ liệu

Theo công thức Bayes thì việc mất dữ liệu không thành vấn ñề Giả sử giá trị của thuộc tính outlook bị mất, thì công thức chỉ ñơn giản bỏ ñi tỷ lệ của thuộc tính này

likelihood of yes = 3/9 x 3/9 x 3/9 x 9/14 = 0.0238

likelihood of no = 1/5 x 4/5 x 3/5 x 5/14 = 0.0343

3.1.3 Thuộc tính mang giá trị số (giá trị liên tục)

Giả sử dữ liệu thời tiết có thộc tính temperature và humidity mang giá trị số

Trang 29

sunny 69 70 false yes

Bảng 3.3 Dữ liệu về thời tiết có chứa thuộc tính số [3]

ðể xử lý các giá trị số ta cũng giả ñịnh như nó là giá trị rời rạc và tiến hành thống kê

theo Bảng 3.4:

Bảng 3.4 Thống kê tỷ lệ xuất hiện của các phần tử theo thuộc tính [3]

Trang 30

Giá trị trung bình mean µ và giá trị ñộ lệch chuẩn std dev σ ñược tính cho mỗi lớp và

mỗi thuộc tính số Dựa vào 2 giá trị này tính ñược xác suất theo mật ñộ (probability density) với công thức như sau:

2 2 ( x - µ )

Nhận xét: Tỷ lệ xuất hiện của phần tử yes, no 20,9% - 79,1% trong trường hợp thuộc

tính temperature và humidity mang giá trị liên tục cũng khá gần với tỷ lệ ñã tính toán trong trường hợp chúng mang giá trị rời rạc vì bộ giá trị (temperature, humidity) = (66,90) khá gần với giá trị (cool, high) nếu chuyển qua tập rời rạc

3.1.4 Phương pháp chia ñể trị

3.1.4.1 Xây dựng cây quyết ñịnh dựa vào ñộ lợi thông tin

Xây dựng cây quyết ñịnh bằng cách ñệ quy như sau: ñầu tiên chọn một thuộc tính làm nút gốc, sau ñó tạo các nhánh bằng các giá trị của thuộc tính này Cứ như vậy lặp lại cho

Trang 31

các cấp tiếp theo của cây Việc lặp ở một nhánh sẽ dừng lại khi tất cả các phần tử của nó

ñều thuộc cùng một lớp

Hình 3.1 Cây quyết ñịnh ñơn giản với gốc là các thuộc tính Vấn ñề quan trọng khi tạo cây quyết ñịnh là việc chọn thuộc tính làm gốc ở mỗi cấp của cây Thuộc tính có giá trị ñộ lợi lớn nhất dựa theo tập các phần tử trong nhánh sẽ

ñược chọn làm gốc cho nhánh ñó Theo bảng 1.1 ta có các giá trị ñộ lợi

gain (outlook) = 0.247 bits

gain (temperature) = 0.029 bits

no

high normal humidity

(c)

yes yes yes yes yes yes

no

no

yes yes yes

no

no

no

false true windy

yes yes yes

no

no

no

yes yes yes yes

yes yes yes

Trang 32

gain (humidity) = 0.152 bits

gain (windy) = 0.048 bits

Như vậy chọn outlook làm nút gốc và cách chọn này ñược làm tương tự với các nhánh con của cây Giả sử với nhánh con outlook = sunny ta cũng tính tiếp giá trị ñộ lợi của 3 thuộc tính còn lại

gain (temperature) = 0.571 bits

gain (humidity) = 0.971 bits

gain (windy) = 0.020 bits

Trong nhánh con outlook = sunny, ñộ lợi của thuộc tính humidity có giá trị lớn nhất nên chọn humidity làm gốc cho nhánh này

Hình 3.2 Cây quyết ñịnh ñầy ñủ cho dữ liệu thời tiết

3.1.4.2 Xây dựng cây quyết ñịnh dựa vào tỷ lệ ñộ lợi thông tin

Việc xây dựng cây quyết ñịnh dựa vào ñộ lợi thông tin gặp vấn ñề khi dữ liệu có chứa một thuộc tính có rất nhiều giá trị và các phần tử trong tập dữ liệu mang giá trị hoàn toàn phân biệt trên thuộc tính này (dữ liệu bị phân thành rất nhiều mảnh nhỏ trên thuộc tính này) Thuộc tính ñó sẽ ñược chọn làm nút gốc và việc tạo cây như vậy không mang ý nghĩa gì cả vì nó không nói lên ñược ñiều gì về cấu trúc cây quyết ñịnh

yes sunny overcast rainy

outlook

high normal humidity

false true windy

Trang 33

Một cách tổng quát, phương pháp ñộ lợi thông tin có xu hướng chọn thuộc tính với tập giá trị gồm nhiều phần tử

Phương pháp phổ biến ñể khắc phục là dùng tỷ lệ ñộ lợi (gain ratio) bằng cách thêm vào yếu tố phân mảnh của từng thuộc tính Lấy ñộ lợi của từng thuộc tính chia cho ñộ phân mảnh thông tin của thuộc tính thì ra ñược tỷ lệ ñộ lợi theo thuộc tính Thuộc tính nào

có tỷ lệ ñộ lợi lớn nhất sẽ ñược chọn làm gốc

gain: 0.940 – 0.693 0.247 gain: 0.940 – 0.911 0.029 splip info: info([5,4,5]) 1.577 splip info: info([4,6,4]) 1.362 gain ratio: 0.247/1.577 0.156 gain ratio: 0.029/1.362 0.021

gain: 0.940 – 0.788 0.152 gain: 0.940 – 0.892 0.048 splip info: info([7,7]) 1.000 splip info: info([8,6]) 0.985 gain ratio: 0.152/1.000 0.152 gain ratio: 0.048/0.985 0.049

Bảng 3.5 Cách tính tỷ lệ ñộ lợi [3]

3.1.5 Phương pháp dùng giải thuật bao phủ

Giải thuật bao phủ sử dụng tập luật (set of rules) ñể phân chia dữ liệu thành các mảnh khác nhau Giải thuật sẽ cố gắng tạo ra các luật với ñộ chính xác cao rồi tiến hành phân mảnh dữ liệu ðầu tiên là tiến hành xây dựng các luật ñơn giản với chỉ một thuộc tính, sau

ñó lần lượt thêm các thuộc tính khác vào tập luật ñơn giản ñể tạo các luật phức tạp có ñộ

chính xác cao hơn [3]

Trang 34

Hình 3.3 Không gian bao phủ của tập luật [3]

Giả sử dữ liệu trong không gian 2 chiều gồm có các phần tử thuộc lớp a và lớp b với các luật sau:

If x ≤1.2 then class = b

If x > 1.2 and y > 2.6 then class = a

If x > 1.2 and y ≤ 2.6 then class = b

Khi ñó dữ liệu sẽ ñược phân thành các vùng khác nhau theo các luật trên

Hình 3.4 Dữ liệu ñược phân mảnh theo tập luật [3]

3.1.6 Mô hình tuyến tính

Khi thuộc tính lớp mang giá trị số và tất cả các thuộc tính khác cũng mang giá trị số thì việc dùng mô hình tuyến tính ñể tính toán giá trị của thuộc tính lớp là phương pháp

ñược sử dụng khá phổ biến Thuộc tính lớp sẽ ñược tính dựa theo các thuộc tính khác với

trọng số tương ứng như một hàm tuyến tính [3]:

x = w0 + w1a1 + w2a2 + … + wkak

Trang 35

Với x là giá trị của thuộc tính lớp, a1, a2, …, ak là giá trị của các thuộc tính khác và

w0, w1, …, wk là các trọng số ñược xác ñịnh trước

Các trọng số ñược tính từ tập dữ liệu nguồn (Training data) Với tập dữ liệu nguồn có

n phần tử, xét phần tử ñầu tiên với giá trị của thuộc tính lớp x(1) và giá trị của các thuộc tính khác a1(1), a2(1), …, ak(1) Giả sử rằng giá trị của thuộc tính mở rộng a0 luôn bằng 1 Khi ñó giá trị ước lượng cho thuộc tính lớp của phần tử ñầu tiên như sau:

w0a0(1)+ w1a1(1) + w2a2(1) + … + wkak(1) =

k

(1)

j j j=0

w a

ðây chỉ là giá trị ước lượng, không phải giá trị thực nên có sự sai lệch Mô hình tuyến

tính là dạng phương pháp truy hồi với mục tiêu chọn lựa các giá trị trọng số thích hợp nhất bằng cách tối thiểu hóa tổng của bình phương ñộ sai lệch giữa giá trị thực và giá trị

3.1.7 Phương pháp ño khoảng cách

Phương pháp này dùng ñể phân biệt các phần tử trong tập dữ liệu bằng cách ño khoảng cách hay sự khác biệt giữa chúng Phương pháp ño khoảng cách tỏ ra khá hữu ích trong việc gom nhóm dữ liệu Nếu 2 phần tử có khoảng cách khá nhỏ thì có thể xem là nằm trong cùng một nhóm, ngược lại thì chúng nằm ở 2 nhóm hay 2 tập phân biệt

Vấn ñề nằm ở chổ làm thế nào ñể ño khoảng cách giữa các phần tử trong tập dữ liệu

Vì dữ liệu gồm nhiều thuộc tính nên cách thông dụng nhất là dùng công thức ño khoảng cách Ơ-clit, lấy căng bật hai của tổng các bình phương ñộ chênh lệch giá trị các thuộc tính

(a - a ) + (a - a ) + + (a - a )

Trang 36

Theo công thức Ơ-clit thì các thuộc tính có khoảng giá trị lớn sẽ có ảnh hưởng lớn Vì vậy cần phải chuyển khoảng giá trị của các thuộc tính về một khoảng quy ñịnh trước ñể mỗi thuộc tính ñều có ảnh hưởng tương ñối như nhau

3.2 Các cách ñánh giá, ño lường ñáng tin cậy

3.2.1 Kiểm tra chéo

Phương pháp kiểm tra chéo (Cross-validation) [3] ñược thực hiện như sau: chia tập

dữ liệu gốc làm 2 phần, một phần dùng làm tập dữ liệu kiểm thử (Test data) và phần còn lại dùng làm tập dữ liệu nguồn Thông thường thì tập dữ liệu dùng ñể kiểm thử có số lượng phần tử ít hơn so với tập dữ liệu nguồn Tỷ lệ giữa chúng có thể là 1:2 hay 1:n (n>1) Trong Cross-validation chúng ta phải quyết ñịnh số lượng mảnh dữ liệu, gọi theo thuật ngữ là folds Giả sử con số này là 3, như vậy dữ liệu gốc sẽ ñược chia tách thành 3 phần có kích thước gần bằng nhau Sau ñó lấy phần thứ nhất làm tập kiểm thử ñể tiến hành kiểm tra, 2 phần còn lại làm tập nguồn Làm tương tự với phần thứ hai và phần thứ

ba và việc kiểm tra ñược tiến hành 3 lần Mỗi lần tính toán ñược số lượng phần tử vi phạm hay tỷ lệ lỗi Lấy giá trị trung bình của chúng ta sẽ ñược giá trị lỗi trung bình và tính ñược tỷ lệ vi phạm một cách tổng quát

Vấn ñề của phương pháp Cross-validation là chọn giá trị folds sao cho việc ñánh giá

ñược chính xác Thông thường người ta chọn folds = 10 thì kết quả thu ñược tương ñối

chính xác Tuy nhiên nó vẫn có thể gặp trục trặc trong một số trường hợp nào ñó Hiện tại không có giải thuật cho việc chọn giá trị folds mà phải lấy từ kinh nghiệm thực tế với nhiều lần thử

3.2.2 Leave-one-out

Leave-one-out là phương pháp n-folds Cross-validation [3] với n là số lượng phần tử của tập dữ liệu Mỗi phần tử trong tập dữ liệu sẽ ñược lấy ra và xem như tập kiểm thử ñể

Trang 37

tiến hành kiểm tra trên tập nguồn là tập gồm các phần tử còn lại của dữ liệu Kết quả của

n lần kiểm tra ñược lấy giá trị trung bình và giá trị này sẽ thể hiện sự ước lượng lỗi sau cùng

Cách làm này là sự cải tiến trong phương pháp Cross-validation với hai ñặc ñiểm nổi bật Một là nó ñưa vào tập nguồn hầu hết các phần tử trong tập dữ liệu gốc nên kết quả thu ñược khá chính xác Hai là nó tiến hành việc lấy mẫu và kiểm tra với số lượng lớn trên tất cả các phần tử của tập dữ liệu, không phải là lấy mẫu ngẫu nhiên nên kết quả thu

ñược thể hiện ñúng bản chất của dữ liệu gốc

Nhược ñiểm của phương pháp này là chi phí tính toán lớn và hoàn toàn không khả thi với tập dữ liệu nhiều phần tử

3.2.3 Bootstrap

Trong phương pháp Cross-validation thì việc lấy mẫu cho tập dữ liệu nguồn và tập dữ liệu kiểm thử không ñược lặp lại, một phần tử khi ñã lựa chọn thì không ñược lựa chọn lại Tuy nhiên với phương pháp Bootstrap thì việc lấy mẫu có thể ñược lặp lại [3]

Với tập dữ liệu gồm n phần tử và việc lấy mẫu cho tập training ñược tiến hành n lần Mỗi phần tử có xác suất ñược chọn là 1/n nên xác suất không ñược chọn là (1 – 1/n) Vì việc lấy mẫu ñược tiến hành n lần nên xác suất ñể phần tử không ñược chọn trong tất cả các lần lấy mẫu ñược tính như sau:

n -1

1

1 - e = 0.368n

Do ñó sẽ có 36.8% của tập dữ liệu gốc sẽ ñược ñưa vào tập test và 63.2% còn lại

ñược ñưa vào tập training

Phương pháp Bootstrap có sự cải tiến trong việc tính toán tỷ lệ lỗi Giá trị này ñược tính toán bằng sự kết hợp giữa số lượng lỗi trên tập test và tập training cùng với tỷ lệ phần

tử tương ứng của hai tập này Công thức như sau:

e = 0.632 etest instances + 0.368 etraining instances

Ngày đăng: 08/03/2021, 23:44

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