Chương 1 sẽ khảo sát tổng quan về bài toán phân lớp dữ liệu, học máy và các vấn đề liên quan. Giới thiệu bài toán phân lớp dữ liệu và các vấn đề liên quan 1. Khái niệm về phân lớp dữ liệu và bài toán phân lớp dữ liệu Phân lớp (classification) dữ liệu 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ác mẫu dữ liệu hay các đối tượng được xếp vào các lớp dựa trên giá trị của các thuộc tính (attributes) của mẫu dữ liệu hay đối tượng.
Quá trình phân lớp dữ liệu kết thúc khi tất cả các dữ liệu đã được xếp vào các lớp tương ứng. Khi đó, mỗi lớp dữ liệu đượ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, khi tiến hành nghiên cứu một đối tượng, hiện tượng nào đó, ta chỉ có thể dựa vào một số hữu hạn các thuộc tính đặc trưng của chúng. Nói cách khác, ta sẽ xem xét biểu diễn các đối tượng, hiện tượng trong một không gian hữu hạn chiều, mỗi chiểu ứng với một đặc trưng được lựa chọn.
Khi đó, phân lớp dữ liệu trở thành phân hoạch tập dữ liệu thành các tập con theo một tiêu chuẩn nhận dạng được. Như vậy, phân lớp là quá trình "nhóm” các đối tượng "giống” nhau vào "một lớp” dựa trên các đặc trưng dữ liệu của chúng. Bài toán phân lớp dữ liệu có thể được mô tả như hình 1. Bài toán phân lớp dữ liệu 4 Ta có thể phát biểu bài toán phân lớp dữ liệu như sau: Đầu vào của bài toán phân lớp dữ liệu: Cho tập dữ liệu mẫu D = {(xi, yi) | i = 1, 2, …, n}, trong đó, xi = (xi1, xi2, ., xik) Rk là dữ liệu gồm k thuộc tính tương ứng trong tập thuộc tính A = {A1, A2, …, Ak} và yi C = {c1, c2, …, cm}là nhãn các lớp dữ liêu.1) Đầu ra của bài toán phân lớp dữ liệu: Một ánh xạ/hàm (mô hình phân lớp) F: Rk C, tương ứng mỗi phần tử x Rk một nhãn lớp F(x) C, sao cho đối với tập mẫu D là phù hợp nhất theo nghĩa sau đây: ||F(xi) – yi|| 0, với mọi (xi, yi) D và || || là một độ đo nào đó.
Quy trình giải quyết bài toán phân lớp dữ liệu Bài toán phân lớp dữ liệu (1.2) thường được giải quyết theo 2 giai đoạn: Giai đoạn xây dựng mô hình phân lớp (còn được gọi là giai đoạn huấn luyện) và Giai đoạn kiểm tra đánh giá mô hình phân lớp (còn được gọi là giai đoạn Kiểm chứng) [7]. (1) Giai đoạn huấn luyện Giai đoạn này nhằm xây dựng một mô hình phân lớp dựa trên mô tả tập các lớp dữ liệu hoặc các khái niệm được xác định trước. Trong giai đoạn huấn luyện, thuật toán phân lớp được sử dụng để xây dựng bộ phân lớp bằng cách phân tích hay “học” từ một tập các dữ liệu huấn luyện (training set) và các nhãn lớp tương ứng của chúng. Quá trình thực hiện giai đoạn học được mô tả trong hình 1.
Mô hình Dữ liệu HL với TRAINING phân lớp các lớp đã biết Hình 1. Giai đoạn xây dựng mô hình phân lớp dữ liệu 5 Kết quả của giai đoạn học là đưa ra một mô hình (bộ) phân lớp dữ liệu. Bộ phân lớp dữ liệu có thể là các công thức toán học, hoặc bộ các quy tắc hoặc các luật quyết định để gán nhãn lớp cho mỗi dữ liệu trong tập các dữ liệu huấn luyện. (2) Giai đoạn kiểm chứng Trong giai đoạn này, mô hình phân lớp có được ở giai đoạn trước sẽ được sử dụng để thực hiện phân lớp thử nghiệm và đánh giá mô hình.
Tập dữ liệu được sử dụng trong giai đoạn này được gọi là tập các dữ liệu Test hay tập kiểm chứng (KC). Do đó, trong giai đoạn này cần sử dụng một tập dữ liệu kiểm chứng độc lập với tập dữ liệu huấn luyện (HL) ở giai đoạn trước. Quá trình thực hiện giai đoạn phân lớp thử nghiệm được mô tả trong hình 1. Mô hình phân lớp Dữ liệu được Dữ liệu KC chưa học được phân lớp được phân lớp Hình 1.
Quá trình kiểm tra đánh giá mô hình phân lớp dữ liệu Các thông tin (kết quả) trong quá trình phân lớp thử nghiệm lại có thể sử dụng trong quá trình học tiếp theo. Sau khi thực hiện hai giai đoạn trên, mô hình phân lớp phù hợp nhất theo một nghĩa nào đó (thông qua các độ đo đánh giá mô hình) sẽ được lựa chọn để thực hiện phân lớp dữ liệu trong các bài toán ứng dụng khác nhau trong thực tế.4 dưới đây mô tả một ví dụ về quá trình thực hiện giải quyết bài toán phân lớp dữ liệu (1. Ví dụ về quá trình giải quyết bài toán phân lớp dữ liệu 1. Các độ đo đánh giá mô hình phân lớp dữ liệu Sự phù hợp, tính hiệu quả của bất kỳ mô hình phân lớp dữ liệu nào cũng thường được xác định thông qua các độ đo được mô tả dưới đây [7].
Xét một lớp ci C = {c1, c2, …, cm} trong bài toán phân lớp dữ liệu (1. Các mẫu dữ liệu thuộc lớp ci gọi là các phần tử dương (Positive). Các mẫu dữ liệu không thuộc lớp ci gọi là các phần tử âm (Negative). Khi sử dụng các bộ phân lớp để thực hiện phân lớp dữ liệu thử nghiệm có thể xảy ra các trường hợp sau đây: - Trường hợp đúng dương (True Positive): Phần tử dương được phân loại đúng là dương.
- Trường hợp sai dương (Fasle Positive): Phần tử âm được phân loại sai thành âm. - Trường hợp đúng âm (True Nagetive): Phần tử âm được phân loại đúng là âm. - Trường hợp sai âm (Fasle Nagetive): Phần tử dương được phân loại sai thành âm. - Ý nghĩa: Giá trị Precision càng cao thể hiện khả năng càng cao để một kết quả phân lớp dữ liệu được đưa ra bởi bộ phân lớp là chính xác.
- Ý nghĩa: Giá trị Recall càng cao thể hiện khả năng kết quả đúng trong số các kết quả đưa ra của bộ phân lớp càng cao. - Ý nghĩa: Accuracy phản ánh độ chính xác chung của bộ phân lớp dữ liệu. (4) Độ đo F-Measure - Định nghĩa: F-Measure = 2. - Ý nghĩa: F-Measure là độ đo nhằm đánh giá độ chính xác thông qua quá trình kiểm chứng dựa trên sự xem xét đến hai độ đo là Precision và Recall.
Giá trị F-Measure càng cao phản ánh độ chính xác càng cao của bộ phân lớp dữ liệu. Có thể coi độ đo F-Measure là trung bình điều hòa của hai độ đo Precision và Recall. - Ý nghĩa: Độ đo Specitivity đánh giá khả năng một dữ liệu là phần tử âm được bộ phân lớp cho ra kết quả chính xác. Các phương pháp đánh giá mô hình phân lớp dữ liệu Đánh giá độ phù hợp (chính xác) và hiệu quả của mô hình phân lớp sẽ cho phép dự đoán được độ chính xác của các kết quả phân lớp dữ liệu tương lai.
Đồng thời, độ phù hợp còn là cơ sở để so sánh các mô hình phân lớp khác nhau để lựa chọn mô hình phân lớp tốt nhất cho từng ứng dụng cụ thể cho các bài toán thực tế. Do đó, phương pháp đánh giá cũng có vai trò khá quan trọng. 8 Trong mục này, luận văn khảo sát hai phương pháp phổ biến thường được sử dụng trong đánh giá mô hình phân lớp là hold-out 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 một cách phù hợp nhất [12].
Phương pháp Hold-out Đối với phương pháp hold-out (Kiểm tra phân đôi), tập dữ liệu mẫu được phân chia ngẫu nhiên thành 2 phần là: tập dữ liệu huấn luyện và tập dữ liệu kiểm chứng. Thông thường, 2/3 dữ liệu được sử dụng cho tập dữ liệu huấn luyện, phần còn lại cấp cho tập dữ liệu kiểm chứng. Phương pháp k-fold cross validation Trong phương pháp k-fold cross validation (Kiểm tra chéo k-fold), quá trình được thực hiện như sau: Bước 1: Chia ngẫu nhiên tập dữ liệu ban đầu S thành k tập dữ liệu (fold) có kích thước gần bằng nhau S1, S2,…, Sk. Bước 2: Lặp lại thủ tục sau k lần với i= 1, 2,.
- Dùng tập S i (1 ≤ i ≤ k) làm tập kiểm tra. Gộp k-1 tập còn lại thành tập huấn luyện. - Tiến hành Huấn luyện mô hình phân lớp trên tập huấn luyện. - Đánh giá độ chính xác của mô hình trên tập kiểm tra, Bước 3: - Đánh giác độ chính xác của mô hình tính bằng trung bình cộng độ chính xác trên k lần kiểm tra ở bước trên.
- Chọn mô hình có độ chính xác trung bình lớn nhất. Trong thực tế, thông thường chọn k= 10. Các ứng dụng của bài toán phân lớp dữ liệu Bài toán phân lớp dữ liệu có rất nhiều ứng dụng trong các lĩnh vực khoa học, công nghệ và đời sống xã hội. Dưới đây, luận văn liệt kê một số ứng dụng chủ yếu của phân lớp dữ liệu.
9 Ứng dụng trong khai phá dữ liệu Trong quá trình khai phá dữ liệu, phân lớp dữ liệu trước hết có thể làm giảm độ phức tạp của không gian dữ liệu cần khai phá do mỗi lớp dữ liệu được xem xét thông qua một đại diện của lớp đó. Mặt khác, phân lớp dữ liệu giúp cho quá trình lưu trữ, quản lý và tìm kiếm dữ liệu được thuận tiện hơn. Ứng dụng trong lĩnh vực tài chính, ngân hàng Phân lớp dữ liệu có thể ứng dụng dự báo các rủi ro trong đầu tư tài chính và thị trường chứng khoán. Nó có thể ứng dụng để phân lớp các khách hàng, khoản vay để ngân hàng có chính sách phù hợp khi quản lý và xử lý nợ xấu, ….
Ứng dụng trong thương mại Phân lớp dữ liệu được ứng dụng trong phân tích dữ liệu khách hàng, hoạch định chính sách marketing hiệu quả cũng như phát hiện các gian lận thương mại. Ứng dụng trong sinh học Phân lớp dữ liệu được sử dụng để tìm kiếm, so sánh các hệ gen và thông tin di chuyền, tìm mối liên hệ giữa các hệ gen hỗ trợ chẩn đoán một số bệnh di chuyền. Ứng dụng trong y tế Gần đây việc ứng dụng phân lớp dữ liệu y học ngày càng hoàn thiện trong việc tìm ra mối liên hệ giữa các triệu chứng lâm sàng, cận lâm sàng, giữa các bệnh với nhau để hỗ trợ chẩn đoán, điều trị và tiên lượng bệnh. Trong chẩn đoán, phân lớp dữ liệu dùng để nhận dạng và phân loại mẫu trong các thuộc tính đa biến của bệnh nhân.