Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 26 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
26
Dung lượng
545,13 KB
Nội dung
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ậtphânlớpápdụngchodạngdữliệucóliênkế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ânlớ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ânlớ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ânlớpcó các liênkế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ênkết tương ứng với
quan hệ tương tác giữa chúng. Các quan hệ liênkết cũng là dạngdữ
liệu tiêu biểu với các ứng dụngcho 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ênkết trong dữliệu để
tăng hiệu quả và độ chính xác chothuật toán phân lớp.
Nguyên tắc chung của việc phânlớpdữliệucóliênkế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ânlớ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ênkết giữa
các đối tượng trong dữliệucóliênkế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ụngkế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ânlớ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 chodữliệucó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ậtphânlớpchodữliệucó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ênkết lẫn thông tin cục
bộ của dữ liệu; cụ thể là phương pháp phânlớ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ânlớ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ânlớp sử dụng từng
bộ phânlớp riêng lẻ cũng như so sánh với phương pháp phânlớpliê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ânlớpchodữliệucóliên kết. Phương
-3-
pháp này kết hợp một bộ phânlớpliênkết với một bộ phânlớ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ânlớpdữ 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ânlớp và một số vấn đề cần quan tâm trong việc phânlớpdữ
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ânlớpchodữliệucóliên kết: Giới thiệu về dạng
dữ liệucóliênkết và các phương pháp phânlớpchodữliệucó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 chodữliệuliênkết là wvRN, CDRN, NBC, NLB cùng với ba
phương thức suy luận tập hợp ápdụ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ânlớpcó thể học dựa trên các mẫu dữ
liệu huấn luyện. Dữliệudù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ânlớp này chỉ có thể nhận một số
hữu hạn các giá trị.
Bài toán phânlớ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ânlớ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ânlớ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ânlớp và có nhiều
thuật toán giải quyết vấn đề này. Các thuật toán phânlớ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ânlớ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ânlớpdữ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ớpdữ 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ânlớ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ớpdữliệu cũng không được biết trước.
.Mô hình phânlớ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ânlớ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ânlớpdữ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ânlớ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ânlớp những bộ dữliệu mới hoặc
những mẫu dữliệu mà giá trị nhãn phânlớ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ânlớ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ânlớ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ânlớ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ânlớp nào có khả năng phânlớ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ânlớ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ânlớp này. Một
số thuật toán đưa ra mô hình phânlớ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ânlớ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ânlớp rất tốt cho những mẫu dữliệu đã biết
nhưng không thể phânlớ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ụngdữ
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ÂNLỚPCHODỮLIỆUCÓLIÊNKẾT 2.1 Giới thiệu về dữliệucóliênkếtDữliệucó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ânlớpchodữliệuliên kết. .. 2.2.4 Thuật toán phânlớpliênkết Network-Only LinkBased Classifier (NLB) 2.3 Phânlớp tập hợp và các phương thức suy luận tập hợp Để phân lớpdữliệu dạng liênkết người ta có thể chỉ cần sử dụng một thuật toán phânlớpliênkết Tuy nhiên như đã trình bày ở trên, phương pháp phânlớp tập hợp kết hợp một thuật toán phânlớpliênkế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ânlớp đồng thời cho các nút trên mạng 2.2 Các thuật toán phânlớpliênkết -11Bốn thuật toán phânlớpliênkế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ânlớpliênkết Weighted-Vote Relational Neighbor (wvRN) 2.2.2 Thuật toán phânlớpliênkết Class-Distribution Relational Neighbor (CDRN) 2.2.3 Thuật toán phânlớpliênkết Network-Only Bayes... (IC) 2.4 Phânlớp tập hợp kết hợp bộ phânlớpliênkết và bộ phânlớp truyền thống Các bộ phânlớpliênkết chỉ quan tâm tới cấu trúc liênkế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ânlớpliênkết sẽ không thể phânlớpcho những... sử dụng bộ phânlớpliênkết và dựa vào các xác suất ban đầu đó để tiếp tục phânlớp 2.5 Một số phương pháp phânlớpchodữliệudạngliênkết khác Bên cạnh các phương pháp phân loại quan hệ chodữliệuliênkế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ệuliênkết sẽ giúp nâng cao hiệu suất phânlớ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ânlớpchodữliệuliênkết bằng cách kết hợp một bộ phânlớpliênkết với một bộ phânlớp truyền thống thông qua kỹthuật Co-training... khi phân lớpdữliệu có liênkế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ênkết tới, và ngược lại Hơn nữa, các nút không cóliênkết trực tiếp lại có thể liênkết gián tiếp thông qua một chuỗi các liênkế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ẽ chokết quả kém chính xác hơn nhiều so với việc sử dụngdữliệudạng Cocite Chính vì vậy trong các phần tiếp theo chúng tôi chỉ sử dụngdữliệuliênkếtdạng Cocite Tiếp đó chúng tôi dùngphầ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ânlớ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ânlớp tập hợp Ngoài ra, Netkit-SRL còn có khả năng liênkết với với công cụ khai phá dữliệu WEKA -15Trong trường hợp thực hiện phânlớp tập hợp kết hợp cả bộ phânlớpliênkết lẫn bộ phânlớp cục bộ, Netkit-SRL sẽ nhận kết quả phânlớp cục bộ từ WEKA để khởi tạo xác suất phânlớp ban đầu cho quá trình phânlớp tập hợp Waikato Environment for Knowledge... tiếp tục kết hợp với bộ phânlớ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ânlớpchodữliệucóliên kết, chúng tôi đã kiểm chứng được hai vấn đề sau: Thứ nhất, việc phânlớp tập hợp sẽ giúp nâng cao độ chính xác của các thuật toán phânlớpliênkế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