Tải bản đầy đủ (.pdf) (75 trang)

Nghiên cứu, xây dựng phương pháp trích chọn đặc trưng dựa trên giải thuật phân lớp Random Forest

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.72 MB, 75 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ





NGUYỄN CƯƠNG







NGHIÊN CỨU, XÂY DỰNG PHƯƠNG PHÁP
TRÍCH CHỌN ĐẶC TRƯNG DỰA TRÊN GIẢI THUẬT
PHÂN LỚP RANDOM FOREST








LUẬN VĂN THẠC SĨ


















Hà Nội - 2010
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ





NGUYỄN CƯƠNG





NGHIÊN CỨU, XÂY DỰNG PHƯƠNG PHÁP
TRÍCH CHỌN ĐẶC TRƯNG DỰA TRÊN GIẢI THUẬT
PHÂN LỚP RANDOM FOREST




Ngành: Công nghệ thông tin
Chuyên ngành: Hệ thống thông tin
Mã số: 60 48 05



LUẬN VĂN THẠC SĨ


NGƯỜI HƯỚNG DẪN KHOA HỌC: TS. Nguyễn Hà Nam













Hà Nội - 2010




Trang 2

Mục lục
LỜI MỞ ĐẦU Error! Bookmark not defined.
Tóm tắt luận văn 1
Mục lục 2
Danh mục từ viết tắt 5
Danh mục các biểu 6
Danh mục các bảng 8
Chương 1: Tổng quan 10
1.1. Phát hiện tri thức và khai phá dữ liệu 10
1.2. Chọn lựa thuộc tính (CLTT) và vai trò của CLTT trong KDD 13
1.3. Chọn lựa thuộc tính và bài toán phân lớp 15
Chương 2: Trích chọn thuộc tính 17
2.1. Chiến lược tìm kiếm 17
2.1.1. Hướng tìm kiếm 18
2.1.2. Các chiến lược tìm kiếm 19
2.2. Tiêu chuẩn chọn lựa 20
2.2.1. Đo lường thông tin 21
2.2.2. Đo lường khoảng cách 21
2.2.3. Đo lường phụ thuộc 22
2.2.4. Đo lường độ đồng nhất 22
2.2.4. Đo lường chính xác 23
2.3. Mô hình Filter và Wrapper 23
2.3.1 Mô hình Wrapper 24
2.3.2 Mô hình Filter 25
Chương 3: Một số giải thuật trích chọn thuộc tính 27
3.1. Tìm kiếm toàn bộ 28
3.1.1. Phương pháp Focus 28




Trang 3

3.1.2. Phương pháp ABB 28
3.2. Tìm kiếm theo kinh nghiệm 30
3.3. Tìm kiếm xác suất 32
3.3.1. Phương pháp LVF 32
3.3.2. Phương pháp LVW 33
3.4. Phương pháp trọng số thuộc tính 35
3.5. Phương pháp lai 36
3.6. Phương pháp lớn dần 37
Chương 4: Giải thuật random forest 40
4.1. Bootstrap và Bagging 40
4.1. 1. Bootstrap 40
4.1. 2. Bagging 41
4.2. Random Forest 42
4.3. Một số điểm cần chú ý của giải thuật Random Forest 44
4.3.1. OOB 44
4.3.2. Thuộc tính quan trọng 45
Chương 5: Phương pháp học máy đề xuất 48
5.1. Một số kỹ thuật sử dụng trong phương pháp đề xuất 48
5.1.1. Kiểm chứng chéo (cross-validation) 48
5.1.2. Lý thuyết Bayes 49
5.1.3. Phân lớp Native Bayes 50
5.2. Sơ đồ khối và mô hình phương pháp học máy đề xuất 51
5.3. Mô tả phương pháp học máy đề xuất 52
Chương 6: Kết quả thực nghiệm 58
6.1. Dữ liệu Madelon 58
6.1.1. Mô tả bộ dữ liệu Madelon 58

6.1.2. Kết quả thực nghiệm với bộ dữ liệu Madelon 58
6.1.3. Nhận xét 63



Trang 4

6.2. Bộ dữ liệu Colon Turmo 64
6.2.1. Mô tả bộ dữ liệu Colon Turmo 64
6.2.2 Kết quả thực nghiệm với bộ dữ liệu Colon Turmo 64
6.2.3. Nhận xét 68
KẾT LUẬN 70
DANH MỤC TÀI LIỆU THAM KHẢO 72
Tài liệu Tiếng Việt 72
Tài liệu Tiếng Anh 72























Trang 5

Danh mục từ viết tắt


TỪ
VIẾT TẮT
Phát hiện tri thức và khai phá dữ dữ liệu
KDD
Random Forest
RF
Khai phá dữ liệu
DM
Out – Of – Bag
OOB
Sequential forward generation
SFG
Sequential backward generation
SBG
Birectional generation
BG
Random generation
RG

Dynamic Feature Elimination baase on Random Forest
DFE-RF


















Trang 6

Danh mục các biểu

Hình 1. 1: Mô hình chu trình phát hiện tri thức và khai phá dữ liệu 12
Hình 1. 2: Sự phát triển của khai phá dữ liệu trong những năm gần đây 13
Hình 2. 1: Ba thành phần chính của chọn lựa thuộc tính: Chiến lược tìm kiếm, Đánh
giá, Chọn lựa mô hình 17
Hình 2. 2: Mối quan hệ giữa 5 kiểu đo lường 23
Hình 2. 3: Mô hình chọn lựa thuộc tính Wrapper 25

Hình 2. 4: Mô hình chọn lựa thuộc tính Filter 26
Hình 3. 1: Kết hợp giữa chiến lược tìm kiếm và hướng tìm kiếm trong chọn lựa thuộc
tính 28
Hình 4. 1: Random Forest 40
Hình 4. 2: Ví dụ sử dụng phương pháp bootstrap 41
Hình 4. 3: Các bước trong random forest 44
Hình 4. 4: Sử dụng OBB ước lượng lỗi 45
Hình 5. 1: Mô hình phương pháp học máy đề xuất 51
Hình 5. 2: Sơ đồ khối phương pháp học máy đề xuất 52
Hình 6. 1: So sánh kết quả thực nghiệm giữa RF và RF_CT trên dữ liệu học (trái) và
trên dữ liệu kiểm chứng ( phải) qua 50lần chạy thử với số cây trong RF=100 59
Hình 6. 2: So sánh kết quả thực nghiệm giữa RF và RF_CT trên dữ liệu học (trái) và
trên dữ liệu kiểm chứng ( phải) qua 50lần chạy thử với số cây trong RF=150 60
Hình 6. 3: So sánh kết quả thực nghiệm giữa RF và RF_CT trên dữ liệu học (trái) và
trên dữ liệu kiểm chứng ( phải) qua 50lần chạy thử với số cây trong RF=200 61
Hình 6. 4: So sánh kết quả thực nghiệm giữa RF và RF_CT trên dữ liệu học (trái) và
trên dữ liệu kiểm chứng ( phải) qua 50 lần chạy thử với số cây trong RF=250 62
Hình 6. 5: So sánh kết quả thực nghiệm giữa RF và RF_CT trên dữ liệu Colon Turmo
qua 20 lần chạy thử với số cây trong RF=800 65
Hình 6. 6: So sánh kết quả thực nghiệm giữa RF và RF_CT trên dữ liệu Colon Turmo
qua 20 lần chạy thử với số cây trong RF=1100 66



