TẬP THÔ TRONG KHAI PHÁ DỮ LIỆU TÌM TẬP RÚT GỌN SỬ DỤNG MA TRẬN PHÂN BIỆT ĐƯỢC

26 665 1
TẬP THÔ TRONG KHAI PHÁ DỮ LIỆU TÌM TẬP RÚT GỌN SỬ DỤNG MA TRẬN PHÂN BIỆT ĐƯỢC

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN CHƯƠNG TRÌNH ĐÀO TẠC THẠC SĨ CNTT QUA MẠNG TẬP THÔ TRONG KHAI PHÁ DỮ LIỆU TÌM TẬP RÚT GỌN SỬ DỤNG MA TRẬN PHÂN BIỆT ĐƯỢC Bộ môn: Khai phá dữ liệu và kho dữ liệu Giáo viên hướng dẫn: PGS.TS. Đỗ Phúc Sinh viên: Trần Hoài Phong MSSV: CH1101027 Niên khóa 2011 - 2013 Mục lục Lời mở đầu Việc khám phá tri thức trong cơ sở dữ liệu đã được phát triển như là một trong những lĩnh vực quan trọng và năng động nhất vì những thách thức gặp phải trong lý thuyết cũng như các ứng dụng thực tế có liên quan đến vấn đề khám phá hoặc rút trích ra những thông tin thú vị và kiến thức chưa biết từ một tập cơ sở dữ liệu rất lớn của thế giới thực. Lý thuyết Tập thô là một hình thức toán học để biểu diễn các thông tin không chắc chắn. Nó được xem như là một công cụ để giảm số chiều đầu vào và xử lý các dữ liệu mơ hồ không chắc chắn. Trong những năm trở lại đây, đã có những sự phát triển nhanh chóng trong lý thuyết tập thô và các ứng dụng của nó trong nhiều lĩnh vực nghiên cứu khách nhau bao gồm các vấn đề liên quan đến máy học theo quy nạp và rút trích tri thức trong các hệ thống tri thức. Mục tiêu chính của bài báo cáo này sẽ đưa ra một số khái niệm cơ bản về tập thô. Trong đó tập trung phần lớn vào bài toán tìm ma trận tập rút gọn sử dụng ma trận phân biệt được để quá đó cho chúng ta thấy rõ tại sao việc phân tích tập thô lại có thể được sử dụng hiệu quả để rút trích ra kiến thức từ một tập lớn cơ sở dữ liệu. Trong bài báo cáo em sẽ đưa ra một thuật toán cũng như một ứng dụng áp dụng thuật toán được nêu ra để giúp hiểu rõ hơn về quá trình rút trích tri thức từ tập dữ liệu thực tế. Việc cài đặt thuật toán hoàn toàn là do cá nhân lập trình, do tính phức tạp của Niên khóa 2011 - 2013 2 thuật toán cũng như một số hạn chế về thời gian cài đặt cũng như kiến thức nên phần ứng dụng có thể chưa phải là bản hoàn chỉnh nhất có thể. Cuối cùng em xin cám ơn thầy đã rất nhiệt tình hướng dẫn trong quá trình giảng dạy. Thầy đã cung cấp cho em nhiều kiến thức quý báu qua đó giúp em có thể nghiên cứu sâu hơn trong nhiều lĩnh vực trong tin học mà trước đây mình chưa từng nghĩ đến. 1. Các khái niệm và thuật ngữ Tập thô dùng để phân tích sự không chắc chắn trong dữ liệu. Chúng được sử dụng để xác định các đặc trưng quan trọng của các đối tượng và xây dựng các tập xấp xỉ trên và xấp xỉ dưới của tập đối tượng. Trong thế giới thực các dữ liệu khác nhau về kích thước và độ phức tạp do đó rất khó để phân tích cũng như quản lý trên quan điểm toán học. Mục tiêu quan trọng nhất của phân tích tập thô là giảm kích thức dữ liệu và xử lý vấn đề không đồng nhất trong dữ liệu. Phần tiếp theo sẽ nêu ra các khái niệm chính của tập thô được dùng cho các thông tin không nhất quán, gần đúng để xử lý các dữ liệu dư thừa. 1.1. Hệ thông tin Trong mô hình dữ liệu của tập thô, thông tin được lưu trữ trong bảng nơi một sự kiện hoặc một đối tượng được thể hiện tương ứng với một dòng. Các thông tin về đối tượng trong thế giới thực được thể hiện bởi dòng tương ứng trong bảng. Mỗi cột trong bảng được dùng để thể hiện các đặc trưng (một giá trị, một đặc điểm, …) mà có thể đo đạc được cho đối tượng đó. Một bảng như vậy được gọi là một hệ thông tin. Nó có thể được biểu diễn như là một cặp IS=(U,A) trong đó U={x1, x2,…,xn} là tập hữu hạn khác rỗng các phần tử. A={a1, a2, …, am} là tập hữu hạn khác rỗng các thuộc tính sao cho a:U->Va, a ∈ A. Tập Va được gọi là tập giá trị của a. Chúng ta sẽ chia tập giá trị này thành hai tập con C ⊂ A và D = A – C, tương ứng là tập thuộc tính Niên khóa 2011 - 2013 3 và thuộc tính quyết định. Tập thuộc tính đại diện cho các đặc trưng có thể đo lường được của đối tượng trong khi thuộc tính quyết định là một thuộc tính dùng để phân lớp. Một ví dụ của bảng thông tin: Các cột của bảng được đánh nhãn bởi các thuộc tính Outlook, Temperature, Humidity, Windy và Play. Các dòng được đánh nhãn bởi các đối tượng p1, p2, p3, …,p5. Mỗi dòng trong bảng có thể được xem là thông tin về một đối tượng cụ thể. Ví dụ đối tượng p3 có thể được đặc trưng trong bảng bởi các tập giá trị thuộc tính sau đây {(Outlook,overcast),(Temperature,83),(Humidity,86), (Windy, False),(Play, Yes)} Outlook Temperature Humidity Windy Play P1 sunny 85 85 FALSE no P2 sunny 80 90 TRUE no P3 overcast 83 86 FALSE yes P4 rainy 70 96 FALSE yes P5 rainy 68 80 FALSE yes P6 overcast 64 65 TRUE yes P7 overcast 81 75 FALSE yes 1.2. Quan hệ bất khả phân biệt Đây là điểm khởi đầu của lý thuyết tập thô, nó thể hiện thực tế do thiếu một số tri thức làm cho chúng ta không thể phân biệt được vài đối tượng với những thông tin sẵn có. Đây là một dạng của sự dư thừa trong dữ liệu. Cho hệ thông tin IS = (U, A) đối với mỗi tập thuộc tính B ⊆ A một quan hệ bất khả phân biệt được ký hiệu là IND B được định nghĩa như sau: IND B (U) = {(x,y) ∈ U 2 | ∀ a ∈ B a(x) = a(y)} trong đó B là quan hệ bất khả phân biệt Nếu (x,y) ∈ IND is thì đối tượng x và y là bất khả phân biệt với nhau bởi thuộc tính B. Chúng ta có thể dễ dàng chứng minh quan hệ bất khả phân biệt là một quan hệ Niên khóa 2011 - 2013 4 tương đương. Chúng ta kí hiệu lớp bất khả phân biệt B của x là [x] B . Quan hệ tương đương sẽ làm cho tập đối tượng bị chia thành các phân mãnh lớp tương đương và hội các tập hợp này sẽ tạo ra lại tập đối tượng. Chúng ta hãy quan sát mỗi tập con các thuộc tính đã chia tập hợp các đối tượng trong bảng thành các lớp có cùng đặc trưng giống nhau. Ví dụ trong bảng 1, các đối tượng p1, p6, p7 là bất khả phân biệt bởi thuộc tính outlook. Vì vậy mỗi tập hợp con của các thuộc tính sẽ tạo ra một nhóm các tập đối tượng có cùng các đặc trưng. Các nhóm này được xem như tập cơ sở là khối xây dựng cơ bản của lý thuyết tập thô. 1.3. Xấp xỉ tập hợp Quan hệ tương đương và các lớp tương đương cung cấp các thông tin và các tri thức về các đối tượng mà chúng ta đang xem xét. Ý tưởng chính của lý thuyết tập thô là các không gian xấp xỉ và các xấp xỉ dưới và xấy xỉ trên của một tập hợp. Một tập thô được xác định thông qua xấp xỉ trên và xấp xỉ dưới của nó. Gọi X ⊆ U là một xấp xỉ bằng cách chỉ sử dụng các thông tin chứa trong B bằng cách khởi tạo ra các xấp xỉ B- trên và xấp xỉ B-dưới của X: B X = {x ∈ U: [x] B ⊆ X} B X = {x ∈ U: [x] B ∩ X ≠ ∅ } BN B = B X - B X Trong đó BN B gọi là biên B của X chứa các đối tượng không thể phân lớp theo B. Nêu biên B là một tập hợp rỗng người ta nói tập này là rõ, ngược lại nếu biên B khác rỗng người ta nói tập này là thô. Tập thô có thể được đặc trưng bởi một con số α B (X) = |B(X)| |B(X)| Niên khóa 2011 - 2013 5 Được gọi là độ chính xác của xấp xỉ, trong đó |X| là lực lượng của X ≠ ∅ . Dễ nhận thấy 0<= α B (X) <=1. Nếu α B (X) = 1, X là rõ so với B, và ngược lại, nếu α B (X) < 1, X là thô so với B. 1.4. Rút gọn và lõi Nó dùng để đề cập một tập thuộc tính con mà có thể đặc trưng được đầy đủ tri thức trong cơ sở dữ liệu, điều đó có nghĩa là chúng ta có thể loại bỏ một số dữ liệu thừa từ hệ thông tin trong khi vẫn có thể bảo quản các đặc tính cơ bản của nó. Một rút gọn có thể được coi như là một tập đầy đủ các thuộc tính có nghĩa là nó có thể đại diện cho cấu trúc của lớp. Cho C,D ⊆ A là một tập các thuộc tính điều kiện và quyết định. Chúng ta sẽ gọi C’ ⊆ C là D-Rút gọn của C (rút gọn tương ứng của D), nếu C’ là một tập con nhỏ nhất của C thỏa γ (C,D) = γ (C’,D) Giao của tất cả D-Rút gọn được gọi là D-Lõi (Lõi tương ứng của D). Vì lõi là giao của tất cả rút gọn nên nó là một tập các thuộc tính của các rút gọn hợp lệ và do đó nó bao gồm tất cả các thuộc tính không thể gở ra khỏi hệ thông tin mà không gây ra sự sụp đổ trong cấu trúc của lớp tương đương. 1.5. Ma trận bất khả phân biệt Cho hệ thông tin T = (U, C, D) với U={u1, u2, …., un}, ma trận phân biệt của nó M là một ma trận n x n, trong đó mỗi phần tử m cho một cặp (x,y) được định nghĩa như sau. m ij = λ , u i (D) = u j (D) ={c ∈ C | u i (c) ≠ u j (c)} , u i (D) ≠ u j (D)} Niên khóa 2011 - 2013 6 Ý nghĩa của phần tử m là các đối tượng x, y có thể được phân biệt bởi bất kì thuộc tính nào trong m. Nếu m ij = λ hàm ý các đối tượng x, y không phân biệt được trên tập thuộc tính quyết định D. Nếu m ij = ∅ thì bảng quyết định là không nhất quán (x, y bằng nhau thuộc tính điều kiện nhưng khác nhau trong thuộc tính quyết định). Ví dụ cho ma trận Ma trận bất khả phân biệt tương ứng là: 2. Các thuật toán tìm rút gọn Từ các khái niệm và thuật ngữ đã được tìm hiểu ở trên chúng ta đi vào một số thuật toán để thấy được bản chất của vấn đề rút gọn các tập thuộc tính và đây là cơ sở để hiểu được phần nào các thuật toán tìm tập rút gọn trong một hệ thông tin 1.6. Tìm rút gọn dựa trên hàm phân biệt Niên khóa 2011 - 2013 7 Cho hệ thông tin T = (U, C, D) với U={u1, u2, …., un} có ma trận phân biệt M = “m ij ”, hàm phân biệt f t của T được xây dựng như sau f t = , , , { | } ij i j i j m ij ij ij m m c < ≠∅ ∧ ∨ ∈ Ví dụ từ ma trận M Ta có hàm phân biệt sau: f t = ( ) ( )a c b c a b∨ ∧ ∧ ∧ ∨ Sử dụng các tính chất trong đại số Boolean ta có thể đưa về các dạng chuẩn tắc, từ đó ta sẽ tìm ra được các rút gọn của hệ thông tin. Sau khi rút gọn ta được f t = b c ∧ từ đó ta tìm được một rút gọn của hệ thông tin là {b, c} 1.7. Tìm rút gọn dựa trên chiến lược Johnson Trong thuật toán trên đòi hỏi một độ phức tạp rất lớn về thời gian và không gian lưu trữ. Để khắc phục nhược điểm trên Johnson đưa ra một thuật toán vẫn dựa vào ý nghĩa của ma trận bất khả phân biệt nhưng không cần phải lưu trữ ma trận bất khả phân biệt. Thay vào đó là xác định số cặp phân biệt được đối với từng thuộc tính điều kiện. Xét hệ thông tin T = (U, C, D) với U={u1, u2, …., un}, Với bất kì B ⊆ C và X ⊆ U, quan hệ tương đương IND(B) giới hạn trên tập X được ký hiệu là IND x (B) và tập các lớp tương đương tạo bởi quan hệ này là [IND x (B)] Niên khóa 2011 - 2013 8 Với thuộc tính a ∈ A, giả sử [IND x (a)] = {X 1 , X 2 , …., X m }. Đặt x = |X| và x i = |X i |, i = 1,…, m. Số W x (a) các cặp đối tượng trong X phân biệt nhau tại thuộc tính a được tính từ công thức: 2 2 1 W ( ) 2 2 m i j i i j x i x x x x a ≠ = − = = ∑ ∑ Nếu R ⊆ C là một rút gọn của C thì mọi cặp đối tượng bằng nhau trên R cũng bằng nhau trên D, hay nói cách khác W R (D) = 0. Dựa vào ý tưởng này người ta xây dựng một thuật toán tìm tập rút gọn xuất phát từ tập R = ∅ và bổ sung dần các thuộc tính vào R cho đến khi nhận được W R (D) = 0. Thuật toán Vào: Hệ thông tin T = (C, D) Ra: Tập rút gọn R Phương pháp: 1. R = ∅ ; L = {U} 2. Repeat 3. For c j ∈ C For X i ∈ L Tìm [IND i x (c j )] Tìm W i x (c j ) End Tính W U R (c j ) = W 1 x (c j ) + … + W m x (c j ) End 4. Chọn thuộc tính c j có giá trị W U R (c j ) nhỏ nhất 5. R = R ∪ c j Niên khóa 2011 - 2013 9 6. L = [IND 1 x (c j )] ∪ … ∪ [IND m x (c j )] 7. Nếu W U R (c j ) = 0 hoặc R = C Dừng Ngược lại thực hiện lại bước 2. Ví dụ Cho hệ thông tin sau: Đặt c 1 = Đau đầu, c 2 = Đau cơ, c 3 = Thân nhiệt 1. R = ∅ ; L = {U} 2. Repeat 3. [IND 1 x (c 1 )] = {{u1, u2, u3}, {u4, u5, u6}} W L R (c 1 ) = W 1 x (c 1 ) = ½(3 2 -1 2 -2 2 ) + ½(3 2 -2 2 -1 2 ) = 2 [IND 1 x (c 2 )] = {{u1, u2, u3, u4, u6}, {u5}} W L R (c 2 ) = W 1 x (c 2 ) = 6 + 0 = 6 [IND 1 x (c 3 )] = {{u1, u4}, {u2, u5}{u3, u6}} W L R (c 3 ) = W 1 x (c 2 ) = 1 + 0 + 0 = 1 4. Chọn c 3 do W L R (c 3 ) nhỏ nhất bằng 1 Niên khóa 2011 - 2013 10 [...]... mong được nhận xét của thầy Và cám ơn thầy đã theo dõi phần tiểu luận của em Niên khóa 2011 - 2013 25 Tài liệu tham khảo [1] PGS.TS ĐỖ PHÚC, các slide Khai phá dữ liệu và kho dữ liệu [2] PGS.TS ĐỖ PHÚC, giáo trình Khai thác dữ liệu [3] HỒ THUẦN, HOÀNG THỊ LAN GIAO, một số thuật toán tìm tập rút gọn sử dụng ma trận phân biệt được [4] HỒ THUẦN, HOÀNG THỊ LAN GIAO, một số thuật toán tìm tập rút gọn sử dụng. .. như tìm tập rút gọn, đưa ra các luật và phân loại đối tượng… Bài tiểu luận này chỉ đi vào một phần tương đối nhỏ, tổng quát của tập thô đó là quá trình tìm ra tập rút gọn trong hệ thông tin Từ các khái niệm tổng quá em đã đưa ra một vài thuật toán để tìm ra các tập rút gọn trong một hệ thông tin Đồng thời viết ra một ứng dụng thực thi một thuật toán đã mô tả Các nghiên cứu này đã giúp cho em có được. .. lượng thuộc tính C của hệ thông tin Sau đó nhập các giá trị c tương ứng trong từng ô Sau khi nhập xong nhấn nút tìm rút gọn Chương trình sẽ đưa ra tập rút gọn tìm được Dữ liệu thứ 1: Niên khóa 2011 - 2013 20 Dữ liệu thứ 2: Niên khóa 2011 - 2013 21 Dữ liệu thứ 3: Niên khóa 2011 - 2013 22 1.11 Nhận xét: Ưu điểm - Thuật toán đã cài đặt thành công và thu được kết quả chính xác trong trường hợp có nhiều... phần lập trình chưa được tối ưu và gọn nhẹ nhất có thể mong thầy có thể thông cảm Niên khóa 2011 - 2013 24 4 Kết luận Tập thô chủ yếu dùng để phân loại các thông tin không chính xác, không chắc chắn, không đầy đủ hoặc các kiến thức được thể hiện trong các dữ liệu thu được từ kinh nghiệm Nó chủ yếu phân biệt sự khác nhau giữa các đối tượng từ đó xếp chúng vào các lớp cụ thể từ đó có thể phát sinh ra các... thể thấy được những hướng đi rất tốt mà sau này có thể áp dụng được trong cuộc sống hiện tại Dữ liệu của thế giới thực hiện giờ là rất khổng lồ Nếu có thể áp dụng được những gì vừa nghiên cứu được và mở rộng sâu hơn sẽ có thể tạo ra những sản phẩm vô cùng hữu ích trong cuộc sống Mặc dù đã cố gắng hết sức nhưng do hạn chế về mặt thời gian cũng như kiến thức nên phần tiểu luận không khỏi tránh được những... W x (c j ) giống nhau Điều chưa i được xử lý đầy đủ trong phần thuật toán - Không cần phải tốn không gian lưu trữ để lưu ma trận bất khả phân biệt - Người dùng có thể nhập động hoàn toàn các thuộc tính cũng như các đối tượng để đưa vào bài toán - Phần cài đặt đã được đi đúng với các bước của thuật toán, đồng thời có những bước tinh chỉnh để giúp cho thuật toán tìm được đầy đủ nhất, đồng thời có những... thuật toán kết thúc ta được R = { c 3 , c 1 } hoặc R = { c 3 , c 2 } 3 Cài đặt thuật toán Johnson Ứng dụng minh họa được lập trình trên nền net Ngôn ngữ lập trình c# được viết trên bộ công cụ visual studio 2008 Niên khóa 2011 - 2013 11 1.8 Các hàm để nhập, xuất dữ liệu phục vụ cho bài toán - Hàm này để thay đổi số thuộc tính đầu vào, từ thuộc tính đầu vào sẽ tạo ra giao diện nhập hệ thông tin private void... - Hàm “GetMinY” thực hiện các bước 2, 3 trong thuật toán Mô tả hàm Ban đầu hàm nhận giá trị R, L vào Lặp tất cả thuộc tính c j , nếu thuộc tính đó đã có trong R thì ta sẽ không xét nữa Tiếp theo lặp các X thuộc L Trong mỗi vòng lặp ta tính ra được các [IND x (c j )] và W x (c j ) Đồng thời có i i một biết y để lưu tổng các W x (c j ) vừa tìm được i Sau khi hàm được chạy xong ta trả lại kết quả cho hàm... toán tìm tập rút gọn sử dụng ma trận phân biệt được [4] HỒ THUẦN, HOÀNG THỊ LAN GIAO, một số thuật toán tìm tập rút gọn sử dụng ma trận phân biệt được [5] Slide Trí tuệ nhân tạo, nhận dạng trường ĐHKHTN [6] PRERNA MAHAJAN, REKHA KANDWAL, RITU VIJAY, Rough set approach in machine learning: a review 10/10/2012 Niên khóa 2011 - 2013 26 ... tránh tình trạng dư thừa dữ liệu Niên khóa 2011 - 2013 23 Khuyết điểm - Do thuật toán khá phức tạp đòi hỏi đệ quy khá lớn trong nhiều trường họp có W xi (c j ) giống nhau Tương ứng với mỗi trường hợp ta lại có các R khách nhau Chính vì điều này là gia tăng mức độ khó khăn trong việc cài đặt thuật toán - Từ các trường hợp khác nhau trong R đã nêu trên sau khi đã cài đặt và xử lý được, ta lại gặp trường . HỌC CÔNG NGHỆ THÔNG TIN CHƯƠNG TRÌNH ĐÀO TẠC THẠC SĨ CNTT QUA MẠNG TẬP THÔ TRONG KHAI PHÁ DỮ LIỆU TÌM TẬP RÚT GỌN SỬ DỤNG MA TRẬN PHÂN BIỆT ĐƯỢC Bộ môn: Khai phá dữ liệu và kho dữ liệu Giáo viên. về tập thô. Trong đó tập trung phần lớn vào bài toán tìm ma trận tập rút gọn sử dụng ma trận phân biệt được để quá đó cho chúng ta thấy rõ tại sao việc phân tích tập thô lại có thể được sử dụng. thấy được bản chất của vấn đề rút gọn các tập thuộc tính và đây là cơ sở để hiểu được phần nào các thuật toán tìm tập rút gọn trong một hệ thông tin 1.6. Tìm rút gọn dựa trên hàm phân biệt Niên

Ngày đăng: 09/04/2015, 22:01

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan