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

Lựa chọn thuộc tính trong khai phá dữ liệu

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.71 MB, 29 trang )

ĐẠI HỌC THÁI NGUYÊN
KHOA CÔNG NGHỆ THÔNG TIN
-----------------------------

ĐẠI HỌC THÁI NGUYÊN
KHOA CÔNG NGHỆ THÔNG TIN
-----------------------------

TRỊNH VĂN HÀ

TRỊNH VĂN HÀ

LỰA CHỌN THUỘC TÍNH TRONG
KHAI PHÁ DỮ LIỆU

LỰA CHỌN THUỘC TÍNH TRONG
KHAI PHÁ DỮ LIỆU
Chuyên ngành: KHOA HỌC MÁY TÍNH
Mã số

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

: 60.48.01

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

Hướng dẫn khoa học: TS NGUYỄN THANH TÙNG

THÁI NGUYÊN 2008

THÁI NGUYÊN 2008




2

3

3.1.4. Thuật toán EBR ..........................................................................35

MỤC LỤC
Trang phụ bìa ......................................................................................................1
Mục lục ...............................................................................................................2
Lời mở đầu .........................................................................................................4
Chương 1. KHÁI QUÁT VỀ KHAI PHÁ DỮ LIỆU ......................................6
1.1.Tại sao phải khai phá dữ liệu ....................................................................6
1.2. Quá trình khai phá dữ liệu .......................................................................7
1.3. Các phương pháp khai phá dữ liệu ..........................................................9
1.4. Các loại dữ liệu có thể khai phá ...........................................................10
1.5. Các ứng dụng của khai phá dữ liệu........................................................10

3.1.5. Thuật toán SCRAP .....................................................................38
3.1.6. Lựa chọn nhóm ...........................................................................40
3.2. Các thuật toán theo cách tiếp cận wrapper .............................................42
3.3.1 Thuật toán LVW ..........................................................................42
3.3.2 Thuật toán NEURALNET ..........................................................43
3.3. Một số thuật toán khác ..........................................................................44
3.3.1. Thuật toán Genetic .....................................................................44
3.3.2. Lựa chọn thuộc tính thông qua rời rạc hóa dữ liệu ......................46
3.4. Kết luận chương 3 .................................................................................53

1.6. Một số thách thức đặt ra cho việc khai phá dữ liệu ................................14


KẾT LUẬN .....................................................................................................54

1.7. Tổng kết chương 1 ................................................................................15

Tài liệu tham khảo ..........................................................................................56

Chương 2. KHÁI QUÁT VỀ LỰA CHỌN THUỘC TÍNH TRONG KHAI
PHÁ DỮ LIỆU ................................................................................................16
2.1. Rút gọn thuộc tính .................................................................................16
2.2. Khái quát về lựa chọn thuộc tính ...........................................................18
2.2.1. Bài toán lựa chọ thuộc tính .........................................................18
2.2.2. Đặc điểm chung của các thuật toán lựa chọn thuộc tính ..............20
2.2.3. Ứng dụng của các kỹ thuật lựa chọn thuộc tính ..........................23
2.3. Kết luận chương 2 .................................................................................26
Chương 3. MỘT SỐ THUẬT TOÁN LỰA CHỌN THUỘC TÍNH ĐIỂN
HÌNH ...............................................................................................................28
3.1. Các thuật toán theo cách tiếp cận filter ..................................................28
3.1.1 Thuật toán RELIEF .....................................................................28
3.1.2. Thuật toán FOCUS .....................................................................31
3.1.3. Thuật toán LVF ..........................................................................33
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên





4

5

LỜI MỞ ĐẦU

khai phá: Gia tăng tốc độ, cải thiện chất lượng, tính dễ hiểu của các kết quả thu

Như đã biết, trong những năm gần đây công nghệ thông tin phát triển vô
cùng nhanh chóng và được ứng dụng rộng rãi trong mọi lĩnh vực đời sống xã
hội, nhất là trong quản lý, một lĩnh vực mà yếu tố khoa học công nghệ có tính
quyết định. Sự việc đó dẫn đến sự bùng nổ thông tin, làm cho những nhà quản lý
rơi vào tình trạng “ngập lụt thông tin". Chính vì vậy, các chuyên gia cho rằng,
hiện nay chúng ta đang sống trong một xã hội “rất giàu về thông tin nhưng
nghèo về tri thức”. Tình hình đó đòi hỏi phải phát triển các phương pháp khai
phá, phát hiện ra những thông tin, tri thức có ích bị che giấu trong các “núi” dữ
liệu phục vụ cho công việc của các nhà quản lý, các chuyên gia, từ đó thúc đẩy
khả năng sản xuất, kinh doanh, cạnh tranh của các tổ chức, doanh nghiệp.
Khai phá dữ liệu (Data Mining) là một lĩnh vực khoa học liên ngành mới
xuất hiện gần đây nhằm đáp ứng nhu cầu này. Các kết quả nghiên cứu cùng với
những ứng dụng thành công trong khai phá dữ liệu, khám phá tri thức cho thấy
khai phá dữ liệu là một lĩnh vực khoa học tiềm năng, mang lại nhiều lợi ích,
đồng thời có ưu thế hơn hẳn so với các công cụ phân tích dữ liệu truyền thống.

được.
Từ năm 1970 đến nay, rút gọn thuộc tính (hay còn gọi là rút gọn số chiều –
Dimension reduction) đã trở thành đề tài được quan tâm bởi nhiều nhà nghiên
cứu thuộc các lĩnh vực nhận dạng thống kê, học máy, khai phá dữ liệu.
Chính những lý do trên, chúng tôi chọn đề tài “Lựa chọn thuộc tính trong
khai phá dữ liệu” làm đề tài nghiên cứu của mình.

Nội dung của luận văn được trình bày trong 3 chương và phần kết luận.
Chương 1: Trình bày khái quát về Khai phá dữ liệu, bao gồm: Khai phá dữ
liệu là gì, quy trình khai phá, các kỹ thuật và một số ứng dụng quan trọng của
khai phá dữ liệu.
Chương 2: Trình bày khái quát về nội dung, các cách tiếp cận, quy trình
giải quyết vấn đề lựa chọn thuộc tính và một số ứng dụng quan trọng của lựa
chọn thuộc tính.
Chương 3: Trình bày kết quả nghiên cứu một số thuật toán lựa chọn thuộc
tính điển hình.

Hiện nay, các CSDL cần khai phá thường có kích thước rất lớn, chẳng hạn

Thái nguyên, tháng 11 năm 2008.

các CSDL tin-sinh-học (Bioinformatics), CSDL đa phương tiện, CSDL giao tác,

Học viên

… . Các CSDL này thường chứa tới hàng ngàn thuộc tính, gây rất nhiều khó
khăn cho việc khai phá, thậm chí còn làm cho nhiệm vụ khai phá trở nên bất khả
thi. Vấn đề đặt ra là phải tìm cách rút gọn số thuộc tính mà không làm những

Trịnh Văn Hà

thông tin cần thiết phục vụ nhiệm vụ khai phá.
Mục đích của rút gọn thuộc tính là làm giảm số chiều của không gian thuộc
tính, loại bỏ dữ liệu dư thừa, không liên quan. Rút gọn thuộc tính đóng vai trò
quan trọng trong bước tiền xử lý dữ liệu cũng như trong quá trình khai phá. Kết
quả rút gọn thuộc tính ảnh hưởng trực tiếp đến hiệu quả thực hiện các nhiệm vụ


Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




6

7

Do sự phát triển nhanh chóng về phạm vi áp dụng và các phương pháp tìm

CHƢƠNG 1

kiếm tri thức, nên đã có nhiều quan điểm khác nhau về khai phá dữ liệu. Tuy

KHÁI QUÁT VỀ KHAI PHÁ DỮ LIỆU

nhiên, ở một mức độ trừu tượng nhất định, chúng ta định nghĩa khai phá dữ liệu
như sau :

1.1. Tại sao phải khai phá dữ liệu.
Ước tính cứ khoảng 20 tháng lượng thông tin trên thế giới lại tăng gấp đôi.
Chính vì vậy, hiện nay lượng dữ liệu mà con người thu thập và lưu trữ được
trong các kho dữ liệu là rất lớn, nhiều khi vượt quá khả năng quản lý. Thời gian
này, người ta bắt đầu đề cập đến khái niệm khủng hoảng phân tích dữ liệu tác
nghiệp để cung cấp thông tin với yêu cầu chất lượng ngày càng cao cho những

người ra quyết định trong các tổ chức tài chính, thương mại, khoa học, ... . Đúng
như John Naisbett đã cảnh báo “Chúng ta đang chìm ngập trong dữ liệu mà vẫn
đói tri thức”.
Với một khối lượng dữ liệu tăng nhanh và khổng lồ như vậy, rõ ràng các
phương pháp thủ công truyền thống áp dụng để phân tích dữ liệu sẽ không hiệu
quả, tốn kém và dễ dẫn đến những sai lệch. Do đó để có thể khai phá hiệu quả
các cơ sở dữ liệu lớn cần phải có những kỹ thuật mới, các kỹ thuật khai phá dữ

Khai phá dữ liệu là quá trình tìm kiếm, phát hiện các tri thức mới, hữu ích
tiềm ẩn trong cơ sở dữ liệu lớn.
Khám phá tri thức trong CSDL (Knowledge Discovery in Databaes – KDD)
là mục tiêu chính của khai phá dữ liệu, do vậy hai khái niệm khai phá dữ liệu và
KDD được các nhà khoa học xem là tương đương nhau. Thế nhưng, nếu phân
chia một cách chi tiết thì khai phá dữ liệu là một bước chính trong quá trình
KDD.
Khám phá tri thức trong CSDL là lĩnh vực liên quan đến nhiều ngành như:
Tổ chức dữ liệu, xác suất, thống kê, lý thuyết thông tin, học máy, CSDL, thuật
toán, trí tuệ nhân tạo, tính toán song song và hiệu năng cao, ... . Các kỹ thuật
chính áp dụng trong khám phá tri thức phần lớn được thừa kế từ các ngành này.
1.2. Quá trình khai phá dữ liệu
Quá trình khám phá tri thức có thể phân thành các công đoạn sau :

liệu (Data Mining).
Khai phá dữ liệu là một lĩnh vực khoa học mới xuất hiện, nhằm tự động
hóa khai thác những thông tin, tri thức hữu ích, tiềm ẩn trong các CSDL cho các
tổ chức, doanh nghiệp, ... từ đó thúc đẩy khả năng sản xuất, kinh doanh, cạnh
tranh của tổ chức, doanh nghiệp này. Các kết quả nghiên cứu cùng với những
ứng dụng thành công trong khai phá dữ liệu, khám phá tri thức cho thấy khai
phá dữ liệu là một lĩnh vực khoa học tiềm năng, mang lại nhiều lợi ích, đồng
thời có ưu thế hơn hẳn so với các công cụ phân tích dữ liệu truyền thống. Hiện

nay, khai phá dữ liệu được ứng dụng rộng rãi trong các lĩnh vực như: Phân tích
dữ liệu hỗ trợ ra quyết định, điều trị y học, tin-sinh học, thương mại, tài chính,