Trang 7

Hình 6. 7: So sánh kết quả thực nghiệm giữa RF và RF_CT trên dữ liệu Colon Turmo
qua 20 lần chạy thử với số cây trong RF=1400 67
Hình 6. 8: So sánh kết quả thực nghiệm giữa RF và RF_CT trên dữ liệu Colon Turmo
qua 20 lần chạy thử với số cây trong RF=1700 68



























Trang 8

Danh mục các bảng


Bảng 6. 1: Mô tả bộ dữ liệu Madelon 58
Bảng 6. 2: Kết quả thực nghiệm giữa RF và RF_CT trên dữ liệu học và trên dữ liệu
kiêm chứng qua 50lần chạy thử với số cây trong RF=100 59
Bảng 6. 3: Mức tiêu tốn thời gian nhiều hơn để thực hiện thuật toán của RF_CT so với
RF trên dữ liệu Madelon qua 50 lần chạy thử với số cây trong RF=100 59
Bảng 6. 4: Kết quả thực nghiệm giữa RF và RF_CT trên dữ liệu học và trên dữ liệu
kiêm chứng qua 50lần chạy thử với số cây trong RF=150 60
Bảng 6. 5: Mức tiêu tốn thời gian nhiều hơn để thực hiện thuật toán của RF_CT so với
RF trên dữ liệu Madelon qua 50 lần chạy thử với số cây trong RF=150 60
Bảng 6. 6: Kết quả thực nghiệm giữa RF và RF_CT trên dữ liệu học và trên dữ liệu
kiêm chứng qua 50lần chạy thử với số cây trong RF=200 61
Bảng 6. 7: Mức tiêu tốn thời gian nhiều hơn để thực hiện thuật toán của RF_CT so với
RF trên dữ liệu Madelon qua 50 lần chạy thử với số cây trong RF=200 61
Bảng 6. 8: Kết quả thực nghiệm giữa RF và RF_CT trên dữ liệu học và trên dữ liệu
kiêm chứng qua 50lần chạy thử với số cây trong RF=250 62
Bảng 6. 9: Mức tiêu tốn thời gian nhiều hơn để thực hiện thuật toán của RF_CT so với
RF trên dữ liệu Madelon qua 50 lần chạy thử với số cây trong RF=250 62
Bảng 6. 10: So sánh một số kết quả dự đoán sử dụng bộ số liệu Colon Turmo 63
Bảng 6. 11: Kết quả thực nghiệm giữa RF và RF_CT trên dữ liệu Colon Turmo qua 20
lần chạy thử với số cây trong RF=800 64
Bảng 6. 12: Độ tiêu tốn thời gian nhiều hơn để thực hiện thuật toán của RF_CT so với
RF trên dữ liệu Colon Turmo qua 20 lần chạy thử với số cây trong RF=800 65
Bảng 6. 13: Kết quả thực nghiệm giữa RF và RF_CT trên dữ liệu Colon Turmo qua 20
lần chạy thử với số cây trong RF=1100 65
Bảng 6. 14: Độ tiêu tốn thời gian nhiều hơn để thực hiện thuật toán của RF_CT so với
RF trên dữ liệu Colon Turmo qua 20 lần chạy thử với số cây trong RF=1100 66
Bảng 6. 15: Kết quả thực nghiệm giữa RF và RF_CT trên dữ liệu Colon Turmo qua 20
lần chạy thử với số cây trong RF=1400 66




Trang 9

Bảng 6. 16: Độ tiêu tốn thời gian nhiều hơn để thực hiện thuật toán của RF_CT so với
RF trên dữ liệu Colon Turmo qua 20 lần chạy thử với số cây trong RF=1400 67
Bảng 6. 17: Kết quả thực nghiệm giữa RF và RF_CT trên dữ liệu Colon Turmo qua 20
lần chạy thử với số cây trong RF=1700 67
Bảng 6. 18: Độ tiêu tốn thời gian nhiều hơn để thực hiện thuật toán của RF_CT so với
RF trên dữ liệu Colon Turmo qua 20 lần chạy thử với số cây trong RF=1700 68
Bảng 6. 19: So sánh một số kết quả dự đoán sử dụng bộ số liệu Colon Turmo 69









Chương 1: Tổng quan Trang 10

Chương 1: Tổng quan

1.1. Phát hiện tri thức và khai phá dữ liệu
Từ thập niên 80 của thế kỷ trước với xuất hiện của máy tính và sau đó là sự phát
triển mạnh mẽ của công nghệ thông tin và truyền thông, thì nhu cầu lưu trữ dữ liệu và
trao đổi thông tin trong xã hội loài người ngày càng tăng lên mạnh mẽ. Tuy nhiên, đi
cùng với lượng dữ liệu và thông tin ngày càng khổng lồ mà chúng ta có được thì việc
biến đổi những dữ liệu sẵn có đó thành tri thức trở thành một đòi hỏi tất yếu trong đời
sống hàng ngày. Từ nhu cầu thực tế trên, đòi hỏi chúng ta phải tìm kiếm và ứng dụng

các kỹ thuật nhằm “khai phá” những thông tin hữu ích, những tri thức có ích từ những
nguồn dữ liệu khồng lồ hiện có.
Phát hiện tri thức và khai phá dữ liệu (KDD) là những công việc liên quan đến việc
trích, lọc những thông tin có ích từ các nguồn dữ liệu [1]. Khai phá dữ liệu là một tập
các kỹ thuật được sử dụng một cách tự động nhằm tìm kiếm, phát hiện và đưa ra
những mối quan hệ phức tạp trong một tập dữ liệu lớn.
Khai phá dữ liệu chủ yếu tập trung vào 3 nhiệm vụ chính sau:
Giảm chiều dữ liệu: Giảm chiều dữ liệu là việc làm giảm chiều của không gian tìm
kiếm dữ liệu, giảm chi phí thu thập và lưu trữ dữ liệu, nâng cao hiệu quả của việc khai
phá dữ liệu và làm đơn giản hóa các kết quả khai phá dữ liệu. Trong nhiệm vụ làm
giảm chiều dữ liệu chúng ta cần xem xét hai khái nhiệm sau:
 Trích chọn thuộc tính (Feature Extraction): Trích chọn thuộc tính là việc tìm ra
một tập thuộc tính mới từ tập thuộc tính ban đầu nhằm nâng cao hiệu suất tính
toán và độ chính xác phân lớp. Các kỹ thuật trích chọn thuộc tính thường liên
quan đến các phép biến đổi phi tuyến (non-linear). Linear discriminant analysis
(LDA) và principal components analysis (PCA) là hai kỹ thuật phổ biến dùng
trong trích chọn thuộc tính.
 Chọn lựa thuộc tính (Feature Selection): Chọn lựa thuộc tính là việc chọn ra
