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

Kỹ thuật phân lớp áp dụng cho dạng dữ liệu có liên kết

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 (545.13 KB, 26 trang )

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG



Nguyễn Việt Tân

ĐỀ TÀI:Kỹ thuật phân lớp áp dụng cho dạng dữ liệu có liên kết
Chuyênngành: Truyền dữ liệu và mạng máy tính
Mãsố: 60.48.15


TÓM TẮT LUẬN VĂN THẠC SĨ


HÀ NỘI – 2012

Luậnvănđượchoànthànhtại:
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG


Ngườihướngdẫnkhoahọc.: PGS .TS Từ Minh Phương


Phảnbiện 1:
………………………………………………………………
………………………………………………………………
………………………………………………………………

Phảnbiện 2:
………………………………………………………………
………………………………………………………………


………………………………………………………………

LuậnvănsẽđượcbảovệtrướcHộiđồngchấmluậnvănthạcsĩtạiHọc
việnCôngnghệBưuchínhViễnthông
Vàolúc: giờ ngày tháng năm



Cóthểtìmhiểuluậnvăntại:
- ThưviệncủaHọcviệnCôngnghệBưuchínhViễnthông
-1-

MỞ

ĐẦU



Phân

loại

hay

phân

lớp




kỹ

thuật

khai

phá

dữ

liệu

đã

được
nghiên

cứu



sử

dụng

rộng

rãi.

Đây




phần

quan

trọng

trong

các
dạng ứng dụng như phân loại văn bản, nhận dạng chữ viết, giọng nói,
phân loại protein v.v.

Việc phân lớp là nhằm dự đoán các nhãn phân
lớp cho những mẫu chưa biết hoặc cho các bộ dữ liệu mới. Đầu vào
cho việc phân lớp là một tập các mẫu dữ liệu huấn luyện, trong đó
các

đối

tượng

đều

đã




nhãn

phân

lớp.

Đầu

ra

sẽ



một



hình
phân lớp dựa trên những mẫu huấn luyện đã cho.

Trên thực tế tồn tại một số bài toán trong đó giữa các đối tượng
cần phân lớp có các liên kết với nhau. Chẳng hạn, khi phân loại trang
web, ngoài nội dung trang, các trang lại có các siêu liên kết. Hay khi
phân loại protein, các protein thường có các liên kết tương ứng với
quan hệ tương tác giữa chúng. Các quan hệ liên kết cũng là dạng dữ
liệu tiêu biểu với các ứng dụng cho mạng máy tính. Từ thực tế này,
một vấn đề đặt ra là tận dụng các thông tin liên kết trong dữ liệu để
tăng hiệu quả và độ chính xác cho thuật toán phân lớp.


Nguyên tắc chung của việc phân lớp dữ liệu có liên kết là tạo ra
các

ràng

buộc,

theo

đó

những

đối

tượng

liên

kết

với

nhau

cần


nhãn phân lớp tương tự nhau. Dựa trên nguyên tắc chung này, nhiều
thuật toán và kỹ thuật cụ thể đã được phát triển và ứng dụng.


Một trong những tiếp cận sớm nhất chú ý tới mối liên kết giữa
các đối tượng trong dữ liệu có liên kết là của Chakrabarti và các cộng
-2-

sự

[3].

Họ

đề

xuất

một



hình

xác

suất

cho

phân

loại


trang

web
bằng cách sử dụng kết hợp giữa nội dung của trang đã phân lớp, nhãn
phân

lớp

của

các

trang

liên

kết



nội

dung

của

các

trang


liên

kết.
Gần đây, Macskassy và Provost [9] đã thử nghiệm phân lớp tập hợp
cho

dữ

liệu

liên

kết

bằng

cách

kết

hợp

một

bộ

phân

lớp


liên

kết
(relation classifier) với một phương thức suy luận tập hợp (collective
inferencing). Sen và các cộng sự [10] cũng đã so sánh bốn phương
pháp phân loại tập hợp cho dữ liệu có liên kết. Bên cạnh các phương
pháp

phân

loại

sử

dụng

bộ

phân

lớp

liên

kết,

một

hướng


tiếp

cận
khác



phương

pháp

học

bán

giám

sát

(semi-supervised

learning)
dựa trên đồ thị, trong đó tiêu biểu phải kể đến phương pháp trường
ngẫu

nhiên

Gauss


(Gaussian

random

field)

[12],

phương

pháp

nhất
quán địa phương và toàn cục [11].

Luận

văn

này

sẽ

tập

trung

vào

việc


nghiên

cứu,

phân

tích


đánh giá thực nghiệm các kỹ thuật phân lớp cho dữ liệu có liên kết.
Một nội dung quan trọng của luận văn là nghiên cứu việc kết hợp các
phương pháp đã có để tận dụng cả thông tin liên kết lẫn thông tin cục
bộ của dữ liệu; cụ thể là phương pháp phân lớp tập hợp kết hợp một
bộ

phân

lớp

liên

kết,

một

bộ

phân


lớp

cục

bộ



một

phương thức
suy luận tập hợp. Kết quả phân lớp theo cách này sẽ được đánh giá
và so sánh với kết quả của các phương pháp phân lớp sử dụng từng
bộ phân lớp riêng lẻ cũng như so sánh với phương pháp phân lớp liên
kết không sử dụng suy luận tập hợp.

