MỤC LỤC ------ Lời cảm ơn 2 Lý do chọn đề tài 3 I. Tổng quan về phát hiện tri thức và khai phá dữ liệu 4 1. Tổ chức và khai thác cơ sở dữ liệu truyền thông 4 2. Các bước phát triển mới của việc tổ chức và khai thác CSDL 4 3. Khai thác dữ liệu và quá trình phát hiện tri thức 7 II. Khai phá dữ liệu 11 1. Khai phá dữ liệu gì 14 2. Nhiệm vụ chính của khai phá dữ liệu 14 3. Các phương pháp khai phá dữ liệu 17 4. Lợi thế của khai phá dữ liệu so với các phương pháp cơ bản 17 5. Lựa chọn phương pháp 29 6. Những thách thức trong ứng dụng và nghiên cứu kỹ thuật khai phá dữ liệu 29 7. Hình ứng dụng khai phá dữ liệu 32
Trang 1TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT
KHOA CÔNG NGHỆ THÔNG TIN
- -Môn : Trí tuệ nhân tạo
NIÊN KHOÁ : 2011 -2012
Trang 2MỤC LỤC
-
-Lời cảm ơn 2
Lý do chọn đề tài 3
I Tổng quan về phát hiện tri thức và khai phá dữ liệu 4
1 Tổ chức và khai thác cơ sở dữ liệu truyền thông 4
2 Các bước phát triển mới của việc tổ chức và khai thác CSDL 4
3 Khai thác dữ liệu và quá trình phát hiện tri thức 7
II Khai phá dữ liệu 11
1 Khai phá dữ liệu gì 14
2 Nhiệm vụ chính của khai phá dữ liệu 14
3 Các phương pháp khai phá dữ liệu 17
4 Lợi thế của khai phá dữ liệu so với các phương pháp cơ bản 17
5 Lựa chọn phương pháp 29
6 Những thách thức trong ứng dụng và nghiên cứu kỹ thuật khai phá dữ liệu 29
7 Hình ứng dụng khai phá dữ liệu 32
Trang 3Chủ Tịch Hồ Chí Minh đã nói: “ Non sông việt nam có trở nên vẻ vang haykhông, dân tộc việt nam có thể sánh vai với cường quốc năm châu được hay không,chính là nhờ công học tập của các cháu” Như vậy, công tác giáo dục nói chung vàgiáo dục các hệ cao đẳng, đại học nói riêng đóng vai trò vô cùng quan trọng trongcông cuộc xây dương đất nước.
Dưới sự hướng dẫn tận tình của thầy Lữ Nhật Vinh, chúng em đã hoàn thànhxong đề tài “ Phát hiện tri thức và khai thác dữ liệu” Trong quá trình làm đề tàicũng không thể tránh những thiếu xót vì thế chúng em mong thầy xem xét và gópý
Em xin chân thành cám ơn!
Trang 4LÝ DO CHỌN ĐỀ TÀI
Sự phát triển của công nghệ thông tin và việc ứng dụng công nghệ thông tin trong nhiều lĩnh vực của đời sống, kinh tế xã hội trong nhiều năm qua cũng đồng nghĩa với lượng dữ liệu đã được các cơ quan thu thập và lưu trữ ngày một tích luỹ nhiều lên Họ lưu trữ các dữ liệu này vì cho rằng trong nó ẩn chứa những giá trị nhất định nào đó Tuy nhiên, theo thống kê thì chỉ có một lượng nhỏ của những dữ liệu này (khoảng từ 5% đến 10%) là luôn được phân tích, số còn lại họ không biết
sẽ phải làm gì hoặc có thể làm gì với chúng nhưng họ vẫn tiếp tục thu thập rất tốn kém với ý nghĩ lo sợ rằng sẽ có cái gì đó quan trọng đã bị bỏ qua sau này có lúc cầnđến nó Mặt khác, trong môi trường cạnh tranh, người ta ngày càng cần có nhiều thông tin với tốc độ nhanh để trợ giúp việc ra quyết định và ngày càng có nhiều câuhỏi mang tính chất định tính cần phải trả lời dựa trên một khối lượng dữ liệu khổng
lồ đã có Với những lý do như 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 (KDD - Knowledge Discovery and Data Mining)
Kỹ thuật phát hiện 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 bài viết này, tác giả sẽ trình bày một cách tổng quan về Kỹ thuật phát hiện tri thức và khai phá dữ liệu Trên cơ sở đó đưa ra một bài toán dự báo về dân số thế giới và giải quyết bài toán bằng phương pháp hồi qui đơn nhằm cung cấp cho bạn đọc một cách nhìn khái quát về kỹ thuật mới này cũng như mối tương quan với phương pháp thống kê truyền thống
Vì vậy nhóm chúng em đã quyết định chọn đề tài “Phát hiện tri thức và
khai phá dữ liệu (KDD - Knowledge Discovery and Data Mining)” này!
Trang 5TỔNG QUAN VỀ PHÁT HIỆN TRI THỨC VÀ KHAI PHÁ
DỮ LIỆU (KDD - Knowledge Discovery and Data Mining)
1 TỔ CHỨC VÀ KHAI THÁC CƠ SỞ DỮ LIỆU TRUYỀN THỐNG
Việc dùng các phương tiện tin học để tổ chức và khai thác các cơ sở dữ liệu đã được phát triển từ những năm 60 Từ đó cho đến nay, rất nhiều cơ sở dữ liệu đã được tổ chức, phát triển và khai thác ở mọi quy mô và ở khắp các lĩnh vực hoạt động của con người và xã hội Theo như đánh giá cho thấy, lượng thông tin trên thếgiới cứ sau 20 tháng lại tăng gấp đôi Kích thước và số lượng cơ sở dữ liệu thậm chí còn tăng nhanh hơn Năm 1989, tổng số cơ sở dữ liệu trên thế giới vào khoảng
5 triệu, hầu hết đều là các cơ sở dữ liệu cỡ nhỏ được phát triển trên DBaseIII Với
sự phát triển mạnh mẽ của công nghệ điện tử tạo ra các bộ nhớ có dung lượng lớn,
bộ xử lý tốc độ cao cùng với các hệ thống mạng viễn thông, người ta đã xây dựng các hệ thống thông tin nhằm tự động hóa mọi hoạt động kinh doanh của mình Điềunày đã tạo ra một dòng dữ liệu tăng lên không ngừng vì ngay từ các giao dịch đơn giản nhất như một cuộc gọi điện thoại, kiểm tra sức khỏe, sử dụng thẻ tín dụng, v.v… đều được ghi vào trong máy tính Cho đến nay, con số ày đã trở nên khổng
lồ, bao gồm các cơ sở dữ liệu cực lớn cỡ gigabytes và thậm chí terabytes lưu trữ các dữ liệu kinh doanh, ví dụ như dữ liệu thông tin khách hàng, dữ liệu lịch sử các giao dịch, dữ liệu bán hàng, dữ liệu các tài khoản, các khoản vay, sử dụng vốn, … Nhiều hệ quản trị cơ sở dữ liệu mạnh với các công cụ phong phú và thuận tiện đã giúp con người khai thác có hiệu quả các nguồn tài nguyên dữ liệu Mô hình cơ sở
dữ liệu quan hệ và ngôn ngữ vấn đáp chuẩn (SQL) đã có vai trò hết sức quan trọng trong việc tổ chức và khai thác các cơ sở dữ liệu đó Cho đến nay, không một tổ chức kinh tế nào là không sử dụng các hệ quản trị cơ sở dữ liệu và các hệ công cụ báo cáo, ngôn ngữ hỏi đáp nhằm khai thác các cơ sở dữ liệu phục vụ cho hoạt động tác nghiệp của mình
2 BƯỚC PHÁT TRIỂN MỚI CỦA VIỆC TỔ CHỨC VÀ KHAI THÁC
CÁC CSDL
Cùng với việc tăng không ngừng khối lượng dữ liệu, các hệ thống thông tin cũng được chuyên môn hóa, phân chia theo các lĩnh vực ứng dụng như sản xuất, tàichính, buôn bán thị trường v.v Như vậy, bên cạnh chức năng khai thác dữ liệu có tính chất tác nghiệp, sự thành công trong kinh doanh không còn là năng suất của các hệ thống thông tin nữa mà là tính linh hoạt và sẵn sàng đáp lại những yêu cầu trong thực tế, CSDL cần đem lại những “tri thức” hơn là chính những dữ liệu đó Các quyết định cần phải có càng nhanh càng tốt và phải chính xác dựa trên những
dữ liệu sẵn có trong khi khối lượng dữ liệu cứ sau 20 tháng lại tăng gấp đôi làm ảnhhưởng đến thời gian ra quyết định cũng như khả năng hiểu hết được nội dung dữ liệu Lúc này các mô hình CSDL truyền thống và ngôn ngữ SQL đã cho thấy không
Trang 6có khả năng thực hiện công việc này Để lấy được những thông tin có tính “tri thức” trong khối dữ liệu khổng lồ này, người ta đã đi tìm những kỹ thuật có khả năng hợp nhất các dữ liệu từ các hệ thống giao dịch khác nhau, chuyển đổi thành một tập hợp các cơ sở dữ liệu ổn định, có chất lượng, chỉ được sử dụng riêng cho một vài mục đích nào đó Các kỹ thuật đó được gọi chung là kỹ thuật tạo kho dữ liệu (data warehousing) và môi trường các dữ liệu có được gọi là các kho dữ liệu (data warehouse).
Kho dữ liệu là một môi trường có cấu trúc các hệ thống thông tin, cung cấp cho người dùng các thông tin khó có thể truy nhập hoặc biểu diễn trong các CSDL tác nghiệp truyền thống, nhằm mục đích hỗ trợ việc ra quyết định mang tính lịch sử
hoặc hiện tại Theo W.H.Inmon, có thể định nghĩa kho dữ liệu như sau: “Một kho
dữ liệu là một tập hợp dữ liệu tích hợp hướng chủ đề có tính ổn định, thay đổi theo thời gian nhằm hỗ trợ cho việc ra quyết định Nói cách khác, một kho dữ liệu bao gồm:
• Một hoặc nhiều công cụ để chiết xuất dữ liệu từ bất kỳ dạng cấu trúc dữ liệu nào.
• Cơ sở dữ liệu tích hợp hướng chủ đề ổn định được tổng hợp từ các dữ liệu bằng cách lập bảng dữ liệu của dữ liệu.”
Một kho dữ liệu có thể được coi là một hệ thống thông tin với những thuộc tính sau:
• Là một cơ sở dữ liệu được thiết kế có nhiệm vụ phân tích, sử dụng các dữ liệu
từ các ứng dụng khác nhau
Hỗ trợ cho một số người dùng có liên quan với các thông tin liên quan
• Là dữ liệu chỉ đọc
• Nội dung của nó được cập nhật thường xuyên theo cách thêm thông tin
• Chứa các dữ liệu lịch sử và hiện tại để cung cấp các xu hướng thông tin
• Chứa các bảng dữ liệu có kích thước lớn
• Một câu hỏi thường trả về một tập kết quả liên quan đến toàn bộ bảng và các liên kết nhiều bảng
Cấu trúc kho dữ liệu được xây dựng dựa trên hệ quản trị CSDL quan hệ, có chức
năng giống như một kho lưu trữ thông tin trung tâm Trong đó, dữ liệu tác nghiệp
và phần xử lý được tách riêng khỏi quá trình xử lý kho dữ liệu Kho lưu trữ trung
tâm được bao quanh bởi các thành phần được thiết kế để làm cho kho dữ liệu có thể
hoạt động, quản lý và truy nhập được từ người dùng đầu cuối cũn g như từ các nguồn dữ liệu
Trang 7Như trên Hình 1.1 cho thấy, kho dữ liệu bao gồm 7 thành phần:
• Dữ liệu nguồn (là các ứng dụng tác nghiệp hoặc các kho dữ liệu tác nghiệp)
và các công cụ chiết xuất, làm sạch và chuyển đổi dữ liệu
• Kho dữ liệu về dữ liệu (MetaData)
• Các kỹ thuật xây kho
• Kho dữ liệu thông minh hay dữ liệu theo chủ đề (Data marts): là nơi các dữ liệu được khoanh vùng theo chủ đề đến một giới hạn nào đó và có thể được thay
đổi cho phù hợp với nhu cầu của từng bộ phận người dùng Với các kho dữ liệu
này, cũng có thể xây dựng một kho dữ liệu theo cách tiếp cận từng giai đoạn kế
tiếp, nghĩa là với một tập hợp các kho dữ liệu thông minh, ta tạo ra một kho dữ liệu; ngược lại, một kho dữ liệu có thể được phân tích thành nhiều kho dữ liệu thông minh.
• Các công cụ vấn đáp (query), báo cáo (reporting), phân tích trực tiếp
(OLAP) và khai phá dữ liệu (data mining) Đây chính là các cách khai thác kho dữ liệu để đem lại những “tri thức” hơn là đem lại chính những dữ liệu thô Điểm
mạnh và yếu của các kỹ thuật này ta sẽ phân tích kỹ hơn ở những phần sau
• Quản trị kho dữ liệu
• Hệ thống phân phối thông tin
Nhưng chỉ có kho dữ liệu thôi thì chưa đủ để có các tri thức Như đã đề cập ở trên, các kho dữ liệu được sử dụng theo ba cách chính:
• Theo cách khai thác truyền thống, kho dữ liệu được sử dụng để khai thác các thông tin bằng các công cụ vấn đáp và báo cáo Tuy nhiên, nhờ có việc chiết xuất, tổng hợp và chuyển đổi từ các dữ liệu thô sang dạng các dữ liệu chất lượng cao và có tính ổn định, kho dữ liệu đã giúp cho việc nâng cao các kỹ thuật biểu diễn
Trang 8thông tin truyền thống (hỏi đáp và báo cáo) Bằng cách tạo ra một tầng ẩn giữa CSDL và người dùng, các dữ liệu đầu vào của các kỹ thuật này được đặt vào một nguồn duy nhất Việc hợp nhất này loại bỏ được rất nhiều lỗi sinh ra do việc phải thu thập và biểu diễn thông tin từ rất nhiều nguồn khác nhau cũng như giảm bớt được sự chậm trễ do phải lấy các dữ liệu bị phân đoạn trong các cơ sở dữ liệu khác nhau, tránh cho người dùng khỏi những câu lệnh SQL phức tạp Tuy nhiên, đây mới chỉ là cách khai thác với kỹ thuật cao để đưa ra các dữ liệu tinh và chính xác hơn chứ chưa đưa ra được dữ liệu “tri thức”.
• Thứ hai là các kho dữ liệu được sử dụng để hỗ trợ cho phân tích trực tuyến
(OLAP) Trong khi ngôn ngữ vấn đáp chuẩn SQL và các công cụ làm báo cáo truyền thống chỉ có thể mô tả những gì có trong CSDL thì phân tích trực tuyến có khả năng phân tích dữ liệu, xác định xem giả thuyết đúng hay sai Tuy nhiên, phân tích trực tuyến lại không có khả năng đưa ra được các giả thuyết
Hơn nữa, kích thước quá lớn và tính chất phức tạp của kho dữ liệu làm cho
nó rất khó có thể được sử dụng cho những mục đích như đưa ra các giả thuyết từ các thông tin mà chương trình ứng dụng cung cấp (ví dụ như khó có thể đưa ra được giả thuyết giải thích được hành vi của một nhóm khách hàng)
Trước đây, kỹ thuật học máy thường được sử dụng để tìm ra những giả thuyết từ các thông tin dữ liệu thu thập được Tuy nhiên, thực nghiệm cho thấy
chúng thể hiện khả năng rất kém khi áp dụng với các tập dữ liệu lớn trong kho dữ liệu này Phương pháp thống kê tuy ra đời đã lâu nhưng không có gì cải tiến để phù
hợp với sự phát triển của dữ liệu Đây chính là lý do tại sao một khối lượng lớn dữ
liệu vẫn chưa được khai thác và thậm chí được lưu trữ chủ yếu trong các kho dữ liệu không trực tuyến (off-line) Điều này tạo nên một lỗ hổng lớn trong việc hỗ trợ
phân tích và tìm hiểu dữ liệu, tạo ra khoảng cách giữa việc tạo ra dữ liệu và việc khai thác các dữ liệu đó.Trong khi đó, càng ngày người ta càng nhận thấy rằng, nếuđược phân tích thông minh thì dữ liệu sẽ là một nguồn tài nguyên quý giá trong cạnh tranh trên thương trường
• Thứ ba: Giới tin học đã đáp ứng lại những thách thức trong thực tiễn cũng như trong nghiên cứu khoa học bằng cách đã đưa ra một phương pháp mới trên kho
dữ liệu đáp ứng cả nhu cầu trong khoa học cũng như trong hoạt động thực tiễn Đó
chính là công nghệ Khai phá dữ liệu (data mining).
3 KHAI PHÁ DỮ LIỆU VÀ QUÁ TRÌNH PHÁT HIỆN TRI THỨC
Yếu tố thành công trong mọi hoạt động kinh doanh ngày nay là việc biết sử dụng thông tin một cách có hiệu quả Điều đó có nghĩa là từ các dữ liệu sẵn có, phải tìm ra những thông tin tiềm ẩn có giá trị mà trước đó chưa được phát hiện, tìm
ra những xu hướng phát triển và những yếu tố tác động lên chúng Thực hiện công
việc đó chính là thực hiện quá trình phát hiện tri thức trong cơ sở dữ liệu
Trang 9(Knowledge Discovery in Database – KDD) mà trong đó kỹ thuật cho phép ta lấy
được các tri thức chính là kỹ thuật khai phá dữ liệu (data mining).
Như John Naisbett đã nói “Chúng ta đang chìm ngập trong dữ liệu mà vẫn đói tri thức” Dữ liệu thường được cho bởi các giá trị mô tả các sự kiện, hiện tượng
cụ thể Còn tri thức (knowledge) là gì? Có thể có những định nghĩa rõ ràng để phân
biệt các khái niệm dữ liệu, thông tin và tri thức hay không? Khó mà định nghĩa chính xác nhưng phân biệt chúng trong những ngữ cảnh nhất định là rất cần thiết và
có thể làm được Thông tin là một khái niệm rất rộng, khó có thể đưa ra một định nghĩa chính xác cho khái niệm này Cũng không thể định nghĩa cho khái niệm tri thức cho dù chỉ hạn chế trong phạm vi những tri thức được chiết xuất từ các CSDL.Tuy nhiên, ta có thể hiểu tri thức là một biểu thức trong một ngôn ngữ nào đó diễn
tả một (hoặc nhiều) mối quan hệ giữa các thuộc tính trong các dữ liệu đó Các ngônngữ thường được dùng để biểu diễn tri thức (trong việc phát hiện tri thức từ các CSDL) là các khung (frames), các cây và đồ thị, các luật (rules), các công thức trong ngôn ngữ logic mệnh đề hoặc tân từ cấp một, các hệ thống phương trình, v.v…, ví dụ như ta có các luật mô tả các thuộc tính của dữ liệu, các mẫu thường xuyên xảy ra, các nhóm đối tượng trong cơ sở dữ liệu, v.v…
Hình 1.2 Quá trình phát hiện tri thức
Phát hiện tri thức từ CSDL là một quá trình có sử dụng nhiều phương pháp
và công cụ tin học nhưng vẫn là một quá trình mà trong đó con người là trung tâm
Do đó, nó không phải là một hệ thống phân tích tự động mà là một hệ thống bao gồm nhiều hoạt động tương tác thường xuyên giữa con người và CSDL, tất nhiên làvới sự hỗ trợ của các công cụ tin học Người sử dụng hệ thống ở đây phải là người
có kiến thức cơ bản về lĩnh vực cần phát hiện tri thức để có thể chọn được đúng cáctập con dữ liệu, các lớp mẫu phù hợp và đạt tiêu chuẩn quan tâm so với mục đích Tri thức mà ta nói ở đây là các tri thức rút ra từ các CSDL, thường để phục vụ cho việc giải quyết một loạt nhiệm vụ nhất định trong một lĩnh vực nhất định Do đó,
Trang 10quá trình phát hiện tri thức cũng mang tính chất hướng nhiệm vụ, không phải là phát hiện mọi tri thức bất kỳ mà là phát hiện tri thức nhằm giải quyết tốt nhiệm vụ
đề ra Vì vậy, quá trình phát hiện tri thức là một quá trình hoạt động tương tác giữa con người (người sử dụng hoặc chuyên gia phân tích) với các công cụ tin học để thực hiện các bước cơ bản sau:
• Tìm một cách hiểu (bằng ngôn ngữ tin học) lĩnh vực ứng dụng và nhiệm vụđặt ra, xác định các tri thức đã có và các mục tiêu của người sử dụng
• Tạo một tập dữ liệu đích bằng cách chọn từ CSDL một tập dữ liệu với các giá trị biến và các mẫu được quan tâm, trên đó ta thực hiện quá trình phát hiện tri thức
• Đánh giá, giải thích, thử lại các mẫu hình đã được khai phá, có thể lặp lại một hoặc nhiều bước kể trên
• Củng cố, tinh chế các tri thức đã được phát hiện Kết hợp các tri thức thành
hệ thống Giải quyết các xung đột tiềm tàng trong tri thức khai thác được Sau đó, tri thức được chuẩn bị sẵn sàng cho ứng dụng
Lý luận và thực tiễn thực hiện các quá trình phát hiện tri thức mà ta xét ở đây
là sự tiếp thu, sử dụng và phát triển nhiều thành tựu và công cụ của các lĩnh vực đã phát triển trước đó như: lý thuyết nhận dạng, hệ chuyên gia, trí tuệ nhân tạo, v.v… Nhưng đặc điểm cơ bản của lý luận về phát hiện tri thức ở đây là phát hiện tri thức trực tiếp từ dữ liệu, do đặc điểm đó mà nó có những điểm mới, phân biệt với các ngành đã có từ trước Thí dụ như với các hệ chuyên gia thì cơ sở tri thức được hình thành từ kinh nghiệm và kiến thức của các chuyên gia là chủ yếu, với nhiều bài toán nhận dạng thì thường là tập các dạng mẫu cho trước, v.v…, còn đối với lý thuyết phát hiện tri thức thì các tri thức, các dạng mẫu, các giả thuyết đều được
phát hiện từ việc khai phá các kho dữ liệu.
Nếu phát hiện tri thức là toàn bộ quá trình chiết xuất tri thức từ các CSDL thì khai phá dữ liệu là giai đoạn chủ yếu của quá trình đó Như trên đã trình bày, trong
quá trình phát hiện tri thức, khâu khai phá dữ liệu được thực hiện sau các khâu tinh lọc và tiền xử lý dữ liệu, tức là việc khai phá để tìm ra các mẫu hình có ý nghĩa được tiến hành trên tập dữ liệu có hy vọng là sẽ thích hợp với nhiệm vụ khai phá đóchứ không phải là khai phá hết dữ liệu với một thời gian đủ dài để lấy được một mẫu không thực sự có ích như khái niệm trong thống kê trước đây Vì vậy, khai
Trang 11phá dữ liệu thường bao gồm việc thử tìm mô hình phù hợp với tập dữ liệu và tìm kiếm các mẫu từ tập dữ liệu theo mô hình đó Thí dụ ta có mô hình là một luật kết hợp thì mẫu là các yếu tố tham gia cùng với các độ hỗ trợ (support) và độ tin cậy (confidence) trong các luật tương ứng.
Mặc dù các mẫu có thể được trích lọc từ bất kỳ CSDL nào nhưng chỉ có các mẫu được xem là đáng quan tâm xét theo một phương diện nào đó mới được coi là tri thức Các mẫu là đáng quan tâm nếu chúng là mới, có lợi, đáng được xem xét Một mẫu được xem là mới phụ thuộc vào khung tham chiếu cho trước, có thể đó là phạm vi tri thức của hệ thống hoặc là phạm vi tri thức của người dùng Ví dụ như việc khai phá dữ liệu có thể được tìm ra như sau: Nếu Gây_tai_nạn thì Tuổi>16 Đối với hệ thống, tri thức này có thể trước kia chưa biết và rất có ích nhưng đối vớimột người sử dụng đang thử phân tích các bản ghi về các yêu cầu bảo hiểm thì mẫunày lại không cần thiết và không đáng quan tâm vì không thể hiện được tri thức cầntìm Ví dụ này cũng cho thấy khái niệm về tính hữu dụng Tri thức là có ích khi nó
có thể giúp đạt được mục đích của hệ thống hay của người sử dụng Các mẫu hoàn toàn không liên quan đến mục đích hiện tại ít được sử dụng và không tạo thành tri thức trong tình huống đã cho Ví dụ như một mẫu mô tả mối quan hệ Gây_tai_nạn với tuổi của lái xe được tìm ra trong khi mục đích của người sử dụng là phân tích các thông số bán hàng thì sẽ không có ích đối với người sử dụng Tuy nhiên, độ hữu dụng và mới thì chưa đủ để đánh giá mẫu là tri thức cần tìm Hầu hết các cơ sở
dữ liệu đều chứa rất nhiều các mẫu mới và có ích, tuy nhiên mẫu có giá trị với mục tiêu đặt ra phải là những mẫu không tầm thường Để các mẫu trở nên không tầm thường, hệ thống phải làm nhiều hơn là chỉ mò mẫm thống kê vì kết quả của việc tính toán trực tiếp qua công tác thống kê là đã có đối với người dùng Một hệ thống tìm kiếm cần phải có khả năng quyết định cần thực hiện tính toán nào và kết quả là
có đáng quan tâm để tạo nên tri thức trong ngữ cảnh hiện tại hay không
Ta có thể coi khai phá dữ liệu giống như một quá trình phát hiện các mẫu mới đáp ứng được các yêu cầu trên, các tương quan mới có ý nghĩa, các xu hướng
bằng cách khai thác trong các khối dữ liệu của kho dữ liệu, sử dụng các kỹ thuật và
các khái niệm của các lĩnh vực đã được nghiên cứu từ trước như: học máy, nhận dạng, thống kê, hồi quy, xếp loại, phân nhóm, các mô hình đồ thị, các mạng Bayes, v.v…
Khai phá dữ liệu được sử dụng để tạo ra giả thuyết Ví dụ như để xác định các yếu tố rủi ro khi cho vay tín dụng, kỹ thuật khai phá dữ liệu phải phát hiện được những người có thu nhập thấp và nợ nhiều là những người sẽ có mức rủi ro cao Ngoài ra kỹ thuật cũng có thể phát hiện ra những quy luật mà nhà phân tích có thể chưa tìm ra ví dụ như tỷ lệ giữa thu nhập trên nợ và tuổi cũng là các yếu tố xác định mức rủi ro Để làm được điều này, khai phá dữ liệu sử dụng các thông tin trong quá khứ để học Nó sẽ tìm kiếm các thông tin này trong các CSDL và sử dụng chúng để tìm ra các mẫu đáng quan tâm
Trang 12Nếu xét về mặt ý tưởng và mục đích ứng dụng, khai phá dữ liệu là một nhu
cầu tất yếu, một sự nhạy cảm đáp lại sự mong mỏi của giới kinh doanh thì về mặt
kỹ thuật, đó thực sự là một khó khăn và là cả sự thách thức đối với những nhà khoa
học Khai phá dữ liệu được xây dựng dựa trên việc sử dụng các giải thuật mới,
được định hướng theo như cầu kinh doanh để có thể giải quyết tự động các bài toánkinh doanh bằng các kỹ thuật dễ dùng và có thể hiểu được Các kỹ thuật đang được nghiên cứu và sử dụng hiện nay bao gồm cây quyết định (CART, CHAID, AID), mạng neuron, phương pháp láng giềng gần nhất, các luật suy diễn, v.v…
Khai phá dữ liệu không thuộc một ngành công nghiệp nào Nó sử dụng các
kỹ thuật thông minh để khai phá các tri thức tiềm ẩn trong dữ liệu Có thể coi khai phá dữ liệu ngày nay đang ở trạng thái giống như việc quản trị dữ liệu vào những năm 60, khi mà các ứng dụng quản trị dữ liệu đều không tuân theo một nguyên tắc chung nào cho đến khi mô hình dữ liệu quan hệ ra đời cùng với sức mạnh của ngônngữ vấn đáp đã thúc đẩy việc phát triển các ứng dụng quản trị dữ liệu lên nhanh chóng Tuy vậy, hiện nay trên thế giới đã có rất nhiều ngành công nghiệp sử dụng
kỹ thuật khai phá dữ liệu để phục vụ cho hoạt động kinh doanh của mình và đã
bước đầu thành công như ngành tài chính, y học, hóa học, bảo hiểm, sản xuất, giao
thông, hàng không, v.v… Các kết quả đạt được cho thấy mặc dù kỹ thuật khai phá
dữ liệu hiện nay vẫn còn nhiều vấn đề nổi cộm, nhưng với những tri thức mà
chuyên gia con người cũng chưa cung cấp được thì khai phá dữ liệu có một tiềm
năng to lớn trong việc tạo ra những lợi nhuận đáng kể trong nền kinh tế
II KHAI PHÁ DỮ LIỆU
Hiện nay trên sách báo, trong các cuộc hội thảo, tiếp thị sản phẩm ứng dụng
công nghệ thông tin, người ta nói rất nhiều về khai phá dữ liệu hay có người còn
gọi là khai mỏ dữ liệu (data mining) Và chắc chắn trong chúng ta không ai là
không từng một lần được nghe thấy từ này Vậy Khai phá dữ liệu là gì? Và tại sao
lại có nhiều người lại nói đến vấn đề này trong cả công nghiệp máy tính lẫn trong hoạt động kinh doanh đến như vậy?
1 KHAI PHÁ DỮ LIỆU LÀ GÌ?
1.1.Khái niệm
Khai phá dữ liệu là một khái niệm ra đời vào những năm cuối của thập kỷ
80 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, khai phá dữ liệu 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
Năm 1989, Fayyad, Piatestsky-Shapiro và Smyth đã dùng khái niệm Phát hiện tri thức trong cơ sở dữ liệu (Kownledge Discovery in Database – KDD) để chỉ toàn bộ quá trình phát hiện các tri thức có ích từ các tập dữ liệu lớn Trong đó, khai phá dữ liệu là một bước đặc biệt trong toàn bộ quá trình, sử dụng các giải thuật đặc biệt để
chiết xuất ra các mẫu (pattern) (hay các mô hình) từ dữ liệu
Trang 131.2.Các bước của quá trình khai phá dữ liệu
Các giải thuật khai phá dữ liệu thường được mô tả như những chương trình hoạt động trực tiếp trên tệp dữ liệu Với các phương pháp học máy và thống kê trước đây, thường thì bước đầu tiên là các giải thuật nạp toàn bộ tệp dữ liệu vào trong bộ nhớ Khi chuyển sang các ứng dụng công nghiệp liên quan đến việc khai phá các kho dữ liệu lớn, mô hình này không thể đáp ứng được Không chỉ bởi vì nókhông thể nạp hết dữ liệu vào trong bộ nhớ mà còn vì khó có thể chiết xuất dữ liệu
ra các tệp đơn giản để phân tích được
Quá trình xử lý khai phá dữ liệu bắt đầu bằng cách xác định chính xác vấn đềcần giải quyết Sau đó sẽ xác định các dữ liệu liên quan dùng để xây dựng giải pháp Bước tiếp theo là thu thập các dữ liệu có liên quan và xử lý chúng thành dạngsao cho giải thuật khai phá dữ liệu có thể hiểu được Về lý thuyết thì có vẻ rất đơn giản nhưng khi thực hiện thì đây thực sự là một quá trình rất khó khăn, gặp phải rất nhiều vướng mắc như: các dữ liệu phải được sao ra nhiều bản (nếu được chiết xuất vào các tệp), quản lý tập các tệp dữ liệu, phải lặp đi lặp lại nhiều lần toàn bộ quá trình (nếu mô hình dữ liệu thay đổi), v.v…
Sẽ là quá cồng kềnh với một giải thuật khai phá dữ liệu nều phải truy nhập vào toàn bộ nội dung của CSDL và làm những việc như trên Vả lại, điều này cũng không cần thiết Có rất nhiều giải thuật khai phá dữ liệu thực hiện dựa trên những thống kê tóm tắt khá đơn giản của CSDL, khi mà toàn bộ thông tin trong CSDL là quá dư thừa đối với mục đích của việc khai phá dữ liệu
Bước tiếp theo là chọn thuật toán khai phá dữ liệu thích hợp và thực hiện việc khai phá dữ liệu để tìm được các mẫu (pattern) có ý nghĩa dưới dạng biểu diễn tương ứng với các ý nghĩa đó (thường được biểu diễn dưới dạng các luật xếp loại, cây quyết định, luật sản xuất, biểu thức hồi quy, …)
Đặc điểm của mẫu phải là mới (ít nhất là đối với hệ thống đó) Độ mới có thểđuợc đo tương ứng với độ thay đổi trong dữ liệu (bằng cách so sánh các giá trị hiện tại với các giá trị trước đó hoặc các giá trị mong muốn), hoặc bằng tri thức (mối liên hệ giữa phương pháp tìm mới và phương pháp cũ như thế nào) Thường thì độ mới của mẫu được đánh giá bằng một hàm logic hoặc một hàm đo độ mới, độ bất ngờ của mẫu Ngoài ra, mẫu còn phải có khả năng sử dụng tiềm tàng Các mẫu này sau khi được xử lý và diển giải phải dẫn đến những hành động có ích nào đó được đánh giá bằng một hàm lợi ích Ví dụ như trong dữ liệu các khoản vay, hàm lợi ích đánh giá khả năng tăng lợi nhuận từ các khoản vay Mẫu khai thác được phải có giátrị đối với các dữ liệu mới với độ chính xác nào đó
Trang 14Với các giải thuật và các nhiệm vụ của khai phá dữ liệu rất khác nhau, dạng của các mẫu chiết xuất được cũng rất đa dạng Theo cách đơn giản nhất, sự phân tích cho ra kết quả chiết xuất là một báo cáo về một số loại (có thể bao gồm các phép đo mang tính thống kê về độ phù hợp của mô hình, các dữ liệu lạ, v.v…) Trong thực tế đầu ra phức tạp hơn nhiều, mẫu chiết xuất được có thể là một mô tả
xu hướng, có thể là dưới dạng văn bản, một đồ thị mô tả các mối quan hệ trong mô hình, cũng có thể là một hành động, ví dụ như yêu cầu người dùng làm gì với những gì khai thác được trong dữ liệu Một mẫu chiết xuất được từ một công cụ khai phá tri thức khác lại có thể là một dự đoán xem số lượng bánh kẹo bán ra vào dịp Tết sẽ tăng lên bao nhiêu phần trăm, v.v… Hình 2.2 là một ví dụ minh họa kết quả của việc khai phá dữ liệu khách hàng xin vay vốn, với một lựa chọn t, mẫu
chiết xuất được là một luật “Nếu thu nhập < t đồng thì khách hàng vay bị vỡ nợ”.
Dạng của mẫu chiết xuất được có thể được phân loại bởi kiểu mẫu dữ liệu
mà nó mô tả Các mẫu liên vùng (interfield pattern) liên quan đến các giá trị của các trường trong cùng một bản ghi (ví dụ: Nếu thủ tục=phẫu thuật thì ngày nằm viện>5) Các mẫu liên bản ghi liên quan đến các giá trị được tổng hợp từ một nhómcác bản ghi ví dụ như bệnh nhân mắc bệnh đau dạ dày khó ăn gấp hai lần những người bình thường khác; hoặc xác định những phần có ích ví dụ như nhóm các công ty có lợi nhuận Việc khai thác các mẫu liên bản ghi là dạng tổng kết dữ liệu Đối với dữ liệu phụ thuộc thời gian, mối quan hệ liên bản ghi có thể cũng xác định các xu hướng quan tâm (ví dụ như sản lượng bán hàng tăng 20% so với năm
ngoái)
Ta cũng có thể phân loại dạng mẫu chiết xuất được theo khả năng mô tả của chúng Ví dụ như mẫu chiết xuất được của quá trình khai phá dữ liệu theo số lượng liên quan đến các giá trị trường số sử dụng các công thức toán học Mẫu của quá trình khai phá dữ liệu theo chất lượng tìm ra một mối quan hệ logic giữa các
trường Ta phân biệt hai dạng này vì các kỹ thuật khai phá khác nhau thường được
sử dụng trong các trường hợp khác nhau Ví dụ như các mối quan hệ số lượng
Trang 15tuyến tính tìm thấy rất dễ dàng bằng các phương pháp hồi quy tuyến tính trong khi khai phá theo định tính lại không thể dùng được các phương pháp này.
Kỹ thuật khai phá dữ liệu thực chất không có gì mới Nó là sự kế thừa, kết hợp và mở rộng của các kỹ thuật cơ bản đã được nghiên cứu từ trước như học máy, nhận dạng, thống kê (hồi quy, xếp loại, phân nhóm), các mô hình đồ thị, các mạng Bayes, trí tuệ nhân tạo, thu thập tri thức hệ chuyên gia, v.v… Tuy nhiên, với sự kết hợp tài tình của khai phá dữ liệu, kỹ thuật này có ưu thế hơn hẳn các phương pháp trước đó, đem lại nhiều triển vọng trong việc ứng dụng phát triển nghiên cứu khoa học cũng như làm tăng mức lợi nhuận trong các hoạt động kinh doanh
1.3.Ví dụ minh họa
Để minh họa hoạt động cũng như mẫu chiết xuất được của quá trình khai phá
dữ liệu, trong chương này chúng ta sẽ dùng chủ yếu một ví dụ đơn giản như đã cho trên Hình 2.2 Hình 2.2 mô tả một tập dữ liệu hai chiều gồm có 23 điểm mẫu Mỗi điểm biểu thị cho một khách hàng đã vay ngân hàng Trục hoành biểu thị cho thu nhập, trục tung biểu thị cho tổng dư nợ của khách hàng Dữ liệu khách hàng được chia thành hai lớp: dấu x biểu thị
cho khách hàng bị vỡ nợ, dấu o
biểu thị cho khách hàng có khả
năng trả nợ Tập dữ liệu này có thể
chứa những thông tin có ích đối
với các tổ chức tín dụng trong việc
ra quyết định có cho khách hàng
vay nữa không Ví dụ như ta có
mẫu “Nếu thu nhập < t đồng thì
khách hàng vay sẽ bị vỡ nợ” như
mô tả trên Hình 2.2
2 NHIỆM VỤ CHÍNH CỦA KHAI PHÁ DỮ LIỆU
Rõ ràng rằng mục đích của khai phá dữ liệu là các tri thức chiết xuất được sẽ được sử dụng cho lợi ích cạnh tranh trên thương trường và các lợi ích trong nghiên cứu khoa học
Do đó, ta có thể coi mục đích chính của khai thác dữ liệu sẽ là mô tả
(description) và dự đoán (prediction) Các mẫu mà khai phá dữ liệu phát hiện được
nhằm vào mục đích này Dự đoán liên quan đến việc sử dụng các biến hoặc các
trường trong cơ sở dữ liệu để chiết xuất ra các mẫu là các dự đoán những giá trị
chưa biết hoặc những giá trị trong tương lai của các biến đáng quan tâm Mô tả tập
trung vào việc tìm kiếm các mẫu mô tả dữ liệu mà con người có thể hiểu được
Để đạt được hai mục đích này, nhiệm vụ chính của khai phá dữ liệu bao gồmnhư sau:
Trang 16• Phân lớp (Classification): Phân lớp là việc học một hàm ánh xạ (hay phân
loại) một mẫu dữ liệu vào một trong số các lớp đã xác định (Hand 1981; Weiss & Kulikowski 1991; McLachlan 1992) Ví dụ về việc sử dụng phương pháp phân lớp trong khai phá dữ liệu là ứng dụng phân lớp các xu hướng trong thị trường tài chính(Apte & Hong) và ứng dụng tự động xác định các đối tượng đáng quan tâm trong các cơ sở dữ liệu ảnh lớn (Fayyad, Djorgovski, & Weir) Hình 2.3 mô tả đầu ra của nhiệm vụ khai phá dữ liệu phân lớp đối với tập dữ liệu khách hàng đã nêu trên Đó
là một mẫu chia tập dữ liệu khách hàng thành hai miền tuyến tính Mẫu này có thể
sẽ cho phép tổ chức tín dụng quyết định có cho các khách hàng vay hay không
• Hồi quy (Regression): Hồi quy 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 Có rất nhiều ứng dụng khai phá dữ liệu với nhiệm vụ hồi quy, ví dụ như dự đoán số lượng biomass xuất hiện trong rừng biết các phép đo vi sóng từ xa, đánh giá khả năng tử vong của bệnh nhân biết các kết quả xét nghiệm chẩn đoán, dự đoán nhu cầu tiêu thụ một sản phẩm mới bằng một hàm chỉ tiêu quảng cáo, dự đoán theo thời gian với các biến đầu vào là các giá trị của mẫu dự đoán trong quá khứ, v.v… Hình 2.4 mô tả mẫu kết quả dự đoán tổng
dư nợ của khách hàng với nhiệm vụ khai phá dữ liệu là hồi quy Đường hồi quy tuyến tính cho thấy những khách hàng có thu nhập càng cao thì tổng dư nợ càng lớn Mẫu kết quả này không phù hợp với quy luật và điều đó là dễ hiểu vì ta thấy đường hồi quy tuyến tính ở đây không vét cạn được hết các trường hợp xảy ra mà chỉ mô tả được mối liên hệ của một số rất ít khách hàng
Trang 17• Phân nhóm (Clustering):
Là việc mô tả chung để tìm ra các tập xác định các nhóm hay các loại để mô
tả dữ liệu (Titterington, Smith & Makov 1985; Jain & Dubes 1988) Các nhóm có thể tách riêng nhau hoặc phân cấp hoặc gối lên nhau Có nghĩa là một dữ liệu có thểvừa thuộc nhóm này, vừa thuộc nhóm kia Các ứng dụng khai phá 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 cơ
sở dữ liệu tiếp thị, xác định các loại quang phổ từ các phương pháp đo tia hồng ngoại (Cheeseman & Stutz) Hình 2.5 mô tả các mẫu của quá trình khai phá dữ liệu với nhiệm vụ phân nhóm Ở đây, các mẫu là các nhóm khách hàng được xếp thành