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.. Họ đề xuất một mô hình xác suất cho phân loạ
Trang 1
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
Trang 2Luậ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
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
Trang 3MỞ ĐẦ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ânlớ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 trangweb, 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ềuthuậ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
Trang 4sự [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
Trang 5phá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ênkế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ácphương pháp khác nhau cũng sẽ được phân tích, so sánh và đánh giá
Trang 6Chươ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ácmẫ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 , x i2 , …., x ik , y i), 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
Trang 7Tấ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ựngmộ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
Trang 8Bướ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ìakhó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ặcnhữ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
Trang 9Trong 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 ướclượ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
Trang 10chí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 trongphầ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)
Trang 11Chương 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 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 đốitượ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ề cơ 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ượngthườ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
Trang 12cá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 tập hợp (collectiveclassification)
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 là 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à v j ; X i là thuộc tính phân lớp của nút v i
có thể nhận giá trị c X Cho trước các giá trị x i thuộc X i 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 X i 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 là 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 là 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
Trang 13Bố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
Link-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
Phương thức suy luận tập hợp giúp suy luận và ướ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 có 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