IDSS: Overview of Themes AI Introduction Overview IDT Attribute-Value Rep. Decision Trees Induction CBR Introduction Representation Similarity Adaptation Rule-based Inference & Expert Systems Computational Complexity AI Method: Synthesis Tasks AI Planning Uncertainty (MDP, Utility, Fuzzy logic) Applications to IDSS: Analysis Tasks Help-desk systems Classification Diagnosis Prediction Design Textual CBR Synthesis Tasks KBPP Configuration Software Eng. E-commerce Knowledge Management
Similarity in CBR Sources: –Chapter 4 – –
Computing Similarity Similarity is a key (the key?) concept in CBR We saw that a case consists of: We saw that the CBR problem solving cycle consists of: similarity Problem Solution Adequacy Retrieval Reuse Revise Retain similarity We will distinguish between: Meaning of similarity Formal axioms capturing this meaning
Meaning of Similarity Observation 1: Similarity always concentrates on one aspect or task: There is no absolute similarity Example: Two cars are similar if they have similar capacity (two compact cars may be similar to each other but not to a full-size car) Two cars are similar if they have similar price (a new compact car may be similar to an old full-size car but not to an old compact car) When computing similarity we are doing some sort of abstraction of the cases
Meaning of Similarity (2) Observation 2: Similarity is not always transitive: Example: I define similar to mean “within walking distance” “Lehigh’s book store” is similar to “Café Havana” “Café Havana” is similar to “Perkins” “Perkins” is similar to “Monrovia book store” … But: “Lehigh’s book store” is not similar to “Best Buy” in Allentown ! The problem is that the property “small difference” cannot be propagated
Meaning of Similarity (3) Observation 3: Similarity is not always symmetric: Example: The problem is that in general the distance from an element to a prototype of a category is larger than the other way around “Mike Tyson fights like a lion” But do we really want to say that “a lion fights like Mike Tyson”?
Similarity and Utility in CBR Utility: measure of the improvement in efficiency as a result of a body of knowledge (We’ll come back to this point) The goal of the similarity is to select cases that can be easily adapted to solve a new problem Similarity = Prediction of the utility of the case However: The similarity is an a priori criterion The utility is an a posteriori criterion Ideal: Similarity makes a good prediction of the utility
Axioms for Similarity There are 3 types of axioms: Binary similarity predicate “x and y are similar” Binary dissimilarity predicate “x and y are dissimilar” Similarity as order relation: “x is at least as similar to y as it is to z” Observation: The first and the second are equivalent The third provides more information: grade of similarity
Similarity Relations We want to define a relation: R(x,y,z) iff “x is at least as similar to y as it is to z” First lets consider the following relation: S(x,y,u,v) iff “x is at least as similar to y as u is similar to v” Definition of R in terms of S: R(x,y,z) iff S(x,y,x,z)
Similarity Relations (2) Possible requirements on the relation S: S(x,x,u,v) S(x,y,y,x) S(x,y,u,v) & S(u,v,s,t) S(x,y,s,t) S(x,y,u,v) iff S(y,x,u,v) iff S (x,y,v,u)
Similarity Relations (3) In CBR we have an object x fixed when computing similarity. Which x? The new problem We are looking for a y such that y is the most similar to x. In terms of R this be seen as: z: R(x,y,z) Given a problem x we can define an ordering relation x as follows : y x z iff R(x,y,z) y > x z iff (y x z and ¬ z x y) y ~ x z iff (y x z and z x y)
Similarity Metric We want to assign a number to indicate the similarity between a case and a problem Definition: A similarity metric over a set M is a function: sim: M M [0,1] Such that: For all x in M: sim(x,x) = 1 holds For all x, y in M: sim(x,y) = sim(y,x) “ the closer the value of sim(x,y) to 1, the more similar is x to y”
Similarity Metric (2) Given a similarity metric: sim: M M [0,1], it induces a similarity relation S sim (x,y,u,v) and x as follows: S sim (x,y,u,v) iff sim(x,y) sim(u,v) y x z iff sim(x,y) sim(x,z) sim provides a quantitative value for similarity: 01 y1y1 y2y2 y3y3 y4y4 sim(x, y i ) Thus y 4 is more similar to x
Distance Metric Definition: A distance function over a set M is a function: d: M M [0, ) Such that: For all x in M: d(x,x) = 0 holds For all x, y in M: d(x,y) = d(y,x) Definition: A distance function over a set M is a metric if: For all x, y in M: d(x,y) = 0 holds then x = y For all x, y, z in M: d(x,z) + d(z,y) d(x,y)
Relation between Similarity and Distance Metric Given a distance metric, d, it induces a similarity relation S d (x,y,u,v), x as follows: For all x, y, u, v: S(x,y,u,v) holds if For all x, y, z: y x z if Definition: A similarity metric sim and a distance metric d are compatible iff: for all x,y, u, v: S d (x,y,u,v) iff S sim (x,y,u,v) d(x,y) d(u,v) d(x,y) d(x,z)
Relation between Similarity and Distance Metric (2) Property: Let f: [0, ) (0,1] Be a bijective and order inverting (if u< v then f(v) < f(u)) function such that: f(0) = 1 f(d(x,y)) = sim(x,y) then d and sim are compatible If d(x,y) sim(u,v) f(d(x,y)) > f(d(u,v))
Relation between Similarity and Distance Metric (3) F(x) can be used to construct sim giving d. Example of such a function is: if you have the Euclidean distance: d((x,y),(u,v)) = sqr((x-u) 2 + (y-v) 2 ) Since f(x) = 1 – (x/(x+1)) meets the property before Then: sim((x,y),(u,v))) = f(d((x,y),(u,v))) = 1 – (d((x,y),(u,v)) /(d((x,y),(u,v)) +1)) is a similarity metric
Relation between Similarity and Distance Metric (3) The function f(x) = 1 – (x/(x+1)) is a bijective function from [0, ) into (0,1]: 0 1
Homework (Oct 23) Find another order-inverting function and prove it