CHƯƠNG 1: TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU 1. Quá trình phát hiện tri thức trong cơ sở dữ liệu Ngày nay, hầu hết mọi lĩnh vực của đời sống thực phải đối mặt với khối lượng ngày càng tăng của dữ liệu được thu thập từ các hoạt động của con người (như dữ liệu giao dịch thị trường, bản ghi việc sử dụng thẻ tín dụng, thông tin về các cuộc gọi điện thoại, các thống kê của chính phủ) tới các dữ liệu thu thập được từ bên ngoài (như hình ảnh các thiên thể, cơ sở dữ liệu về phân tử, hoặc bản ghi y tế). Các công cụ thu thập dữ liệu tự động và các công nghệ cơ sở dữ liệu phát triển mạnh mẽ tạo ra một lượng dữ liệu khổng lồ được lưu trữ trong các cơ sở dữ liệu, kho dữ liệu và các nơi lưu trữ thông tin khác. Sự bùng nổ này đã dẫn tới một yêu cầu cấp thiết là cần có những kĩ thuật và công cụ mới để tự động chuyển đổi lượng dữ liệu khổng lồ kia thành các tri thức có ích.
Từ đó, các kĩ thuật Khai phá dữ liệu đã trở thành tiêu điểm của một lĩnh vực mới nghiên cứu và ứng dụng về khám phá tri thức (Knowledge Discovery) và khai phá dữ liệu (Data Mining). Khám phá tri thức: phát hiện tri thức trong các cơ sở dữ liệu là một quy trình nhận biết các mẫu hoặc các mô hình dữ liệu với các tính năng: hợp thức, mới, khả ích và có thể hiểu được. Khai phá dữ liệu: khai phá dữ liệu là một bước trong quá trình phát hiện tri thức gồm có các thuật toán khai thác dữ liệu chuyên dùng dưới một số quy định về hiệu quả tính toán chấp nhận được để tìm ra các mẫu hoặc các mô hình trong dữ liệu đang tồn tại trong các cơ sở dữ liệu nhưng vẫn còn bị che khuất bởi số lượng dữ liệu khổng lồ. Khai phá dữ liệu (data mining) là quá trình khám phá các tri thức mới và các tri thức có ích ở dạng tiềm năng trong nguồn dữ liệu đã có.
Khai phá dữ liệu là một bước của Quá trình khám phá tri thức (Knowledge Discovery Process), bao gồm: 4 z 1. Xác định vấn đề và không gian dữ liệu để giải quyết vấn đề. Thu thập và tiền xử lý dữ liệu: Bao gồm quá trình làm sạch dữ liệu (data cleaning), tích hợp dữ liệu (data integration), chọn dữ liệu(data selection), biến đổi dữ liệu (data transformation) 3. Khai phá dữ liệu và rút ra các tri thức: Xác định nhiệm vụ khai phá dữ liệu và lựa chọn kỹ thuật khai phá dữ liệu.
Kết quả cho ta một nguồn trí thức thô. Phân tích và đánh giá kết quả: Dựa trên một số tiêu chí tiến hành kiểm tra và lọc nguồn trí thức thu được. Sử dụng các tri thức phát hiện được. Quá trình khám phá tri thức không chỉ là một quá trình tuần tự từ bước đầu tiên đến bước cuối cùng mà là một quá trình lặp và có quay lại các bước đã qua.
Hình vẽ dưới đây biểu diễn quá trình khám phá tri thức Hình 1.1: Quá trình khám phá tri thức Bước thứ nhất là tìm hiểu lĩnh vực ứng dụng và hình thành bài toán, bước này sẽ quyết định cho việc rút ra được các tri thức hữu ích và cho phép chọn các phương pháp khai phá dữ liệu thích hợp với mục đích ứng dụng và bản chất của dữ liệu. 5 z Bước thứ hai là thu thập và xử lý thô, còn được gọi là tiền xử lý dữ liệu nhằm loại bỏ nhiễu, xử lý việc thiếu dữ liệu, biến đổi dữ liệu và rút gọn dữ liệu nếu cần thiết. Bước này thường chiếm nhiều thời gian nhất trong toàn bộ qui trình phát hiện tri thức và gồm các khâu sau: - Làm sạch dữ liệu (Data Cleaning): Loại bỏ dữ liệu nhiễu và dữ liệu không nhất quán, đây là một bước rất quan trọng trong quá trình tiền xử lý dữ liệu. Một số lỗi thường mắc phải trong khi thu thập dữ liệu là tính không đủ chặt chẽ, logic, dữ liệu rỗng, dư thừa, hoặc dữ liệu không hợp lệ.
Vì vậy, dữ liệu thường chứa các giá trị vô nghĩa và không có khả năng kết nối dữ liệu, ví dụ tuổi = 0. Giai đoạn này sẽ tiến hành xử lý những dạng dữ liệu không chặt chẽ nói trên. Những dữ liệu dạng này được xem như thông tin dư thừa, không có giá trị. Bởi vậy, đây là một Giai đoạn rất quan trọng vì dữ liệu này nếu không được “làm sạch” thì sẽ gây nên những kết quả sai lệch nghiêm trọng.
- Tích hợp dữ liệu (Data Intergation): tích hợp dữ liệu từ các nguồn khác nhau như cơ sở dữ liệu, kho dữ liệu, file text,các dữ liệu từ các nguồn ứng dụng Web,… - Lựa chọn dữ liệu (Data Selection): Lựa chọn, thu thập những dữ liệu phù hợp với nhiệm vụ phân tích, trích rút từ các nguồn dữ liệu ban đầu. - Chuyển đổi dữ liệu (Data Transformation): Dữ liệu được chuyển đổi hay được hợp nhất về dạng thích 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.2: Sơ đồ quá trình tiền xử lý dữ liệu Bước thứ ba là khai phá dữ liệu, hay nói cách khác là trích ra các mẫu hoặc/và các mô hình ẩn dưới các dữ liệu. Ở giai đoạn này nhiều thuật toán khác nhau đã được sử dụng để trích ra các mẫu từ dữ liệu như các nguyên tắc phân loại, nguyên tắc kết hợp hoặc các mô hình dữ liệu tuần tự,. Bước thứ tư là hiểu tri thức đã tìm được, đặc biệt là làm sáng tỏ các mô tả và dự đoán.
Ở giai đoạn này, các mẫu dữ liệu được chiết xuất ra bởi phần mềm khai phá dữ liệu. Không phải bất cứ mẫu dữ liệu nào cũng đều hữu ích, đôi khi nó còn bị sai lệch. Vì vậy, cần phải ưu tiên những tiêu chuẩn đánh giá để chiết xuất ra các tri thức cần thiết. Bước thứ năm là sử dụng các tri thức phát hiện được, ở giai đoạn này các kỹ thuật biểu diễn và trực quan hóa được sử dụng để biểu diễn tri thức khai phá được cho người sử dụng.
Các bước trên có thể lặp đi lặp lại một số lần, kết quả thu được có thể được lấy trung bình trên tất cả các lần thực hiện. Khai phá dữ liệu 1. Định nghĩa và các yêu cầu trong khai phá dữ liệu Khai phá dữ liệu: là sự phân tích dữ liệu quan sát (thường là lớn) để tìm ra các quan hệ rõ ràng và để tóm tắt (khái quát) dữ liệu theo các cách mới mà vừa dễ hiểu, vừa hữu ích cho người sở hữu dữ liệu. Các quan hệ và các tóm tắt thu được thông qua khai phá dữ liệu thường gọi là các mô hình (models) hoặc khuôn mẫu (patterns).
Ví dụ như các phương trình tuyến tính, các luật, các nhóm, các đồ thị, các cấu trúc cây, các khuôn mẫu lặp lại theo thời gian. Đây là một khoa học liên ngành mới, giao của thống kê học, học máy, quản trị dữ liệu và các cơ sở dữ liệu, nhận dạng khuôn mẫu, trí tuệ nhân tạo, và các lĩnh vực khác. Tất cả chúng liên quan đến các khía cạnh cụ thể của phân tích dữ liệu, chúng có nhiều thứ chung, nhưng mỗi môn có các bài toán và phương pháp giải quyết phân biệt và đặc trưng. Ở trên ta nhắc đến “dữ liệu quan sát – observational data”, đối lập với “dữ liệu thực nghiệm – experimental data”.
Khai phá dữ liệu thường làm việc trên dữ liệu mà đã thực sự được thu thập trước đó cho mục đích khác với việc phân tích của khai phá dữ liệu (chẳng hạn, chúng được thu thập nhằm cập nhật tất cả các giao dịch trong một ngân hàng). Điều này có nghĩa rằng các mục tiêu của khai phá dữ liệu không được xác định trong chiến lược thu thập dữ liệu. Điều này là một trong những điểm để phân biệt khai phá dữ liệu với thống kê. Với thống kê, dữ liệu thường được thu thập bằng cách sử dụng các chiến lược hiệu quả để trả lời các câu hỏi xác định trước.
Với lý do này, khai phá dữ liệu thường được coi là phân tích dữ liệu thứ cấp (secondary) Định nghĩa trên cũng đề cập đến các tập dữ liệu trong khai phá dữ liệu thường là lớn. Nếu chỉ làm việc trên tập dữ liệu nhỏ, chúng ta hoàn toàn mới chỉ thảo luận phân tích dữ liệu kiểu cổ điển như công việc của các nhà thống kê. Khi đối mặt với dữ liệu lớn, các bài toán mới sẽ nảy sinh như các bài toán liên quan đến các vấn đề lưu trữ và truy cập dữ liệu, hay các vấn đề cơ bản như là làm thế nào để xác định các đại diện của dữ liệu, làm thế nào phân tích dữ liệu trong thời gian chấp nhận được, làm thế nào để quyết định xem một mối liên hệ chỉ đơn thuần là sự xuất hiện ngẫu nhiên không phản ánh một thực tế nào cả. 8 z Thông thường, dữ liệu có sẵn chỉ bao gồm một mẫu (sample) từ một tập đầy đủ dữ liệu trong khi mục đích của khai phá dữ liệu là khái quát hóa (generalize) từ mẫu đó cho toàn bộ tập dữ liệu.
Chẳng hạn chúng ta mong muốn dự đoán hành vi của các khách hàng tương lai, hoặc dự đoán các tính chất của cấu trúc proteins mà chúng ta chưa bao giờ nhìn thấy trước đó. Những khái quát hóa như vậy có thể không thể có được bằng các cách tiếp cận thống kê chuẩn vì dữ liệu thường không phải là các mẫu “ngẫu nhiên” mà là “mẫu tiện lợi” (“convenience samples”) hoặc “mẫu cơ hội” (“opportunity samples”). Đôi khi chúng ta muốn tóm tắt hoặc nén một tập dữ liệu lớn theo một cách sao cho kết quả là dễ hiểu, không có bất cứ một ý niệm nào của khái quát hóa cả như trong trường hợp tóm tẳt dữ liệu điều tra dân số đầy đủ của một quốc gia, hoặc một cơ sở dữ liệu gồm hàng triệu giao dịch bán lẻ.