640 likes | 758 Views
Chapter 10 DISSIMILIRATY ANALYSIS. Presented by: Turkov. Eugene Class id : 113 and Minfang Tao Class id : 112 Professor: Dr. T.Y. Lin. Introduction. In Chapter 8 and 9 we focused on decision tables in which condition and decision attributes were distinguished:. Indroduction.
E N D
Chapter 10DISSIMILIRATY ANALYSIS Presented by: Turkov. Eugene Class id : 113 and Minfang Tao Class id : 112 Professor: Dr. T.Y. Lin
Introduction • In Chapter 8 and 9 we focused on decision tables in which condition and decision attributes were distinguished:
Indroduction • In this chapter we are going to discuss Knowledge Representation Systems in which neither condition nor decision attributes are distinguished.
Pattern Recognition - Task • “Our task is to find a minimal description of each digit and the corresponding decision algorithms.”
Pattern Recognition–Steps for The Task • 1. Make sure that the table is consistent. If it is not, create a new consistent table from it. • 2. Find the attribute(column) reduct, and create a new table that only includes the attributes which are members of the reduct. • 3. Compute core and reduct values for each decision rule.
Pattern Recognition - Consistent • Each row in the original table is unique, hence the table is consistent.
Pattern Recognition –Finding Core Attributes Convert the table to seven equivalence relations: U/a={ {1,3,4,6,7,8,9,10 } ,{2,5 } } U/b={ {1,2,3,4,5,8,9,10 } ,{6,7 } } U/c={ {1,2,4,5,6,7,8,9,10 } ,{3 } } U/d={ {1,3,4,6,7,9,10 } ,{2,5,8 } } U/e={ {1,3,7,9 } ,{2,4,5,6,8,10 } } U/f={ {1,5,6,7,9,10 } ,{2,3,4,8 } } U/g ={ {1,2,8 } ,{3,4,5,6,7,9,10 } }
Pattern Recognition – Find Core Attributes The process for computing the Indiscernibility for all equivalnce relations: U/IND(a,b)={ {1,3,4,8,9,10 } ,{6,7 } ,{2,5 } } U/IND(a,b,c)={ {1,4,8,9,10 } ,{3 } ,{6,7 } ,{2,5 } } U/IND(a,b,c,d)={ {1,4,9,10 } ,{8 } ,{3 } ,{6,7 } ,{2,5 } } U/IND(a,b,c,d,e)={ {1,9 } ,{4,10 } ,{8 } ,{3 } ,{7 } ,{6 } ,{2,5 } } U/IND(a,b,c,d,e,f)={ {1,9 } ,{10 } ,{4 } ,{8 } ,{3 } ,{7 } ,{6 } ,{5 } ,{2 } } U/IND(a,b,c,d,e,f,g )={ {1 } ,{9 } ,{10 } ,{4 } ,{8 } ,{3 } ,{7 } ,{6 } ,{5 } ,{2 } }
Pattern Recognition – Find Core Attributes Finally, we got: U/IND(ALL R) = U/IND(a,b,c,d,e,f,g )= { {1 } ,{9 } ,{10 } ,{4 } ,{8 } ,{3 } ,{7 } ,{6 } ,{5 } ,{2 } } Computing U/IND(R-x) : U/IND(R-a) = { {1 } ,{9 } ,{10 } ,{4 } ,{5 } ,{2,8 } ,{3 } ,{7 } ,{6 } } U/IND(R-a) ! = U/IND(R) U/IND(R-b) = { {1 } ,{7,9 } ,{6,10 } ,{4 } ,{8 } ,{3 } ,{5 } ,{2 } } U/IND(R-b) ! = U/IND(R) U/IND(R-c) = { {1 } ,{9 } ,{3 } ,{10 } ,{4 } ,{8 } ,{7 } ,{6 } ,{5 } ,{2 } } U/IND(R-c) = = U/IND(R)
Pattern Recognition – Find Core Attributes U/IND(R-d) = { {1 } ,{9 } ,{10 } ,{8 } ,{4 } ,{3 } ,{7 } ,{6 } ,{5 } ,{2 } } U/IND(R-d) = = U/IND(R) U/IND(R-e) = { {1 } ,{9,10 } ,{4 } ,{8 } ,{3 } ,{6,7 } ,{5 } ,{2 } } U/IND(R-e) ! = U/IND(R) U/IND(R-f) = { {1 } ,{9 } ,{4,10 } ,{8 } ,{3 } ,{7 } ,{6 } ,{2 } ,{5 } } U/IND(R-f) ! = U/IND(R) U/IND(R-g ) = { {1,9 } ,{10 } ,{4 } ,{8 } ,{3 } ,{7 } ,{6 } ,{5 } ,{2 } } U/IND(R-g ) ! = U/IND(R) We have determined that c and d are dispensable and our core attributes are: {a, b, e, f, g}
Pattern Recognition – Find Rreduct Attributes • Finding reduct attributes by using core attributes: • U/IND(a,b,e,f,g) = { {1 } ,{9 } ,{10 } ,{8 } , {4 } ,{3 } ,{7 } ,{6 } ,{5 } ,{2 } } • U/IND(a,b,e,f,g) == U/IND(a,b,c,d,e,f,g) • (a,b,e,f,g) is one and only one reduct of the original table. • (a,b,e,f,g)=>(c,d).
Pattern Recognition – Find Core Attributes Reduct Table – It is consistent
Pattern Recognition – Find Core Attributes After removing attribute {a}, the table is inconsistent
Pattern Recognition – Find Core Attributes After removing attribute {b}, the table is inconsistent
Pattern Recognition – Find Core Attributes After removing attribute {e}, the table is inconsistent
Pattern Recognition – Find Core Attributes After removing attribute {f}, the table is inconsistent
Pattern Recognition – Find Core Attributes After removing attribute {g}, the table is inconsistent
Pattern Recognition – Decision Rules Attributes {a, b, e, f, g} are not only conditions, but they are also decisions.
Pattern Recognition – Decision Rules For the sake of illustration, we extend this table .
Pattern Recognition – Decision Rules • U/IND(a,b,e,f,g) = U/IND(a’,b’,e’,f’,g’)= {{1},{2},{3},{4}, {5},{6},{7},{8},{9}, {10}} . • To simplify the table, we use one attribute t= {1,2,3,4,5,6,7,8,9,10} to replace attribute (a’,b’,e’,f’,g’). • U/IND(t) == U/IND(a’,b’,e’,f’,g’) • {a, b, e, f, g} are conditions, the {t} is decision.
Pattern Recognition – Decision Rules Computing core and reducts valueswill depend on this regular decision table.
Pattern Recognition - Decision Rules • Method 1 for finding reducts for each rule. • F={{a}, {b}, {e}, {f}, {g}} • All subfamilies G ⊆ to F+ • G={{a}, {b}, {e}, {f}, {g}, {ab}, {ae}, {af}, .. {be}, …..{eg}, {fg} {abe}, {abf}, {abg}, {bef}, {beg}, {ebg}, {abef}, {abeg}, {befg},{abefg} }. • The relationship for the elements in G is intersection :{abe}={a} {b} {e} • Using G to find reducts.
Pattern Recognition - Decision Rules • Method 2 for finding reducts for each rule. (Pawlak’s method) • Find core value for every rule • Testing this core value is reduct value? • If it is reduct value, we can say this rule has only one reduct value. • If it is not reduct value, we will add an uncore value into it, then test are they reduct value? • Repeat, until find all reduct values.
Pattern Recognition - Decision Rules Computing core for every rule -- rule 1 In rule 1 {a={1,3,4,6,7,8,9,10}, b={1,2,3,4,5,8,9,10}, e={1,3,7,9}, f={1,5,6,7,9,10}, g={1,2,8}} and Decision for rule 1 is [1]t={1} Removing a, Intersection (b,e,f,g) = {1} == [1]t Removing b, Intersection (a,e,f,g) = {1} == [1]t Removing e, Intersection (a,b,f,g) = {1} == [1]t Removing f, Intersection (a,b,e,g) = {1} == [1]t Removing g, Intersection (a,b,e,f) = {1,9} != [1]t g is the core value.
Pattern Recognition - Decision Rules Computing core for every rule -- rule 2 In rule 2 {a={2,5}, b={1,2,3,4,5,8,9,10}, e={2,4,5,6,8,10}, f={2,3,4,8}, g={1,2,8}}and Decision for rule 2 is[2]t={2} Removing a, Intersection (b,e,f,g) = {2,8} != [2]t ={2} Removing b, Intersection (a,e,f,g) = {2} == [2]t ={2} Removing e, Intersection (a,b,f,g) = {2} == [2]t ={2} Removing f, Intersection (a,b,e,g) = {2} == [2]t ={2} Removing g, Intersection (a,b,e,f) = {2}== [2]t ={2} a is the core value.
Pattern Recognition - Decision Rules Computing core for every rule -- rule 3 In rule 3 {a={1,3,4,6,7,8,9,10}, b={1,2,3,4,5,8,9,10}, e={1,3,7,9},f={2,3,4,8}, g={3,4,5,6,7,9,10}} and Decision for rule 3 is[3]t={3} Removing a, Intersection (b,e,f,g) = {3} == [3]t Removing b, Intersection (a,e,f,g) = {3} == [3]t Removing e, Intersection (a,b,f,g) = {3,4} != [3]t Removing f, Intersection (a,b,e,g) = {3,9} != [3]t Removing g, Intersection (a,b,e,f) = {3}== [3]t e and f are the core values.
Pattern Recognition - Decision Rules Computing core for every rule -- rule 4 Core values :e, f, g Computing core for every rule -- rule 5 Core values :a Computing core for every rule -- rule 6 Core values :b, e Computing core for every rule -- rule 7 Core values :b, e Computing core for every rule -- rule 8 Core values :a, g Computing core for every rule -- rule 9 Core values :b, e, f, g Computing core for every rule -- rule 10 Core values :a, b, e, f
Pattern Recognition - Decision Rules The core valuestable:
Pattern Recognition - Decision Rules Computing reduct values by using core values -- rule 1 In rule 1 {a={1,3,4,6,7,8,9,10}, b={1,2,3,4,5,8,9,10}, e={1,3,7,9}, f={1,5,6,7,9,10}, g={1,2,8}} and Intersection(a,b,e,f,g) = [1]t={1} and the core value is g. g ! = [1]t, so g is not reduct value. Intersection (a,g)={1,8}!= [1]t= {1} ; Intersection(b,g)={1,2,8} != [1]t= {1}; Intersection(e,g)={1} == [1]t= {1} ; Intersection(f,g)={1} == [1]t= {1} ; Intersection (a,b,g)={1,8}!= [1]t= {1} ; Reducts values are { {e, g}, {f, g} }
Pattern Recognition - Decision Rules Computing reduct values by using core values -- rule 2 In rule 2 {a={2,5}, b={1,2,3,4,5,8,9,10}, e={2,4,5,6,8,10}, f={2,3,4,8}, g={1,2,8}}and Intersection(a,b,e,f,g) = [2]t={2} and the core value is a. a ! = Intersection(a,b,e,f,g) , so a is not reduct value. Intersection(a,b)={2,5} != [2]t= {2} ; Intersection(a,e)={2,5}!= [2]t= {2}; Intersection(a,f)={2}== [2]t= {2} ; Intersection(a,g)={2}== [2]t= {2} ; Intersection (a,b,e)={2, 5}!= [2]t= {2} ; Reducts values are { {a, f}, {a, g} }
Pattern Recognition - Decision Rules Computing reduct values by using core values -- rule 3 In rule 3 {a={1,3,4,6,7,8,9,10},b={1,2,3,4,5,8,9,10},e={1,3,7,9},f={2,3,4,8}, g={3,4,5,6,7,9,10}}and Intersection(a,b,e,f,g) = [3]t={3} and the core value is e, f. Intersection(e,f) ={3} == [3]t={3} { {e, f} } are not only core value ,but they also are reduct value and they are only on reduct value for rule 3.
Pattern Recognition - Decision Rules For rule 8, there are two reduct values:{ {a, e, g} and {a, f, g} }
Pattern Recognition - Decision Rules • The rule {3, 4, 6, 7, 9,10} have only one reduct value, so they are already reducted. • Because the four decision rules {1, 2, 5 ,8 } have two reduced forms, we have altogether 16 (2*2*2*2) minimal decision algorithms.
Pattern Recognition - Decision Rules Getting 16 minimal decision algorithms
Pattern Recognition - Decision Rules {1, 2, 4 ,8 } have two reduced forms, we have altogether 16 minimal decision algorithms -- Table 1
Pattern Recognition - Decision Rules {1, 2, 4 ,8 } have two reduced forms, we have altogether 16 minimal decision algorithms -- Table 2
Pattern Recognition - Decision Rules {1, 2, 4 ,8 } have two reduced forms, we have altogether 16 minimal decision algorithms -- Table 16
Pattern Recognition - Decision Rules Other format to represent this algorithm
Appendix • A: Split decision table to consistent and totally inconsisten tables • B: Using G to find reduct values
Appendix-A • Split decision table to consistent and totally inconsisten tables
Decision table • a b c are conditions , d e are decisions
Ind(Condition) and Ind(Decision) • U/IND(ALL R) =U/IND(a,b,c)= { {1,5 } ,{4 } ,{2,8 } ,{3 } ,{7 } ,{6 } } • U/IND(ALL R) =U/IND(d,e)= { {1 } ,{4 } ,{2,7 } ,{3,6 } ,{5,8 } }
Computing….. • Check Set:{3} is belong to Set:{5,8}, it is false, {3} is throwed. • Check Set:{3} is belong to Set:{3,6}, it is true.The set {3} is selected, {3} • Check Set:{3} is belong to Set:{1}, it is false, {3} is throwed. • Check Set:{3} is belong to Set:{2,7}, it is false, {3} is throwed. • Check Set:{3} is belong to Set:{4}, it is false, {3} is throwed. • Check Set:{2,8} is belong to Set:{5,8}, it is false, {2,8} is throwed. • Check Set:{2,8} is belong to Set:{3,6}, it is false, {2,8} is throwed. • Check Set:{2,8} is belong to Set:{1}, it is false, {2,8} is throwed. • Check Set:{2,8} is belong to Set:{2,7}, it is false, {2,8} is throwed. • Check Set:{2,8} is belong to Set:{4}, it is false, {2,8} is throwed. • Check Set:{4} is belong to Set:{5,8}, it is false, {4} is throwed. • Check Set:{4} is belong to Set:{3,6}, it is false, {4} is throwed. • Check Set:{4} is belong to Set:{1}, it is false, {4} is throwed. • Check Set:{4} is belong to Set:{2,7}, it is false, {4} is throwed. • Check Set:{4} is belong to Set:{4}, it is true.The set {4} is selected, {3} U {4} • Check Set:{1,5} is belong to Set:{5,8}, it is false, {1,5} is throwed.
Computing….. • Check Set:{1,5} is belong to Set:{3,6}, it is false, {1,5} is throwed. • Check Set:{1,5} is belong to Set:{1}, it is false, {1,5} is throwed. • Check Set:{1,5} is belong to Set:{2,7}, it is false, {1,5} is throwed. • Check Set:{1,5} is belong to Set:{4}, it is false, {1,5} is throwed. • Check Set:{6} is belong to Set:{5,8}, it is false, {6} is throwed. • Check Set:{6} is belong to Set:{3,6}, it is true.The set {6} is selected, {3} U {4} U {6} • Check Set:{6} is belong to Set:{1}, it is false, {6} is throwed. • Check Set:{6} is belong to Set:{2,7}, it is false, {6} is throwed. • Check Set:{6} is belong to Set:{4}, it is false, {6} is throwed. • Check Set:{7} is belong to Set:{5,8}, it is false, {7} is throwed. • Check Set:{7} is belong to Set:{3,6}, it is false, {7} is throwed. • Check Set:{7} is belong to Set:{1}, it is false, {7} is throwed. • Check Set:{7} is belong to Set:{2,7}, it is true.The set {7} is selected, {3} U {4} U {6} U {7} • Check Set:{7} is belong to Set:{4}, it is false, {7} is throwed. POSc(D):{3,4,6,7}