một tập thuộc tính con từ tập thuộc tính ban đầu sao cho các tập thuộc tính con
này thể thể hiện tốt nhất chức năng của một hệ thống quy nạp, chẳng hạn như
một hệ thống phân lớp. Việc tìm kiếm một tập con thuộc tính tối ưu thường là
rất khó và rất nhiều các vấn đề của chọn lựa thuộc tính là thuộc về lớp các bài
toán NP-hard. Tuy nhiên, chọn lựa thuộc tính lại được sử dụng rộng rãi trong



Chương 1: Tổng quan Trang 11

giảm chiều dữ liệu vì các kết quả dựa trên các thuộc tính được chọn lựa từ tập
thuộc tính ban đầu thường dễ dàng lý giải hơn so với một tập các thuộc tính

được biến đổi từ tập thuộc tính ban đầu.
Phân cụm và phân lớp: Phân lớp và phân cụm là hai nhiệm vụ có mối quan hệ
tương đối gần nhau trong khai phá dữ liệu. Một lớp là một tập các đối tượng có cùng
một số đặc điểm hoặc mối quan hệ nào đó, tất cả các đối tượng trong lớp này được
phân vào trong cùng một lớp tên nhằm mục đích là để phân biệt với các lớp khác. Một
cụm là một tập các đối tượng tương tự nhau về mặt vị trí. Các cụm thường được được
tạo ra nhằm mục đích để sau đó tiến hành phân lớp các đối tượng.
Một tập dữ liệu với các lớp tên, phân tích dữ liệu nhằm mục đích xây dựng một bộ
phân lớp, bộ phân lớp này đóng vai trò như một “người dự đoán” một đối tượng mới
xuất hiện sẽ thuộc về lớp nào. Mô hình phân lớp được xây dựng dựa trên các dữ liệu
sẵn có. Tiếp theo tiến hành dự đoán, phân lớp các đối tượng dựa vào mô hình máy học
được xây dựng ở bước trên. Ví dụ, trong hoạt động của ngân hàng các thông tin cá
nhân cũng và các hành vi tiêu dùng của khách hàng được thu thập nhằm xây dựng một
mô hình phân lớp cho những khách hàng mới vào các lớp: có rủi ro tín dụng thấp, rủi
ro tín dụng trung bình và rủi ro tín dụng cao. Trong trường hợp khác, chỉ có một số
thông tin cơ bản về những khách hàng tiềm năng như: tuổi, trình độ chuyên môn và
thu nhập. Chúng ta có thể sử dụng một số kỹ thuật phân cụm nhằm nhóm các đối
tượng này vào các cụm theo một số tiêu chí về độ tương đồng nào đó, sau đó tiến hành
dán nhãn cho các cụm được phân: mức độ rủi ro thấp, mức độ rủi trung bình và mức
độ rủi ro cao dựa vào các tiêu chí kinh doanh.
Nhìn chung, phân cụm thường được triển khai để xử lý với các dữ liệu không có
lớp nhãn. Một số phương pháp phân lớp tiến hành phân cụm các đối tượng vào các
nhóm nhỏ trước khi tiến hành phân lớp, chẳng hạn như trong mạng neural RBF (radial
basis function).
Trích chọn luật: Trích chọn luật tìm kiếm và đưa ra dữ liệu bằng cách tất cả các dữ
liệu được đưa ra dựa trên các suy diễn/các quyết định mà các suy diễn/quyết định này
được xây dựng từ các tri thức thu thập được từ dữ liệu đó. Đối với người sử dụng các
kết quả của khai phá dữ liệu họ chỉ mong muốn có một cách giải thích đơn giản là tại
sao có các kết quả phân lớp đó, thuộc tính nào ảnh hưởng đến kết quả khai phá dữ
liệu…Tuy nhiên, bằng các tham số phân lớp rất khó để có thể diễn giải các tri thức đó

theo cách mà người sử dụng có thể dễ dàng hiểu được. Do đó, trích chọn ra các luật
IF-THEN để đưa ra các thông tin có giá trị là một cách diễn giải đơn giản và dễ hiểu
nhất đối với người sử dụng.



Chương 1: Tổng quan Trang 12

Trích chọn luật có thể được nhóm vào hai kiểu chính. Một kiểu liên quan đến việc
tìm ra mối quan hệ giữa các thuộc tính đầu vào và các lớp nhãn ở đầu ra trong tập dữ
liệu đã được gán nhãn. Kiểu trích chọn luật còn lại là việc khai phá các luật quan hệ
(accosiation rule), đây là việc tìm ra các mối quan hệ giữa các thuộc tính trong tập dữ
liệu và điều này hoàn toàn không phụ thuộc vào lớp nhãn ở đầu ra. Các kỹ thuật trích
chọn ra luật quan hệ thường được ứng dụng nhằm tìm kiếm các mối liên hệ giữa các
đối tượng trong dữ liệu phiên. Khai phá các luật quan hệ có thể được áp dụng để phân
tích hành vi khách hàng trong siêu thị. Ví dụ một khách hàng mua bơ cũng sẽ mua
bánh mì với một xác suất nhất định nào đó.
Khai phá dữ liệu thường được xem như là một bước đơn lẻ trong chu trình phát
hiện tri thức và khai phá dữ liệu. Các bước khác trong chu trình này bao gồm: a) Kho
dữ liệu, b) chọn lựa các dữ liệu đích, c) làm sạch dữ liệu, d) giảm chiều dữ liệu, e)
chọn lựa mô hình phù hợp, f) khai phá dữ liệu, g) nhận xét và trình bày kết quả, h)
kiểm tra các kết quả có được. Một cách đơn giản có thể hiểu như sau: kho dữ liệu cho
phép dữ liệu được thu thập từ nhiều nguồn dữ liệu khác nhau và ở nhiều định dạng
khác nhau và nguồn dữ liệu này được sử dụng trong một ứng dụng cụ thể; chọn lựa các
dữ liệu đích nhằm tạo ra một dữ liệu cụ thể dùng cho ứng dụng; làm sạch số liệu nhằm
loại bỏ nhiễu và các giá trị bất thường; giảm chiều dữ liệu nhằm chuyển dữ liệu thành
một dạng dữ liệu phù hợp với ứng dụng; chọn lựa mô hình là chọn một giải thuật phù
hợp; khai phá dữ liệu nhằm tìm ra các thông tin cần quan tâm; nhận xét và trình bày
kết quả là việc giải thích các kết quả có được; kiểm tra các kết quả có được là việc
chuyển các kết quả thành một dạng có thể kiểm tra lại và sử dụng lại.

Hình 1.1 thể hiện các bước trong một chu trình phát hiện tri thức và khai phá dữ
liệu