Trích lọc dữ liệu: Là bước tuyển chọn những tập dữ liệu cần được khai
phá từ các tập dữ liệu lớn ( databases, data warehouses, data
repositories) ban đầu theo một số tiêu chí nhất định.
Tiền xử lý dữ liệu: Là bước làm sạch dữ liệu (xử lý dữ liệu không đầy
đủ, dữ liệu nhiễu, dữ liệu không nhất quán, ... ), tổng hợp dữ liệu (nén,
nhóm dữ liệu, tính tổng, xây dựng các histograms, lấy mẫu, ...), rời rạc
hóa dữ liệu (rời rạc hóa dựa vào histograms, entropy, phân khoảng, ...).
Sau bước tiền sử lý này, dữ liệu sẽ nhất quán, đầy đủ, được rút gọn và
rời rạc hóa.

bảo hiểm, text mining, web mining ... .

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




8

9

Biến đổi dữ liệu: Là bước chuẩn hóa và làm mịn dữ liệu để đưa dữ liệu


 Học không có giám sát (Unsupervised Learning) : Là quá trình phân

về dạng thuận lợi nhất nhằm phục vụ việc áp dụng các kỹ thuật khai

chia một tập các đối tượng thành các lớp hay cụm (clusters) tương tự

phá ở bước sau.

nhau mà không biết trước các thông tin về lớp và không có các ví dụ

Khai phá dữ liệu: Là bước áp dụng những kỹ thuật phân tích (phần

huấn luyện.

nhiều là các kỹ thuật học máy) nhằm khai thác dữ liệu, trích lọc những

 Học nửa giám sát (Semi-Supervised Learning) : Là quá trình phân

mẫu tin (information patterns), những mối quan hệ đặc biệt trong dữ

chia một tập các đối tượng thành các lớp dựa trên một tập nhỏ các ví

liệu. Đây được xem là bước quan trọng và tiêu tốn thời gian nhất của

dụ huấn luyện và một số thông tin về một số nhãn lớp đã biết.

toàn bộ quá trình KDD.

1.3. Các phƣơng pháp khai phá dữ liệu


Đánh giá và biểu diễn tri thức: Những mẫu thông tin và mối quan hệ

Kỹ thuật khai phá dữ liệu thường được chia làm 2 nhóm chính:

trong dữ liệu đã được phát hiện ở bước khai phá dữ liệu được chuyển
sang và biểu diễn ở dạng gần gũi với người sử dụng như đồ thị, cây,
bảng biểu, luật, ... . Đồng thời bước này cũng đánh giá những tri thức
khai phá được theo những tiêu chí nhất định.

Kỹ thuật mô tả: Các nhiệm vụ mô tả về ccác tính chất hoặc các đặc tính
chung của dữ liệu trong CSDL hiện có. Các kỹ thuật này gồm có: phân cụm
(clustering), tóm tắt (summerization), trực quan hóa (visualiztion), phân tích sự
phát triển và độ lệch (Evolution and deviation analysis), phân tích luật kết hợp

Hình 1.1 dưới đây mô tả các công đoạn của khai phá dữ liệu:

(association rules analysis)… .

Biểu diễn

Kỹ thuật dự đoán: Có nhiệm vụ đưa ra các dự đoán dựa vào các suy diễn

Khai phá
Thu nhỏ
Tri thức

Làm sạch

(regression), … .


Mẫu

Chọn lọc
Thu nhỏ dữ
liệu
Dữ liệu đích

trên dữ liệu hiện thời. Các kỹ thuật này gồm: Phân lớp (classification), hồi quy

Với hai đích chính của khai phá dữ liệu là Dự đoán (Prediction) và Mô tả

Xử lý dữ liệu
đích

(Description), người ta thường sử dụng các kỹ thuật sau cho khai phá dữ liệu:

Dữ liệu

 Phân lớp và dự đoán (classification and prediction) : Là việc xếp các
Hình 1.1. Các bƣớc thực hiện quá trình khai phá dữ liệu

Nếu theo quan điểm của học máy (Machine Learning), thì các kỹ thuật khai
phá dữ liệu bao gồm:
 Học có giám sát (Supervised Learning) : Là quá trình phân lớp các
đối tượng trong cơ sở dữ liệu dựa trên một tập các ví dụ huấn luyện
về các thông tin về nhãn lớp đã biết.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

đối tượng vào những lớp đã biết trước. Ví dụ, phân lớp các bệnh

nhân, phân lớp các loài thực vật, ... . Hướng tiếp cận này thường sử
dụng một số kỹ thuật của học máy như cây quyết định (decision tree),
mạng nơ-ron nhân tạo (neural network), ... . Phân lớp và dự đoán còn
được gọi là học có giám sát.
 Phân cụm (clustering/segmentation) : Là việc xếp các đối tượng theo
từng cụm tự nhiên.



Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




10

11

 Luật kết hợp (association rules) : Là việc phát hiện các luật biểu diễn

Khai phá dữ liệu là một lĩnh vực liên quan tới nhiều ngành học khác như:

tri thức dưới dạng khá đơn giản. Ví dụ: “70% nữ giới vào siêu thị

hệ CSDL, thống kê, trực quan hoá… hơn nưa, tuỳ vào cách tiếp cận được sử

mua phấn thì có tới 80% trong số họ cũng mua thêm son”.

dụng, khai phá dữ liệu còn có thể áp dụng một số kỹ thuật như mạng nơron, lý


 Phân tích hồi quy (regression analysis) : Là việc học một hàm ánh xạ
từ một tập dữ liệu thành một biến dự đoán có giá trị thực. Nhiệm vụ
của phân tích hồi quy tương tự như của phân lớp, điểm khác nhau là ở
chỗ thuộc tính dự báo là liên tục chứ không phải rời rạc.
 Phân tích các mẫu theo thời gian (sequential/temporal patterns) :

thuyết tập thô, tập mờ, biểu diễn tri thức… So với các phương pháp này, khai
phá dữ liệu có một số ưu thế rõ rệt.
So với phương pháp học máy, khai phá dữ liệu có lợi thế hơn ở chỗ, khai
phá dữ liệu có thể sử dụng với các CSDL chứa nhiều nhiễu, dữ liệu không
đầy đủ hoặc biến đổi liên tục. Trong khi đó phương pháp học máy chủ yếu

Tương tự như khai phá luật kết hợp nhưng có quan tâm đến tính thứ

được áp dụng trong các CSDL đầy đủ, ít biến động và tập dữ liệu không

tự theo thời gian.

qua lớn

 Mô tả khái niệm (concept description and summarization) : Thiên về
mô tả, tổng hợp và tóm tắt các khái niệm. Ví dụ tóm tắt văn bản.
Hiện nay, các kỹ thuật khai phá dữ liệu có thể làm việc với rất nhiều kiểu
dữ liệu khác nhau. Một số dạng dữ liệu điển hình là: CSDL quan hệ, CSDL đa
chiều (Multidimensional Data Structures), CSDL giao tác, CSDL quan hệ
hướng đối tượng, dữ liệu không gian và thời gian, CSDL đa phương tiện, dữ
liệu văn bản và web, ... .

chỗ các ví dụ của chuyên gia thường ở mức cao hơn nhiều so với các dữ
liệu trong CSDL, và chúng thường chỉ bao hàm được các trường hợp quan

trọng. Hơn nữa các chuyên gia sẽ xác nhận giá trị và tính hữu ích của các
mẫu phát hiện được.
Phương pháp thống kê là một trong những nền tảng lý thuyết của khai phá
dữ liệu, nhưng khi so sánh hai phương pháp với nhau ta có thể thấy các

1.4. Các loại dữ liệu có thể khai phá
Về cơ bản, khai phá dữ liệu có thể ứng dụng cho bất kỳ kho thông tin nào bao
gồm:

phương pháp thống kê cũng tồn tại một số điểm yếu mà khai phá dữ liệu
khắc phục được:
Với nhưng ưu điểm đó, khai phá dữ liệu hiện đang được áp dụng một

+ Các cơ sở dữ liệu quan hệ.

cách rộng rãi trong nhiều lĩnh vực kinh doanh và đời sống khác nhau như:

+ Kho dữ liệu.

marketing, tài chính, ngân hàng và bảo hiểm, khoa học, y tế, an ninh, internet…

+ Cácc cơ sở dữ liệu giao tác

rất nhiều tổ chức và công ty lớn trên thế giới đã áp dụng kỹ thuật khai phá dữ

+ Các hệ thống cơ sở dữ liệu tiên tiến

liệu vào các hoạt động sản xuất kinh doanh của mình và thu được những lợi ích

+ Các tệp


to lớn. Các công ty phần mềm lớn trên thế giới cũng rất quan tâm và chú trọng

+ ……

tới việc nghiên cứu và phát triển kỹ thuật khai phá dữ liệu: Oracle tích hợp các

1.5. Các ứng dụng của khai phá dữ liệu

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

Phương pháp hệ chuyên gia: phương pháp này khác với khai phá dữ liệu ở



Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




12

13

công cụ khai phá dữ liệu vào bộ Oracle9i, IBM đã đi tiên phong trong việc phát

điện thoại khách hàng sử dụng rất nhiều dịch vụ khác nhau, ví dụ như : gọi điện

triển các ứng dụng khai phá dữ liệu với các ứng dụng như Intelligence Miner…


thoại, truy cập internet, tra cứu thông tin từ hộp thư tự động, nhắn tin, gọi 108,

Các ứng dụng này được chia thành 3 nhóm ứng dụng khác nhau : Phát hiện

.v.v. Dựa trên cơ sở dữ liệu khách hàng chúng ta có thể khám phá mối liên kết

gian lận (fraud detection), các ứng dụng hỗ trợ tiếp thị và quản lý khách hàng,

trong việc sử dụng các dịch vụ, có thể đưa ra các luật như (khách hàng gọi điện

cuối cùng là các ứng dụng về phát hiện và xử lý lỗi hệ thống mạng.

thoai quốc tế) => (truy cập internet), v.v... Trên cơ sở phân tích được các luật
như vậy các công ty viễn thông có thể điều chỉnh việc bố trí nơi đăng ký các

Phát hiện gian lận ( fraud detection ):
Gian lận là một trong những vấn đề nghiêm trọng của các công ty viễn
thông, nó có thể làm thất thoát hàng tỷ đồng mỗi năm. Có thể chia ra làm 2 hình
thức gian lận khác nhau thường xảy ra đối với các công ty viễn thông : Trường
hợp thứ nhất xảy ra khi một khách hàng đăng ký thuê bao với ý định không bao
giờ thanh toán khoản chi phí sử dụng dịch vụ. Trường hợp thứ hai liên quan đến
một thuê bao hợp lệ nhưng lại có một số hoạt động bất hợp pháp gây ra bởi một
người khác. Những ứng dụng này sẽ thực hiện theo thời gian thực bằng cách sử

dịch vụ phù hợp, ví dụ điểm đăng ký điện thoại quốc tế nên bố trí gần với điểm
đăng ký Internet chẳng hạn.
Một ứng dụng phục vụ chiến lược marketing khác đó là dựa trên kỹ thuật
luật kết hợp của data mining để tìm ra tập các thành phố, tỉnh nào trong nước
thường gọi điện thoại với nhau. Ví dụ ta có thể tìm ra tập phổ biến ( Cần Thơ,
HCM, Hà Nội ) chẳng hạn. Điều này thật sự hữu dụng trong việc hoạch định

