Manifold regularization

From Infogalactic: the planetary knowledge core
Jump to: navigation, search
File:Example of unlabeled data in semisupervised learning.png
Manifold regularization can classify data when labeled data (black and white circles) are sparse, by taking advantage of unlabeled data (gray circles). Without many labeled data points, supervised learning algorithms can only learn very simple decision boundaries (top panel). Manifold learning can draw a decision boundary between the natural classes of the unlabeled data, under the assumption that close-together points probably belong to the same class, and so the decision boundary should avoid areas with many unlabeled points. This is one version of semi-supervised learning.

In machine learning, Manifold regularization is a technique for using the shape of a dataset to constrain the functions that should be learned on that dataset. In many machine learning problems, the data to be learned do not cover the entire input space. For example, a facial recognition system may not need to classify any possible image, but only the subset of images that contain faces. The technique of manifold learning assumes that the relevant subset of data comes from a manifold, a mathematical structure with useful properties. The technique also assumes that the function to be learned is smooth: data with different labels are not likely to be close together, and so the labeling function should not change quickly in areas where there are likely to be many data points. Because of this assumption, a manifold regularization algorithm can use unlabeled data to inform where the learned function is allowed to change quickly and where it is not, using an extension of the technique of Tikhonov regularization. Manifold regularization algorithms can extend supervised learning algorithms in semi-supervised learning and transductive learning settings, where unlabeled data are available. The technique has been used for applications including medical imaging, geographical imaging, and object recognition.

Manifold regularizer

Motivation

Manifold regularization is a type of regularization, a family of techniques that reduces overfitting and ensures that a problem is well-posed by penalizing complex solutions. In particular, manifold regularization extends the technique of Tikhonov regularization as applied to Reproducing kernel Hilbert spaces (RKHSs). Under standard Tikhonov regularization on RKHSs, a learning algorithm attempts to learn a function f from among a hypothesis space of functions \mathcal{H}. The hypothesis space is an RKHS, meaning that it is associated with a kernel K, and so every candidate function f has a norm \left\| f \right\|_K, which represents the complexity of the candidate function in the hypothesis space. When the algorithm considers a candidate function, it takes its norm into account in order to penalize complex functions.

Formally, given a set of labeled training data (x_1, y_1), \ldots, (x_{\ell}, y_{\ell}) with x_i \in X, y_i \in Y and a loss function V, a learning algorithm using Tikhonov regularization will attempt to solve the expression

 \underset{f \in \mathcal{H}}{\arg\!\min} \frac{1}{\ell} \sum_{i=1}^{\ell} V(f(x_i), y_i) + \gamma \left\| f \right\|_K^2

where \gamma is a hyperparameter that controls how much the algorithm will prefer simpler functions to functions that fit the data better.

File:Lle hlle swissroll.png
A two-dimensional manifold embedded in three-dimensional space (top-left). Manifold regularization attempts to learn a function that is smooth on the unrolled manifold (top-right).

Manifold regularization adds a second regularization term, the intrinsic regularizer, to the ambient regularizer used in standard Tikhonov regularization. Under the manifold assumption in machine learning, the data in question do not come from the entire input space X, but instead from a nonlinear manifold M\subset X. The geometry of this manifold, the intrinsic space, is used to determine the regularization norm.[1]

Laplacian norm

There are many possible choices for \left\| f \right\|_I. Many natural choices involve the gradient on the manifold  \nabla_{M} , which can provide a measure of how smooth a target function is. A smooth function should change slowly where the input data are dense; that is, the gradient  \nabla_{M} f(x) should be small where the marginal probability density \mathcal{P}_X(x) , the probability density of a randomly drawn data point appearing at x, is large. This gives one appropriate choice for the intrinsic regularizer:

 \left\| f \right\|_I^2 = \int_{x \in M} \left\| \nabla_{M} f(x) \right\|^2 \, d \mathcal{P}_X(x)

In practice, this norm cannot be computed directly because the marginal distribution \mathcal{P}_X is unknown, but it can be estimated from the provided data. In particular, if the distances between input points are interpreted as a graph, then the Laplacian matrix of the graph can help to estimate the marginal distribution. Suppose that the input data include \ell labeled examples (pairs of an input x and a label y) and u unlabeled examples (inputs without associated labels). Define W to be a matrix of edge weights for a graph, where W_{ij} is a distance measure between the data points x_i and x_j. Define D to be a diagonal matrix with D_{ii} = \sum_{j=1}^{\ell + u} W_{ij} and L to be the Laplacian matrix D-W. Then, as the number of data points \ell + u increases, L converges to the Laplace-Beltrami operator \Delta_{M}, which is the divergence of the gradient \nabla_M.[2][3] Then, if \mathbf{f} is a vector of the values of f at the data, \mathbf{f} = [f(x_1), \ldots, f(x_{l+u})]^{\mathrm{T}}, the intrinsic norm can be estimated:

 \left\| f \right\|_I^2 = \frac{1}{(\ell+u)^2} \mathbf{f}^{\mathrm{T}} L \mathbf{f}