Hình 1. 1: Mô hình chu trình phát hiện tri thức và khai phá dữ liệu
Nếu xem xét các bước của chu trình khai phá dữ liệu trong ngữ cảnh của chọn lựa
thuộc tính, chúng có thể được tổng hợp thành 4 bước cơ bản sau: 1) Kho dữ liệu (Data



Chương 1: Tổng quan Trang 13

warehousing) - dữ liệu từ các nguồn khác nhau được tổng hợp, lưu trữ lại, 2)Tiền xử lý
(Pre-processing) (các bước b, c, và d) – chọn lựa các dữ liệu phù hợp cho một ứng
dụng cụ thể, 3) Khai phá dữ liệu (Data ming) (các bước e và f) – một giải thuật phai
phá dữ liệu được chọn lựa và áp dụng trên bộ số liệu thu được ở bước 2, 4) Hậu xử lý
(Post-processing) (các bước g và h) – Các tri thức thu được từ bước 3 được chọn lựa,
nhóm… sao cho chúng có thể dễ dàng hiểu và sử dụng.
Hình 1.2 dưới đây [2] thể hiện sự phát của khai phá dữ liệu trong những năm gần
đây :

Hình 1. 2: Sự phát triển của khai phá dữ liệu trong những năm gần đây

1.2. Chọn lựa thuộc tính (CLTT) và vai trò của CLTT trong KDD
Hiện nay có rất nhiều phương thức được sử dụng trong khai phá dữ liệu như phân
lớp, ước lượng, phân cụm khái niệm và số, mối quan hệ, phân tích tuần tự…tuy nhiên
đại bộ phận các phương thức này đều gặp vấn đề khi dữ liệu quá lớn hoặc quá nhỏ.
Một điều hiển nhiên rằng dữ liệu sẽ không bao giờ là quá nhiều, nếu tất cả các dữ liệu
là phù hợp. Tuy nhiên, trên thực tế điều này là rất ít khi có được bởi vì thông thường
các dữ liệu thường được thu thập cho một mục đích chung nào đó hơn là được thu thập
cho một mục đích riêng biệt, cụ thể. Do vậy, đối với một nhiệm vụ khai phá dữ liệu cụ

thể, nếu số lượng các dữ liệu không phù hợp là lớn thì dữ liệu này sẽ ảnh hưởng rất lớn
đến kết quả cũng như tốc độ thực hiện của việc khai phá dữ liệu trên. Đối với những
trường hợp này, thì việc áp dụng một thuật toán chọn lựa thuộc tính để loại bỏ các dữ
liệu không phù hợp là hết sức cần thiết. Trong trường hợp khác, chúng ta có thể gặp
các vấn đề liên quan đến thiếu dữ liệu như: (i) các dữ liệu hiện có chỉ chiếm một phần



Chương 1: Tổng quan Trang 14

rất nhỏ trong yêu cầu dữ liệu cần thiết để thực hiện một giải thuật phai phá dữ liệu nào
đó nhằm tìm ra một tri thức hữu ích; (ii) hoặc số lượng thuộc tính là rất lớn tuy nhiên
số lượng thực thể (bản ghi) lại nhỏ. Trên thực tế, khi chúng ta có quá ít dữ liệu hoặc
quá nhiều thực thể thì lựa chọn thuộc tính có thể cung cấp cho chúng ta một giải thuật
khai phá dữ liệu chỉ tập trung vào các thuộc tính liên quan. Do đó, các vấn đề đặt ra ở
trên có thể được giải quyết trong điều kiện “tốt nhất” có thể có được.
Thông thường có hai câu hỏi được đặt ra đối với việc chọn lựa thuộc tính là 1) Kết
quả của chọn lựa thuộc tính là gì ?; 2) Tại sao cần chọn lựa thuộc tính ?. Trước đây,
câu trả lời cho hai câu hỏi này chỉ đơn giản là: “muốn có một tập dữ liệu có số lượng
thuộc tính nhỏ hơn”. Tuy nhiên, ngày nay câu trả lời cho hai câu hỏi trên lại hết sức đa
dạng, câu trả lời có thể là: tôi muốn 1) cải thiện hiệu năng (tốc độ học, độ chính xác,
hoặc đơn giản hóa các luật); 2) trực quan hóa dữ liệu để chọn lựa một mô hình phù
hợp cho dữ liệu đó; hoặc/và để giảm chiều dữ liệu cũng như loại bỏ nhiễu trong dữ
liệu hiện có…
Từ những quan sát trên về chọn lựa thuộc tính chúng ta có nhận xét sau: Chọn lựa
thuộc tính là một quá trình để tìm ra một tập con tốt nhất các thuộc tính theo một số
tiêu chí nào đó. Ứng dụng của trích chọn thuộc tính là hữu ích đối với cả ba bước của
chu trình phát hiện tri thức: tiền sử lý, khai phá và hậu sử lý. Cũng cần lưu ý là cả ba
bước trên đều quan trọng như nhau đối với sự thành công của phát hiện tri thức và khai
phá dữ liệu. Bước một đảm bảo rằng dữ liệu được cung cấp cho bước hai tốt về chất

lượng và phù hợp về số lượng, bước hai đảm bảo rằng khai phá dữ liệu được thực hiện
một cách hiệu quả và hiệu nghiệm, bước ba đưa ra các kết quả tin cậy và đầy đủ như
người sử dụng mong muốn. Chọn lựa thuộc tính đóng vai trò như là một công cụ quan
trọng trong khai phá dữ liệu và là thể hiện của khoảng cách giữa sự xuất hiện các vấn
đề mới và sự xuất hiện các lĩnh vực mới. Một số vấn đề mà trước đây không thể giải
quyết được trong thống kê nay đã giải quyết được bởi học máy, và khai phá dữ liệu
xuất hiện như một lĩnh vực mới chỉ quan tâm đến việc xử lý các vấn đề chưa xử lý
được trong thống kê và học máy. Các công cụ mới được phát triển ngày càng nhiều,
tuy nhiên mỗi công cụ lại có những hạn chế rất định do đó chúng ta mong muốn có thể
“nối” được những công cụ này để tận dụng được “sức mạnh” của chúng. Chọn lựa
thuộc tính có thể được xem như là một bộ công cụ đặc biệt để “nối” và cải thiện hiệu
năng của các công cụ hiện có. Xem xét hai thành phần chính của phát hiện tri thức là
các giải thuật khai phá và tập dữ liệu, các công cụ có rất nhiều cho cả hai thành phần
này. Chọn lựa thuộc tính là các công cụ thao tác dữ liệu làm cho dữ liệu phù hợp với



Chương 1: Tổng quan Trang 15

giải thuật khai phá mà không thay đổi bản chất của dữ liệu và là một công cụ hữu hiệu
cho việc cải tiến các phương thức khai phá dữ liệu.
1.3. Chọn lựa thuộc tính và bài toán phân lớp
Nhiệm vụ cơ bản của việc phân lớp là phân chia một tập các đối tượng thành n-hữu
hạn lớp đã biết trước. Tập đối tượng cần phân lớp được đặc trưng bởi một tập các
thuộc tính chứa các thông tin cần thiết liên quan đến các lớp, trong đó mỗi tập các
thuộc tính được đại diện bởi một tập các thuộc tính – giá trị. Với một tập dữ liệu bao
gồm một tập các đối tượng đã được phân lớp (thường gọi là tập tập huấn) nhiệm vụ đặt
ra là từ tập huấn luyện cho trước xây dựng một bộ phân lớp cho các dữ liệu tương tự.
Vấn đề đặt ra đối với bài toán phân lớp là số lượng các thuộc tính có thể rất lớn do
những lý do sau:

 Dữ liệu được thu thập không đơn giản chỉ phục vụ cho một tác nghiệp cụ thể
