Chương 1: Tổng quan về khai phá dữ liệu Chương này giới thiệu tổng quan về Khai phá dữ liệu và trình bày một số kỹ thuật phổ biến của Khai phá dữ liệu. Chương 2: Thuật toán DEC điều chỉnh dữ liệu trong phân lớp dữ liệu mất cân bằng. Chương này đề cập đến dữ liệu mất cân bằng và các hướng giải quyết và một số phương pháp phổ biến cho các bài toán có liên quan đến dữ liệu mất cân bằng. Trình bày thuật toán điều chỉnh dữ liệu mới nâng cao hiệu quả trong bài toán phân lớp dữ liệu mất cân bằng – thuật toán DEC.
Đồng thời kết hợp thuật toán DEC với kỹ thuật phân lớp SVM tạo nên thuật toán phân lớp DEC-SVM. Chương 3: Cài đặt và thử nghiệm. Nội dung của chương 3, trình bày các kết quả thực nghiệm thu được khi áp thuật toán phân lớp dữ liệu DEC-SVM. Các thực nghiệm sẽ được tiến hành trên các bộ dữ liệu lấy từ kho dữ liệu UCI.
Cuối cùng, dựa vào các tiêu chí đánh giá, để so sánh hiệu quả của thuật toán DEC-SVM với một số thuật toán đã biết. 8 PHẦN 2 – NỘI DUNG Chƣơng 1: GIỚI THIỆU VỀ KHAI PHÁ DỮ LIỆU 1. Tổng quan về khai phá dữ liệu 1. Khai phá dữ liệu là gì? Trong thời đại bùng nổ của công nghệ thông tin cùng với những thành tựu to lớn trong lĩnh vực này đã góp phần không nhỏ trong sự phát triển của hầu hết các lĩnh vực trong đời sống.
Sự phát triển mạnh mẽ của xã hội dẫn tới nhu cầu sử dụng và trao đổi thông tin ngày càng tăng cao. Với các ứng dụng của công nghệ thông tin cùng sự ra đời các kết nối internet tốc độ cao, sự phát sinh và lan truyền lượng dữ liệu lớn đã được tự động hóa trong thập kỷ qua. Hậu quả là, nhân loại đang phải đối mặt với nhiều thách thức trong việc đối phó với lượng thông tin khổng lồ đang ngày càng gia tăng cùng những bộ dữ liệu quá lớn đối với phân tích thủ công. Các công nghệ lưu trữ tiên tiến hiện nay đã tạo điều kiện cho các tổ chức, doanh nghiệp hay cá nhân thuận lợi hơn trong quá trình thu thập và lưu trữ thông tin.
Các kho dữ liệu ngày càng lớn và chứa nhiều thông tin có ích. Tuy nhiên, vẫn còn khó khăn để tự động khai thác những thông tin có giá trị bên trong chúng. Theo đánh giá của IBM, các phương pháp khai thác thông tin truyền thống chỉ thu được khoảng 80% thông tin từ CSDL, phần còn lại bao gồm các thông tin mang tính khái quát, thông tin có quy luật vẫn còn tiềm ẩn bên trong dữ liệu. Lượng thông tin này tuy nhỏ nhưng là thông tin cốt lõi và cần thiết cho tiến trình ra quyết định [28].
Trước sự bùng nổ thông tin cùng những thách thức trong việc khai thác và xử lý thông tin, Khai phá dữ liệu ra đời, và cho đến nay đã gặt hái được nhiều thành tựu. Khai phá dữ liệu (Data Mining) là một bước trong quá trình khai phá tri thức từ CSDL (Knowledge Discovery in Databases – KDD). Khai phá dữ liệu bao gồm các thuật toán khai phá đặc biệt nằm trong giới hạn khả năng của máy tính để tìm ra các mẫu, mô hình dữ liệu hoặc các thông tin có ích.1 thể hiện các bước trong quá trình KDD [25] 9 Hình 1.1 – Các bước trong quá trình KDD Định nghĩa cổ điển của khai phá tri thức của Fayyad et al. từ năm 1996 mô tả KDD là "quá trình không tầm thường của việc xác định tính có hiệu lực, tính mới mẻ, khả năng hữu dụng, và các mô hình dễ hiểu cuối cùng trong dữ liệu [5].
Hai mục tiêu cơ bản cấp độ cao của khai phá dữ liệu trong thực tế có xu hướng là dự đoán và mô tả [5]. Khai phá dữ liệu giúp phát hiện những xu thế phát triển từ những thông tin quá khứ, cũng như đề xuất các dự báo mang tính thống kê, gom cụm và phân loại dữ liệu [28]. Có thể thấy khai phá dữ liệu là một mắt xích quan trọng trong quá trình khai phá tri thức và hỗ trợ ra quyết định.2 thể hiện vị trí của khai phá dữ liệu trong tiến trình ra quyết định.2 – Vị trí của khai phá dữ liệu trong tiến trình ra quyết định 10 Khai phá dữ liệu có một số kỹ thuật phổ biến như: phân lớp, phân cụm, khai phá luật kết hợp, dự báo, cây quyết định, … Trong luận văn này tôi xin trình bày hai kỹ thuật: phân lớp dữ liệu (phần 1.2) và phân cụm dữ liệu (phần 1. Ứng dụng của khai phá dữ liệu Khai phá dữ liệu đã và đang được ứng dụng trong nhiều lĩnh vực trong đời sống.
Dưới đây là một số lĩnh vực nổi bật có sự giúp sức hữu hiệu của khai phá dữ liệu. Lĩnh vực tài chính, ngân hàng và thương mại điện tử ‒ Xây dựng mô hình dự báo rủi ro tín dụng [28] ‒ Tìm kiếm tri thức, quy luật thị trường chứng khoán và đầu tư bất động sản [28] ‒ Phân tích hiệu quả của các chiến dịch bán hàng [20] ‒ Phân loại, phân nhóm, phân tích hành vi khách hàng cho tiếp thị tài chính [20] ‒ Tìm hiểu, định hướng, thúc đẩy, giao tiếp với khách hàng [28] ‒ Phát hiện các hoạt động rửa tiền và tội phạm tài chính [20] 1. Lĩnh vực viễn thông ‒ Phân tích dữ liệu đa chiều viễn thông ‒ Xây dựng các mô hình phát hiện bất thường, phát hiện gian lận trong giao dịch viễn thông ‒ Phân tích hành vi sử dụng dịch vụ viễn thông của khách hàng ‒ Phát hiện xâm nhập mạng trái phép [20] 1. Lĩnh vực sinh học, y học ‒ Xây dựng các công cụ trực quan trong phân tích dữ liệu di truyền.
‒ Xây dựng mô hình khai phá các mạng di truyền và cấu trúc Gen, protein ‒ Lập chỉ mục, tìm kiếm tương tự, bất thường trong cơ sở dữ liệu Gen. ‒ Phát hiện và phân tích dữ liệu di truyền. Phân lớp dữ liệu 1. Phân lớp dữ liệu là gì? Phân lớp dữ liệu là tiến trình tìm kiếm một tập các mô hình mô tả và phân biệt các lớp dữ liệu hoặc các khái niệm, nhằm mục đích sử dụng các mô hình để dự đoán nhãn lớp của các đối tượng dữ liệu có nhãn không xác định [7] Mô hình được thừa kế được dựa trên sự phân tích một tập dữ liệu huấn luyện (ví dụ như các đối tượng đã biết nhãn lớp) [7] Quá trình phân lớp gồm hai bước: ‒ Bước thứ nhất – bước học (huấn luyện): bước này xây dựng một mô hình phân lớp dựa trên việc phân tích, học tập, huấn luyện trên một tập dữ liệu đã biết trước nhãn lớp.
‒ Bước thứ hai – phân lớp: phân lớp dữ liệu mới sử dụng mô hình phân lớp ở bước trước nếu như độ chính xác của mô hình phân lớp đó được đánh giá là chấp nhận được. Ở bước thứ nhất, đầu vào của quá trình này là một tập dữ liệu có cấu trúc được mô tả bằng các thuộc tính và được tạo ra từ tập các bộ giá trị của các thuộc tính đó. Mỗi bộ giá trị được gọi chung là một phần tử dữ liệu (data tuple), có thể là các mẫu (sample), ví dụ (example), đối tượng (object), bản ghi (record) hay trường hợp (case) [18] Hình 1.3 – Quá trình xây dựng mô hình phân lớp Bước thứ hai dùng mô hình đã xây dựng ở bước trước để phân lớp cho dữ liệu mới. Nhưng trước tiên, độ chính xác của mô hình phân lớp vừa tạo ra phải được đánh 12 giá.
Kỹ thuật đánh giá độ chính xác của mô hình phân lớp sử dụng một tập dữ liệu kiểm tra với các mẫu đã được gán nhãn lớp và độc lập với dữ liệu huấn luyện. Độ chính xác của mô hình là tỉ lệ phần trăm các các mẫu trong tập dữ liệu kiểm tra được mô hình phân lớp đúng (so với thực tế). Nếu độ chính xác của mô hình là chấp nhận được, thì mô hình được sử dụng để phân lớp những dữ liệu tương lai, hoặc những dữ liệu mà giá trị của thuộc tính phân lớp là chưa biết.4 – Quá trình phân lớp dữ liệu 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. Hiện nay, bên cạnh các kỹ thuật phân lớp cơ bản, giới khoa học vẫn không ngừng nghiên cứu và tìm ra những phương pháp mới nhằm nâng cao hiệu quả, khả năng chính xác trong quá trình phân lớp dữ liệu.
Luận văn này xin trình bày khái quát một số kỹ thuật phân lớp cơ bản hiện nay. Một số kỹ thuật phân lớp dữ liệu chuẩn 1. Thuật toán phân lớp cây quyết định (Decision tree) Phân lớp bằng cây quyết định là một kỹ thuật thông dụng trong khai phá dữ liệu. Cây quyết định mô tả một cấu trúc cây, trong đó các lá đại diện cho các phân loại và các cành đại diện cho sự kết hợp của các thuộc tính dẫn đến các phân loại [11].
Một cách để học một cây quyết định là chia tập mẫu thành các tập con dựa trên một số kiểm tra thuộc tính. Quá trình này sau đó được lặp đi lặp lại một cách đệ quy trên các tập con, với mỗi giá trị của bộ chia trở thành một gốc cây con. Quá trình này 13 dừng lại khi một tập con bị nhỏ đến nỗi không cần thiết chia nữa hoặc một tập con chứa các mẫu chỉ có một phân loại [11]. Phân lớp dựa trên cây quyết định được sử dụng để hỗ trợ cho tiến trình ra quyết định hoặc dự đoán, quản lý rủi ro, … Hình 1.5 là một ví dụ về việc sử dụng cây quyết định trong tiến trình lựa chọn loại phương tiện vận chuyển.
Hiện nay, có một số giải thuật phân lớp dựa trên cây quyết định phổ biến hiện nay như ID3 (Iterative Dichotomiser 3), CLS (Concept Learning System), C4. Một số ưu điểm của phương pháp phân lớp dựa trên cây quyết định là tốc độ học tương đối nhanh, có thể chuyển thành luật một cách dễ dàng, độ chính xác tương đối tốt và đòi hỏi tiền xử lý dữ liệu đơn giản.5 – Cây quyết định cho tiến trình lựa chọn phương tiện vận chuyển 1. Thuật toán phân lớp K láng giềng gần nhất (K-NN) Thuật toán phân lớp K láng giềng gần nhất – K-NN (K – Nearest neighbor) là phương pháp phân lớp các đối tượng dựa vào khoảng cách gần nhất giữa đối tượng cần phân lớp và tất cả các đối tượng trong dữ liệu huấn luyện. Một đối tượng được phân lớp dựa vào K láng giềng của nó.
K là số nguyên dương được xác định trước khi thực hiện thuật toán.