Khai phá dữ liệu là phân tích tập dữ liệu quan sát lớn để tìm ra các mối liên hệ hiển nhiên và tổng quát hóa dữ liệu theo các cách để hiểu đƣợc và có ý nghĩa.
Hiện nay với sự bùng nổ của công nghệ thông tin thì đúng nhƣ nhận xét “Chúng ta đang sống trong thế giới thừa thông tin nhƣng thiếu tri thức”. Hàng ngày, chúng ta tiếp nhận nhiều thông tin từ nhiều nguồn khác nhau, các nguồn dữ liệu thì ngày càng tăng lên và phình ra khổng lồ. Trong khi đó, việc khai thác tri thức từ những nguồn dữ liệu này là rất khó khăn và chƣa đƣợc quan tâm đúng mức. Nhƣng những năm gần đây, khai phá tri thức từ dữ liệu (Knowledge Discovery in Database - KDD) và khai phá dữ liệu (Data Mining- DM) đƣợc xem nhƣ một cách tiếp cận mới trong việc tìm kiếm tri thức từ các nguồn dữ liệu có sẵn. Nhờ nó mà từ những tập dữ liệu khổng lồ và hỗn tạp có thể tìm ra những tri thức hữu ích.
Khai phá dữ liệu đang ngày càng phổ biến và đƣợc ứng dụng một cách rộng rãi trong nhiều lĩnh vực khác nhau nhƣ: tài chính, ngân hàng, khoa học, y tế, an ninh,…
Quá trình khai phá dữ liệu bao gồm các bƣớc chính sau [3]:
1) Làm sạch dữ liệu (data cleaning): Loại bỏ nhiễu hoặc các dữ liệu không thích hợp.
2) Tích hợp dữ liệu (data integration): Tích hợp dữ liệu từ các nguồn khác nhau nhƣ: CSDL, Kho dữ liệu, file text…
3) Chọn dữ liệu (data selection): Ở bƣớc này, những dữ liệu liên quan trực tiếp đến nhiệm vụ sẽ đƣợc thu thập từ các nguồn dữ liệu ban đầu.
4) Chuyển đổi dữ liệu (data transformation): Trong bƣớc này, dữ liệu sẽ đƣợc chuyển đổi về dạng phù hợp cho việc khai phá bằng cách thực hiện các thao tác nhóm hoặc tập hợp.
5) Khai phá dữ liệu (data mining): Đây là bƣớc quan trọng trong quá trình khai phá tri thức. Ở đây sử dụng các dữ liệu đã đƣợc tiền xử lý ở các bƣớc trƣớc và kết hợp với các thuật toán phù hợp để trích xuất ra những thông tin có ích.
6) Đánh giá mẫu (pattern evaluation): Đánh giá sự hữu ích của các mẫu biểu diễn tri thức dựa vào một số phép đo. Dựa vào đây ngƣời ta phát hiện ra các điểm yếu để tinh chỉnh và lựa chọn mô hình thích hợp nhất dùng cho ra kết quả cao nhất có thể.
7) Trình diễn dữ liệu (Knowlegde presentation): Sử dụng các kỹ thuật trình diễn và trực quan hoá dữ liệu để đƣa ra kết quả khai phá dữ liệu cho ngƣời dùng.
Khai phá dữ liệu thƣờng có 2 nhiệm vụ chính:
Mô tả (Descriptive): có nhiệm vụ mô tả về các tính chất hoặc các đặc tính
chung của dữ liệu trong CSDL hiện có.
Dự đoán (Predictive): có nhiệm vụ đƣa ra các dự đoán dựa vào các suy diễn
trên dữ liệu hiện thời.
Để thực hiện nhiệm vụ trên, trong khai phá dữ liệu ta có các phƣơng pháp thông dụng là: Phân cụm dữ liệu, Phân lớp dữ liệu và hồi quy và Khai phá luật kết hợp.
Phân cụm (Clustering): Nhằm nhóm các đối tƣợng tƣơng tự nhau trong tập dữ liệu vào các cụm sao cho các đối tƣợng thuộc cùng một lớp là tƣơng đồng còn các đối tƣợng thuộc các cụm khác nhau sẽ không tƣơng đồng.
Phân lớp dữ liệu và hồi quy ( Classification &Regression): Nhằm dự báo nhãn lớp cho các mẫu dữ liệu trong tƣơng lai thông qua các thuộc tính của lớp.
Khai phá luật kết hợp (Association Rule Discovery): Phƣơng pháp này nhằm phát hiện và đƣa ra các mối liên hệ giữa các giá trị dữ liệu trong CSDL. Mẫu đầu ra của giải thuật khai phá dữ liệu là tập luật kết hợp tìm đƣợc.
2.2. Một số mô hình dùng trong khai phá dữ liệu
Có nhiều thuật toán khác nhau đƣợc sử dụng trong khai phá dữ liệu, ở đây chúng tôi giới thiệu qua một số thuật toán cơ bản và quan tâm tới thuật toán chính đƣợc sử dụng để giải quyết bài toán dự báo trên là thuật toán SVM.
2.2.1. Mô hình mạng nơ ron nhân tạo (ANN - Artificial Neural Network)
Mạng nơ ron nhân tạo là một cấu trúc tính toán mô phỏng theo hoạt động của bộ não ngƣời, bao gồm số lƣợng lớn các Neuron đƣợc gắn kết để xử lý thông tin. ANN đƣợc học bởi kinh nghiệm (thông qua huấn luyện), có khả năng lƣu giữ những kinh nghiệm hiểu biết (tri thức) và sử dụng những tri thức đó trong việc dự đoán các dữ liệu chƣa biết (unseen data) [15].
Các ứng dụng của mạng Neuron đƣợc sử dụng trong rất nhiều lĩnh vực nhƣ điện, điện tử, kinh tế, quân sự,… để giải quyết các bài toán có độ phức tạp và đòi hỏi có độ chính xác cao nhƣ điều khiển tự động, khai phá dữ liệu, nhận dạng,…
Kiến trúc chung của một ANN nhƣ sau: