1 / 35

Dissimilarity Preserving Embedding of Objects on the Plane

Dissimilarity Preserving Embedding of Objects on the Plane. international conference to Celebrate XU Guangqi October 18, 2007. Tetsuo Asano School of Information Science, Japan Advanced Institute of Science and Technology. JAIST: Japan Advanced Institute of Science and Technology.

marcie
Download Presentation

Dissimilarity Preserving Embedding of Objects on the Plane

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Dissimilarity Preserving Embedding of Objects on the Plane international conference to Celebrate XU Guangqi October 18, 2007 Tetsuo Asano School of Information Science, Japan Advanced Institute of Science and Technology

  2. JAIST: Japan Advanced Institute of Science and Technology Sapporo Sendai Kanazawa:金沢 Kyoto Tokyo Fukuoka Nagoya Osaka

  3. j dij dij i a set S of n objects a set of n points in the plane (low-dimensional space) dij: dissimilarity between object i and object j How to embed objects into points so that dissimilarity is reflected as pairwise distance?

  4. General Embedding Problem Given an integer d>0 and a matrix D = (dij) representing dissimilarity of each pair of objects, finding a mapping of objects into points in the d-dimensional space so that pairwise distances are approximately equal to dissimilarities between those corresponding objects. approximation error: |dij - dij|, dij: Euclidean distance between points pi and pj objective function: sum of errors: S |dij - dij| S |dij - dij|2 S |d2ij - d2ij|

  5. Simple example: 3 1 2 3 1 0 3 4 2 0 5 3 0 4 5 dissimilarity matrix and d = 2

  6. Our Problem: (input)n points, p1, ... , pn, in the plane n real values d1, ... , dn (output) a point p that is located at distance approximately equal to di for each point pi objective function: sum of errors: S |d(p, pi) - di| S |d(p, pi)2 - di2| S |d(p, pi) - di|2

  7. 120o 120o 120o 120o 120o 120o Objective function S |d(p, pi) - di| min The problem of finding an optimal location of a new point seems hard: Special case: di = 0 for all i : S d(p, pi) -->min (problem of finding a "geometric median") In general it is a hard problem known as Fermat-Weber Problem 3 points

  8. Objective function S |d(p, pi) - di| min 4 points Case 1: one point inside Case 2: convex position Case 2: intersection of two diagonals is the geometric median Case 1: the internal point is the geometric median.

  9. Objective function S d(p, pi) min No polynomial-time algorithm Approximation algorithm Bose-Maheshwari-Morin '03 e-approximation algorithm O(n log n) time: deterministic O(n) time: randomized Good news: the sum of distances is a convex function. So, local optimum = global optimum

  10. Objective function S |d(p, pi)2 - di2| min Problem: Given n points p1, ... , pn in the plane and n real values d1, ... , dn, find a point p that minimizes S |d(p, pi)2 - d2i|, where d(p, pi) is the distance from p to pi. Special Case: all di = 0 Problem: Find a point p minimizing S d(p, pi)2 This problem can be solved by differentiation: S = S d(p, pi)2 = S (x-xi)2 + (y-yi)2 differentiate S by x and y ==> (x, y) = ( (S xi)/n, (S yi)/n) the centroid is the global optimum.

  11. Objective function S |d(p, pi)2 - di2| min Possibility of Exact Embedding pn+1 = p, define dij = d(pi, pj) if i, j < n+1 dij = di if j=n+1 dij = dj if i=n+1 Problem: Given a matrix D = (dij), i,j = 1, ... , n+1, is there any point set of p1, ... , pn+1 such that dij = d(pi, pj) for any i, j = 1, .. , n+1? This question can be answered in polynomial time using Principal Coordinate Analysis.

  12. What is Principal Coordinate Analysis (PCO)?

  13. if l1 ≧l2 ≧ ... ≧ ld > ld+1=0, ... then this is an exact embedding. PCO finds such a solution based on

  14. new point given n points output of PCO Disadvantage of PCO When there is no exact embedding, PCO finds an approximate solution (configuration). PCO finds a configuration of all points --- in our case n points are fixed and one point is to be inserted, but no point can be fixed

  15. Individual insertion S = {p1, ... , pm} a set of points in the plane m target distances to those points: d1, ... , dm Add a new point so that p1, ..., pm are as close as d1, ... , dm, or to minimize

  16. How to calculate |d(p, pi)2 - d2ij| Draw a circle Ci of radius di center at pi di pi In the interior of Ci: |d(p, pi)2 - d2i| = - d(p, pi)2 + d2i In the exterior of Ci: |d(p, pi)2 - d2i| = d(p, pi)2 - d2i

  17. For n points Draw n circles C1, ... , Cn --> form an arrangement of circles The plane is divided into O(n2) cells (regions)

  18. For n points Draw n circles C1, ... , Cn --> form an arrangement of circles The plane is divided into O(n2) cells (regions) At each cell R find a set of circles containing the cell - d(p, pi)2 + d2i find a set of circles outside the cell d(p, pi)2 - d2i compute the objective function and then differentiate it by x and y --> system of linear equations calculate a point p* by solving it If p* lies in R then it is an optimal point in the cell. Otherwise, a point in R closest to or farthest from p* is an optimal point.

  19. Algorithm for finding an optimal location of a new point • (input) n points p1, ... , pn • n real numbers d1, ... , dn • (output) a location of a new point p(x, y) • Draw n circles C1, ... , Cn, Ci: radius di, center at pi • Construct an arrangement of those circles. • Compute a dual graph of the arrangement • cell -> vertex, adjacency of cells -> edge • Compute a spanning tree T of the graph. • Form a tour W on T, which is a sequence of vertices along T. • For each vertex on W (corresponding to a cell) • Compute the objective function • and differentiate it by x and y • solve the system of linear equations --> (x, y) • Evaluate the objective function at (x, y) • Output the best point found so far.

  20. cell in an arrangement of circles

  21. Algorithm for finding an optimal location of a new point • (input) n points p1, ... , pn • n real numbers d1, ... , dn • (output) a location of a new point p(x, y) • Draw n circles C1, ... , Cn, Ci: radius di, center at pi • Construct an arrangement of those circles. • Compute a dual graph of the arrangement • cell -> vertex, adjacency of cells -> edge • Compute a spanning tree T of the graph. • Form a tour W on T, which is a sequence of vertices along T. • For each vertex on W (corresponding to a cell) • Compute the objective function • and differentiate it by x and y • solve the system of linear equations --> (x, y) • Evaluate the objective function at (x, y) • Output the best point found so far.

  22. cell in an arrangement of circles

  23. Dual Graph

  24. Algorithm for finding an optimal location of a new point • (input) n points p1, ... , pn • n real numbers d1, ... , dn • (output) a location of a new point p(x, y) • Draw n circles C1, ... , Cn, Ci: radius di, center at pi • Construct an arrangement of those circles. • Compute a dual graph of the arrangement • cell -> vertex, adjacency of cells -> edge • Compute a spanning tree T of the graph. • Form a tour W on T, which is a sequence of vertices along T. • For each vertex on W (corresponding to a cell) • Compute the objective function • and differentiate it by x and y • solve the system of linear equations --> (x, y) • Evaluate the objective function at (x, y) • Output the best point found so far.

  25. Dual Graph

  26. Spanning tree of the Dual Graph

  27. Algorithm for finding an optimal location of a new point • (input) n points p1, ... , pn • n real numbers d1, ... , dn • (output) a location of a new point p(x, y) • Draw n circles C1, ... , Cn, Ci: radius di, center at pi • Construct an arrangement of those circles. • Compute a dual graph of the arrangement • cell -> vertex, adjacency of cells -> edge • Compute a spanning tree T of the graph. • Form a tour W on T, which is a sequence of vertices along T. • For each vertex on W (corresponding to a cell) • Compute the objective function • and differentiate it by x and y • solve the system of linear equations --> (x, y) • Evaluate the objective function at (x, y) • Output the best point found so far.

  28. Walk on the Spanning tree

  29. Theorem: The algorithm finds an optimal solution in O(n2 log n) time and O(n2) space. Proof: arrangement of circles --- O(n2) cells O(n2 log n) time to construct an arrangement. O(n2) time to construct a spanning tree. length of a walk on the tree --- O(n2) Computation of the objective function and its differentiations by x and y we can update them in constant time when we move from one cell to the next cell in the walk. O(n2) time and O(n2) space

  30. Linear-space implementation idea: plane sweep method move a vertical sweep line from left to right while solving the problem at each line O(n2) events Each event is processed in O(log n) time in total, O(n) space and O(n2 log n) time

  31. Conclusions and Future Works • We have presented a polynomial-time algorithm for inserting a new point in the distance approximately close to a given distance for each point. • The computational complexity heavily depends on objective function. • Generalization to 3-D space and improving running time of the algorithm are left as future works. • It is also interesting which objective function is appropriate or matches human recognition.

  32. Thank you! Kenrokuen Garden, Kanazawa, Japan

More Related