Chương 1. Tổng quan: Chƣơng này giới thiệu một cách tổng quát về quá trình phát hiện tri thức nói chung và khai phá dữ liệu nói riêng. Đặc biệt, chƣơng trình còn liệt kê một số điểm chính về ứng dụng cũng nhƣ thách thức của khai phá dữ liệu và phát hiện tri thức. Phân cụm dữ liệu và một số thuật toán cơ bản: Chƣơng này trình bày các nội dung chính liên quan đến phân cụm dữ liệu.
Một số thuật toán phân cụm dữ liệu cơ bản cũng đƣợc trình bày chi tiết trong chƣơng này. Phân lớp dữ liệu và một số thuật toán cơ bản: Chƣơng này trình bày các nội dung chính liên quan đến phân lớp dữ liệu và ứng dụng. Một số 8 thuật toán phân lớp dữ liệu bao gồm: ID3, C.5, Naive Bayes, Apriori, … cũng sẽ đƣợc trình bày chi tiết trong chƣơng này. Một số kết quả thử nghiệm: Chƣơng này trình bày và phân tích một số kết quả thử nghiệm các thuật toán phân cụm, phân lớp dữ liệu cơ bản.
Kết quả phân tích chủ yếu đƣợc triển khai thực hiện dựa trên phần mềm Weka (Waikato Environment for Knowledge Analysis) - một bộ phần mềm học máy đƣợc trƣờng Đại học Waikato, New Zealand phát triển bằng Java. Weka là phần mềm tự do phát hành theo Giấy phép Công cộng GNU, hiện đang đƣợc sử dụng rất rộng rãi bởi cộng đồng những ngƣời làm về lĩnh vực khai phá dữ liệu và phát hiện tri thức. 9 CHƢƠNG 1 TỔNG QUAN 1.1 Gi i thi u chung Sự phát triển của khoa học công nghệ và việc ứng dụng công nghệ thông tin ở hầu hết các lĩnh vực trong nhiều năm qua cũng đồng nghĩa với lƣợng dữ liệu đã đƣợc thu thập và lƣu trữ ngày càng lớn. Các hệ quản trị cơ sở dữ liệu truyền thống cũng chỉ khai thác đƣợc một lƣợng thông tin nhỏ không còn đáp ứng đầy đủ những yêu cầu, những thách thức mới.
Do vậy các phƣơng pháp quản trị và khai thác cơ sở dữ liệu truyền thống ngày càng không đáp ứng đƣợc thực tế đã làm phát triển một khuynh hƣớng kỹ thuật mới đó là kỹ thuật phát hiện tri thức và khai phá dữ liệu. Tôi xin giới thiệu một cách tổng quan về phát hiện tri thức và khai phá dữ liệu cùng một số kỹ thuật cơ bản để trong khai phá dữ liệu để phát hiện tri thức và một số ứng dụng trong thực tế nhằm hỗ trợ cho tiến trình ra quyết định. Khai phá dữ liệu (Data Mining) hay có thể hiểu là phát hiện tri thức (Knowledge Discovery) có rất nhiều khái niệm khác nhau nhƣng về cơ bản đó là quá trình tự động trích xuất thông tin có giá trị (thông tin dự đoán - Predictive Information) ẩn chứa trong lƣợng dữ liệu lớn trong thực tế. Nó bao hàm một loạt các kỹ thuật nhằm phát hiện ra các thông tin có giá trị tiềm ẩn trong các tập dữ liệu lớn (các kho dữ liệu).
Về bản chất, nó liên quan đến việc phân tích các dữ liệu và sử dụng các kỹ thuật để tìm ra các mẫu hình có tính chính quy (regularities) trong tập dữ liệu. Khai phá dữ liệu là một tiến trình sử dụng các công cụ phân tích dữ liệu khác nhau để khám phá ra các mẫu dƣới nhiều góc độ khác nhau nhằm phát hiện ra các mối quan hệ giữa các dữ kiện, đối tƣợng bên trong cơ sở dữ liệu, kết quả của việc khai phá là xác định các mẫu hay các mô hình đang tồn tại bên trong, nhƣng chúng nằm ẩn khuất ở các cơ sở dữ liệu. Để từ đó rút trích ra đƣợc các mẫu, các mô hình hay 10 các thông tin và tri thức từ các cơ sở dữ liệu. Để hình dung rõ hơn Data Mining là gì có thể hiểu đơn giản nó chính là một phần của quá trình trích xuất những dữ liệu có giá trị tốt, loại bỏ dữ liệu giá trị xấu trong rất nhiều thông tin trên Internet và các nguồn dữ liệu đang có.2 C c bƣ c trong khai phá dữ li u Qúa trình phát hiện tri thức gồm 6 giai đoạn [1] đƣợc thể hiện nhƣ hình sau: Hình 1.
C c bƣ c trong khai phá dữ li u Đầu vào là dữ liệu thô đƣợc lấy từ internet và đầu ra là các thông tin có giá trị. (1) Gom dữ liệu: Tập hợp dữ liệu là bƣớc đầu tiên trong quá trình khai phá dữ liệu. Đây là bƣớc đƣợc khai thác trong một cơ sở dữ liệu, một kho dữ liệu và thậm chí các dữ liệu từ các nguồn ứng dụng Web. 11 (2) Trích lọc dữ liệu: Ở giai đoạn này 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 phục vụ mục đích khai thác.
(3) Làm sạch, tiền xử lý và chuẩn bị trƣớc dữ liệu: Đối với dữ liệu thu thập đƣợc, cần xác định các vấn đề ảnh hƣởng là cho nó không sạch. Bởi vì, dữ liệu không sạch (những dữ liệu không đầy đủ, nhiễu, không nhất quán) thì các tri thức khám phá đƣợc sẽ bị ảnh hƣởng và không đáng tin cậy, dẫn tới các quyết định thiếu chính xác. Vậy, cần gán các giá trị thuộc tính còn thiếu, sữa chữa các dữ liệu nhiễu, lỗi, xác định loại bỏ các giá trị ngoại lai, giải quyết các mâu thuẫn dữ liệu. 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.
Đây là một quá trình rất quan trọng vì dữ liệu này nếu không đƣợc “làm sạch - tiền xử lý dữ liệu” thì sẽ gây nên những kết quả sai lệch nghiêm trọng. (4) Chuyển đổi dữ liệu: Tiếp theo là giai đoạn chuyển đổi dữ liệu, dữ liệu đƣa ra có thể sử dụng và điều khiển đƣợc bởi việc tổ chức lại nó, tức là dữ liệu sẽ đƣợc chuyển đổi về dạng thuận lợi nhất nhằm phục vụ quá trình khai phá ở bƣớc sau. (5) Khai phá 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. Đâ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 toàn quá trình khai phá dữ liệu. (6) Đánh giá các luật và biểu diễn tri thức: Ở giai đoạn này, 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,… 12 Đồ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. Trên đây là 6 giai đoạn của quá trình phát hiện tri thức, trong đó giai đoạn 5 khai phá dữ liệu (hay còn gọi đó là Data Mining) là giai đoạn đƣợc đánh giá là quan trọng nhất.3 Các kỹ thu t áp dụng trong khai phá dữ li u Đứng trên quan điểm của học máy, thì các kỹ thuật trong KPDL, bao gồm: Học có giám sát: Là quá trình gán nhãn cho các phần tử trong CSDL dựa trên một tập các ví dụ huấn luyện và các thông tin về nhãn đã biết. Học không có giám sát: Là quá trình phân chia một tập dữ liệu thành các lớp hay cụm dữ liệu tƣơng tự nhau mà chƣa biết trƣớc các thông tin về lớp hay tập các ví dụ huấn luyện.
Học nửa giám sát: Là quá trình phân chia một tập dữ liệu thành các lớp dựa trên một tập nhỏ các ví dụ huấn luyện và các thông tin về một số nhãn lớp đã biết trƣớc. Nếu căn cứ vào lớp các bài toán cần giải quyết, thì KPDL bao gồm các kỹ thuật áp dụng sau: - Kĩ thuật khai phá dữ liệu mô tả: 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 cơ sở dữ liệu hiện có. Các kĩ thuật này có thể liệt kê: phân cụm (clustering), tóm tắt (summerization), trực quan hóa (visualization), phân tích sự phát hiện biến đổi và độ lệch, phân tích luật kết hợp (association rules).; - Kĩ thuật khai phá dữ liệu dự đoán: 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. Các kĩ thuật này gồm có: phân lớp (classification), hồi quy (regression).; 13 3 phƣơng pháp thông dụng nhất trong khai phá dữ liệu là: phân cụm dữ liệu, phân lớp dữ liệu và khai phá luật kết hợp.
Ta sẽ xem xét từng phƣơng pháp: Phân cụm dữ liệu là 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 cụm 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 cụm dữ liệu là một ví dụ của phƣơng pháp học không giám sát. Không giống nhƣ phân loại dữ liệu, phân cụm dữ liệu không đòi hỏi phải định nghĩa trƣớc các mẫu dữ liệu huấn luyện. Vì thế, có thể coi phân cụm dữ liệu là một cách học bằng quan sát (learning by observation), trong khi phân loại dữ liệu là học bằng ví dụ (learning by example).
Trong phƣơng pháp này bạn sẽ không thể biết kết quả các cụm thu đƣợc sẽ nhƣ thế nào khi bắt đầu quá trình. Vì vậy, thông thƣờng cần có một chuyên gia về lĩnh vực đó để đánh giá các cụm thu đƣợc. Phân cụm dữ liệu đƣợc sử dụng nhiều trong các ứng dụng về phân đoạn thị trƣờng, phân đoạn khách hàng, nhận dạng mẫu, phân loại trang Web… Ngoài ra phân cụm dữ liệu còn có thể đƣợc sử dụng nhƣ một bƣớc tiền xử lí cho các thuật toán khai phá dữ liệu khác. Phân lớp dữ liệu là xếp một đối tƣợng vào một trong những lớp đã biết trƣớc.
Ví dụ nhƣ phân lớp các dữ liệu bệnh nhân trong hồ sơ bệnh án. 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, mạng nơron nhân tạo,. Phân lớp dữ liệu còn đƣợc gọi là học có giám sát. Quá trình phân lớp dữ liệu thƣờng gồm 2 bƣớc xây dựng mô hình và sử dụng mô hình để phân lớp dữ liệu.
Bƣớc 1: Một mô hình sẽ đƣợc xây dựng dựa trên việc phân tích các mẫu dữ liệu sẵn có. Mỗi mẫu tƣơng ứng với một lớp, đƣợc quyết định bởi một thuộc tính gọi là thuộc tính lớp. Các mẫu dữ liệu này còn đƣợc gọi là tập dữ liệu huấn luyện (training data set). Các nhãn của tập dữ liệu huấn luyện đều 14 phải đƣợc xác định trƣớc khi xây dựng mô hình, vì vậy phƣơng pháp này còn đƣợc gọi là học có thầy (supervised learning) khác với phân cụm dữ liệu là học không có thầy (unsupervised learning).