CHƯƠNG 1 – TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU 1.1 GIỚI THIỆU CHUNG Cách mạng khoa học kỹ thuật tạo ra bước nhảy vọt trong tất cả các lĩnh vực của đời sống kinh tế, xã hội,… Một thành công không thể không kể đến của cuộc cách mạng này là sự bùng nổ thông tin, khiến cho khối lượng thông tin mà con người thu thập và lưu trữ ngày một khổng lồ, kích thước của CSDL tăng một cách chóng mặt. Trong những CSDL đó tiềm ẩn nhiều tri thức mà con người chưa khám phá ra được. Đứng trước núi dữ liệu khổng lồ thu thập được. Đứng trước núi dữ liệu khổng lồ thu thập được, việc khám phá tri thức và thông tin trở lên rất khó khan.
Chính vì lý do đó nhu cầu tìm kiếm tri thức trong khối CSDL đã nảy sinh, nhu cầu này ngày một cấp thiết và dẫn tới sự hình thành của một lĩnh vực mới – Khai phám dữ liệu (Data Mining).2 KHÁM PHÁ TRI THỨC VÀ QUÁ TRÌNH KHÁM PHÁ TRI THỨC 1.1 Khám phá tri thức Khám phá tri thức trong CSDL có thể được coi như quá trình tìm tri thức có ích, cần thiết, tiềm ẩn và chưa được biết trước trong CSDL lớn. Tuy mới ra đời nhưng khám phá tri thức và khai phá dữ liệu đã và đang được nghiên cứu, ứng dụng trong nhiều lĩnh vực khác nhau ở các nước trên thế giới, tại Việt Nam kỹ thuật này tương đối còn mới mẻ tuy nhiên cũng đang được nghiên cứu và dần đưa vào ứng dụng trong những năm gần đây. Những vấn đề được quan tâm là phân lớp nhận dạng mẫu, luật kết hợp, phân cụm dữ liệu, phần tử dị biệt, … Theo Fayyad, Piatetsky-Shapiro, Smyth, việc nghiên cứu phát triển lĩnh vực khám phá tri thức trong CSDL (Knowledge Discovery in Database) nhằm giải tình trạng “ngập tràn thông tin mà vẫn thiếu thốn tri thức”. Khám phá tri thức trong CSDL là lĩnh vực đã , đang và sẽ được quan tâm triển khai nghiên cứu, phát triển một cách nhanh chóng và rộng rãi.
Đã có rất nhiều các thuật ngữ khác nhau mà được coi là cùng mang nghĩa của Khám phá tri thức trong CSDL như Chiết lọc tri thức (Knowledge Extraction), Phát hiện thông tin (Information Discovery), Thu hoạch thông tin (Inforation Harvesting), Khai quật dữ liệu (Data Archaeology), và Xử lý mẫu dữ liệu (Data Pattern Processing). Năm 1989, Fayyad, Smyth và Piatestsky-Shapiro đã định nghĩa một cách đầy đủ về khái niệm Khám phá tri thức trong cơ sở dữ liệu như sau: “Khám phá tri thức trong Cơ sở dữ liệu (đôi khi còn được gọi là khai phá dữ liệu) là một quá trình không tầm thường nhận ra những mẫu có giá trị, mới, hữu ích tiềm năng và hiểu được trong dữ liệu.2 Quá trình khám phá tri thức Quá trình Khám phá tri thức trong CSDL gồm các bước: - Trích lọc dữ liệu (Data Selection) Là bước trích chọn những tập dữ liệu cần được khai thác từ các tập dữ liệu lớn (Databases, Datawarehouses) banđầu theo một số tiêu chí nhất định. - Tiền xử lý dữ liệu (Data Preprocessing) Giai đoạn này hay bị xao lãng, nhưng thực tế nó là một bước rất quan trọng trong quá trình khai phá dữ liệu. Tiền xử lý dữ liệu là bước làm sạch dữ liệu (xử lý dữ liệu không đầy đủ, dữ liệu nhiễu, dữ liệu không nhất quán,…), rút gọn dữ liệu (sử dụng các phương pháp nén dữ liệu, histograms, entropy,…), rời rạc hóa dữ liệu (dựa vào histograms, dựa vào phân khoảng,…).
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. Có thể nói, đây là một bước rất quan trọng vì dữ liệu này nếu không được “làm sạch – tiền xử lý – chuẩn bị trước” thì sẽ gây nên những kết quả sai lệch nghiêm trọng. - Biến đổi dữ liệu (Data transformation) Là bước chuẩn hóa và làm mịn dữ liệu để đưa về dạng thuận lợi nhất nhằm phục vụ cho mục đích khai thác ở bước sau. - Khai phá dữ liệu (Data Mining) Đây là bước quan trọng và tốn nhiều thời gian nhất của quá trình khám phá tri thức, áp dụng các kỹ thuật phân tích (phần lớn là các kỹ thuật của Machine Learning) nhằm khai thác, trích chọn được các mẫu thông tin, các mối liên hệ đặc biệt trong dữ liệu.
- Đánh giá và biểu diễn tri thức (Knowledge Representation & Evaluation) Dùng các kỹ thuật hiển thị dữ liệu để trình bày các mẫu thông tin (tri thức) và mối liên hệ đặc biệt trong dữ liệu đã được khai thác ở bước trên theo dạng gần gũi với người 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 các tiêu chí nhất định.3 KHAI PHÁ DỮ LIỆU 1.1 Khai phá dữ liệu Có rất nhiều nguồn định nghĩ và khái niệm về Data Mining: - Theo Wikipedia: “Khai phá dữ liệu (data mining) Là quá trình tính toán để tìm ra các mẫu trong các bộ dữ liệu lớn liên quan đến các phương pháp tại giao điểm của máy học, thống kê và các hệ thống cơ sở dữ liệu. Mục tiêu tổng thể của quá trình khai thác dữ liệu là trích xuất thông tin từ một bộ dữ liệu và chuyển nó thành một cấu trúc dễ hiểu để sử dụng tiếp. Ngoài bước phân tích thô, nó còn liên quan tới cơ sở dữ liệu và các khía cạnh quản lý dữ liệu, xử lý dữ liệu trước, suy xét mô hình và suy luận thống kê, các thước đo thú vị, các cân nhắc phức tạp, xuất kết quả về các cấu trúc được phát hiện, hiện hình hóa và cập nhật trực tuyến.
Khai thác dữ liệu là bước phân tích của quá trình "khám phá kiến thức trong cơ sở dữ liệu" hoặc KDD.” - Theo Data-Flair, một trang web cung cấp các khóa học, các kiến thức về Big Data và Data Science: “Data mining là một tập hợp, một hệ thống các phương pháp tính toán, thuật toán được áp dụng cho các cơ sở dữ liệu lớn và phức tạp với mục đích loại bỏ các chi tiết ngẫu nhiên, chi tiết ngoại lệ, khám phá các mẫu, mô hình, quy luật tiềm ẩn, các thông tin có giá trị trong bộ dữ liệu. Data mining là thành quả công nghệ tiên tiến ngày nay, là quá trình khám phá các kiến thức vô giá bằng cách phân tích khối lượng lớn dữ liệu đồng thời lưu trữ chúng ở nhiều CSDL khác nhau.” - Theo trang Investopedia: “Data mining là một quá trình được các công ty sử dụng để biến dữ liệu thô thành những thông tin hữu ích. Bằng cách sử dụng các phần mềm chuyên dụng để tìm kiếm các quy luật, các mẫu, thông tin có giá trị, mối tương quan tiềm ẩn trong khối lượng lớn dữ liệu, công ty có thể tìm hiểu thêm về khách hàng của mình để phát triển các chiến lược tiếp thị hiệu quả hơn, tăng doanh số và giảm chi phí.” Tóm lại, Data Mining có thể được hiểu theo một cách tổng quát như sau: “Data mining là quá trình khám phá và phân tích khối lượng lớn dữ liệu để tìm ra các mẫu dữ liệu và quy tắc có ý nghĩa. Data mining là một trong những lĩnh vực nghiên cứu khoa học dữ liệu, khai thác và sử dụng các dữ kiện, thông tin có giá trị từ dữ liệu để phục vụ đưa ra dự báo, quyết định trong tương lai.2 Quy trình Khai phá dữ liệu Quy trình Khai phá dữ liệu thông thường gồm 10 bước (theo tiến trình KDD): - Nghiên cứu lĩnh vực Ta cần nghiên cứu lĩnh vực cần sử dụng Data mining để xác định được những tri thức ta cần chắt lọc, từ đó định hướng để tránh tốn thời gian cho những tri thức không cần thiết.
- Tạo tập tin dữ liệu đầu vào Ta xây dựng tập tin để lưu trữ các dữ liệu đầu vào để máy tính có thể lưu trữ và xử lý. - Tiền xử lý, làm sạch, mã hóa Ở bước này ta tiến hành bỏ bớt những dữ liệu rườm rà, không cần thiết, tinh chỉnh lại cấu trúc của dữ liệu và mã hóa chúng để tiện cho quá trình xử lý. - Rút gọn chiều Thông thường một tập dữ liệu có chiều khá lớn sẽ sinh ra một lượng dữ liệu khổng lồ, ví dụ với n chiều ta sẽ có 2^n tổ hợp. Do đó, đây là một bước quan trọng giúp giảm đáng kể hao tổn về tài nguyên trong quá trình xử lý tri thức.
Thông thường ta sẽ dùng Rough set(http://en.org/wiki/Rough_set) để giảm số chiều. - Chọn tác vụ khai thác dữ liệu Để đạt được mục đích ta cần, ta cần chọn được tác vụ khai thác dữ liệu sao cho phù hợp. Thông thường có các tác vụ sau: * Đặc trưng (feature) * Phân biệt (discrimination) * Kết hợp (association) * Phân lớp (classification) * Gom cụm (clusterity) * Xu thế (trend analysis) * Phân tích độ lệch * Phân tích hiếm - Chọn các thuật giải Khai thác dữ liệu - Khai thác dữ liệu: Tìm kiếm tri thức Sau khi tiến hành các bước trên thì đây là bước chính của cả quá trình, ta sẽ tiến hành khai thác và tìm kiếm tri thức. - Đánh giá mẫu tìm được Ta cần đánh giá lại xem trong các tri thức tìm được, ta sẽ sử đụng được những tri thức nào, những tri thức nào dư thừa, không cần thiết - Biểu diễn tri thức Ta biểu diễn tri thức vừa thu thập được dưới dạng ngôn ngữ tự nhiên và hình thức sao cho người dùng có thể hiểu được những tri thức đó.
- Sử dụng các tri thức vừa khám phá.3 Các hướng tiếp cận cơ bản và kỹ thuật áp dụng trong khai phá dữ liệu 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: 1.1 Phân lớp và dự đoán Hướng tiếp cận này làm 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. Kỹ thuật này gồm có: Phân lớp, hồi quy, … 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 máy như cây quyết định, mạng nơron nhân tạo, … 1.2 Phân cụm dữ liệu Mục tiêu của phương pháp phân cụm dữ liệu là quá trình nhóm các điểm dữ liệu trong cơ sở dữ liệu thành các cụm sao cho những điểm dữ liệu trong cùng một cụm có độ tương đồng lớn và những điểm không cùng một cụm có sự tương đồng là rất nhỏ. Điểm mạnh của phân cụm dữ liệu là đưa ra được những cấu trúc có ích hoặc những cụm có đối tượng tìm thấy trực tiếp từ dữ liệu mà không cần bất kì một tri thức cơ sở nào.