chiến lược tiếp thị hoặc xây dựng các vùng cước phù hợp.

dụng dữ liệu chi tiết cuộc gọi, một khi xuất hiện một cuộc gọi nghi ngờ gian

Một vấn đề khá phổ biến ở các công ty viễn thông hiện là sự thay đổi nhà

lận, lập tức hệ thống sẽ có hành động ứng xử phù hợp, ví dụ như một cảnh báo

cung cấp dịch vụ (customer churn) đặc biệt với các công ty điện thoại di động.

xuất hiện hoặc từ chối cuộc gọi nếu biết đó là cuộc gọi gian lận.

Đây là vấn đề khá nghiêm trọng ảnh hưởng đến tốc độ phát triển thuê bao, cũng

Hầu hết các phương thức nhận diện gian lận đều dựa trên hành vi sử dụng
điện thoại khách hàng trước kia so sánh với hành vi hiện tại để xác định xem đó
là cuộc gọi hợp lệ không.

như doanh thu của các nhà cung cấp dịch vụ. Thời gian gần đây các nhà cung
cấp dịch vụ di động luôn có chính sách khuyến mãi lớn để lôi kéo khách hàng.
Điều đó dẫn đến một lượng không nhỏ khách hàng thường xuyên thay đổi nhà
cung cấp để hưởng những chính sách khuyến mãi đó. Kỹ thuật data mining hiện

Các ứng dụng quản lý và chăm sóc khách hàng

nay có thể dựa trên dữ liệu tiền sử để tìm ra các quy luật, từ đó có thể tiên đoán

Các công ty viễn thông quản lý một khối lượng lớn dữ liệu về thông tin

trước được khách hàng nào có ý định rời khỏi mạng trước khi họ thực hiện. Dựa


khách hàng và dữ liệu về chi tiết cuộc gọi (call detail records). Những thông tin

trên các kỹ thuật data mining như cây quyết định (decision tree), mạng nơ ron

này có thể cho ta nhận diện được những đặc tính của khách hàng và thông qua

nhân tạo (neural nerwork) trên dữ liệu cước (billing data), dữ liệu chi tiết cuộc

đó có thể đưa ra các chính sách chăm sóc khách hàng thích hợp dựa trên dự

gọi (call detail data), dữ liệu khách hàng (customer data) tìm ra các quy luật mà

đoán hoặc có một chiến lược tiếp thị hiệu quả.

dựa trên đó ta có thể tiên đoán trước ý định rời khỏi mạng của khách hàng, từ đó

Một trong các ứng dụng data mining phổ biến dựa trên việc xem xét luật kết

công ty viễn thông sẽ có các ứng xử phù hợp nhằm lôi kéo khách hàng.

hợp giữa các dịch vụ viễn thông khách hàng sử dụng. Hiện nay trên một đường

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên





14

15

Cuối cùng, một ứng dụng cũng rất phổ biến đó là phân lớp khách hàng
(classifying). Dựa vào kỹ thuật data mining học trên cây quyết định (decision
tree) trên dữ liệu khách hàng và chi tiết cuộc gọi có thể tìm ra các luật để phân

 Số chiều lớn
 Thay đổi dữ liệu và tri thức có thể làm cho các mẫu đã phát hiện không
còn phù hợp.

loại khách hàng. Ví dụ ta có thể phân biệt được khách hàng nào thuộc đối tượng

 Dữ liệu bị thiếu hoặc nhiễu

kinh doanh hay nhà riêng dựa vào các luật sau :

 Quan hệ giữa các trường phức tạp

Luật 1 : nếu không quá 43% cuộc gọi có thời gian từ 0 đến 10 giây và không
đến 13% cuộc gọi vào cuối tuần thì đó là khách hàng kinh doanh.
Luật 2 : Nếu trong 2 tháng có các cuộc gọi đến hầu hết từ 3 mã vùng giống
nhau và <56,6% cuộc gọi từ 0-10 giây thì có là khách hàng nhà riêng.
Trên cơ sở tìm ra được các luật tương tự vậy, ta dể dàng phân loại khách hàng,

 Giao tiếp với người sử dụng và kết hợp với các tri thức đã có.
 Tích hợp với các hệ thống khác…

1.7. Tổng kết chƣơng 1
Khai phá dữ liệu là một môn khoa học liên ngành: Cơ sở dữ liệu, học máy
và thống kê toán học, nghiên cứu các kỹ thuật “đào núi tìm vàng” nhằm phát

để từ đó có chính sách phân khúc thị trường hợp lý.
Các ứng dụng phát hiện và cô lập lỗi trên hệ thống mạng viễn thông
(Network fault isolation )
Mạng viễn thông là một cấu trúc cực kỳ phức tạp với nhiều hệ thống phần

hiện những thông tin có giá trị, tiềm ẩn trong các CSDL lớn. Chương mở đầu
này đã trình bày tóm tắt khai phá dữ liệu, bao gồm: Khai phá dữ liệu là gì, quy
trình khai phá, các kỹ thuật và một số ứng dụng quan trọng của khai phá dữ liệu.

cứng và phần mềm khác nhau. Phần lớn các thiết bị trên mạng có khả năng tự

Lựa chọn thuộc tính là một nhiệm vụ quan trọng trong bước tiền xử lý

chuẩn đoán và cho ra thông điệp trạng thái, cảnh báo lỗi (status and alarm

của quá trình khai phá dữ liệu. Mục đích của nó là làm giảm bớt kích thước dữ

message). Với mục tiêu là quản lý hiệu quả và duy trì độ tin cậy của hệ thống

liệu, giúp cho việc khai phá hiệu quả hơn, các kết quả thu được chính xác hơn.

mạng, các thông tin cảnh báo phải được phân tích tự động và nhận diện lỗi

Chương 2 sau đây sẽ trình bày về vấn đề này.

trước khi xuất hiện làm giảm hiệu năng của mạng. Bởi vì số lượng lớn các cảnh

báo độc lập và có vẻ như không quan hệ gì với nhau nên vấn đề nhận diện lỗi
không ít khó khăn. Kỹ thuật data mining có vai trò sinh ra các luật giúp hệ
thống có thể phát hiện lỗi sớm hơn khi nó xảy ra. Kỹ thuật khai thác mẫu tuần
tự (sequential/temporal patterns) của data mining thường được ứng dụng trong
lĩnh vực này thông qua việc khai thác cơ sở dữ liệu trạng thái mạng (network
data).
1.6. Một số thách thức đặt ra cho việc khai phá dữ liệu
 Các cơ sở dữ liệu lớn

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




16

17

CHƢƠNG 2

KHÁI QUÁT VỀ LỰA CHỌN THUỘC TÍNH

Dữ liệu
Kích thước lớn

Khó Xử lý


TRONG KHAI PHÁ DỮ LIỆU
2.1. Rút gọn thuộc tính

Hệ thống
Xử lý

Giảm kích
thước

Hiện nay, các CSDL cần khai phá thường có kích thước rất lớn, chẳng hạn

Dữ liệu kích
thước nhỏ hơn

các CSDL tin-sinh-học (Bioinformatics), CSDL đa phương tiện, CSDL giao tác,
… . Các CSDL này thường chứa tới hàng ngàn thuộc tính, gây rất nhiều khó
khăn cho việc khai phá, thậm chí còn làm cho nhiệm vụ khai phá trở nên bất khả

Hình 2.1: Vấn đề giảm kích thước

thi. Vấn đề đặt ra là phải tìm cách rút gọn số thuộc tính mà không làm những
thông tin cần thiết phục vụ nhiệm vụ khai phá.

Biến đổi thuộc tính là thực hiện việc biến đổi các thuộc tính ban đầu thành

Chính vì thế, từ năm 1970 đến nay, rút gọn thuộc tính (hay còn gọi là rút

thành một tập các thuộc tính mới với số lượng ít hơn sao cho bảo tồn được thông


gọn thứ nguyên – Dimension reduction) đã trở thành đề tài được quan tâm bởi

tin nhiều nhất. Các phương pháp biến đổi thuộc tính lại có thể có hai loại: Trích

nhiều nhà nghiên cứu thuộc các lĩnh vực nhận dạng thống kê, học máy, khai phá

lọc thuộc tính (Feature extraction) và tạo sinh thuộc tính (Feature generation).

dữ liệu.

Trích lọc thuộc tính là kỹ thuật xây dựng một tập thuộc tính mới (có số lượng ít

Mục đích của rút gọn thuộc tính là làm giảm số chiều của không gian thuộc
tính, loại bỏ dữ liệu dư thừa, không liên quan. Rút gọn thuộc tính đóng vai trò
quan trọng trong bước tiền xử lý dữ liệu cũng như trong quá trình khai phá. Kết
quả rút gọn thuộc tính ảnh hưởng trực tiếp đến hiệu quả thực hiện các nhiệm vụ
khai phá: Gia tăng tốc độ, cải thiện chất lượng, tính dễ hiểu của các kết quả thu

chẳng hạn phân tích thành phần chính (Principal Component Analysis), phân
tích phân biệt tuyến tính (Linear Discriminant Analysis). Tạo sinh thuộc tính là
kỹ thuật phát hiện thông tin quan hệ giữa các thuộc tính ban đầu từ đó mở rộng
không gian bằng cách tạo thêm các thuộc tính phản ảnh các thông tin quan hệ
mới phát hiện được. Nhược điểm của các kỹ thuật biến đổi thuộc tính là các

được.
Các kỹ thuật rút gọn thuộc tính có thể được phân thành hai loại: Lựa chọn
thuộc tính (Attribute selection) và biến đổi thuộc tính (Attribute transformation).
Lựa chọn thuộc tính là chọn một tập con tối tiểu tốt nhất (theo một nghĩa
nào đó) từ tập thuộc tính ban đầu của tập dữ liệu.


Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

hơn nhiều) từ các thuộc tính ban đầu bằng cách sử dụng một ánh xạ nào đó;



thuộc tính mới tạo ra thường không mang ý nghĩa vật lý nào đối với người sử
dụng.
Phần lớn các công trình gần đây tập trung vào nghiên cứu các kỹ thuật lựa
chọn thuộc tính. Chương 2 này nhằm trình bày khái quát về các kỹ thuật này.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




18

19

2.2. Khái quát về lựa chọn thuộc tính

quả khai phá với tập thuộc tính “tốt nhất” này và tập thuộc tính ban đầu trên các

2.2.1. Bài toán lựa chọn thuộc tính

tập dữ liệu thực hoặc nhân tạo khác nhau.

Lựa chọn thuộc tính là qúa trình lựa chọn một tập con gồm P thuộc tính từ
tập gồm M thuộc tính (P ≤ M) sao cho không gian thuộc tính được thu gọn lại

một cách tối ưu theo một tiêu chuẩn nhất định. Việc tìm ra một tập con thuộc
tính tốt nhất (làm mất đi ít nhất lượng thông tin cần thiết) thường khó thực hiện;
nhiều bài toán liên quan đến vấn đề này là những bài toán NP-khó. Nhìn chung,
một thuật toán lựa chọn thuộc tính thường bao gồm bốn khâu cơ bản:
Tạo lập tập con,

Hình 2.2. Quy trình lựa chọn thuộc tính

Đánh giá tập con,

Nhiều khía cạnh khác nhau của bài toán lựa chọn thuộc tính đã được các