As the number of data points \ell + u increases, this empirical definition of  \left\| f \right\|_I^2 converges to the definition when \mathcal{P}_X is known.[1]

Solving the regularization problem

Using the weights \gamma_A and \gamma_I for the ambient and intrinsic regularizers, the final expression to be solved becomes:

 \underset{f \in \mathcal{H}}{\arg\!\min} \frac{1}{\ell} \sum_{i=1}^{\ell} V(f(x_i), y_i) + \gamma_A \left\| f \right\|_K^2 + \frac{\gamma_I}{(\ell+u)^2} \mathbf{f}^{\mathrm{T}} L \mathbf{f}

As with other kernel methods, \mathcal{H} may be an infinite-dimensional space, so if the regularization expression cannot be solved explicitly, it is impossible to search the entire space for a solution. Instead, a representer theorem shows that under certain conditions on the choice of the norm \left\| f \right\|_I, the optimal solution f^* must be a linear combination of the kernel centered at each of the input points: for some weights \alpha_i,

 f^*(x) = \sum_{i=1}^{\ell + u} \alpha_i (x_i, x)

Using this result, it is possible to search for the optimal solution f^* by searching the finite-dimensional space defined by the possible choices of \alpha_i.[1]

Applications

Manifold regularization can extend a variety of algorithms that can be expressed using Tikhonov regularization, by choosing an appropriate loss function V and hypothesis space \mathcal{H}. Two commonly used examples are the families of support vector machines and regularized least squares algorithms. (Regularized least squares includes the ridge regression algorithm; the related algorithms of LASSO and elastic net regularization can be expressed as support vector machines.[4][5]) The extended versions of these algorithms are called Laplacian Regularized Least Squares (abbreviated LapRLS) and Laplacian Support Vector Machines (LapSVM), respectively.[1]

Laplacian Regularized Least Squares (LapRLS)

Regularized least squares (RLS) is a family of regression algorithms: algorithms that predict a value y = f(x) for its inputs x, with the goal that the predicted values should be close to the true labels for the data. In particular, RLS is designed to minimize the mean squared error between the predicted values and the true labels, subject to regularization. Ridge regression is one form of RLS; in general, RLS is the same as ridge regression combined with the kernel method.[citation needed] The problem statement for RLS results from choosing the loss function V in Tikhonov regularization to be the mean squared error:

 f^* = \underset{f \in \mathcal{H}}{\arg\!\min} \frac{1}{\ell} \sum_{i=1}^{\ell} (f(x_i) - y_i)^2 + \gamma \left\| f \right\|_K^2

Thanks to the representer theorem, the solution can be written as a weighted sum of the kernel evaluated at the data points:

 f^*(x) = \sum_{i=1}^{\ell} \alpha_i^* K(x_i, x)

and solving for \alpha^* gives:

 \alpha^* = (K + \gamma \ell I)^{-1} Y

where K is defined to be the kernel matrix, with K_{ij} = K(x_i, x_j), and Y is the vector of data labels.

Adding a Laplacian term for manifold regularization gives the Laplacian RLS statement:

 f^* = \underset{f \in \mathcal{H}}{\arg\!\min} \frac{1}{\ell} \sum_{i=1}^{\ell} (f(x_i) - y_i)^2 + \gamma_A \left\| f \right\|_K^2 + \frac{\gamma_I}{(\ell+u)^2} \mathbf{f}^{\mathrm{T}} L \mathbf{f}

The representer theorem for manifold regularization again gives

 f^*(x) = \sum_{i=1}^{\ell + u} \alpha_i^* K(x_i, x)

and this yields an expression for the vector \alpha^*. Letting K be the kernel matrix as above, Y be the vector of data labels, and J be the  (\ell + u) \times (\ell + u) block matrix \begin{bmatrix} I_{\ell} & 0 \\ 0 & 0_u \end{bmatrix} :

 \alpha^* = \underset{\alpha \in \mathbf{R}^{\ell + u}}{\arg\!\min} \frac{1}{\ell} (Y - J K \alpha)^{\mathrm{T}} (Y - J K \alpha) + \gamma_A \alpha^{\mathrm{T}} K \alpha + \frac{\gamma_I}{(\ell + u)^2} \alpha^{\mathrm{T}} K L K \alpha

with a solution of

 \alpha^* = \left( JK + \gamma_A \ell I + \frac{\gamma_I \ell}{(\ell + u)^2} L K \right)^{-1} Y [1]

LapRLS has been applied to problems including sensor networks,[6] medical imaging,[7][8] object detection,[9] spectroscopy,[10] document classification,[11] drug-protein interactions,[12] and compressing images and videos.[13]

Laplacian Support Vector Machines (LapSVM)