Liên quan tới nội dung của luận văn, chúng tôi cũng đã đề xuất
một phương pháp khác để phân lớp cho dữ liệu có liên kết. Phương
-3-

pháp này kết hợp một bộ phân lớp liên kết với một bộ phân lớp cục
bộ bằng kỹ thuật Co-training. Nội dung và kết quả của phương pháp
này đã được báo cáo tại Hội thảo Quốc gia lần thứ XIV "Một số vấn
đề chọn lọc của Công nghệ Thông tin và Truyền thông" tại Cần Thơ
vào tháng 10 năm 2011.

Luận văn được chia thành 3 chương chính như sau:

Chương


1

-
Tổng quan về phân lớp dữ liệu: Chương này trình
bày các khái niệm về phân lớp, các bước đề giải quyết một một bài
toán phân lớp và một số vấn đề cần quan tâm trong việc phân lớp dữ
liệu.

Bốn

thuật

toán

phân

lớp

phổ

biến

hiện

nay

dành

cho


dữ

liệu
dạng truyền thống là cây quyết định, mạng Bayes, mạng Nơ-ron và
SVM cũng sẽ được trình trong chương này.

Chương

2

-
Phân lớp cho dữ liệu có liên kết: Giới thiệu về dạng
dữ liệu có liên kết và các phương pháp phân lớp cho dữ liệu có liên
kết.

Ngoài

ra,

chương

này

còn

trình

bày

bốn


thuật

toán

phân

lớp
dành cho dữ liệu liên kết là wvRN, CDRN, NBC, NLB cùng với ba
phương thức suy luận tập hợp áp dụng để

phân lớp tập hợp là GS,
RL, IC.

Chương

3

-
Thực nghiệm và kết quả: Chương này sẽ mô tả chi
tiết

về

các

công

cụ,


dữ

liệu,

phương

pháp

thực

nghiệm



toàn

bộ
quá

trình

tiến

hành

thực

nghiệm.

Kết


quả

thực

nghiệm

theo

các
phương pháp khác nhau cũng sẽ được phân tích, so sánh và đánh giá.
-4-

Chương

I

-

TỔNG

QUAN

VỀ

PHÂN

LỚP

DỮ



LIỆU

1.1.

Giới

thiệu

về

phân

lớp

dữ

liệu

Phân

lớp



một

trong


những

kỹ

thuật

phổ

biến

nhất

của

học
máy và khai phá dữ liệu. Đây là một tiến trình xử lý nhằm xếp các
mẫu dữ liệu hay các đối tượng vào một trong các lớp đã được định
nghĩa trước. Cách sắp xếp này dựa vào giá trị của các thuộc tính của
một mẫu dữ liệu hay đối tượng. Sau khi đã xếp tất cả các đối tượng
biết trước vào các lớp tương ứng, lúc này mỗi lớp được đặc trưng bởi
tập các thuộc tính của các đối tượng chứa trong lớp đó.

Thông thường, các bộ phân lớp có thể học dựa trên các mẫu dữ
liệu huấn luyện. Dữ liệu dùng để huấn luyện này bao gồm các thông
tin

về

x




y

cho

mỗi

điểm

dữ

liệu

(data-point),

trong

đó

x



một
vector chứa các đặc trưng của mẫu dữ liệu và y biểu thị một nhóm
các nhãn phân lớp. Những nhãn phân lớp này chỉ có thể nhận một số
hữu hạn các giá trị.

Bài toán phân lớp được phát biểu như sau: Cho một tập các mẫu

huấn luyện (xi1, xi2, …., xik, yi), i=1,….,N. Nhiệm vụ là phải ước lượng
được một bộ phân lớp hay một mô hình xấp xỉ dưới dạng một hàm y
= f(x) chưa biết mà có thể phân lớp chính xác cho bất kỳ mẫu nào
thuộc tập các mẫu huấn luyện.

Có nhiều cách để biểu diễn một mô hình phân lớp và có nhiều
thuật toán giải quyết vấn đề này. Các thuật toán phân lớp tiêu biểu
bao gồm: mạng nơ-ron, cây quyết định, mạng Bayes, kNN, SVM v.v.
-5-

Tất cả các mô hình phân lớp dựa trên những thuật toán kể trên đều có
khả

năng

phân

lớp

cho

các

mẫu

dữ

liệu

mới


dựa

vào

những

mẫu
tương tự đã được học.

Quá trình phân lớp dữ liệu gồm hai bước:

Bước 1

-

Học

(training):

Mục

đích

của

bước

này




xây

dựng
một mô hình xác định một tập các lớp dữ liệu. Mô hình này được xây
dựng bằng cách phân tích các bộ dữ liệu của một cơ sở dữ liệu, mỗi
bộ dữ liệu được xác định bởi giá trị của các thuộc tính. Giả sử mỗi bộ
dữ liệu đã thuộc về một trong các lớp đã đựơc định nghĩa trước, điều
này

được

xác

định

bởi

một

trong

các

thuộc

tính,

gọi




thuộc

tính
phân lớp. Trong ngữ cảnh của bài toán phân lớp, mỗi bộ dữ liệu được
xem như



một

mẫu,

một



dụ,

hay

một

đối

tượng.

Những bộ


dữ
liệu được phân tích để xây dựng mô hình phân lớp được lấy từ trong
tập dữ liệu học hay dữ liệu huấn luyện.

Những bộ dữ liệu riêng lẻ tạo thành tập dữ liệu huấn luyện còn
gọi là những mẫu huấn luyện (training samples) và được chọn ngẫu
nhiên từ một kho các mẫu. Bước này được xem là học có giám sát,
ngược

lại

với

học



giám

sát



học

không




giám

sát
(unsupervised

learing),

tiêu

biểu



bài

toán

gom

cụm

(clustering)
trong đó các lớp mà các mẫu huấn luyện thuộc về là không biết trước
và số lớp dữ liệu cũng không được biết trước.

.Mô hình phân lớp được đưa ra sau khi đã phân tích xong tập
dữ liệu huấn luyện thường có dạng là những quy tắc phân lớp, cây
quyết định hay các công thức toán học.
-6-


Bước 2
- Phân lớp (classification): Bước này sử dụng mô hình
phân lớp đã được xây dựng ở bước 1 để kiểm tra, đánh giá và thực
hiện phân lớp.

Trong mô

hình

phân lớp,

thuật toán

phân lớp

giữ

vai trò trung
tâm, quyết định tới sự thành công của mô hình phân lớp. Do vậy chìa
khóa của vấn đề phân lớp dữ liệu là tìm ra được một thuật toán phân
lớp

nhanh,

hiệu

quả,




độ

chính

xác

cao





khả

năng

mở

rộng
được.

Bước

đầu tiên



đánh

giá độ


chính

xác

của



hình

phân

lớp
bằng cách sử dụng một tập các mẫu đã được phân lớp để kiểm tra gọi
là bộ thử (test set). Những mẫu này được chọn ngẫu nhiên và độc lập
với các mẫu đã được học ở bước 1 gọi là mẫu thử (test sample).

Nếu độ chính xác của một

mô hình là chấp nhận được, thì mô
hình đó có thể được sử dụng để phân lớp những bộ dữ liệu mới hoặc
những mẫu dữ liệu mà giá trị nhãn phân lớp là chưa biết.

1.2.

Các

phương


pháp

đánh

giá

độ

chính

xác

của



hình

phân

lớp

Ước lượng độ chính xác của bộ phân lớp là quan trọng ở chỗ nó
cho phép dự đoán được độ chính xác của các kết quả phân lớp những
dữ liệu tương lai. Độ chính xác còn giúp so sánh các mô hình phân
lớp khác nhau. Hai kỹ thuật đánh giá độ chính xác phổ biến hiện nay


holdout




k-fold

cross-validation.

Cả

hai

kỹ

thuật

này

đều

dựa
trên các phân hoạch ngẫu nhiên tập dữ liệu ban đầu.
-7-

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

cho

tập


dữ

liệu

kiểm

tra.

Tập

huấn

luyện

dùng

để

xây

dựng

bộ
phân

lớp,

sau


đó

độ

chính

xác

của

bộ

phân

lớp

này

sẽ

được

ước
lượng dựa trên tập kiểm tra.

Trong phương pháp k-fold cross validation, tập dữ liệu ban đầu
được

chia


ngẫu

nhiên

thành

k

tập

con

(fold)



kích

thước

xấp

xỉ
nhau S1, S2, …, Sk. Quá trình học và kiểm tra được thực hiện k lần.
Tại lần lặp thứ i, Si là tập dữ liệu kiểm tra, các tập còn lại hợp thành
tập dữ liệu đào tạo.

Độ chính xác là toàn bộ số phân lớp đúng chia cho tổng số mẫu
của tập dữ liệu ban đầu.


1.3.

Một

số

vấn

đề

trong

bài

toán

phân

lớp


Trong những năm gần đây, có rất nhiều thuật toán cải tiến cho
bài

toán

phân

lớp


nhưng

chưa



một

thuật

toán

nào

hay

một

hệ
thống phân lớp nào có khả năng phân lớp chính xác tuyệt đối cho các
mẫu hay các đối tượng mới là những mẫu chưa được học. Độ chính
xác của các thuật toán phân lớp chỉ đạt được ở một mức độ nhất định
đối với tập mẫu thử. Độ chính xác này có thể gần như tuyệt đối hay
thấp

phụ

thuộc

vào


sự

trùng

hợp

của

tập

mẫu

thử

với

tập

mẫu

đã
được học. Gốc của vấn đề này là tính quá khớp (overfitting) và quá
khái quát (overgeneralization) của các thuật toán phân lớp này. Một
số thuật toán đưa ra mô hình phân lớp rất phức tạp để có thể phân lớp
-8-

chính xác cho các mẫu học nhưng không chắc rằng mô hình này có
thể phân lớp chính xác cho các mẫu mới, đây chính là sự quá khớp.
Rõ hơn, thuật toán mang tính quá khớp dữ liệu nghĩa là mô hình của

thuật toán này đưa ra phân lớp rất tốt cho những mẫu dữ liệu đã biết
nhưng không thể phân lớp chính xác cho các mẫu dữ liệu mới chưa
được biết trước. Sự quá khái quát xuất hiện khi hệ thống sử dụng dữ
liệu sẵn có và cố gắng phân tích cho số lượng lớn dữ liệu với các luật
quá khái quát. Cả hai vấn đề này có thể là nguyên nhân của độ chính
xác