chẳng hạn như khai phá dữ liệu. Do đó, đối với một ứng dụng cụ thể bộ dữ liệu
có thể có rất nhiều các thuộc tính thừa hoặc không phù hợp.
 Đôi khi thậm chí nếu chúng ta biết các thuộc tính được thiết kế cho một tác
nghiệp cụ thể thì thuộc tính nào là thuộc tính có liên quan thường không được
biết. Điều này là do bản chất của nghiên cứu. Chúng ta tiến hành thực nghiệm và
thu thập số liệu vì chúng ta muốn biết nhiều hơn lĩnh vực mà chúng ta muốn tìm
hiểu và chúng ta thông thường không có một ý niệm chính xác về các thuộc tính
cần thiết. Do đó, chúng ta phải tìm các thuộc tính cần thiết nhiều nhất mà chúng
ta có thể nghĩ đến thậm chí chúng có thể là các thuộc tính dư thừa hoặc không
liên quan. Chúng ta chỉ có thể biết được thuộc tính nào là liên quan sau khi chúng
ta nghiên cứu bộ số liệu đã được thu thập.
 Một tác nghiệp có thể yêu cầu dữ liệu từ nhiều nguồn khác nhau. Nếu dữ liệu từ
mỗi nguồn là lớn thì sau khi nối các nguồn dữ liệu trên chúng ta sẽ có một bộ dữ
liệu khổng lồ. Nếu chúng ta biết được các thuộc tính liên quan thì chúng ta có thể
giải quyết được vấn đề trên nhưng trên thực tế chúng ta thường không biết trước
các thuộc tính nào là thuộc tính liên quan.
Các thuộc tính không liên quan hoặc thừa có thể có những ảnh hưởng tiêu cực đối
với các giải thuật phân lớp: (1) Có nhiều thuộc tính thông thường có nghĩa là cần nhiều
thực thể, vì vậy chúng ta cần đảm bảo các ràng buộc thống kê giữa các thực thể trong
các lớp khác nhau, (2) Các thuộc tính/dữ liệu thừa hoặc không liên quan có thể là
nguyên nhân dẫn đến việc học của giải thuật không được chính xác hoặc dẫn đến hiện
tượng overfitting trong mô hình, (3) Thêm vào đó với sự có mặt của dữ liệu thừa hoặc



Chương 1: Tổng quan Trang 16

dữ liệu không liên quan có thể làm cho bộ phân lớp trở lên phức tạp hơn. Điều này là
gây ra những khó khăn không cần thiết cho chúng ta trong việc diễn giải các kết quả

học được từ tập huấn luyện.
Do chúng ta không biết được thuộc tính nào là liên quan trước khi chúng ta tiến
hành thu thập dữ liệu, và các thuộc tính thừa hoặc không liên quan thường gây ra
những ảnh hưởng tiêu cực đối với các giải thuật phân lớp, do đó chúng ta cần giải
quyết vấn này đối với các bài toán phân lớp. Về cơ bản, chúng ta chỉ muốn lựa chọn
các thuộc tính liên quan đến ứng dụng của chúng ta nhằm mục đích sao cho ứng dụng
của chúng có được hiệu quả tốt nhất với các đo lường, tính toán là ít nhất, nói một
cách đơn giản chúng ta mong muốn có một đầu vào cho mô hình là đơn giản nhất có
thể nhưng lại cho kết quả ở đầu ra là tốt nhất có thể. Sử dụng trích chọn thuộc tính
trong phân lớp cho ta những lợi thế sau:
 Dữ liệu ít hơn do đó giải thuật phân lớp có thể học nhanh hơn;
 Độ chính xác cao hơn do đó bộ phân lớp có thể cho những kết quả phân lớp tốt;
 Các kết quả đơn giản hơn do đó các kết quả này có thể hiểu được dễ dàng hơn;
 Ít thuộc tính hơn do đó trong các vòng thu thập số liệu sau, nếu có thể chúng ta
có thể tiết kiệm được nhiều nguồn lực do việc loại bỏ các thuộc tính thừa và
không liên quan.
Trong các chương tiếp theo chúng ta sẽ đi vào tìm hiểu sâu các đặc điểm của trích
chọn thuộc tính, một số giải thuật phân lớp được sử dụng phổ biến trong trích chọn
thuộc tính và đi sâu tìm hiểu giải thuật phân lớp Random Forest.






Chương 2: Trích chọn thuộc tính Trang 17

Chương 2: Trích chọn thuộc tính
Trích chọn thuộc tính được xem như là sự tổng hợp của ba thành phần chính:
(1)Tìm kiếm, Đánh ra, Chọn lựa mô hình. Hình 2.1 dưới đây [3] thể hiện trích chọn

thuộc tính theo 3 thành phần nói trên.


Hình 2. 1: Ba thành phần chính của chọn lựa thuộc tính: Chiến lược tìm kiếm, Đánh
giá, Chọn lựa mô hình

2.1. Chiến lược tìm kiếm
Chọn lựa thuộc tính có thể được xem dưới góc độ như là một vấn đề tìm kiếm,
trong đó mỗi bước trong không gian tìm kiếm xác định ra một tập con thuộc tính liên
quan. Giả sử ta có một tập dữ liệu với 3 thuộc tính (A
1
, A
2
, A
3
). Một mảng nhị phân
mà mỗi thành phần của mảng được thiết lập là 1 nếu thuộc tính có chỉ số tương ứng
trong mảng nhị phân được chọn. Nếu mảng có giá trị (1, 1, 1) có nghĩa là cả 3 thuộc
tính được chọn và (1, 0, 0) có nghĩa là chỉ thuộc tính A
1
được chọn. Do đó, sẽ có tất cả
2
N
tập con có thể có, trong đó N là số lượng thuộc tính của tập dữ liệu. Trong trường
hợp có 3 thuộc tính sẽ có tất cả 8 trạng thái (tập con). Một tập con tối ưu thường nằm
đâu đó giữa điểm đầu và điểm cuối cây. Câu hỏi đặt ra ở đây là: Chúng ta nên bắt đầu
tìm kiếm từ đâu. Vấn đề sẽ rất đơn giản nếu không gian tìm kiếm nhỏ. Tuy nhiên, trên
thực tế không gian tìm kiếm thường rất lớn (2
N
), bắt đầu từ câu hỏi “Đâu là điểm tìm




Chương 2: Trích chọn thuộc tính Trang 18

