Đơn giản hóa ma trận phân biệt để tìm tập rút gọn (reduct) của tập thuộc tính và cài đặt chương trình thử nghiệm

20 2K 1
Đơn giản hóa ma trận phân biệt để tìm tập rút gọn (reduct) của tập thuộc tính và cài đặt chương trình thử nghiệm

Đ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ẠO THẠC SĨ CNTT QUA MẠNG ۞ University of Information Technology University of Information Technology Khai phá dữ liệu và kho dữ liệu Bài thu hoạch: Đơn giản hóa ma trận phân biệt để tìm tập rút gọn (reduct) của tập thuộc tính và cài đặt chương trình thử nghiệm Giáo viên hướng dẫn: PGS.TS. Đỗ Phúc Người thực hiện : Dương Ngọc Nhân, MSHV: CH1101115 TP.HCM, Tháng 11 năm 2012 Tóm tắt bài thu hoạch 3 1 Phần 1 – Các khái niệm cơ bản của tập thô 4 2 Phần 2 – Đơn giản hóa ma trận phân biệt và cài đặt chương trình 9 Tài liệu tham khảo 20 Dương Ngọc Nhân – Bài Thu Hoạch: Khai phá dữ liệu và kho dữ liệu 2 Tóm tắt bài thu hoạch Bài viết này giới thiệu một phương pháp để tìm một reduct dựa trên việc đơn giản hóa ma trận phân biệt (discernibility matrix). Các phép toán đơn giản ma trận cơ sở được sử dụng và mỗi phép toán biến đổi ma trận tới hình thức đơn giản hơn. Bằng cách áp dụng các phép toán đó cho một số hữu hạn lần thực hiện, một ma trận phân biệt được chuyển đổi thành một ma trận phân biệt chính tắc (tối giản nhất) mà các phần tử của nó hoặc là rỗng hoặc chỉ là tập một phần tử (singleton subsets). Từ đó ta union các phần tử trong ma trận phân biệt để được reduct. Bài viết gồm hai phần chính, phần 1 sẽ sơ lược lại các khái niệm và ý nghĩa cơ bản của lý thuyết tập thô bao gồm bảng hoặc hệ thông tin (information table), bảng quyết định (decision table), quan hệ tương đương, quan hệ bất khả phân biệt, lớp tương đương, ma trận phân biệt và hàm phân biệt (discernibility function). Phần 2 trình bày phương pháp đơn giản hóa ma trận phân biệt và mô tả chương trình cài đặt. Có 2 phần nhỏ trong chương trình, phần đầu xây dựng ma trận phân biệt từ một bảng quyết định cho trước và tìm hàm phân biệt (chưa rút gọn) từ ma trận phân biệt, phần sau đơn giản hóa ma trận phân biệt để được tối giản và tạo ra hàm phân biệt (đã rút gọn - reduct) tù ma trận phân biệt tối giản đó. Em xin gửi lời cảm ơn đến PGS.TS Đỗ Phúc đã tận tình giảng dạy và đưa ra một số định hướng để vận dụng kiến thức từ môn học vào công việc hàng ngày. Bài viết này vẫn cần bổ sung và sữa đổi, rất mong nhận được sự góp ý, khích lệ từ Thầy Cô, bạn bè. Trân trọng Người thực hiện Dương Ngọc Nhân – Bài Thu Hoạch: Khai phá dữ liệu và kho dữ liệu 3 1 Phần 1 – Các khái niệm cơ bản của tập thô Tìm luật theo tiếp cận của lý thuyết tập thô do Z. Pawlak đề xuất vào những năm 80 của thế kỷ XX là một trong những phương pháp đang được nhiều người nghiên cứu và sử dụng trong quá trình khám phá tri thức từ dữ liệu. Dữ liệu trong thực tế thường không đầy đủ, dư thừa hoặc không chính xác gây ảnh hưởng không tốt trong quá trình phát hiện tri thức từ dữ liệu. Ý tưởng “rút gọn” được sử dụng cho phép loại bỏ những thông tin dư thừa mà vẫn giữ được đầy đủ ý nghĩa của tập dữ liệu đang xét. Mục tiêu của việc lựa chọn thuộc tính là tìm ra những thuộc tính cốt yếu và cần thiết trong cơ sở dữ liệu. Dựa vào đó, việc sinh luật và phân lớp có thể đạt hiệu quả cao nhất mà chỉ sử dụng một tập con những thuộc tính đã được lựa chọn. Vì vậy việc tìm tập rút gọn của tập thuộc tính điều kiện là hoàn toàn tự nhiên và cần thiết [5] . 1.1 Bảng thông tin và bảng quyết định Bảng thông tin là một cặp (U, A), trong đó: • U là tập hữu hạn khác rỗng các đối tượng • A là tập hữu hạn các thuộc tính sao cho với mọi a ∈A, a:U  Va • Va được gọi là tập trị của a Bảng dữ liệu trong Bảng 1-1 cho ta 7 đối tượng, từ x1đến x7 và 2 thuộc tính, Age, LEMS, và ta dễ dàng nhận thấy rằng các cặp đối tượng x3, x4 và x5, x7 có giá trị bằng nhau tại cả hai thuộc tính. Khi đó ta nói rằng các đối tượng này không phân biệt từng đôi đối với tập thuộc tính {Age, LEMS} Trong nhiều ứng dụng, tập đối tượng được chia thành các tập đối tượng con bởi một tập các thuộc tính phân biệt được gọi là tập thuộc tính quyết định, bảng thông tin trong trường hợp này được gọi là một bảng quyết định. [4] Bảng quyết định là một bảng thông tin có dạng (U, A {d}) trong đó: • d A là thuộc tính quyết định (có thể có nhiều thuộc tính quyết định) • Các phần tử của A được gọi là các thuộc tính điều kiện Dương Ngọc Nhân – Bài Thu Hoạch: Khai phá dữ liệu và kho dữ liệu 4 Age LEMS x1 16-30 50 x2 16-30 0 x3 31-45 1-25 x4 31-45 1-25 x5 46-60 26-49 x6 16-30 26-49 x7 46-60 26-49 Bảng 1-1 Một bảng thông tin Age LEMS Walk x1 16-30 50 Yes x2 16-30 0 No x3 31-45 1-25 No x4 31-45 1-25 Yes x5 46-60 26-49 No x6 16-30 26-49 Yes x7 46-60 26-49 No Bảng 1-2 Một bảng quyết định A ={Age, LEMS}, d = {Walk} Trong bảng quyết định Bảng 1-2 các cặp đối tượng x3, x4 và x5, x7 có giá trị bằng nhau tại hai thuộc tính điều kiện nhưng cặp {x3, x4} có giá trị khác nhau tại thuộc tính quyết định, trong khi cặp {x5, x7} thì có giá trị bằng nhau tại thuộc tính quyết định. Như vậy có thể biểu diễn lặp lại các đối tượng giống nhau hay bất khả phân biệt và một thuộc tính điều kiện có thể dư thừa. 1.2 Quan hệ tương đương và quan hệ hệ bất khả phân biệt Quan hệ tương đương: quan hệ nhị phân R X x X được gọi là quan hệ tương đương khi và chỉ khi: • R là quan hệ phản xạ: xRx với mọi x ∈X • R là quan hệ đối xứng: xRy => yRx với mọi x,y ∈X • R là quan hệ bắc cầu: xRy và yRz => xRz với mọi x,y,z ∈X Một quan hệ tương đương R sẽ phân hoạch tập đối tượng thành các lớp tương đương, trong đó lớp tương đương của một đối tượng x là tập tất cả các đối tượng có quan hệ R với x. Quan hệ bất khả phân biệt: cho IS = (U, A) là bảng thông tin, với tập B A Có quan hệ tương đương tương ứng: IND IS (B) = {(x,x’) ∈ UxU | a ∈ B, a(x) = a(x’)} • IND IS (B) được gọi là quan hệ bất khả phân theo B (B-indiscernibility relation) • Nếu (x,x’) ∈ IND IS (B) thì các đối tượng x và x’ là không thể phân biệt nhau qua tập thuộc tính B. • Các lớp tương đương của quan hệ bất khả phân biệt theo B được ký hiệu là [x] B Từ bảng 1-1, phân hoạch 7 đối tượng theo thuộc tính theo các thuộc tính thành các lớp tương đương: IND ({Age}) = {{x1, x2, x6}, {x3, x4}, {x5, x7}} IND ({LEMS}) = {{x1}, {x2}, {x3, x4}, {x5, x6, x7}} IND ({Age, LEMS}) = {{x1}, {x2}, {x3, x4}, {x5, x7}, {x6}} 1.3 Rút gọn thuộc tính Trong một bảng quyết định, có các vấn đề dư thừa thông tin như sau: • Có thể biểu diễn lặp đi lặp lại nhiều lần các đối tượng giống nhau hay bất khả phân biệt theo một tập thuộc tính • Một số thuộc tính có thể bị dư nghĩa là có thể loại bỏ chúng mà không làm xấu đi việc phân lớp Dương Ngọc Nhân – Bài Thu Hoạch: Khai phá dữ liệu và kho dữ liệu 5 Để giải quyết vấn đề thứ nhất ta dùng khái niệm lớp tương đương, chỉ cần sử dụng một đối tượng để đại diện cho mỗi lớp tương đương. Còn vấn đề thứ hai là chỉ giữ lại các thuộc tính bảo toàn quan hệ bất khả phân biệt và hệ quả là bảo toàn xấp xỉ tập hợp [2] Định nghĩa Reduct: cho bảng thông tin S, một tập thuộc tính R A được gọi là reduct nếu R thỏa hai điều kiện sau: (i) IND (R) = IND (A) và (ii) (ii) a ∈ R, IND (R – {a}) ≠ IND (A) Điều kiện đầu (i) cho thấy tính đầy đủ của tập thuộc tính R nghĩa là các cặp đối tượng mà không thể phân biệt được từ R thì vẫn không thể phân biệt được từ A. Điều kiện thứ hai (ii) chỉ ra rằng R là tập thuộc tính tối giản hay nhỏ nhất. Có thể có nhiều hơn một reduct trong bảng thông tin và tập tất cả các reduct trong một bảng thông tin ký hiệu là RED (S). [3] 1.4 Ma trận phân biệt và hàm phân biệt Hai đối tượng được xem là phân biệt nếu các giá trị của nó khác nhau trong ít nhất một thuộc tính. Ma trận phân biệt (discernibility matrix) là một ma trận lưu trữ các tập thuộc tính mà phân biệt giữa các cặp đối tượng với nhau. Định nghĩa ma trận phân biệt: cho trước bảng thông tin S, ma trận phân biệt M = (M(x,y)) của S là một ma trận vuông nxn (hoặc |U|x|U|) với n là số các đối tượng, và phần tử M(x,y) cho cặp đối tượng (x,y) trong ma trận là: M(x,y) = {a ∈A | a(x) ≠ a(y)} Ý nghĩa của phẩn tử ma trận M(x,y) là các đối tượng x và y có thể được phân biệt bởi bất kỳ thuộc tính trong M(x,y) và cặp (x,y) có thể được phân biệt nếu M(x,y) ≠ . Do ma trận phân biệt M là đối xứng và có đường chéo rỗng, nên ta chỉ quan tâm đến các phần tử ở một bên đường chéo của ma trận. Ví dụ: cho bảng thông tin với 7 đối tượng (ký hiệu 1 đến 7) và 5 thuộc tính điều kiện (a, b, c, d, e) U a b c d e 1 High Middle Middle Fer1 Pes1 2 Middle Middle Middle Fer2 Pes1 3 Middle High Weak Fer1 Pes2 4 Middle High Middle Fer1 Pes1 5 Low Middle Strong Fer1 Pes1 6 High Middle Middle Fer3 Pes2 7 High High Middle Fer1 Pes2 Bảng 1-3 Dương Ngọc Nhân – Bài Thu Hoạch: Khai phá dữ liệu và kho dữ liệu 6 Ta có ma trận phân biệt 7x7 (ứng với 7 đối tượng) 1 2 3 4 5 6 7 1 2 {a,d} 3 {a,b,c,e} {b,c,d,e} 4 {a,b} {b,d} {c,e} 5 {a,c} {a,c,d} {a,b,c,e} {a,b,c} 6 {d,e} {a,d,e} {a,b,c,d} {a,b,d,e} {a,c,d,e} 7 {b,e} {a,b,d,e} {a,c} {a,e} {a,b,c,e} {b,d} Ma trận 1-1 Quan sát tại hàng 2 cột 1 trên ma trận phân biệt, ta có (x,y) = (2,1) là cặp đối tượng 2 và 1, và {a,d} chỉ ra rằng hoặc thuộc tính a hoặc d phân biệt hai đối tượng. Giả sử ta thêm một thuộc tính quyết định D vào bảng thông tin 1-3 như sau: U a b c d e D 1 High Middle Middle Fer1 Pes1 High 2 Middle Middle Middle Fer2 Pes1 High 3 Middle High Weak Fer1 Pes2 High 4 Middle High Middle Fer1 Pes1 Low 5 Low Middle Strong Fer1 Pes1 Low 6 High Middle Middle Fer3 Pes2 Low 7 High High Middle Fer1 Pes2 Low Bảng 1-4 Đối với bảng quyết định, phân biệt tương đối (relative discernibility) được lưu trữ trong một ma trận (hay còn gọi là ma trận phân biệt tương đối – relative discernibility matrix) mà các phần tử được định nghĩa: M(x,y) = {a ∈C, d ∈D | [a(x) ≠ a(y)] /\ [d(x) ≠ d(y)]} (trong đó x,y ∈U, C là tập các thuộc tính điều kiện, D là thuộc tính quyết định) Nghĩa là M(x,y) = nếu x và y có giá trị giống nhau tại thuộc tính quyết định. Như vậy, ta chỉ xem xét sự phân biệt của các đối tượng có giá trị khác nhau tại thuộc tính quyết định. Từ bảng 1-4 ta có ma trận phân biệt tương đối như sau 1 2 3 4 5 6 7 1 2 3 4 {a,b} {b,d} {c,e} Dương Ngọc Nhân – Bài Thu Hoạch: Khai phá dữ liệu và kho dữ liệu 7 5 {a,c} {a,c,d} {a,b,c,e} 6 {d,e} {a,d,e} {a,b,c,d} 7 {b,e} {a,b,d,e} {a,c} Ma trận 1-2 Một khi ma trận phân biệt được xây dựng nó được xử lý hay tính toán giống nhau cho dù nó là ma trận phân biệt bình thường hay ma trận phân biệt tương đối. Tổng quát hóa định nghĩa ma trận phân biệt dựa trên bảng quyết định: Cho T = (U, C, D) là một bảng quyết định. Trong đó U là tập gồm n đối tượng, C là tập thuộc tính điều kiện, D là tập thuộc tính quyết định, một ma trận phân biệt của T kí hiệu M(T) là ma trận n x n được định nghĩa: { x,y ∈U; c∈ C: c(x) ≠ c(y)} nếu ∃d∈D [d(x) ≠ d(y)] M(x,y) = nếu d∈D [d(x) = d(y)] Hàm phân biệt của một ma trận phân biệt là một dạng chuẩn tuyển chính tắc (minimal disjunctive normal form-DNF) được định nghĩa: f(M) = /\ { (M(x,y)) | x,y∈U, M(x,y) ≠ } Chúng ta tạo ra hàm phân biệt trong đó giá trị trong mỗi ô (mỗi phần tử của ma trận) được kết với nhau bằng phép toán tuyển ( ) và giữa các ô bằng phép toán hội (/\) [1] Từ Ma trận 1-2 ở trên, ta có hàm phân biệt f(a,b,c,d,e) = (a b) /\ (a c) /\ (d e) /\ (b e) (b d) /\ (a c d) /\ (a d e) /\ (a b d e) (c e) /\ (a b c e) /\ (a b c d) /\ (a c) Và để rút gọn hàm phân biệt (reduct) ta dùng luật hút (còn gọi luật hấp thu), luật lũy đẳng, v.v Thuật giải hàm phân biệt: giả sử có một ma trận phân biệt M với n đối tượng F = //hàm phân biệt For y = 1 to n Do For x = y + 1 to n Do If (M (x,y) khác rỗng Then F = F /\ M(x,y) Dương Ngọc Nhân – Bài Thu Hoạch: Khai phá dữ liệu và kho dữ liệu 8 2 Phần 2 – Đơn giản hóa ma trận phân biệt và cài đặt chương trình Trong phần trên sau khi tính hàm phân biệt và dùng các luật để rút gọn các thuộc tính để có một tập con nhỏ nhất được gọi là reduct. Có nhiều phương pháp đã được đề xuất và được kiểm tra cho việc tìm tập reducts hoặc duy nhất một reduct. Nhưng nó đã được chứng minh rằng việc tìm kiếm tập reducts hoặc tìm một reduct tối ưu là NP (Non-derterministic Polynomial) [3] . Trong phần này chúng ta tìm hiểu một phương pháp làm đơn giản ma trận phân biệt trước khi union các giá trị trong các ô để được một reduct. 2.1 Ma trận phân biệt chính tắc (minimum discernibility matrix) Định nghĩa ma trận phân biệt tối thiểu: cho bảng thông tin S với ma trận phân biệt M, một ma trận M 0 = (M 0 (x,y)) được gọi là một ma trận phân biệt chính tắc của M nếu M 0 thỏa các điều kiện sau: (i) Bất kỳ phần tử của M 0 hoặc là rỗng hoặc là tập thuộc tính với duy nhất một phần tử (singleton set) (ii) (x,y)∈U x U [M(x,y) ≠ => (M 0 (x,y) ≠ /\ M 0 (x,y) M(x,y))] (iii) (x,y)∈U x U [M(x,y) = => M 0 (x,y) = ] (iv) (M 0 (x,y)) là một reduct Từ ma trận 1-2 ta có thể tính và thu được hai reducts {a, b, e} và {a, b, c, d}. Như vậy ta có hai ma trận phân biệt chính tắc tương ứng. [3] 2.2 Tương đương, đặc trưng và giống nhau của các ma trận Ma trận phân biệt đơn giản hóa (simplified discernibility matrix): một ma trận M s được gọi là simplified discernibility matrix của ma trận phân biệt M nếu thỏa các điều kiện: (i) (x,y)∈U x U [M(x,y) ≠ => (M s (x,y) ≠ /\ M s (x,y) M(x,y))] (ii) (x,y)∈U x U [M(x,y) = => M s (x,y) = ] Trong phần trình bày này ta chỉ đề cập đến simplified discernibility matrix và gọi tắt là ma trận phân biệt (discernibility matrix). Định nghĩa ba kiểu quan hệ giữa hai ma trận phân biệt: • Hai ma trận phân biệt được gọi là tương đương (equivalence) kí hiệu M 1 ≡M 2 nếu nó có giống nhau tập reduct, RED (M 1 ) = RED (M 2 ) • Một ma trận phân biệt được gọi là đặc trưng (specification) của ma trận phân biệt kia (hoặc M 2 là tổng quát – generalization – của M 1 ) kí hiệu M 1 M 2 nếu như tập reducts của nó là tập con của tập reduct của ma trận kia, RED (M 1 ) RED (M 2 ) Dương Ngọc Nhân – Bài Thu Hoạch: Khai phá dữ liệu và kho dữ liệu 9 • Hai ma trận phân biệt được gọi là giống nhau (similarity) kí hiệu M 1 M 2 nếu nó có giống nhau cùng ít nhất một reduct, RED (M 1 ) RED (M 2 ) ≠ 2.3 Các phép toán ma trận cơ sở Phần tử hút hay hấp thụ (element absorption): cho một phần tử của ma trận phân biệt M(x’,y’) ≠ , nó hút một phần tử khác M(x,y) nếu thỏa điều kiện sau: ≠ M(x’,y’) M(x,y) Nghĩa là giá trị của M(x,y) được thay thế bởi giá trị của M(x’,y’) trong ma trận phân biệt. Ta cũng có thể gọi M(x,y) được hút bở M(x’,y’). Tập thuộc tính phân biệt hai cặp (x’,y’) và (x,y) được cho bởi M(x,y) M(x’,y’) = M(x’,y’). Các thuộc tính trong M(x’,y’) là đủ để phân biệt hai cặp đối tượng (x’,y’) và (x,y) Ma trận hút (matrix absorption): phép toán ma trận hút là một chuỗi của tất cả phép toán của phần tử hút trên các cặcp của các phần tử thỏa điều kiện: ≠ M(x’,y’) M(x,y) Như vậy sau matrix absorption thì không có phần tử nào trong ma trận phân biệt là tập con của phần tử khác. Ma trận thu được bằng cách áp dụng phép toán của một phần tử hút là tương đương với ma trận ban đầu, và ma trận thu được bởi phép toán của ma trận hút là tương đương với ma trận ban đầu. Thực hiện phép toán hút phần tử trong ma trận M. Lấy một phần tử bất kỳ M(x1,y1) ≠ của M và xét phần tử khác M(x2,y2) với M(x1,y1) M(x2,y2) . Giả sử M e là ma trận thu được sau khi thực hiện phép toán hút phần tử với bộ hút M(x1,y1) M(x1,y1) nếu (x,y) = (x2,y2) M e (x,y) = M(x,y) nếu khác Xóa thuộc tính (attribute deletion): cho a ∈ A, phép tính xóa thuộc tính là xóa a từ tất cả các phần tử trong ma trận phân biệt nếu thỏa điều kiện: (M(x,y) ≠ ) [(M(x,y) – {a}) ≠ ] Nói cách khác, thuộc tính a có thể được xóa nếu {a} không là tập một phần tử duy nhất trong M. Xóa tập thuộc tính (attribute set deletion), cho C A, phép tính xóa tập thuộc tính là xóa tất cả các thuộc tính trong C từ tất cả các phần tử trong ma trận phân biệt nếu thỏa điều kiện: (M(x,y) ≠ ) [(M(x,y) – C) ≠ ] Dương Ngọc Nhân – Bài Thu Hoạch: Khai phá dữ liệu và kho dữ liệu 10 [...]... khác, tập thuộc tính C có thể được xóa nếu không có bất kỳ tập con nào của C là một phần tử của M Như vậy, ma trận thu được bằng cách áp dụng phép toán xóa thuộc tính hoặc xóa tập thuộc tính là một ma trận phân biệt đặc trưng của ma trận ban đầu Giả sử Ms là ma trận sau khi xóa thuộc tính d bởi phép toán xóa thuộc tính M(x,y) nếu d M(x,y) – {d} nếu d ∈ M(x,y) Ms(x,y) = M(x,y) Định lý: một ma trận phân biệt. .. toán đơn giản ma trận phân biệt và với số luợng lớn các đối tượng trong thực tế thì không thực sự khả thi • Hiện tại phần cài đặt chương trình chỉ dừng lại với một thuộc tính quyết định duy nhất Nó cần cải tiến cho bài toán tổng quát với m thuộc tính quyết định 2.7 Phụ lục giao diện chương trình Đây là chương trình nhỏ và đơn giản để mô phỏng những kiến thức đã học để tìm ra ma trận phân biệt, hàm phân. .. thích hợp lý của ma trận thay vì xử lý ma trận trực tiếp[3] Trong phạm vi bài thu hoạch này tóm tắt có hệ thống lại các khái niệm cơ bản của tập thô và qua đó trình bày một phương pháp đơn giản hóa trực tiếp trên ma trận phân biệt để tìm reduct và cài đặt chương trình mô phỏng phương pháp Tuy nhiên nó vẫn còn nhiều hạn chế cần phải cải tiến, ví dụ như: • Lấy một thuộc tính bất kỳ (hay thuộc tính đầu tiên... O(n4) 2.5 Cài đặt chương trình Bên cạnh các functions để thêm thuộc tính (attribute) và đối tượng (object) cho việc nhập thông tin vào bảng quyết định, có 4 functions chính: • GenerateDM(): Tạo ra ma trận phân biệt từ bảng quyết định • GenerateDFValue(DataGridView control, bool bDistinction = false): sinh ra hàm phân biệt (chưa rút gọn) từ ma trận phân biệt • SimplifyDM(): đơn giản ma trận phân biệt dùng... một ma trận chính tắc bởi áp dụng một số hữu hạn các phép toán ma trận cơ sở 2.4 Thuật toán xây dựng Reduct dựa trên đơn giản hóa ma trận Chúng ta dùng các phép toán xóa thuộc tính và hút phần tử để đơn giản các phần tử của ma trận theo hàng bởi hàng Xem xét phần tử đang tiến hành đơn giản M(i,j) trong ma trận như hình 1-1 Chúng ta chia ma trận thành hai phần, phần chứa các phần tử đã được đơn giản, ... các phép toán xóa thuộc tính và hút phần tử để thu được ma trận phân biệt chính tắc (đây là function quan trọng nhất trong chương trình) • GenerateDFValue(DataGridView control, bool bDistinction = true): union các phần tử từ ma trận phân biệt chính tắc để được hàm phân biệt đã rút gọn (reduct) Trình bày psedu-code của SimplifyDM() và ví dụ minh họa (phần chi tiết của source code và giao diện người... được đơn giản hóa từ ma trận phân biệt Bước 1: absorbing M(4,1) bởi các phần tử trong do không có phần tử nào trong là tập con của M(4,1) nên ta vẫn được ma trận phân biệt như trên o1 o1 o2 o3 o4 o5 o6 o2 o3 a,b,f a,c a,d c,d,f b,d b,c o4 o5 o6 b,e,f c,e d,e Bước 2: chọn thuộc tính {a} từ M(4,1) và tính C = M(4,1) – {a} = {b,f}, gán lại M(4,1) = {a} Dương Ngọc Nhân – Bài Thu Hoạch: Khai phá dữ liệu và. .. kỳ thuộc tính a trong M(i,j), tính toán tập thuộc tính còn lại C = M(i,j) – {a}, và thay thế M(i,j) bởi {a} Bước 3: hút các phần tử trong bởi {a} và thực hiện xóa C trên các phần tử của Lặp lại ba bước trên cho phần tử kế tiếp phần tử M(i,j) và dừng thuật toán sau khi đã đi hết phần tử trong B hoặc các phần tử đã singleton set Ta có (n2-n)/2 phần tử trong ma trận phân biệt (tức là một nữa ma trận và. .. tính đầu tiên trong coding) của M(i,j) tại bước 2 của thuật toán để gán lại cho M(i,j) và phân tách ra tập con thuộc tính xóa C chỉ thích hợp khi các thuộc tính điều kiện có mức độ quan trọng hay tỉ trọng lớn đã được sắp thứ tự từ trái qua phải trong bảng quyết định Như vậy ta cần cải tiến để chọn ra một thuộc tính thích hợp nhất tại M(i,j) của bước 2 để khỏi xóa đi các thuộc tính cốt lõi • Với độ phức... các phần tử trong ma trận để được Reduct {a, c, d, e} 2.6 Kết luận và hướng cải tiến Việc hiểu và tìm ra reduct là nền móng cơ bản trong lý thuyết tập thô Khái niệm về một ma trận phân biệt cho phép chúng ta thiết lập một nền tảng logic và lý thuyết (theoretical) cho reduct của một bảng thông tin/bảng quyết định Mặc dù có rất nhiều thuật toán xây dựng reduct dựa trên ma trận phân biệt nhưng chúng chủ . trước và tìm hàm phân biệt (chưa rút gọn) từ ma trận phân biệt, phần sau đơn giản hóa ma trận phân biệt để được tối giản và tạo ra hàm phân biệt (đã rút gọn - reduct) tù ma trận phân biệt tối giản. liệu và kho dữ liệu 8 2 Phần 2 – Đơn giản hóa ma trận phân biệt và cài đặt chương trình Trong phần trên sau khi tính hàm phân biệt và dùng các luật để rút gọn các thuộc tính để có một tập con. biệt (discernibility function). Phần 2 trình bày phương pháp đơn giản hóa ma trận phân biệt và mô tả chương trình cài đặt. Có 2 phần nhỏ trong chương trình, phần đầu xây dựng ma trận phân biệt

Ngày đăng: 10/04/2015, 00:07

Từ khóa liên quan

Mục lục

  • Tóm tắt bài thu hoạch

  • 1 Phần 1 – Các khái niệm cơ bản của tập thô

    • 1.1 Bảng thông tin và bảng quyết định

    • 1.2 Quan hệ tương đương và quan hệ hệ bất khả phân biệt

    • 1.3 Rút gọn thuộc tính

    • 1.4 Ma trận phân biệt và hàm phân biệt

    • 2 Phần 2 – Đơn giản hóa ma trận phân biệt và cài đặt chương trình

      • 2.1 Ma trận phân biệt chính tắc (minimum discernibility matrix)

      • 2.2 Tương đương, đặc trưng và giống nhau của các ma trận

      • 2.3 Các phép toán ma trận cơ sở

      • 2.4 Thuật toán xây dựng Reduct dựa trên đơn giản hóa ma trận

      • 2.5 Cài đặt chương trình

      • 2.6 Kết luận và hướng cải tiến

      • 2.7 Phụ lục giao diện chương trình

      • Tài liệu tham khảo

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

Tài liệu liên quan