phân

lớp

không

tốt.

Đây



lĩnh

vực

nghiên

cứu

của

các


thuật
toán

thống

kê,

như

mạng

Neural

cây

quyết

định,

Support

Vector
Machine.

1.4.

Một

số


thuật

toán

phân

lớp

truyền

thống

Bốn

thuật

toán

phân

lớp

truyền

thống

sẽ

được


trình

bày

trong
phần này tương ứng với 4 mục con sau:

1.4.1.

Cây

quyết

định

(Decision

Trees)

1.4.2.

Mạng

Bayes

(Bayesian

network)


1.4.3.

Mạng

Nơ-ron

(Neural

Network)

1.4.4.

Support

Vector

Machine

(SVM)
-9-

Chương

2

-

PHÂN

LỚP


CHO

DỮ

LIỆU



LIÊN


KẾT

2.1.

Giới

thiệu

về

dữ

liệu



liên


kết

Dữ

liệu



liên

kết,

được

gọi



Networked

data

hay

Linked
data, là trường

hợp đặc

biệt của


dữ

liệu

quan

hệ

khi mà các

đối
tượng trong đó có các kết nối với nhau. Ví dụ, các
trang web được kết nối với nhau bằng các siêu liên kết, tài
liệu được kết nối bằng các trích dẫn, tham khảo v.v.

Các

phương pháp

phân lớp

cho

dữ

liệu liên

kết


về



bản dựa
trên giả thiết Homophily (nguyên lý đồng đẳng): “các đối tượng liên
quan với nhau có xu hướng thuộc cùng một lớp”. Đây là một nguyên
lý dựa trên các nghiên cứu và phân tích trên mạng xã hội cho rằng:
sự giao tiếp giữa các đối tượng giống nhau xảy ra với tỉ lệ cao hơn so
với

giao

tiếp

giữa

các

đối

tượng

không

giống

nhau.

Các


đối

tượng
thường tìm kiếm, lựa chọn và kết bạn với những người giống với họ,
có thể là về giới tính, về tuổi tác, về địa vị xã hội, về tầng lớp, về đặc
điểm hành vi cá nhân, về niềm tin, lý tưởng.v.v.

Vì dựa trên giả thiết Homophily nên nguyên tắc chung của các
bộ phân lớp quan hệ cho dữ liệu liên kết là tạo ra các ràng buộc, theo
đó những đối tượng liên kết với nhau cần có nhãn phân lớp tương tự
nhau. Hầu hết các bộ phân lớp kiểu này chỉ quan tâm tới liên kết giữa
các nút chứ không quan tới các thuộc tính cục bộ

của từng nút.

Một trong những vấn đề chính cần lưu ý khi phân lớp dữ liệu có
liên kết là việc dự đoán nhãn của một nút có thể có ảnh hưởng đến
-10-

các nút mà nó liên kết tới, và ngược lại. Hơn nữa, các nút không có
liên kết trực tiếp lại có thể liên kết gián tiếp thông qua một chuỗi các
liên kết. Chính vì vậy, một kỹ thuật đã được công nhận rộng rãi là:
các nút nên được

ước tính và suy ra cùng một lúc thay vì từng nút
một.

Kỹ


thuật

này

được

gọi



phân

lớp

tập

hợp

(collective
classification).

Bài toán phân lớp tập hợp cho dữ liệu có liên kết được phát biểu
như sau: Cho đồ thị G
=
(V, E, X) trong đó: V là tập nút (đỉnh) gồm n
nút

tương

ứng


với

n

đối

tượng;

E



tập

các

cạnh



e
i, j


E

biểu

thị


một cạnh nối giữa 2 nút vi và vj ; Xi là thuộc tính phân lớp của nút vi
có thể nhận giá trị c



X. Cho trước các giá trị

xi thuộc Xi cho tập
con V
K

V.

Khi đó, phân lớp tập hợp là một tiến trình kết hợp một
thuật

toán

phân

lớp

liên

kết

với

một


phép

suy

luận

tập

hợp

để

suy
luận đồng thời các giá trị xi thuộc Xi cho các đỉnh còn lại, V
U
=V- V
K
.

Như vậy, phân lớp tập hợp cho dữ liệu liên kết được thực hiện
nhờ hai thủ tục:

 Thủ

tục

thứ

nhất




phân

lớp

liên

kết

(relational
classification), theo đó nhãn phân lớp được xác định dựa trên
các hàng xóm thông qua một thuật toán phân lớp liên kết;
 Thủ

tục

thứ

hai



suy

luận

tập


hợp

(collective

inference).
Bản chất của bước này là xác định nhãn phân lớp đồng thời
cho các nút trên mạng.

2.2.

Các

thuật

toán

phân

lớp

liên

kết
-11-

Bốn

thuật

toán


phân

lớp

liên

kết

sẽ

được

trình

bày

trong

phần
này tương ứng với 4 mục con sau:

2.2.1.

Thuật

toán

phân


lớp

liên

kết

Weighted-Vote

Relational

Neighbor

(wvRN)