Kiểm tra điều kiện dừng,

nhà nghiên cứu tìm hiểu. Xây dựng quy trình lần lượt tạo các tập con để đánh

Kiểm chứng kết quả.

giá là vấn đề quan trọng trong quá trình lựa chọn thuộc tính. Quy trình này bao

Tạo lập tập con thuộc tính là quá trình tìm kiếm liên tiếp nhằm tạo ra các

gồm việc chọn điểm xuất phát, chọn hướng tìm kiếm và chiến lược tìm kiếm tập

tập con để đánh giá, lựa chọn. Giả sử có M thuộc tính trong tập dữ liệu ban đầu,

con. Một vấn đề quan trọng khác trong lựa chọn thuộc tính là xác định cách thức

khi đó số tất cả các tập con từ M thuộc tính sẽ là 2 M . Với số ứng viên này, việc


đánh mức độ phù hợp của mỗi tập con.

tìm tập con tối ưu, ngay cả khi M không lớn lắm, cũng là một việc không thể.

Hiện nay có hai cách tiếp cận chính đối với bài toán lựa chọn thuộc tính:

Vì vậy, phương pháp chung để tìm tập con thuộc tính tối ưu là lần lượt tạo ra các

filter (lọc) và wrapper (đóng gói). Mỗi cách tiếp cận có những chú trọng riêng

tập con để so sánh. Mỗi tập con sinh ra bởi một thủ tục sẽ được đánh giá theo

dành cho việc rút kích thước dữ liệu hay để nâng cao độ chính xác.

một tiêu chuẩn nhất định và đem so sánh với tập con tốt nhất trước đó. Nếu tập
con này tốt hơn, nó sẽ thay thế tập cũ. Quá trình tìm kiếm tập con thuộc tính tối
ưu sẽ dừng khi một trong bốn điều kiện sau xảy ra: (a) đã thu được số thuộc tính
quy định, (b) số bước lặp quy định cho quá trình lựa chọn đã hết, (c) việc thêm

Cách tiếp cận kiểu filter thực hiện việc lựa chọn thuộc tính độc lập với
thuật khai phá sử dụng sau này. Các thuộc tính được chọn chỉ dựa trên độ quan
trọng của chúng trong việc mô tả dữ liệu.

vào hay loại bớt một thuộc tính nào đó không cho một tập con tốt hơn, (d) đã thu

Ngược lại với cách tiếp cận filter, lựa chọn thuộc tính kiểu wrapper tiến

được tập con tối ưu theo tiêu chuẩn đánh giá. Tập con tốt nhất cuối cùng phải

hành việc lựa chọn bằng cách áp dụng ngay thuật khai phá, độ chính xác của kết


được kiểm chứng thông qua việc tiến hành các phép kiểm định, so sánh các kết

quả được lấy làm tiêu chuẩn để lựa chọn các tập con thuộc tính.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




20

21

Cách tiếp cận filter có ưu điểm là thời gian tính toán nhanh, nhược điểm là

Generation). Tạo lập theo phương pháp tiến bắt đầu bằng tập rỗng. Sau đó, tại

không sử dụng sử dụng thông tin nhãn lớp của các bộ dữ liệu nên độ chính xác

mỗi bước lặp một thuộc tính tốt nhất (theo tiêu chuẩn đánh giá) trong số các

không cao

thuộc tính còn lại sẽ được thêm vào. Quá trình tạo lập dừng lại khi đã vét cạn tất
cả các thuộc tính của tập dữ liệu ban đầu hoặc đã tìm được tập con tối ưu.

Ngược lại với phương pháp tiến, phương pháp lùi bắt đầu bằng tập tất cả các
thuộc tính. Tại mỗi bước lặp, một thuộc tính tồi nhất (theo tiêu chuẩn đánh giá)
sẽ bị loại. Tập thuộc tính ban đầu sẽ nhỏ dần cho đến khi chỉ còn lại một thuộc
tính hoặc khi điều kiện dừng thỏa mãn. Một phương pháp khác để tạo lập các
tập con là bắt đầu bằng một tập con thuộc tính chọn ngẫu nhiên, sau đó tại mỗi
bước lặp lần lượt thêm vào hoặc loại bớt một thuộc tính cũng được chọn một
cách ngẫu nhiên.
2.2.2.2. Tiêu chuẩn đánh giá
Một tập con thuộc tính là tối ưu luôn được hiểu theo một tiêu chuẩn đánh

Hình 2.3. Các cách tiếp cận filter và wrapper

Gần đây một số cách tiếp cận mới cũng đã được các tác giả đã đề xuất,
chẳng hạn cách tiếp cận lai ghép (hybrid approach) nhằm kết hợp các ưu điểm
của cả hai cách tiếp cận filter và wrapper, cách tiếp cận tập thô. Cũng có thể
phân chia các cách tiếp cận bài toán lựa chọn thuộc tính thành hai loại: có giám
sát (supervised) và không có giám sát (unsupervised), tùy theo việc lựa chọn có
sử dụng hay không sử dụng thông tin nhãn lớp của các đối tượng.
2.2.2. Đặc điểm chung của các thuật toán lựa chọn thuộc tính
Hai khâu chủ yếu trong quá trình lựa chọn thuộc tính là tạo lập các tập con

giá nào đó. (Một tập tối ưu theo tiêu chuẩn này chưa chắc sẽ là tối ưu theo tiêu
chuẩn khác). Có thể phân các tiêu chuẩn đánh giá thành hai loại: độc lập và phụ
thuộc. Tiêu chuẩn độc lập là những tiêu chuẩn được dùng trong cách tiếp cận
filter; chúng đánh giá mức độ phù hợp của một hay một tập con thuộc tính một
cách độc lập, không thông qua áp dụng một thuật học. Ngược lại với tiêu chuẩn
độc lập, tiêu chuẩn phụ thuộc đánh giá một tập con thuộc tính thông qua độ hiệu
quả của một thuật học áp dụng trên chính tập thuộc tính cần đánh giá. Nói một
cách khác, tiêu chuẩn phụ thuộc chính là số đo mức độ hiệu quả của thuật học.
Các tiêu chuẩn phụ thuộc thường được sử dụng trong cách tiếp cận wrapper.

Dưới đây, ta giới thiệu tóm tắt một số tiêu chuẩn thuộc hai loại nêu trên.

và đánh giá các tập con.
2.2.2.1 Tạo lập các tập con
Thông thường có hai phương pháp tạo lập các tập con cho việc chọn lựa:
phương pháp tiến (Forward Generation) và phương pháp lùi (Backward
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




22

23

a) Tiêu chuẩn độc lập

được mở rộng để đánh giá sự phụ thuộc giữa một thuộc tính vào một

Các tiêu chuẩn độc lập thường được sử dụng để đánh giá các tập con thuộc

số thuộc tính khác.

tính cho lựa chọn là: số đo khoảng cách, số đo lượng thông tin thu thêm

Số đo độ nhất quán (consistency). Đây là một tiêu chuẩn mới, gần đây


(Information gain), số đo độ phụ thuộc, số đo độ nhất quán và số đo độ tương tự.

thường được sử dụng vào việc đánh giá lựa chọn thuộc tính. Khác với

Số đo khoảng cách. Số đo này còn được gọi là số đo độ khả tách

các số đo khác, tiêu chuẩn này gắn kết chặt chẽ với tập dữ liệu huấn

(separability), độ phân kỳ (divergence), độ phân biệt (discrimination).

luyện. Số đo độ nhất quán là tỷ lệ các bộ dữ liệu (đối tượng) nhất quán

Giả sử cần lựa chọn thuộc tính để giải quyết một bài toán phân lớp

trong tập dữ liệu. Tập thuộc tính được chọn là tập nhỏ nhất bảo đảm

trong trường hợp có hai lớp. Gọi D là thuộc tính nhãn lớp (thuộc tính

được tỷ lệ dữ liệu nhất quán theo ngưỡng quy định bởi người sử dụng.

quyết định), X là một tập con thuộc tính nào đó. Người ta có thể sử

b) Tiêu chuẩn phụ thuộc

dụng khoảng cách giữa hai phân phối xác suất có điều kiện P ( D / C )

Trong học luật phân lớp (học có giám sát), mục đích đầu tiên của là cực

P ( D / X ) để lựa chọn. Thuộc tính X sẽ được coi là tốt hơn thuộc tính


tiểu hóa sai số dự báo. Do đó, sai số dự báo (hay độ chính xác của dự báo)

Y nếu khoảng cách giữa P ( D / C ) và P ( D / X ) lớn hơn khoảng cách

thường được chọn làm tiêu chuẩn (phụ thuộc) để đánh giá các tập con thuộc

P ( D / C ) và P( D / Y ) .

tính. Như đã nói ở trên, tiêu chuẩn phụ thuộc luôn được sử dụng trong cách tiếp

Số đo lượng thông tin thu thêm (information gain). Lượng thông tin
thu thêm từ thuộc tính X được định nghĩa bằng hiệu số giữa độ bất
định (entropy) tiên nghiệm và giá trị kỳ vọng của độ bất định hậu
nghiệm của thuộc tính quyết định D khi đã biết X. Thuộc tính X được
coi là tốt hơn thuộc tính Y nếu lượng thông tin thu thêm được từ X lớn

cận wrapper. Việc lựa chọn các thuộc tính được tiến hành thông qua việc áp
dụng một thuật phân lớp, nên tập con thuộc tính chọn được sẽ có khả năng dự
báo rất cao. Tuy vậy, việc sử dụng tiêu chuẩn phụ thuộc để lựa chọn thuộc tính
sẽ tiêu tốn nhiều thời gian tính toán.
2.2.3. Ứng dụng của các kỹ thuật lựa chọn thuộc tính
Nhiều hệ thống thông tin trong nhiều lĩnh vực đã nhận thấy rõ lợi ích của

hơn lượng thông tin thu thêm được từ Y.
Số đo độ phụ thuộc (dependency - hay còn gọi là số đo độ tương quan).
Số đo này đánh giá khả năng dự đoán của một thuộc tính đối với giá trị
của một thuộc tính khác. Trong hai thuộc tính điều kiện X và Y, thuộc
tính nào tương quan mạnh hơn với thuộc tính quyết định D thì nó sẽ
được ưu tiên lựa chọn. Số đo độ tương quan giữa hai thuộc tính cũng


việc lựa chọn thuộc tính nhằm giảm bớt số chiều của dữ liệu trong các cơ sở dữ
liệu có kích thước lớn. Hình 1.3 dưới đây trình bày một số lĩnh vực áp dụng
quan trọng của các kỹ thuật lựa chọn thuộc tính.
Những giải thuật lựa chọn đặc trưng thường được ứng dụng để tối ưu hóa
hiệu quả phân lớp của các hệ thống nhận dạng tự động, nhất là khi số cá thể mẫu
trong tập huấn luyện có hạn. Thông thường, độ chính xác của một thuật phân lớp

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




24

25

học được sẽ bị giảm khi sử dụng quá nhiều thuộc tính. Ví dụ như trong chuẩn

Trong những năm gần đây, dữ liệu có tính cấu trúc thu được từ các phân

đoán khối u ác tính, do có quá nhiều thuộc tính, độ chính xác của việc nhận biết

