640 likes | 765 Vues
This chapter delves into the principles of Dissimilarity Analysis through Knowledge Representation Systems. We differentiate between condition and decision attributes, focusing on pattern recognition tasks like identifying minimal descriptions for digits and constructing consistent tables. The core of this study includes finding core and reduct attributes, analyzing equivalence relations, and determining decision rules. Ultimately, we highlight the significance of core attributes in effective decision-making and provide insights into computational methods for attribute selection.
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}