Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 33 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
33
Dung lượng
4,15 MB
Nội dung
Khai thác d ữ li ệ u Bayes và Tập thô Gi ớ i thi ệ u v ề xu h ư ớ ng nghiên c ứ u Khai thác d ữ li ệ u, trình bày các k ỹ thuật phân lớp dựa trên Bayes và Lý thuyết tập thô ĐẠI HỌC CÔNG NGHỆ THÔNG TIN TP. HỒ CHÍ MINH 06-2012 Thực hiện: Nguyễn Hữu Việt Long (CH11011001) – Nguyễn Hoàng Vũ (CH1101157) Hướng dẫn: GS. TSKH. Hoàng Kiếm 1 Mục lục I) Tổng quan 3 II) Khai thác dữ liệu (Data Mining): 3 1) Động lực phát triển của Khai thác dữ liệu: 3 2) Lịch sử phát triển của Khai thác dữ liệu: 4 3) Khai thác dữ liệu: 5 4) Một số hình thức lưu trữ dữ liệu có thể áp dụng kỹ thuật Khai thác dữ liệu: 7 a) Cơ sở dữ liệu quan hệ (Relational Database): 7 b) Kho dữ liệu (Data Warehouse): 8 c) Cơ sở dữ liệu giao tác (Transactional Database): 8 d) Các cơ sở dữ liệu cao cấp và Cơ sở dữ liệu hướng ứng dụng: 8 5) Các kỹ thuật Khai thác dữ liệu: 9 a) Diễn tả ý niệm: Mô tả tính chất và so sánh (Concept/Class description: characterization and discrimination) 9 b) Phân tích luật kết hợp (Association analysis) 9 c) Phân lớp và dự đoán dữ liệu (Classification and prediction) 9 d) Gom cụm dữ liệu (Data Clustering) 9 e) Phân tích những biến đổi và độ lệch (Evolution and deviation analysis) 10 6) Một số hệ thống Khai thác dữ liệu: 10 7) Ứng dụng của Khai thác dữ liệu: 11 8) Những thách thức trong Khai thác dữ liệu: 11 III) Phân lớp và dự đoán dữ liệu (Classification and Prediction): 12 1) Phân lớp dữ liệu (data classification): 12 2) Một số phương pháp phân lớp dữ liệu: 13 a) Phân lớp quy nạp trên cây quyết định (Classification by decision tree induction): 13 b) Phân lớp sử dụng mạng neural lan truyền ngược (Classification by backpropagation) 13 c) Phương thức phân lớp khác 14 3) Dự đoán dữ liệu (data prediction): 14 4) Mức độ chính xác của phân lớp dữ liệu 15 a) Tính toán độ chính xác của bộ phân lớp: 15 b) Gia tăng độ chính xác: 15 IV) Phân lớp Bayes (Bayesian Classification) 16 2 1) Công thức Bayes (Bayes Theorem) 16 2) Bộ phân lớp Naïve Bayes 16 3) Ví dụ minh họa: 17 4) Giải thuật huấn luyện Bộ phân lớp Naïve Bayes: 19 5) Giải thuật phân lớp Naïve Bayes: 20 6) Mạng Bayes (Bayesian belief networks) 20 7) Huấn luyện Mạng Bayes 22 V) Lý thuyết tập thô (Rough Set Theory) 23 1) Lý thuyết tập hợp 23 2) Hệ thông tin và hệ quyết định 24 3) Xấp xỉ tập hợp 24 4) Ma trận phân biệt và thuật toán quyết định 26 a) Ma trận phân biệt (Discernibility Matrix) 26 b) Hàm phân biệt (Discernibility Function) 27 c) Thuật toán quyết định (Decision Algorithm) 29 5) Bài toán rút gọn thuộc tính trong lý thuyết tập thô 29 6) Tập thô và công thức Bayes 31 VI) Tài liệu tham khảo 32 3 I) Tổng quan Nhận diện và khai thác các đặc trưng của dữ liệu từ lâu đã luôn là nhu cầu không thể thiếu trong rất nhiều lĩnh vực: nghiên cứu, kinh doanh, tính toán… Dự đoán, tìm ra được các quy luật của dữ liệu sẽ góp phần không nhỏ vào việc dự đoán, phân tích đem lại lợi ích lớn, tiết kiệm rất nhiều thời gian và công sức. Bài tiểu luận trình bày về Khai thác dữ liệu, một kỹ thuật được nghiên cứu và áp dụng nhiều trong lĩnh vực phân tích dữ liệu. Qua đó giới thiệu Bộ phân lớp Bayes và Lý thuyết tập thô, hai công cụ hữu dụng trong Khai thác dữ liệu. Lý thuyết tập thô kết hợp với công thức Bayes được trình bày như là một cách tiếp cận hiệu quả trong phân lớp và dự đoán dữ liệu. II) Khai thác dữ liệu (Data Mining): 1) Động lực phát triển của Khai thác dữ liệu: 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âu hỏ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 Khai thác dữ liệu (Data Mining) Khai thác dữ liệu (Data Mining) ra đời chính là sự phát triển tự nhiên và tất yếu của ngành Công Nghệ Thông Tin. Đó là một tiến trình khám phá tri thức hữu ích tiềm ẩn trong các Cơ sở dữ liệu 4 Hình 2.1: Vị trí của Khai thác dữ liệu trong Hệ thống thong tin 2) Lịch sử phát triển của Khai thác dữ liệu: Những năm 1960: Cơ sở dữ liệu và Công Nghệ Thông Tin đã dần phát triển từ hệ thống xử lý các tập tin cơ bản thành những hệ Cơ sở dữ liệu phức tạp. Trong những năm 1970: đây là giai đoạn phát triển mạng của công nghệ Cơ sở dữ liệu. Nền tảng lý thuyết về Cơ sở dữ liệu quan hệ được hình thành, ra đời các công cụ mô hình hóa dữ liệu, các kỹ thuật tổ chức dữ liệu, phát triển các ngôn ngữ truy vấn dữ liệu, xử lý dữ liệu Từ giữa thập niên 1980: Lý thuyết về Cơ sở dữ liệu dần hoàn thiện. Xuất hiện các mô hình Cơ sở dữ liệu mới cao cấp hơn như Cơ sở dữ liệu hướng đối tượng, Cơ sở dữ liệu suy diễn, Cơ sở dữ liệu không gian, Hệ Cơ sở tri thức (Knowledge base systems)… Cuối những năm 1980 và thập niên 1990: hình thành khái niệm Kho dữ liệu (Data Warehouse), Khai thác dữ liệu (Data Warehouse) và Khám phá tri thức (Knowledge Discovery) 5 3) Khai thác dữ liệu: Khai thác dữ liệu được xem như là quá trình khai thác ra tri thức mới từ một lượng lớn dữ liệu. Thực ra, Khai thác dữ liệu chỉ là một công đoạn trong một tiến trình lớn hơn là Khám phá tri thức từ Cơ sở dữ liệu (Knowledge Discovery in Databases – KDD). Khám phá tri thức gồm nhiều công đoạn: - Làm sạch dữ liệu (data cleaning): loại bỏ dữ liệu thừa, trùng lặp, mâu thuẫn; giới hạn vùng giá trị dữ liệu - Tích hợp dữ liệu (data integration): làm giàu dữ liệu, kết hợp nhiều nguồn dữ liệu - Chọn lọc dữ liệu (data selection): loại bỏ những thông tin, dữ liệu không phù hợp với công việc phân tích. - Biển đổi, mã hóa dữ liệu (data transformation): chuyển đổi kiểu dữ liệu thành những dạng phù hợp, thuận tiện để tiến hành các thuật toán khai thác dữ liệu. - Khai thác dữ liệu (data mining): là tiến trình cần thiết, sử dụng các giải pháp thông minh, trí tuệ nhân tạo để khai thác các mẫu dữ liệu. - Đánh giá mẫu (Pattern evaluation): xác định những mẫu được quan tâm biểu diễn tri thức theo một số độ đo (interesting measures) - Biểu diễn tri thức (Knowledge Representaion): giải thích, hiển thị trực quan kết quả Khai thác dữ liệu đối với người dùng. Hình 2.2: Khai thác dữ liệu là một tiến trình trong Khám phá tri thức 6 Khai thác dữ liệu là tiến trình quan trọng nhất trong KDD. Một hệ Khai thác dữ liệu thông thường có các thành phần sau: - Cơ sở dữ liệu (Database), Kho dữ liệu (Data Warehouse) hay một kho chứa thông tin: là nguồn dữ liệu, thông tin sẽ được khai thác. Trong những tình huống cụ thể, thành phần này là nguồn nhập (input) của các kỹ thuật tích hợp và làm sạch dữ liệu. - Database hay Data Warehouse server: chịu trách nhiệm chuẩn bị dữ liệu phù hợp với quá trình Khai thác dữ liệu. - Hệ Cơ sở tri thức (Knowledge base): chứa các tri thức miền (domain knowledge) được dùng để hướng dẫn quá trình tìm kiếm, đánh giá các mẫu kết quả tìm được. Tri thức miền có thể là các phân cấp khái niệm (concept hierarchies), niềm tin của người sử dụng (user beliefs), các ràng buộc (constraints) hay các ngưỡng giá trị (thresholds), siêu dữ liệu (metadata) … Hình 2.3: Cấu trúc một hệ Khai thác dữ liệu - Bộ Khai thác dữ liệu (Data mining engine): chứa các khối chức năng thực hiện các tác vụ Khai thác dữ liệu. - Pattern evaluation module: làm việc với các độ đo (và các ngưỡng giá trị) hỗ trợ tìm kiếm và đánh giá các mẫu sao cho các mẫu được tìm thấy là những mẫu được quan tâm bởi người sử dụng; có thể được tích hợp vào thành phần Bộ Khai thác dữ liệu. - Giao diện người dùng (Graphical user interface): hỗ trợ sự tương tác giữa người sử dụng và hệ thống Khai thác dữ liệu: 7 o Người sử dụng có thể chỉ định câu truy vấn hay tác vụ Khai thác dữ liệu. o Người sử dụng có thể được cung cấp thông tin hỗ trợ việc tìm kiếm, thực hiện Khai thác dữ liệu sâu hơn thông qua các kết quả khai phá trung gian. o Người sử dụng cũng có thể xem các lược đồ cơ sở dữ liệu/kho dữ liệu, các cấu trúc dữ liệu; đánh giá các mẫu khai thác được; trực quan hóa các mẫu này ở các dạng khác nhau. Khai thác dữ liệu là sự tích hợp kỹ thuật của rất nhiều ngành như Công Nghệ Cơ sở dữ liệu, Xác suất – Thống kê, Máy học, Tính toán hiệu năng cao, Nhận diện mẫu, Mạng neural…. Hình 2.4: Khai thác dữ liệu là sự kết hợp của nhiều ngành 4) Một số hình thức lưu trữ dữ liệu có thể áp dụng kỹ thuật Khai thác dữ liệu: a) Cơ sở dữ liệu quan hệ (Relational Database): Cơ sở dữ liệu quan hệ là một tập hợp các bảng (tables) có quan hệ với nhau. Mỗi bảng được xác định bởi một tên duy nhất. Bảng có một tập các thuộc tính (cột hay trường) và thường chứa một lượng lớn các bộ (hàng hay bảng ghi). Mỗi bộ trong bảng 8 quan hệ biểu diễn một đối tượng định nghĩa bởi một khóa duy nhất và được mô tả bởi một tập các giá trị thuộc tính. Cơ sở dữ liệu quan hệ được truy xuất bằng các truy vấn Cơ sở dữ liệu (database queries) được viết bằng ngôn ngữ truy vấn quan hệ như SQL. Cơ sở dữ liệu quan hệ là một trong những kho chứa dữ liệu, thông tin phổ biến và phong phú nhất cho việc Khai thác dữ liệu. b) Kho dữ liệu (Data Warehouse): Kho dữ liệu là nơi chứa đựng dữ liệu tổng hợp từ nhiều nguồn khác nhau. Kho dữ liệu thường dựa trên cấu trúc Cơ sở dữ liệu đa chiều (multidimentional database structure) – cấu trúc cho phép nhìn xem dữ liệu như các mô hình khối lập phương (data cube). Kho dữ liệu cũng cung cấp công cụ On-Line Analytical Processing (OLAP) như là giải pháp để tương tác với dữ liệu đa chiều c) Cơ sở dữ liệu giao tác (Transactional Database): Một Cơ sở dữ liệu giao tác có một tập tin mà mỗi bảng ghi của nó là một phiên giao tác. d) Các cơ sở dữ liệu cao cấp và Cơ sở dữ liệu hướng ứng dụng: Nhu cầu xử lý các loại dữ liệu ngày càng tăng cao. Các ứng dụng Cơ sở dữ liệu không gian, Cơ sở dữ liệu đa phương tiện, siêu văn bản, World – Wide – Web …. yêu cầu các cấu trúc dữ liệu thật tốt và các phương thức xử lý các đối tượng có cấu trúc phức tạp, rất nhiều bảng ghi (record), những dữ liệu không có cấu trúc, dữ liệu đa phương tiện…. Để đáp ứng được những nhu cầu này, các Cơ sở dữ liệu hướng ứng dụng, hướng đối tượng và các Cơ sở dữ liệu cao cấp được ra đời và phát triển. 9 5) Các kỹ thuật Khai thác dữ liệu: a) Diễn tả ý niệm: Mô tả tính chất và so sánh (Concept/Class description: characterization and discrimination) Diễn tả ý niệm: mô tả những khái niệm thành những hình thái khác tóm lược, ngắn gọn và chính xác. Diễn tả ý niệm chia làm hai loại Mô tả tính chất dữ liệu (data characterization) và So sánh dữ liệu (data discrimination) Mô tả tính chất dữ liệu: cung cấp những tóm lược ngắn gọn về dữ liệu đưa vào So sánh dữ liệu: cung cấp các mô tả về hai hay nhiều tập dữ liệu. b) Phân tích luật kết hợp (Association analysis) Phân tích luật kết hợp chính là khám phá ra các luật kết hợp (Association rules) – các giá trị, các thuộc tính thường xuất hiện chung với nhau trong một tập dữ liệu. Luật kết hớp được ứng dụng rộng rãi trong các Cơ sở dữ liệu giao tác, Cơ sở dữ liệu quan hệ và một số Cơ sở dữ liệu khác. Các luật kết hợp có dạng cơ bản là: X Y [support,confidence] - X: các tiền đề hay diều kiện ban đầu (vế trái) - Y: các kết quả đạt được (vế phải) - support: tần số (trong bao nhiêu phần trăm dữ liệu thì những điều ở vế trái và vế phải cùng xảy ra) support(X Y) = P(X U Y) - confidence: độ mạnh (nếu vế trái xảy ra thì có bao nhiêu khả năng vế phải xảy ra) confidence(X Y) = P(Y|X) c) Phân lớp và dự đoán dữ liệu (Classification and prediction) Phân lớp (classification) là quá trình xếp đối tượng dữ liệu vào một trong các lớp hay mô hình đã được xác định từ trước. Các mô hình dữ liệu được phân tích dựa trên các dữ liệu huấn luyện (training data) d) Gom cụm dữ liệu (Data Clustering) [...]... 8) Nhng thỏch thc trong Khai thỏc d liu: Khai thỏc d liu ngy nay luụn phi lm vic vi mt lng d liu khng l t nhiu ngun khỏc nhau nờn cú rt nhiu vn v thỏch thc t ra cho ngnh khoa hc v Khai thỏc d liu - Phng phỏp Khai thỏc d liu v vn v tng tỏc ngi dựng: Khai thỏc nhng loi tri thc khỏc nhau trong C s d liu; Tớch hp tri thc nn; Cỏc ngụn 11 - ng truy vn Khai thỏc d liu; Biu din kt qu Khai thỏc d liu; X lý... ) ) //m: s lng lp trong b phõn lp //n: s lng thuc tớnh trong mt b d liu 6) Mng Bayes (Bayesian belief networks) Mng Bayes (Bayesian belief networks, belief networks, Bayesian networks, probabilistic networks) l mt mụ hỡnh xỏc sut (probability) v th (graph) cho phộp thu thp, tớch ly, mụ phng v khai thỏc cỏc nhn thc Mt mng Bayes c nh ngha bi hai thnh phn: - th cú hng phi chu trỡnh (directed acyclic... C1, C2 CT to ra mt b phõn lp phc hp, ci tin C* Hỡnh 3.2: Kt hp cỏc b phõn lp ci tin hiu qu 15 IV) Phõn lp Bayes (Bayesian Classification) Phõn lp Bayes l k thut phõn lp da trờn xỏc sut thng kờ (c th l Cụng thc Bayes) Nú cú th d oỏn xỏc sut cỏc mu a ra cú th thuc v mt lp no ú 1) Cụng thc Bayes (Bayes Theorem) Gi X l mt mu d liu H l khụng gian gi thuyt (hypothesis) P(H|X) l xỏc sut cú iu kin hay xỏc... trng trong tp d liu ln t ú cung cp thụng tin, tri thc cho vic ra quyt nh e) Phõn tớch nhng bin i v lch (Evolution and deviation analysis) Phõn tớch nhng bin i v lch l dũ tỡm, phỏt hin nhng thay i ỏng chỳ ý trong tp d liu 6) Mt s h thng Khai thỏc d liu: K thut Khai thỏc d liu ó c u t nghiờn cu nhiu nc trờn th gii v t c nhiu thnh tu ỏng k Mt s h thng Khai thỏc d liu ni ting nh: - Intelligent Miner... thuc tớnh (dependency of attributes) v s dng cỏc thut toỏn tỡm kim ngu nhiờn 30 6) Tp thụ v cụng thc Bayes Nhng i tng nm vựng biờn ca tp thụ thng mang nhng giỏ tr khụng chc chn v cn cú mt phng phỏp phõn tớch, thng kờ cú th xõy dng thut toỏn quyt nh phự hp cho cỏc i tng ny Trong thng kờ, cụng thc Bayes luụn chng t l cụng c hu hiu phõn tớch v d oỏn d liu Vic ỏp dng cụng thc Bayes vo lý thuyt tp thụ,... = N X c phõn vo lp khụng chi tennis 4) Gii thut hun luyn B phõn lp Naùve Bayes: Input: mu d liu examples Output: bng xỏc sut (mụ hỡnh ó c hun luyn) NAẽVE _BAYES_ LEARN (examples) 1 For each vi //Vi mi mu vớ d 2 Do 2.1 Tớnh xỏc sut P (vi) 19 2.2 For each 2.3 Do //Vi mi thuc tớnh ca mu vớ d Tớnh xỏc sut 5) Gii thut phõn lp Naùve Bayes: Input: bng xỏc sut (mụ hỡnh ó c hun luyn), mu d liu mi x = ( , ,, )... Biu din kt qu Khai thỏc d liu; X lý phõn tỏch cỏc d liu khụng hon chnh; ỏnh giỏ mu Vn v hiu sut: cỏc thut toỏn Khai thỏc d liu hiu qu v cú kh nng m rng; thut toỏn x lý Khai thỏc d liu song song v phõn tỏn Cỏc vn liờn quan n s a dng, khỏc bit ca cỏc C s d liu: x lý cỏc loi d liu phc tp; khai thỏc thụng tin t nhng C s d liu a ng, phc tp v cỏc h thng thụng tin ton cu III) Phõn lp v d oỏn d liu (Classification... probability): xỏc sut xy ra H, X Cụng thc Bayes: ( | )= ( | ) ( ) ( ) (4.1) 2) B phõn lp Naùve Bayes i) Cho m lp C1, C2, , Cm ii) X l mt mu d liu cn phõn lp c mụ t bi tp thuc tớnh A1, A2, , An X = (x1, x2, , xn) B phõn lp s da trờn cỏc giỏ tr ca X xut ra giỏ tr hm phõn lp f(X) l mt trong cỏc Ci (1 . II) Khai thác dữ liệu (Data Mining): 3 1) Động lực phát tri n của Khai thác dữ liệu: 3 2) Lịch sử phát tri n của Khai thác dữ liệu: 4 3) Khai thác dữ liệu: 5 4) Một số hình thức lưu trữ dữ liệu. analysis) 10 6) Một số hệ thống Khai thác dữ liệu: 10 7) Ứng dụng của Khai thác dữ liệu: 11 8) Những thách thức trong Khai thác dữ liệu: 11 III) Phân lớp và dự đoán dữ liệu (Classification and Prediction):. Warehouse) và Khám phá tri thức (Knowledge Discovery) 5 3) Khai thác dữ liệu: Khai thác dữ liệu được xem như là quá trình khai thác ra tri thức mới từ một lượng lớn dữ liệu. Thực ra, Khai thác