tích về gen người gia tăng nhiều lần. Điều này tạo ra nhiều cơ hội đồng thời
cũng là những thách thức đối với những nhà khoa học trí tuệ nhân tạo. Do công


Nhận dạng ảnh

nghệ phân tích gen ngày càng phát triển, trong một thí nghiệm, người ta có thể
phân tích tới hàng ngàn, thậm chí cả chục ngàn cấu trúc. Vấn đề đặt ra là làm
Qui nạp luật

Tin-sinh-học

sao có thể phân biệt giữa người bị ung thư và người khỏe mạnh dựa trên hiện
trạng cấu trúc gen có kích rất lớn. Để giải quyết vấn đề này, người ta đã áp dụng

If ... ... then X
If ... ... then Y
If ... ... then Z

các kỹ thuật lựa chọn thuộc tính, rút gọn đáng kể kích thước các cấu trúc gen
trong tập dữ liệu huấn luyện.
Cũng có thể nêu một áp dụng khác nữa của lựa chọn thuộc tính trong tin-

Lựa chọn
thuộc tính

sinh-học, đó là để hình thành các giả thuyết về mối quan hệ giữa các đặc trưng
hóa học của các phân tử và sự hoạt động của nó, từ đó đưa ra dự đoán về vị trí,
phát hiện các chỗ nối giữa hai miền mã hóa và không mã hóa của AND.
Cách tiếp cận chung đối với vấn đề biểu diễn tri thức sao cho mang tính mô
tả và dễ hiểu đối với con người là sử dụng các luật dạng if-then. Thế nhưng,

Kiểm tra hệ thống


Phân cụm

trong nhiều lĩnh vực thực tiễn, con người thường rất thiếu những luật có tính hệ
thống và về cùng một loại được cung cấp bởi chuyên gia. Cần phải học luật từ
các ví dụ. Để có thể làm tăng quá trình quy nạp luật, rút gọn tính phức tạp của

Phân loại văn bản

các luật thu được, đòi hỏi phải rút gọn thuộc tính. Rút gọn thuộc tính cho phép

Hình 2.4: Các lĩnh vực ứng dụng của lựa chọn thuộc tính

giảm số chiều của một tập dữ liệu kích thước lớn mà chỉ làm mất đi một lượng

khối u ác tính của các bác sĩ chuyên khoa qua chỉ vào khoảng 65% đến 85%.

thông tin tối thiểu cần thiết cho viêc học luật. Nhờ đó, rút gọn thuộc tính giúp ta

Với việc ứng dụng các giải thuật lựa chọn thuộc tính, hiện nay các những hệ

loại bỏ những dữ liệu dư thừa, đơn giản hóa công việc thiết kế và cài đặt các

thống nhận dạng tự động khối u có thể đạt kết quả phân loại khối u chính xác

thuật học. Ngoài ra, nhờ số thuộc tính được rút gọn, việc học luật sẽ tiêu tốn ít

đến 95%.

thời gian hơn, kết quả thu được trong nhiều trường hợp cũng tốt hơn.
Hiện nay, nhiều hệ thống đo đạc suy luận đã được xây dựng sử dụng

phương pháp luận căn cứ vào dữ liệu. Các mô hình suy đoán giá trị của các

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




26

27

thuộc tính đích cài đặt bên trong hệ thống được xây dựng sử dụng dữ liệu thu

quả rút gọn thuộc tính ảnh hưởng trực tiếp đến hiệu quả thực hiện các nhiệm vụ

thập được theo thời gian thực. Điều đó làm cho các hệ thống suy luận chịu ảnh

khai phá: Gia tăng tốc độ, cải thiện chất lượng, tính dễ hiểu của các kết quả thu

hưởng nhiều bởi chất lượng dữ liệu. Khi giải quyết các vấn đề phức tạp, chẳng

được.

hạn như kiểm tra độ tin cậy hay chẩn đoán lỗi của các dây chuyền sản xuất công

Trong chương 2 này, chúng tôi đã trình bày khái quát về nội dung, các


nghiệp, ta thường phải đối mặt với rất nhiều thuộc tính, trong đó có những thuộc

phương pháp và quy trình giải quyết vấn đề lựa chọn thuộc tính. Một số ứng

tính dư thừa. Việc phải đo đạc cả những thuộc tính như vậy sẽ rất tốn kém.

dụng quan trọng của lựa chọn thuộc tính cũng đã được bàn tới ở cuối chương.

Trong trường hợp này, rõ ràng phải áp dụng các kỹ thuật rút gọn hiệu quả, loại
bỏ các thuộc tính dư thừa, lựa chọn các thuộc tính liên quan nhiều nhất cho việc
xây dựng một mô hình xử lý có độ tin cậy, chính xác cao.

Chương 3 tiếp theo dành cho việc nghiên cứu một số thuật toán rút gọn
thuộc tính điển hình.

Phân cụm văn bản là việc phân chia các tài liệu tương tự thành các cụm.
Mỗi văn bản là một tập hợp lớn các từ. Điều này dẫn đến không gian các thuộc
tính mô tả có số chiều rất cao, cũng như sự phân tán của dữ liệu, ảnh hưởng lớn
đến độ hiệu quả của các thuật phân cụm. Để có được các thuật phân cụm khả thi
trong phân loại văn bản, các kỹ thuật trích lọc, cũng như lựa chọn thuộc tính đã
được nhiều hãng phần mềm áp dụng.
Giống như phân cụm, phân loại văn bản coi các tài liệu như là những tập
hợp các từ ngữ. Để phân loại văn bản, người ta tiến hành kiểm tra, trích lọc các
từ khóa và đánh giá chúng theo một tiêu chí nào đó, chẳng hạn tần số xuất hiện.
Vì số từ khóa trích lọc được thường có tới hàng chục ngàn, các kỹ thuật rút gọn
số chiều cần phải được áp dụng. Gần đây, các thuật rút gọn thuộc tính đã được
ứng dụng thành công trong phân loại trang web và phân loại dấu sách
(bookmark).
2.3. Kết luận chƣơng 2

Mục đích của rút gọn thuộc tính là làm giảm số chiều của không gian thuộc
tính, loại bỏ dữ liệu dư thừa, không liên quan. Rút gọn thuộc tính đóng vai trò
quan trọng trong bước tiền xử lý dữ liệu cũng như trong quá trình khai phá. Kết
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




28

29

CHƢƠNG 3

MỘT SỐ THUẬT TOÁN
LỰA CHỌN THUỘC TÍNH ĐIỂN HÌNH
Như đã biết mục đích chính của lựa chọn thuộc tính là làm sao giảm kích
thước dữ liệu, chính vì điều này nên khi nghiên cứu các kỹ thuật lựa chọn thuộc
tính có nghĩa là đi nghiên cứu một số phương pháp để làm thế nào có thể rút gọn
dữ liệu một cách tối ưu nhất mà không làm thay đổi ngữ nghĩa của dữ liệu.
Chương 3 này dành cho việc nghiên cứu một số thuật toán lựa chọn thuộc tính
điển hình. Các thuật toán được trình bày theo ba nhóm chính: các thuật toán kiểu
filter, các thuật toán kiểu wrapper và một số thuật toán khác. Các thuật toán này

Bảng 3.1: Tập dữ liệu ví dụ


thường được sử dụng để lựa chọn thuộc tính giải quyết các vấn đề phân cụm và

thuộc tính một trọng số phù hợp (relevance weight) phản ánh khả năng phân biệt

phân lớp trong khai phá dữ liệu.

các nhãn lớp của nó. Thuộc tính được chọn sẽ là thuộc tính có trọng số phù hợp

3.1. Các thuật toán theo cách tiếp cận filter

vượt mức quy định. Thuật toán này là như sau:

Để minh họa hoạt động của các thuật toán kiểu filter nêu trong phần này,
một tập dữ liệu ví dụ cho trong bảng 3.1 dưới đây sẽ được sử dụng. Tập dữ liệu
được chọn làm ví dụ này chỉ chứa các giá trị nhị phân, đó là nhằm đáp ứng
những yêu cầu khác nhau của các thuật toán sẽ được trình bày. Trong luận văn
này, từ đây về sau C ký hiệu tập các thuộc tính điều kiện, D ký hiệu tập các
thuộc tính quyết định (thuộc tính nhãn lớp).
3.1.1 Thuật toán RELIEF
Đây là thuật toán lựa chọn thuộc tính đầu tiên được xây dựng theo cách
tiếp cận lọc (filter). Trong quá trình thực hiện, RELEF sẽ tính toán cho mỗi

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



RELIEF(O, c, it s, ).
O: tập tất cả các đối tượng
c : số các thuộc tính điều kiện
its: số bước lặp

: giá trị ngưỡng đối với trọng số
(1) R ← { }
(2)
Wa, Wa ←0
(3) for i = 1...it s
(4)
chọn ngẫu nhiên một đối tượng x từ tập tất cả các đối tượng O
(5)
tính nearHit và nearMiss của x
(6)
for j = 1...c
(7)
Wj ←Wj − diff(x j , nearH it j )/ it s + diff(x j , nearMiss j )/ it s
(8) for j = 1...c
(9) if Wj ≥ ; R ←R { j}
(10) return R

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




30

31

Tham số đầu tiên mà người sử dụng phải cung cấp cho RELIEF là its.
Tham số này chỉ ra số bước lặp, tức là số đối tượng mẫu được chọn liên tiếp để

được cập nhật dần bằng một giá trị phụ thuộc vào sự khác nhau giữa xj và

nearHit, cũng như sự khác nhau giữa xj và nearMiss. Cụ thể là tại lần chọn ngẫu
nhiên một đối tượng thứ i, trọng số phù hợp của thuộc tính j sẽ là:

tính toán các trọng số. Tại mỗi lần lấy mẫu, một đối tượng x được chọn ngẫu
nhiên rồi tính các giá trị nearHit và nearMiss của nó. nearHit là đối tượng có
cùng nhãn lớp với x và gần x nhất, còn nearMiss là đối tượng gần x nhất nhưng
không có cùng nhãn lớp với x. Độ gần nhau được đánh giá dựa trên khoảng cách
giữa các đối tượng xác định như sau: Khoảng cách giữa hai đối tượng o và x là

Quá trình cứ tiếp tục cho đến khi số bước lặp đạt tới giới hạn quy định its.
Thuộc tính sẽ được thêm vào tập các thuộc tính lựa chọn nếu trọng số phù hợp
của nó không thấp hơn mức yêu cầu
its = 100 và

số tất cả các thuộc tính có giá trị khác nhau trên o và x,

Chạy RELIEF trên tập dữ liệu ví dụ với

= 0 thu được tập cuối cùng các thuộc tính lựa chọn là {a,d,e,f }.

Như vậy, ta đã loại bỏ được hai thuộc tính dư thừa là b và c. Với tập con gồm

C

dist (o, x)

Wj := Wj − diff(x j , nearH it j )/ it s + diff(x j , nearMiss j )/ it s .

diff (oi , xi )


bốn thuộc tính được lựa chọn {a,d,e,f }, tính nhất quán của tập dữ liệu ban đầu

i 1

với

vẫn được bảo tồn. Tuy nhiên, có thể thấy tập thuộc tính được chọn này vẫn còn

diff (oi , xi )

1

oi

xi

0

oi

xi

có thể được thu gọn hơn bằng cách loại bỏ thêm thuộc tính e.