Support vector machines (SVMs) are a family of algorithms often used for classifying data into two or more groups, or classes. Intuitively, an SVM draws a boundary between classes so that the closest labeled examples to the boundary are as far away as possible. This can be directly expressed as a linear program, but it is also equivalent to Tikhonov regularization with the hinge loss function, V(f(x), y) = \max(0, 1 - yf(x)):

 f^* = \underset{f \in \mathcal{H}}{\arg\!\min} \frac{1}{\ell} \sum_{i=1}^{\ell} \max(0, 1 - y_if(x_i)) + \gamma \left\| f \right\|_K^2 [14][15]

Adding the intrinsic regularization term to this expression gives the LapSVM problem statement:

 f^* = \underset{f \in \mathcal{H}}{\arg\!\min} \frac{1}{\ell} \sum_{i=1}^{\ell} \max(0, 1 - y_if(x_i)) + \gamma_A \left\| f \right\|_K^2 + \frac{\gamma_I}{(\ell+u)^2} \mathbf{f}^{\mathrm{T}} L \mathbf{f}

Again, the representer theorem allows the solution to be expressed in terms of the kernel evaluated at the data points:

 f^*(x) = \sum_{i=1}^{\ell + u} \alpha_i^* K(x_i, x)

\alpha can be found by writing the problem as a linear program and solving the dual problem. Again letting K be the kernel matrix and J be the block matrix \begin{bmatrix} I_{\ell} & 0 \\ 0 & 0_u \end{bmatrix} , the solution can be shown to be

\alpha = \left( 2 \gamma_A I + 2 \frac{\gamma_I}{(\ell + u)^2} L K \right)^{-1} J^{\mathrm{T}} Y \beta^*

where \beta^* is the solution to the dual problem

 \begin{align}
& & \beta^* = \max_{\beta \in \mathbf{R}^{\ell}} & \sum_{i=1}^{\ell} \beta_i - \frac{1}{2} \beta^{\mathrm{T}} Q \beta \\
& \text{subject to} && \sum_{i=1}^{\ell} \beta_i y_i = 0 \\
& && 0 \le \beta_i \le \frac{1}{\ell}\; i = 1, \ldots, \ell
\end{align}

and Q is defined by

 Q = YJK \left( 2 \gamma_A I + 2 \frac{\gamma_I}{(\ell + u)^2} L K \right)^{-1} J^{\mathrm{T}} Y [1]

LapSVM has been applied to problems including geographical imaging,[16][17][18] medical imaging,[19][20][21] face recognition,[22] machine maintenance,[23] and brain-computer interfaces.[24]

Limitations

  • Manifold regularization assumes that data with different labels are not likely to be close together. This assumption is what allows the technique to draw information from unlabeled data, but it only applies to some problem domains. Depending on the structure of the data, it may be necessary to use a different semi-supervised or transductive learning algorithm.[25]
  • In some datasets, the intrinsic norm of a function \left\| f \right\|_I can be very close to the ambient norm \left\| f \right\|_K: for example, if the data consist of two classes that lie on perpendicular lines, the intrinsic norm will be equal to the ambient norm. In this case, unlabeled data have no effect on the solution learned by manifold regularization, even if the data fit the algorithm's assumption that the separator should be smooth. Approaches related to co-training have been proposed to address this limitation.[26]
  • If there are a very large number of unlabeled examples, the kernel matrix K becomes very large, and a manifold regularization algorithm may become prohibitively slow to compute. Online algorithms and sparse approximations of the manifold may help in this case.[27]

Software

See also

References

  1. 1.0 1.1 1.2 1.3 1.4 1.5 Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. Lua error in package.lua at line 80: module 'strict' not found.
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. Lua error in package.lua at line 80: module 'strict' not found.
  9. Lua error in package.lua at line 80: module 'strict' not found.
  10. Lua error in package.lua at line 80: module 'strict' not found.
  11. Lua error in package.lua at line 80: module 'strict' not found.
  12. Lua error in package.lua at line 80: module 'strict' not found.
  13. Lua error in package.lua at line 80: module 'strict' not found.
  14. Lua error in package.lua at line 80: module 'strict' not found.
  15. Lua error in package.lua at line 80: module 'strict' not found.
  16. Lua error in package.lua at line 80: module 'strict' not found.
  17. Lua error in package.lua at line 80: module 'strict' not found.
  18. Lua error in package.lua at line 80: module 'strict' not found.
  19. Lua error in package.lua at line 80: module 'strict' not found.
  20. Lua error in package.lua at line 80: module 'strict' not found.
  21. Lua error in package.lua at line 80: module 'strict' not found.
  22. Lua error in package.lua at line 80: module 'strict' not found.
  23. Lua error in package.lua at line 80: module 'strict' not found.
  24. Lua error in package.lua at line 80: module 'strict' not found.
  25. Lua error in package.lua at line 80: module 'strict' not found.
  26. Lua error in package.lua at line 80: module 'strict' not found.
  27. Lua error in package.lua at line 80: module 'strict' not found.