CHƯƠNG 1 TỔNG QUAN VỀ KHÁM PHÁ TRI THỨC, KHAI PHÁ DỮ LIỆU VÀ GIẢI THUẬT DI TRUYỀN 1. Tổng quan về khám phá tri thức và khai phá dữ liệu 1. Giới thiệu chung về khám phá tri thức và khai phá dữ liệu Nếu cho rằng, điện tử và truyền thông chính là bản chất của khoa học điện tử, thì dữ liệu, thông tin, và tri thức hiện đang là tiêu điểm của một lĩnh vực mới để nghiên cứu và ứng dụng, đó là khám phá tri thức và khai phá dữ liệu. Thông thường, chúng ta coi dữ liệu như là một chuỗi các bits, hoặc các số và các ký hiệu hay là các “đối tượng” với một ý nghĩa nào đó khi được gửi cho một chương trình dưới một dạng nhất định.
Các bits thường được sử dụng để đo thông tin, và xem nó như là dữ liệu đã được loại bỏ phần tử thừa, lặp lại, và rút gọn tới mức tối thiểu để đặc trưng một cách cơ bản cho dữ liệu. Tri thức được xem như là các thông tin tích hợp, bao gồm các sự kiện và mối quan hệ giữa chúng, đã được nhận thức, khám phá, hoặc nghiên cứu. Nói cách khác, tri thức có thể được coi là dữ liệu ở mức độ cao của sự trừu tượng và tổng quát[2]. Khám phá tri thức hay phát hiện tri thức trong CSDL là một quy trình nhận biết các mẫu hoặc các mô hình trong dữ liệu với các tính năng: Phân tích, tổng hợp, hợp thức, khả ích và có thể hiểu được.
Khai phá dữ liệu là một bước trong quá trình khám phá tri thức, gồm các giải thuật khai thác dữ liệu chuyên dùng dưới một số qui đị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. Nói cách khác, mục tiêu của Khai phá dữ liệu là tìm kiếm các mẫu hoặc mô hình tồn tại trong CSDL nhưng ẩn trong khối lượng lớn dữ liệu. Quá trình khám phá tri thức Quá trình khám phá dữ liệu có thể chia thành các giai đoạn như sau, xem hình 1. Trích chọn dữ liệu: Đây là bước trích chọn những tập dữ liệu cần được khai phá từ các tập dữ liệu lớn ban đầu theo một số tiêu chí nhất định.
Tiền xử lý dữ liệu: Đây là bước làm sạch dữ liệu (xử lý những dữ liệu không đầy đủ, nhiễu, không nhất quán, .), rút gọn dữ liệu (sử dụng hàm z 11 nhóm và tính tổng, các phương pháp nén dữ liệu, lấy mẫu, .), rời rạc hóa dữ liệu. Flat files: Những tệp dữ liệu không có mối quan hệ về cấu trúc Sau bước này, dữ liệu sẽ nhất quán, đầy đủ, được rút gọn và được rời rạc hóa. Biến đổi dữ liệu: Đây là bước chuẩn hóa và làm mịn dữ liệu để đưa dữ liệu về dạng thuận lợi nhất nhằm phục vụ quá trình khai phá ở bước sau. Khai phá dữ liệu: Đây là bước áp dụng những kỹ thuật phân tích (như các kỹ thuật của học máy) nhằm để khai thác dữ liệu, trích chọn được những mẫu thông tin, những mối liên hệ đặc biệt trong dữ liệu.
Đây được xem là bước quan trọng và tốn nhiều thời gian nhất của quá trình KDD. Đánh giá và biểu diễn tri thức: Những mẫu thông tin và mối liên hệ trong dữ liệu đã được khám phá ở bước trên được biến đổi và biểu diễn ở một dạng gần gũi với người sử dụng như đồ thị, cây, bảng biểu, luật,. Đồng thời bước này cũng đánh giá những tri thức khám phá được theo những tiêu chí nhất định. Đánh giá và Tri thức biểu diễn Khai phá dữ liệu Các mẫu Lựa chọn và biến đổi Kho dữ liệu Làm sạch và tích hợp Cơ sở dữ liệu Flat files Hình 1.1: Quá trình khám phá tri thức z 12 1.
Các phương pháp khai phá dữ liệu Với hai mục đích khai phá dữ liệu là Mô tả và Dự đoán, người ta thường sử dụng các phương pháp sau cho khai phá dữ liệu [3]: o Luật kết hợp (association rules) o Phân lớp (Classfication) o Hồi qui (Regression) o Trực quan hóa (Visualiztion) o Phân cụm (Clustering) o Tổng hợp (Summarization) o Mô hình ràng buộc (Dependency modeling) o Biểu diễn mô hình (Model Evaluation) o Phân tích sự phát triển và độ lệch (Evolution and deviation analyst) o Phương pháp tìm kiếm (Search Method) Có nhiều phương pháp khai phá dữ liệu được nghiên cứu ở trên, trong đó có ba phương pháp được các nhà nghiên cứu sử dụng nhiều nhất đó là: Luật kết hợp, Phân lớp dữ liệu và Phân cụm dữ liệu. Các lĩnh vực ứng dụng thực tiễn của KPDL KPDL là một lĩnh vực mới phát triển nhưng thu hút được khá nhiều nhà nghiên cứu nhờ vào những ứng dụng thực tiễn của nó. Sau đây là một số lĩnh vực ứng dụng thực tế điển hình của KPDL[2]: - Phân tích dữ liệu và hỗ trợ ra quyết định - Phân lớp văn bản, tóm tắt văn bản, phân lớp các trang Web và phân cụm ảnh màu - Chuẩn đoán triệu chứng, phương pháp trong điều trị y học - Tìm kiếm, đối sánh các hệ Gene và thông tin di truyền trong sinh học - Phân tích tình hình tài chính, thị trường, dự báo gía cổ phiếu trong tài chính, thị trường và chứng khoán - Phân tích dữ liệu marketing, khách hàng. - Điều khiển và lập lịch trình - Bảo hiểm - Giáo dục.
Các hướng tiếp cận cơ bản và kỹ thuật áp dụng trong KPDL. Vấn đề khai phá dữ liệu có thể được phân chia theo lớp các hướng tiếp cận chính sau [3]: - Phân lớp và dự đoán (classification &prediction): Là quá trình xếp một đối tượng vào một trong những lớp đã biết trước (ví dụ: phân lớp các bệnh nhân theo dữ liệu hồ sơ bệnh án, phân lớp vùng địa lý theo dữ liệu thời tiết. Đối với hướng tiếp cận này thường sử dụng một số kỹ thuật của học máy như cây quyết định (decision tree), mạng nơron nhân tạo (neural network),. Hay lớp bài toán này còn đươc gọi là học có giám sát - Học có thày (supervised learning).
- Phân cụm (clustering/segmentation): Sắp xếp các đối tượng theo từng cụm dữ liệu tự nhiên, tức là số lượng và tên cụm chưa được biết trước. Các đối tượng được gom cụm sao cho mức độ tương tự giữa các đối tượng trong cùng một cụm là lớn nhất và mức độ tương tự giữa các đối tượng nằm trong các cụm khác nhau là nhỏ nhất. Lớp bài toán này còn được gọi là học không giám sát - Học không thày (unsupervised learning). - Luật kết hợp (association rules): Là dạng luật biểu diễn tri thức ở dạng khá đơn giản (Ví dụ: 80% sinh viên đăng ký học CSDL thì có tới 60% trong số họ đăng ký học Phân tích thiết kế hệ thống thông tin).
Hướng tiếp cận này được ứng dụng nhiều trong lĩnh vực kinh doanh, y học, tin sinh học, giáo dục, viễn thông, tài chính và thị trường chứng khoán,. - Phân tích chuỗi theo thời gian (sequential/temporal patterns): Cũng tương tự như khai phá dữ liệu bằng luật kết hợp nhưng có thêm tính thứ tự và tính thời gian. Một luật mô tả mẫu tuần tự có dạng tiêu biểu X -> Y, phản ánh sự xuất hiện của biến cố X sẽ dẫn đến việc xuất hiện biến cố Y. Hướng tiếp cận này được ứng dụng nhiều trong lĩnh vực tài chính và thị trường chứng khoán bởi chúng có tính dự báo cao.
- Mô tả khái niệm (concept desccription & summarization): Lớp bài toán này thiên về mô tả, tổng hợp và tóm tắt khái niệm (Ví dụ: tóm tắt văn bản). Các yêu cầu của phân cụm Phân cụm là một thách thức trong lĩnh vực nghiên cứu ở chỗ những ứng dụng tiềm năng của chúng được đưa ra ngay chính trong những yêu cầu đặc biệt của chúng. Sau đây là những yêu cầu cơ bản của phân cụm trong KPDL [3]: z 14 Có khả năng mở rộng: Nhiều thuật toán phân cụm làm việc tốt với những tập dữ liệu khoảng vài trăm đối tượng, tuy nhiên, một CSDL lớn có thể chứa tới hàng triệu đối tượng. Việc phân cụm với một tập dữ liệu lớn có thể làm ảnh hưởng tới kết quả.
Vậy làm cách nào để chúng ta có thể phát triển các giải thuật phân cụm có khả năng mở rộng cao đối với các CSDL lớn? Khả năng thích nghi với các kiểu thuộc tính khác nhau: Nhiều giải thuật được thiết kế cho việc phân cụm dữ liệu có kiểu khoảng (kiểu số). Tuy nhiên, nhiều ứng dụng có thể đòi hỏi việc phân cụm với nhiều kiểu dữ liệu khác nhau, như kiểu nhị phân, kiểu tường minh (định danh - không thứ tự), và dữ liệu có thứ tự hay dạng hỗn hợp của những kiểu dữ liệu này. Khám phá các cụm với hình dạng bất kỳ: Nhiều giải thuật phân cụm xác định các cụm dựa trên các phép đo khoảng cách Euclidean và khoảng cách Manhattan. Các thuật toán dựa trên các phép đo như vậy hướng tới việc tìm kiếm các cụm hình cầu với mật độ và kích cỡ tương tự nhau.
Tuy nhiên, một cụm có thể có bất cứ một hình dạng nào. Do đó, việc phát triển các thuật toán có thể khám phá ra các cụm có hình dạng bất kỳ là một việc làm quan trọng. Tối thiểu lượng tri thức cần cho xác định các tham số đầu vào: Nhiều thuật toán phân cụm yêu cầu người dùng đưa vào những tham số nhất định trong phân tích phân cụm (như số lượng các cụm mong muốn). Kết quả của phân cụm thường khá nhạy cảm với các tham số đầu vào.
Nhiều tham số rất khó để xác định, nhất là với các tập dữ liệu có lượng các đối tượng lớn. Điều này không những gây trở ngại cho người dùng mà còn làm cho khó có thể điều chỉnh được chất lượng của phân cụm. Khả năng thích nghi với dữ liệu nhiễu: Hầu hết những CSDL thực đều chứa đựng dữ liệu ngoại lai, dữ liệu lỗi, dữ liệu chưa biết hoặc dữ liệu sai. Một số giải thuật phân cụm nhạy cảm với dữ liệu như vậy và có thể dẫn đến chất lượng phân cụm thấp.
Ít nhạy cảm với thứ tự của các dữ liệu vào: Một số thuật toán phân cụm nhạy cảm với thứ tự của dữ liệu vào, ví dụ như với cùng một tập dữ liệu, khi được đưa ra với các thứ tự khác nhau thì với cùng một giải thuật có thể sinh ra các cụm rất khác nhau. Do đó, việc quan trọng là phát triển các giải thuật mà ít nhạy cảm với thứ tự vào của dữ liệu. Số chiều lớn: Một CSDL hoặc một kho dữ liệu có thể chứa một số chiều hoặc một số các thuộc tính. Nhiều thuật toán phân cụm áp dụng tốt cho dữ liệu với số chiều thấp, bao gồm chỉ từ hai đến 3 chiều.