Giáo sư Tom Mitchell đã đưa ra định nghĩa của khai phá dữ liệu nhưsau: “khai phá dữ liệu là việc sử dụng dữ liệu lịch sử để khám phá những quitắc và cải thiện những quyết định trong tươn
Trang 1CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG
TP HCM, năm 2012
Trang 2Phần I: Tổng Quan Về khai phá Dữ Liệu 3
I Giới thiệu về khai phá Dữ Liệu 3
II Quá trình khám phá tri thức 4
1 Các bước trong quá trình khám phá tri thức 4
2 Khái niệm khai phá dữ liệu 6
3 Các bước trong khai phá dữ liệu 7
4 Nhiệm vụ chính trong khai phá dữ liệu 8
5 Các phương pháp khai phá dữ liệu 10
III Phương pháp rút gọn thuộc tính từ một hệ thông tin 16
1 Khái niệm 16
2 Ma trận phân biệt và hàm phân biệt 16
Phần 2: Ứng Dụng Tìm Kiếm Các Rút Gọn Từ Một Hệ Thông Tin 18
I Giới thiệu tổng quan về ứng dụng 18
II Tổng quan về cách hiện thực ứng dụng 20
Tài liệu tham khảo 27
Trang 4Phần I: Tổng Quan Về khai phá Dữ Liệu
I Giới thiệu về khai phá Dữ Liệu
Thời đại hiện nay là thời đại bùng nổ thông tin, mọi thứ đều có thể biểudiễn và thể hiện bằng thông tin một cách rõ ràng và chính xác Mọi lĩnh vực,mọi ngành nghề, mọi thứ đều có những kho dữ liệu dữ trữ khổng lồ Khác vớinhững thế kỷ trước, thông tin và cách tiếp cận thông tin còn hạn chế, thì giờđây vô cùng dễ dàng để tiếp cận thông tin và số lượng thông tin là vô tận Vànhững thông tin đó là cực kỳ có ích nếu chúng ta biết cách tìm kiếm, chắt lọc
và thu thập được những tri thức từ những thông tin này, nó sẽ là một nguồnlợi vô cùng to lớn cho công tác nghiên cứu, cũng như có thể áp dụng rộng rãitrong các ngành kinh doanh Nó đặt ra một bài tóan cũng như là một tháchthức trong việc khai phá những dữ liệu đó và biến chúng thành những tri thức
có lợi cho con người Chính vì lý do đó mà ngành khoa học chuyên nghiêncứu về các cách thức để khai phá những dữ liệu có ích từ trong những khối
dữ liệu khổng lồ đã ra đời
Giáo sư Tom Mitchell đã đưa ra định nghĩa của khai phá dữ liệu nhưsau: “khai phá dữ liệu là việc sử dụng dữ liệu lịch sử để khám phá những quitắc và cải thiện những quyết định trong tương lai.” Với một cách tiếp cận ứngdụng hơn, Tiến sĩ Fayyad đã phát biểu: “khai phá dữ liệu, thường được xem
là việc khám phá tri thức trong các cơ sở dữ liệu, là một quá tŕnh trích xuấtnhững thông tin lẩn, trước đây chưa biết và có khả năng hữu ích, dưới dạngcác qui luật, ràng buộc, qui tắc trong cơ sở dữ liệu.” Nói tóm lại, khai phá dữliệu là một quá tŕnh học tri thức mới từ những dữ liệu đă thu thập được
Khai phá dữ liệu là một bước của quá trình khai phá tri thức (Knowledge
Discovery Process), bao gồm:
Xác định vấn đề và không gian dữ liệu để giải quyết vấn đề (Problem
understanding and data understanding)
Chuẩn bị dữ liệu (Data preparation), bao gồm các 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)
Trang 5 Khai phá dữ liệu (Data mining): 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 tri thức
thô
Đánh giá (Evaluation): dựa trên một số tiêu chí tiến hành kiểm tra và
lọc nguồn tri thức thu được
Triển khai (Deployment)
Quá trình khai 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 trở lại cácbước đã qua
II Quá trình khám phá tri thức
1 Các bước trong quá trình khám phá tri thức
Quá trình khám phá tri thức là một chuỗi lặp gồm các bước:
Data cleaning (làm sạch dữ liệu) Data cleaning (làm sạch dữ liệu)
Data cleaning (làm sạch dữ liệu) Data integration (tích hợp dữ liệu)
Data cleaning (làm sạch dữ liệu) Data selection (chọn lựa dữ liệu)
Data cleaning (làm sạch dữ liệu) Data transformation (biến đổi dữ liệu)
Data cleaning (làm sạch dữ liệu) Data mining (khai phá dữ liệu)
Data cleaning (làm sạch dữ liệu) Pattern evaluation (đánh giá mẫu)
Data cleaning (làm sạch dữ liệu) Knowledge presentation (biểu diễn tri thức)
Quá trình khám phá tri thức là một chuỗi lặp gồm các bước được thựcthi với:
Data cleaning (làm sạch dữ liệu) Data sources (các nguồn dữ liệu)
Data cleaning (làm sạch dữ liệu) Data warehouse (kho dữ liệu)
Data cleaning (làm sạch dữ liệu) Task-relevant data (dữ liệu cụ thể sẽ được khai phá)
Data cleaning (làm sạch dữ liệu) Patterns (mẫu kết quả từ khai phá dữ liệu)
Data cleaning (làm sạch dữ liệu) Knowledge (tri thức đạt được)
Trang 6Data mining Input data Preprocessing Postprocessing Results
Operational Database
Sel ect ion
Sel ect ion
Utilization
Cleaned Verified Focused
Eval of interes- tingness
Raw data
Time based selection
Selected usable patterns
Trang 72 Khái niệm khai phá dữ liệu
Khai phá dữ liệu nhằm rút trích thông tin hữu ích, chưa biết, tiềm ẩn,phân tích dữ liệu bán tự động, giải thích dữ liệu trên các tập dữ liệu lớn
Khai phá dữ liệu- Datamining, là một bước của tiến trình KDD ( KnowledgeDiscovery in Database), cung cấp tri thức hỗ trợ ra quyết định, dự báo và kháiquát dữ liệu
Lượng lớn dữ liệu sẵn có để khai phá, bất kỳ loại dữ liệu được lưu trữhay tạm thời, có cấu trúc hay bán cấu trúc hay phi cấu trúc:
Dữ liệu được lưu trữ
Các tập tin truyền thống (flat files)
Các cơ sở dữ liệu quan hệ (relational databases) hay quan hệ đốitượng (object relational databases)
Các cơ sở dữ liệu giao tác (transactional databases) hay kho dữ liệu(data warehouses)
Các cơ sở dữ liệu hướng ứng dụ ng:
Cơ sở dữ liệu không gian (spatial databases), cơ sở dữ liệu thời gian(temporal databases), cơ sở dữ liệu không thời gian (spatio-temporaldatabases), cơ sở dữ liệu chuỗi thời gian (time series databases), cơ
sở dữ liệu văn bản (text databases), cơ sở dữ liệu đa phương tiện(multimedia databases), …
Các kho thông tin: the World Wide Web, …
Dữ liệu tạm thời: các dòng dữ liệu (data streams)
Các ứng dụng và chức năng của khai phá dữ liệu
- Phân tích dữ liệu, hỗ trợ ra quyết định
- Phân tích quản lý thị trường
- Quản lý phân tích rủi ro
- Quản lý và phân tích các sai hỏng
- Các ứng dụng khác như: khai phá văn bản, phân chia tài liệu Web,điều trị y học, tài chính, bảo hiểm
Trang 8- Chức năng của khai phá dữ liệu
- Mô tả khái niệm
- Luật kết hợp
- Phân lớp và dự đoán
- Gom cụm
- Khai phá chuỗi
3 Các bước trong khai phá dữ liệu
Bước thứ nhất: Hình thành, xác định và định nghĩa bài toán là tìm hiểu lĩnh
vực ứng dụng từ đó hình thành bài toán, xác định các nhiệm vụ cần phảihoàn thành 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
Bước thứ hai: Thu thập và tiền xử lý dữ liệu 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 (làm sạch dữ liệu), xử lý việcthiếu dữ liệu (làm giàu dữ liệu), biến đổi dữ liệu và rút gọn dữ liệu nếu cầnthiết, bước này thường chiếm nhiều thời gian nhất trong toàn bộ qui trìnhphát hiện tri thức Do dữ liệu được lấy từ nhiều nguồn khác nhau, khôngđồng nhất… có thể gây ra các nhầm lẫn Sau bước này, dữ liệu sẽ nhấtquán, đầy đủ, được rút gọn và rời rạc hoá
Bước thứ ba: Khai phá dữ liệu, rút ra các tri thức 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 rất quan trọng, bao gồm các công đoạn như: chức năng, nhiệm
vụ và mục đích của khai phá dữ liệu, dùng phương pháp khai phá nào?Thông thường, các bài toán khai phá dữ liệu bao gồm: các bài toán mangtính mô tả – đưa ra tính chất chung nhất của dữ liệu, các bài toán dự báo -bao gồm cả việc phát hiện các suy diễn dựa trên dữ liệu hiện có Tuỳ theo bàitoán xác định được mà ta lựa chọn các phương pháp khai phá dữ liệu chophù hợp
Bước thứ tư: Sử dụng các tri thức phát hiện được 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 Các bước trên có thể lặp
Trang 9đ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 Các kết quả của quá trình phát hiện tri thức có thể đượcđưa và ứng dụng trong các lĩnh vực khác nhau Do các kết quả có thể là các
dự đoán hoặc các mô tả nên chúng có thể được đưa vào các hệ thống hỗ trợ
ra quyết định nhằm tự động hoá quá trình này
Tóm lại: KDD là một quá trình kết xuất ra tri thức từ kho dữ liệu mà trong
đó khai phá dữ liệu là công đoạn quan trọng nhất
4 Nhiệm vụ chính trong khai phá dữ liệu
Quá trình khai phá dữ liệu là quá trình phát hiện ra mẫu thông tin Trong
đó, giải thuật khai phá tìm kiếm các mẫu đáng quan tâm theo dạng xác địnhnhư các luật, phân lớp, hồi quy, cây quyết định
a Phân lớp (phân loại - classification)
Là việc xác định một hàm ánh xạ từ một mẫu dữ liệu vào một trong sốcác lớp đã được biết trước đó Mục tiêu của thuật toán phân lớp là tìm ra mốiquan hệ nào đó giữa thuộc tính dự báo và thuộc tính phân lớp Như thế quátrình phân lớp có thể sử dụng mối quan hệ này để dự báo cho các mục mới.Các kiến thức được phát hiện biểu diễn dưới dạng các luật theo cách sau:
“Nếu các thuộc tính dự báo của một mục thoả mãn điều kiện của các tiền đềthì mục nằm trong lớp chỉ ra trong kết luận”
Ví dụ: Một mục biểu diễn thông tin về nhân viên có các thuộc tính dựbáo là: họ tên, tuổi, giới tính, trình độ học vấn… và thuộc tính phân loại làtrình độ lãnh đạo của nhân viên
b Hồi qui (regression)
Là việc học một hàm ánh xạ từ một mẫu dữ liệu thành một biến dự đoán
có giá trị thực Nhiệm vụ của hồi quy tương tự như phân lớp, điểm khác nhauchính là ở chỗ thuộc tính để dự báo là liên tục chứ không phải rời rạc Việc
dự báo các giá trị số thường được làm bởi các phương pháp thống kê cổđiển, chẳng hạn như hồi quy tuyến tính Tuy nhiên, phương pháp mô hìnhhoá cũng được sử dụng, ví dụ: cây quyết định
Ứng dụng của hồi quy là rất nhiều, ví dụ: dự đoán số lượng sinh vật phátquang hiện thời trong khu rừng bằng cách dò tìm vi sóng bằng các thiết bị
Trang 10cảm biến từ xa; ước lượng sác xuất người bệnh có thể chết bằng cách kiểmtra các triệu chứng; dự báo nhu cầu của người dùng đối với một sản phẩm…
c Phân nhóm (clustering)
Là việc mô tả chung để tìm ra các tập hay các nhóm, loại mô tả dữ liệu.Các nhóm có thể tách nhau hoặc phân cấp hay gối lên nhau Có nghĩa là dữliệu có thể vừa thuộc nhóm này lại vừa thuộc nhóm khác Các ứng dụng khaiphá dữ liệu có nhiệm vụ phân nhóm như phát hiện tập các khách hàng cóphản ứng giống nhau trong CSDL tiếp thị; xác định các quang phổ từ cácphương pháp đo tia hồng ngoại… Liên quan chặt chẽ đến việc phân nhóm lànhiệm vụ đánh giá dữ liệu, hàm mật độ xác suất đa biến/ các trường trongCSDL
đề thì mục đó có tất cả các thuộc tính đã nêu trong kết luận” Lưu ý rằng luậtdạng này có các khác biệt so với luật phân lớp Luật phát hiện đặc trưng cholớp chỉ sản sinh khi các mục đã thuộc về lớp đó
e Mô hình hoá sự phụ thuộc (dependency modeling)
Là việc tìm kiếm một mô hình mô tả sự phụ thuộc giữa các biến, thuộctính theo hai mức: Mức cấu trúc của mô hình mô tả (thường dưới dạng đồthị) Trong đó, các biến phụ thuộc bộ phận vào các biến khác Mức địnhlượng mô hình mô tả mức độ phụ thuộc Những phụ thuộc này thường đượcbiểu thị dưới dạng theo luật “nếu - thì” (nếu tiền đề là đúng thì kết luận đúng)
Về nguyên tắc, cả tiền đề và kết luận đều có thể là sự kết hợp logic của cácgiá trị thuộc tính Trên thực tế, tiền đề thường là nhóm các giá trị thuộctính và kết luận chỉ là một thuộc tính Hơn nữa hệ thống có thể pháthiện các luật phân lớp trong đó tất cả các luật cần phải có cùng một thuộctính do người dùng chỉ ra trong kết luận Quan hệ phụ thuộc cũng có thể biểu
Trang 11diễn dưới dạng mạng tin cậy Bayes Đó là đồ thị có hướng, không chu trình.Các nút biểu diễn thuộc tính và trọng số của liên kết phụ thuộc giữa các nút
đó
f Phát hiện sự biến đổi và độ lệch (change and deviation dectection)
Nhiệm vụ này tập trung vào khám phá hầu hết sự thay đổi có nghĩa dướidạng độ đo đã biết trước hoặc giá trị chuẩn, phát hiện độ lệch đáng kể giữanội dung của tập con dữ liệu thực và nội dung mong đợi Hai mô hình độ lệchhay dùng là lệch theo thời gian hay lệch theo nhóm Độ lệch theo thời gian là
sự thay đổi có ý nghĩa của dữ liệu theo thời gian Độ lệch theo nhóm là sựkhác nhau của giữa dữ liệu trong hai tập con dữ liệu, ở đây tính cả trườnghợp tập con dữ liệu này thuộc tập con kia, nghĩa xác định dữ liệu trong mộtnhóm con của đối tượng có khác đáng kể so với toàn bộ đối tượng không?Theo cách này, sai sót dữ liệu hay sai lệch so với giá trị thông thường được phát hiện Vì những nhiệm vụ này yêu cầu số lượng và các dạng thông tinrất khác nhau nên chúng thường ảnh hưởng đến việc thiết kế và chọnphương pháp khai phá dữ liệu khác nhau Ví dụ như phương pháp cây quyếtđịnh (sẽ được trình bày dưới đây) tạo ra được một mô tả phân biệt được cácmẫu giữa các lớp nhưng không có tính chất và đặc điểm của lớp
5 Các phương pháp khai phá dữ liệu
Khai phá dữ liệu là lĩnh vực mà con người luôn tìm cách đạt được mựcđích sử dụng thông tin của mình Quá trình khai phá dữ liệu là quá trình pháthiện mẫu, trong đó phương pháp khai phá dữ liệu để tìm kiếm các mẫu đángquan tâm theo dạng xác định Có thể kể ra đây một vài phương pháp như: sửdụng công cụ truy vấn, xây dựng cây quyết định, dựa theo khoảng cách (K-means), giá trị trung bình, phát hiện luật kết hợp… Các phương pháp trên cóthể được phỏng theo và được tích hợp vào các hệ thống lai để khai phá dữliệu theo thống kê trong nhiều năm nghiên cứu
Tuy nhiên, với dữ liệu rất lớn trong kho dữ liệu thì các phương pháp nàycũng đối diện với thách thức về mặt hiệu quả và quy mô
a Các thành phần của giải thuật khai phá dữ liệu
Trang 12Giải thuật khai phá dữ liệu bao gồm 3 thành phần chính như sau: biểudiễn mô hình, kiểm định mô hình và phương pháp tìm kiếm
Biểu diễn mô hình: Mô hình được biểu diễn theo một ngôn ngữ L nào đó để
miêu tả các mẫu có thể khai thác được Mô tả mô hình rõ ràng thì học máy sẽtạo ra mẫu có mô hình chính xác cho dữ liệu Tuy nhiên, nếu mô hình quá lớnthì khả năng dự đoán của học máy sẽ bị hạn chế Như thế sẽ làm cho việctìm kiếm phức tạp hơn cũng như hiểu được mô hình là không đơn giản hoặc
sẽ không thể có các mẫu tạo ra được một mô hình chính xác cho dữ liệu Ví
dụ mô tả cây quyết định sử dụng phân chia các nút theo 1 trường dữ liệu,chia không gian đầu vào thành các siêu phẳng song song với trục các thuộctính Phương pháp cây quyết định như vậy không thể khai phá được dữ liệudạng công thức X = Y dù cho tập học có quy mô lớn thế nào đi nữa Vì vậy,việc quan trọng là người phân tích dữ liệu cần phải hiểu đầy đủ các giả thiếtmiêu tả Một điều cũng khá quan trọng là người thiết kế giải thuật cũng phảidiễn tả được các giả thiết mô tả nào được tạo ra bởi giải thuật nào Khả năngmiêu tả mô hình càng lớn thì càng làm tăng mức độ nguy hiểm do bị học quá
và làm giảm đi khả năng dự đoán các dữ liệu chưa biết Hơn nữa, việc tìmkiếm sẽ càng trở lên phức tạp hơn và việc giải thích mô hình cũng khó khănhơn Mô hình ban đầu được xác định bằng cách kết hợp biến đầu ra (phụthuộc) với các biến độc lập mà biến đầu ra phụ thuộc vào Sau đó phải tìmnhững tham số mà bài toán cần tập trung giải quyết Việc tìm kiếm mô hình
sẽ đưa ra được một mô hình phù hợp với tham số được xác định dựa trên dữliệu (trong một số trường hợp khác thì mô hình và các tham số lại thay đổi đểphù hợp với dữ liệu) Trong một số trường hợp, tập các dữ liệu được chiathành tập dữ liệu học và tập dữ liệu thử Tập dữ liệu học được dùng để làmcho tham số của mô hình phù hợp với dữ liệu Mô hình sau đó sẽ được đánhgiá bằng cách đưa các dữ liệu thử vào mô hình và thay đổi các tham số chophù hợp nếu cần Mô hình lựa chọn có thể là phương pháp thống kê nhưSASS… một số giải thuật học máy (ví dụ như cây quyết định và các quyếtđịnh học có thầy khác), mạng neuron, suy diễn hướng tình huống (casebased reasoning), các kỹ thuật phân lớp
Trang 13Kiểm định mô hình (model evaluation): Là việc đánh giá, ước lượng các
mô hình chi tiết, chuẩn trong quá trình xử lý và phát hiện tri thức với sự ướclượng có dự báo chính xác hay không và có thoả mãn cơ sở logic haykhông? Ước lượng phải được đánh giá chéo (cross validation) với việc mô tảđặc điểm bao gồm dự báo chính xác, tính mới lạ, tính hữu ích, tính hiểu đượcphù hợp với các mô hình Hai phương pháp logic và thống kê chuẩn có thể
sử dụng trong mô hình kiểm định
Phương pháp tìm kiếm: Phương pháp này bao gồm hai thành phần: tìm
kiếm tham số và tìm kiếm mô hình Trong tìm kiếm tham số, giải thuật cần tìmkiếm các tham số để tối ưu hóa các tiêu chuẩn đánh giá mô hình với các dữliệu quan sát được và với một mô tả mô hình đã định Việc tìm kiếm khôngcần thiết đối với một số bài toán khá đơn giản: các đánh giá tham số tối ưu cóthể đạt được bằng các cách đơn giản hơn Đối với các mô hình chung thìkhông có các cách này, khi đó giải thuật “tham lam” thường được sử dụnglặp đi lặp lại Ví dụ như phương pháp giảm gradient trong giải thuật lan truyềnngược (backpropagation) cho các mạng neuron Tìm kiếm mô hình xảy ragiống như một vòng lặp qua phương pháp tìm kiếm tham số: mô tả mô hình
bị thay đổi tạo nên một họ các mô hình Với mỗi một mô tả mô hình, phươngpháp tìm kiếm tham số được áp dụng để đánh giá chất lượng mô hình Cácphương pháp tìm kiếm mô hình thường sử dụng các kỹ thuật tìm kiếmheuristic vì kích thước của không gian các mô hình có thể thường ngăn cảncác tìm kiếm tổng thể, hơn nữa các giải pháp đơn giản (closed form) không
dễ đạt được
b Phương pháp suy diễn / quy nạp
Một cơ sở dữ liệu là một kho thông tin nhưng các thông tin quan trọnghơn cũng có thể được suy diễn từ kho thông tin đó Có hai kỹ thuật chính đểthực hiện việc này là suy diễn và quy nạp
Phương pháp suy diễn: Nhằm rút ra thông tin là kết quả logic của các thông
tin trong cơ sở dữ liệu Ví dụ như toán tử liên kết áp dụng cho bảng quan hệ,bảng đầu chứa thông tin về các nhân viên và phòng ban, bảng thứ hai chứacác thông tin về các phòng ban và các trưởng phòng Như vậy sẽ suy rađược mối quan hệ giữa các nhân viên và các trưởng phòng Phương pháp