2.2.2.

Thuật

toán

phân

lớp

liên

kết

Class-Distribution


Relational

Neighbor

(CDRN)

2.2.3.

Thuật

toán

phân

lớp

liên

kết

Network-Only

Bayes

Classifier

(NBC)

2.2.4.


Thuật

toán

phân

lớp

liên

kết

Network-Only

Link-

Based

Classifier

(NLB)


2.3.

Phân

lớp

tập


hợp



các

phương

thức

suy

luận

tập

hợp

Để

phân

lớp

dữ

liệu

dạng


liên

kết

người

ta



thể

chỉ

cần

sử
dụng một thuật toán phân lớp liên kết. Tuy nhiên như đã trình bày ở
trên, phương pháp phân lớp tập hợp kết hợp một thuật toán phân lớp
liên kết với một phương thức suy luận tập hợp ngày càng được quan
tâm và áp dụng.

Phương thức

suy luận

tập

hợp


giúp

suy luận



ước

tính

đồng
thời nhãn phân lớp cho tất cả các nút cần phân lớp. Phương pháp này
đã

được

công

nhận



khả

năng

nâng

cao


độ

chính

xác

so

với
phương pháp ước tính nhãn phân lớp cho từng nút một.

Tùy thuộc vào từng ứng dụng, mục tiêu sẽ là suy ra các nhãn với
xác suất kết hợp hay xác suất biên là tối đa đối với mỗi nút. Ngoài ra,
nếu cần ước tính xác suất nhãn phân lớp, phương thức suy luận tập
-12-

hợp

sẽ

ước

tính

phân

phối

xác


suất

biên

P(

X
i



c

G

K

,

)

cho

mỗi


X
i



x
U



c



X

với





các

giá

trị

được

khởi

tạo


trước

dựa

trên

các kết quả phân lớp của bộ phân lớp truyền thống (local classifier)
sử dụng các đặc trưng

không phải dạng liên kết.

Ba phương thức suy luận tập hợp sẽ được trình bày trong phần
này tương ứng với 3 mục con sau:

2.3.1.

Phương

thức

suy

luận

tập

hợp

Gibbs


Sampling

(GS)

2.3.2.

Phương

thức

suy

luận

tập

hợp

Relaxation

Labeling

(RL)

2.3.3.

Phương

thức


suy

luận

tập

hợp

Iteractive

Classification

(IC)


2.4.

Phân

lớp

tập

hợp

kết

hợp

bộ


phân

lớp

liên

kết



bộ

phân

lớp

truyền

thống

Các bộ phân lớp liên kết chỉ quan tâm tới cấu trúc liên kết của
một nút. Nếu tất cả các nút trong tập kiểm tra được kết nối tới ít nhất
một nút trong tập huấn luyện thì không có vấn đề gì, nhưng trên thực
tế



rất


nhiều

dữ

liệu

không

thỏa

mãn

điều

kiện

này.

Khi

đó,

bộ
phân lớp liên kết sẽ không thể phân lớp cho những nút không có nút
hàng xóm trong tập huấn luyện.

Để bù đắp những thiếu hụt trên, bộ phân lớp tập hợp có thể kết
hợp một bộ phân lớp liên kết với một bộ phân lớp truyền thống nhằm
-13-


cố gắng tăng độ chính xác khi phân lớp. Với cách sử dụng bộ phân
lớp truyền thống trong bước lặp đầu tiên (t=1) của quá trình suy luận
tập hợp, bộ phân lớp tập hợp bảo đảm rằng tất

cả các nút sẽ có xác
suất

phân

lớp

ban

đầu.

Bộ

suy

luận

tập

hợp

sau

đó

sẽ


sử

dụng

bộ
phân lớp liên kết và dựa vào các xác suất ban đầu đó để tiếp tục phân
lớp.

2.5.

Một

số

phương

pháp

phân

lớp

cho

dữ

liệu

dạng


liên

kết

khác

Bên

cạnh

các

phương pháp

phân

loại

quan

hệ

cho

dữ

liệu liên
kết


nêu

trên,

một

hướng

tiếp

cận

được

sử

dụng

rộng

rãi

khác


phương

pháp

học


bán

giám

sát

(semi-supervised

learning)

dựa

trên
đồ

thị. Trong số

những phương pháp

kiểu

này phải

kể

tới:

phương
pháp Mincut của Blum and Chawla (2001); phương pháp định danh

nút

(Node

Identifiers)

của

Perlich



Provost

(2006);

phương

pháp
trường

ngẫu

nhiên

Gauss

(Gaussian

Random


Fields)

của

Zhu


cộng

sự

(2003)



phương

pháp

nhất

quán

cục

bộ




địa

phương
(Local and Global Consistency) của Zhu và các cộng sự (2004).
-14-

Chương

3

-

THỰC

NGHIỆM



KẾT

QUẢ

3.1.

Dữ

liệu

Dữ


liệu

thực

nghiệm



bộ

dữ

liệu

được

sử

dụng

rộng

rãi
WebKB