kiếm phù hợp” sẽ xuất hiện các câu hỏi khác: Chiến lược tìm kiếm phù hợp là gì ?.
Trên thực tế chiến lược tìm kiếm lại bị ảnh hưởng bởi hướng tìm kiếm, dưới đây
chúng ta sẽ lần lượt xem xét hướng tìm kiếm và chiến lược tìm kiếm.
2.1.1. Hướng tìm kiếm
Giả sử chúng ta ban đầu chưa có một khái niệm cụ thể nào về tập thuộc tính tối ưu
trong không gian tìm kiếm, thì sẽ không có sự khác biệt trong việc xác định điểm xuất
phát nên bắt đầu từ đâu (một tập rỗng hay một tập đủ các thuộc tính). Do đó, đối với
phần lớn các vấn đề trong tìm kiếm thì trung bình thời gian để tìm ra tập con tối ưu
giữa các hướng tìm kiếm khác nhau không có sự khác biệt. Tuy nhiên, hướng tìm
kiếm lại có mối liên hệ chặt chẽ trong việc tạo ra tập con thuộc tính. Một phương pháp
tìm kiếm là tìm ra tập con tối ưu bắt đầu từ một tập rỗng các thuộc tính (Ví dụ:
Sequential Forward Generation), phương pháp còn lại là tìm ra tập con tối ưu bằng
cách lần lượt loại bỏ các thuộc tính ít quan trọng từ một tập đủ các thuộc tính ban đầu
(Ví dụ: Sequential Backward Generation).
Sequential forward generation (SFG): Được bắt đầu bằng một tập rỗng các thuộc
tính, S
select
. Ở mỗi lần tìm kiếm một thuộc tính được thêm vào tập S
select
(do đó gọi là
tuần tự). Trong mỗi lần tìm kiếm dựa trên một số tiêu chí, một thuộc tính tốt nhất
trong số các thuộc tính chưa được chọn lựa sẽ được chọn để thêm vào tập S
select
. Quá
trình tìm kiếm này sẽ dừng lại khi tất cả các thuộc tính trong tập thuộc tính ban đầu

được thêm vào S
select
. Một danh sách xếp hạng các thuộc tính được tạo ra theo trình tự
thời gian các thuộc tính được thêm vào tập S
select.
Nếu ta biết trước một số thông tin về
số lượng thuộc tính liên quan, thì một cách đơn giản chúng ta có thể chọn m thuộc
tính đầu tiên trong danh sách xếp hạng.
Sequential backward generation (SBG): Được bắt đầu với một tập đủ các thuộc
tính, tại mỗi lần tìm kiếm dựa vào một số tiêu chí nào đó, một thuộc tính ít quan trọng
sẽ bị loại bỏ. Do đó, các thuộc tính trong tập thuộc tính sẽ dần dần bị loại bỏ cho tới
khi trong tập thuộc tính chỉ còn lại một thuộc tính. Một danh sách xếp hạng các thuộc
tính theo thời gian bị loại bỏ từ thấp đến cao được tạo ra. Thuộc tính bị loại bỏ cuối
cùng sẽ là thuộc tính quan trọng nhất. SBG và SFG là hai phương pháp bổ xung cho
nhau vì đôi khi tìm ra thuộc tính quan trọng nhất là dễ dàng hơn so với tìm ra thuộc
tính ít quan trọng và ngược lại.
Nếu trong trường hợp tồn tại một tập thuộc tính tối ưu mà tập thuộc tính này lại
không nằm trong khu vực giữa của không gian tìm kiếm, thì việc chúng ta bắt đầu tìm
kiếm từ cả hai phía của không gian tìm kiếm là giải pháp tối ưu. Một cách trực quan,



Chương 2: Trích chọn thuộc tính Trang 19

chúng ta thấy rằng phương pháp này sẽ chạy nhanh hơn phương pháp tìm kiếm theo
một hướng. Dưới đây, ta sẽ sem xét phương pháp này.
Birectional Generation(BG): Được bắt đầu ở cả hai hướng trong không gian tìm
kiếm, ví dụ hai quá trình tìm kiếm được thực hiện đồng thời. Quá trình tìm kiếm sẽ
dừng lại khi gặp một trong hai trường hợp sau: (1) Khi một trong hai chiều tìm kiếm
tìm được tập m thuộc tính tốt nhất trước khi đi đến điểm giữa trong không gian tìm

kiếm, hoặc (2) Cả hai chiều tìm kiếm đến điểm giữa trong không gian tìm kiếm. Nếu
giả sử giả thuyết là chúng ta hoàn toàn chưa có thông tin về m thuộc tính tốt nhất là
đúng thì trong mọi trường hợp, tìm kiếm theo một chiều sẽ mất một nửa thời gian để
đi đến điểm giữa của không gian tìm kiếm. Phương pháp BG sẽ tránh được nhược
điểm trên.
Random Generation(RG): Bắt đầu tìm kiếm theo một hướng ngẫu nhiên. Thêm
hay loại bỏ bớt một thuộc tính cũng được thực hiện một cách ngẫu nhiên. RG cố gắng
tránh việc gặp tối ưu địa phương do việc cố định chỉ đi theo một chiều nào đó trong
việc tạo ra tập thuộc tính tối ưu. Không giống như FSG hay FBG, kích cỡ của tập con
thuộc tính được tạo ra tiếp theo không được xác định. Tuy nhiên, chúng ta có thể thấy
được xu hướng của số lượng thuộc tính được chọn là tăng lên hay giảm đi.
2.1.2. Các chiến lược tìm kiếm
Trong trường hợp số lượng thuộc tính (N) là nhỏ thì không gian tìm kiếm là không
lớn. Tuy nhiên không gian tìm kiếm sẽ tăng theo hàm mũ khi N tăng do mối quan hệ
S=2
N
, trong đó S là không gian tìm kiếm với N thuộc tính và 2 biểu thị việc chọn hay
không chọn một thuộc tính. Câu hỏi về chiến lược tìm kiếm nào được chọn đặt ra
trong trường hợp không gian tìm kiếm là lớn. Cũng cần lưu ý rằng trong một không
gian tìm kiếm nếu tìm kiếm càng nhiều (càng kỹ) có nghĩa là sẽ tìm được một tập con
tốt hơn. Tuy nhiên, tìm kiếm nhiều có nghĩa là sẽ mất nhiều thời gian và nguồn lực mà
chúng ta lại thường luôn hạn chế về nguồn lực. Do vậy, mục đích là tìm được một tập
con tối ưu nhất có thể trong thời gian ít nhất có thể. Các chiến lược tìm kiếm có thể
được chia thành 3 nhóm dưới đây.
Tìm kiếm toàn bộ (Exhausive/Complete Search): Đây là phương pháp tìm tất cả
các khả năng có thể của các tập con sau đó tìm một tập con tối ưu nhất. Nhìn chung,
độ phức tạp không gian của phương pháp này (số lượng tập con cần tạo ra) là O(2
N
).
Nếu chúng ta biết được hướng tìm kiếm, thì không gian tìm kiếm là (

N
0
) + (
N
1
) + …+
(
N
M
), trong đó M là số lượng thuộc tính tối thiểu của một tập con thỏa mãn một số tiêu
chí đánh giá nào đó.



Chương 2: Trích chọn thuộc tính Trang 20