Để sử dụng RELIEF, người sử dụng còn phải cung cấp một tham số thứ
hai, đó là mức thích hợp tối thiểu mà mỗi thuộc tính được chọn phải đáp ứng.
Có thể thấy, RELIEF sẽ là thuật toán lựa chọn thuộc tính không hiệu quả
nếu tập dữ liệu có các thuộc tính điều kiện tương quan chặt chẽ với nhau và
chúng đều cho trọng phù hợp cao như nhau. Hiện nay, RELIEF đã được một số
tác giả phát triển cho phép lựa chọn thuộc tính từ cả các tập dữ liệu không nhất

quán, có nhiễu và có nhiều nhãn lớp. Một tập dữ liệu được gọi là không nhất
quán nếu chứa các cặp đối tượng mâu thuẫn nhau, nghĩa là các cặp đối tượng có
cùng các giá thuộc tính điều kiện nhưng lại có nhãn lớp khác nhau.
Áp dụng RELIEF vào tập dữ liệu ví dụ như sau: Chọn ngẫu nhiên một đối
tượng, chẳng hạn đối tượng 0. Trong trường hợp này ta có nearHit là đối tượng
5 và nearMiss là đối tượng 12. Với mỗi thuộc tính j, trọng số phù hợp của nó

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



3.1.2. Thuật toán FOCUS
Focus là một thuật toán rút gọn thuộc tính cũng được xây dựng theo cách
tiếp cận filter. Thuật toán này áp dụng phương pháp tìm kiếm từng bước ưu tiên
độ rộng từ thấp đến cao trong số tất cả các tập con của các thuộc tính để tìm ra
tập con nhỏ nhất mà vẫn bảo tồn được tính nhất quán của tập dữ liệu huấn luyện.
Tựa code của FOCUS là như sau:
FOCUS(O, c).
O: tập tất cả các đối tượng;
c: số các thuộc tính điều kiện;
(1) R ← { }
(2) for num = 1...c
(3) for mỗi tập con L có cỡ num
(4)
cons = Độnhấtquán(L, O)
(5)
if cons == true

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên





32

(6)
(7)
(8)

33

R ←L
return R
else continue

bằng n - c1 và tỷ lệ các đối tượng đối lập trong tập dữ liệu sẽ là n c1 N , trong
đó N là số tất cả các đối tượng có trong tập dữ liệu.
Áp dụng FOCUS cho tập dữ liệu ví dụ 2.2: Trước tiên FOCUS đánh giá

Với mỗi giá trị num = 1, … , c , FOCUS kiến tạo tất cả các tập con thuộc

tính

nhất

quán

của

dữ


liệu

theo

từng

thuộc

tính

riêng

biệt

tính cỡ num (tập con gồm num thuộc tính). Sau đó kiểm tra tính nhất quán của

a , b , c , d , e , f , (các tập con thuộc tính có cỡ bằng 1). Không có

dữ liệu đối với mỗi tập con này. Nếu tính nhất quán bị vi phạm, tập con thuộc

thuộc tính nào trong số các thuộc tính này bảo tồn tính nhất quán của dữ liệu.

tính tương ứng sẽ bị loại. Thủ tục tìm kiếm tiếp tục cho đến khi tìm được tập con

Chẳng hạn, với thuộc tính f , có hai đối tượng mâu thuẫn nhau là 0 và 12. Tiếp

bảo tồn sự nhất quán của dữ liệu hoặc khi tất cả các tập con thuộc tính đã được

tục vòng lặp thứ hai, FOCUS đánh giá độ nhất quán của dữ liệu theo mỗi tập


xem xét hết.

con gồm hai thuộc tính a, b , a, c , a, d , a, e , a, f , b, c

b, d , b, e ,

Dễ thấy, vì FOCUS sử dụng tính nhất quán của dữ liệu làm tiêu chuẩn lựa

b, f , c, d , c, e , c, f , d , e , d , f , e, f . Trong số các tập con này

chọn tập con thuộc tính nên nó sẽ rất nhạy cảm với nhiễu dữ liệu. Hơn nữa, do

cũng không có tập con nào cho phép bảo tồn tính nhất quán của dữ liệu và do đó

số tập con (lực lượng của tập lũy thừa) của tập các thuộc tính tăng theo hàm mũ

tất cả đều bị loại. Tiếp tục vòng lặp thứ ba, tìm được tập con cỡ 3 bảo tồn tính

của số thuộc tính, thuật toán FOCUS sẽ không thể áp dụng được khi kích thước

nhất quán của dữ liệu là tập a, d , f . Với kết quả này, tập thuộc tính ban đầu có

của tập dữ liệu huấn luyện là tương đối lớn. Để khắc phục trở ngại này, thông
thường người ta cho phép tiến hành việc tìm tập thuộc tính rút gọn với một
ngưỡng tỷ lệ các đối tượng mâu thuẫn nhau cho phép

nào đó. Khi đó, dòng

(5) của tựa code trên đây sẽ được thay bằng lệnh kiểm tra điều kiện if cons


.

thể được rút gọn lại thành tập a, d , f mà vẫn duy trì được tính nhất quán của
tập dữ liệu.
3.1.3. Thuật toán LVF

Chú ý rằng, số đếm các đối tượng mâu thuẫn nhau được định nghĩa là hiệu

Khác với RELIEF và FOCUS, thuật toán LVF thực hiện việc sinh các tập

số giữa số tất cả các đối tượng mâu thuẫn nhau và số các đối tượng mâu thuẫn

con thuộc tính để lựa chọn bằng phương pháp chọn ngẫu nhiên nhờ thuật toán

nhau có nhãn lớp xuất hiện nhiều nhất. Chẳng hạn, có n đối tượng mâu thuẫn

tạo số ngẫu nhiên Las Vegas. Thuật toán LVF là như sau:

nhau trong tập dữ liệu với 2 nhãn lớp là 1 và 2; nếu trong số n đối tượng mâu
thuẫn nhau có c1 đối tượng nhận nhãn lớp 1, c2 đối tượng nhận nhãn lớp 2, c1 +
c2 = n. Khi đó, nếu c1

c2 thì (thay cho n) số các đối tượng đối lập sẽ được tính

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



LVF(O, C, att , ).

O: tập tất cả các các đối tượng;
C: tập tất cả các thuộc tính điều kiện;
att : số bước lặp của thuật toán;
: ngưỡng tỷ lệ các đối tượng mâu thuẫn nhau;

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




34

35

R: Tập con thuộc tính tốt nhất hiện thời.

{a,b,c} bị loại. Tiếp tục quá trình tìm kiếm ngẫu nhiên, LVF sẽ cho kết quả tập

(1) R ← C
(2) for num = 1...att
(3) S ← Tập con thuộc tính chọn ngẫu nhiên( )
(4) if |S| ≤ |R|
(5)
if Độnhấtquán(S, O) ≤
(6)
if |S| < |R|
(7)
R ← S; output R
(8)
else R ← R S

(9) return R

con thuộc tính tối ưu cục bộ là a, d , f .
3.1.4. Thuật toán EBR
EBR cũng là thuật toán lựa chọn thuộc tính theo tiếp cận filter. Thuật toán
này áp dụng chiến lược tìm kiếm heuristic dựa vào entropy giống như một số
thuật toán học máy, chẳng hạn thuật giá trị toán xây dựng cây quyết định C4.5
của Quinlan. Có thể mô tả EBR như sau:

Đầu tiên, LVF coi toàn bộ tập thuộc tính điều kiện là tập thuộc tính tốt
nhất. Tiếp đó, chọn ngẫu nhiên một tập con từ tập tất cả các thuộc tính điều kiện.
Nếu tập con thuộc tính này có lực lượng nhỏ hơn tập con tốt nhất hiện thời và
cho tỷ lệ các đối tượng mâu thuẫn nhau trong tập dữ liệu không vượt quá
ngưỡng cho trước, nó sẽ được xem là tập con mới tốt nhất. Một khi có tập con
tốt hơn được phát hiện, tập con này sẽ được LVF đưa ra dưới dạng kết quả tính
toán tức thời.
Nhược điểm của LVF là tiêu tốn thời gian nhiều hơn so với các thuật toán
heuristic trong việc tìm kiếm tập con thuộc tính tối ưu. Ngoài ra, khi tập dữ liệu
có kích thước khổng lồ, việc kiểm tra tính nhất quán của dữ liệu cũng tiêu tốn
khá nhiều thời gian.
Xét tập dữ liệu ví dụ 2.2: LVF chọn ngẫu nhiên một tập con thuộc tính từ
6 thuộc tính đã cho, chẳng hạn tập {a,b,c}. Đối với tập thuộc tính này, sẽ có 6
đối tượng không nhất quán, trong đó có 3 đối tượng mang nhãn lớp 1, 3 đối
tượng mang nhãn lớp 2, vậy tỷ lệ các đối tượng không nhất quán được tính bằng
(6-3)/12=1/4. Nếu tỷ lệ đối tượng không nhất quán cho phép

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

= 0 thì tập




EBR(C)
C: tập tất cả các thuộc tính điều kiện;
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)

A C
calculate H ( D / x) ;
choose A giving lowest value of H ( D / A) ;
R←A;
do
T←R;
A (C R )
if H D / R

A

H (D / T )

(9)
T R
A ;
R T;

(10)
H (D / C) ;
(11) until H ( D / R)
(12) return R ;
Tại bước đầu tiên, EBR kiểm tra toàn bộ tập dữ liệu, chọn thuộc tính cho
lượng thông tin thu thêm (information gain) lớn nhất, điều này tương đương với
việc tìm thuộc tính A cho entropy có điều kiện H ( D / A) nhỏ nhất. Entropy
H ( D / A) xác định bởi công thức:

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




36

m

H ( D / A)

37

n

P(a j )
j 1

P(di / a j )log 2 P(di / a j )
i 1


trong đó, a1, a2 , ... , am là các giá trị của A , d1, d2 , ... , dn là các giá trị của thuộc
tính quyết định D trong tập dữ liệu. Các xác suất được ước lượng được ước
lượng dựa vào tập dữ liệu. Chẳng han:

P(a1 )

S1
N

Tập con

Entropy

a
b
c
d
e
f

0.8885861
0.9543363
0.9543363
0.8885860
0.8650087
0.6186034

Vì {f} có entropy nhỏ nhất, nó trở thành thuộc tính được chọn đầu tiên. Tại

trong đó S1 là số các đối tượng có giá trị thuộc tính A bằng a1 , N là số tất cả


bước thứ hai, EBR tính entropy của tất cả các tập con gồm f và một thuộc tính

các đối tượng có trong tập dữ liệu.

khác:

Tại các bước tiếp theo, EBR tìm tập con cho entropy có điều kiện
A) nhỏ nhất trong số các tập con thu được bằng cách thêm vào tập R

