Kết cấu nội dung của Luận văn này gồm 3 chương: Chương 1 - Khảo sát tổng quan về phân lớp dữ liệu, học máy và các vấn đề liên quan; Chương 2 - Chương này nghiên cứu một số thuật toán để giải quyết bài toán phân lớp dữ liệu mất cân bằng; Chương 3 - Thử nghiệm phân lớp dữ liệu mất cân bằng dựa trên các thuật toán đã nghiên cứu trong chương 2. Mời các bạn cùng tham khảo!
HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG - NGUYỄN MINH HÀ NGHIÊN CỨU PHÂN LỚP TRÊN DỮ LIỆU MẤT CÂN BẰNG VÀ ỨNG DỤNG Chuyên ngành: KHOA HỌC MÁY TÍNH Mã số: 8.48.01.01 TÓM TẮT LUẬN VĂN THẠC SĨ HÀ NỘI - 2020 Luận văn hoàn thành tại: HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG Người hướng dẫn khoa học: Tiến sĩ VŨ VĂN THỎA Phản biện 1: ………………………………………………………… Phản biện 2: ………………………………………………………… Luận văn bảo vệ trước Hội đồng chấm luận văn thạc sĩ Học viện Cơng nghệ Bưu Viễn thơng Vào lúc: ngày tháng năm Có thể tìm hiểu luận văn tại: - Thư viện Học viện Cơng nghệ Bưu Viễn thông PHẦN MỞ ĐẦU Trong năm gần đây, vấn đề học máy từ liệu phân bố không cân thách thức lớn cho nhà nghiên cứu nhiều miền ứng dụng thực tế: mạng internet, bảo mật, viễn thông, quản lý tài tin sinh học… Việc phân tích hiểu liệu thơ mục đích hệ thống xử lý hỗ trợ định ngày đóng vai trị quan trọng trở nên cần thiết Chúng áp dụng đạt nhiều thành công to lớn nhiều ứng dụng sống khai phá tri thức, kỹ thuật xử lý liệu, nhiều ứng dụng khác Tuy nhiên, năm gần với xuất liệu phân bố cân trở thành nguyên nhân gây nhiều khó khăn ảnh hưởng đến thuật tốn học máy chuẩn, thuật toán thiết kế áp dụng vào ứng dụng liệu phân bố cân Khi thuật toán chuẩn áp dụng vào liệu cân bằng, chúng xử lý liệu lệch lạc, dẫn đến không đạt độ xác cao lớp liệu Thêm vào đó, vấn đề phân bố liệu cân ngày trở nên quan trọng thực tế, với lượng lớn ứng dụng Khi áp dụng thuật toán phân lớp truyền thống lên tập liệu cân bằng, đa số phần tử thuộc lớp đa số phân lớp phần tử thuộc lớp thiểu số gán nhãn lớp nhãn lớp lớp đa số Điều dẫn đến kết độ xác (accuracy) việc phân lớp cao, giá trị độ nhạy (sensitivity) lại thấp Xuất phát từ thực tế mục tiêu trên, học viên chọn thực đề tài luận văn tốt nghiệp chương trình đào tạo thạc sĩ có tên “Nghiên cứu phân lớp liệu cân ứng dụng” Nội dung luận văn phần mở đầu, kết luận gồm chương sau Chương 1: Khảo sát tổng quan phân lớp liệu, học máy vấn đề liên quan Chương 2: Chương nghiên cứu số thuật toán để giải toán phân lớp liệu cân Chương 3: Thử nghiệm phân lớp liệu cân dựa thuật toán nghiên cứu chương Phần kết luận tóm tắt lại nội dung đạt luận văn, nêu lên số gợi ý hướng phát triển luận văn CHƯƠNG TỔNG QUAN VỀ BÀI TOÁN PHÂN LỚP DỮ LIỆU TRÊN CÁC DỮ LIỆU MẤT CÂN BẰNG 1.1 Giới thiệu toán phân lớp liệu 1.1.1 Khái niệm phân lớp liệu toán phân lớp liệu Phân lớp liệu: Phân lớp liệu(classification) hướng nghiên cứu khai phá liệu Thực tế đặt nhu cầu từ sơ liệu với nhiều thơng tin ẩn người rút trích định nghiệp vụ thơng minh Phân lớp dạng phân tích liệu nhằm rút trích mơ hình mơ tả lớp liệu quan trọng hay dự đoán xu hướng liệu tương lai Phân lớp dự đoán giá trị nhãn xác định hay giá trị rời rạc, có nghĩa thao tác với đối tượng liệu mà có giá trị biết trước Cụ thể, phân lớp q trình nhóm đối tượng giống vào lớp dựa đặc trưng liệu chúng Bài toán phân lớp liệu: Là trình phân lớp đối tượng liệu vào hay nhiều lớp cho trước nhờ mơ hình phân lớp (model) Mơ hình xây dựng dựa tập liệu xây dựng trước có gán nhãn (cịn gọi tập huấn luyện) Quá trình phân lớp trình gán nhãn cho đối tượng liệu Bài tốn phân lớp liệu phát biểu tổng quát sau: Cho U = {A1, A2,…., Am} tập có m thuộc tính, Y = {y1, y2, … , yn} tập nhãn lớp: với D = A1 … Am tích Đề - miền m thuộc tính tương ứng có n số lớp N số mẫu iệu Mỗi liệu di cặp (di, yi) D thuộc lớp yi Y tương ứng tạo thành 1.1.2 Quy trình thực phân lớp liệu: Quy trình thực phân lớp liệu thường thực theo bước: Bước thứ (learning) trình học bước thứ hai phân lớp liệu Bước thứ (learning) Đầu vào trình tập liệu có cấu trúc mơ tả thuộc tính tạo từ tập giá trị thuộc tính Mỗi giá trị gọi chung phần tử liệu (data tuple), mẫu (sample), ví dụ (example)… Trong tập liệu này, phần tử liệu giả sử thuộc lớp định trước, lớp giá trị thuộc tính chọn làm thuộc tính gán nhãn lớp hay thuộc tính phân lớp (class lable attribute) Đầu bước thường quy tắc phân lớp dạng luật dạng ifthen, định, công thức logic, hay mạng nơron Bước thứ hai (classification) Bước thứ hai dùng mơ hình xây dựng bước thứ để phân lớp liệu Holdout kỹ thuật đơn giản để ước lượng độ xác Kỹ thuật sử dụng tập liệu kiểm tra với mẫu gán nhãn lớp Các mẫu chọn ngẫu nhiên độc lập với mẫu tập liệu đào tạo Độ xác mơ hình tập liệu kiểm tra đưa tỉ lệ phần trăm mẫu tập liệu kiểm tra mô hình phân lớp (so với thực tế) Nếu độ xác mơ hình ước lượng dựa tập liệu đào tạo kết thu khả quan mơ hình ln có xu hướng “quá vừa” liệu Do cần sử dụng tập liệu mà giá trị thuộc tính phân lớp chưa biết 1.1.3 Các độ đo đánh giá mơ hình phân lớp liệu Q trình đánh giá mơ hình phân lớp thường chia làm phần hay hướng tiếp cận: phân chia liệu để huấn luyện kiểm chứng mơ hình Một số tiêu chí mơ tả độ hiệu mơ hình phân lớp: - Accuracy: khả mơ hình phân lớp dự báo, phân loại hay xác định class cho liệu cần phân loại - Speed: tốc độ hay khả mơ hình đưa kết phân tích nhanh chóng, cịn liên qua đến chi phí tính tốn xây dựng, sử dụng mơ hình - Robustness: khả mơ hình xử lý nhiễu liệu với giá trị bị thiếu đưa dự đốn xác - Scalability: Phương pháp hay khả xây dựng mơ hình phân lớp hiệu xử lý, phân tích lượng lớn liệu - Interpreability: khả giải thích, mứa độ phức tạp mơ hình hay nói cách khác cấu trúc mơ hình, phương pháp xây dựng mơ hình hiểu hay khơng Có phương pháp đánh giá phổ biến holdout cross-validation Holdout: Holdout, phương pháp phân chia ngẫu nhiên tập liệu thành tập liệu độc lập là: tập liệu huấn luyện tập kiểm định mơ hình Cụ thể phương pháp Holdout ta có tập liệu: - Training set: liệu phục vụ xây dựng mơ hình, xác định thuật toán, biến liệu phù hợp - Validation set: liệu sử dụng để đánh giá hiệu suất mơ hình xây dựng giai đoạn huấn luyện, hỗ trợ thử nghiệm để tinh chỉnh tham số mơ hình chọn mơ hình hoạt động tốt - Test set: liệu sử dụng để đánh giá độ hiệu mơ hình, mức độ xác việc phân loại liệu (không chứa nhãn phân loại) Thường tỉ lệ phân chia cho training data set 70% test data set 30% Ưu điểm Holdout nhanh chóng, đơn giản linh hoạt Cross - validation: Cross - validation kỹ thuật phân chia tập liệu ban đầu thành training data sử dụng để huấn luyện mơ hình tập liệu độc lập sử dụng để đánh giá Phương pháp lặp lại nhiều lần có k số mơ hình khác nhau, cho lần, tập k sử dụng làm tập kiểm thử tập lại khác ghép lại với tạo thành tập huấn luyện Việc ước tính độ xác hay lỗi (accuracy hay error) tính trung bình tất thử nghiệm k để đánh giá mức độ hiệu mơ hình Confusion Matrix Là phương pháp đánh giá kết toán phân loại với việc xem xét số độ xác độ bao quát dự đoán cho lớp Một confusion matrix gồm số sau với lớp phân loại: Sử dụng toán chẩn đoán ung thư để giải thích số Trong tốn chẩn đốn ung thư ta có lớp: lớp bị ung thư chẩn đoán Positive lớp khơng bị ung thư chẩn đốn Negative: - TP (True Positive): Số lượng dự đốn xác Là mơ hình dự đốn người bị ung thư - TN (True Negative): Số lượng dự đốn xác cách gián tiếp Là mơ hình dự đốn người khơng bị ung thư, tức việc khơng chọn trường hợp bị ung thư xác - FP (False Positive - type error): Số lượng dự đốn sai lệch Là mơ hình dự đốn người bị ung thư người hoàn toàn khỏe mạnh - FN (False Negative - type error): Số lượng dự đoán sai lệch cách gián tiếp Là mơ hình dự đốn người khơng bị ung thư người bị ung thư, tức việc không chọn trường hợp bị ung thư sai Từ số này, ta có đại lượng để đánh giá mức độ tin cậy mơ hình: - Precision: tất các dự đoán Positive đưa ra, dự đốn xác? Chỉ số tính theo công thức: Precision = - TP TP FP Recall: Trong tất trường hợp Positive, trường hợp dự đốn xác? Chỉ số tính theo cơng thức: Recall = TP TP FN Giả sử có tập liệu gồm 100 người với 90 người khỏe mạnh (Negative) 10 người mắc bệnh ung thư (Positive) mơ hình dự đoán 2/10 người bị ung thư, tức đưa dự đốn người bị ung thư dự đốn xác Như vậy, số Precision dự đoán lớp ung thư Tuy nhiên, 8/10 người lại bị bỏ qua, từ số Recall 0.2 - số thấp Để đánh giá độ tin cậy chung mơ hình, người ta kết hợp số Precision Recall thành số nhất: F - score, tính theo cơng thức: F - measure = * Re call * Pr ecision Re call Pr ecision 1.2 Dữ liệu cân 1.2.1 Khái niệm liệu cân Dữ liệu thu thập thực tế xuất nhiều liệu cân bằng, nghĩa tập liệu có chênh lệch lớn số lượng phần tử lớp Lớp có nhiều phần tử ta gọi lớp đa số, lớp có phần tử ta gọi lớp thiểu số Các liệu nhiều ứng dụng thực tế, chẳng hạn phát giao dịch gian lận, phát xâm nhập mạng, dự đoán rủi ro quản lý, chẩn đoán y khoa, … 1.2.2 Các đặc điểm phân lớp liệu cân bằng: Sự chênh lệch số lượng lớp đa số lớp thiểu số làm cho việc phân lớp mẫu thuộc lớp thiểu số bị giảm hiệu Mức độ cân liệu biểu thị tỷ lệ số lượng mẫu hai lớp Tỷ lệ cân tập liệu cao việc phát mẫu lớp thiểu số khó khăn Trong ứng dụng thực tế, tỷ lệ cân 1:100, 1:1000, … chí 1.2.3 Các ứng dụng phân lớp liệu cân Bài tốn phân lớp liệu có nhiều ứng dụng lĩnh vực khoa học, công nghệ đời sống xã hội như: Trong ngành y tế, phân tích thị trường bán lẻ, ngành giáo dục, Quy trình sản xuất, Phát gian lận, Hỗ trợ điều tra tội phạm, Ngành tài ngân hàng… 1.3 Tổng quan kỹ thuật xử lý liệu cân Có thể phân chia kỹ thuật thành hai hướng tiếp cận chính: hướng tiếp cận mức độ liệu hướng tiếp cận mức độ thuật toán 1.3.1 Hướng tiếp cận mức độ liệu Tiếp cận mức độ liệu có mục tiêu điều chỉnh tỉ lệ cân hai lớp liệu Các phương pháp hướng tiếp cận có nhiều hình thức khác việc lấy mẫu như: sinh thêm 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ỏ phần tử lớp đa số, kết hợp hai phương pháp Sinh thêm phần tử lớp thiểu số Hiện nay, có nhiều phương pháp sinh thêm phần tử cho lớp 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ố, hay sinh thêm mẫu nhân tạo Sinh ngẫu nhiên phần tử lớp thiểu số (Random Over-sampling) phương pháp đơn giản nhằm cân phân lớp thông qua việc nhân ngẫu nhiên mẫu lớp thiểu số Ý tưởng phương pháp lựa chọn ngẫu nhiên mẫu thuộc lớp thiểu số nhân chúng tạo mẫu giống hệt chúng Loại bỏ phần tử lớp đa số Loại bỏ phần tử lớp đa số phương pháp điều chỉnh phân bố liệu cách giảm bớt số lượng phần tử lớp đa số Loại bỏ cách ngẫu nhiên mẫu thuộc lớp đa số (Random under -sampling) cách đơn giản Phương pháp thực loại bỏ ngẫu nhiên phần tử thuộc lớp đa số tập huấn luyện có tỷ lệ phù hợp hai lớp Vì lý này, số lượng phần tử tập huấn luyện giảm đáng kể 1.3.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 điều chỉnh thuật toán phân lớp để tăng độ xác phân lớp liệu cân Chiến lược chung để đối phó với vấn đề cân liệu lựa chọn khuynh hướng quy nạp thích hợp Các kỹ thuật sau giúp đào tạo phân loại để phát lớp bất thường 1.3.2.1 Sử dụng số đánh giá phù hợp Các số đánh giá thay khác áp dụng như: - Độ xác / độ đặc hiệu: trường hợp chọn có liên quan Nhớ lại / Độ nhạy: trường hợp có liên quan chọn - Điểm số F1: trung bình hài hịa độ xác thu hồi - MCC: hệ số tương quan phân loại nhị phân quan sát dự đoán - AUC: mối quan hệ tỷ lệ thực dương tỷ lệ dương tính giả 1.3.2.2 Sử dụng K - fold Cross - Validation cách Đáng ý cross - validation phải áp dụng cách sử dụng phương pháp over - sampling để giải vấn đề cân đối 1.3.2.3 Tập hợp tập liệu lấy mẫu khác Cách dễ để khái quát hóa mơ hình thành cơng sử dụng nhiều liệu Vấn đề phân loại out - of - the - box hồi quy logistic rừng ngẫu nhiên có xu hướng tổng quát hóa cách loại bỏ lớp Một thực tốt xây dựng n mơ hình sử dụng tất mẫu mẫu n - khác biệt lớp phong phú 1.3.2.4 Lấy mẫu với tỷ lệ khác Cách tiếp cận trước tinh chỉnh cách thay đổi tỷ lệ lớp phong phú Tỷ lệ tốt phụ thuộc nhiều vào liệu mô hình sử dụng Nhưng thay đào tạo tất mơ hình với tỷ lệ tương tự nhau, tổng hợp tỷ lệ khác Vì vậy, 10 mơ hình đào tạo, điều chỉnh để mơ hình có tỷ lệ 1:1 (hiếm: phong phú) mơ hình khác với 1:3, chí 2:1 1.4 Kết luận chương Chương I luận văn giới thiệu toán phân lớp liệu quy trình phân lớp liệu, độ đo đánh giá mơ hình phân lớp liệu số ứng dụng Chương luận văn trình bày liệu cân bằng, đặc điểm phân lớp liệu cân số kỹ thuật xử lý liệu cân CHƯƠNG MỘT SỐ THUẬT TOÁN PHÂN LỚP DỮ LIỆU MẤT CÂN BẰNG 2.1 Thuật toán DEC - SVM 2.1.1 Giới thiệu thuật toán Thuật toán máy vector hỗ trợ (Support Vector Machines - SVM) thường sử dụng xây dựng phân lớp liệu Định lý 2.1 sau đảm bảo sở toán học cho SVM [7] Định lý 2.1: Cho tập hợp gồm m điểm không gian Rd Ta chọn điểm chúng làm điểm gốc tạo thành m-1 vector điểm Khi m điểm cho phân tách siêu phẳng có hướng tập hợp vector điểm độc lập tuyến tính Khoảng cách điểm liệu gần lớp đến siêu phẳng phân tách gọi biên (hay lề) Trong số siêu phẳng thỏa mãn định lý 2.1, siêu phẳng tối ưu có biên lớn lựa để phân tách điểm Các kỹ thuật SVM nhằm nghiên cứu xây dựng siêu phẳng tối ưu cách hiệu Ưu điểm bật phương pháp SVM thực tối ưu toàn cục cho mơ hình phân lớp Do đó, mơ hình SVM có chất lượng cao, chịu đựng nhiễu Mặt khác, SVM phương pháp tốt (phù hợp) tốn phân lớp có khơng gian biểu diễn thuộc tính lớn Các đối tượng cần phân lớp biểu diễn tập lớn thuộc tính Tuy nhiên áp dụng trực tiếp thuật tốn SVM cho phân lớp liệu cân không đạt kết mong muốn Lý SVM thường có xu hướng thiên vị lớp đa số bỏ qua lớp thiểu số (xử lý chúng nhiễu) [8] Việc phân loại sai mẫu thuộc lớp thiểu số gây nên tổn thất lớn toán thực tế Để khắc phục vấn đề trên, phương pháp sinh thêm phần tử nhân tạo cho lớp thiểu số phương pháp phổ biến thường sử dụng Tuy nhiên, nhiều trường hợp, việc sinh thêm mẫu tạo mẫu dư thừa nhiễu làm ảnh hưởng tới hiệu phân lớp Do đó, trước sử dụng SVM cần áp dụng thuật toán DEC (a novel Differential Evolution Clustering hybrid resampling- DEC) [9] để điều chỉnh liệu cho toán phân lớp liệu cân Thuật toán DEC kết hợp phương pháp sinh thêm phần 10 rand(j) giá trị lựa chọn ngẫu nhiên khoảng [0, 1] Giá trị biến rand(s) số thuộc tính lấy cách ngẫu nhiên, đảm bảo mẫu sinh có thuộc tính từ mẫu đột biến Số mẫu nhân tạo tạo số mẫu nhân tạo ban đầu Tùy thuộc vào số lượng mẫu possitive cần lấy, lặp lại bước đột biến crossover cho liệu huấn luyện 2.1.2.2 Kỹ thuật làm liệu sử dụng phân cụm Sau thực thuật toán DE, liệu thu được cải thiện tỉ lệ hai lớp Tuy nhiên, không loại trừ khả sinh mẫu dư thừa nhiễu Để khắc phục, ta sử dụng kỹ thuật phân cụm để phân cụm cho tập liệu với mục đích loại bỏ mẫu khơng cần thiết Nếu tất mẫu cụm có nhãn lớp (tức là positive negative), ta tiến hành loại bỏ mẫu dư thừa nhiễu Ví vụ với cụm F có chứa tất mẫu negative, ta thực theo bước sau: - Xác định ngưỡng tương đồng [0,1] - Tính - Tìm mẫu trung tâm xc - Tính độ tương đồng Sic đầu xi theo công thức (3) F gần F xc theo (4) Nếu Sic lớn ngưỡng tương đồng xi bị loại khỏi F Ngưỡng tương đồng nhỏ nhiều mẫu bị loại bỏ Trong đó: ni số lượng mẫu cụm thứ i, xik thuộc tính thứ k mẫu xi, Sij độ tương đồng xi xj 2.1.2.3 Thuật toán DEC-SVM Sau sử dụng thuật toán DEC để điều chỉnh liệu, ta sử dụng thuật toán SVM để phân lớp cho cho tập liệu huấn luyện tạo nên mơ hình phân lớp Nội dung thuật tốn DEC-SVM trình bày dạng giả mã sau: DEC-SVM(N, m, K, s, T) 11 Input: Số mẫu lớp thiểu số N, số thuộc tính m, số cụm K, ngưỡng tương đồng s, số lượng DE T% Output: Mơ hình huấn luyện Void DEC-SVM() { /******** Sinh thêm mẫu DE ********/ st = 0; G = int(N*T%); //số mẫu lớp thiểu số tạo For (t = 0; t< ceil(T/100); t++) { For (i=0; i