( />
Bộ

này


bao

gồm

hơn
8000 trang web lấy từ 4 website bộ môn Khoa học máy tính của các
trường đại học: Cornell, Texas, Washington và Wisconsin. Mỗi trang
web được lưu vào một tệp tin dạng .html với tên chính là URL thực
của trang web đó. Người ta đã thực hiện việc phân lớp thủ công cho
từng

trang

web

vào

1

trong

7

lớp:

course,

department,

faculty,

project, staff, student, other

bằng cách chia vào các thư mục có tên
tương ứng. Để tương thích và tiện so sánh với các kết quả nghiên cứu
trước

đây,

chúng tôi

loại

bỏ

các

trang web

trong lớp

other



thực
hiện việc phân chia dữ liệu vào 6 lớp còn lại.

3.2.

Công


cụ

Trong quá trình thực nghiệm học và phân lớp, chúng tôi sử dụng
2 bộ công cụ mã nguồn mở:


Network Learning Toolkit:
Netkit-SRL

(
Đây là một trong
số

rất

ít

công

cụ



nguồn

mở




khả

năng

thực

hiện

các
thuật

toán

phân

lớp

cho

dữ

liệu

liên

kết như:

wvRN, cdRN,
NBC,


nLB.

Mỗi

thuật

toán

phân

lớp

lại



thể

kết

hợp

với
một

phương

thức

suy


luận

tập

hợp

như:

GS,

RL,

IC

để

tạo
thành một bộ phân lớp tập hợp. Ngoài ra, Netkit-SRL còn có
khả năng liên kết với với công cụ khai phá dữ liệu WEKA.
B

ng

3.1.

Các

thư


vi

n



công

c


h


tr



-15-

Trong trường hợp thực hiện phân lớp tập hợp kết hợp cả bộ
phân lớp liên kết lẫn bộ phân lớp cục bộ, Netkit-SRL sẽ nhận
kết quả phân lớp cục bộ từ WEKA để khởi tạo xác suất phân
lớp ban đầu cho quá trình phân lớp tập hợp.


Waikato

Environment


for

Knowledge

Analysis:
WEKA

( />
Đây là

công
cụ

rất

tiện

dụng

trong

xây

dựng

các



hình


khai

phá

dữ
liệu. WEKA triển khai hầu hết các kỹ thuật khai phá dữ liệu
như Classification,

Clustering,

Association

Rule,

Trong
mỗi kỹ thuật, WEKA triển khai rất nhiều thuật toán cho phép
lựa

chọn

thuật

toán

phù

hợp

với


yêu

cầu



dữ

liệu

trong
việc khai phá dữ liệu.

Ngoài

ra,

trong

quá

trình

tiền

xử




dữ

liệu

chúng

tôi

đã

xây
dựng và tập hợp các công cụ như liệt kê trong bảng dưới đây.

STT

Tên

công

cụ



tả

1 GetLink.java Tìm liên kết giữa các
trang web trong bộ dữ
liệu, tính trọng số và đưa
về dạng file .rn
2 GetCocite.java Tìm liên kết dạng Cocite

giữa các trang web trong
bộ dữ liệu, tính trọng số
-16-


3.3.

Phương

pháp

thực

nghiệm

Chúng tôi chia dữ liệu gốc thành 2 tập đặc trưng gọi là Content
và Link-Cocite. Tập Content chứa thông tin về các từ xuất hiện trong
từng trang web. Tập Link-Cocite chứa thông tin về các liên kết giữa
các trang web trong một website.



đưa

về

dạng

.rn
3 WordToVector.java Chuyển dữ liệu Content

của các trang web về
dạng vector phù hợp với
định dạng .arff của
WEKA
4 Stopwords.java Loại bỏ các từ dừng
5 LovinsStemmerWrapper.java

PorterStemmerWrapper.java
Rút gọn các từ về dạng
nguyên gốc
6 pruneByFrequency.java Lược bỏ những từ xuất
hiện quá nhiều hoặc quá
ít
7 BinaryOccurrences.java

TFIDF.java

TermFrequency.java

TermOccurrences.java
Tính tần suất xuất hiện
của các từ
-17-

Chúng tôi sử dụng công cụ WEKA với bộ phân lớp Naïve Bayes
để

tiến

hành


học



phân

lớp

trên

dữ

liệu

Content.

Bộ

công

cụ
Netkit-SRL với bộ phân lớp wvRN sẽ được dùng để học và phân lớp
trên dữ liệu Link. Phương thức suy luận tập hợp RL sẽ được sử dụng
để kết hợp tạo thành các bộ phân lớp tập hợp.

Trên thực tế, chúng tôi đã thử nghiệm trên cả 4 thuật toán phân
lớp

liên


kết



3

phương

thức

suy

luận

tập

hợp

được

trình

bày


chương 2. Tuy nhiên, nếu kết hợp cả bộ phân lớp cục bộ, bộ phân lớp
liên kết và bộ suy luận tập hợp

thì sẽ thu được rất nhiều khả năng và

kết quá. Sau khi lựa chọn kỹ lưỡng, chúng tôi quyết định sử dụng bộ
phân lớp cục bộ Naïve Bayes, bộ phân lớp liên kết wvRN và phương
thức suy luận tập hợp RL như đã nói ở trên. Đây là các bộ phân lớp
và phương thức suy luận tập hợp được đánh giá là rất phù hợp với
bài toán

phân loại trang web. Kết

quả

khi áp

dụng những lựa chọn
trên cũng phù hợp với những kết quả thử nghiệm khác mà chúng tôi
đã được kiểm chứng.

Sau khi tiến hành thử nghiệm, chúng tôi sẽ đánh giá và so sánh
kết quả phân lớp giữa 4 bộ phân lớp sau: bộ phân lớp cục bộ Naïve
Bayes; bộ phân lớp liên kết wvRN; bộ phân lớp tập hợp kết hợp giữa
wvRN



RL;

bộ

phân

lớp


tập

hợp

kết

hợp

giữa

Naïve

Bayes


wvRN và RL.

3.4.

Quá

trình



kết

quả


thực

nghiệm

3.4.1.

Xây

dựng



trích

chọn

các

đặc

trưng
-18-

Đầu tiên, chúng tôi tiến hành trích chọn đặc trưng của các trang
web và chia thành 2 tập chứa các đặc trưng riêng biệt. Đặc trưng thứ
nhất của trang web chính là các từ xuất hiện trong trang web đó. Mỗi
trang web sẽ

được biểu diễn


dưới dạng vector theo mô

hình

không
gian vector (Vector Space Model). Mỗi thành phần của vector là một
từ khóa riêng biệt xuất hiện trong website và được gán một giá trị gọi


hàm

f

chỉ

mật

độ

xuất

hiện

của

từ

khóa

đó.


Chúng

tôi

gọi

tập
Content là tập chứa các vector này.

Một

đặc

trưng

nữa

của

trang

web



các

siêu


liên

kết



trong
mỗi trang. Chúng tôi xây dựng một tập tên là Link chứa các thông tin
bao gồm: “x”, “y” và “Trọng số liên kết giữa x và y”; trong đó x, y là
2 trang web có liên kết với nhau và cùng nằm trong một website.

Thông tin siêu liên kết lại được chia làm 2 loại là Direct Link và
Cocite. Direct Link là kiểu liên kết trực tiếp giữa 2 trang web (x có
chứa siêu liên kết tới y). Khi đó, trọng số liên kết dạng Direct Link
giữa 2 trang x và y là tổng số lần xuất hiệu siêu liên kết từ trang x tới
trang y.

Cocite là một kiểu liên kết khác. Hai trang x và y gọi là liên kết
dạng Cocite (theo z) khi x liên kết trực tiếp với z và y cũng liên kết
trực tiếp tới z. Để tính trọng số liên kết kiểu Cocite giữa x và y, ta lấy
tổng số lần xuất hiện siêu liên kết từ trang x tới trang z rồi nhân với
tổng số lần xuất hiện siêu liên kết từ trang y tới trang z.

3.4.2.

Tiền

xử




dữ

liệu
-19-

Trước khi tiến hành phân lớp, dữ liệu cần được xử lý và đưa về
định dạng mà các công cụ phân lớp có thể chấp nhận. Trong bài toán
này,

chúng

tôi

phải

xử



2

dạng

dữ

liệu

hoàn


toàn

khác

nhau


Content và Link-CoCite.

Để thực hiện việc tiền xử lý dữ liệu, chúng tôi đã xây dựng và sử
dụng nhiều công cụ như liệt kê trong bảng 3.1.


Với dữ liệu dạng Content, chúng tôi sẽ biểu diễn các trang web
thành dạng vector và đưa thông tin của toàn bộ website vào một
tệp tin .arff theo chuẩn của WEKA. Các bước tiến hành như sau :
o Chuyển các trang web từ dạng Hyper text về Plain text ;
o Tìm tất cả các từ

xuất hiện trên website ;
o Loại bỏ các từ dừng ;
o Loại

bỏ

tiền

tố




hậu

tố,

rút

gọn

các

từ

về

từ

nguyên
gốc

(chúng

tôi

đã

thử

nghiệm


3

thuật

toán

Lovings
stemming,

Porter

stemming



Dictionary

stemming


nhận thấy trong bài toán này Lovings stemming cho kết
quả tốt nhất) ;
o Loại bỏ tất cả các từ xuất hiện ít hơn 2 lần và nhiều hơn
25 lần. Những từ còn lại đưa vào một danh sách gọi là
WordList (Kết

quả

thu


được:

WordList

của

trường
Cornell



2133

từ,

trường

Texas



1756

từ,

Trường
Washington




2076

từ



trường

Wisconsin



2488
từ) ;
o Biểu diễn các trang web thành vector với mỗi thành phần
tương ứng một từ khóa trong WordList và được gán giá
-20-

trị 1 hoặc 0

tương ứng với sự xuất hiện hay không của
từ

khóa

đó

trong

trang


web (đây





hình

Boolean


chúng tôi đã thử nghiệm các mô hình Tần suất như TF,
TF-IDF nhưng cho kết quả không tốt bằng) ;
o Đưa

dữ

liệu

vector

của

tất

cả

các


trang

web

trong

một
website cùng các thông tin cần thiết khác vào một tệp có
dạng

.arff.

Tệp

này

tuân

thủ

theo

định

dạng

tiêu

chuẩn
của WEKA. Sau khi xử lý ta có 4 tệp tin chứa thông tin

của 4 trường Đại học là: CornellContent.arff,
TexasContent.arff, WashingtonContent.arff và
WisconsinContent.arff.


Với dữ liệu dạng Link, ta cần tìm ra liên kết giữa các trang web,
tính trọng số cho chúng và lưu vào tệp tin .rn có định dạng đúng
với quy định của Netkit-SRL.Các bước tiến hành như sau :
o Tìm các siêu liên kết xuất hiện trong từng trang web và
kiểm tra xem nó có chỉ tới một trang web khác trong bộ
dữ liệu gốc không ;
o Nếu tìm thấy hai trang web có liên kết (dạng Direct link)
với nhau, tính trọng số bằng cách đếm số lần xuất hiện
liên kết ;
o Đưa tất cả các liên kết cùng trọng số tìm thấy trong mỗi
website

vào

một

tệp

tin rn,

ta

được

4


tập

tin
CornellLink.rn,

TexasLink.rn,

WashingtonLink.rn


Wisconsin.rn ;
-21-

o Dựa trên các liên kết

và trọng số dạng Direct link vừa
tìm

thấy,

ta



thể

tính

được


các

liên

kết



trọng

số
dạng

Cocite



đưa

vào

4

tệp

tin

CornellCocite.rn,
TexasCocite.rn, WashingtonCocite.rn,

WisconsinCocite.rn.

3.4.3.

Tiến

hành

phân

lớp


Đầu tiên, chúng tôi sử dụng phần mềm WEKA để tiến hành học
và phân lớp trên tập Content của từng trường đại học. Bộ phân lớp
được sử dụng là Naïve Bayes với tùy chọn thử nghiệm là 5 folds –
cross validation.

Tiếp theo, chúng tôi sử dụng phần mềm Netkit-SRL

để học và
phân lớp trên tập Link-Cocite.

Trong

quá

trình

tiền


xử



dữ

liệu

chúng

tôi

phát

hiện

ra

việc
dùng dữ liệu dạng Direct link trong bài toán phân loại trang web sẽ
cho

kết

quả

kém

chính


xác

hơn

nhiều

so

với

việc

sử

dụng

dữ

liệu
dạng Cocite. Chính vì vậy trong các phần tiếp theo chúng tôi chỉ sử
dụng dữ liệu liên kết dạng Cocite.

Tiếp đó chúng tôi dùng phần mềm Netkit-SRL để phân lớp tập
hợp, kết hợp bộ phân lớp liên kết wvRN với phương thức suy luận
tập hợp RL.

Cuối

cùng,


chúng

tôi

thử

nghiệm

học



phân

lớp

tập

hợp

kết
hợp

bộ

phân

lớp


truyền

thống

Naïve

Bayes,

bộ

phân

lớp

liên

kết
wvRN và phương thức suy luận tập hợp RL.
-22-


0.75

0.7

0.65

0.6

0.55


0.5

Naïve Bayes (Content)
wvRN (Cocite)
wvRN.RL (Cocite)
Naïve Bayes + wvRN.RL
(Content+Cocite)

Cornell Texas Washington Wisconsin Trung bình

Hình

3.1.

Biểu

đồ

so

sánh

độ

chính

xác

của


4

bộ

phân

lớp


Kết

quả

trong

hình

3.1

cho

thấy,

về

tổng

thể,


trong

4

phương
pháp phân lớp thì

độ chính xác của phương pháp phân lớp tập hợp
kết hợp Naïve Bayes – wvRN –RL là cao hơn cả. Trong phần lớn các
trường hợp, độ chính xác của phương pháp này là cao nhất. Không
có trường hợp nào phương pháp này cho kết quả kém nhất. Ngoài ra,
biểu đồ này còn cho ta thấy rằng phương pháp phân lớp tập hợp đã
giúp nâng độ chính xác so với phương pháp phân lớp liên kết không
sử dụng suy luận tập hợp. Độ chính xác trung bình trên dữ liệu của
cả 4 trường đại học đều thể hiện điều này.

0.7
0.65
0.6
Dùng

riêng

lẻ
0.55

0.5
0.45
0.4
0.35

0.3
Kết

hợp

với

RL
Kết

hợp

với

RL


Naïve

Bayes
wvRN cdRN nLB nBC

Hình

3.2.

Độ

chính


xác

áp

dụng

3

thuật

toán

wvRN,

cdRN



nLB

-23-

Hình 3.2 là kết quả so sánh độ chính xác của 4 thuật toán phân
lớp liên kết đã được trình bày trong chương 2. Mỗi thuật toán này đi
cùng với 3 phương pháp thực hiện là: thực hiện đơn lẻ; kết hợp với
phương thức suy luận tập hợp RL; kết hợp với thuật toán phân lợp
cục bộ Naïve Bayes và phương thức suy luận tập hợp RL. Độ chính
xác trong hình là độ chính xác trung bình trên dữ liệu của cả 4 trường
đại


học.

Kết

quả

trên

cho thấy,

với

dữ

WebKB

thì

thuật

toán

phân
lớp

wvRN



độ


chính

xác

cao

nhất.

Hiệu

quả

phân

lớp

của

cả

4
thuật toán phân lớp liên kết đều được nâng cao khi gắn với phương
thức suy luận tập hợp (RL) và được nâng cao một lần nữa khi tiếp
tục kết hợp với bộ phân lớp cục bộ (Naïve Bayes).

×