H (D / R

đã tìm được ở bước trước một thuộc tính còn lại.
Tương tự như trên, ta có:

H (C / A1, A2 , ... , Ak )
m

Tập con

Entropy

a, f
b, f
c, f
d, f
e, f

0.42382884
0.46153846

0.55532930
0.42382884
0.40347020

n

P(a1 j , a2 j , ... , akj )
j 1

P(ci / a1 j , a2 j , ... , akj )log 2 P(ci / a1 j , a2 j , ... , akj )
i 1

trong đó, ( a1 j , a2 j , ... , akj ), ( a12 , a22 , ... , ak 2 ), … , ( a1m , a2 m , ... , akm ) là các tổ hợp
giá trị khác nhau của các thuộc tính A1, A2 , ... , Ak .

là tập con được chọn. … . Quá trình lựa chọn tiếp tục cho

đến bước thứ tư, khi entropy nhỏ nhất của tập con đạt đến giá trị 0 (entropy
H ( g / a, b, c, d , e. f ) của tập dữ liệu nhất quán 2.2). Tập con thuộc tính chọn

được là a, b, e, f . Khi đó tập dữ liệu có thể được rút gọn lại chỉ với bốn thuộc

Xét tập dữ liệu ví dụ 2.2. Trước tiên, EBR tính entropy của mỗi thuộc tính
điều kiện, thu được:

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

Tại đây, e, f

tính a, b, e, f mà vẫn bảo tồn được tính nhất quán. Có thể thấy tập con thuộc

tính này gần trùng với tập con thuộc tính tối ưu tìm được bởi thuật toán FOCUS.



Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




38

EBF có độ phức tạp tính toán là O((n2

39

n) / 2) . Ưu điểm của thuật toán

này là có thể làm việc với các tập dữ liệu kích thước lớn, không đòi hỏi người sử
dụng phải quy định bất kỳ một giá trị ngưỡng nào.

(14)
else if dist(PoC,X ) > 1
(15)
Tăngnếunhiềuthuộctínhkhácnhau(X ,W )
(16) R ←A
(17) Wi , if Wi > 0 then R ←R { i}
Quá trình tìm kiếm tuần tự tiến hành bắt đầu từ một đối tượng ngẫu

3.1.5. Thuật toán SCRAP


nhiên với trọng số của đối tượng này được gán là 0, nó trở thành một PoC ban
SCRAP (Selection Construction Ranking using Attribute Pattern) là một
thuật toán nữa dựa trên phương pháp filter, thuật toán tìm tập con tối ưu bằng
cách tìm kiếm tuần tự các thuộc tính theo khoảng cách từng đối tượng. Scrap xét
tất cả các đối tượng cùng một lúc bằng cách tính khoảng cách từng đối tượng để
từ đó đưa ra sự tăng hay giảm những trọng số của mỗi thuộc tính liên quan tới

đầu. Một đối tượng gần PoC ban đầu nhất và thuộc nhãn lớp khác sẽ trở thành
một PoC kế tiếp. Từ hai PoC này sau đó sẽ xác định một đối tượng lân cận, đó là
đối tượng có cùng nhãn lớp và gần nhất với PoC ban đầu đồng thời phải xa đối
tượng PoC kế tiếp nhất.

những khoảng cách này. Công thức tính khoảng cách giữa hai đối tượng được

Nếu những đối tượng có cùng nhãn lớp và gần PoC nhất đồng thời chỉ

cho trong (1). Những thuộc tính có trọng số phù hợp sẽ được đưa vào tập con tối

khác duy nhất một thuộc tính thì trọng số của thuộc tính tương ứng đó sẽ giảm

ưu.

đi một giá trị và thuộc tính này được xem là một thuộc tính có trọng số phù hợp
với tất cả các đối tượng, bất chấp trọng số cuối cùng của nó là như thế nào thì

Giả mã của thuật toán như sau:

thuộc tính này cũng được đưa vào tập con tối ưu. Còn nếu có nhiều hơn một đặc

SCRAP(O)

O, tập tất cả các đối tượng;

trưng thay đổi thì những trọng số phù hợp được kết hợp lại với nhau bằng cách

(1) A ←{}; Wi , Wi = 0;
(2) T ← Đốitượngngẫunhiên(); PoC ←T
(3) while O ≠ {}
(4) O ← O − PoC; PoCnew ←NewPoC(PoC)
(5) n = dist(PoC,PoCnew)
(6) if n == 1
(7)
i = Thuộctínhkhác(PoC,X ); A ←A {i}
(8) N ← Lấylâncậngần nhất(PoC,n)
(9)
X N
(10)
if Nhãnlớp(X ) == Nhãnlớp(N)
(11)
O ←O − X
(12)
if dist(PoC,X )==1
(13)
i = Thuộctínhkhác(PoC,X ); Wi = Wi − 1

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



tăng trọng số lên một giá trị. Những đối tượng đã được xác định là lân cận sẽ bị
loại bỏ. Thuật toán dừng khi tất cả các đối tượng đã được gán một đối tượng lân

cận. Những thuộc tính có một trọng số phù hợp với tất cả các đối tượng hoặc có
trọng số phù hợp (<0) sẽ được chọn là tập con thuộc tính cuối cùng.
Xét với tập dữ liệu ở bảng ví dụ 3.1. Scrap đầu tiên chọn một đối tượng
ngẫu nhiên, ở đây giả sử là đối tượng 1 và tiến hành tìm lân cận gần nhất của nó
với một nhãn lớp khác. Trong trường hợp này đối tượng 1 là PoC đầu tiên còn
đối tượng 12 là PoC kế tiếp với 2 thuộc tính không giống nhau là d và e. Những
đối tượng có khoảng cách xa đối tượng 12 và cùng nhãn lớp với đối tượng 1

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




40

41

được gán là lân cận cho 2 PoC này, đó là đối tượng 5 với chỉ một đặc trưng b là

những nghiên cứu lợi ích tiềm ẩn của nhóm thuộc tính ở mỗi giai đoạn thực hiện

khác. Với kết quả này trọng số của b được tăng thêm một giá trị. Đối tượng 12

của thuật toán. Chiến lược này có thể làm giảm bớt thời gian thực hiện việc tìm

bây giờ trở thành PoC mới và thuật toán tiếp tục. Đối tượng 4 sẽ trở thành lân

những tập con tối ưu phù hợp bằng cách lựa chọn vài đặc trưng ngay tức thời .

cận gần nhất với một loại nhãn khác nhau và với chỉ một thuộc tính a là có giá


Để thực hiện thuật toán, ban đầu một thuật toán phân cụm được sử dụng

trị khác nhau. Đây là thuộc tính dùng để thêm vào tập con tối ưu bất kể trọng số

để tự động phân cụm các thuộc tính, ở đây sử dụng thuật toán phân cụm k-

cuối cùng của nó. Thuật toán kết thúc kết quả thu được là tập con {a,b,c,d,e,f}, a

means. Tư tưởng phân cụm của k - means được tóm tắt dưới đây.

là một thuộc tính có trọng số phù hợp với tất cả các đối tượng, các thuộc tính
còn lại đều có một trọng số cụ thể. Như vậy thuật toán không giảm được kích

Input: Số các cụm k và cơ sở dữ liệu chứa n đối tượng
Thuật giải: gồm 4 bước

thước của tập thuộc tính.
Ví dụ trên dùng để minh họa một trong những yếu điểm lớn nhất của
phương pháp tiếp cận này - nó thường xuyên chọn quá nhiều thuộc tính. Điều
này do tình trạng những trọng số bị giảm. Nếu có nhiều hơn một thuộc tính giữa
một PoC và một đối tượng cùng nhãn lớp thì những trọng số của đặc trưng còn
lại sẽ không bị thay đổi. Hạn chế này có thể khắc phục được bằng cách giảm bớt

Phân hoạch đối tượng thành k tập con ( cụm).
Tính các điểm hạt giống centroid ( trung bình của các đối tượng
trong cụm ) cho từng cụm trong phân hoạch hiện hành.
Gán mỗi đối tượng cho cụm centroid gần nhất
Quay về bước 2, chấm dứt khi không còn phép gán mới.


những trọng số của những đặc trưng khi tìm thấy chúng. Với sự cải tiến hợp lý

Từ những cụm thuộc tính có được từ thuật toán k - mean này (mỗi cụm có

và chạy thuật toán trên tập dữ liệu thì sẽ thu được một tập con nhỏ hơn là

thể có một hoặc nhiều hơn hai thuộc tính) sẽ không có cụm thuộc tính nào là tập

{a,b,e,f}. Sự thay đổi khác có thể làm giảm mỗi số hạng của tỷ lệ trọng số; ví dụ

thuộc tính tối ưu mà mỗi cụm được đánh giá theo một quy định đánh giá trước.

cho 3 thuộc tính không thích hợp, trọng số của chúng sẽ được giảm 1/3. Hiện tại
Scrap chỉ xử lý những giá trị nhỏ, mặc dù nó tương đối dễ mở rộng cho giá trị
của những đặc trưng.
3.1.6. Lựa chọn nhóm
Đây là thuật toán điển hình trong lựa chọn thuộc tính dựa theo phương
pháp filter, giải thuật sẽ thực hiện việc thêm vào hay loại bỏ những thuộc tính
riêng lẻ hoặc nhóm thuộc tính vào tập thuộc tính tối ưu cuối cùng. Gần đây, có

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



Tổng quan của thuật toán có thể quan sát ở dưới.
GFS(G, ).
G, tập tất cả các nhóm;
, quy định mức thực hiện tập con thuộc tính.
(1)
(2)

(3)
(4)
(5)

R ←{}; A ←{}; best =0
while evaluate(R) <
for each group Gi
T ← mọi thuộc tính từ Gi
T)
t = evaluate(R

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




42

43

(8)

(6)
if ( > best )
(7)
A ←T
(8)
best = t
(9)
R ←R A

(10) output R
Thuật toán quy định một mức giới hạn

learn( R) ;

Trước tiên LVW coi toàn bộ tập thuộc tính điều kiện là tập con tốt nhất.
Sau đó lần lượt sinh các tập con một cách ngẫu nhiên và đánh giá chúng thông
qua kết quả áp dụng một thuật học. Quá trình này tiếp tục cho đến khi giá trị sai
đây là mức giới hạn dùng để

số ε đã được cập nhật đến lần thứ K (điều kiện dừng quy định trước) mà vẫn

quyết định các thuộc tính trong một cụm đang được đánh giá có thể được thêm

không phát hiện được tập con nào tốt hơn. Cuối cùng, LVF thực hiện việc kiểm

vào tập con tối ưu hay không, nếu cụm được thêm vào thì giá trị đánh giá của

chứng đối với kết quả (tập con) thu được. Trong các tài liệu hiện hành, thuật học

cụm thuộc tính không được vượt quá này. Quá trình tiếp tục so cho đến khi đạt

thường được sử dụng để đánh giá các tập con thuộc tính là thuật học luật phân

được một tập con tối ưu cuối cùng.

lớp bằng cây quyết định C4.5 của Quinlan, do tính đơn giản và độ hiệu quả của

Thuật toán này có thể sánh được với phương pháp lựa chọn đặc trưng
riêng lẻ chuẩn nhưng có lợi hơn về rút gọn thời gian tính toán.


nó.
3.3.2 Thuật toán NEURALNET

3.2. Các thuật toán theo cách tiếp cận wrapper

NEURALNET cũng là thuật toán lựa chọn thuộc tính kiểu wrapper sử

3.3.1 Thuật toán LVW

dụng mạng nơron. Thuật toán này áp dụng phương pháp tìm kiếm tập con tối ưu

LVW là thuật toán rút gọn thuộc tính kiểu wrapper, xây dựng dựa trên thuật

bằng cách loại dần. Lược đồ của NEURALNET là như sau:

toán LVF đã trình bày trong mục 3.1.3. Tựa code của nó là như sau:

NEURALNET (C,

LVW(C, K, ε).
C : tập tất cả các thuộc tính điều kiện;
K : Ngưỡng cập nhật;

).

(1) R ← C ; εw = 0 ;
(2) do
(3)
T←R;

x R
(4)
(5)
S R x ;
(6)
S = trainNet(S) ;
(7)
if S
w
(8)
x;
w
S; w
(9)
R R w ;

ε : Ngưỡng sai số.
(1) R ← C ; k = 0 ;
(2) While ε chưa được cập nhật lần thứ K
(3)
T ← randomfeatureSubset( );
(4)
learn( R) ;
t
and T R )
(5)
if if ( t
) or ( t
(6)
output T ;

k k 1;
(7)

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

max

C : tập tất cả các thuộc tính điều kiện;
max : ngưỡng sai số phân lớp cho phép đối với mạng.



Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




44

45

(10) until R
max ;
(11) trainNet(T) ;

NEURALNET sử dụng một mạng nơron 3 lớp và một hàm đánh giá sai số
(bao gồm cả sai số phân lớp lẫn độ phức tạp của mạng) trong suốt quá trình lựa
chọn tập con thuộc tính tối ưu. Đầu tiên, NEURALNET coi toàn bộ tập thuộc
tính điều kiện ban đầu là tập con tốt nhất với giá trị hàm đánh giá bằng 0. Sau đó
thực hiện một quá trình tìm kiếm lùi. Tại mỗi vòng lặp, mạng được huấn luyện

với mỗi tập con thuộc tính thu được bằng cách bớt đi một thuộc tính khỏi tập tốt
nhất hiện thời. Một thuộc tính sẽ bị loại bỏ vĩnh viễn khỏi tập hiện thời nếu việc

Hình 3.1.Lựa chọn thuộc tính bằng các thuật toán Genetic

loại bớt nó làm tăng ít nhất giá trị hàm đánh giá (sai số phân lớp và độ phức tạp
Đầu tiên, một quần thể các sâu nhị phân được tạo lập. Việc tạo ra quần thể

của mạng). Quá trình lặp tiếp tục cho đến khi giá trị hàm đánh giá cập nhật lớn

đầu tiên này như thế nào, với kích thước bao nhiêu là vấn đề quan trọng. Khi đã

hơn mức ngưỡng cho phép.

có quần thể các tập con, thuật toán tiến hành áp dụng các toán tử genetic (lai

3.3. Một số thuật toán khác

ghép, đột biến). Các toán tử này cùng với các xác suất áp dụng chúng được xem

3.3.1. Thuật toán Genetic

xét lựa chọn một cách kỹ lưỡng. Sau khi áp dụng các toán tử một quần thể tập

Các thuật toán genetic là các thuật toán rất hiệu quả cho việc lựa chọn
nhanh các thuộc tính. Không giống các chiến lược tìm kiếm kinh điển chỉ dẫn

con mới sẽ được tạo ra. Có hai cách đánh giá các tập con thuộc tính trong quần
thể:


đến một lời giải duy nhất, các thuật toán genetic cho ta nhiều tập con thuộc tính

Nếu việc lựa chọn thuộc tính sử dụng tiếp cận filter thì độ phù hợp của

tối ưu hoặc gần tối ưu.

mỗi tập con thuộc tính X được đánh giá thông qua một hàm tiêu chuẩn

Trong các thuật toán genetic, mỗi tập con thuộc tính được biểu diễn bằng

J ( X ) . Giá trị J ( X ) càng lớn tập X càng tốt. Hàm tiêu chuẩn J ( X )

một sâu nhị phân có độ dài bằng số thuộc tính trong tập dữ liệu ban đầu. Vị trí

thường được sử dụng là độ đo entropy theo Shannon hoặc hàm đánh

thứ j trong sâu nhị phân là 1 hoặc 0 tùy thuộc vào thuộc tính thứ j có mặt hay

giá độ phụ thuộc theo lý thuyết tập thô.

không có mặt trong tập con. Quy trình chung của các thuật toán genetic là như
sau:

Đối với cách tiếp cận wrapper, mỗi tập con thuộc tính được đánh giá
thông qua sai số phân lớp của thuật học được sử dụng. Sai số phân lớp
càng nhỏ tập con tập con tương ứng càng tốt.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




46

47

Đối với cả hai cách tiếp cận filter và wrapper, để định hướng cho việc tìm

Ngoài các lợi ích trên, gần đây người ta còn sử dụng một số thuật toán rời

tập con tối ưu có kích thước nhỏ nhất, người ta đưa thêm vào hàm đánh giá độ

rạc hóa vào việc giải quyết vấn đề lựa chọn thuộc tính trong khai phá dữ liệu và

phù hợp tham số kích thước của tập con. Để dừng quá trình tiến hóa, một tiêu

học máy. Mục này trình bày hai thuật toán rời rạc hóa như thế, đó là ChiMerge

chuẩn dừng. Tiêu chuẩn dừng thường được sử dụng là số các thế hệ được sinh ra

và Chi2. Chi2 là phát triển của KhiMerge. Cả hai thuật toán này đều là những

hoặc ngưỡng tối thiểu cho mức độ phù hợp của tập con được chọn. Nếu tiêu

thuật toán rời rạc hóa có giám sát (nghĩa là có sử dụng thông tin của thuộc tính


chuẩn dừng không thỏa mãn, các tập con thuộc tính sẽ lại tiếp tục được lựa chọn

quyết định (nhãn lớp). Để rời rạc hóa các thuộc tính, chúng áp dụng phương

và quá trình mô tả trên đây sẽ lặp lại. Các chiến lược lựa chọn thường được áp

pháp kết nối từng bước các khoảng giá trị (từ dưới lên) sử dụng phép kiểm định

dụng là chiến lược bánh xe roulette và chiến lược căn cứ vào thứ hạng. Với

Khi-bình-phương đối với giả thuyết về sự độc lập giữa thuộc tính nhãn lớp và

chiến lược lựa chọn bánh xe roulette, xác suất để một tập con được chọn tỷ lệ

mỗi cặp khoảng giá trị liền kề của thuộc tính. Khi quá trình rời rạc hóa kết thúc,

thuận với độ phù hợp của nó. Với chiến lược lựa chọn căn cứ vào thứ hạng, các

nếu tất cả các giá trị của một thuộc tính nào đó được gộp lại thành một khoảng

tập con được sắp thứ tự theo độ phù hợp của chúng và xác suất để một tập con

duy nhất thì thuộc tính đó sẽ bị loại khỏi tập con thuộc tính lựa chọn.

được chọn tỷ lệ thuận với thứ tự của nó trong danh sách xếp hạng.
Cũng như mọi cách tiếp cận khác, các thuật toán genetic thường chỉ lựa
chọn được tập con thuộc tính tối ưu cục bộ. Bên cạnh đó, do có nhiều thế hệ các
tập con thuộc tính được tạo, việc đánh giá độ phù hợp của chúng sẽ tiêu tốn rất
nhiều thời gian.


Trước khi trình bày thuật toán ChiMerge và Chi2, ta trình bày khái niệm về
bảng tiếp liên (contingency table) và phép kiểm định Khi-bình-phương.
Bảng tiếp liên và phép kiểm định sự độc lập Khi-bình-phƣơng
Trong thống kê toán học, để kiểm tra giả thuyết về sự độc lập của hai biến
ngẫu nhiên X và Y (liên tục hay rời rạc) người ta đã đề xuất phép kiểm định Khibình-phương như sau:

3.3.2. Lựa chọn thuộc tính thông qua rời rạc hóa dữ liệu
Rời rạc hóa dữ liệu cũng là một khâu trong bước tiền xử lý. Rời rạc hóa dữ

Chia miền giá trị của X và Y thành một số hữu hạn các khoảng. Nếu X hay

liệu là việc biến đổi các thuộc tính định lượng liên tục thành những thuộc tính

Y chỉ nhận một số ít giá trị thì có thể coi mỗi giá trị là một khoảng. Đối với biến

rời rạc thỏa mãn một tiêu chuẩn quy định. Rời rạc hóa dữ liệu trước khi khai phá

ngẫu nhiên liên tục nên chia miền giá trị của nó thành các khoảng có độ rộng

có ba lợi ích:

bằng nhau.

Cho phép áp dụng các thuật toán khai phá hiệu quả hiện có,

Giả sử có mẫu cỡ N về véc tơ ngẫu nhiên (X,Y). Gọi

Làm giảm kích thước dữ liệu, tăng tốc độ tính toán,

- r và s lần lượt là số khoảng chia miền giá trị của X và Y ;


Làm tăng độ chính xác, tính dễ hiểu của các kết quả thu được.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




48

49

- A i là biến cố X nhận giá trị trong khoảng thứ i, i = 1, 2, … , r ;

Từ bảng dữ liệu trên thu được:

- B j là biến cố Y nhận giá trị trong khoảng thứ j, j = 1, 2, … , s ;

- Tần số quan sát của biến cố Ai B j là n i j , i = 1, 2, … , r ; j = 1, 2, … , s.

- n i j là số cá thể mẫu có giá trị X trong khoảng thứ i và giá trị Y trong

- Ước lượng tần số lý thuyết các cá thể mẫu có giá trị X thuộc khoảng thứ i

khoảng thứ j, (tức n i j là tần số quan sát được của biến cố A i B j ) ;


và giá trị Y thuộc khoảng thứ j khi giả thuyết về sự độc lập giữa X và Y
đúng. Ước lượng đó là

s

n i j là số cá thể mẫu có giá trị X thuộc khoảng i (tức tần số quan

- ni.

N

j 1

sát của biến cố A i ) ;

ni.

n. j

n i. n. j

N

N

N

Để kiểm định giả thuyết

r


n i j là số cá thể mẫu có giá trị Y thuộc khoảng j (tức tần số quan

- n. j

H 0 : X và Y độc lập

i 1

với đối thuyết

sát của biến cố B j ) ;
r

H 1 : X và Y không độc lập,

s

Hiển nhiên,

ni j

N.

người ta sử dụng thống kê

i 1 j 1

2


Các dữ liệu trên được sắp vào một bảng gọi là bảng tiếp liên (hay bảng
r

chéo):

ni j

s

2

Biến

1

2 ...

s

n11 n12 . . . n1s
n 21 n 21 . . . n 2s
..............
..............
..............
n r1 n r1 . . . n r s

n1 .
n 2.
.
.

.
nr.

Tổng n. 1 n . 2 . . . n . s

N

1
2
.
.
.
r

i 1 j 1

Tổng

n i. n. j
N
n i. n. j

2

(1)

N
Có thể thấy

2


là số đo đánh giá mức độ sai khác giữa các tần số lý thuyết

và tần số quan sát được của các biến cố Ai B j khi X và Y là độc lập nhau.
Người ta đã chứng minh rằng với cỡ mẫu N đủ lớn,

2

sẽ có phân phối

tiệm cận Khi-bình-phương với (r 1)( s 1) bậc tự do. Từ đó, suy ra quy tắc
kiểm định gỉa thuyết H 0 là như sau:
- Chọn mức ý nghĩa

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

sau đây:



(thường là 0,05 hoặc 0,1);

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




×