Stress majorization

From testwiki
Jump to navigation Jump to search

Template:Short description Stress majorization is an optimization strategy used in multidimensional scaling (MDS) where, for a set of n m-dimensional data items, a configuration X of n points in r (≪m)-dimensional space is sought that minimizes the so-called stress function σ(X). Usually r is 2 or 3, i.e. the (n×r) matrix X lists points in 2− or 3−dimensional Euclidean space so that the result may be visualised (i.e. an MDS plot). The function σ is a cost or loss function that measures the squared differences between ideal (m-dimensional) distances and actual distances in r-dimensional space. It is defined as:

σ(X)=∑i<j≤nwij(dij(X)−δij)2

where wij≥0 is a weight for the measurement between a pair of points (i,j), dij(X) is the euclidean distance between i and j and δij is the ideal distance between the points (their separation) in the m-dimensional data space. Note that wij can be used to specify a degree of confidence in the similarity between points (e.g. 0 can be specified if there is no information for a particular pair).

A configuration X which minimizes σ(X) gives a plot in which points that are close together correspond to points that are also close together in the original m-dimensional data space.

There are many ways that σ(X) could be minimized. For example, Kruskal[1] recommended an iterative steepest descent approach. However, a significantly better (in terms of guarantees on, and rate of, convergence) method for minimizing stress was introduced by Jan de Leeuw.[2] De Leeuw's iterative majorization method at each step minimizes a simple convex function which both bounds σ from above and touches the surface of σ at a point Z, called the supporting point. In convex analysis such a function is called a majorizing function. This iterative majorization process is also referred to as the SMACOF algorithm ("Scaling by MAjorizing a COmplicated Function").

The SMACOF algorithm

The stress function σ can be expanded as follows:

σ(X)=∑i<j≤nwij(dij(X)−δij)2=∑i<jwijδij2+∑i<jwijdij2(X)−2∑i<jwijδijdij(X)

Note that the first term is a constant C and the second term is quadratic in X (i.e. for the Hessian matrix V the second term is equivalent to trX′VX) and therefore relatively easily solved. The third term is bounded by:

∑i<jwijδijdij(X)=tr⁡X′B(X)X≥tr⁡X′B(Z)Z

where B(Z) has:

bij=−wijδijdij(Z) for dij(Z)≠0,i≠j

and bij=0 for dij(Z)=0,i≠j

and bii=−∑j=1,j≠inbij.

Proof of this inequality is by the Cauchy-Schwarz inequality, see Borg[3] (pp. 152–153).

Thus, we have a simple quadratic function τ(X,Z) that majorizes stress:

σ(X)=C+tr⁡X′VX−2tr⁡X′B(X)X
≤C+tr⁡X′VX−2tr⁡X′B(Z)Z=τ(X,Z)


The iterative minimization procedure is then:

  • at the kth step we set Z←Xk−1
  • Xk←minXτ(X,Z)
  • stop if σ(Xk−1)−σ(Xk)<ϵ otherwise repeat.

This algorithm has been shown to decrease stress monotonically (see de Leeuw[2]).

Use in graph drawing

Stress majorization and algorithms similar to SMACOF also have application in the field of graph drawing.[4][5] That is, one can find a reasonably aesthetically appealing layout for a network or graph by minimizing a stress function over the positions of the nodes in the graph. In this case, the δij are usually set to the graph-theoretic distances between nodes i and j and the weights wij are taken to be δij−α. Here, α is chosen as a trade-off between preserving long- or short-range ideal distances. Good results have been shown for α=2.[6]

References

Template:Reflist