Tìm kiếm theo kinh nghiệm (Heuristic Search): Như tên gọi của phương pháp,
phương pháp tìm kiếm theo kinh nghiệm được triển khai trong khi tìm kiếm, điều này
tránh được việc tìm kiếm một cách khô cứng, máy móc (brute-force search) nhưng
phương pháp này cũng đi cùng với nguy cơ không tìm được các tập con tối ưu. Độ
phức tạp không gian của phương pháp tìm kiếm theo kinh nhiệm là đường đi nối từ
điểm bắt đầu đến điểm kết thúc (điểm tìm ra tập con tối ưu). Độ dài tối đa của đường
đi này là N và số lượng tập con được tạo ra là O(N). Phương pháp tìm kiếm theo kinh
nghiệm cho ra kết quả nhanh hơn so với phương pháp tìm kiếm toàn bộ, do phương
pháp này chỉ tìm kiếm theo một đường đi cụ thể và tìm ra một tập con gần tối ưu.
Tìm kiếm không xác đinh(Nondeterministic Search): Không giống như hai chiến
lược tìm kiếm được trình bày ở trên, chiến lược này tìm kiếm tập con kế tiếp theo kiểu
ngẫu nhiên. Có hai đặc điểm chính của chiến lược tìm kiếm này: (1) Chúng ta không
cần phải đợi cho đến khi tìm kiếm kết thúc; và (2) Chúng ta không biết khi nào tập tối
ưu được xuất hiện mặc dù chúng ta biết rằng tại mỗi bước có một tập tốt hơn xuất hiện.

Hình 2.2 dưới đây thể hiện mối quan hệ giữa hướng tìm kiếm và chiến lược tìm
kiếm. X thể hiện sự kết hợp giữa chiến lược tìm kiếm và hướng tìm kiếm là không khả
thi.

Hướng tìm kiếm
Chiến lược tìm kiếm
Toàn bộ
Kinh nghiệm
Không xác định
SFG


×
SBG


×
BG


×
RG
×


Bảng 2. 1 : Chiến lược tìm kiếm và hướng tìm kiếm

2.2. Tiêu chuẩn chọn lựa
Tất cả các chiến lược tìm kiếm đều có nhu cầu đánh giá một thuộc tính hoặc một
tập con thuộc tính để xác định thuộc tính/tập con đó là tốt hay không tốt. Việc đánh

giá này thường là phức tạp và có nhiều chiều đánh giá. Ví dụ, đánh giá có thể được đo
lường theo những khía cạnh (1) Các thuộc tính được chọn lựa có làm tăng độ chính



Chương 2: Trích chọn thuộc tính Trang 21

xác của bộ phân lớp hay không và (2) Các thuộc tính được chọn lựa có giúp làm đơn
giản các kết quả học do đó sẽ các kết quả này có thể dễ dàng để hiểu hay không…
Dưới đây là một số đo lường thường được sử dụng trong trích chọn thuộc tính.
2.2.1. Đo lường thông tin
Thông tin là một cách đo lường độ không ổn định của người nhận tin khi một
người nhận tất cả các tin nhắn. Nếu người nhận tin biết được tin nhắn nào đang đến thì
sự ngạc nhiên (uncertainty) của anh ta sẽ thấp. Trong trường hợp anh ta hoàn toàn
không biết tin nhắn nào đang đến, chúng ta giả sử rằng tất có các tin nhắn có xác suất
đến bằng nhau, thì sự ngạc nhiên của anh ta đối với tin nhắn đó là cao. Trong ngữ
cảnh của phân lớp, các tin nhắn là các lớp. Giả sử U là một hàm đo lường độ không ổn
định của lớp, nếu U có giá trị lớn có nghĩa là mức độ không ổn định cao.
Cho một hàm đo lường độ không ổn định U và P(c
i
) là tiền xác suất (prior
probability) của lớp c
i
, thông tin thu được (information gain) từ một thuộc tính X, ký
hiệu IG(X), được định nghĩa là sự khác biệt giữa độ không ổn định ban đầu (prior
uncertainty) và độ không ổn định kỳ vọng (expected posterior uncertainty) khi sử
dụng thuộc tính X.

Tiêu chí đánh giá thuộc tính dựa trên khái niệm thông tin thu được được thực hiện
như sau: Trong 2 thuộc tính X và Y, thuộc tính X được chọn lựa dựa nếu IG(X) >

IG(Y). Điều này có nghĩa là một thuộc tính được chọn khi nó có thể làm giảm độ
không ổn định nhiều hơn. Nói một cách khác, nếu một thuộc tính không thể làm giảm
độ không ổn định thì thuộc tính đó là thuộc tính không liên quan (irrelevant).
2.2.2. Đo lường khoảng cách
Kiểu đo lường này cũng được biết đến như là đo lường khác biệt hoặc đo lường
phân biệt. Đo lường này được thực hiện thông qua việc đo khoảng cách giữa các hàm
xác suất điều kiện lớp. Ví dụ đối với trường hợp có 2 lớp, D(X) là khoảng cách giữa
P(X|c
1
) và P(X|c
2
), luật đánh giá thuộc tính xây dựng dựa trên khoảng cách D(X) nói
rằng, trong hai thuộc tính X và Y thuộc tính X được chọn nếu D(X) > D(Y). Mục đích
của việc chọn lựa này là ta cố gắng tìm ra các thuộc tính sao cho hai lớp được phân
chia (khoảng cách giữa 2 lớp) là xa nhất có thể được. Một khoảng cách lớn hơn cũng
có nghĩa là sẽ dễ dàng hơn để phân chia hai lớp. Nếu P(X|c
1
) và P(X|c
2
) có giá trị bằng
nhau thì D(X)=0, thuộc tính X không có vai trò gì trong việc phân chia hai lớp c
1
và c
2.




Chương 2: Trích chọn thuộc tính Trang 22


Ngược lại nếu D(X)=1 (P(X|c
1
)=0 và P(X|c
2
)=1 hoặc P(X|c
1
)=1 và P(X|c
2
)=0) thì D(X)
đạt cực đại và việc phân chia hai lớp c
1
và c
2
lúc này là dễ dàng thực hiện nhất.
2.2.3. Đo lường phụ thuộc
Đo lường này cũng được biết đến như là đo lường mối quan hệ, đo lường mối liên
hệ. Đo lường này được thiết kế để lượng hóa mối quan hệ giữa hai biến bằng việc nếu
biết được giá trị một biến ta có thể dự đoán được giá trị của biến còn lại. Trong đánh
giá thuộc tính, thay bằng việc kiểm tra một thuộc tính thay đổi thông tin thu thập được
hoặc thay đổi kỳ vọng xác suất lớp như thế nào, thì chúng ta sẽ xem xét một thuộc
tính liên hệ với một lớp như thế nào (mạnh hay yếu). Gọi R(X) là đo lường phụ thuộc
giữa thuộc tính X và lớp C, ta chọn thuộc tính X dựa trên đo lường phụ thuộc với
thuộc tính Y nếu R(X) > R(Y). Nói một cách khác, chúng ta chọn thuộc tính có mối
liên hệ chặt chẽ với lớp C hơn. Nếu X và C là độc lập thống kê thì giữa X và Y sẽ
không có mối liên hệ và việc loại bỏ thuộc tính X sẽ không làm ảnh hưởng đến việc
phân lớp các thuộc tính còn lại. Nếu mỗi giá trị của thuộc tính X có mối liên hệ với
một giá trị của lớp C, chúng ta kỳ vọng rằng R(X) sẽ có giá trị cực đại và thuộc tính X
được chọn thuộc về lớp C.
2.2.4. Đo lường độ đồng nhất
Chúng ta nhận thấy rằng cả ba phương pháp đo lường ở trên đều sử dụng chung

