Phương pháp DEC - SVM phân lớp dữ liệu mất cân bằng
Ngày nay, khi vấn đề khai thác và xử lý thông tin
ngày càng được chú trọng, kỹ thuật phân lớp dữ
liệu đã góp phần hữu hiệu giúp con người khai
thác một cách có hiệu quả khối dữ liệu mà họ
đang nắm giữ. Tuy nhiên, dữ liệu thu thập được
trong thực tế ngày càng xuất hiện nhiều các bộ
dữ liệu mất cân bằng, nghĩa là trong tập dữ liệu
có sự chênh lệch lớn về số lượng các phần tử
giữa các lớp. Các bộ dữ liệu trong nhiều ứng dụng
thực tế như phát hiện các giao dịch gian lận, phát
hiện xâm nhập mạng, dự đoán rủi ro trong quản
lý, chẩn đoán y khoa, , đều là các bộ dữ liệu mất
cân bằng mà trong đó, lớp người ta cần quan tâm
lại chiếm tỉ lệ rất nhỏ so với lớp còn lại.
Sự chênh lệch về số lượng giữa lớp đa số và lớp
thiểu số làm cho việc phân lớp đúng các mẫu
thuộc lớp thiểu số bị giảm hiệu quả. Tỷ lệ mất
cân bằng của tập dữ liệu càng cao thì việc phát
hiện đúng các mẫu của lớp thiểu số càng khó
khăn. Trong các ứng dụng thực tế, tỷ lệ mất cân
bằng có thể là 1:100, 1:1000, thậm chí có thể hơn
[11]. Vì thế, phân lớp dữ liệu mất cân bằng đã và
đang là bài toán được các nhà khoa học đặc biệt
quan tâm
Tóm tắt nội dung tài liệu: Phương pháp DEC - SVM phân lớp dữ liệu mất cân bằng
LIÊN NGÀNH ĐIỆN - ĐIỆN TỬ - TỰ ĐỘNG HÓA Tạp chí Nghiên cứu khoa học - Đại học Sao Đỏ, ISSN 1859-4190 Số 4(63).2018 17 Phương pháp DEC-SVM phân lớp dữ liệu mất cân bằng Imbalanced data classification based on DEC-SVM Phạm Thị Hường 1 , Phạm Văn Kiên 1 , Đỗ Ngọc Quỳnh 2 Email: ngocquynh.ydhn@gmail.com 1 Trường Đại học Sao Đỏ 2 Trường Cao đẳng Y Dược Hà Nội Ngày nhận bài: 21/8/2018 Ngày nhận bài sửa sau phản biện: 29/10/2018 Ngày chấp nhận đăng: 27/12/2018 Tóm tắt Trong bài báo này, tác giả đã nghiên cứu thuật toán DEC-SVM điều chỉnh dữ liệu bằng cách sinh thêm phần tử cho lớp thiểu số, sau đó sử dụng kỹ thuật phân cụm để loại bỏ bớt phần tử dư thừa. Thực nghiệm cho thấy DEC-SVM có khả năng nâng cao hiệu quả phân lớp cho các bộ dữ liệu mất cân bằng. Từ khóa: Phân cụm; phân lớp; dữ liệu mất cân bằng; SVM. Abstract In this article, authors study the DEC-SVM algorithm that modulates data by adding elements to the minority class, and then uses clustering techniques to eliminate redundant elements. Empirical evidence show that the DEC-SVM is capable of enhancing class efficiency for imbalanced data sets. Keywords: Clustering; classification; imbalanced data; SVM. 1. GIỚI THIỆU CHUNG Ngày nay, khi vấn đề khai thác và xử lý thông tin ngày càng được chú trọng, kỹ thuật phân lớp dữ liệu đã góp phần hữu hiệu giúp con người khai thác một cách có hiệu quả khối dữ liệu mà họ đang nắm giữ. Tuy nhiên, dữ liệu thu thập được trong thực tế ngày càng xuất hiện nhiều các bộ dữ liệu mất cân bằng, nghĩa là trong tập dữ liệu có sự chênh lệch lớn về số lượng các phần tử giữa các lớp. Các bộ dữ liệu trong nhiều ứng dụng thực tế như phát hiện các giao dịch gian lận, phát hiện xâm nhập mạng, dự đoán rủi ro trong quản lý, chẩn đoán y khoa,, đều là các bộ dữ liệu mất cân bằng mà trong đó, lớp người ta cần quan tâm lại chiếm tỉ lệ rất nhỏ so với lớp còn lại. Sự chênh lệch về số lượng giữa lớp đa số và lớp thiểu số làm cho việc phân lớp đúng các mẫu thuộc lớp thiểu số bị giảm hiệu quả. Tỷ lệ mất cân bằng của tập dữ liệu càng cao thì việc phát hiện đúng các mẫu của lớp thiểu số càng khó khăn. Trong các ứng dụng thực tế, tỷ lệ mất cân bằng có thể là 1:100, 1:1000, thậm chí có thể hơn [11]. Vì thế, phân lớp dữ liệu mất cân bằng đã và đang là bài toán được các nhà khoa học đặc biệt quan tâm. Người phản biện: 1. GS.TSKH. Thân Ngọc Hoàn 2. TS. Trần Trọng Hiếu Đối với các bộ dữ liệu mất cân bằng, các bộ phân lớp chuẩn thường có xu hướng thiên vị đối với lớp đa số và bỏ qua lớp thiểu số (xử lý chúng như là nhiễu) [4]. Vì vậy, khi áp dụng các giải thuật phân lớp truyền thống chưa thể xây dựng được một bộ phân lớp tốt. Việc phân loại sai các mẫu thuộc lớp thiểu số có thể gây nên những tổn thất lớn đối với các lĩnh vực thực tế. Để giải quyết vấn đề về phân lớp đối với các bộ dữ liệu mất cân bằng, hiện nay có nhiều phương pháp khác nhau, trong đó, có hai hướng tiếp cận chính: tiếp cận ở mức độ dữ liệu và hướng tiếp cận ở mức độ thuật toán. Trong [12], tác giả cải tiến thuật toán sinh thêm mẫu nhân tạo lớp thiểu số (SMOTE) bằng cách kết hợp thuật toán nhúng tuyến tính cục bộ (locally linear embedding - LLE). Thuật toán LLE ánh xạ dữ liệu có số chiều cao vào một không gian với số chiều thấp hơn. Sau đó, các mẫu nhân tạo sinh ra sẽ được ánh xạ trở lại không gian mẫu ban đầu thông qua LLE. Từ bộ dữ liệu đã điều chỉnh, thực nghiệm trên 3 bộ dữ liệu với ba kỹ thuật phân lớp Bayes, K-NN, SVM cho thấy kỹ thuật SVM có độ chính xác theo tiêu chí AUC cao nhất với trung bình là 76.5%. Trong [13], tác giả trình bày giải thuật GSVM -RU (Granular Support Vector Machines Repetitive Undersampling) sử dụng SVM cho việc lấy mẫu. Với những mẫu quan trọng trong quá trình phân lớp, giảm thiểu mất thông tin các mẫu đa số khi loại bỏ và tối đa mẫu thiểu số 18 NGHIÊN CỨU KHOA HỌC Tạp chí Nghiên cứu khoa học - Đại học Sao Đỏ, ISSN 1859-4190 Số 4(63).2018 khi làm sạch dữ liệu trong quá trình lấy mẫu để chỉ giữ lại các mẫu cần thiết và các mẫu khác có thể được loại bỏ một cách an toàn mà không ảnh hưởng đến phân loại. Việc trích chọn vectơ ít hơn, do đó tăng tốc độ dự đoán. Kết quả thực nghiệm với các đánh giá G-Mean (85.2%), AUC (92.4%), F-Measure (66.5%). Trong [14], tác giả đề xuất phương pháp Bagging of Extrapolation Borderline- SMOTE SVMs (BEBS) sử dụng phương pháp lấy mẫu thích nghi Extrapolation Borderline-SMOTE và tập hợp bootstrapping vào tập dữ liệu không cân bằng ban đầu. Khi sử dụng SVM, ranh giới quyết định nghiêng về phía các mẫu thiểu số và có thể được thay đổi dựa vào các mẫu nhân bản. Kết quả thực nghiệm đánh giá dựa trên tiêu chí G-Mean đạt 76.2%. Tuy nhiên, với đặc thù của các tập dữ liệu hầu hết không giống nhau, không có giải pháp nào là hữu hiệu cho mọi tập dữ liệu. Trong bài báo này, chúng tôi đề xuất thuật toán DEC-SVM để phân lớp dữ liệu. Cụ thể, nghiên cứu thuật toán điều chỉnh dữ liệu cho bài toán phân lớp dữ liệu mất cân bằng – thuật toán DEC (a novel Differential Evolution Clustering hybrid resampling) được công bố vào năm 2010 của nhóm tác giả Leichen Chen, Zhihua Cai, Lu Chen và Qiong Gu [1]. Thuật toán này là sự kết hợp giữa phương pháp sinh thêm phần tử cho lớp thiểu số và sử dụng kỹ thuật phân cụm, K-means để loại bỏ bớt phần tử dư thừa, nhiễu trong dữ liệu. Với mỗi mẫu thuộc lớp thiểu số, tạo ra một mẫu đột biến từ hai trong số những láng giềng gần nó nhất, sau đó sử dụng thuật toán di truyền để sinh thêm phần tử cho lớp thiểu số từ mẫu thiểu số ban đầu và mẫu đột biến mới tạo ra. Sau khi điều chỉnh dữ liệu bằng thuật toán DEC, chúng tôi sử dụng kỹ thuật SVM để phân lớp cho tập dữ liệu huấn luyện mới để tạo ra mô hình phân lớp. Kết quả cho thấy, khi sử dụng DEC-SVM thì hiệu quả phân lớp các bộ dữ liệu mất cân bằng cao hơn. 2. PHƯƠNG PHÁP DEC-SVM CHO BÀI TOÁN PHÂN LỚP DỮ LIỆU MẤT CÂN BẰNG 2.1. Hướng tiếp cận ở mức độ dữ liệu Tiếp cận ở mức độ dữ liệu mục đích là điều chỉnh tỉ lệ mất cân bằng giữa hai lớp trong bộ dữ liệu, cụ thể sử dụng các hình thức lấy mẫu: sinh thêm các phần tử lớp thiểu số (sinh ngẫu nhiên, sinh thêm phần tử nhân tạo,), loại bỏ các phần tử lớp đa số, hoặc kết hợp cả hai phương pháp trên. 2.1.1. Sinh thêm phần tử lớp thiểu số Có nhiều phương pháp sinh thêm phần tử cho lớp thiểu số như: sinh ngẫu nhiên phần tử lớp thiểu số, lựa chọn phần tử lớp thiểu số, sinh thêm mẫu nhân tạo. Sinh ngẫu nhiên các phần tử ở lớp thiểu số là phương pháp đơn giản nhất nhằm cân bằng phân lớp thông qua việc nhân bản ngẫu nhiên các mẫu lớp thiểu số. Ý tưởng là lựa chọn ngẫu nhiên các mẫu thuộc lớp thiểu số và nhân bản chúng tạo ra mẫu mới giống hệt chúng. Hình 1 minh họa phương pháp sinh thêm phần tử cho lớp thiểu số. Hình 1. Sinh ngẫu nhiên phần tử lớp thiểu số Phương pháp sinh thêm mẫu nhân tạo lớp thiểu số SMOTE (Synthetic Minority Over-sampling Technique) như sau: Với mỗi mẫu thuộc lớp thiểu số, tìm láng giềng gần nhất của nó trong lớp thiểu số, lựa chọn ngẫu nhiên các láng giềng gần nhất (hoặc tất cả láng giềng) tùy theo số lượng mẫu cần sinh thêm. Mẫu nhân tạo sẽ được sinh ra theo cách sau: lấy độ lệch giữa vector thuộc tính của mẫu đang xét và láng giềng của nó nhân với một số ngẫu nhiên trong khoảng (0, 1) rồi cộng kết quả thu được với vector thuộc tính của mẫu đang xét. Kết quả cuối cùng chính là vector thuộc tính của mẫu nhân tạo, nhãn của mẫu nhân tạo sẽ được gán là nhãn của lớp thiểu số [9] và được minh họa trong hình 2. Hình 2. Minh họa sinh thêm phần tử nhân tạo bằng thuật toán SMOTE Giả mã của thuật toán SMOTE [9]: SMOTE (N, T, k) Input: Số mẫu lớp thiểu số T; tổng số SMOTE N%, số láng giềng gần nhất k. Output: (N/100)*T mẫu thiểu số nhân tạo 1. (Nếu N nhỏ hơn 100%, chọn ngẫu nhiên các mẫu lớp thiểu số mà chỉ một phần trăm của chúng sẽ được SMOTE) 2. IF N< 100 3. Then chọn ngẫu nhiên T mẫu lớp thiểu số 4. T = (N/100)*T 5. N = 100 LIÊN NGÀNH ĐIỆN - ĐIỆN TỬ - TỰ ĐỘNG HÓA Tạp chí Nghiên cứu khoa học - Đại học Sao Đỏ, ISSN 1859-4190 Số 4(63).2018 19 6. Endif 7. N = (int) (N/100) (Số luợng SMOTE được giả định là bội số của 100) 8. k = số láng giềng gần nhất 9. numattrs = số thuộc tính 10. sample [ ][ ]: mảng các mẫu thiểu số ban đầu 11. newindex: chỉ số của mẫu nhân tạo được tạo ra, khởi tạo là 0 12. synthetic [ ][ ]: mảng các mẫu nhân tạo (tính k láng giềng gần nhất cho mỗi mẫu lớp thiểu số.) 13. For to T 14. Tính k láng giềng gần nhất cho i và lưu vào mảng nnarray. 15. Populate (N, i, nnarray) 16. Endfor Populate (N, i, nnarray) (hàm sinh các mẫu nhân tạo) Input: Số mẫu cần sinh thêm N, mỗi mẫu lớp thiểu số i, mảng các láng giềng gần nhất nnarray. Output: Vector thuộc tính của mẫu nhân tạo 1. While N≠0 2. Chọn ngẫu nhiên một số nn giữa 1 và k 3. For attr←1 to numattrs 4. Tính dif=Sample[nnarray[n,n]][attr]-Sample[i][attr] 5. Tính gap = một số ngẫu nhiên giữa 0 và 1 6. Synthentic[newindex][attr]=Sample[i][ attr]+gap*dif 7. Endfor 8. ++ 9. N=N-1 10. Endwhile 11. Return (kết thúc hàm Populate) Ngoài ra còn có một số thuật toán được cải tiến từ thuật toán SMOTE như: Borderline-SMOTE [6], Safe-level SMOTE [3] cũng đem lại những hiệu quả nhất định hỗ trợ quá trình phân lớp cho các bộ dữ liệu mất cân bằng. 2.1.2. Loại bỏ phần tử lớp đa số Là phương pháp điều chỉnh phân bố dữ liệu bằng cách giảm bớt số lượng phần tử lớp đa số. Loại bỏ một cách ngẫu nhiên các mẫu thuộc lớp đa số là đơn giản nhất. Phương pháp này thực hiện loại bỏ ngẫu nhiên phần tử thuộc lớp đa số trong tập huấn luyện (hình 3a) cho tới khi có được tỷ lệ phù hợp giữa hai lớp. Với lý do này, số lượng phần tử trong tập huấn luyện giảm đáng kể (hình 3b). M M u thi u s (a) (b) Hình 3. Minh họa loại bỏ phần tử lớp đa số Tuy nhiên, việc loại bỏ mẫu có thể sẽ làm hao hụt thông tin và có khả năng làm mất đi những mẫu mang thông tin quan trọng cho quá trình xây dựng mô hình phân lớp. Khắc phục hạn chế của phương pháp trên, một số phương pháp loại bỏ mẫu theo mục tiêu được đề xuất như: Tomek links, One-side Selection, Neighborhood Cleaning Rule [7]. 2.2. Hướng tiếp cận ở mức độ thuật toán Tiếp cận ở mức độ thuật toán nghĩa là điều chỉnh các thuật toán phân lớp để tăng cường độ chính xác khi phân lớp đối với dữ liệu mất cân bằng. Chiến lược chung để đối phó với vấn đề mất cân bằng trong các bộ dữ liệu là lựa chọn một khuynh hướng quy nạp thích hợp. Ví dụ như đối với phương pháp cây quyết định, cách tiếp cận có thể là điều chỉnh dự đoán xác xuất ở lá, hoặc phát triển phương pháp cắt tỉa mới. Hay đối với phương pháp phân lớp SVM, có thể sử dụng hằng số phạt khác nhau cho các lớp hoặc điều chỉnh ranh giới lớp dựa trên ý tưởng liên hết hạt nhân [11]. Đối với phương pháp phân lớp K-NN, có thể đề xuất một hàm khoảng cách có trọng số. Ý tưởng này nhằm bù cho sự mất cân bằng trong mẫu huấn luyện mà không làm thay đổi sự phân lớp. 2.3. Thuật toán DEC-SVM cho bài toán phân lớp dữ liệu mất cân bằng Phương pháp sinh thêm phần tử nhân tạo cho lớp thiểu số là phương pháp hiệu quả cho các bài toán phân lớp dữ liệu mất cân bằng. Tuy nhiên, trong nhiều trường hợp, việc sinh thêm mẫu có thể sẽ tạo ra những mẫu dư thừa hoặc nhiễu làm ảnh hưởng tới hiệu quả phân lớp. Thuật toán DEC-SVM dựa trên việc tạo ra phần tử nhân tạo trên lớp thiểu số nhằm giảm tỷ lệ mất cân bằng, 20 NGHIÊN CỨU KHOA HỌC Tạp chí Nghiên cứu khoa học - Đại học Sao Đỏ, ISSN 1859-4190 Số 4(63).2018 sau đó sử dụng kỹ thuật phân cụm cho tập dữ liệu để loại bỏ những mẫu dư thừa hoặc nhiễu. Bằng cách lấy mẫu kết hợp với làm sạch dữ liệu, các mẫu hữu ích vẫn được giữ lại và nâng cao hiệu quả phân lớp. 2.3.1. Điều chỉnh dữ liệu bằng thuật toán DE Với thuật toán SMOTE, mẫu mới sẽ được sinh ra từ một mẫu positive (mẫu lớp thiểu số) ban đầu và một trong những láng giềng của nó. Với nền tảng là thuật toán MOTE, tuy nhiên, trong thuật toán DE, từ hai trong số các láng giềng gần nhất của một mẫu positive sẽ tạo ra một mẫu “đột biến”, và mẫu mới được sinh ra bằng cách lai ghép chéo mẫu đột biến này và mẫu positive ban đầu. 2.3.1.1. Đột biến Trong tập dữ liệu huấn luyện, đầu tiên chọn ngẫu nhiên một mẫu positive và tìm k láng giềng gần nhất của nó, sau đó chọn ngẫu nhiên hai láng giềng trong láng giềng đó: x n1 và x n2 . Một mẫu đột biến x mu sẽ được tạo ra bằng cách sử dụng công thức (1) với rand(0,1) là hằng số ngẫu nhiên trong khoảng [0,1]: x mu=x i+rand(0,1) × (x n1-x n2) (1) 2.3.1.2. Crossover Qua bước đột biến, ta tạo ra số lượng mẫu đột biến đúng bằng số lượng mẫu positive ban đầu trong tập dữ liệu huấn luyện. Ở bước này, ta sẽ sử dụng các mẫu đột biến cùng với các mẫu positive ban đầu để tạo ra mẫu nhân tạo mới. Cụ thể, các mẫu mới sẽ được hình thành dựa theo (2): xnew,j= xi,j nếu rand(j)>CR và j ≠ rand(s) (2) xmu,j nếu rand(j) ≤ CR hoặc j=rand(s) trong đó: xi,j là thuộc tính thứ j của mẫu thứ i; CR là hằng số crossover được lựa chọn ngẫu nhiên trong [0, 1] và được xác định trước bởi người dùng; rand(j) là giá trị được lựa chọn ngẫu nhiên trong khoảng [0, 1]. Giá trị của biến rand(s) là chỉ số của các thuộc tính được lấy một cách ngẫu nhiên, đảm bảo rằng mẫu mới sinh ra sẽ có ít nhất một thuộc tính từ mẫu đột biến. Số mẫu nhân tạo được tạo ra đúng bằng số mẫu positive ban đầu, và các mẫu nhân tạo này được gán nhãn là positive. Tùy thuộc vào số lượng mẫu positive cần lấy, lặp lại các bước đột biến và crossover cho dữ liệu huấn luyện. 2.3.2. Kỹ thuật làm sạch dữ liệu sử dụng phân cụm Sau khi thực hiện thuật toán DE, dữ liệu thu được đã được cải thiện hơn về tỉ lệ giữa hai lớp. Tuy nhiên, không loại trừ khả năng sinh ra những mẫu dư thừa hoặc nhiễu. Để khắc phục, ta sẽ sử dụng kỹ thuật phân cụm để phân cụm cho tập dữ liệu với mục đích loại bỏ những mẫu không cần thiết. Chẳng hạn ta thu được các cụm và giả sử được đặt tên là A, B, C, D, E, F như hình 4. Trong đó, một số cụm chứa tất cả các mẫu có cùng nhãn lớp (các cụm C, D, E và F), những cụm khác chứa các mẫu có nhãn lớp khác nhau (cụm A và B), dự đoán rằng có thể siêu phẳng của SVM [2, 8] sẽ đi qua các cụm này. Hình 4. Minh họa phân cụm tập dữ liệu mất cân bằng Nếu như tất cả các mẫu trong một cụm đều có cùng một nhãn lớp (tức là hoặc cùng là positive hoặc cùng là negative), ta sẽ tiến hành loại bỏ những mẫu dư thừa hoặc nhiễu. Giả sử với cụm F có chứa tất cả các mẫu negative, ta làm như sau: ‒ Xác định ngưỡng tương đồng trong (0,1] ‒ Tính theo công thức (3): LIÊN NGÀNH ĐIỆN - ĐIỆN TỬ - TỰ ĐỘNG HÓA Tạp chí Nghiên cứu khoa học - Đại học Sao Đỏ, ISSN 1859-4190 Số 4(63).2018 21 (3) ‒ Tìm mẫu trung tâm gần nhất ‒ Tính độ tương đồng Sic giữa mỗi mẫu và theo (4). Nếu Sic lớn hơn ngưỡng tương đồng thì xi sẽ bị loại khỏi F. Ngưỡng tương đồng càng nhỏ thì càng nhiều mẫu bị loại bỏ. Trong đó: ni là số lượng mẫu trong cụm thứ i; xik là thuộc tính thứ k của mẫu I; Sij là độ tương đồng giữa xi và xj 2.3.3. Thuật toán Phương pháp sinh thêm phần tử cho lớp thiểu số bằng thuật toán DE kết hợp với kỹ thuật loại bỏ phần tử dư thừa (nhiễu) bằng phân cụm tạo nên thuật toán điều chỉnh dữ liệu DEC. Sau khi điều chỉnh dữ liệu bằng thuật toán DEC, sử dụng kỹ thuật SVM để phân lớp cho bộ dữ liệu tạo nên mô hình phân lớp. Quá trình thực hiện phân lớp dữ liệu được mô tả trong hình 5. Hình 5. Quá trình phân lớp dữ liệu bằng thuật toán DEC-SVM Thuật toán DEC-SVM được mô tả như sau: DEC-SVM (N, m, k, s, T) Input: Số mẫu lớp thiểu số 𝑁, số thuộc tính 𝑚, số cụm 𝑘, ngưỡng tương đồng 𝑠, số lượng của DE 𝑇% Output: Mô hình huấn luyện. Bước 1: Sinh thêm mẫu nhân tạo cho lớp thiểu số bằng thuật toán DE. 1.1. Tính số lượng mẫu lớp thiểu số được tạo ra 𝐺 = (𝑁 * T%) 1.2. Với mỗi mẫu thuộc lớp thiểu số xi, tìm k láng giềng gần nhất của nó. 1.3. Chọn ngẫu nhiên hai trong số k láng giềng của xi: xn1, xn2 để tạo ra mẫu đột biến theo công thức: x mu=x i+rand(0,1) × (x n1-x n2) 1.4. Tạo ra mẫu thiểu số mới từ xi và mẫu đột biến của nó theo x mu công thức: với xi,j là thuộc tính j của mẫu thứ i, , 1.5. Nhãn của mẫu nhân tạo được gán là nhãn của lớp thiểu số. Bước 2: Loại bỏ mẫu dư thừa (nhiễu) bằng phân cụm. Sử dụng thuật toán 𝑘-𝑚𝑒𝑎𝑛 phân cụm cho dữ liệu huấn luyện. Tại các cụm có các mẫu thuộc cả hai lớp: 2.1. Chọn , tính với và tìm mẫu trung tâm của cụm. 22 NGHIÊN CỨU KHOA HỌC Tạp chí Nghiên cứu khoa học - Đại học Sao Đỏ, ISSN 1859-4190 Số 4(63).2018 2.2. Tính độ tương đồng giữa mỗi mẫu trong cụm với bằng công thức: với xik là thuộc tính thứ k của mẫu . 2.3. Nếu , loại bỏ . Bước 3: Sử dụng SVM phân lớp cho tập dữ liệu để tạo ra mô hình phân lớp. 3. KẾT QUẢ THỰC NGHIỆM VÀ ĐÁNH GIÁ 3.1. Các tiêu chí đánh giá 3.1.1. Ma trận nhầm lẫn Trong tập dữ liệu, với quy ước các phần tử lớp đa số là negative, phần tử lớp thiểu số là positive, ta có ma trận nhầm lẫn như trong bảng 1 [11]. Bảng 1. Ma trận nhầm lẫn Dự đoán là positive Dự đoán là negative Thực tế là positive TP FN Thực tế là negative FP TN Trong đó các hàng của ma trận là nhãn lớp thực tế, các cột của ma trận là nhãn lớp dự đoán. TN: số lượng phần tử lớp đa số được phân loại chính xác. FN: số lượng phần tử lớp thiểu số bị phân loại nhầm là phần tử lớp đa số. TP: số lượng phần tử lớp thiểu số được phân loại chính xác. FP: số lượng phần tử lớp đa số bị phân loại nhầm là phần tử lớp thiểu số. Từ đó, độ chính xác của mô hình được tính theo công thức sau: Ngoài ra còn có một số độ đo đánh giá khác dựa trên ma trận nhầm lẫn như: 3.1.2. F-Measure Một độ đo cũng thường được dùng để đánh giá mô hình phân lớp đó là F-measure hay F-core được tính dựa trên hai độ đo khác là precision và recall, và được tính như sau [5]: 3.1.3. G-mean G-mean là độ đo thể hiện sự cân bằng giữa hai giá trị và , G-mean được tính theo công thức sau [11]: 3.1.4. Đường cong ROC và độ đo AUC ROC (receiver operating characteristic) là phương pháp xuất phát từ lĩnh vực quân sự, là phương pháp được ứng dụng trong việc phát hiện tàu địch trên màn hình radar trong Chiến tranh thế giới thứ hai [10]. ROC được dùng để đánh giá các kết quả của một dự đoán. Cho tới nay, ROC đã được ứng dụng hiệu quả ở một số lĩnh vực như học máy (đánh giá các kết quả của học máy), chẩn đoán và tiên lượng y khoa (chẩn đoán một người có mắc bệnh hay không). Đường cong ROC (hình 6) là một đồ thị với trục tung là tỉ lệ True Positive (TPrate) và trục hoành là tỉ lệ False Positive (FPrate) cho một hệ thống phân loại nhị phân. Diện tích phía dưới đường cong ROC được gọi là AUC, là thước đo độ chính xác cho bài toán phân lớp dữ liệu [10]. Hình 6. Đường cong ROC LIÊN NGÀNH ĐIỆN - ĐIỆN TỬ - TỰ ĐỘNG HÓA Tạp chí Nghiên cứu khoa học - Đại học Sao Đỏ, ISSN 1859-4190 Số 4(63).2018 23 3.2. Dữ liệu và thiết lập thực nghiệm 3.2.1. Dữ liệu thực nghiệm Ðể thấy được hiệu quả của thuật toán DEC-SVM, tác giả tiến hành thực nghiệm với 4 bộ dữ liệu được lấy từ kho dữ liệu UCI. Thông tin về các bộ dữ liệu được thể hiện trong bảng 2. Bảng 2. Bộ dữ liệu sử dụng cho thực nghiệm Tên bộ dữ liệu Số thuộc tính Số mẫu lớp thiểu số Số mẫu lớp đa số Tỉ lệ mất cân bằng Breast-w 10 241 458 1:1,9 Glass 10 29 185 1:6,38 Heart 14 120 150 1:1,25 Pima 9 268 500 1:1,87 Các bộ dữ liệu nêu trên đều có sự mất cân bằng giữa các lớp. Trong đó, glass là bộ dữ liệu có tỷ lệ mất cân bằng cao nhất. Ngoại trừ dữ liệu glass, ba bộ dữ liệu còn lại đều là các dữ liệu trong y học. Dữ liệu breast-w là dữ liệu về ung thư vú, heart là dữ liệu về bệnh tim và pima là dữ liệu bệnh tiểu đường tại Ấn Ðộ. Hình 7. Tỉ lệ mất cân bằng các bộ dữ liệu Trong các bộ dữ liệu trên, lớp đa số được gán nhãn là Negative và lớp thiểu số được gán nhãn Positive. 3.2.2. Thiết lập thực nghiệm Ðể nâng cao tính chính xác của các độ đo theo các tiêu chí đánh giá đã nêu trên, ta sử dụng phương pháp k-Fold Cross Validation với k = 10. Bộ dữ liệu ban đầu được chia thành 10 tập con (10 fold) với kích thước tương đương nhau. Thực hiện 10 lần lặp, tại mỗi lần lặp, sử dụng 1 tập con làm dữ liệu kiểm tra (Test Set) và 9 phần còn lại được dùng làm dữ liệu huấn luyện (Training Set). Với tập dữ liệu huấn luyện, ta áp dụng một phương pháp điều chỉnh dữ liệu, sau đó được sử dụng mô hình phân lớp bằng thuật toán phân lớp SVM. Nhằm so sánh hiệu quả của thuật toán DEC-SVM, ta cũng đồng thời áp dụng một số phương pháp điều chỉnh dữ liệu bao gồm: SVM, SMOTE-SVM, DE-SVM. Cuối cùng, sử dụng mô hình phân lớp để phân lớp cho dữ liệu kiểm tra. Kết quả đánh giá phân lớp sau mỗi lần 10-fold là trung bình cộng của các giá trị trong 10 lần lặp. Ðể đánh giá chính xác hơn hiệu quả của mô hình phân lớp, ta thực hiện 10 lần 10-fold. Ngôn ngữ được sử dụng để cài đặt chương trình là ngôn ngữ R. R là một ngôn ngữ sử dụng cho thống kê và đồ họa được sáng tạo bởi hai nhà thống kê học là Ross Ihaka và Robert Gentleman. 3.3. Kết quả thực nghiệm và đánh giá Bảng 3 là kết quả đánh giá hiệu quả phân lớp cho các bộ dữ liệu sử dụng thuật toán DE-SVM. Bảng 4 là kết quả đánh giá hiệu quả phân lớp cho các bộ dữ liệu sử dụng thuật toán DEC-SVM. Bảng 3. Phân lớp dữ liệu sử dụng thuật toán DE-SVM Datasets AUC G-mean F-measure TPrate TNrate PPvalue Breast 0.974 0.974 0.956 0.991 0.925 0.956 Glass 0.914 0.894 0.866 0.833 0.994 0.975 Pima 0.725 0.699 0.658 0.906 0.544 0.519 Heart 0.747 0.727 0.748 0.90 0.593 0.643 Bảng 4. Phân lớp dữ liệu sử dụng thuật toán DEC-SVM Datasets AUC G-mean F-measure TPrate TNrate PPvalue Breast 0.970 0.969 0.954 0.975 0.963 0.934 Glass 0.928 0.922 0.892 0.867 0.989 0.942 Pima 0.753 0.745 0.683 0.854 0.652 0.57 Heart 0.798 0.79 0.788 0.875 0.720 0.723 24 NGHIÊN CỨU KHOA HỌC Tạp chí Nghiên cứu khoa học - Đại học Sao Đỏ, ISSN 1859-4190 Số 4(63).2018 Bảng 5 so sánh hiệu quả của hai thuật toán DESVM và DEC-SVM khi sử dụng cho các bộ dữ liệu thử nghiệm. Bảng 5. Bảng so sánh hiệu quả phân lớp Ðộ đo đánh giá Thuật toán Dữ liệu Breast-w Glass Pima Heart AUC SVM 0.960 0.910 0.720 0.745 SMOTE 0.957 0.912 0.71 0.768 DE-SVM 0.974 0.914 .725 0.747 DEC-SVM 0.970 0.928 0.753 0.797 G-MEAN SVM 0.960 0.900 0.701 0.750 SMOTE 0.96 0.900 0.7 0.775 DE-SVM 0.974 0.894 0.699 0.727 DEC-SVM 0.969 0.921 0.745 0.790 F-MEASURE SVM 0.94 0.861 0.627 0.720 SMOTE 0.947 0.82 0.76 0.8 DE-SVM 0.956 0.866 0.657 0.748 DEC-SVM 0.954 0.892 0.683 0.788 Hình 8, hình 9, hình 10 là biểu đồ so sánh lần lượt các giá trị AUC, G-mean, F-measure khi sử dụng các thuật toán SVM, SMOTE, DE-SVM và DEC-SVM với 4 bộ dữ liệu thực nghiệm. Hình 8. Biểu đồ so sánh giá trị AUC Hình 9. Biểu đồ so sánh giá trị G-mean Hình 10. Biểu đồ so sánh giá trị F-measure 4. KẾT LUẬN Có thể thấy, với thuật toán DE-SVM, các kết quả đánh giá phân lớp đạt giá trị tương đối khả quan. Tuy nhiên, sau khi kết hợp thêm kỹ thuật phân cụm làm sạch dữ liệu tạo ra thuật toán DEC-SVM, hiệu quả phân lớp đã cao hơn. Trong 4 bộ dữ liệu thực nghiệm thì ở các bộ dữ liệu glass, pima và heart, kết quả đánh giá phân lớp của thuật toán DEC-SVM đều cao hơn thuật toán DE-SVM. Riêng đối với bộ dữ liệu breast-w, các tiêu chí đánh giá AUC, G-mean của giải thuật DEC-SVM đều cao hơn các giải thuật còn lại. Chỉ có tiêu chí F-measure thì thuật toán DE-SVM (đạt 0.956) tỏ ra hiệu quả hơn DEC-SVM (đạt 0.954). Ta thấy, giá trị khác biệt này không lớn, điều đó khẳng định hiệu LIÊN NGÀNH ĐIỆN - ĐIỆN TỬ - TỰ ĐỘNG HÓA Tạp chí Nghiên cứu khoa học - Đại học Sao Đỏ, ISSN 1859-4190 Số 4(63).2018 25 quả của phương pháp DEC-SVM trong phân lớp dữ liệu mất cân bằng. TÀI LIỆU THAM KHẢO [1]. Leichen Chen, Zhihua Cai, Lu Chen (2010). A Novel Different Evolution-Clustering Hybrid Resampling Algorithm on Imbalanced Datasets. In Knowledge Discovery and Data Mining, 2010. WKDD ‘10. Third International Conference on, pp. 81-85. [2]. Corinna Cortes & Vladimir Vapnik (1995). Support-Vector Networks. Machine Learning, vol. 20, pp. 273-297. [3]. Chumphol Bunkhumpornpat, Krung Sinapiromsaran, Chidchanok Lursinsap (2009). Safe-Level-SMOTE: Safe-Level-Synthetic Minority Over Sampling Technique for Handling the Class Imbalanced Problem. In Advances in Knowledge Discovery and Data Mining: Springer-Verlag Berlin Heidelberg, vol. 5476, pp. 475-482. [4]. Mikel Galar, Alberto Fernandez, Edurne Barrenechea, Humberto Bustince (2011). A Review on Ensembles for the Class Imbalance Problem: Bagging – Boosting, and Hybrid-Based Approaches. IEEE Transactions on Systems, Man, and Cybernetics, Part C: Applications and Reviews, vol. 42, no. 4, pp.463-484. [5]. Haibo He and Edwardo A. Garcia (2009). Learning from Imbalanced Data (2009). IEEE Transactions on Knowledge and Data Engineering, vol. 21, no. 9, pp. 1263 - 1284. [6]. Han Hui, Wang Wen-Yuan, and Mao Bing-Huan (2005). Borderline-SMOTE: A New Over-Sampling Method in Imbalanced Data Sets Learning. In ICIC 2005, pp. 878-887. [7]. Sotiris Kotsiantis, Dimitris Kanellopoulos, Panayiotis Pintelas (2006). Handling imbalanced datasets: A review. GESTS International Transactions on Computer Science and Engineering, vol.30. [8]. David Meyer (2015). Support Vector Machines: The Interface to libsvm in package e1071. pp. 1-8. [9]. Chawla Nitesh V., Bowyer Kevin W., O. Hall Lawrence, and Kegelmeyer W. Philip (2002). SMOTE: Synthetic Minority Over-sampling Technique. Artificial Intelligence Research, vol. 16, pp. 321–357. [10]. Hanley JA, McNeil BJ (1982). The meaning and use of the area under a receiver operating characteristic (ROC) curve. Radiology, vol. 143(1), pp.29-36. [11]. Sun Yanmin, Wong Andrew K.C., and Kamel Mohamed S. (2009). Classification of imbalanced data: A review. International Journal of Pattern Recognition and Artificial Intelligence, vol. 23, pp. 687–719. [12]. Juanjuan Wang, Mantao Xu, Hui Wang, Jiwu Zhang. Classification of Imbalanced Data by Using the SMOTE Algorithm and Locally Linear Embedding. [13]. Yuchun Tang, Yan-Qing Zhang, Nitesh V. Chawla, Sven Krasser. SVMs Modeling for Highly Imbalanced Classification. [14]. Qi Wang, ZhiHao Luo, JinCai Huang, YangHe Feng, and Zhong Liu. A Novel Ensemble Method for Imbalanced Data Learning: Bagging of Extrapolation- SMOTE SVM.
File đính kèm:
- phuong_phap_dec_svm_phan_lop_du_lieu_mat_can_bang.pdf