Chương 1 TỔNG QUAN VỀ VẤN ĐỀ NGHIÊN CỨU Chương này của luận án giới thiệu các kiến thức cơ bản về bài toán phân lớp nhị phân có tính chất dữ liệu không cân bằng và các vấn đề liên quan khi ứng dụng vào bài toán dự đoán đồng tác giả được mô hình hóa theo dạng phân lớp. Một số phương pháp tiếp cận giải quyết bài toán và thuật toán phân lớp nhị phân nổi bật cũng được phân tích để đưa ra các định hướng nghiên cứu cải tiến các thuật toán. Bài toán phân lớp với dữ liệu không cân bằng Dữ liệu không cân bằng là khái niệm đề cập đến các bộ dữ liệu có đặc điểm phân bố số lượng mẫu trong mỗi lớp có sự chênh lệch cao. Bài toán phân lớp trên dữ liệu không cân bằng là một vấn đề thách thức trong học máy.
Để giải quyết bài toán phân lớp trên dữ liệu không cân bằng nói chung, các nghiên cứu tập trung vào hai hướng giải quyết chính đó là: sửa đổi tập dữ liệu để giảm mức độ không cân bằng mẫu giữa các lớp và cải tiến thuật toán thông qua việc điều chỉnh các tham số. Các phương pháp tiếp cận mức dữ liệu sử dụng các kỹ thuật can thiệp vào bộ dữ liệu gốc để tạo ra bộ dữ liệu huấn luyện có tỷ lệ phân bố mẫu cân bằng hơn, từ đó làm cơ sở cho các thuật toán phân lớp truyền thống hoạt động hiệu quả hơn. Có thể thay đổi sự phân bố số lượng mẫu trong bộ dữ liệu (ReSampling) bằng cách sinh thêm các phần tử cho lớp thiểu số (Over Sampling) như Ran- dom Oversampling, Synthetic Minority Oversampling Technique (SMOTE) [25], Border-line-SMOTE [26], Adaptive Synthetic Sampling (ADA-SYN)[27] over- sampling dựa trên cụm (Cluster Based Sampling-CBO) [28], SMOTEBoost [29], OSD [30]. hay giảm bớt các phần tử thuộc lớp đa số (Under Sampling) như EasyEnsemble [31], BalanceCascade [32], KNN-NearMiss [33],.
để bộ dữ liệu trở nên cân bằng hơn, từ đó sử dụng các thuật toán học máy mạnh để phân lớp. Một số kỹ thuật làm sạch dữ liệu (data cleaning techniques) như Tomek links được dùng để loại bỏ sự trùng lặp hoặc chồng lẫn của các mẫu trong tập dữ liệu sau khi thực hiện các thuật toán tạo các mẫu tổng hợp (Over Sampling) [34][35]. 11 Các phương pháp tiếp cận ở mức thuật toán hướng tới việc điều chỉnh các thuật toán phân lớp truyền thống để vẫn đạt được hiệu quả cao trên các tập dữ liệu không cân bằng. Các phương pháp phổ biến như học dựa trên nhạy cảm chi phí [36][37][38], điều chỉnh xác suất ước lượng [30][39], sử dụng các hằng số phạt khác nhau cho các nhãn lớp khác nhau [40][41].
Một số thuật toán được nghiên cứu cải tiến điển hình như: Boosting [20], AdaC1, AdaC2, AdaC3 [42][43][44][45][46], sử dụng Cây quyết định (Cost-Sensitive Decision Trees) [38][47], sử dụng các hàm kernel máy vectơ hỗ trợ SVM, sử dụng kỹ thuật học sâu,. Một số nghiên cứu khác sử dụng kết hợp cải tiến thuật toán và sửa đổi mẫu như [19][48][49][50][51]. Việc sử dụng các phương pháp tiếp cận ở mức dữ liệu trong một số trường hợp nào đó có thể dẫn đến mất đi những thông tin quan trọng của bộ dữ liệu hoặc đưa nhiễu vào tập dữ liệu. Do đó, luận án tiếp cận giải quyết bài toán có dữ liệu không cân bằng ở mức thuật toán, tức là nghiên cứu cải tiến các thuật toán truyền thống để nó đạt được hiệu quả phân lớp tốt trên dữ liệu không cân bằng.
Trong đó, luận án lựa chọn các giải thuật mạnh như học kết hợp boosting hay SVM có trọng số để nghiên cứu cải tiến, giải quyết vấn đề phân lớp trên dữ liệu không cân bằng. Phân tích một số phương pháp tiếp cận ở mức thuật toán để giải quyết không cân bằng dữ liệu, các phương pháp dựa trên cải tiến dựa trên AdaBoost [42], cải tiến dựa trên SVMs [21][52] và các phương pháp học sâu dựa trên CNN [53] thu hút rất nhiều sự quan tâm bởi tính tùy biến mở rộng của các thuật toán cho các bài toán có dữ liệu có tính chất khác nhau là rất hiệu quả. Thuật toán học kết hợp AdaBoost do Freund [20] đề xuất dựa trên quan điểm là: khi sử dụng một bộ phân lớp đơn lẻ có thể sẽ không xem xét một cách đầy đủ các đặc điểm của tập dữ liệu, do đó việc kết hợp sử dụng nhiều bộ phân lớp thành viên khác nhau để tạo thành một bộ phân lớp tổng hợp có thể sẽ xem xét kỹ hơn các đặc tính của dữ liệu và đem lại hiệu quả phân lớp tốt hơn. Để sử dụng kết hợp các bộ phân lớp con, thường có hai cách kết hợp là tuần tự (boosting) hoặc song song (bagging).
AdaBoost là kiểu kết hợp tuần tự và sửa lỗi phân lớp thích nghi qua mỗi lần lặp. Về phương pháp học kết hợp dạng song song, nổi bật nhất là thuật toán rừng ngẫu nhiên (Random forest). Thuật toán này chia nhỏ bộ dữ liệu gốc thành các tập dữ liệu con bằng kỹ thuật bootstrap và sử dụng các bộ phân lớp thành viên cho các tập dữ liệu con, sau đó kết quả phân lớp chung cuối cùng sẽ được tổng hợp từ các bộ phân lớp thành viên. Tuy 12 nhiên trong trường hợp dữ liệu không cân bằng, đặc biệt là dữ liệu không cân bằng mức cao, số lượng mẫu nhãn dương +1 là rất ít.
Vì vậy việc lấy mẫu ngẫu nhiên để tạo ra các bộ dữ liệu con khó đảm bảo đầy đủ tính chất của dữ liệu. Do đó, thuật toán học kết hợp AdaBoost được luận án lựa chọn để thực hiện nghiên cứu cải tiến. SVM [21] là một thuật toán phân lớp mạnh trong học máy. SVM đã được nghiên cứu rộng rãi và được chứng minh là một phương pháp phân lớp mạnh trong các kết quả thực nghiệm.
Giải thuật này đặc biệt hiệu quả đối với các dữ liệu phân biệt tuyến tính. Ngoài ra, thuật toán cũng khá mềm dẻo và có khả năng cải tiến mở rộng để đạt hiệu quả cao trên những bộ dữ liệu có đặc tính khác nhau. Đối với bài toán phân lớp dữ liệu không cân bằng, đã có rất nhiều các nghiên cứu cải tiến SVM như là Weighted-SVM [22], Kernel-SVM, đặc biệt là Fuzzy SVM [23], Fuzzy SVM-CIL [24]. Một điều cần lưu ý nữa là hai thuật toán AdaBoost và SVM đều sử dụng hàm xét dấu (−/+) để đưa ra kết quả phân lớp nên nó trở thành lựa chọn hợp lý và phù hợp để cải tiến cho bài toán phân lớp nhị phân có dữ liệu không cân bằng mà luận án hướng tới.
Bên cạnh vấn đề dữ liệu không cân bằng về số lượng mẫu trong các lớp, một vấn đề chung để nâng cao chất lượng mô hình phân lớp là cần xử lý tốt việc phân lớp chính xác trong các vùng không gian nhạy cảm như: mẫu dữ liệu là nhiễu hoặc mẫu dữ liệu phân bố trong không gian ranh giới phân lớp của hai lớp. Để xác định các vùng không gian chứa các mẫu nhạy cảm này, chúng ta cần các phương pháp đo lường khoảng cách hoặc xem xét phân bố các mẫu. Do vậy chúng ta cần lưu ý đến việc sử dụng các thuật toán như K-nearest neighbors (KNN) và Tomek link để định vị các mẫu trong không gian phân bố. Mặt khác SVM là thuật toán phân lớp dạng tuyến tính dựa trên lề và có các tham số điều chỉnh để mở rộng hoặc co hẹp không gian biên lề phân lớp.
Khi sử dụng SVM làm bộ phân lớp cơ sở, chúng ta hoàn toàn có thể xác định được vùng không gian nhạy cảm là biên lề phân lớp. Ngoài ra, với dữ liệu không đầy đủ, không chắc chắn, phương pháp xử lý mờ dựa trên lý thuyết tập mờ của Zadeh [54] đưa ra vào năm 1965 tỏ ra hiệu quả. Nhiều nghiên cứu đã đề xuất các phương pháp xử lý mờ để giải quyết vấn đề này. Vì vậy việc nghiên cứu vận dụng và cải tiến các thuật toán như AdaBoost, SVM có trọng số, KNN, Tomek link [55] và các gải thuật phân lớp mờ Fuzzy SVM, Fuzzy SVM-CIL cho dữ liệu không cân bằng mang đến nhiều triển vọng.
13 Dựa vào việc phân tích trên, trong phần tiếp theo, luận án sẽ trình bày tóm lược các thuật toán liên quan làm cơ sở cho các nghiên cứu cải tiến nhằm hướng đến giải quyết bài toán phân lớp nhị phân trên dữ liệu không cân bằng nói chung và ứng dụng trong bài toán dự đoán cộng tác đồng tác giả nói riêng. Một số thuật toán liên quan 1. Thuật toán SVM Thuật toán 1.1: Thuật toán SVM Input: Tập dữ liệu X = {(x1 , y1 ),. , (xN , yN )} với yi = {−1, +1}; C : tham số điều chỉnh kiểm soát sự đồng nhất của siêu phẳng phân lớp.
Output: Hệ số w: véc-tơ trọng số của các thuộc tính, b: thuộc tính độ lệch để xác định siêu phẳng phân lớp. 1 Khởi tạo w và b 2 for Lặp đến khi hội tụ do 3 for Duyệt từng mẫu huấn luyện xi do 4 Tính di = yi (w · xi + b) 5 Tính hàm chi phí cho mẫu xi : costi = max(0, 1 − di ) Tính hàm mục tiêu: J(w, b) = 12 ||w||22 + C N P 6 i=1 costi ; 7 Cập nhật w và b bằng phương pháp tối ưu hóa: minJ(w, b) 8 return h(x) = sign(w · x + b). SVM đã được nghiên cứu, thử nghiệm và chứng minh là một phương pháp phân lớp mạnh, đặc biệt hiệu quả đối với các dữ liệu phân biệt tuyến tính. Ngoài ra, thuật toán cũng khá mềm dẻo và có khả năng cải tiến mở rộng để đạt hiệu quả cao trên những bộ dữ liệu có đặc tính khác nhau.
Đối với vấn đề phân lớp nhị phân, với tập dữ liệu D = {(xi , yi )|i = 1, 2, · · · , N }, trong đó xi ∈ Rn đại diện cho một điểm dữ liệu n chiều và yi ∈ {−1, +1} là nhãn lớp của xi. Mục tiêu của thuật toán SVM là tìm ra một siêu phẳng phân tách các điểm dữ liệu này thành hai lớp trong không gian đặc trưng Rn. Hàm mục tiêu cần tối ưu cho siêu phẳng phân tách trong không gian đặc trưng Rn được biểu thị bằng: ⟨ω, x⟩ + b = 0, (1.1) trong đó ω là ma trận tham số, b là hệ số. Các bước huấn luyện của SVM được trình bày cụ thể ở Thuật toán 1.
Thuật toán Weighted-SVM Đối với vấn đề học máy trên dữ liệu không cân bằng hai nhãn lớp, đã có nhiều cải tiến của thuật toán SVM được đề xuất như [24][56][57][58][59]. Một cải tiến nổi bật, điển hình trong số đó là thuật toán Weighted-SVM (WSVM) [22].