một cách là có gắng tìm ra các thuộc tính sao cho việc tuyên bố nó thuộc về lớp này
mà không thuộc về lớp khác là thuyết phục nhất. Một hạn chế chung của cả ba phương
pháp này là chúng không chỉ ra được mối liên hệ giữa hai thuộc tính tốt như nhau
trong tập thuộc tính được chọn lựa, do đó đôi khi dẫn đến việc chọn “thừa” thuộc tính.
Đo lường độ đồng nhất (consistency measure) cố gắng tìm ra số lượng thuộc tính cần
thiết nhỏ nhất có thể phân chia các các lớp sao cho độ đồng nhất giữa việc sử dụng các
thuộc tính được chọn lựa này với việc sử dụng toàn bộ các thuộc tính là như nhau.
Một cách trực quan đo lường độ đồng nhất cố gắng tìm một tập thuộc tính con sao cho
P(C|FullSet) = P(C|Subset). Tiêu chí đánh giá thuộc tính dựa trên đo lường độ đồng
nhất được phát biểu như sau: Chúng ta nên chọn tập tối thiểu các thuộc tính mà tập
các thuộc tính này có thể giữ được độ đồng nhất của dữ liệu như là toàn bộ các thuộc
tính. Không đồng nhất xuất hiện khi hai thực thể có những giá trị thuộc tính tương tự
nhau nhưng lại thuộc về hai lớp khác nhau. Sử dụng đo lường độ đồng nhất có thể loại
bỏ được các thuộc tính thừa và thuộc tính không liên quan trong dữ liệu.



Chương 2: Trích chọn thuộc tính Trang 23

2.2.4. Đo lường chính xác
Kiểu đo lường này phụ thuộc vào bộ phân lớp. Cho một bộ phân lớp, trong rất
nhiều khả năng có thể của các tập con thuộc tính, tập con thuộc tính được chọn là tập
con cho kết quả dự đoán tốt nhất. Chúng ta thấy rằng phương pháp đo lường này hoàn
toàn khác biệt với các phương pháp đo lường ở trên. Phương pháp này xuất hiện nhằm
trả lời câu hỏi, nếu chúng ta muốn có một tập các thuộc tính có thể cải thiện độ chính
xác của bộ phân lớp thì tại sao không sử dụng độ chính xác phân lớp như một đo
lường ?. Tuy nhiên, cũng xuất hiện một số khó khăn đối với kiểu đo lường này đó là:
(1) Làm thế nào ước lượng được độ chính xác dự đoán thực sự và tránh được hiện
tượng overfitting; (2) Sẽ rất mất thời gian để một bộ phân lớp học được từ các dữ liệu
bằng một giải thuật nào đó.

Hình 2.3 [3-4] dưới đây thể hiện mối quan hệ giữa 5 kiểu đo lường được trình bày
ở trên.


Hình 2. 2: Mối quan hệ giữa 5 kiểu đo lường

2.3. Mô hình Filter và Wrapper
Cách sử dụng đơn giản nhất của chọn lựa thuộc tính là sử dụng độ chính xác của
bộ phân lớp như một đo lường hiệu quả của bộ phân lớp. Nếu mục đích của chúng ta
là để cực tiểu hóa tỷ lệ lỗi của phân lớp, và chi phí đo lường đối với mỗi thuộc tính là
như nhau thì sử dụng độ chính xác dự báo của lớp như một tiêu chí đo lường hiệu quả
là rất khả thi. Do vậy, chúng ta nên xây dựng một bộ phân lớp với mục đích là để có



Chương 2: Trích chọn thuộc tính Trang 24

được độ chính xác dự báo cao nhất có thể, sau đó chọn lựa các thuộc tính được sử
dụng bởi bộ phân lớp như là các thuộc tính tối ưu. Mô hình này cũng được gọi là mô
hình Wrapper. Ngoài phương pháp đo lường trực tiếp ở trên, cũng có một phương
pháp đo lường hiệu quả không trực tiếp khác, chủ yếu dựa trên việc đo lường khoảng
cách và đo lường thông tin trong việc chọn lựa thuộc tính. Mô hình được xây dựng
theo cách này được gọi là mô hình Filter. Dưới đây, chúng ta sẽ tìm hiểu hai mô hình
này.
2.3.1 Mô hình Wrapper
Mối quan tâm chính của khai phá dữ liệu là thu được độ chính xác dự đoán cao.
Vấn đề chính ở đây là làm thế nào chúng ta có thể cải thiện được hiệu quả phân lớp
dựa trên những tri thức học được từ dữ liệu. Một trong những các phương pháp nhằm
cải thiện hiệu quả phân lớp là thông qua chọn lựa thuộc tính, vì thông qua chọn lựa
thuộc tính chúng ta sẽ có tập dữ liệu tốt hơn cho phân lớp. Nếu chúng ta có thể chọn

được các thuộc tính liên quan và loại bỏ các thuộc tính nhiễu chúng ta có thể nâng cao
hiệu quả phân lớp mà cụ thể là độ chính xác của bộ phân lớp.
Mô hình chọn lựa thuộc tính Wrapper có thể giúp chúng ta thực hiện được những
mong muốn trên. Hình 2.4 dưới đây thể hiện mô hình Wrapper. Mô hình Wrapper bao
gồm 2 giai đoạn: Giai đoạn 1 – chọn lựa tập con thuộc tính, trong giai đoạn này các
tập con thuộc tính tốt nhất sẽ được lựa chọn dựa trên tiêu chí độ chính xác lớp (của bộ
dữ liệu tập huấn); Giai đoạn 2 – học và kiểm tra (learning and testing), một bộ phân
lớp sẽ học các tri thức từ dữ liệu tập huấn thông qua một tập các thuộc tính tốt nhất
được chọn lựa, và được kiểm tra lại bằng một bộ dữ liệu kiểm tra. Khi các tập con
thuộc tính được tạo ra một cách hệ thống (hướng tìm kiếm), đối với mỗi tập con thuộc
tính sẽ có một bộ phân lớp được tạo ra từ dữ liệu bao gồm các thuộc tính đã được
chọn lựa. Độ chính xác của bộ phân lớp được ghi lại trong mỗi lần thử nghiệm và tập
con thuộc tính với độ chính xác cao nhất sẽ được giữ lại. Khi quá trình chọn lựa kết
thúc, tập con thuộc tính với độ chính xác cao nhất sẽ được chọn. Giai đoạn 2 là quá
trình học và kiểm tra thông thường, trong giai đoạn này chúng ta sẽ có độ chính xác
dự báo trên bộ dữ liệu kiểm tra.

×