Thông tin tài liệu
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
là
kỹ
thuật
khai
phá
dữ
liệu
đã
được
nghiên
cứu
và
sử
dụng
rộng
rãi.
Đây
là
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
đã
có
nhãn
phân
lớp.
Đầu
ra
sẽ
là
một
mô
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
có
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
mô
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
và
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
là
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
và
đá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ộ
và
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
và
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
là
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
và
y
cho
mỗi
điểm
dữ
liệu
(data-point),
trong
đó
x
là
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
là
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
là
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ư
là
một
mẫu,
một
ví
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
có
giám
sát
là
học
không
có
giám
sát
(unsupervised
learing),
tiêu
biểu
là
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ả,
có
độ
chính
xác
cao
và
có
khả
năng
mở
rộng
được.
Bước
đầu tiên
là
đánh
giá độ
chính
xác
của
mô
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
mô
hình
phân
lớp
Ước lượng độ chính xác của bộ phân lớp là quan trọng ở chỗ nó
cho phép dự đ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
là
holdout
và
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)
có
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
có
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à
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)
[...]... - PHÂN LỚP CHO DỮ LIỆU CÓ LIÊN KẾT 2.1 Giới thiệu về dữ liệu có liên kết Dữ liệu có liên kết, được gọi là 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. .. 2.2.4 Thuật toán phân lớp liên kết Network-Only LinkBased Classifier (NLB) 2.3 Phân lớp tập hợp và 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 có 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. .. 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 -11Bố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... (IC) 2.4 Phân lớp tập hợp kết hợp bộ phân lớp liên kết và 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ế có 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... 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 là 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... thông tin dạng cục bộ và dạng quan hệ của dữ liệu liên kết sẽ giúp nâng cao hiệu suất phân lớp Các kết quả thực nghiệm ở trên đã phần nào khẳng định tính đúng đắn của những nhận định này Trong thời gian nghiên cứu và luận văn, chúng tôi cũng đã thử nghiệm và đề xuất phương pháp phân lớ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 với một bộ phân lớp truyền thống thông qua kỹ thuật Co-training... 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 -10cá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 là phân lớp. .. 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 và phân lớp tập hợp kết hợp bộ phân lớp truyền thống... 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 -15Trong 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... tiếp tục kết hợp với bộ phân lớp cục bộ (Naïve Bayes) -24- KẾT LUẬN, CÁC KẾT QUẢ ĐÃ ĐẠT ĐƯỢC VÀ HƯỚNG NGHIÊN CỨU TIẾP THEO Thông qua việc nghiên cứu, tìm hiểu và thử nghiệm các phương pháp phân lớp cho dữ liệu có liên kết, chúng tôi đã kiểm chứng được hai vấn đề sau: Thứ nhất, việc phân lớp tập hợp sẽ giúp nâng cao độ chính xác của các thuật toán phân lớp liên kết Thứ hai, việc tận dụng, kết hợp .
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
.
2
-
PHÂN
LỚP
CHO
DỮ
LIỆU
CÓ
LIÊN
KẾT
2.1.
Giới
thiệu
về
dữ
liệu
có
liên
kết
Dữ
liệu
có
liên
kết,
được
Ngày đăng: 13/02/2014, 12:55
Xem thêm: Kỹ thuật phân lớp áp dụng cho dạng dữ liệu có liên kết, Kỹ thuật phân lớp áp dụng cho dạng dữ liệu có liên kết