https://en.wikipedia.org/w/api.php?action=feedcontributions&feedformat=atom&user=Deepalgo Wikipedia - User contributions [en] 2025-06-17T08:26:40Z User contributions MediaWiki 1.45.0-wmf.5 https://en.wikipedia.org/w/index.php?title=Compressed_sensing&diff=711851783 Compressed sensing 2016-03-25T08:21:15Z <p>Deepalgo: /* Applications */</p> <hr /> <div>{{pp-semi|small=yes}}<br /> '''Compressed sensing''' (also known as '''compressive sensing''', '''compressive sampling''', or '''sparse sampling''') is a [[signal processing]] technique for efficiently acquiring and reconstructing a [[Signal (electronics)|signal]], by finding solutions to [[Underdetermined system|underdetermined linear systems]]. This is based on the principle that, through optimization, the sparsity of a signal can be exploited to recover it from far fewer samples than required by the [[Nyquist–Shannon sampling theorem|Shannon-Nyquist sampling theorem]]. There are two conditions under which recovery is possible.&lt;ref&gt;[http://nuit-blanche.blogspot.com/2009/09/cs.html CS: Compressed Genotyping, DNA Sudoku - Harnessing high throughput sequencing for multiplexed specimen analysis]&lt;/ref&gt; The first one is [[sparsity]] which requires the signal to be sparse in some domain. The second one is [[Coherence (signal processing)|incoherence]] which is applied through the isometric property which is sufficient for sparse signals.&lt;ref&gt;{{cite journal | last1 = Donoho | first1 = David L | year = 2006 | title = For most large underdetermined systems of linear equations the minimal 1-norm solution is also the sparsest solution| url = | journal = Communications on pure and applied mathematics | volume = 59 | issue = | pages = 797–829 | doi = 10.1002/cpa.20132 }}&lt;/ref&gt;&lt;ref&gt;[http://www.brainshark.com/brainshark/brainshark.net/portal/title.aspx?pid=zCdz10BfTRz0z0 M. Davenport, &quot;The Fundamentals of Compressive Sensing&quot;, SigView, April 12, 2013.]&lt;/ref&gt;<br /> <br /> == Overview ==<br /> A common goal of the engineering field of [[signal processing]] is to reconstruct a signal from a series of sampling measurements. In general, this task is impossible because there is no way to reconstruct a signal during the times that the signal is not measured. Nevertheless, with prior knowledge or assumptions about the signal, it turns out to be possible to perfectly reconstruct a signal from a series of measurements. Over time, engineers have improved their understanding of which assumptions are practical and how they can be generalized.<br /> <br /> An early breakthrough in signal processing was the [[Nyquist–Shannon sampling theorem]]. It states that if the signal's highest frequency is less than half of the sampling rate, then the signal can be reconstructed perfectly. The main idea is that with prior knowledge about constraints on the signal’s frequencies, fewer samples are needed to reconstruct the signal.<br /> <br /> Around 2004, [[Emmanuel Candès]], [[Terence Tao]], and [[David Donoho]] proved that given knowledge about a signal's [[sparsity]], the signal may be reconstructed with even fewer samples than the sampling theorem requires.&lt;ref&gt;{{Cite journal|doi=10.1002/cpa.20124|url=http://www-stat.stanford.edu/~candes/papers/StableRecovery.pdf|title=Stable signal recovery from incomplete and inaccurate measurements|year=2006|last1=Candès|first1=Emmanuel J.|last2=Romberg|first2=Justin K.|last3=Tao|first3=Terence|journal=Communications on Pure and Applied Mathematics|volume=59|issue=8|pages=1207–1223}}&lt;/ref&gt;&lt;ref name=Donoho&gt;{{Cite journal|doi=10.1109/TIT.2006.871582|title=Compressed sensing|year=2006|last1=Donoho|first1=D.L.|journal=IEEE Transactions on Information Theory|volume=52|issue=4|pages=1289–1306}}&lt;/ref&gt; This idea is the basis of compressed sensing.<br /> <br /> ==History==<br /> Compressed sensing relies on [[Lp space|L1]] techniques, which several other scientific fields have used historically.&lt;ref&gt;[http://2.bp.blogspot.com/_0ZCyAOBrUtA/TTwqLEeLvdI/AAAAAAAAEXI/7S0_SnWoC0E/s1600/l1-minimization.JPG List of L1 regularization ideas] from Vivek Goyal, Alyson Fletcher, Sundeep Rangan, [http://www.math.uiuc.edu/%7Elaugesen/imaha10/goyal_talk.pdf The Optimistic Bayesian: Replica Method Analysis of Compressed Sensing]&lt;/ref&gt; In statistics, the [[least squares]] method was complemented by the [[Lp norm|&lt;math&gt;L^1&lt;/math&gt;-norm]], which was introduced by [[Pierre-Simon Laplace|Laplace]]. Following the introduction of [[linear programming]] and [[George Dantzig|Dantzig]]'s [[simplex algorithm]], the &lt;math&gt;L^1&lt;/math&gt;-norm was used in [[computational statistics]]. In statistical theory, the &lt;math&gt;L^1&lt;/math&gt;-norm was used by [[George W. Brown]] and later writers on [[median-unbiased estimator]]s. It was used by Peter J. Huber and others working on [[robust statistics]]. The &lt;math&gt;L^1&lt;/math&gt;-norm was also used in signal processing, for example, in the 1970s, when seismologists constructed images of reflective layers within the earth based on data that did not seem to satisfy the [[Nyquist–Shannon sampling theorem|Nyquist–Shannon criterion]].&lt;ref&gt;{{Cite journal |doi = 10.1511/2009.79.276 |title = The Best Bits |year = 2009 |last1 = Hayes |first1 = Brian |journal = American Scientist |volume = 97 |issue = 4 |pages = 276 }}&lt;/ref&gt; It was used in [[matching pursuit]] in 1993, the [[Lasso regression|LASSO estimator]] by [[Robert Tibshirani]] in 1996&lt;ref&gt;{{Cite journal |url = http://www-stat.stanford.edu/~tibs/lasso.html |first = Robert |last = Tibshirani |title = Regression shrinkage and selection via the lasso |journal = [[Journal of the Royal Statistical Society, Series B]] |volume = 58 |issue = 1 |pages = 267–288 }}&lt;/ref&gt; and [[basis pursuit]] in 1998.&lt;ref&gt;&quot;Atomic decomposition by basis pursuit&quot;, by Scott Shaobing Chen, David L. Donoho, Michael, A. Saunders. SIAM Journal on Scientific Computing&lt;/ref&gt; There were theoretical results describing when these algorithms recovered sparse solutions, but the required type and number of measurements were sub-optimal and subsequently greatly improved by compressed sensing.{{citation needed|date=May 2013}}<br /> <br /> At first glance, compressed sensing might seem to violate [[Nyquist–Shannon sampling theorem|the sampling theorem]], because compressed sensing depends on the [[Sparse matrix|sparsity]] of the signal in question and not its highest frequency. This is a misconception, because the sampling theorem guarantees perfect reconstruction given sufficient, not necessary, conditions. A sampling method fundamentally different from classical fixed-rate sampling cannot &quot;violate&quot; the sampling theorem. Sparse signals with high frequency components can be highly under-sampled using compressed sensing compared to classical fixed-rate sampling.&lt;ref&gt;{{Cite journal |url = http://www-stat.stanford.edu/~candes/papers/ExactRecovery.pdf |title = Robust Uncertainty Principles: Exact Signal Reconstruction from Highly Incomplete Fourier Information |year = 2006 |last1 = Candès |first1 = Emmanuel J. |last2 = Romberg |first2 = Justin K. |last3 = Tao |first3 = Terence |journal = IEEE Trans. Inf. Theory |volume = 52 |issue = 8 |pages = 489–509 |doi=10.1109/tit.2005.862083}}&lt;/ref&gt;<br /> <br /> ==Method==<br /> <br /> ===Underdetermined linear system===<br /> An [[underdetermined system]] of linear equations has more unknowns than equations and generally has an infinite number of solutions. In order to choose a solution to such a system, one must impose extra constraints or conditions (such as smoothness) as appropriate.<br /> <br /> In compressed sensing, one adds the constraint of sparsity, allowing only solutions which have a small number of nonzero coefficients. Not all underdetermined systems of linear equations have a sparse solution. However, if there is a unique sparse solution to the underdetermined system, then the compressed sensing framework allows the recovery of that solution.<br /> <br /> ===Solution / reconstruction method===<br /> Compressed sensing takes advantage of the redundancy in many interesting signals—they are not pure noise. In particular, many signals are [[sparse matrix|sparse]], that is, they contain many coefficients close to or equal to zero, when represented in some domain.&lt;ref&gt;Candès, E.J., &amp; Wakin, M.B., ''An Introduction To Compressive Sampling'', IEEE Signal Processing Magazine, V.21, March 2008 [http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&amp;arnumber=4472240&amp;isnumber=4472102]&lt;/ref&gt; This is the same insight used in many forms of [[lossy compression]].<br /> <br /> Compressed sensing typically starts with taking a weighted linear combination of samples also called compressive measurements in a [[Basis (linear algebra)|basis]] different from the basis in which the signal is known to be sparse. The results found by [[Emmanuel Candès]], [[Justin Romberg]], [[Terence Tao]] and [[David Donoho]], showed that the number of these compressive measurements can be small and still contain nearly all the useful information. Therefore, the task of converting the image back into the intended domain involves solving an underdetermined [[matrix equation]] since the number of compressive measurements taken is smaller than the number of pixels in the full image. However, adding the constraint that the initial signal is sparse enables one to solve this underdetermined [[system of linear equations]].<br /> <br /> The least-squares solution to such problems is to minimize the [[L2 norm|&lt;math&gt;L^2&lt;/math&gt; norm]]—that is, minimize the amount of energy in the system. This is usually simple mathematically (involving only a [[matrix multiplication]] by the [[pseudo-inverse]] of the basis sampled in). However, this leads to poor results for many practical applications, for which the unknown coefficients have nonzero energy.<br /> <br /> To enforce the sparsity constraint when solving for the underdetermined system of linear equations, one can minimize the number of nonzero components of the solution. The function counting the number of non-zero components of a vector was called the [[L0 norm|&lt;math&gt;L^0&lt;/math&gt; &quot;norm&quot;]] by David Donoho{{refn|group=note|The quotation marks served two warnings. First, the number-of-nonzeros &lt;math&gt;L^0&lt;/math&gt;-&quot;norm&quot; is not a proper [[F-space|F-norm]], because it is not continuous in its scalar argument: ''nnzs''(α''x'') is constant as α approaches zero. Unfortunately, authors now neglect the quotation marks and [[abuse of terminology|abused terminology]]—clashing with the established use of the &lt;math&gt;L^0&lt;/math&gt; norm for the space of measurable functions (equipped with an appropriate metric) or for the [[F-space|space]] of sequences with [[F-space|F–norm]] &lt;math&gt;(x_n) \mapsto \sum_n{2^{-n} x_n/(1+x_n)}&lt;/math&gt;.&lt;ref&gt;Stefan Rolewicz. ''Metric Linear Spaces''.&lt;/ref&gt;}}.<br /> <br /> [[Emmanuel Candès|Candès]]. et al., proved that for many problems it is probable that the [[L1 norm|&lt;math&gt;L^1&lt;/math&gt; norm]] is equivalent to the [[L0 norm|&lt;math&gt;L^0&lt;/math&gt; norm]], in a technical sense: This equivalence result allows one to solve the &lt;math&gt;L^1&lt;/math&gt; problem, which is easier than the &lt;math&gt;L^0&lt;/math&gt; problem. Finding the candidate with the smallest &lt;math&gt;L^1&lt;/math&gt; norm can be expressed relatively easily as a [[linear program]], for which efficient solution methods already exist.&lt;ref&gt;[http://www.acm.caltech.edu/l1magic/ L1-MAGIC is a collection of MATLAB routines]&lt;/ref&gt; When measurements may contain a finite amount of noise, [[basis pursuit denoising]] is preferred over linear programming, since it preserves sparsity in the face of noise and can be solved faster than an exact linear program.<br /> <br /> === Total Variation based CS reconstruction ===<br /> <br /> ==== Motivation and Applications ====<br /> <br /> ===== Role of TV regularization =====<br /> [[Total variation]] can be seen as a [[non-negative]] [[real number|real]]-valued [[functional (mathematics)|functional]] defined on the space of [[real number|real-valued]] [[function (mathematics)|function]]s (for the case of functions of one variable) or on the space of [[integrable function]]s (for the case of functions of several variables). For signals, especially, [[total variation]] refers to the integral of the absolute [[gradient]] of the signal. In signal and image reconstruction, it is applied as [[total variation regularization]] where the underlying principle is that signals with excessive details have high total variation and that removing these details, while retaining important information such as edges, would reduce the total variation of the signal and make the signal subject closer to the original signal in the problem.<br /> <br /> For the purpose of signal and image reconstruction, &lt;math&gt;l1&lt;/math&gt; minimization models are used. Other approaches also include the least-squares as has been discussed before in this article. These methods are extremely slow and return a not-so-perfect reconstruction of the signal. The current CS Regularization models attempt to address this problem by incorporating sparsity priors of the original image, one of which is the total variation (TV). Conventional TV approaches are designed to give piece-wise constant solutions. Some of these include (as discussed ahead) - constrained l1-minimization which uses an iterative scheme. This method, though fast, subsequently leads to over-smoothing of edges resulting in blurred image edges.&lt;ref name = &quot;EPTV&quot; /&gt; TV methods with iterative re-weighting have been implemented to reduce the influence of large gradient value magnitudes in the images. This has been used in [[Tomography|computed tomography]] (CT) reconstruction as a method known as edge-preserving total variation. However, as gradient magnitudes are used for estimation of relative penalty weights between the data fidelity and regularization terms, this method is not robust to noise and artifacts and accurate enough for CS image/signal reconstruction and, therefore, fails to preserve smaller structures.<br /> <br /> Recent progress on this problem involves using an iteratively directional TV refinement for CS reconstruction.&lt;ref name = &quot;Orientation and directional refinement&quot; /&gt; This method would have 2 stages: the first stage would estimate and refine the initial orientation field - which is defined as a noisy point-wise initial estimate, through edge-detection, of the given image. In the second stage, the CS reconstruction model is presented by utilizing directional TV regularizer. More details about these TV-based approaches - iteratively reweighted l1 minimization, edge-preserving TV and iterative model using directional orientation field and TV- are provided below.<br /> <br /> ==== Existing approaches ====<br /> <br /> =====Iteratively reweighted &lt;math&gt;l_{1}&lt;/math&gt; minimization &lt;ref name=&quot;Original source for IRLS&quot;&gt;{{cite journal | last1 = Candes | first1 = E. J. | last2 = Wakin | first2 = M. B. | last3 = Boyd | first3 = S. P. | year = 2008 | title = Enhancing sparsity by reweighted l1 minimization | url = | journal = J. Fourier Anal. Applicat | volume = 14 | issue = 5-6| pages = 877–905 | doi=10.1007/s00041-008-9045-x}}&lt;/ref&gt; =====<br /> [[File:IRLS.png|thumb|iteratively reweighted l1 minimization method for CS]]<br /> In the CS reconstruction models using constrained &lt;math&gt;l_{1}&lt;/math&gt; minimization, larger coefficients are penalized heavily in the &lt;math&gt;l_{1}&lt;/math&gt; norm. It was proposed to have a weighted formulation of &lt;math&gt;l_{1}&lt;/math&gt; minimization designed to more democratically penalize nonzero coefficients. An iterative algorithm is used for constructing the appropriate weights.&lt;ref name=&quot;Iteration&quot;&gt;Lange, K.: Optimization, Springer Texts in Statistics. Springer, New York (2004)&lt;/ref&gt; Each iteration requires solving one &lt;math&gt;l_{1}&lt;/math&gt; minimization problem by finding the local minimum of a concave penalty function that more closely resembles the &lt;math&gt;l_{0}&lt;/math&gt; norm. An additional parameter, usually to avoid any sharp transitions in the penalty function curve, is introduced into the iterative equation to ensure stability and so that a zero estimate in one iteration does not necessarily lead to a zero estimate in the next iteration. The method essentially involves using the current solution for computing the weights to be used in the next iteration.<br /> <br /> ====== Advantages and disadvantages ======<br /> Early iterations may find inaccurate sample estimates, however this method will down-sample these at a later stage to give more weight to the smaller non-zero signal estimates. One of the disadvantages is the need for defining a valid starting point as a global minimum might not be obtained every time due to the concavity of the function. Another disadvantage is that this method tends to uniformly penalize the image gradient irrespective of the underlying image structures. This causes over-smoothing of edges, especially those of low contrast regions,subsequently leading to loss of low contrast information.The advantages of this method include: reduction of the sampling rate for sparse signals; reconstruction of the image while being robust to the removal of noise and other artifacts; and use of very few iterations. This can also help in recovering images with sparse gradients.<br /> <br /> In the figure shown below, '''P1''' refers to the first-step of the iterative reconstruction process, of the projection matrix '''P''' of the fan-beam geometry, which is constrained by the data fidelity term. This may contain noise and artifacts as no regularization is performed. The minimization of '''P1''' is solved through the conjugate gradient least squares method. '''P2''' refers to the second step of the iterative reconstruction process wherein it utilizes the edge-preserving total variation regularization term to remove noise and artifacts, and thus improve the quality of the reconstructed image/signal. The minimization of '''P2''' is done through a simple gradient descent method. Convergence is determined by testing, after each iteration, for image positivity, by checking if &lt;math&gt;f^{k-1} = 0&lt;/math&gt; for the case when &lt;math&gt;f^{k-1} &lt; 0&lt;/math&gt; (Note that &lt;math&gt;f&lt;/math&gt; refers to the different x-ray linear attenuation coefficients at different voxels of the patient image).<br /> <br /> =====Edge-preserving total variation (TV) based compressed sensing&lt;ref name =&quot;EPTV&quot;&gt;{{cite journal | last1 = Tian | first1 = Z. | last2 = Jia | first2 = X. | last3 = Yuan | first3 = K. | last4 = Pan | first4 = T. | last5 = Jiang | first5 = S. B. | year = 2011 | title = Low-dose CT reconstruction via edge preserving total variation regularization | url = | journal = Phys Med Biol. | volume = 56 | issue = 18| pages = 5949–5967 | doi=10.1088/0031-9155/56/18/011}}&lt;/ref&gt;=====<br /> [[File:Edge preserving TV.png|thumb|Flow diagram figure for edge preserving total variation method for compressed sensing]]<br /> This is an iterative CT reconstruction algorithm with edge-preserving TV regularization to reconstruct CT images from highly undersampled data obtained at low dose CT through low current levels (milliampere). In order to reduce the imaging dose, one of the approaches used is to reduce the number of x-ray projections acquired by the scanner detectors. However, this insufficient projection data which is used to reconstruct the CT image can cause streaking artifacts. Furthermore, using these insufficient projections in standard TV algorithms end up making the problem under-determined and thus leading to infinitely many possible solutions. In this method, an additional penalty weighted function is assigned to the original TV norm. This allows for easier detection of sharp discontinuities in intensity in the images and thereby adapt the weight to store the recovered edge information during the process of signal/image reconstruction. The parameter &lt;math&gt;\sigma&lt;/math&gt; controls the amount of smoothing applied to the pixels at the edges to differentiate them from the non-edge pixels. The value of &lt;math&gt;\sigma&lt;/math&gt; is changed adaptively based on the values of the histogram of the gradient magnitude so that a certain percentage of pixels have gradient values larger than &lt;math&gt;\sigma&lt;/math&gt;. The edge-preserving total variation term, thus, becomes sparser and this speeds up the implementation. A two-step iteration process known as forward-backward splitting algorithm is used.&lt;ref name = &quot;Forward-Backward&quot;&gt;{{cite journal | last1 = Combettes | first1 = P | last2 = Wajs | first2 = V | year = 2005 | title = Signal recovery by proximal forward-backward splitting | url = | journal = Multiscale Model Simul | volume = 4 | issue = | pages = 1168–200 | doi=10.1137/050626090}}&lt;/ref&gt; The optimization problem is split into two sub-problems which are then solved with the conjugate gradient least squares method&lt;ref name=&quot;CGLS&quot;&gt;{{cite journal | last1 = Hestenes | first1 = M | last2 = Stiefel | first2 = E | year = 1952 | title = Methods of conjugate gradients for solving linear systems | url = | journal = J Res Natl Bur Stand | volume = 49 | issue = | pages = 409–36 | doi=10.6028/jres.049.044}}&lt;/ref&gt; and the simple gradient descent method respectively. The method is stopped when the desired convergence has been achieved or if the maximum number of iterations is reached.<br /> <br /> ===== Advantages and disadvantages =====<br /> Some of the disadvantages of this method are the absence of smaller structures in the reconstructed image and degradation of image resolution. This edge preserving TV algorithm, however, requires fewer iterations than the conventional TV algorithm.&lt;ref name =&quot;EPTV&quot; /&gt; Analyzing the horizontal and vertical intensity profiles of the reconstructed images, it can be seen that there are sharp jumps at edge points and negligible, minor fluctuation at non-edge points. Thus, this method leads to low relative error and higher correlation as compared to the TV method. It also effectively suppresses and removes any form of image noise and image artifacts such as streaking.<br /> <br /> =====Iterative model using a directional orientation field and directional total variation&lt;ref name=&quot;Orientation and directional refinement&quot;&gt;http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=6588871&lt;/ref&gt;=====<br /> To prevent over-smoothing of edges and texture details and to obtain a reconstructed CS image which is accurate and robust to noise and artifacts, this method is used. First, an initial estimate of the noisy point-wise orientation field of the image &lt;math&gt;I&lt;/math&gt;, &lt;math&gt;\hat{d}&lt;/math&gt;, is obtained. This noisy orientation field is defined so that it can be refined at a later stage to reduce the noise influences in orientation field estimation.A coarse orientation field estimation is then introduced based on structure tensor which is formulated as:&lt;ref name=&quot;Structure tensor&quot;&gt;{{cite journal | last1 = Brox | first1 = T. | last2 = Weickert | first2 = J. | last3 = Burgeth | first3 = B. | last4 = Mrázek | first4 = P. | year = 2006 | title = Nonlinear structure tensors | url = | journal = Image Vis. Comput | volume = 24 | issue = 1| pages = 41–55 | doi=10.1016/j.imavis.2005.09.010}}&lt;/ref&gt; &lt;math&gt; J_\rho(\nabla I_{\sigma}) = G_\rho * (\nabla I_{\sigma} \otimes \nabla I_{\sigma}) = \begin{pmatrix}J_{11} &amp; J_{12}\\J_{12} &amp; J_{22}\end{pmatrix}&lt;/math&gt;. Here, &lt;math&gt; J_\rho &lt;/math&gt; refers to the structure tensor related with the image pixel point (i,j) having standard deviation &lt;math&gt;\rho&lt;/math&gt;. &lt;math&gt;G&lt;/math&gt; refers to the Gaussian kernel &lt;math&gt;(0, \rho ^2)&lt;/math&gt; with standard deviation &lt;math&gt;\rho&lt;/math&gt;. &lt;math&gt;\sigma&lt;/math&gt; refers to the manually defined parameter for the image &lt;math&gt;I&lt;/math&gt; below which the edge detection is insensitive to noise. &lt;math&gt;\nabla I_{\sigma}&lt;/math&gt; refers to the gradient of the image &lt;math&gt;I&lt;/math&gt; and &lt;math&gt;(\nabla I_{\sigma} \otimes \nabla I_{\sigma})&lt;/math&gt; refers to the tensor product obtained by using this gradient.<br /> <br /> The structure tensor obtained is convolved with a Gaussian kernel &lt;math&gt;G&lt;/math&gt; to improve the accuracy of the orientation estimate with &lt;math&gt;\sigma&lt;/math&gt; being set to high values to account for the unknown noise levels. For every pixel (i,j) in the image, the structure tensor J is a symmetric and positive semi-definite matrix. Convolving all the pixels in the image with &lt;math&gt;G&lt;/math&gt;, gives orthonormal eigen vectors ω and υ of the &lt;math&gt;J&lt;/math&gt; matrix. ω points in the direction of the dominant orientation having the largest contrast and υ points in the direction of the structure orientation having the smallest contrast. The orientation field coarse initial estimation &lt;math&gt;\hat{d}&lt;/math&gt; is defined as &lt;math&gt;\hat{d}&lt;/math&gt; = υ. This estimate is accurate at strong edges. However, at weak edges or on regions with noise, its reliability decreases.<br /> <br /> To overcome this drawback, a refined orientation model is defined in which the data term reduces the effect of noise and improves accuracy while the second penalty term with the L2-norm is a fidelity term which ensures accuracy of initial coarse estimation.<br /> <br /> This orientation field is introduced into the directional total variation optimization model for CS reconstruction through the equation: &lt;math&gt;min_\Chi\lVert \nabla \Chi \bullet d \rVert _{1} + \frac{\lambda}{2}\ \lVert Y - \Phi\Chi \rVert ^2_{2}&lt;/math&gt;. &lt;math&gt;\Chi&lt;/math&gt; is the objective signal which needs to be recovered. Y is the corresponding measurement vector, d is the iterative refined orientation field and &lt;math&gt;\Phi&lt;/math&gt; is the CS measurement matrix. This method undergoes a few iterations ultimately leading to convergence.&lt;math&gt;\hat{d}&lt;/math&gt; is the orientation field approximate estimation of the reconstructed image &lt;math&gt;X^{k-1}&lt;/math&gt; from the previous iteration (in order to check for convergence and the subsequent optical performance, the previous iteration is used). For the two vector fields represented by &lt;math&gt;\Chi&lt;/math&gt; and &lt;math&gt;d&lt;/math&gt;, &lt;math&gt;\Chi \bullet d&lt;/math&gt; refers to the multiplication of respective horizontal and vertical vector elements of &lt;math&gt;\Chi&lt;/math&gt; and &lt;math&gt;d&lt;/math&gt; followed by their subsequent addition. These equations are reduced to a series of convex minimization problems which are then solved with a combination of variable splitting and augmented Lagrangian (FFT-based fast solver with a closed form solution) methods.&lt;ref name = &quot;Orientation and directional refinement&quot; /&gt; It (Augmented Lagrangian) is considered equivalent to the split Bregman iteration which ensures convergence of this method. The orientation field, d is defined as being equal to &lt;math&gt;(d_{h}, d_{v})&lt;/math&gt;, where &lt;math&gt;d_{h}, d_{v}&lt;/math&gt; define the horizontal and vertical estimates of &lt;math&gt;d&lt;/math&gt;.<br /> <br /> [[File:Augmented Lagrangian.png|thumb|right|Augmented Lagrangian method for orientation field and iterative directional field refinement models]]<br /> <br /> The Augmented Lagrangian method for the orientation field, &lt;math&gt;min_\Chi\lVert \nabla \Chi \bullet d \rVert _{1} + \frac{\lambda}{2}\ \lVert Y - \Phi\Chi \rVert ^2_{2}&lt;/math&gt;, involves initializing &lt;math&gt;d_{h}, d_{v}, H, V&lt;/math&gt; and then finding the approximate minimizer of &lt;math&gt;L_{1}&lt;/math&gt; with respect to these variables. The Lagrangian multipliers are then updated and the iterative process is stopped when convergence is achieved. For the iterative directional total variation refinement model, the augmented lagrangian method involves initializing &lt;math&gt;\Chi, P, Q, \lambda_{P}, \lambda_{Q}&lt;/math&gt;.&lt;ref name=&quot;TV&quot;&gt;{{cite journal | last1 = Goldluecke | first1 = B. | last2 = Strekalovskiy | first2 = E. | last3 = Cremers | first3 = D. | last4 = Siims | first4 = P.-T. A. I. | year = 2012 | title = The natural vectorial total variation which arises from geometric measure theory | url = | journal = SIAM J. Imag Sci | volume = 5 | issue = 2| pages = 537–563 | doi=10.1137/110823766}}&lt;/ref&gt;<br /> <br /> Here, &lt;math&gt;H, V, P, Q&lt;/math&gt; are newly introduced variables where &lt;math&gt;H&lt;/math&gt; = &lt;math&gt;\nabla d_{h}&lt;/math&gt;, &lt;math&gt;V&lt;/math&gt; = &lt;math&gt;\nabla d_{v}&lt;/math&gt;, &lt;math&gt;P&lt;/math&gt; = &lt;math&gt;\nabla \Chi&lt;/math&gt;, and &lt;math&gt;Q&lt;/math&gt; = &lt;math&gt;P \bullet d&lt;/math&gt;. &lt;math&gt;\lambda_{H}, \lambda_{V}, \lambda_{P}, \lambda_{Q}&lt;/math&gt; are the Lagrangian multipliers for &lt;math&gt;H, V, P, Q&lt;/math&gt;. For each iteration, the approximate minimizer of &lt;math&gt;L_{2}&lt;/math&gt; with respect to variables (&lt;math&gt;\Chi, P, Q&lt;/math&gt;) is calculated. And as in the field refinement model, the lagrangian multipliers are updated and the iterative process is stopped when convergence is achieved.<br /> <br /> For the orientation field refinement model, the Lagrangian multipliers are updated in the iterative process as follows:<br /> <br /> &lt;math&gt;(\lambda_{H})^k = (\lambda_{H})^{k-1} + \gamma_{H}(H^k - \nabla (d_{h})^k)&lt;/math&gt;<br /> <br /> &lt;math&gt;(\lambda_{V})^k = (\lambda_{V})^{k-1} + \gamma_{V}(V^k - \nabla (d_{v})^k)&lt;/math&gt;<br /> <br /> For the iterative directional total variation refinement model, the Lagrangian multipliers are updated as follows:<br /> <br /> &lt;math&gt;(\lambda_{P})^k = (\lambda_{P})^{k-1} + \gamma_{P}(P^k - \nabla (\Chi)^k)&lt;/math&gt;<br /> <br /> &lt;math&gt;(\lambda_{Q})^k = (\lambda_{Q})^{k-1} + \gamma_{Q}(Q^k - P^{k} \bullet d)&lt;/math&gt;<br /> <br /> Here, &lt;math&gt;\gamma_{H}, \gamma_{V}, \gamma_{P}, \gamma_{Q}&lt;/math&gt; are positive constants.<br /> <br /> =====Advantages and disadvantages=====<br /> <br /> Based on Peak Signal-to-Noise Ratio (PSNR) and Structural Similarity Index (SSIM) metrics and known ground-truth images for testing performance, it is concluded that iterative directional total variation has a better reconstructed performance than the non-iterative methods in preserving edge and texture areas. The orientation field refinement model plays a major role in this improvement in performance as it increases the number of directionless pixels in the flat area while enhancing the orientation field consistency in the regions with edges.<br /> <br /> ==Applications==<br /> The field of compressive sensing is related to several topics in signal processing and computational mathematics, such as [[underdetermined system|underdetermined linear-system]]s, [[group testing]], heavy hitters, [[sparse coding]], [[multiplexing]], sparse sampling, and finite rate of innovation. Its broad scope and generality has enabled several innovative CS-enhanced approaches in signal processing and compression, solution of inverse problems, design of radiating systems, radar and through-the-wall imaging, and antenna characterization.&lt;ref&gt;{{Cite journal|author = Andrea Massa, Paolo Rocca, Giacomo Oliveri|title = Compressive Sensing in Electromagnetics - A Review|journal = IEEE Antennas and Propagation Magazine|volume = 57|number = 1|year = 2015|pp = 224–238|doi = 10.1109/MAP.2015.2397092|url = http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=7046378}}&lt;/ref&gt; Imaging techniques having a strong affinity with compressive sensing include [[coded aperture]] and [[computational photography]]. Implementations of compressive sensing in hardware at different [[technology readiness level]]s is available.&lt;ref&gt;Compressive Sensing Hardware, http://sites.google.com/site/igorcarron2/compressedsensinghardware&lt;/ref&gt;<br /> <br /> Conventional CS reconstruction uses sparse signals (usually sampled at a rate less than the Nyquist sampling rate) for reconstruction through constrained &lt;math&gt;l_{1}&lt;/math&gt; minimization. One of the earliest applications of such an approach was in reflection seismology which used sparse reflected signals from band-limited data for tracking changes between sub-surface layers.&lt;ref name=&quot;Seismic sparse signals&quot;&gt;Taylor, H.L., Banks, S.C., McCoy, J.F. &quot;Deconvolution with the 1 norm. ''Geophysics'' 44(1), 39–52 (1979)&lt;/ref&gt; When the LASSO model came into prominence in the 1990s as a statistical method for selection of sparse models,&lt;ref name=&quot;LASSO&quot;&gt;Tibshirani, R. &quot;Regression shrinkage and selection via the lasso. ''J. R. Stat. Soc. B'' 58(1), 267–288 (1996)&lt;/ref&gt; this method was further used in computational harmonic analysis for sparse signal representation from over-complete dictionaries. Some of the other applications include incoherent sampling of radar pulses. The work by ''Boyd et al.''&lt;ref name = &quot;Original source for IRLS&quot; /&gt; has applied the LASSO model- for selection of sparse models- towards analog to digital converters (the current ones use a sampling rate higher than the Nyquist rate along with the quantized Shannon representation). This would involve a parallel architecture in which the polarity of the analog signal changes at a high rate followed by digitizing the integral at the end of each time-interval to obtain the converted digital signal.<br /> <br /> ===Photography===<br /> Compressed sensing is used in a mobile phone camera sensor. The approach allows a reduction in image acquisition energy per image by as much as a factor of 15 at the cost of complex decompression algorithms; the computation may require an off-device implementation.&lt;ref&gt;{{cite journal|title=New Camera Chip Captures Only What It Needs|author=David Schneider|journal=IEEE Spectrum|date=March 2013|url=http://spectrum.ieee.org/semiconductors/optoelectronics/camera-chip-makes-alreadycompressed-images|accessdate=2013-03-20}}&lt;/ref&gt;<br /> <br /> Compressed sensing is used in single-pixel cameras from [[Rice University]].&lt;ref name=cscamera&gt;{{cite web|url=http://dsp.rice.edu/cscamera |title=Compressive Imaging: A New Single-Pixel Camera &amp;#124; Rice DSP |publisher=Dsp.rice.edu |date= |accessdate=2013-06-04}}&lt;/ref&gt; [[Bell Labs]] employed the technique in a lensless single-pixel camera that takes stills using repeated snapshots of randomly chosen apertures from a grid. Image quality improves with the number of snapshots, and generally requires a small fraction of the data of conventional imaging, while eliminating lens/focus-related aberrations.&lt;ref&gt;{{cite web|author=The Physics arXiv Blog June 3, 2013 |url=http://www.technologyreview.com/view/515651/bell-labs-invents-lensless-camera/ |title=Bell Labs Invents Lensless Camera &amp;#124; MIT Technology Review |publisher=Technologyreview.com |date=2013-05-25 |accessdate=2013-06-04}}&lt;/ref&gt;&lt;ref&gt;{{cite journal|author1=Gang Huang|author2=Hong Jiang|author3=Kim Matthews|author4=Paul Wilford|title=Lensless Imaging by Compressive Sensing|year=2013|volume=2393|journal=IEEE International Conference on Image Processing, ICIP , Paper #|arxiv=1305.7181}}&lt;/ref&gt;<br /> <br /> ===Holography===<br /> Compressed sensing can be used to improve image reconstruction in [[holography]] by increasing the number of [[voxel]]s one can infer from a single hologram.&lt;ref&gt;{{cite journal | last1 = Brady | first1 = David | last2 = Choi | first2 = Kerkil | last3 = Marks | first3 = Daniel | last4 = Horisaki | first4 = Ryoichi | last5 = Lim | first5 = Sehoon | year = 2009 | title = Compressive holography | url = | journal = Optics Express | volume = 17 | issue = | pages = 13040–13049 | doi=10.1364/oe.17.013040}}&lt;/ref&gt;&lt;ref&gt;{{cite journal | last1 = Rivenson | first1 = Y. | last2 = Stern | first2 = A. | last3 = Javidi | first3 = B. | year = 2010 | title = Compressive fresnel holography | url = | journal = Display Technology, Journal of | volume = 6 | issue = 10| pages = 506–509 | doi=10.1109/jdt.2010.2042276}}&lt;/ref&gt;&lt;ref&gt;{{cite journal | last1 = Denis | first1 = Loic | last2 = Lorenz | first2 = Dirk | last3 = Thibaut | first3 = Eric | last4 = Fournier | first4 = Corinne | last5 = Trede | first5 = Dennis | year = 2009 | title = Inline hologram reconstruction with sparsity constraints | url = | journal = Opt. Lett. | volume = 34 | issue = 22| pages = 3475–3477 | doi=10.1364/ol.34.003475}}&lt;/ref&gt; It is also used for image retrieval from undersampled measurements in optical &lt;ref&gt;{{cite journal | last1 = Marim | first1 = M. | last2 = Angelini | first2 = E. | last3 = Olivo-Marin | first3 = J. C. | last4 = Atlan | first4 = M. | year = 2011 | title = Off-axis compressed holographic microscopy in low-light conditions | url = http://arxiv.org/abs/1101.1735 | journal = Optics Letters | volume = 36 | issue = 1| pages = 79–81 | doi=10.1364/ol.36.000079}}&lt;/ref&gt;&lt;ref&gt;{{cite journal | last1 = Marim | first1 = M. M. | last2 = Atlan | first2 = M. | last3 = Angelini | first3 = E. | last4 = Olivo-Marin | first4 = J. C. | year = 2010 | title = Compressed sensing with off-axis frequency-shifting holography | url = http://arxiv.org/abs/1004.5305 | journal = Optics Letters | volume = 35 | issue = 6| pages = 871–873 | doi=10.1364/ol.35.000871}}&lt;/ref&gt; and millimeter-wave &lt;ref&gt;{{cite journal | last1 = Fernandez Cull | first1 = Christy | last2 = Wikner | first2 = David A. | last3 = Mait | first3 = Joseph N. | last4 = Mattheiss | first4 = Michael | last5 = Brady | first5 = David J. | year = 2010 | title = Millimeter-wave compressive holography | url = | journal = Appl. Opt. | volume = 49 | issue = 19| pages = E67–E82 | doi=10.1364/ao.49.000e67}}&lt;/ref&gt; holography.<br /> <br /> ===Facial recognition===<br /> Compressed sensing is being used in facial recognition applications.&lt;ref&gt;[http://www.wired.com/science/discoveries/news/2008/03/new_face_recognition Engineers Test Highly Accurate Face Recognition]&lt;/ref&gt;<br /> <br /> ===Computed Tomography===<br /> Compressed sensing has been proposed for low dose [[Computed Tomography]] acquisition&lt;ref name=&quot;ata&quot;&gt;Barkan, O; Weill, J; Averbuch, A; Dekel, S. [http://www.cv-foundation.org/openaccess/content_cvpr_2013/papers/Barkan_Adaptive_Compressed_Tomography_2013_CVPR_paper.pdf &quot;Adaptive Compressed Tomography Sensing&quot;]. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition 2013 (pp. 2195-2202).&lt;/ref&gt;. The proposed algorithm iterates between selective limited acquisition and improved reconstruction, with the goal of applying only the dose level required for sufficient image quality. The theoretical foundation of the algorithm is nonlinear Ridgelet approximation and a discrete form of Ridgelet analysis is used to compute the selective acquisition steps that best capture the image edges.<br /> <br /> ===Magnetic resonance imaging===<br /> Compressed sensing has been used &lt;ref name=&quot;dx.doi.org&quot;&gt;Sparse MRI: The application of compressed sensing for rapid MR imaging; See Lustig, Michael and Donoho, David and Pauly, John M, Magnetic resonance in medicine, 58(6), 1182-1195 (2007) {{DOI|10.1002/mrm.21391}}&lt;/ref&gt;&lt;ref name=&quot;Compressed Sensing MRI 2008&quot;&gt;{{cite journal | last1 = Lustig | first1 = M. | last2 = Donoho | first2 = D.L. | last3 = Santos | first3 = J.M. | last4 = Pauly | first4 = J.M. | year = 2008 | title = Compressed Sensing MRI; | url = | journal = Signal Processing Magazine, IEEE | volume = 25 | issue = 2| pages = 72–82 | doi = 10.1109/MSP.2007.914728 }}&lt;/ref&gt; to shorten [[magnetic resonance imaging]] scanning sessions on conventional hardware.&lt;ref&gt;{{cite web|author=Jordan EllenbergEmail Author |url=http://www.wired.com/magazine/2010/02/ff_algorithm/all/1 |title=Fill in the Blanks: Using Math to Turn Lo-Res Datasets Into Hi-Res Samples &amp;#124; Wired Magazine |publisher=Wired.com |date=2010-03-04 |accessdate=2013-06-04}}&lt;/ref&gt;&lt;ref&gt;[http://nuit-blanche.blogspot.com/2010/03/why-compressed-sensing-is-not-csi.html Why Compressed Sensing is NOT a CSI &quot;Enhance&quot; technology ... yet !]&lt;/ref&gt;&lt;ref&gt;[http://nuit-blanche.blogspot.com/2010/03/surely-you-must-be-joking-mr.html Surely You Must Be Joking Mr. Screenwriter]&lt;/ref&gt; Reconstruction methods include<br /> * ISTA<br /> * FISTA<br /> * SISTA<br /> * ePRESS &lt;ref&gt;{{cite journal|last1=Zhang|first1=Y.|last2=Peterson|first2=B.|title=Energy Preserved Sampling for Compressed Sensing MRI|journal=Computational and Mathematical Methods in Medicine|date=2014|volume=2014|doi=10.1155/2014/546814|url=http://www.hindawi.com/journals/cmmm/2014/546814|pages=1–12}}&lt;/ref&gt;<br /> * EWISTA &lt;ref name=Zhang_2015&gt;{{cite journal|last1=Zhang|first1=Y.|title=Exponential Wavelet Iterative Shrinkage Thresholding Algorithm for Compressed Sensing Magnetic Resonance Imaging|journal=Information Sciences|date=2015|volume=322|pages=115–132|url=http://www.sciencedirect.com/science/article/pii/S0020025515004491|doi=10.1016/j.ins.2015.06.017}}&lt;/ref&gt;<br /> * EWISTARS &lt;ref&gt;{{cite journal|last1=Zhang|first1=Y.|last2=Wang|first2=S.|title=Exponential Wavelet Iterative Shrinkage Thresholding Algorithm with Random Shift for Compressed Sensing Magnetic Resonance Imaging|journal=IEEJ Transactions on Electrical and Electronic Engineering|date=2015|volume=10|issue=1|pages=116–117|url=http://onlinelibrary.wiley.com/doi/10.1002/tee.22059/abstract|doi=10.1002/tee.22059}}&lt;/ref&gt; etc.<br /> <br /> Compressed sensing addresses the issue of high scan time by enabling faster acquisition by measuring fewer Fourier coefficients. This produces a high-quality image with relatively lower scan time. Another application (also discussed ahead) is for CT reconstruction with fewer X-ray projections. Compressed sensing, in this case, removes the high spatial gradient parts - mainly, image noise and artifacts. This holds tremendous potential as one can obtain high-resolution CT images at low radiation doses (through lower current-mA settings).&lt;ref name=&quot;MRI&quot;&gt;{{cite journal | last1 = Figueiredo | first1 = M. | last2 = Bioucas-Dias | first2 = J.M. | last3 = Nowak | first3 = R.D. | year = 2007 | title = Majorization–minimization algorithms for wavelet-based image restoration | url = | journal = IEEE Trans. Image Process | volume = 16 | issue = 12| pages = 2980–2991 | doi=10.1109/tip.2007.909318}}&lt;/ref&gt;<br /> <br /> ===Network tomography===<br /> Compressed sensing has showed outstanding results in the application of [[network tomography]] to [[network management]]. [[Network delay]] estimation and [[network congestion]] detection can both be modeled as underdetermined [[System of linear equations|systems of linear equations]] where the coefficient matrix is the network routing matrix. Moreover, in the [[Internet]], network routing matrices usually satisfy the criterion for using compressed sensing.&lt;ref&gt;[Network tomography via compressed sensing|http://www.ee.washington.edu/research/funlab/Publications/2010/CS-Tomo.pdf]&lt;/ref&gt;<br /> <br /> ===Shortwave-infrared cameras===<br /> Commercial shortwave-infrared cameras based upon compressed sensing are available.&lt;ref&gt;{{cite web|title=InView web site|publisher=http://www.inviewcorp.com/products}}&lt;/ref&gt; These cameras have light sensitivity from 0.9&amp;nbsp;[[µm]] to 1.7&amp;nbsp;µm, which are wavelengths invisible to the human eye.<br /> <br /> ===Aperture synthesis in radio astronomy===<br /> In the field of [[radio astronomy]], compressed sensing has been proposed for deconvolving an interferometric image.&lt;ref&gt;[http://mnras.oxfordjournals.org/content/395/3/1733|Compressed sensing imaging techniques for radio interferometry]&lt;/ref&gt; In fact, the [[CLEAN (algorithm)|Högbom CLEAN algorithm]] that has been in use for the deconvolution of radio images since 1974, is similar to compressed sensing's matching pursuit algorithm.<br /> <br /> ==See also==<br /> *[[Noiselet]]<br /> *[[Sparse approximation]]<br /> *[[Sparse coding]]<br /> *[[Low-density parity-check code]]<br /> <br /> ==Notes==<br /> {{reflist|group=note}}<br /> <br /> ==References==<br /> {{reflist|30em}}<br /> <br /> ==Further reading==<br /> * &quot;The Fundamentals of Compressive Sensing&quot; [http://www.brainshark.com/brainshark/brainshark.net/portal/title.aspx?pid=zCdz10BfTRz0z0 Part 1], [http://www.brainshark.com/brainshark/brainshark.net/portal/title.aspx?pid=zCgzXgcEKz0z0 Part 2] and [http://www.brainshark.com/brainshark/brainshark.net/portal/title.aspx?pid=zAvz9F41cz0z0 Part 3]: video tutorial by Mark Davenport, Georgia Tech. at [http://www.brainshark.com/sps SigView, the IEEE Signal Processing Society Tutorial Library].<br /> * [http://www.wired.com/magazine/2010/02/ff_algorithm/all/1 Using Math to Turn Lo-Res Datasets Into Hi-Res Samples] Wired Magazine article<br /> * [http://dsp.rice.edu/cs Compressive Sensing Resources] at [[Rice University]].<br /> * [http://igorcarron.googlepages.com/cs Compressed Sensing: The Big Picture]<br /> * [http://igorcarron.googlepages.com/compressedsensinghardware A list of different hardware implementation of Compressive Sensing]<br /> * [http://compressedsensing.googlepages.com/home Compressed Sensing 2.0 ]<br /> * [http://www.ams.org/happening-series/hap7-pixel.pdf Compressed Sensing Makes Every Pixel Count] – article in the AMS ''What's Happening in the Mathematical Sciences'' series<br /> * [http://nuit-blanche.blogspot.com/search/label/CS Nuit Blanche] A blog on Compressive Sensing featuring the most recent information on the subject (preprints, presentations, Q/As)<br /> * [http://igorcarron.googlepages.com/csvideos Online Talks focused on Compressive Sensing]<br /> * [http://ugcs.caltech.edu/~srbecker/wiki/Main_Page Wiki on sparse reconstruction]<br /> * [http://stemblab.github.io/intuitive-cs/ Intuitive Compressive Sensing]<br /> <br /> {{DEFAULTSORT:Compressed Sensing}}<br /> [[Category:Information theory]]<br /> [[Category:Signal processing]]<br /> [[Category:Linear algebra]]<br /> [[Category:Regression analysis]]<br /> [[Category:Mathematical optimization]]</div> Deepalgo https://en.wikipedia.org/w/index.php?title=Word_embedding&diff=711498230 Word embedding 2016-03-23T06:58:43Z <p>Deepalgo: </p> <hr /> <div>{{machine learning bar}}<br /> <br /> '''Word embedding''' is the collective name for a set of [[language model]]ing and [[feature learning]] techniques in [[natural language processing]] where words or phrases from the vocabulary are mapped to vectors of real numbers in a low-dimensional space relative to the vocabulary size (&quot;continuous space&quot;).<br /> <br /> Methods to generate this mapping include [[neural net language model|neural networks]],&lt;ref&gt;{{cite arXiv |eprint=1310.4546 |last1=Mikolov |first1=Tomas |title=Distributed Representations of Words and Phrases and their Compositionality |last2=Sutskever |first2=Ilya |last3=Chen |first3=Kai |last4=Corrado |first4=Greg |last5=Dean |first5=Jeffrey |class=cs.CL| year=2013}}&lt;/ref&gt;&lt;ref&gt;{{cite arXiv |eprint=1603.06571 |last1=Barkan |first1=Oren |title=Bayesian Neural Word Embedding |class=cs.CL| year=2015}}&lt;/ref&gt; [[dimensionality reduction]] on the word co-occurrence matrix,&lt;ref&gt;{{cite arXiv |eprint=1312.5542 |last1=Lebret |first1=Rémi |title=Word Emdeddings through Hellinger PCA |last2=Collobert |first2=Ronan |class=cs.CL |year=2013}}&lt;/ref&gt;&lt;ref&gt;{{Cite conference |url=http://papers.nips.cc/paper/5477-neural-word-embedding-as-implicit-matrix-factorization.pdf |title=Neural Word Embedding as Implicit Matrix Factorization |last=Levy |first=Omer |conference=NIPS |year=2014 |last2=Goldberg |first2=Yoav}}&lt;/ref&gt;&lt;ref&gt;{{Cite conference |url=http://ijcai.org/papers15/Papers/IJCAI15-513.pdf |title=Word Embedding Revisited: A New Representation Learning and Explicit Matrix Factorization Perspective |last=Li |first=Yitan |conference=Int'l J. Conf. on Artificial Intelligence (IJCAI) |year=2015 |last2=Xu |first2=Linli}}&lt;/ref&gt; and explicit representation in terms of the context in which words appear.&lt;ref&gt;{{cite conference |last1=Levy |first1=Omer |last2=Goldberg |first2=Yoav |title=Linguistic Regularities in Sparse and Explicit Word Representations |conference=CoNLL |pages=171–180 |year=2014 |url=https://levyomer.files.wordpress.com/2014/04/linguistic-regularities-in-sparse-and-explicit-word-representations-conll-2014.pdf}}&lt;/ref&gt;<br /> <br /> Word and phrase embeddings, when used as the underlying input representation, have been shown to boost the performance in NLP tasks such as [[syntactic parsing]]&lt;ref&gt;{{cite conference |last1=Socher |first1=Richard |last2=Bauer |first2=John |last3=Manning |first3=Christopher |last4=Ng |first4=Andrew |title=Parsing with compositional vector grammars |conference=Proc. ACL Conf. |year=2013 |url=http://www.socher.org/uploads/Main/SocherBauerManningNg_ACL2013.pdf}}&lt;/ref&gt; and [[sentiment analysis]].&lt;ref&gt;{{cite conference |last1=Socher |first1=Richard |last2=Perelygin |first2=Alex |last3=Wu |first3=Jean |last4=Chuang |first4=Jason |last5=Manning |first5=Chris |last6=Ng |first6=Andrew |last7=Potts |first7=Chris |title=Recursive Deep Models for Semantic Compositionality Over a Sentiment Treebank |conference=EMNLP |year=2013 |url=http://nlp.stanford.edu/~socherr/EMNLP2013_RNTN.pdf}}&lt;/ref&gt;<br /> <br /> == Software ==<br /> Software for training and using word embeddings includes [[Google]]'s [[Word2vec]], Stanford University's GloVe&lt;ref&gt;{{cite web |url=http://nlp.stanford.edu/projects/glove/ |title=GloVe}}&lt;/ref&gt; and [[Deeplearning4j]].<br /> <br /> == See also ==<br /> * [[Brown clustering]]<br /> <br /> == References ==<br /> {{Reflist}}<br /> <br /> [[Category:Language modeling]]<br /> [[Category:Artificial neural networks]]</div> Deepalgo https://en.wikipedia.org/w/index.php?title=Word_embedding&diff=711341553 Word embedding 2016-03-22T08:40:10Z <p>Deepalgo: </p> <hr /> <div>{{machine learning bar}}<br /> <br /> '''Word embedding''' is the collective name for a set of [[language model]]ing and [[feature learning]] techniques in [[natural language processing]] where words or phrases from the vocabulary are mapped to vectors of real numbers in a low-dimensional space relative to the vocabulary size (&quot;continuous space&quot;).<br /> <br /> Methods to generate this mapping include [[neural net language model|neural networks]],&lt;ref&gt;{{cite arXiv |eprint=1310.4546 |last1=Mikolov |first1=Tomas |title=Distributed Representations of Words and Phrases and their Compositionality |last2=Sutskever |first2=Ilya |last3=Chen |first3=Kai |last4=Corrado |first4=Greg |last5=Dean |first5=Jeffrey |class=cs.CL| year=2013}}&lt;/ref&gt;&lt;ref name=&quot;bsg&quot;&gt;Barkan, Oren (2015). [https://www.researchgate.net/profile/Oren_Barkan/publication/298785900_Bayesian_Neural_Word_Embedding/links/56f039f108ae70bdd6c94644.pdf &quot;Bayesian Neural Word Embedding&quot;].&lt;/ref&gt; [[dimensionality reduction]] on the word co-occurrence matrix,&lt;ref&gt;{{cite arXiv |eprint=1312.5542 |last1=Lebret |first1=Rémi |title=Word Emdeddings through Hellinger PCA |last2=Collobert |first2=Ronan |class=cs.CL |year=2013}}&lt;/ref&gt;&lt;ref&gt;{{Cite conference |url=http://papers.nips.cc/paper/5477-neural-word-embedding-as-implicit-matrix-factorization.pdf |title=Neural Word Embedding as Implicit Matrix Factorization |last=Levy |first=Omer |conference=NIPS |year=2014 |last2=Goldberg |first2=Yoav}}&lt;/ref&gt;&lt;ref&gt;{{Cite conference |url=http://ijcai.org/papers15/Papers/IJCAI15-513.pdf |title=Word Embedding Revisited: A New Representation Learning and Explicit Matrix Factorization Perspective |last=Li |first=Yitan |conference=Int'l J. Conf. on Artificial Intelligence (IJCAI) |year=2015 |last2=Xu |first2=Linli}}&lt;/ref&gt; and explicit representation in terms of the context in which words appear.&lt;ref&gt;{{cite conference |last1=Levy |first1=Omer |last2=Goldberg |first2=Yoav |title=Linguistic Regularities in Sparse and Explicit Word Representations |conference=CoNLL |pages=171–180 |year=2014 |url=https://levyomer.files.wordpress.com/2014/04/linguistic-regularities-in-sparse-and-explicit-word-representations-conll-2014.pdf}}&lt;/ref&gt;<br /> <br /> Word and phrase embeddings, when used as the underlying input representation, have been shown to boost the performance in NLP tasks such as [[syntactic parsing]]&lt;ref&gt;{{cite conference |last1=Socher |first1=Richard |last2=Bauer |first2=John |last3=Manning |first3=Christopher |last4=Ng |first4=Andrew |title=Parsing with compositional vector grammars |conference=Proc. ACL Conf. |year=2013 |url=http://www.socher.org/uploads/Main/SocherBauerManningNg_ACL2013.pdf}}&lt;/ref&gt; and [[sentiment analysis]].&lt;ref&gt;{{cite conference |last1=Socher |first1=Richard |last2=Perelygin |first2=Alex |last3=Wu |first3=Jean |last4=Chuang |first4=Jason |last5=Manning |first5=Chris |last6=Ng |first6=Andrew |last7=Potts |first7=Chris |title=Recursive Deep Models for Semantic Compositionality Over a Sentiment Treebank |conference=EMNLP |year=2013 |url=http://nlp.stanford.edu/~socherr/EMNLP2013_RNTN.pdf}}&lt;/ref&gt;<br /> <br /> == Software ==<br /> Software for training and using word embeddings includes [[Google]]'s [[Word2vec]], Stanford University's GloVe&lt;ref&gt;{{cite web |url=http://nlp.stanford.edu/projects/glove/ |title=GloVe}}&lt;/ref&gt; and [[Deeplearning4j]].<br /> <br /> == See also ==<br /> * [[Brown clustering]]<br /> <br /> == References ==<br /> {{Reflist}}<br /> <br /> [[Category:Language modeling]]<br /> [[Category:Artificial neural networks]]</div> Deepalgo https://en.wikipedia.org/w/index.php?title=Gaussian_process&diff=711255220 Gaussian process 2016-03-21T20:09:53Z <p>Deepalgo: Undid revision 711075308 by 174.3.155.181 (talk) It is not appropriate to reference a paper in external links, please check &#039;deep learning&#039; there are many arxiv references that were publi</p> <hr /> <div>In [[probability theory]] and [[statistics]], a '''Gaussian process''' is a [[statistical distribution]] where [[random variate|observations]] occur in a continuous domain, e.g. time or space. In a Gaussian process, every point in some continuous input space is associated with a [[normal distribution|normally distributed]] [[random variable]]. Moreover, every finite collection of those random variables has a [[multivariate normal distribution]]. The distribution of a Gaussian process is the joint distribution of all those (infinitely many) random variables, and as such, it is a distribution over functions with a continuous domain, e.g. time or space.<br /> <br /> The concept of Gaussian processes is named after [[Carl Friedrich Gauss]] because it is based on the notion of the Gaussian distribution ([[normal distribution]]). Gaussian processes can be seen as an infinite-dimensional generalization of multivariate normal distributions.<br /> <br /> Gaussian processes are important in [[statistical model]]ling because of properties inherited from the normal. For example, if a random process is modeled as a Gaussian process, the distributions of various derived quantities can be obtained explicitly. Such quantities include the average value of the process over a range of times and the error in estimating the average using sample values at a small set of times.<br /> <br /> ==Definition==<br /> A '''Gaussian process''' is a [[statistical distribution]] ''X''&lt;sub&gt;''t''&lt;/sub&gt;, ''t'' ∈ ''T'', for which any finite [[linear combination]] of [[Sampling (statistics)|samples]] has a [[multivariate normal distribution|joint Gaussian distribution]]. More accurately, any linear [[functional (mathematics)|functional]] applied to the sample function ''X''&lt;sub&gt;''t''&lt;/sub&gt; will give a normally distributed result. Notation-wise, one can write ''X'' ~ GP(''m'',''K''), meaning the [[random function]] ''X'' is distributed as a GP with mean function ''m'' and [[covariance function]] ''K''.&lt;ref&gt;{{Cite book | last1 = Rasmussen | first1 = C. E. | chapter = Gaussian Processes in Machine Learning | doi = 10.1007/978-3-540-28650-9_4 | title = Advanced Lectures on Machine Learning | series = Lecture Notes in Computer Science | volume = 3176 | pages = 63–71 | year = 2004 | isbn = 978-3-540-23122-6 | pmid = | pmc = }}&lt;/ref&gt; When the input vector ''t'' is two- or multi-dimensional, a Gaussian process might be also known as a ''[[Gaussian random field]]''.&lt;ref name=&quot;prml&quot;&gt;{{cite book |last=Bishop |first=C.M. |title= Pattern Recognition and Machine Learning |year=2006 |publisher=[[Springer Science+Business Media|Springer]] |isbn=0-387-31073-8}}&lt;/ref&gt;<br /> <br /> Some authors&lt;ref&gt;{{cite book |last=Simon |first=Barry |title=Functional Integration and Quantum Physics |year=1979 |publisher=Academic Press}}&lt;/ref&gt; assume the [[random variable]]s ''X''&lt;sub&gt;''t''&lt;/sub&gt; have mean zero; this greatly simplifies calculations [[without loss of generality]] and allows the mean square properties of the process to be ''entirely'' determined by the [[covariance function]] ''K''.&lt;ref name=&quot;seegerGPML&quot;&gt;{{cite journal |last1= Seeger| first1= Matthias |year= 2004 |title= Gaussian Processes for Machine Learning|journal= International Journal of Neural Systems|volume= 14|issue= 2|pages= 69–104 |doi=10.1142/s0129065704001899}}&lt;/ref&gt;<br /> <br /> ==Alternative definitions==<br /> Alternatively, a time continuous [[stochastic process]] is Gaussian [[if and only if]] for every [[finite set]] of [[indexed family|indices]] &lt;math&gt;t_1,\ldots,t_k&lt;/math&gt; in the index set &lt;math&gt;T&lt;/math&gt;<br /> <br /> :&lt;math&gt;{\mathbf{X}}_{t_1, \ldots, t_k} = (\mathbf{X}_{t_1}, \ldots, \mathbf{X}_{t_k}) &lt;/math&gt;<br /> <br /> is a [[multivariate normal distribution|multivariate Gaussian]] [[random variable]]. Using [[Characteristic function (probability theory)|characteristic functions]] of random variables, the Gaussian property can be formulated as follows: &lt;math&gt;\left\{X_t ; t\in T\right\}&lt;/math&gt; is Gaussian if and only if, for every finite set of indices &lt;math&gt;t_1,\ldots,t_k&lt;/math&gt;, there are real valued &lt;math&gt;\sigma_{\ell j}&lt;/math&gt;, &lt;math&gt;\mu_\ell&lt;/math&gt; with &lt;math&gt;\sigma_{jj} &gt; 0&lt;/math&gt; such that the following equality holds for all &lt;math&gt;s_1,s_2,...s_k\in\mathbb{R}&lt;/math&gt;<br /> <br /> :&lt;math&gt; \operatorname{E}\left(\exp\left(i \ \sum_{\ell=1}^k s_\ell \ \mathbf{X}_{t_\ell}\right)\right) = \exp \left(-\frac{1}{2} \, \sum_{\ell, j} \sigma_{\ell j} s_\ell s_j + i \sum_\ell \mu_\ell s_\ell\right). &lt;/math&gt;<br /> <br /> where &lt;math&gt;i&lt;/math&gt; denotes the imaginary number &lt;math&gt;\sqrt{-1}&lt;/math&gt;.<br /> <br /> The numbers &lt;math&gt;\sigma_{\ell j}&lt;/math&gt; and &lt;math&gt;\mu_\ell&lt;/math&gt; can be shown to be the [[covariance]]s and [[mean (mathematics)|means]] of the variables in the process.&lt;ref&gt;{{cite book |last=Dudley |first=R.M. |title=Real Analysis and Probability |year=1989 |publisher=Wadsworth and Brooks/Cole}}&lt;/ref&gt;<br /> <br /> ==Covariance functions==<br /> A key fact of Gaussian processes is that they can be completely defined by their second-order statistics.&lt;ref name=&quot;prml&quot;/&gt; Thus, if a Gaussian process is assumed to have mean zero, defining the [[covariance function]] completely defines the process' behaviour. Importantly the non-negative definiteness of this function enables its spectral decomposition using the [[Karhunen–Loeve expansion]]. Basic aspects that can be defined through the covariance function are the process' [[stationary process|stationarity]], [[isotropy]], [[smoothness]] and [[periodic function|periodicity]].&lt;ref name=&quot;brml&quot;&gt;{{cite book |last=Barber |first=David |title=Bayesian Reasoning and Machine Learning |url=http://web4.cs.ucl.ac.uk/staff/D.Barber/pmwiki/pmwiki.php?n=Brml.HomePage |year=2012 |publisher=[[Cambridge University Press]] |isbn=978-0-521-51814-7}}&lt;/ref&gt;&lt;ref name=&quot;gpml&quot;&gt;{{cite book |last=Rasmussen |first=C.E. |author2=Williams, C.K.I |title=Gaussian Processes for Machine Learning |url=http://www.gaussianprocess.org/gpml/ |year=2006 |publisher=[[MIT Press]] |isbn=0-262-18253-X}}&lt;/ref&gt;<br /> <br /> [[stationary process|Stationarity]] refers to the process' behaviour regarding the separation of any two points ''x'' and ''x' ''. If the process is stationary, it depends on their separation, ''x''&amp;nbsp;&amp;minus;&amp;nbsp;''x''&lt;nowiki&gt;'&lt;/nowiki&gt;, while if non-stationary it depends on the actual position of the points ''x'' and ''x''&lt;nowiki&gt;'&lt;/nowiki&gt;. On the contrary, the special case of an Ornstein&amp;ndash;Uhlenbeck process, a [[Brownian motion]] process, is non-stationary.<br /> <br /> If the process depends only on |''x''&amp;nbsp;&amp;minus;&amp;nbsp;''x''&lt;nowiki&gt;'&lt;/nowiki&gt;|, the Euclidean distance (not the direction) between ''x'' and ''x''', then the process is considered isotropic. A process that is concurrently stationary and isotropic is considered to be [[homogeneous]];&lt;ref name=&quot;PRP&quot;&gt;{{cite book |last=Grimmett |first=Geoffrey |author2=David Stirzaker|title= Probability and Random Processes| year=2001 |publisher=[[Oxford University Press]] |isbn=0198572220}}&lt;/ref&gt; in practice these properties reflect the differences (or rather the lack of them) in the behaviour of the process given the location of the observer.<br /> <br /> Ultimately Gaussian processes translate as taking priors on functions and the smoothness of these priors can be induced by the covariance function.&lt;ref name =&quot;brml&quot;/&gt; If we expect that for &quot;near-by&quot; input points ''x'' and ''x' '' their corresponding output points ''y'' and ''y' '' to be &quot;near-by&quot; also, then the assumption of continuity is present. If we wish to allow for significant displacement then we might choose a rougher covariance function. Extreme examples of the behaviour is the Ornstein&amp;ndash;Uhlenbeck covariance function and the squared exponential where the former is never differentiable and the latter infinitely differentiable.<br /> <br /> Periodicity refers to inducing periodic patterns within the behaviour of the process. Formally, this is achieved by mapping the input ''x'' to a two dimensional vector ''u''(''x'')&amp;nbsp;=&amp;nbsp;(cos(''x''),&amp;nbsp;sin(''x'')).<br /> <br /> ===Usual covariance functions===<br /> [[File:Gaussian process draws from prior distribution.png|thumbnail|right|The effect of choosing different kernels on the prior function distribution of the Gaussian process. Left is a squared exponential kernel. Middle is Brownian. Right is quadratic.]]<br /> There are a number of common covariance functions:&lt;ref name=&quot;gpml&quot;/&gt;<br /> *Constant : &lt;math&gt; K_\text{C}(x,x') = C &lt;/math&gt;<br /> *Linear: &lt;math&gt; K_\text{L}(x,x') = x^T x'&lt;/math&gt;<br /> *Gaussian Noise: &lt;math&gt; K_\text{GN}(x,x') = \sigma^2 \delta_{x,x'}&lt;/math&gt;<br /> *Squared Exponential: &lt;math&gt; K_\text{SE}(x,x') = \exp \Big(-\frac{||d||^2}{2l^2} \Big)&lt;/math&gt;<br /> *Ornstein&amp;ndash;Uhlenbeck: &lt;math&gt; K_\text{OU}(x,x') = \exp \Big(-\frac{|d| }{l} \Big)&lt;/math&gt;<br /> *Matérn: &lt;math&gt; K_\text{Matern}(x,x') = \frac{2^{1-\nu}}{\Gamma(\nu)} \Big(\frac{\sqrt{2\nu}|d|}{l} \Big)^\nu K_{\nu}\Big(\frac{\sqrt{2\nu}|d|}{l} \Big)&lt;/math&gt;<br /> *Periodic: &lt;math&gt; K_\text{P}(x,x') = \exp\Big(-\frac{ 2\sin^2(\frac{d}{2})}{ l^2} \Big)&lt;/math&gt;<br /> *Rational Quadratic: &lt;math&gt; K_\text{RQ}(x,x') = (1+|d|^2)^{-\alpha}, \quad \alpha \geq 0&lt;/math&gt;<br /> <br /> Here &lt;math&gt;d = x- x'&lt;/math&gt;. The parameter &lt;math&gt;l&lt;/math&gt; is the characteristic length-scale of the process (practically, &quot;how close&quot; two points &lt;math&gt;x&lt;/math&gt; and &lt;math&gt;x'&lt;/math&gt; have to be to influence each other significantly), δ is the [[Kronecker delta]] and σ the [[standard deviation]] of the noise fluctuations. Moreover, &lt;math&gt;K_\nu&lt;/math&gt; is the [[modified Bessel function]] of order &lt;math&gt;\nu&lt;/math&gt; and &lt;math&gt;\Gamma(\nu)&lt;/math&gt; is the [[gamma function]] evaluated at &lt;math&gt;\nu&lt;/math&gt;. Importantly, a complicated covariance function can be defined as a linear combination of other simpler covariance functions in order to incorporate different insights about the data-set at hand.<br /> <br /> Clearly, the inferential results are dependent on the values of the hyperparameters θ (e.g. &lt;math&gt;l&lt;/math&gt; and ''σ'') defining the model's behaviour. A popular choice for θ is to provide ''[[maximum a posteriori]]'' (MAP) estimates of it with some chosen prior. If the prior is very near uniform, this is the same as maximizing the [[marginal likelihood]] of the process; the marginalization being done over the observed process values &lt;math&gt;y&lt;/math&gt;.&lt;ref name= &quot;gpml&quot;/&gt; This approach is also known as ''maximum likelihood II'', ''evidence maximization'', or ''[[Empirical Bayes]]''.&lt;ref name= &quot;seegerGPML&quot;/&gt;<br /> <br /> ==Brownian Motion as the Integral of Gaussian processes==<br /> A [[Wiener process]] (aka brownian motion) is the integral of a white noise Gaussian process. It is not [[stationary process|stationary]], but it has stationary increments.<br /> <br /> The [[Ornstein&amp;ndash;Uhlenbeck process]] is a [[stationary process|stationary]] Gaussian process.<br /> <br /> The [[Brownian bridge]] is the integral of a Gaussian process whose increments are not [[statistical independence|independent]].<br /> <br /> The [[fractional Brownian motion]] is the integral of a Gaussian process whose covariance function is a generalisation of Wiener process.<br /> <br /> ==Applications==<br /> A Gaussian process can be used as a [[prior probability distribution]] over [[Function (mathematics)|functions]] in [[Bayesian inference]].&lt;ref name=&quot;gpml&quot;/&gt;&lt;ref&gt;{{cite book |last=Liu |first=W. |author2=Principe, J.C. |author3=Haykin, S. |title=Kernel Adaptive Filtering: A Comprehensive Introduction |url=http://www.cnel.ufl.edu/~weifeng/publication.htm |year=2010 |publisher=[[John Wiley &amp; Sons|John Wiley]] |isbn=0-470-44753-2}}&lt;/ref&gt; Given any set of ''N'' points in the desired domain of your functions, take a [[multivariate Gaussian]] whose covariance [[matrix (mathematics)|matrix]] parameter is the [[Gram matrix]] of your ''N'' points with some desired [[stochastic kernel|kernel]], and [[sampling (mathematics)|sample]] from that Gaussian.<br /> <br /> Inference of continuous values with a Gaussian process prior is known as Gaussian process regression, or [[kriging]]; extending Gaussian process regression to [[Kernel methods for vector output|multiple target variables]] is known as ''cokriging''.&lt;ref&gt;{{cite book |last=Stein |first=M.L. |title=Interpolation of Spatial Data: Some Theory for Kriging |year=1999 |publisher = [[Springer Science+Business Media|Springer]]}}&lt;/ref&gt; Gaussian processes are thus useful as a powerful non-linear multivariate [[interpolation]] and out of sample extension&lt;ref name=&quot;gpr&quot;&gt; Barkan, O., Weill, J., &amp; Averbuch, A. (2016). [http://arxiv.org/abs/1603.02194 &quot;Gaussian Process Regression for Out-of-Sample Extension&quot;]. arXiv preprint arXiv:1603.02194.‏ &lt;/ref&gt; tool. Gaussian process regression can be further extended to address learning tasks in both [[Supervised learning|supervised]] (e.g. probabilistic classification&lt;ref name=&quot;gpml&quot;/&gt;) and [[Unsupervised learning|unsupervised]] (e.g. [[manifold learning]]&lt;ref name= &quot;prml&quot;/&gt;) learning frameworks.<br /> ===Gaussian process prediction, or kriging===<br /> [[File:Gaussian Process Regression.png|thumbnail|right|Gaussian Process Regression (prediction) with a squared exponential kernel. Left plot are draws from the prior function distribution. Middle are draws from the posterior. Right is mean prediction with one standard deviation shaded.]]<br /> When concerned with a general Gaussian process regression problem, it is assumed that for a Gaussian process ''f'' observed at coordinates x, the vector of values ''f(x)'' is just one sample from a multivariate Gaussian distribution of dimension equal to number of observed coordinates ''|x|''. Therefore under the assumption of a zero-mean distribution, ''f (x) ∼ N (0, K(θ,x,x'))'', where ''K(θ,x,x')'' is the covariance matrix between all possible pairs ''(x,x')'' for a given set of hyperparameters θ.&lt;ref name= &quot;gpml&quot;/&gt;<br /> As such the log marginal likelihood is:<br /> :&lt;math&gt;\log p(f(x)|\theta,x) = -\frac{1}{2}f(x)^T K(\theta,x,x')^{-1} f(x) -\frac{1}{2} \log \det(K(\theta,x,x')) - \frac{|x|}{2} \log 2\pi &lt;/math&gt;<br /> and maximizing this marginal likelihood towards θ provides the complete specification of the Gaussian process ''f''. One can briefly note at this point that the first term corresponds to a penalty term for a model's failure to fit observed values and the second term to a penalty term that increases proportionally to a model's complexity. Having specified ''θ'' making predictions about unobserved values ''f(x*)'' at coordinates ''x*'' is then only a matter of drawing samples from the predictive distribution ''p(y*|x*,f(x),x) = N(y*|A,B)'' where the posterior mean estimate A is defined as:<br /> :&lt;math&gt;A = K(\theta,x^*,x) K(\theta,x,x')^{-1} f(x)&lt;/math&gt;<br /> and the posterior variance estimate B is defined as:<br /> :&lt;math&gt;B = K(\theta,x^*,x^*) - K(\theta,x^*,x) K(\theta,x,x')^{-1} K(\theta,x^*,x)^T &lt;/math&gt;<br /> where ''K(θ,x*,x)'' is the covariance between the new coordinate of estimation ''x*'' and all other observed coordinates ''x'' for a given hyperparameter vector θ, ''K(θ,x,x')'' and ''f(x)'' are defined as before and ''K(θ,x*,x*)'' is the variance at point ''x*'' as dictated by ''θ''. It is important to note that practically the posterior mean estimate ''f(x*)'' (the &quot;point estimate&quot;) is just a linear combination of the observations ''f(x)''; in a similar manner the variance of ''f(x*)'' is actually independent of the observations ''f(x)''. A known bottleneck in Gaussian process prediction is that the computational complexity of prediction is cubic in the number of points ''|x|'' and as such can become unfeasible for larger data sets.&lt;ref name= &quot;brml&quot;/&gt; Works on sparse Gaussian processes, that usually are based on the idea of building a ''representative set'' for the given process ''f'', try to circumvent this issue.&lt;ref name=&quot;smolaSparse&quot;&gt;{{cite journal |last1= Smola| first1= A.J.| last2=Schoellkopf | first2= B. |year= 2000 |title= Sparse greedy matrix approximation for machine learning |journal= Proceedings of the Seventeenth International Conference on Machine Learning| pages=911–918}}&lt;/ref&gt;&lt;ref name=&quot;CsatoSparse&quot;&gt;{{cite journal |last1= Csato| first1=L.| last2=Opper | first2= M. |year= 2002 |title= Sparse on-line Gaussian processes |journal= Neural Computation |number=3| volume= 14 | pages=641–668 | doi=10.1162/089976602317250933}}&lt;/ref&gt;<br /> <br /> ==See also==<br /> * [[Bayes linear statistics]]<br /> * [[Bayesian interpretation of regularization]]<br /> <br /> ==Notes==<br /> {{Reflist}}<br /> <br /> ==External links==<br /> * [http://www.GaussianProcess.com www.GaussianProcess.com ]<br /> * [http://www.GaussianProcess.org The Gaussian Processes Web Site, including the text of Rasmussen and Williams' Gaussian Processes for Machine Learning]<br /> * [http://arxiv.org/abs/1505.02965 A gentle introduction to Gaussian processes]<br /> * [http://publications.nr.no/917_Rapport.pdf A Review of Gaussian Random Fields and Correlation Functions]<br /> <br /> ===Software===<br /> * [http://sourceforge.net/projects/kriging STK: a Small (Matlab/Octave) Toolbox for Kriging and GP modeling]<br /> * [http://www.uqlab.com/ Kriging module in UQLab framework (Matlab)]<br /> * [https://github.com/Yelp/MOE Yelp MOE - A black box optimization engine using Gaussian process learning]<br /> * [http://www.sumo.intec.ugent.be/ooDACE ooDACE] - A flexible object-oriented Kriging matlab toolbox.<br /> * [http://becs.aalto.fi/en/research/bayes/gpstuff/ GPstuff - Gaussian process toolbox for Matlab and Octave]<br /> * [https://github.com/SheffieldML/GPy GPy - A Gaussian processes framework in Python]<br /> * [http://www.tmpl.fi/gp/ Interactive Gaussian process regression demo]<br /> * [https://github.com/ChristophJud/GPR Basic Gaussian process library written in C++11]<br /> <br /> ===Video tutorials===<br /> * [http://videolectures.net/gpip06_mackay_gpb Gaussian Process Basics by David MacKay]<br /> * [http://videolectures.net/epsrcws08_rasmussen_lgp Learning with Gaussian Processes by Carl Edward Rasmussen]<br /> * [http://videolectures.net/mlss07_rasmussen_bigp Bayesian inference and Gaussian processes by Carl Edward Rasmussen]<br /> <br /> {{Stochastic processes}}<br /> <br /> {{Authority control}}<br /> <br /> {{DEFAULTSORT:Gaussian Process}}<br /> [[Category:Stochastic processes]]<br /> [[Category:Kernel methods for machine learning]]<br /> [[Category:Nonparametric Bayesian statistics]]</div> Deepalgo https://en.wikipedia.org/w/index.php?title=Word_embedding&diff=711241134 Word embedding 2016-03-21T18:33:40Z <p>Deepalgo: </p> <hr /> <div>{{machine learning bar}}<br /> <br /> '''Word embedding''' is the collective name for a set of [[language model]]ing and [[feature learning]] techniques in [[natural language processing]] where words or phrases from the vocabulary are mapped to vectors of real numbers in a low-dimensional space relative to the vocabulary size (&quot;continuous space&quot;).<br /> <br /> Methods to generate this mapping include [[neural net language model|neural networks]]&lt;ref&gt;{{cite arXiv |eprint=1310.4546 |last1=Mikolov |first1=Tomas |title=Distributed Representations of Words and Phrases and their Compositionality |last2=Sutskever |first2=Ilya |last3=Chen |first3=Kai |last4=Corrado |first4=Greg |last5=Dean |first5=Jeffrey |class=cs.CL| year=2013}}&lt;/ref&gt;&lt;ref name=&quot;bsg&quot;&gt; Barkan, Oren (8 August 2015). [https://www.researchgate.net/profile/Oren_Barkan/publication/298785900_Bayesian_Neural_Word_Embedding/links/56f039f108ae70bdd6c94644.pdf &quot;Bayesian Neural Word Embedding&quot;].&lt;/ref&gt;, [[dimensionality reduction]] on the word co-occurrence matrix,&lt;ref&gt;{{cite arXiv |eprint=1312.5542 |last1=Lebret |first1=Rémi |title=Word Emdeddings through Hellinger PCA |last2=Collobert |first2=Ronan |class=cs.CL |year=2013}}&lt;/ref&gt;&lt;ref&gt;{{Cite conference |url=http://papers.nips.cc/paper/5477-neural-word-embedding-as-implicit-matrix-factorization.pdf |title=Neural Word Embedding as Implicit Matrix Factorization |last=Levy |first=Omer |conference=NIPS |year=2014 |last2=Goldberg |first2=Yoav}}&lt;/ref&gt;&lt;ref&gt;{{Cite conference |url=http://ijcai.org/papers15/Papers/IJCAI15-513.pdf |title=Word Embedding Revisited: A New Representation Learning and Explicit Matrix Factorization Perspective |last=Li |first=Yitan |conference=Int'l J. Conf. on Artificial Intelligence (IJCAI) |year=2015 |last2=Xu |first2=Linli}}&lt;/ref&gt; and explicit representation in terms of the context in which words appear.&lt;ref&gt;{{cite conference |last1=Levy |first1=Omer |last2=Goldberg |first2=Yoav |title=Linguistic Regularities in Sparse and Explicit Word Representations |conference=CoNLL |pages=171–180 |year=2014 |url=https://levyomer.files.wordpress.com/2014/04/linguistic-regularities-in-sparse-and-explicit-word-representations-conll-2014.pdf}}&lt;/ref&gt;<br /> <br /> Word and phrase embeddings, when used as the underlying input representation, have been shown to boost the performance in NLP tasks such as [[syntactic parsing]]&lt;ref&gt;{{cite conference |last1=Socher |first1=Richard |last2=Bauer |first2=John |last3=Manning |first3=Christopher |last4=Ng |first4=Andrew |title=Parsing with compositional vector grammars |conference=Proc. ACL Conf. |year=2013 |url=http://www.socher.org/uploads/Main/SocherBauerManningNg_ACL2013.pdf}}&lt;/ref&gt; and [[sentiment analysis]].&lt;ref&gt;{{cite conference |last1=Socher |first1=Richard |last2=Perelygin |first2=Alex |last3=Wu |first3=Jean |last4=Chuang |first4=Jason |last5=Manning |first5=Chris |last6=Ng |first6=Andrew |last7=Potts |first7=Chris |title=Recursive Deep Models for Semantic Compositionality Over a Sentiment Treebank |conference=EMNLP |year=2013 |url=http://nlp.stanford.edu/~socherr/EMNLP2013_RNTN.pdf}}&lt;/ref&gt;<br /> <br /> == Software ==<br /> Software for training and using word embeddings includes [[Google]]'s [[Word2vec]], Stanford University's GloVe&lt;ref&gt;{{cite web |url=http://nlp.stanford.edu/projects/glove/ |title=GloVe}}&lt;/ref&gt; and [[Deeplearning4j]].<br /> <br /> == See also ==<br /> * [[Brown clustering]]<br /> <br /> == References ==<br /> {{Reflist}}<br /> <br /> <br /> <br /> [[Category:Language modeling]]<br /> [[Category:Artificial neural networks]]</div> Deepalgo https://en.wikipedia.org/w/index.php?title=Gaussian_process&diff=711009886 Gaussian process 2016-03-20T12:37:48Z <p>Deepalgo: /* Applications */</p> <hr /> <div>In [[probability theory]] and [[statistics]], a '''Gaussian process''' is a [[statistical distribution]] where [[random variate|observations]] occur in a continuous domain, e.g. time or space. In a Gaussian process, every point in some continuous input space is associated with a [[normal distribution|normally distributed]] [[random variable]]. Moreover, every finite collection of those random variables has a [[multivariate normal distribution]]. The distribution of a Gaussian process is the joint distribution of all those (infinitely many) random variables, and as such, it is a distribution over functions with a continuous domain, e.g. time or space.<br /> <br /> The concept of Gaussian processes is named after [[Carl Friedrich Gauss]] because it is based on the notion of the Gaussian distribution ([[normal distribution]]). Gaussian processes can be seen as an infinite-dimensional generalization of multivariate normal distributions.<br /> <br /> Gaussian processes are important in [[statistical model]]ling because of properties inherited from the normal. For example, if a random process is modeled as a Gaussian process, the distributions of various derived quantities can be obtained explicitly. Such quantities include the average value of the process over a range of times and the error in estimating the average using sample values at a small set of times.<br /> <br /> ==Definition==<br /> A '''Gaussian process''' is a [[statistical distribution]] ''X''&lt;sub&gt;''t''&lt;/sub&gt;, ''t'' ∈ ''T'', for which any finite [[linear combination]] of [[Sampling (statistics)|samples]] has a [[multivariate normal distribution|joint Gaussian distribution]]. More accurately, any linear [[functional (mathematics)|functional]] applied to the sample function ''X''&lt;sub&gt;''t''&lt;/sub&gt; will give a normally distributed result. Notation-wise, one can write ''X'' ~ GP(''m'',''K''), meaning the [[random function]] ''X'' is distributed as a GP with mean function ''m'' and [[covariance function]] ''K''.&lt;ref&gt;{{Cite book | last1 = Rasmussen | first1 = C. E. | chapter = Gaussian Processes in Machine Learning | doi = 10.1007/978-3-540-28650-9_4 | title = Advanced Lectures on Machine Learning | series = Lecture Notes in Computer Science | volume = 3176 | pages = 63–71 | year = 2004 | isbn = 978-3-540-23122-6 | pmid = | pmc = }}&lt;/ref&gt; When the input vector ''t'' is two- or multi-dimensional, a Gaussian process might be also known as a ''[[Gaussian random field]]''.&lt;ref name=&quot;prml&quot;&gt;{{cite book |last=Bishop |first=C.M. |title= Pattern Recognition and Machine Learning |year=2006 |publisher=[[Springer Science+Business Media|Springer]] |isbn=0-387-31073-8}}&lt;/ref&gt;<br /> <br /> Some authors&lt;ref&gt;{{cite book |last=Simon |first=Barry |title=Functional Integration and Quantum Physics |year=1979 |publisher=Academic Press}}&lt;/ref&gt; assume the [[random variable]]s ''X''&lt;sub&gt;''t''&lt;/sub&gt; have mean zero; this greatly simplifies calculations [[without loss of generality]] and allows the mean square properties of the process to be ''entirely'' determined by the [[covariance function]] ''K''.&lt;ref name=&quot;seegerGPML&quot;&gt;{{cite journal |last1= Seeger| first1= Matthias |year= 2004 |title= Gaussian Processes for Machine Learning|journal= International Journal of Neural Systems|volume= 14|issue= 2|pages= 69–104 |doi=10.1142/s0129065704001899}}&lt;/ref&gt;<br /> <br /> ==Alternative definitions==<br /> Alternatively, a time continuous [[stochastic process]] is Gaussian [[if and only if]] for every [[finite set]] of [[indexed family|indices]] &lt;math&gt;t_1,\ldots,t_k&lt;/math&gt; in the index set &lt;math&gt;T&lt;/math&gt;<br /> <br /> :&lt;math&gt;{\mathbf{X}}_{t_1, \ldots, t_k} = (\mathbf{X}_{t_1}, \ldots, \mathbf{X}_{t_k}) &lt;/math&gt;<br /> <br /> is a [[multivariate normal distribution|multivariate Gaussian]] [[random variable]]. Using [[Characteristic function (probability theory)|characteristic functions]] of random variables, the Gaussian property can be formulated as follows: &lt;math&gt;\left\{X_t ; t\in T\right\}&lt;/math&gt; is Gaussian if and only if, for every finite set of indices &lt;math&gt;t_1,\ldots,t_k&lt;/math&gt;, there are real valued &lt;math&gt;\sigma_{\ell j}&lt;/math&gt;, &lt;math&gt;\mu_\ell&lt;/math&gt; with &lt;math&gt;\sigma_{jj} &gt; 0&lt;/math&gt; such that the following equality holds for all &lt;math&gt;s_1,s_2,...s_k\in\mathbb{R}&lt;/math&gt;<br /> <br /> :&lt;math&gt; \operatorname{E}\left(\exp\left(i \ \sum_{\ell=1}^k s_\ell \ \mathbf{X}_{t_\ell}\right)\right) = \exp \left(-\frac{1}{2} \, \sum_{\ell, j} \sigma_{\ell j} s_\ell s_j + i \sum_\ell \mu_\ell s_\ell\right). &lt;/math&gt;<br /> <br /> where &lt;math&gt;i&lt;/math&gt; denotes the imaginary number &lt;math&gt;\sqrt{-1}&lt;/math&gt;.<br /> <br /> The numbers &lt;math&gt;\sigma_{\ell j}&lt;/math&gt; and &lt;math&gt;\mu_\ell&lt;/math&gt; can be shown to be the [[covariance]]s and [[mean (mathematics)|means]] of the variables in the process.&lt;ref&gt;{{cite book |last=Dudley |first=R.M. |title=Real Analysis and Probability |year=1989 |publisher=Wadsworth and Brooks/Cole}}&lt;/ref&gt;<br /> <br /> ==Covariance functions==<br /> A key fact of Gaussian processes is that they can be completely defined by their second-order statistics.&lt;ref name=&quot;prml&quot;/&gt; Thus, if a Gaussian process is assumed to have mean zero, defining the [[covariance function]] completely defines the process' behaviour. Importantly the non-negative definiteness of this function enables its spectral decomposition using the [[Karhunen–Loeve expansion]]. Basic aspects that can be defined through the covariance function are the process' [[stationary process|stationarity]], [[isotropy]], [[smoothness]] and [[periodic function|periodicity]].&lt;ref name=&quot;brml&quot;&gt;{{cite book |last=Barber |first=David |title=Bayesian Reasoning and Machine Learning |url=http://web4.cs.ucl.ac.uk/staff/D.Barber/pmwiki/pmwiki.php?n=Brml.HomePage |year=2012 |publisher=[[Cambridge University Press]] |isbn=978-0-521-51814-7}}&lt;/ref&gt;&lt;ref name=&quot;gpml&quot;&gt;{{cite book |last=Rasmussen |first=C.E. |author2=Williams, C.K.I |title=Gaussian Processes for Machine Learning |url=http://www.gaussianprocess.org/gpml/ |year=2006 |publisher=[[MIT Press]] |isbn=0-262-18253-X}}&lt;/ref&gt;<br /> <br /> [[stationary process|Stationarity]] refers to the process' behaviour regarding the separation of any two points ''x'' and ''x' ''. If the process is stationary, it depends on their separation, ''x''&amp;nbsp;&amp;minus;&amp;nbsp;''x''&lt;nowiki&gt;'&lt;/nowiki&gt;, while if non-stationary it depends on the actual position of the points ''x'' and ''x''&lt;nowiki&gt;'&lt;/nowiki&gt;. On the contrary, the special case of an Ornstein&amp;ndash;Uhlenbeck process, a [[Brownian motion]] process, is non-stationary.<br /> <br /> If the process depends only on |''x''&amp;nbsp;&amp;minus;&amp;nbsp;''x''&lt;nowiki&gt;'&lt;/nowiki&gt;|, the Euclidean distance (not the direction) between ''x'' and ''x''', then the process is considered isotropic. A process that is concurrently stationary and isotropic is considered to be [[homogeneous]];&lt;ref name=&quot;PRP&quot;&gt;{{cite book |last=Grimmett |first=Geoffrey |author2=David Stirzaker|title= Probability and Random Processes| year=2001 |publisher=[[Oxford University Press]] |isbn=0198572220}}&lt;/ref&gt; in practice these properties reflect the differences (or rather the lack of them) in the behaviour of the process given the location of the observer.<br /> <br /> Ultimately Gaussian processes translate as taking priors on functions and the smoothness of these priors can be induced by the covariance function.&lt;ref name =&quot;brml&quot;/&gt; If we expect that for &quot;near-by&quot; input points ''x'' and ''x' '' their corresponding output points ''y'' and ''y' '' to be &quot;near-by&quot; also, then the assumption of continuity is present. If we wish to allow for significant displacement then we might choose a rougher covariance function. Extreme examples of the behaviour is the Ornstein&amp;ndash;Uhlenbeck covariance function and the squared exponential where the former is never differentiable and the latter infinitely differentiable.<br /> <br /> Periodicity refers to inducing periodic patterns within the behaviour of the process. Formally, this is achieved by mapping the input ''x'' to a two dimensional vector ''u''(''x'')&amp;nbsp;=&amp;nbsp;(cos(''x''),&amp;nbsp;sin(''x'')).<br /> <br /> ===Usual covariance functions===<br /> [[File:Gaussian process draws from prior distribution.png|thumbnail|right|The effect of choosing different kernels on the prior function distribution of the Gaussian process. Left is a squared exponential kernel. Middle is Brownian. Right is quadratic.]]<br /> There are a number of common covariance functions:&lt;ref name=&quot;gpml&quot;/&gt;<br /> *Constant : &lt;math&gt; K_\text{C}(x,x') = C &lt;/math&gt;<br /> *Linear: &lt;math&gt; K_\text{L}(x,x') = x^T x'&lt;/math&gt;<br /> *Gaussian Noise: &lt;math&gt; K_\text{GN}(x,x') = \sigma^2 \delta_{x,x'}&lt;/math&gt;<br /> *Squared Exponential: &lt;math&gt; K_\text{SE}(x,x') = \exp \Big(-\frac{||d||^2}{2l^2} \Big)&lt;/math&gt;<br /> *Ornstein&amp;ndash;Uhlenbeck: &lt;math&gt; K_\text{OU}(x,x') = \exp \Big(-\frac{|d| }{l} \Big)&lt;/math&gt;<br /> *Matérn: &lt;math&gt; K_\text{Matern}(x,x') = \frac{2^{1-\nu}}{\Gamma(\nu)} \Big(\frac{\sqrt{2\nu}|d|}{l} \Big)^\nu K_{\nu}\Big(\frac{\sqrt{2\nu}|d|}{l} \Big)&lt;/math&gt;<br /> *Periodic: &lt;math&gt; K_\text{P}(x,x') = \exp\Big(-\frac{ 2\sin^2(\frac{d}{2})}{ l^2} \Big)&lt;/math&gt;<br /> *Rational Quadratic: &lt;math&gt; K_\text{RQ}(x,x') = (1+|d|^2)^{-\alpha}, \quad \alpha \geq 0&lt;/math&gt;<br /> <br /> Here &lt;math&gt;d = x- x'&lt;/math&gt;. The parameter &lt;math&gt;l&lt;/math&gt; is the characteristic length-scale of the process (practically, &quot;how close&quot; two points &lt;math&gt;x&lt;/math&gt; and &lt;math&gt;x'&lt;/math&gt; have to be to influence each other significantly), δ is the [[Kronecker delta]] and σ the [[standard deviation]] of the noise fluctuations. Moreover, &lt;math&gt;K_\nu&lt;/math&gt; is the [[modified Bessel function]] of order &lt;math&gt;\nu&lt;/math&gt; and &lt;math&gt;\Gamma(\nu)&lt;/math&gt; is the [[gamma function]] evaluated at &lt;math&gt;\nu&lt;/math&gt;. Importantly, a complicated covariance function can be defined as a linear combination of other simpler covariance functions in order to incorporate different insights about the data-set at hand.<br /> <br /> Clearly, the inferential results are dependent on the values of the hyperparameters θ (e.g. &lt;math&gt;l&lt;/math&gt; and ''σ'') defining the model's behaviour. A popular choice for θ is to provide ''[[maximum a posteriori]]'' (MAP) estimates of it with some chosen prior. If the prior is very near uniform, this is the same as maximizing the [[marginal likelihood]] of the process; the marginalization being done over the observed process values &lt;math&gt;y&lt;/math&gt;.&lt;ref name= &quot;gpml&quot;/&gt; This approach is also known as ''maximum likelihood II'', ''evidence maximization'', or ''[[Empirical Bayes]]''.&lt;ref name= &quot;seegerGPML&quot;/&gt;<br /> <br /> ==Brownian Motion as the Integral of Gaussian processes==<br /> A [[Wiener process]] (aka brownian motion) is the integral of a white noise Gaussian process. It is not [[stationary process|stationary]], but it has stationary increments.<br /> <br /> The [[Ornstein&amp;ndash;Uhlenbeck process]] is a [[stationary process|stationary]] Gaussian process.<br /> <br /> The [[Brownian bridge]] is the integral of a Gaussian process whose increments are not [[statistical independence|independent]].<br /> <br /> The [[fractional Brownian motion]] is the integral of a Gaussian process whose covariance function is a generalisation of Wiener process.<br /> <br /> ==Applications==<br /> A Gaussian process can be used as a [[prior probability distribution]] over [[Function (mathematics)|functions]] in [[Bayesian inference]].&lt;ref name=&quot;gpml&quot;/&gt;&lt;ref&gt;{{cite book |last=Liu |first=W. |author2=Principe, J.C. |author3=Haykin, S. |title=Kernel Adaptive Filtering: A Comprehensive Introduction |url=http://www.cnel.ufl.edu/~weifeng/publication.htm |year=2010 |publisher=[[John Wiley &amp; Sons|John Wiley]] |isbn=0-470-44753-2}}&lt;/ref&gt; Given any set of ''N'' points in the desired domain of your functions, take a [[multivariate Gaussian]] whose covariance [[matrix (mathematics)|matrix]] parameter is the [[Gram matrix]] of your ''N'' points with some desired [[stochastic kernel|kernel]], and [[sampling (mathematics)|sample]] from that Gaussian.<br /> <br /> Inference of continuous values with a Gaussian process prior is known as Gaussian process regression, or [[kriging]]; extending Gaussian process regression to [[Kernel methods for vector output|multiple target variables]] is known as ''cokriging''.&lt;ref&gt;{{cite book |last=Stein |first=M.L. |title=Interpolation of Spatial Data: Some Theory for Kriging |year=1999 |publisher = [[Springer Science+Business Media|Springer]]}}&lt;/ref&gt; Gaussian processes are thus useful as a powerful non-linear multivariate [[interpolation]] and out of sample extension&lt;ref name=&quot;gpr&quot;&gt; Barkan, O., Weill, J., &amp; Averbuch, A. (2016). [http://arxiv.org/abs/1603.02194 &quot;Gaussian Process Regression for Out-of-Sample Extension&quot;]. arXiv preprint arXiv:1603.02194.‏ &lt;/ref&gt; tool. Gaussian process regression can be further extended to address learning tasks in both [[Supervised learning|supervised]] (e.g. probabilistic classification&lt;ref name=&quot;gpml&quot;/&gt;) and [[Unsupervised learning|unsupervised]] (e.g. [[manifold learning]]&lt;ref name= &quot;prml&quot;/&gt;) learning frameworks.<br /> ===Gaussian process prediction, or kriging===<br /> [[File:Gaussian Process Regression.png|thumbnail|right|Gaussian Process Regression (prediction) with a squared exponential kernel. Left plot are draws from the prior function distribution. Middle are draws from the posterior. Right is mean prediction with one standard deviation shaded.]]<br /> When concerned with a general Gaussian process regression problem, it is assumed that for a Gaussian process ''f'' observed at coordinates x, the vector of values ''f(x)'' is just one sample from a multivariate Gaussian distribution of dimension equal to number of observed coordinates ''|x|''. Therefore under the assumption of a zero-mean distribution, ''f (x) ∼ N (0, K(θ,x,x'))'', where ''K(θ,x,x')'' is the covariance matrix between all possible pairs ''(x,x')'' for a given set of hyperparameters θ.&lt;ref name= &quot;gpml&quot;/&gt;<br /> As such the log marginal likelihood is:<br /> :&lt;math&gt;\log p(f(x)|\theta,x) = -\frac{1}{2}f(x)^T K(\theta,x,x')^{-1} f(x) -\frac{1}{2} \log \det(K(\theta,x,x')) - \frac{|x|}{2} \log 2\pi &lt;/math&gt;<br /> and maximizing this marginal likelihood towards θ provides the complete specification of the Gaussian process ''f''. One can briefly note at this point that the first term corresponds to a penalty term for a model's failure to fit observed values and the second term to a penalty term that increases proportionally to a model's complexity. Having specified ''θ'' making predictions about unobserved values ''f(x*)'' at coordinates ''x*'' is then only a matter of drawing samples from the predictive distribution ''p(y*|x*,f(x),x) = N(y*|A,B)'' where the posterior mean estimate A is defined as:<br /> :&lt;math&gt;A = K(\theta,x^*,x) K(\theta,x,x')^{-1} f(x)&lt;/math&gt;<br /> and the posterior variance estimate B is defined as:<br /> :&lt;math&gt;B = K(\theta,x^*,x^*) - K(\theta,x^*,x) K(\theta,x,x')^{-1} K(\theta,x^*,x)^T &lt;/math&gt;<br /> where ''K(θ,x*,x)'' is the covariance between the new coordinate of estimation ''x*'' and all other observed coordinates ''x'' for a given hyperparameter vector θ, ''K(θ,x,x')'' and ''f(x)'' are defined as before and ''K(θ,x*,x*)'' is the variance at point ''x*'' as dictated by ''θ''. It is important to note that practically the posterior mean estimate ''f(x*)'' (the &quot;point estimate&quot;) is just a linear combination of the observations ''f(x)''; in a similar manner the variance of ''f(x*)'' is actually independent of the observations ''f(x)''. A known bottleneck in Gaussian process prediction is that the computational complexity of prediction is cubic in the number of points ''|x|'' and as such can become unfeasible for larger data sets.&lt;ref name= &quot;brml&quot;/&gt; Works on sparse Gaussian processes, that usually are based on the idea of building a ''representative set'' for the given process ''f'', try to circumvent this issue.&lt;ref name=&quot;smolaSparse&quot;&gt;{{cite journal |last1= Smola| first1= A.J.| last2=Schoellkopf | first2= B. |year= 2000 |title= Sparse greedy matrix approximation for machine learning |journal= Proceedings of the Seventeenth International Conference on Machine Learning| pages=911–918}}&lt;/ref&gt;&lt;ref name=&quot;CsatoSparse&quot;&gt;{{cite journal |last1= Csato| first1=L.| last2=Opper | first2= M. |year= 2002 |title= Sparse on-line Gaussian processes |journal= Neural Computation |number=3| volume= 14 | pages=641–668 | doi=10.1162/089976602317250933}}&lt;/ref&gt;<br /> <br /> ==See also==<br /> * [[Bayes linear statistics]]<br /> * [[Bayesian interpretation of regularization]]<br /> <br /> ==Notes==<br /> {{Reflist}}<br /> <br /> ==External links==<br /> * [http://www.GaussianProcess.com www.GaussianProcess.com ]<br /> * [http://www.GaussianProcess.org The Gaussian Processes Web Site, including the text of Rasmussen and Williams' Gaussian Processes for Machine Learning]<br /> * [http://arxiv.org/abs/1505.02965 A gentle introduction to Gaussian processes]<br /> * [http://publications.nr.no/917_Rapport.pdf A Review of Gaussian Random Fields and Correlation Functions]<br /> <br /> ===Software===<br /> * [http://sourceforge.net/projects/kriging STK: a Small (Matlab/Octave) Toolbox for Kriging and GP modeling]<br /> * [http://www.uqlab.com/ Kriging module in UQLab framework (Matlab)]<br /> * [https://github.com/Yelp/MOE Yelp MOE - A black box optimization engine using Gaussian process learning]<br /> * [http://www.sumo.intec.ugent.be/ooDACE ooDACE] - A flexible object-oriented Kriging matlab toolbox.<br /> * [http://becs.aalto.fi/en/research/bayes/gpstuff/ GPstuff - Gaussian process toolbox for Matlab and Octave]<br /> * [https://github.com/SheffieldML/GPy GPy - A Gaussian processes framework in Python]<br /> * [http://www.tmpl.fi/gp/ Interactive Gaussian process regression demo]<br /> * [https://github.com/ChristophJud/GPR Basic Gaussian process library written in C++11]<br /> <br /> ===Video tutorials===<br /> * [http://videolectures.net/gpip06_mackay_gpb Gaussian Process Basics by David MacKay]<br /> * [http://videolectures.net/epsrcws08_rasmussen_lgp Learning with Gaussian Processes by Carl Edward Rasmussen]<br /> * [http://videolectures.net/mlss07_rasmussen_bigp Bayesian inference and Gaussian processes by Carl Edward Rasmussen]<br /> <br /> {{Stochastic processes}}<br /> <br /> {{Authority control}}<br /> <br /> {{DEFAULTSORT:Gaussian Process}}<br /> [[Category:Stochastic processes]]<br /> [[Category:Kernel methods for machine learning]]<br /> [[Category:Nonparametric Bayesian statistics]]</div> Deepalgo https://en.wikipedia.org/w/index.php?title=Nonlinear_dimensionality_reduction&diff=711007488 Nonlinear dimensionality reduction 2016-03-20T12:18:36Z <p>Deepalgo: /* Manifold learning algorithms */</p> <hr /> <div>[[High-dimensional]] data, meaning data that requires more than two or three dimensions to represent, can be [[Curse of Dimensionality|difficult to interpret]]. One approach to simplification is to assume that the data of interest lie on an [[Embedding|embedded]] non-linear [[manifold]] within the higher-dimensional space. If the manifold is of low enough dimension, the data can be visualised in the low-dimensional space.<br /> <br /> [[File:Lle hlle swissroll.png|thumb|right|300px|Top-left: a 3D dataset of 1000 points in a spiraling band (a.k.a. the [[Swiss roll]]) with a rectangular hole in the middle. Top-right: the original 2D manifold used to generate the 3D dataset. Bottom left and right: 2D recoveries of the manifold respectively using the [[Nonlinear dimensionality reduction#Locally-linear embedding|LLE]] and [[Nonlinear dimensionality reduction#Hessian Locally-Linear Embedding (Hessian LLE)|Hessian LLE]] algorithms as implemented by the Modular Data Processing toolkit.]]<br /> <br /> Below is a summary of some of the important algorithms from the history of manifold learning and '''nonlinear dimensionality reduction''' (NLDR).&lt;ref&gt;John A. Lee, Michel Verleysen, Nonlinear Dimensionality Reduction, Springer, 2007.&lt;/ref&gt; Many of these non-linear [[dimensionality reduction]] methods are related to the linear methods listed below. Non-linear methods can be broadly classified into two groups: those that provide a mapping (either from the high-dimensional space to the low-dimensional embedding or vice versa), and those that just give a visualisation. In the context of [[machine learning]], mapping methods may be viewed as a preliminary [[feature extraction]] step, after which [[Pattern recognition#Algorithms | pattern recognition algorithm]]s are applied. Typically those that just give a visualisation are based on proximity data – that is, [[distance]] measurements.<br /> <br /> ==Related Linear Decomposition Methods==<br /> <br /> * [[Independent component analysis]] (ICA).<br /> * [[Principal component analysis]] (PCA) (also called [[Karhunen&amp;ndash;Loève transform]] &amp;mdash; KLT).<br /> * [[Singular value decomposition]] (SVD).<br /> * [[Factor analysis]].<br /> <br /> == Applications of NLDR ==<br /> <br /> Consider a dataset represented as a matrix (or a database table), such that each row represents a set of attributes (or features or dimensions) that describe a particular instance of something. If the number of attributes is large, then the space of unique possible rows is exponentially large. Thus, the larger the dimensionality, the more difficult it becomes to sample the space. This causes many problems. Algorithms that operate on high-dimensional data tend to have a very high time complexity. Many machine learning algorithms, for example, struggle with high-dimensional data. This has become known as the [[curse of dimensionality]]. Reducing data into fewer dimensions often makes analysis algorithms more efficient, and can help machine learning algorithms make more accurate predictions.<br /> <br /> Humans often have difficulty comprehending data in many dimensions. Thus, reducing data to a small number of dimensions is useful for visualization purposes.<br /> <br /> [[File:nldr.jpg|thumb|right|500px| Plot of the two-dimensional points that results from using a NLDR algorithm. In this case, Manifold Sculpting used to reduce the data into just two dimensions (rotation and scale).]]<br /> <br /> The reduced-dimensional representations of data are often referred to as &quot;intrinsic variables&quot;. This description implies that these are the values from which the data was produced. For example, consider a dataset that contains images of a letter 'A', which has been scaled and rotated by varying amounts. Each image has 32x32 pixels. Each image can be represented as a vector of 1024 pixel values. Each row is a sample on a two-dimensional manifold in 1024-dimensional space (a [[Hamming space]]). The intrinsic dimensionality is two, because two variables (rotation and scale) were varied in order to produce the data. Information about the shape or look of a letter 'A' is not part of the intrinsic variables because it is the same in every instance. Nonlinear dimensionality reduction will discard the correlated information (the letter 'A') and recover only the varying information (rotation and scale). The image to the right shows sample images from this dataset (to save space, not all input images are shown), and a plot of the two-dimensional points that results from using a NLDR algorithm (in this case, Manifold Sculpting was used) to reduce the data into just two dimensions.<br /> <br /> [[File:Letters pca.png|thumb|right|500px|PCA (a linear dimensionality reduction algorithm) is used to reduce this same dataset into two dimensions, the resulting values are not so well organized.]]<br /> <br /> By comparison, if PCA (a linear dimensionality reduction algorithm) is used to reduce this same dataset into two dimensions, the resulting values are not so well organized. This demonstrates that the high-dimensional vectors (each representing a letter 'A') that sample this manifold vary in a non-linear manner.<br /> <br /> It should be apparent, therefore, that NLDR has several applications in the field of computer-vision. For example, consider a robot that uses a camera to navigate in a closed static environment. The images obtained by that camera can be considered to be samples on a manifold in high-dimensional space, and the intrinsic variables of that manifold will represent the robot's position and orientation. This utility is not limited to robots. [[Dynamical systems]], a more general class of systems, which includes robots, are defined in terms of a manifold. Active research in NLDR seeks to unfold the observation manifolds associated with dynamical systems to develop techniques for modeling such systems and enable them to operate autonomously.&lt;ref&gt;Gashler, M. and Martinez, T., [http://axon.cs.byu.edu/papers/gashler2011ijcnn2.pdf Temporal Nonlinear Dimensionality Reduction], In ''Proceedings of the International Joint Conference on Neural Networks IJCNN'11'', pp. 1959–1966, 2011&lt;/ref&gt;<br /> <br /> ==Manifold learning algorithms==<br /> <br /> Some of the more prominent manifold learning algorithms are listed below (in approximately chronological order). An algorithm may learn an ''internal model'' of the data, which can be used to map points unavailable at training time into the embedding in a process often called out-of-sample extension &lt;ref name=&quot;gpr&quot;&gt; Barkan, O., Weill, J., &amp; Averbuch, A. (2016). [http://arxiv.org/abs/1603.02194 &quot;Gaussian Process Regression for Out-of-Sample Extension&quot;]. arXiv preprint arXiv:1603.02194.‏ &lt;/ref&gt;. <br /> <br /> === Sammon's mapping ===<br /> <br /> [[Sammon's mapping]] is one of the first and most popular NLDR techniques.<br /> <br /> [[File:SOMsPCA.PNG|thumb|200px|left|Approximation of a principal curve by one-dimensional [[Self-organizing map|SOM]] (a [[broken line]] with red squares, 20 nodes). The first [[Principal component analysis|principal component]] is presented by a blue straight line. Data points are the small grey circles. For PCA, the [[Fraction of variance unexplained]] in this example is 23.23%, for SOM it is 6.86%.&lt;ref&gt;The illustration is prepared using free software: E.M. Mirkes, [http://www.math.le.ac.uk/people/ag153/homepage/PCA_SOM/PCA_SOM.html Principal Component Analysis and Self-Organizing Maps: applet]. University of Leicester, 2011&lt;/ref&gt;]]<br /> <br /> === Self-organizing map ===<br /> <br /> The [[self-organizing map]] (SOM, also called ''Kohonen map'') and its probabilistic variant [[generative topographic mapping]] (GTM) use a point representation in the embedded space to form a [[latent variable model]] based on a non-linear mapping from the embedded space to the high-dimensional space.&lt;ref&gt;Yin, Hujun; [http://pca.narod.ru/contentsgkwz.htm ''Learning Nonlinear Principal Manifolds by Self-Organising Maps''], in A.N. Gorban, B. Kégl, D.C. Wunsch, and A. Zinovyev (Eds.), ''Principal Manifolds for Data Visualization and Dimension Reduction'', Lecture Notes in Computer Science and Engineering (LNCSE), vol. 58, Berlin, Germany: Springer, 2007, Ch. 3, pp. 68-95. ISBN 978-3-540-73749-0&lt;/ref&gt; These techniques are related to work on [[density networks]], which also are based around the same probabilistic model.<br /> <br /> === Principal curves and manifolds ===<br /> <br /> [[File:SlideQualityLife.png|thumb|300px| Application of principal curves: Nonlinear quality of life index.&lt;ref&gt;A. N. Gorban, A. Zinovyev, [http://arxiv.org/abs/1001.1122 Principal manifolds and graphs in practice: from molecular biology to dynamical systems], [[International Journal of Neural Systems]], Vol. 20, No. 3 (2010) 219–232.&lt;/ref&gt; Points represent data of the [[United Nations|UN]] 171 countries in 4-dimensional space formed by the values of 4 indicators: [[Gross domestic product|gross product per capita]], [[life expectancy]], [[infant mortality]], [[tuberculosis]] incidence. Different forms and colors correspond to various geographical locations. Red bold line represents the '''principal curve''', approximating the dataset. This principal curve was produced by the method of [[elastic map]]. Software is available for free non-commercial use.&lt;ref&gt;A. Zinovyev, [http://bioinfo-out.curie.fr/projects/vidaexpert/ ViDaExpert] - Multidimensional Data Visualization Tool (free for non-commercial use). [[Curie Institute (Paris)|Institut Curie]], Paris.&lt;/ref&gt;&lt;ref&gt;A. Zinovyev, [http://www.ihes.fr/~zinovyev/vida/ViDaExpert/ViDaOverView.pdf ViDaExpert overview], [http://www.ihes.fr IHES] ([[Institut des Hautes Études Scientifiques]]), Bures-Sur-Yvette, Île-de-France.&lt;/ref&gt;]]<br /> <br /> '''[[Principal curve]]s and manifolds''' give the natural geometric framework for nonlinear dimensionality reduction and extend the geometric interpretation of PCA by explicitly constructing an embedded manifold, and by encoding using standard geometric projection onto the manifold. This approach was proposed by [[Trevor Hastie]] in his thesis (1984)&lt;ref&gt;T. Hastie, Principal Curves and Surfaces, Ph.D Dissertation, Stanford Linear Accelerator Center, Stanford University, Stanford, California, US, November 1984.&lt;/ref&gt; and developed further by many authors.&lt;ref&gt;[[Alexander Nikolaevich Gorban|A.N. Gorban]], B. Kégl, D.C. Wunsch, A. Zinovyev (Eds.), [http://pca.narod.ru/contentsgkwz.htm Principal Manifolds for Data Visualisation and Dimension Reduction], Lecture Notes in Computer Science and Engineering (LNCSE), Vol. 58, Springer, Berlin &amp;ndash; Heidelberg &amp;ndash; New York, 2007. ISBN 978-3-540-73749-0&lt;/ref&gt;<br /> How to define the &quot;simplicity&quot; of the manifold is problem-dependent, however, it is commonly measured by the intrinsic dimensionality and/or the smoothness of the manifold. Usually, the principal manifold is defined as a solution to an optimization problem. The objective function includes a quality of data approximation and some penalty terms for the bending of the manifold. The popular initial approximations are generated by linear PCA, Kohonen's SOM or autoencoders. The [[elastic map]] method provides the [[expectation-maximization algorithm]] for principal [[manifold learning]] with minimization of quadratic energy functional at the &quot;maximization&quot; step.<br /> <br /> === Autoencoders ===<br /> <br /> An [[autoencoder]] is a feed-forward [[neural network]] which is trained to approximate the identity function. That is, it is trained to map from a vector of values to the same vector. When used for dimensionality reduction purposes, one of the hidden layers in the network is limited to contain only a small number of network units. Thus, the network must learn to encode the vector into a small number of dimensions and then decode it back into the original space. Thus, the first half of the network is a model which maps from high to low-dimensional space, and the second half maps from low to high-dimensional space. Although the idea of autoencoders is quite old, training of deep autoencoders has only recently become possible through the use of [[restricted Boltzmann machine]]s and stacked denoising autoencoders. Related to autoencoders is the [[NeuroScale]] algorithm, which uses stress functions inspired by [[multidimensional scaling]] and [[Sammon mapping]]s (see below) to learn a non-linear mapping from the high-dimensional to the embedded space. The mappings in NeuroScale are based on [[radial basis function network]]s.<br /> <br /> === Gaussian process latent variable models ===<br /> <br /> [[Gaussian process latent variable model]]s (GPLVM)&lt;ref&gt;N. Lawrence, [http://jmlr.csail.mit.edu/papers/v6/lawrence05a.html Probabilistic Non-linear Principal Component Analysis with Gaussian Process Latent Variable Models], Journal of Machine Learning Research 6(Nov):1783–1816, 2005.&lt;/ref&gt; are probabilistic dimensionality reduction methods that use Gaussian Processes (GPs) to find a lower dimensional non-linear embedding of high dimensional data. They are an extension of the Probabilistic formulation of PCA. The model is defined probabilistically and the latent variables are then marginalized and parameters are obtained by maximizing the likelihood. Like kernel PCA they use a kernel function to form a non linear mapping (in the form of a [[Gaussian process]]). However in the GPLVM the mapping is from the embedded(latent) space to the data space (like density networks and GTM) whereas in kernel PCA it is in the opposite direction. It was originally proposed for visualization of high dimensional data but has been extended to construct a shared manifold model between two observation spaces.<br /> <br /> === Curvilinear component analysis ===<br /> <br /> [[Curvilinear component analysis]] (CCA)&lt;ref name=&quot;Demart&quot;&gt;P. Demartines and J. Hérault, Curvilinear Component Analysis: A Self-Organizing Neural Network for Nonlinear Mapping of Data Sets, IEEE Transactions on Neural Networks, Vol. 8(1), 1997, pp. 148–154&lt;/ref&gt; looks for the configuration of points in the output space that preserves original distances as much as possible while focusing on small distances in the output space (conversely to [[Sammon's mapping]] which focus on small distances in original space).<br /> <br /> It should be noticed that CCA, as an iterative learning algorithm, actually starts with focus on large distances (like the Sammon algorithm), then gradually change focus to small distances. The small distance information will overwrite the large distance information, if compromises between the two have to be made.<br /> <br /> The stress function of CCA is related to a sum of right Bregman divergences&lt;ref name=&quot;Jigang&quot;&gt;Jigang Sun, Malcolm Crowe, and Colin Fyfe, [http://www.dice.ucl.ac.be/Proceedings/esann/esannpdf/es2010-107.pdf Curvilinear component analysis and Bregman divergences], In European Symposium on Artificial Neural Networks (Esann), pages 81–86. d-side publications, 2010&lt;/ref&gt;<br /> <br /> === Curvilinear distance analysis ===<br /> <br /> CDA&lt;ref name=&quot;Demart&quot;/&gt; trains a self-organizing neural network to fit the manifold and seeks to preserve [[geodesic distance]]s in its embedding. It is based on Curvilinear Component Analysis (which extended Sammon's mapping), but uses geodesic distances instead.<br /> <br /> === Diffeomorphic dimensionality reduction ===<br /> <br /> Diffeomorphic Dimensionality Reduction or ''Diffeomap''&lt;ref&gt;Christian Walder and Bernhard Schölkopf, Diffeomorphic Dimensionality Reduction, Advances in Neural Information Processing Systems 22, 2009, pp. 1713–1720, MIT Press&lt;/ref&gt; learns a smooth diffeomorphic mapping which transports the data onto a lower-dimensional linear subspace. The methods solves for a smooth time indexed vector field such that flows along the field which start at the data points will end at a lower-dimensional linear subspace, thereby attempting to preserve pairwise differences under both the forward and inverse mapping.<br /> <br /> === Kernel principal component analysis ===<br /> <br /> Perhaps the most widely used algorithm for manifold learning is [[kernel principal component analysis|kernel PCA]].&lt;ref&gt;B. Schölkopf, A. Smola, K.-R. Müller, Nonlinear Component Analysis as a Kernel Eigenvalue Problem. ''Neural Computation ''10(5):1299-1319, 1998, [[MIT Press]] Cambridge, MA, USA, [[doi:10.1162/089976698300017467]]&lt;/ref&gt; It is a combination of [[Principal component analysis]] and the [[kernel trick]]. PCA begins by computing the covariance matrix of the &lt;math&gt;m \times n&lt;/math&gt; matrix &lt;math&gt;\mathbf{X}&lt;/math&gt;<br /> <br /> : &lt;math&gt;C = \frac{1}{m}\sum_{i=1}^m{\mathbf{x}_i\mathbf{x}_i^\mathsf{T}}.&lt;/math&gt;<br /> <br /> It then projects the data onto the first ''k'' eigenvectors of that matrix. By comparison, KPCA begins by computing the covariance matrix of the data after being transformed into a higher-dimensional space,<br /> <br /> : &lt;math&gt;C = \frac{1}{m}\sum_{i=1}^m{\Phi(\mathbf{x}_i)\Phi(\mathbf{x}_i)^\mathsf{T}}.&lt;/math&gt;<br /> <br /> It then projects the transformed data onto the first ''k'' eigenvectors of that matrix, just like PCA. It uses the kernel trick to factor away much of the computation, such that the entire process can be performed without actually computing &lt;math&gt;\Phi(\mathbf{x})&lt;/math&gt;. Of course &lt;math&gt;\Phi&lt;/math&gt; must be chosen such that it has a known corresponding kernel. Unfortunately, it is not trivial to find a good kernel for a given problem, so KPCA does not yield good results with some problems when using standard kernels. For example, it is known to perform poorly with these kernels on the [[Swiss roll]] manifold. However, one can view certain other methods that perform well in such settings (e.g., Laplacian Eigenmaps, LLE) as special cases of kernel PCA by constructing a data-dependent kernel matrix.&lt;ref&gt;Jihun Ham, Daniel D. Lee, Sebastian Mika, Bernhard Schölkopf. A kernel view of the dimensionality reduction of manifolds. Proceedings of the 21st International Conference on Machine Learning, Banff, Canada, 2004. [[doi:10.1145/1015330.1015417]]&lt;/ref&gt;<br /> <br /> KPCA has an internal model, so it can be used to map points onto its embedding that were not available at training time.<br /> <br /> === Isomap ===<br /> <br /> [[Isomap]]&lt;ref&gt;J. B. Tenenbaum, V. de Silva, J. C. Langford, A Global Geometric Framework for Nonlinear Dimensionality Reduction, Science 290, (2000), 2319&amp;ndash;2323.&lt;/ref&gt; is a combination of the [[Floyd–Warshall algorithm]] with classic [[Multidimensional Scaling]]. Classic Multidimensional Scaling (MDS) takes a matrix of pair-wise distances between all points, and computes a position for each point. Isomap assumes that the pair-wise distances are only known between neighboring points, and uses the Floyd–Warshall algorithm to compute the pair-wise distances between all other points. This effectively estimates the full matrix of pair-wise [[geodesic distance]]s between all of the points. Isomap then uses classic MDS to compute the reduced-dimensional positions of all the points.<br /> <br /> Landmark-Isomap is a variant of this algorithm that uses landmarks to increase speed, at the cost of some accuracy.<br /> <br /> === Locally-linear embedding ===<br /> <br /> [[Locally-Linear Embedding]] (LLE)&lt;ref&gt;S. T. Roweis and L. K. Saul, Nonlinear Dimensionality Reduction by Locally Linear Embedding, Science Vol 290, 22 December 2000, 2323&amp;ndash;2326.&lt;/ref&gt; was presented at approximately the same time as Isomap. It has several advantages over Isomap, including faster optimization when implemented to take advantage of [[sparse matrix]] algorithms, and better results with many problems. LLE also begins by finding a set of the nearest neighbors of each point. It then computes a set of weights for each point that best describe the point as a linear combination of its neighbors. Finally, it uses an eigenvector-based optimization technique to find the low-dimensional embedding of points, such that each point is still described with the same linear combination of its neighbors. LLE tends to handle non-uniform sample densities poorly because there is no fixed unit to prevent the weights from drifting as various regions differ in sample densities. LLE has no internal model.<br /> <br /> LLE computes the barycentric coordinates of a point ''X''&lt;sub&gt;''i''&lt;/sub&gt; based on its neighbors ''X''&lt;sub&gt;''j''&lt;/sub&gt;. The original point is reconstructed by a linear combination, given by the weight matrix ''W''&lt;sub&gt;''ij''&lt;/sub&gt;, of its neighbors. The reconstruction error is given by the cost function ''E''(''W'').<br /> <br /> : &lt;math&gt; E(W) = \sum_i |{\mathbf{X}_i - \sum_j {\mathbf{W}_{ij}\mathbf{X}_j}|}^\mathsf{2} &lt;/math&gt;<br /> <br /> The weights ''W''&lt;sub&gt;''ij''&lt;/sub&gt; refer to the amount of contribution the point ''X''&lt;sub&gt;''j''&lt;/sub&gt; has while reconstructing the point ''X''&lt;sub&gt;''i''&lt;/sub&gt;. The cost function is minimized under two constraints:<br /> (a) Each data point ''X''&lt;sub&gt;''i''&lt;/sub&gt; is reconstructed only from its neighbors, thus enforcing ''W''&lt;sub&gt;''ij''&lt;/sub&gt; to be zero if point ''X''&lt;sub&gt;''j''&lt;/sub&gt; is not a neighbor of the point ''X''&lt;sub&gt;''i''&lt;/sub&gt; and <br /> (b) The sum of every row of the weight matrix equals 1.<br /> <br /> : &lt;math&gt; \sum_j {\mathbf{W}_{ij}} = 1 &lt;/math&gt;<br /> <br /> The original data points are collected in a ''D'' dimensional space and the goal of the algorithm is to reduce the dimensionality to ''d'' such that ''D'' &gt;&gt; ''d''. The same weights ''W''&lt;sub&gt;''ij''&lt;/sub&gt; that reconstructs the ''i''th data point in the ''D'' dimensional space will be used to reconstruct the same point in the lower ''d'' dimensional space. A neighborhood preserving map is created based on this idea. Each point X&lt;sub&gt;i&lt;/sub&gt; in the ''D'' dimensional space is mapped onto a point Y&lt;sub&gt;i&lt;/sub&gt; in the ''d'' dimensional space by minimizing the cost function<br /> <br /> : &lt;math&gt; C(Y) = \sum_i |{\mathbf{Y}_i - \sum_j {\mathbf{W}_{ij}\mathbf{Y}_j}|}^\mathsf{2} &lt;/math&gt;<br /> <br /> In this cost function, unlike the previous one, the weights W&lt;sub&gt;ij&lt;/sub&gt; are kept fixed and the minimization is done on the points Y&lt;sub&gt;i&lt;/sub&gt; to optimize the coordinates. This minimization problem can be solved by solving a sparse ''N'' X ''N'' [[Eigendecomposition of a matrix|eigen value problem]] (''N'' being the number of data points), whose bottom ''d'' nonzero eigen vectors provide an orthogonal set of coordinates. Generally the data points are reconstructed from ''K'' nearest neighbors, as measured by [[Euclidean distance]]. For such an implementation the algorithm has only one free parameter ''K,'' which can be chosen by cross validation.<br /> <br /> === Laplacian eigenmaps ===<br /> <br /> {{see also|Manifold regularization}}<br /> <br /> Laplacian Eigenmaps&lt;ref&gt;Mikhail Belkin and [[Partha Niyogi]], Laplacian Eigenmaps and Spectral Techniques for Embedding and Clustering, Advances in Neural Information Processing Systems 14, 2001, p. 586–691, MIT Press&lt;/ref&gt; uses spectral techniques to perform dimensionality reduction. This technique relies on the basic assumption that the data lies in a low-dimensional manifold in a high-dimensional space.&lt;ref&gt;Mikhail Belkin Problems of Learning on Manifolds, PhD Thesis, Department of Mathematics, The University Of Chicago, August 2003&lt;/ref&gt; This algorithm cannot embed out of sample points, but techniques based on [[Reproducing kernel Hilbert space]] regularization exist for adding this capability.&lt;ref&gt;Bengio et al. &quot;Out-of-Sample Extensions for LLE, Isomap, MDS, Eigenmaps, and Spectral Clustering&quot; in Advances in Neural Information Processing Systems (2004)&lt;/ref&gt; Such techniques can be applied to other nonlinear dimensionality reduction algorithms as well.<br /> <br /> Traditional techniques like principal component analysis do not consider the intrinsic geometry of the data. Laplacian eigenmaps builds a graph from neighborhood information of the data set. Each data point serves as a node on the graph and connectivity between nodes is governed by the proximity of neighboring points (using e.g. the [[k-nearest neighbor algorithm]]). The graph thus generated can be considered as a discrete approximation of the low-dimensional manifold in the high-dimensional space. Minimization of a cost function based on the graph ensures that points close to each other on the manifold are mapped close to each other in the low-dimensional space, preserving local distances. The eigenfunctions of the [[Laplace–Beltrami operator]] on the manifold serve as the embedding dimensions, since under mild conditions this operator has a countable spectrum that is a basis for square integrable functions on the manifold (compare to [[Fourier series]] on the unit circle manifold). Attempts to place Laplacian eigenmaps on solid theoretical ground have met with some success, as under certain nonrestrictive assumptions, the graph Laplacian matrix has been shown to converge to the Laplace–Beltrami operator as the number of points goes to infinity.&lt;ref&gt;Mikhail Belkin Problems of Learning on Manifolds, PhD Thesis, Department of Mathematics, The [[University Of Chicago]], August 2003&lt;/ref&gt; Matlab code for Laplacian Eigenmaps can be found in algorithms&lt;ref&gt;[http://www.cse.ohio-state.edu/~mbelkin/algorithms/algorithms.html Ohio-state.edu]&lt;/ref&gt; and the PhD thesis of Belkin can be found at the [[Ohio State University]].&lt;ref&gt;[http://www.cse.ohio-state.edu/~mbelkin/papers/papers.html#thesis Ohio-state.edu]&lt;/ref&gt;<br /> <br /> In classification applications, low dimension manifolds can be used to model data classes which can be defined from sets of observed instances. Each observed instance can be described by two independent factors termed ’content’ and ’style’, where ’content’ is the invariant factor related to the essence of the class and ’style’ expresses variations in that class between instances.&lt;ref&gt;J. Tenenbaum and W. Freeman, Separating style and content with bilinear models, Neural Computation, vol. 12, 2000.&lt;/ref&gt; Unfortunately, Laplacian Eigenmaps may fail to produce a coherent representation of a class of interest when training data consist of instances varying significantly in terms of style.&lt;ref&gt;M. Lewandowski, J. Martinez-del Rincon, D. Makris, and J.-C. Nebel, Temporal extension of laplacian eigenmaps for unsupervised dimensionality reduction of time series, Proceedings of the International Conference on Pattern Recognition (ICPR), 2010&lt;/ref&gt; In the case of classes which are represented by multivariate sequences, Structural Laplacian Eigenmaps has been proposed to overcome this issue by adding additional constraints within the Laplacian Eigenmaps neighborhood information graph to better reflect the intrinsic structure of the class.&lt;ref name=&quot;ReferenceB&quot;&gt;M. Lewandowski, D. Makris, S.A. Velastin and J.-C. Nebel, Structural Laplacian Eigenmaps for Modeling Sets of Multivariate Sequences, IEEE Transactions on Cybernetics, 44(6): 936-949, 2014&lt;/ref&gt; More specifically, the graph is used to encode both the sequential structure of the multivariate sequences and, to minimise stylistic variations, proximity between data points of different sequences or even within a sequence, if it contains repetitions. Using [[dynamic time warping]], proximity is detected by finding correspondences between and within sections of the multivariate sequences that exhibit high similarity. Experiments conducted on [[vision-based activity recognition]], object orientation classification and human 3D pose recovery applications have demonstrate the added value of Structural Laplacian Eigenmaps when dealing with multivariate sequence data.&lt;ref name=&quot;ReferenceB&quot;/&gt; An extension of Structural Laplacian Eigenmaps, Generalized Laplacian Eigenmaps led to the generation of manifolds where one of the dimensions specifically represents variations in style. This has proved particularly valuable in applications such as tracking of the human articulated body and silhouette extraction.&lt;ref&gt;J. Martinez-del-Rincon, M. Lewandowski, J.-C. Nebel and D. Makris, Generalized Laplacian Eigenmaps for Modeling and Tracking Human Motions, IEEE Transactions on Cybernetics, 44(9), pp 1646-1660, 2014&lt;/ref&gt;<br /> <br /> === Manifold alignment ===<br /> [[Manifold alignment]] takes advantage of the assumption that disparate data sets produced by similar generating processes will share a similar underlying manifold representation. By learning projections from each original space to the shared manifold, correspondences are recovered and knowledge from one domain can be transferred to another. Most manifold alignment techniques consider only two data sets, but the concept extends to arbitrarily many initial data sets.&lt;ref&gt;{{cite conference|last=Wang|first=Chang|author2=Mahadevan, Sridhar |title=Manifold Alignment using Procrustes Analysis|conference=The 25th International Conference on Machine Learning|date=July 2008|pages=1120–1127|url=http://people.cs.umass.edu/~chwang/papers/ICML-2008.pdf}}&lt;/ref&gt;<br /> <br /> === Diffusion maps ===<br /> [[Diffusion map]]s leverages the relationship between heat diffusion and a random walk ([[Markov Chain]]); an analogy is drawn between the diffusion operator on a manifold and a Markov transition matrix operating on functions defined on the graph whose nodes were sampled from the manifold.&lt;ref&gt;Diffusion Maps and Geometric Harmonics, Stephane Lafon, PhD Thesis, [[Yale University]], May 2004&lt;/ref&gt; In particular let a data set be represented by &lt;math&gt; \mathbf{X} = [x_1,x_2,\ldots,x_n] \in \Omega \subset \mathbf {R^D}&lt;/math&gt;. The underlying assumption of diffusion map is that the data although high-dimensional, lies on a low-dimensional manifold of dimensions &lt;math&gt; \mathbf{d} &lt;/math&gt;.'''X''' represents the data set and let &lt;math&gt; \mu &lt;/math&gt; represent the distribution of the data points on '''X'''. In addition to this lets define a '''kernel''' which represents some notion of affinity of the points in '''X'''. The kernel &lt;math&gt; \mathit{k} &lt;/math&gt; has the following properties&lt;ref name=&quot;ReferenceA&quot;&gt;Diffusion Maps, Ronald R. Coifman and Stephane Lafon,: Science, 19 June 2006&lt;/ref&gt;<br /> <br /> : &lt;math&gt;k(x,y) = k(y,x), \, &lt;/math&gt;<br /> <br /> ''k'' is symmetric<br /> <br /> : &lt;math&gt; k(x,y) \geq 0\qquad \forall x,y, k &lt;/math&gt;<br /> <br /> ''k'' is positivity preserving<br /> <br /> Thus one can think of the individual data points as the nodes of a graph and the kernel ''k'' defining some sort of affinity on that graph. The graph is symmetric by construction since the kernel is symmetric. It is easy to see here that from the tuple {'''X''','''k'''} one can construct a reversible [[Markov Chain]]. This technique is fairly popular in a variety of fields and is known as the graph laplacian.<br /> <br /> The graph '''K''' = (''X'',''E'') can be constructed for example using a Gaussian kernel.<br /> <br /> : &lt;math&gt; K_{ij} = \begin{cases}<br /> e^{-\|x_i -x_j\|^2_2/\sigma ^2} &amp; \text{if } x_i \sim x_j \\<br /> 0 &amp; \text{otherwise}<br /> \end{cases}<br /> &lt;/math&gt;<br /> <br /> In this above equation &lt;math&gt; x_i \sim x_j &lt;/math&gt; denotes that &lt;math&gt; x_i &lt;/math&gt; is a nearest neighbor of &lt;math&gt;x_j &lt;/math&gt;. In reality [[Geodesic]] distance should be used to actually measure distances on the [[manifold]]. Since the exact structure of the manifold is not available, the geodesic distance is approximated by euclidean distances with only nearest neighbors. The choice &lt;math&gt; \sigma &lt;/math&gt; modulates our notion of proximity in the sense that if &lt;math&gt; \|x_i - x_j\|_2 \gg \sigma &lt;/math&gt; then &lt;math&gt; K_{ij} = 0 &lt;/math&gt; and if &lt;math&gt; \|x_i - x_j\|_2 \ll \sigma &lt;/math&gt; then &lt;math&gt; K_{ij} = 1 &lt;/math&gt;. The former means that very little diffusion has taken place while the latter implies that the diffusion process is nearly complete. Different strategies to choose &lt;math&gt; \sigma &lt;/math&gt; can be found in.&lt;ref&gt;B. Bah, &quot;Diffusion Maps: Applications and Analysis&quot;, Masters Thesis, University of Oxford&lt;/ref&gt; If &lt;math&gt; K &lt;/math&gt; has to faithfully represent a Markov matrix, then it has to be normalized by the corresponding [[degree matrix]] &lt;math&gt; D &lt;/math&gt;:<br /> <br /> : &lt;math&gt; P = D^{-1}K. \, &lt;/math&gt;<br /> <br /> &lt;math&gt; P &lt;/math&gt; now represents a Markov chain. &lt;math&gt; P(x_i,x_j) &lt;/math&gt; is the probability of transitioning from &lt;math&gt; x_i &lt;/math&gt; to &lt;math&gt; x_j &lt;/math&gt; in one a time step. Similarly the probability of transitioning from &lt;math&gt; x_i &lt;/math&gt; to &lt;math&gt; x_j &lt;/math&gt; in '''t''' time steps is given by &lt;math&gt; P^t (x_i,x_j) &lt;/math&gt;. Here &lt;math&gt; P^t &lt;/math&gt; is the matrix &lt;math&gt; P &lt;/math&gt; multiplied to itself t times. Now the Markov matrix &lt;math&gt; P &lt;/math&gt; constitutes some notion of local geometry of the data set '''X'''. The major difference between diffusion maps and [[principal component analysis]] is that only local features of the data is considered in diffusion maps as opposed to taking correlations of the entire data set.<br /> <br /> &lt;math&gt; K &lt;/math&gt; defines a random walk on the data set which means that the kernel captures some local geometry of data set. The Markov chain defines fast and slow directions of propagation, based on the values taken by the kernel, and as one propagates the walk forward in time, the local geometry information aggregates in the same way as local transitions (defined by differential equations) of the dynamical system.&lt;ref name=&quot;ReferenceA&quot;/&gt; The concept of diffusion arises from the definition of a family diffusion distance {&lt;math&gt; D_t &lt;/math&gt;}&lt;math&gt;_{t \in N} &lt;/math&gt;<br /> <br /> : &lt;math&gt; D_t^2(x,y) = ||p_t(x,\cdot) - p_t(y,\cdot)||^2 &lt;/math&gt;<br /> <br /> For a given value of t &lt;math&gt; D_t &lt;/math&gt; defines a distance between any two points of the data set. This means that the value of &lt;math&gt; D_t(x,y) &lt;/math&gt; will be small if there are many paths that connect '''x''' to '''y''' and vice versa. The quantity &lt;math&gt; D_t(x,y) &lt;/math&gt; involves summing over of all paths of length t, as a result of which &lt;math&gt; D_t &lt;/math&gt; is extremely robust to noise in the data as opposed to geodesic distance. &lt;math&gt; D_t &lt;/math&gt; takes into account all the relation between points x and y while calculating the distance and serves as a better notion of proximity than just [[Euclidean distance]] or even geodesic distance.<br /> <br /> === Hessian Locally-Linear Embedding (Hessian LLE) ===<br /> <br /> Like LLE, [[Hessian LLE]]&lt;ref&gt;D. Donoho and C. Grimes, &quot;Hessian eigenmaps: Locally linear embedding techniques for high-dimensional data&quot; Proc Natl Acad Sci U S A. 2003 May 13; 100(10): 5591–5596&lt;/ref&gt; is also based on sparse matrix techniques. It tends to yield results of a much higher quality than LLE. Unfortunately, it has a very costly computational complexity, so it is not well-suited for heavily-sampled manifolds. It has no internal model.<br /> <br /> === Modified Locally-Linear Embedding (MLLE) ===<br /> <br /> Modified LLE (MLLE)&lt;ref&gt;Z. Zhang and J. Wang, &quot;MLLE: Modified Locally Linear Embedding Using Multiple Weights&quot; http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.70.382&lt;/ref&gt; is another LLE variant which uses multiple weights in each neighborhood to address the local weight matrix conditioning problem which leads to distortions in LLE maps. MLLE produces robust projections similar to Hessian LLE, but without the significant additional computational cost.<br /> <br /> === Relational perspective map ===<br /> Relational perspective map is a [[multidimensional scaling]] algorithm. The algorithm finds a configuration of data points on a manifold by simulating a multi-particle dynamic system on a closed manifold, where data points are mapped to particles and distances (or dissimilarity) between data points represent a repulsive force. As the manifold gradually grows in size the multi-particle system cools down gradually and converges to a configuration that reflects the distance information of the data points.<br /> <br /> Relational perspective map was inspired by a physical model in which positively charged particles move freely on the surface of a ball. Guided by the [[Charles-Augustin de Coulomb|Coulomb]] [[Coulomb's law|force]] between particles, the minimal energy configuration of the particles will reflect the strength of repulsive forces between the particles.<br /> <br /> The Relational perspective map was introduced in.&lt;ref&gt;James X. Li, [http://www.palgrave-journals.com/ivs/journal/v3/n1/pdf/9500051a.pdf Visualizing high-dimensional data with relational perspective map], Information Visualization (2004) 3, 49–59&lt;/ref&gt;<br /> The algorithm firstly used the flat [[torus]] as the image manifold, then it has been extended (in the software [http://www.VisuMap.com VisuMap] to use other types of closed manifolds, like the [[sphere]], [[projective space]], and [[Klein bottle]], as image manifolds.<br /> <br /> === Local tangent space alignment ===<br /> {{Main|Local tangent space alignment}}<br /> [[local tangent space alignment|LTSA]]&lt;ref&gt;{{Cite journal |last=Zhang |first=Zhenyue |author2=Hongyuan Zha |title=Principal Manifolds and Nonlinear Dimension Reduction via Local Tangent Space Alignment |journal=SIAM Journal on Scientific Computing |volume=26 |issue=1 |year=2005 |pages=313–338 |doi=10.1137/s1064827502419154}}&lt;/ref&gt; is based on the intuition that when a manifold is correctly unfolded, all of the tangent hyperplanes to the manifold will become aligned. It begins by computing the ''k''-nearest neighbors of every point. It computes the tangent space at every point by computing the ''d''-first principal components in each local neighborhood. It then optimizes to find an embedding that aligns the tangent spaces.<br /> <br /> === Local multidimensional scaling ===<br /> <br /> Local Multidimensional Scaling&lt;ref&gt;J Venna and S Kaski, Local multidimensional scaling, Neural Networks, 2006&lt;/ref&gt; performs [[multidimensional scaling]] in local regions, and then uses convex optimization to fit all the pieces together.<br /> <br /> === Maximum variance unfolding ===<br /> <br /> [[Maximum Variance Unfolding]] was formerly known as Semidefinite Embedding. The intuition for this algorithm is that when a manifold is properly unfolded, the variance over the points is maximized. This algorithm also begins by finding the ''k''-nearest neighbors of every point. It then seeks to solve the problem of maximizing the distance between all non-neighboring points, constrained such that the distances between neighboring points are preserved. The primary contribution of this algorithm is a technique for casting this problem as a semidefinite programming problem. Unfortunately, semidefinite programming solvers have a high computational cost. The Landmark–MVU variant of this algorithm uses landmarks to increase speed with some cost to accuracy. It has no model.<br /> <br /> === Nonlinear PCA ===<br /> <br /> Nonlinear PCA&lt;ref&gt;Scholz, M. Kaplan, F. Guy, C. L. Kopka, J. Selbig, J., Non-linear PCA: a missing data approach, In ''Bioinformatics'', Vol. 21, Number 20, pp. 3887–3895, Oxford University Press, 2005&lt;/ref&gt; (NLPCA) uses [[backpropagation]] to train a multi-layer perceptron to fit to a manifold. Unlike typical MLP training, which only updates the weights, NLPCA updates both the weights and the inputs. That is, both the weights and inputs are treated as latent values. After training, the latent inputs are a low-dimensional representation of the observed vectors, and the MLP maps from that low-dimensional representation to the high-dimensional observation space.<br /> <br /> === Data-driven high-dimensional scaling ===<br /> <br /> Data-Driven High Dimensional Scaling (DD-HDS)&lt;ref&gt;S. Lespinats, M. Verleysen, A. Giron, B. Fertil, DD-HDS: a tool for visualization and exploration of high-dimensional data, IEEE Transactions on Neural Networks 18 (5) (2007) 1265–1279.&lt;/ref&gt; is closely related to [[Sammon's mapping]] and curvilinear component analysis except that (1) it simultaneously penalizes false neighborhoods and tears by focusing on small distances in both original and output space, and that (2) it accounts for [[concentration of measure]] phenomenon by adapting the weighting function to the distance distribution.<br /> <br /> === Manifold sculpting ===<br /> <br /> Manifold Sculpting&lt;ref&gt;Gashler, M. and Ventura, D. and Martinez, T., ''[http://axon.cs.byu.edu/papers/gashler2007nips.pdf Iterative Non-linear Dimensionality Reduction with Manifold Sculpting]'', In Platt, J.C. and Koller, D. and Singer, Y. and Roweis, S., editor, Advances in Neural Information Processing Systems 20, pp. 513–520, MIT Press, Cambridge, MA, 2008&lt;/ref&gt; uses [[graduated optimization]] to find an embedding. Like other algorithms, it computes the ''k''-nearest neighbors and tries to seek an embedding that preserves relationships in local neighborhoods. It slowly scales variance out of higher dimensions, while simultaneously adjusting points in lower dimensions to preserve those relationships. If the rate of scaling is small, it can find very precise embeddings. It boasts higher empirical accuracy than other algorithms with several problems. It can also be used to refine the results from other manifold learning algorithms. It struggles to unfold some manifolds, however, unless a very slow scaling rate is used. It has no model.<br /> <br /> === t-distributed stochastic neighbor embedding ===<br /> <br /> [[t-distributed stochastic neighbor embedding]] (t-SNE) &lt;ref&gt;{{cite journal|last=van der Maaten|first=L.J.P.|author2=Hinton, G.E. |title=Visualizing High-Dimensional Data Using t-SNE|journal=Journal of Machine Learning Research 9|date=Nov 2008|pages=2579–2605|url=http://jmlr.org/papers/volume9/vandermaaten08a/vandermaaten08a.pdf}}&lt;/ref&gt; is widely used. It is one of a family of stochastic neighbor embedding methods.<br /> <br /> === RankVisu ===<br /> <br /> RankVisu&lt;ref&gt;Lespinats S., Fertil B., Villemain P. and Herault J., Rankvisu: Mapping from the neighbourhood network, Neurocomputing, vol. 72 (13–15), pp. 2964–2978, 2009.&lt;/ref&gt; is designed to preserve rank of neighborhood rather than distance. RankVisu is especially useful on difficult tasks (when the preservation of distance cannot be achieved satisfyingly). Indeed, the rank of neighborhood is less informative than distance (ranks can be deduced from distances but distances cannot be deduced from ranks) and its preservation is thus easier.<br /> <br /> === Topologically constrained isometric embedding ===<br /> <br /> [[Topologically Constrained Isometric Embedding]] (TCIE)&lt;ref&gt;Rosman G., Bronstein M. M., Bronstein A. M. and Kimmel R., Nonlinear Dimensionality Reduction by Topologically Constrained Isometric Embedding, International Journal of Computer Vision, Volume 89, Number 1, 56–68, 2010&lt;/ref&gt; is an algorithm based approximating geodesic distances after filtering geodesics inconsistent with the Euclidean metric. Aimed at correcting the distortions caused when Isomap is used to map intrinsically non-convex data, TCIE uses weight least-squares MDS in order to obtain a more accurate mapping. The TCIE algorithm first detects possible boundary points in the data, and during computation of the geodesic length marks inconsistent geodesics, to be given a small weight in the weighted [[Stress majorization]] that follows.<br /> <br /> ==Methods based on proximity matrices==<br /> <br /> A method based on proximity matrices is one where the data is presented to the algorithm in the form of a [[similarity matrix]] or a [[distance matrix]]. These methods all fall under the broader class of [[Multidimensional scaling#Types|metric multidimensional scaling]]. The variations tend to be differences in how the proximity data is computed; for example, [[Isomap]], [[locally linear embeddings]], [[maximum variance unfolding]], and [[Sammon's projection|Sammon mapping]] (which is not in fact a mapping) are examples of metric multidimensional scaling methods.<br /> <br /> ==See also==<br /> * [[Discriminant analysis]]<br /> * [[Elastic map]]&lt;ref&gt;[http://bioinfo-out.curie.fr/projects/elmap/ ELastic MAPs]&lt;/ref&gt;<br /> * [[Feature learning]]<br /> * [[Growing self-organizing map]] (GSOM)<br /> * [[Pairwise distance methods]]<br /> * [[Self-organizing map]] (SOM)<br /> <br /> ==References==<br /> {{reflist}}<br /> <br /> ==External links==<br /> * [http://isomap.stanford.edu/ Isomap]<br /> * [http://www.ncrg.aston.ac.uk/GTM/ Generative Topographic Mapping]<br /> * [http://www.miketipping.com/thesis.htm Mike Tipping's Thesis]<br /> * [http://www.dcs.shef.ac.uk/~neil/gplvm/ Gaussian Process Latent Variable Model]<br /> * [http://www.cs.toronto.edu/~roweis/lle/ Locally Linear Embedding]<br /> * [http://www.visumap.net/index.aspx?p=Resources/RpmOverview Relational Perspective Map]<br /> * [http://waffles.sourceforge.net/ Waffles] is an open source C++ library containing implementations of LLE, Manifold Sculpting, and some other manifold learning algorithms.<br /> * [http://shogun-toolbox.org/edrt/ Efficient Dimensionality Reduction Toolkit homepage]<br /> * [http://sy.lespi.free.fr/DD-HDS-homepage.html DD-HDS homepage]<br /> * [http://sy.lespi.free.fr/RankVisu-homepage.html RankVisu homepage]<br /> * [http://tx.technion.ac.il/~rc/diffusion_maps.pdf Short review of Diffusion Maps]<br /> * [http://www.nlpca.org/ Nonlinear PCA by autoencoder neural networks]<br /> <br /> {{DEFAULTSORT:Nonlinear Dimensionality Reduction}}<br /> [[Category:Multivariate statistics]]<br /> [[Category:Dimension]]<br /> [[Category:Dimension reduction]]</div> Deepalgo https://en.wikipedia.org/w/index.php?title=Item-item_collaborative_filtering&diff=711006793 Item-item collaborative filtering 2016-03-20T12:11:12Z <p>Deepalgo: </p> <hr /> <div>{{recommender systems}}<br /> '''Item-item collaborative filtering''', or '''item-based''', or '''item-to-item''', is a form of [[collaborative filtering]] based on the similarity between items calculated using people's ratings of those items. Item-item collaborative filtering was first published in 2001, and in 2003 the e-commerce website [[Amazon.com|Amazon]] stated this algorithm powered its recommender system.<br /> <br /> Earlier collaborative filtering systems based on [[Star (classification)|rating]] similarity between users (known as [[user-user collaborative filtering]]) had several problems:<br /> * systems performed poorly when they had many items but comparatively few ratings <br /> * computing similarities between all pairs of users was expensive<br /> * user profiles changed quickly and the entire system model had to be recomputed<br /> <br /> Item-item models resolve these problems in systems that have more users than items. Item-item models use rating distributions ''per item'', not ''per user''. With more users than items, each item tends to have more ratings than each user, so an item's average rating usually doesn't change quickly. This leads to more stable rating distributions in the model, so the model doesn't have to be rebuilt as often. When users consume and then rate an item, that item's similar items are picked from the existing system model and added to the user's recommendations.<br /> <br /> Recently, a method named Item2Vec &lt;ref name=&quot;item2vec&quot;&gt;Barkan, O; Koenigstein, N (14 March 2016).[http://arxiv.org/abs/1603.04259 &quot;Item2Vec: Neural Item Embedding for Collaborative Filtering&quot;]. arXiv:1603.04259.&lt;/ref&gt; was introduced for a scalable item-item collaborative filtering. Item2Vec produces low dimensional representation for items, where the affinity between items can be measured by cosine similarity. The method is based on the Word2Vec method that was successfully applied to natural language processing applications.<br /> <br /> ==Method==<br /> First, the system executes a model-building stage by finding the similarity between all pairs of items. This [[Similarity measure|similarity function]] can take many forms, such as correlation between ratings or cosine of those rating vectors. As in user-user systems, similarity functions can use [[Normalization (statistics)|normalized]] ratings (correcting, for instance, for each user's average rating).<br /> <br /> Second, the system executes a [[recommender system|recommendation]] stage. It uses the most similar items to a user's already-rated items to generate a list of recommendations. Usually this calculation is a [[Weight function|weighted sum]] or [[linear regression]]. This form of recommendation is analogous to &quot;people who rate item X highly, like you, also tend to rate item Y highly, and you haven't rated item Y yet, so you should try it&quot;.<br /> <br /> ==Results==<br /> Item-item collaborative filtering had less error than user-user collaborative filtering. In addition, its less-dynamic model was computed less often and stored in a smaller matrix, so item-item system performance was better than user-user systems.<br /> <br /> ==See also==<br /> * [[Slope One]], a family of item-item collaborative filtering algorithms designed to reduce model [[overfitting]] problems<br /> <br /> ==Bibliography==<br /> * {{cite journal|url=http://dl.acm.org/citation.cfm?id=372071|title=Item-based collaborative filtering recommendation algorithms|journal=Proceedings of the 10th international conference on the World Wide Web|pages=285-295 |date=2001 |isbn=1-58113-348-0 |doi=10.1145/371920.372071|first1=Badrul |last1= Sarwar |first2= George |last2= Karypis |first3= Joseph |last3=Konstan|first4= John |last4=Riedl |authorlink4=John Riedl|publisher=[[Association for Computing Machinery|ACM]]}}<br /> * {{cite journal|url=http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=1167344|title=Amazon.com recommendations: item-to-item collaborative filtering|journal=IEEE Internet Computing|pages=76-80 |date=22 January 2003 |issn=1089-7801 |publisher=[[IEEE]] |volume=7 |issue=1 |doi=10.1109/MIC.2003.1167344|first1=G |last1= Linden |first2= B |last2= Smith |first3= J |last3=York}}<br /> * Barkan, O; Koenigstein, N (14 March 2016). [[arxiv:1603.04259|&quot;Item2Vec: Neural Item Embedding for Collaborative Filtering&quot;]]. arXiv:1603.04259.<br /> {{reflist}}<br /> <br /> [[Category:Recommender systems]]</div> Deepalgo https://en.wikipedia.org/w/index.php?title=Item-item_collaborative_filtering&diff=711006742 Item-item collaborative filtering 2016-03-20T12:10:35Z <p>Deepalgo: </p> <hr /> <div>{{recommender systems}}<br /> '''Item-item collaborative filtering''', or '''item-based''', or '''item-to-item''', is a form of [[collaborative filtering]] based on the similarity between items calculated using people's ratings of those items. Item-item collaborative filtering was first published in 2001, and in 2003 the e-commerce website [[Amazon.com|Amazon]] stated this algorithm powered its recommender system.<br /> <br /> Earlier collaborative filtering systems based on [[Star (classification)|rating]] similarity between users (known as [[user-user collaborative filtering]]) had several problems:<br /> * systems performed poorly when they had many items but comparatively few ratings <br /> * computing similarities between all pairs of users was expensive<br /> * user profiles changed quickly and the entire system model had to be recomputed<br /> <br /> Item-item models resolve these problems in systems that have more users than items. Item-item models use rating distributions ''per item'', not ''per user''. With more users than items, each item tends to have more ratings than each user, so an item's average rating usually doesn't change quickly. This leads to more stable rating distributions in the model, so the model doesn't have to be rebuilt as often. When users consume and then rate an item, that item's similar items are picked from the existing system model and added to the user's recommendations.<br /> <br /> Recently, a method named &lt;ref name=&quot;item2vec&quot;&gt;Barkan, O; Koenigstein, N (14 March 2016).[http://arxiv.org/abs/1603.04259 &quot;Item2Vec: Neural Item Embedding for Collaborative Filtering&quot;]. arXiv:1603.04259.&lt;/ref&gt; was proposed for a scalable item-item collaborative filtering. Item2Vec produces low dimensional representation for items, where the affinity between items can be measured by cosine similarity. The method is based on the Word2Vec method that was successfully applied to natural language processing applications.<br /> <br /> ==Method==<br /> First, the system executes a model-building stage by finding the similarity between all pairs of items. This [[Similarity measure|similarity function]] can take many forms, such as correlation between ratings or cosine of those rating vectors. As in user-user systems, similarity functions can use [[Normalization (statistics)|normalized]] ratings (correcting, for instance, for each user's average rating).<br /> <br /> Second, the system executes a [[recommender system|recommendation]] stage. It uses the most similar items to a user's already-rated items to generate a list of recommendations. Usually this calculation is a [[Weight function|weighted sum]] or [[linear regression]]. This form of recommendation is analogous to &quot;people who rate item X highly, like you, also tend to rate item Y highly, and you haven't rated item Y yet, so you should try it&quot;.<br /> <br /> ==Results==<br /> Item-item collaborative filtering had less error than user-user collaborative filtering. In addition, its less-dynamic model was computed less often and stored in a smaller matrix, so item-item system performance was better than user-user systems.<br /> <br /> ==See also==<br /> * [[Slope One]], a family of item-item collaborative filtering algorithms designed to reduce model [[overfitting]] problems<br /> <br /> ==Bibliography==<br /> * {{cite journal|url=http://dl.acm.org/citation.cfm?id=372071|title=Item-based collaborative filtering recommendation algorithms|journal=Proceedings of the 10th international conference on the World Wide Web|pages=285-295 |date=2001 |isbn=1-58113-348-0 |doi=10.1145/371920.372071|first1=Badrul |last1= Sarwar |first2= George |last2= Karypis |first3= Joseph |last3=Konstan|first4= John |last4=Riedl |authorlink4=John Riedl|publisher=[[Association for Computing Machinery|ACM]]}}<br /> * {{cite journal|url=http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=1167344|title=Amazon.com recommendations: item-to-item collaborative filtering|journal=IEEE Internet Computing|pages=76-80 |date=22 January 2003 |issn=1089-7801 |publisher=[[IEEE]] |volume=7 |issue=1 |doi=10.1109/MIC.2003.1167344|first1=G |last1= Linden |first2= B |last2= Smith |first3= J |last3=York}}<br /> * Barkan, O; Koenigstein, N (14 March 2016). [[arxiv:1603.04259|&quot;Item2Vec: Neural Item Embedding for Collaborative Filtering&quot;]]. arXiv:1603.04259.<br /> {{reflist}}<br /> <br /> [[Category:Recommender systems]]</div> Deepalgo https://en.wikipedia.org/w/index.php?title=Collaborative_filtering&diff=711006589 Collaborative filtering 2016-03-20T12:08:55Z <p>Deepalgo: </p> <hr /> <div>{{external links|date=November 2013}}<br /> {{Use dmy dates|date=June 2013}}<br /> {{Recommender systems}}<br /> [[File:Collaborative filtering.gif|300px|thumb|<br /> <br /> This image shows an example of predicting of the user's rating using [[Collaborative software|collaborative]] filtering. At first, people rate different items (like videos, images, games). After that, the system is making [[prediction]]s about user's rating for an item, which the user hasn't rated yet. These predictions are built upon the existing ratings of other users, who have similar ratings with the active user. For instance, in our case the system has made a prediction, that the active user won't like the video.]]<br /> <br /> '''Collaborative filtering''' ('''CF''') is a technique used by some [[recommender system]]s.&lt;ref name=&quot;handbook&quot;&gt;Francesco Ricci and Lior Rokach and Bracha Shapira, [http://www.inf.unibz.it/~ricci/papers/intro-rec-sys-handbook.pdf Introduction to Recommender Systems Handbook], Recommender Systems Handbook, Springer, 2011, pp. 1-35&lt;/ref&gt; [[Collaborative software|Collaborative]] filtering has two senses, a narrow one and a more general one.&lt;ref name=recommender&gt;{{cite web|title=Beyond Recommender Systems: Helping People Help Each Other|url=http://www.grouplens.org/papers/pdf/rec-sys-overview.pdf|publisher=Addison-Wesley|accessdate=16 January 2012|page=6|year=2001|last1=Terveen|first1=Loren|last2=Hill|first2=Will|authorlink1=Loren Terveen}}&lt;/ref&gt; In general, collaborative filtering is the process of filtering for information or patterns using techniques involving collaboration among multiple agents, viewpoints, data sources, etc.&lt;ref name=&quot;recommender&quot; /&gt; Applications of collaborative filtering typically involve very large data sets. Collaborative filtering methods have been applied to many different kinds of data including: sensing and monitoring data, such as in mineral exploration, environmental sensing over large areas or multiple sensors; financial data, such as financial service institutions that integrate many financial sources; or in electronic commerce and web applications where the focus is on user data, etc. The remainder of this discussion focuses on collaborative filtering for user data, although some of the methods and approaches may apply to the other major applications as well.<br /> <br /> In the newer, narrower sense, collaborative filtering is a method of making automatic [[prediction]]s (filtering) about the interests of a user by collecting preferences or [[taste (sociology)|taste]] information from [[crowdsourcing|many users]] (collaborating). The underlying assumption of the collaborative filtering approach is that if a person ''A'' has the same opinion as a person ''B'' on an issue, A is more likely to have B's opinion on a different issue ''x'' than to have the opinion on x of a person chosen randomly. For example, a collaborative filtering recommendation system for [[television]] tastes could make predictions about which television show a user should like given a partial list of that user's tastes (likes or dislikes).&lt;ref&gt;[http://www.redbeemedia.com/insights/integrated-approach-tv-vod-recommendations An integrated approach to TV &amp; VOD Recommendations] {{wayback|url=http://www.redbeemedia.com/insights/integrated-approach-tv-vod-recommendations |date=20120606225352 |df=y }}&lt;/ref&gt; Note that these predictions are specific to the user, but use information gleaned from many users. This differs from the simpler approach of giving an [[average]] (non-specific) score for each item of interest, for example based on its number of [[vote]]s.<br /> <br /> ==Introduction==<br /> The [[internet growth|growth]] of the [[Internet]] has made it much more difficult to effectively [[information extraction|extract useful information]] from all the available [[online information]]. The overwhelming amount of data necessitates mechanisms for efficient [[information filtering]]. One of the techniques used for dealing with this problem is called collaborative filtering.<br /> <br /> The motivation for collaborative filtering comes from the idea that people often get the best recommendations from someone with [[similarity|similar]] tastes to themselves. Collaborative filtering explores techniques for matching people with similar interests and making [[recommendation]]s on this basis.<br /> <br /> Collaborative filtering algorithms often require (1) users’ active participation, (2) an easy way to represent users’ interests to the system, and (3) algorithms that are able to match people with similar interests.<br /> <br /> Typically, the workflow of a collaborative filtering system is:<br /> # A user expresses his or her preferences by rating items (e.g. books, movies or CDs) of the system. These ratings can be viewed as an approximate representation of the user's interest in the corresponding domain.<br /> # The system matches this user’s ratings against other users’ and finds the people with most &quot;similar&quot; tastes.<br /> # With similar users, the system recommends items that the similar users have rated highly but not yet being rated by this user (presumably the absence of rating is often considered as the unfamiliarity of an item)<br /> A key problem of collaborative filtering is how to combine and weight the preferences of user neighbors. Sometimes, users can immediately rate the recommended items. As a result, the system gains an increasingly accurate representation of user preferences over time.<br /> <br /> ==Methodology==<br /> <br /> [[File:Collaborative Filtering in Recommender Systems.jpg|thumb|Collaborative Filtering in Recommender Systems]]<br /> <br /> Collaborative filtering systems have many forms, but many common systems can be reduced to two steps:<br /> # Look for users who share the same rating patterns with the active user (the user whom the prediction is for).<br /> # Use the ratings from those like-minded users found in step 1 to calculate a prediction for the active user<br /> This falls under the category of user-based collaborative filtering. A specific application of this is the user-based [[K-nearest neighbor algorithm|Nearest Neighbor algorithm]].<br /> <br /> Alternatively, [[item-item collaborative filtering|item-based collaborative filtering]] (users who bought x also bought y), proceeds in an item-centric manner:<br /> # Build an item-item matrix determining relationships between pairs of items<br /> # Infer the tastes of the current user by examining the matrix and matching that user's data<br /> See, for example, the [[Slope One]] item-based collaborative filtering family.<br /> <br /> Another form of collaborative filtering can be based on implicit observations of normal user behavior (as opposed to the artificial behavior imposed by a rating task). These systems observe what a user has done together with what all users have done (what music they have listened to, what items they have bought) and use that data to predict the user's behavior in the future, or to predict how a user might like to behave given the chance. These predictions then have to be filtered through [[business logic]] to determine how they might affect the actions of a business system. For example, it is not useful to offer to sell somebody a particular album of music if they already have demonstrated that they own that music.<br /> <br /> Relying on a scoring or rating system which is averaged across all users ignores specific demands of a user, and is particularly poor in tasks where there is large variation in interest (as in the recommendation of music). However, there are other methods to combat information explosion, such as [[WWW|web]] search and [[data clustering]].<br /> <br /> ==Types==<br /> <br /> ===Memory-based===<br /> This approach uses user rating data to compute the similarity between users or items. This is used for making recommendations. This was an early approach used in many commercial systems. It's effective and easy to implement. Typical examples of this approach are neighbourhood-based CF and item-based/user-based top-N recommendations. For example, in user based approaches, the value of ratings user 'u' gives to item 'i' is calculated as an [[aggregation]] of some similar users' rating of the item:<br /> :&lt;math&gt;r_{u,i} = \operatorname{aggr}_{u^\prime \in U} r_{u^\prime, i}&lt;/math&gt;<br /> <br /> where 'U' denotes the set of top 'N' users that are most similar to user 'u' who rated item 'i'. Some examples of the aggregation function includes:<br /> :&lt;math&gt;r_{u,i} = \frac{1}{N}\sum\limits_{u^\prime \in U}r_{u^\prime, i}&lt;/math&gt;<br /> :&lt;math&gt;r_{u,i} = k\sum\limits_{u^\prime \in U}\operatorname{simil}(u,u^\prime)r_{u^\prime, i}&lt;/math&gt;<br /> :&lt;math&gt;r_{u,i} = \bar{r_u} + k\sum\limits_{u^\prime \in U}\operatorname{simil}(u,u^\prime)(r_{u^\prime, i}-\bar{r_{u^\prime}} )&lt;/math&gt;<br /> <br /> where k is a normalizing factor defined as &lt;math&gt;k =1/\sum_{u^\prime \in U}|\operatorname{simil}(u,u^\prime)| &lt;/math&gt;. and &lt;math&gt;\bar{r_u}&lt;/math&gt; is the average rating of user u for all the items rated by u.<br /> <br /> The neighborhood-based algorithm calculates the similarity between two users or items, produces a prediction for the user by taking the [[weighted average]] of all the ratings. Similarity computation between items or users is an important part of this approach. Multiple measures, such as [[Pearson product-moment correlation coefficient|Pearson correlation]] and [[Cosine similarity|vector cosine]] based similarity are used for this.<br /> <br /> The Pearson correlation similarity of two users x, y is defined as <br /> :&lt;math&gt; \operatorname{simil}(x,y) = \frac{\sum\limits_{i \in I_{xy}}(r_{x,i}-\bar{r_x})(r_{y,i}-\bar{r_y})}{\sqrt{\sum\limits_{i \in I_{xy}}(r_{x,i}-\bar{r_x})^2\sum\limits_{i \in I_{xy}}(r_{y,i}-\bar{r_y})^2}} &lt;/math&gt;<br /> <br /> where I&lt;sub&gt;xy&lt;/sub&gt; is the set of items rated by both user x and user y.<br /> <br /> The cosine-based approach defines the cosine-similarity between two users x and y as:&lt;ref name=&quot;Breese1999&quot;&gt;John S. Breese, David Heckerman, and Carl Kadie, [http://uai.sis.pitt.edu/displayArticleDetails.jsp?mmnu=1&amp;smnu=2&amp;article_id=231&amp;proceeding_id=14 Empirical Analysis of Predictive Algorithms for Collaborative Filtering], 1998 {{wayback|url=http://uai.sis.pitt.edu/displayArticleDetails.jsp?mmnu=1&amp;smnu=2&amp;article_id=231&amp;proceeding_id=14 |date=20131019134152 |df=y }}&lt;/ref&gt;<br /> :&lt;math&gt;\operatorname{simil}(x,y) = \cos(\vec x,\vec y) = \frac{\vec x \cdot \vec y}{||\vec x|| \times ||\vec y||} = \frac{\sum\limits_{i \in I_{xy}}r_{x,i}r_{y,i}}{\sqrt{\sum\limits_{i \in I_{x}}r_{x,i}^2}\sqrt{\sum\limits_{i \in I_{y}}r_{y,i}^2}}&lt;/math&gt;<br /> <br /> The user based top-N recommendation algorithm uses a similarity-based vector model to identify the k most similar users to an active user. After the k most similar users are found, their corresponding user-item matrices are aggregated to identify the set of items to be recommended. A popular method to find the similar users is the [[Locality-sensitive hashing]], which implements the [[Nearest neighbor search|nearest neighbor mechanism]] in linear time.<br /> <br /> The advantages with this approach include: the explainability of the results, which is an important aspect of recommendation systems; easy creation and use; easy facilitation of new data; content-independence of the items being recommended; good scaling with co-rated items.<br /> <br /> There are also several disadvantages with this approach. Its performance decreases when [[sparsity|data gets sparse]], which occurs frequently with web-related items. This hinders the [[scalability]] of this approach and creates problems with large datasets. Although it can efficiently handle new users because it relies on a [[data structure]], adding new items becomes more complicated since that representation usually relies on a specific [[vector space]]. Adding new items requires inclusion of the new item and the re-insertion of all the elements in the structure.<br /> <br /> ===Model-based===<br /> Models are developed using [[data mining]], [[machine learning]] algorithms to find patterns based on training data. These are used to make predictions for real data. There are many model-based CF algorithms. These include [[Bayesian networks]], neural embedding models,&lt;ref name=&quot;item2vec&quot;&gt;Barkan, O; Koenigstein, N (14 March 2016). [http://arxiv.org/abs/1603.04259 &quot;Item2Vec: Neural Item Embedding for Collaborative Filtering&quot;]. arXiv:1603.04259.&lt;/ref&gt; [[Cluster Analysis|clustering models]], [[Latent Semantic Indexing|latent semantic models]] such as [[singular value decomposition]], [[probabilistic latent semantic analysis]], multiple multiplicative factor, [[latent Dirichlet allocation]] and [[Markov decision process]] based models.&lt;ref name=&quot;Suetal2009&quot;&gt;Xiaoyuan Su, Taghi M. Khoshgoftaar, [http://www.hindawi.com/journals/aai/2009/421425/ A survey of collaborative filtering techniques], Advances in Artificial Intelligence archive, 2009.&lt;/ref&gt;<br /> <br /> This approach has a more holistic goal to uncover latent factors that explain observed ratings.&lt;ref&gt;[http://research.yahoo.com/pub/2435 Factor in the Neighbors: Scalable and Accurate Collaborative Filtering] {{wayback|url=http://research.yahoo.com/pub/2435 |date=20101023032716 |df=y }}&lt;/ref&gt; Most of the models are based on creating a classification or clustering technique to identify the user based on the training set. The number of the parameters can be reduced based on types of [[Principal Component Analysis|principal component analysis]].<br /> <br /> There are several advantages with this paradigm. It handles the sparsity better than memory based ones. This helps with scalability with large data sets. It improves the prediction performance. It gives an intuitive rationale for the recommendations.<br /> <br /> The disadvantages with this approach are in the expensive model building. One needs to have a tradeoff between prediction performance and scalability. One can lose useful information due to reduction models. A number of models have difficulty explaining the predictions.<br /> <br /> ===Hybrid===<br /> A number of applications combines the memory-based and the model-based CF algorithms. These overcome the limitations of native CF approaches. It improves the prediction performance. Importantly, it overcomes the CF problems such as sparsity and loss of information. However, they have increased complexity and are expensive to implement.&lt;ref&gt;{{cite journal | url = http://www.sciencedirect.com/science/article/pii/S0020025512002587 | doi=10.1016/j.ins.2012.04.012 | volume=208 | title=Kernel-Mapping Recommender system algorithms | journal=Information Sciences | pages=81–104}}<br /> &lt;/ref&gt; Usually most of the commercial recommender systems are hybrid, for example, Google news recommender system.&lt;ref&gt;{{cite web|url=http://dl.acm.org/citation.cfm?id=1242610|title=Google news personalization|publisher=}}&lt;/ref&gt;<br /> <br /> ==Application on social web==<br /> Unlike the traditional model of mainstream media, in which there are few editors who set guidelines, collaboratively filtered social media can have a very large number of editors, and content improves as the number of participants increases. Services like [[Reddit]], [[YouTube]], and [[Last.fm]] are typical example of collaborative filtering based media.&lt;ref&gt;[http://www.readwriteweb.com/archives/collaborative_filtering_social_web.php Collaborative Filtering: Lifeblood of The Social Web]&lt;/ref&gt;<br /> <br /> One scenario of collaborative filtering application is to recommend interesting or popular information as judged by the community. As a typical example, stories appear in the front page of [[Digg]] as they are &quot;voted up&quot; (rated positively) by the community. As the community becomes larger and more diverse, the promoted stories can better reflect the average interest of the community members.<br /> <br /> Another aspect of collaborative filtering systems is the ability to generate more personalized recommendations by analyzing information from the past activity of a specific user, or the history of other users deemed to be of similar taste to a given user. These resources are used as user profiling and helps the site recommend content on a user-by-user basis. The more a given user makes use of the system, the better the recommendations become, as the system gains data to improve its model of that user.<br /> <br /> ===Problems===<br /> A collaborative filtering system does not necessarily succeed in automatically matching content to one's preferences. Unless the platform achieves unusually good diversity and independence of opinions, one point of view will always dominate another in a particular community. As in the personalized recommendation scenario, the introduction of new users or new items can cause the [[cold start]] problem, as there will be insufficient data on these new entries for the collaborative filtering to work accurately. In order to make appropriate recommendations for a new user, the system must first learn the user's preferences by analysing past voting or rating activities. The collaborative filtering system requires a substantial number of users to rate a new item before that item can be recommended.<br /> <br /> ==Challenges of collaborative filtering==<br /> <br /> ===Data sparsity===<br /> In practice, many commercial recommender systems are based on large datasets. As a result, the user-item matrix used for collaborative filtering could be extremely large and sparse, which brings about the challenges in the performances of the recommendation.<br /> <br /> One typical problem caused by the data sparsity is the [[cold start]] problem. As collaborative filtering methods recommend items based on users’ past preferences, new users will need to rate sufficient number of items to enable the system to capture their preferences accurately and thus provides reliable recommendations.<br /> <br /> Similarly, new items also have the same problem. When new items are added to system, they need to be rated by substantial number of users before they could be recommended to users who have similar tastes with the ones rated them. The new item problem does not limit the [[Content-based filtering|content-based recommendation]], because the recommendation of an item is based on its discrete set of descriptive qualities rather than its ratings.<br /> <br /> ===Scalability===<br /> As the numbers of users and items grow, traditional CF algorithms will suffer serious scalability problems{{Citation needed|date=April 2013}}. For example, with tens of millions of customers &lt;math&gt;O(M)&lt;/math&gt; and millions of items &lt;math&gt;O(N)&lt;/math&gt;, a CF algorithm with the complexity of &lt;math&gt;n&lt;/math&gt; is already too large. As well, many systems need to react immediately to online requirements and make recommendations for all users regardless of their purchases and ratings history, which demands a higher scalability of a CF system. Large web companies such as Twitter use clusters of machines to scale recommendations for their millions of users, with most computations happening in very large memory machines.&lt;ref name=&quot;twitterwtf&quot;&gt;Pankaj Gupta, Ashish Goel, Jimmy Lin, Aneesh Sharma, Dong Wang, and Reza Bosagh Zadeh [http://dl.acm.org/citation.cfm?id=2488433 WTF: The who-to-follow system at Twitter], Proceedings of the 22nd international conference on World Wide Web&lt;/ref&gt;<br /> <br /> Recently, a method named [[arxiv:1603.04259|Item2Vec]] &lt;ref name=item2vec /&gt; was introduced for a scalable item-based Collaborative Filtering. Item2Vec produces embedding for items in a latent space and is capable of inferring item-to-item relations even when user information is not available.<br /> <br /> ===Synonyms===<br /> [[Synonyms]] refers to the tendency of a number of the same or very similar items to have different names or entries. Most recommender systems are unable to discover this latent association and thus treat these products differently.<br /> <br /> For example, the seemingly different items &quot;children movie&quot; and &quot;children film&quot; are actually referring to the same item. Indeed, the degree of variability in descriptive term usage is greater than commonly suspected.{{citation needed|date=September 2013}} The prevalence of synonyms decreases the recommendation performance of CF systems. Topic Modeling (like the [[Latent Dirichlet Allocation]] technique) could solve this by grouping different words belonging to the same topic.{{citation needed|date=September 2013}}<br /> <br /> ===Gray sheep===<br /> Gray sheep refers to the users whose opinions do not consistently agree or disagree with any group of people and thus do not benefit from collaborative filtering. [[Black sheep]] are the opposite group whose idiosyncratic tastes make recommendations nearly impossible. Although this is a failure of the recommender system, non-electronic recommenders also have great problems in these cases, so black sheep is an acceptable failure.<br /> <br /> ===Shilling attacks===<br /> In a recommendation system where everyone can give the ratings, people may give lots of positive ratings for their own items and negative ratings for their competitors. It is often necessary for the collaborative filtering systems to introduce precautions to discourage such kind of manipulations.<br /> <br /> ===Diversity and the Long Tail===<br /> Collaborative filters are expected to increase diversity because they help us discover new products. Some algorithms, however, may unintentionally do the opposite. Because collaborative filters recommend products based on past sales or ratings, they cannot usually recommend products with limited historical data. This can create a rich-get-richer effect for popular products, akin to [[positive feedback]]. This bias toward popularity can prevent what are otherwise better consumer-product matches. A [[Wharton School of the University of Pennsylvania|Wharton]] study details this phenomenon along with several ideas that may promote diversity and the &quot;[[long tail]].&quot;&lt;ref&gt;{{cite journal| last1= Fleder | first1= Daniel | first2= Kartik |last2= Hosanagar | title=Blockbuster Culture's Next Rise or Fall: The Impact of Recommender Systems on Sales Diversity|journal=Management Science |date=May 2009|url=http://papers.ssrn.com/sol3/papers.cfm?abstract_id=955984 | doi = 10.1287/mnsc.1080.0974 }}&lt;/ref&gt; Several collaborative filtering algorithms have been developed to promote diversity and the &quot;[[long tail]]&quot; by recommending novel, unexpected,&lt;ref&gt;{{cite journal| last1= Adamopoulos | first1= Panagiotis | first2= Alexander |last2= Tuzhilin | title=On Unexpectedness in Recommender Systems: Or How to Better Expect the Unexpected|journal=ACM Transactions on Intelligent Systems and Technology |date=January 2015|url=http://dl.acm.org/citation.cfm?id=2559952 | doi = 10.1145/2559952}}&lt;/ref&gt; and serendipitous items.&lt;ref&gt;{{cite journal| last1= Adamopoulos | first1= Panagiotis | title=Beyond rating prediction accuracy: on new perspectives in recommender systems|journal=Proceedings of the 7th ACM conference on Recommender systems |date=October 2013|url=http://dl.acm.org/citation.cfm?id=2508073| doi = 10.1145/2507157.2508073}}&lt;/ref&gt;<br /> <br /> ==Innovations==<br /> {{Prose|date=May 2012}}<br /> * New algorithms have been developed for CF as a result of the [[Netflix prize]].<br /> * Cross-System Collaborative Filtering where user profiles across multiple [[recommender systems]] are combined in a privacy preserving manner.<br /> * Robust Collaborative Filtering, where recommendation is stable towards efforts of manipulation. This research area is still active and not completely solved.&lt;ref&gt;{{cite web|url=http://dl.acm.org/citation.cfm?id=1297240 |title=Robust collaborative filtering |doi=10.1145/1297231.1297240 |publisher=Portal.acm.org |date=19 October 2007 |accessdate=2012-05-15}}&lt;/ref&gt;<br /> <br /> ==See also==<br /> * [[Attention Profiling Mark-up Language|Attention Profiling Mark-up Language (APML)]]<br /> * [[Cold start]]<br /> * [[Collaborative model]]<br /> * [[Collaborative search engine]]<br /> * [[Collective intelligence]]<br /> * [[Customer engagement]]<br /> * [[Delegative Democracy]], the same principle applied to voting rather than filtering<br /> * [[Enterprise bookmarking]]<br /> * [[Firefly (website)]], a defunct website which was based on collaborative filtering<br /> * [[Long tail]]<br /> * [[Preference elicitation]]<br /> * [[Recommendation system]]<br /> * [[Relevance (information retrieval)]]<br /> * [[Reputation system]]<br /> * [[Robust collaborative filtering]]<br /> * [[Similarity search]]<br /> * [[Slope One]]<br /> * [[Social translucence]]<br /> <br /> ==References==<br /> {{Reflist|30em}}<br /> <br /> ==External links==<br /> *[http://arxiv.org/abs/1603.04259 Item2Vec: Neural Item Embedding for Collaborative Filtering], Barkan, O; Koenigstein, N (14 March 2016) arXiv:1603.04259.<br /> *[http://www.grouplens.org/papers/pdf/rec-sys-overview.pdf ''Beyond Recommender Systems: Helping People Help Each Other''], page 12, 2001<br /> *[http://www.prem-melville.com/publications/recommender-systems-eml2010.pdf Recommender Systems.] Prem Melville and Vikas Sindhwani. In Encyclopedia of Machine Learning, Claude Sammut and Geoffrey Webb (Eds), Springer, 2010.<br /> *[http://arxiv.org/abs/1203.4487 Recommender Systems in industrial contexts - PHD thesis (2012) including a comprehensive overview of many collaborative recommender systems]<br /> *[http://web.archive.org/web/20080602151647/http://ieeexplore.ieee.org:80/xpls/abs_all.jsp?arnumber=1423975 Toward the next generation of recommender systems: a survey of the state-of-the-art and possible extensions]. Adomavicius, G. and Tuzhilin, A. IEEE Transactions on Knowledge and Data Engineering 06.2005<br /> *[https://web.archive.org/web/20060527214435/http://ectrl.itc.it/home/laboratory/meeting/download/p5-l_herlocker.pdf Evaluating collaborative filtering recommender systems] ([http://www.doi.org/ DOI]: [http://dx.doi.org/10.1145/963770.963772 10.1145/963770.963772])<br /> *[http://www.grouplens.org/publications.html GroupLens research papers].<br /> *[http://www.cs.utexas.edu/users/ml/papers/cbcf-aaai-02.pdf Content-Boosted Collaborative Filtering for Improved Recommendations.] Prem Melville, Raymond J. Mooney, and Ramadass Nagarajan. Proceedings of the Eighteenth National Conference on Artificial Intelligence (AAAI-2002), pp.&amp;nbsp;187–192, Edmonton, Canada, July 2002.<br /> *[http://agents.media.mit.edu/projects.html A collection of past and present &quot;information filtering&quot; projects (including collaborative filtering) at MIT Media Lab]<br /> *[http://www.ieor.berkeley.edu/~goldberg/pubs/eigentaste.pdf Eigentaste: A Constant Time Collaborative Filtering Algorithm. Ken Goldberg, Theresa Roeder, Dhruv Gupta, and Chris Perkins. Information Retrieval, 4(2), 133-151. July 2001.]<br /> *[http://downloads.hindawi.com/journals/aai/2009/421425.pdf A Survey of Collaborative Filtering Techniques] Su, Xiaoyuan and Khoshgortaar, Taghi. M<br /> *[http://dl.acm.org/citation.cfm?id=1242610 Google News Personalization: Scalable Online Collaborative Filtering] Abhinandan Das, Mayur Datar, Ashutosh Garg, and Shyam Rajaram. International World Wide Web Conference, Proceedings of the 16th international conference on World Wide Web<br /> *[http://web.archive.org/web/20101023032716/http://research.yahoo.com:80/pub/2435 Factor in the Neighbors: Scalable and Accurate Collaborative Filtering] Yehuda Koren, Transactions on Knowledge Discovery from Data (TKDD) (2009)<br /> *[http://webpages.uncc.edu/~asaric/ISMIS09.pdf Rating Prediction Using Collaborative Filtering]<br /> *[http://www.cis.upenn.edu/~ungar/CF/ Recommender Systems]<br /> *[http://www2.sims.berkeley.edu/resources/collab/ Berkeley Collaborative Filtering]<br /> <br /> {{Authority control}}<br /> <br /> {{DEFAULTSORT:Collaborative Filtering}}<br /> [[Category:Collaboration]]<br /> [[Category:Collaborative software]]<br /> [[Category:Collective intelligence]]<br /> [[Category:Information retrieval techniques]]<br /> [[Category:Recommender systems]]<br /> [[Category:Social information processing]]<br /> [[Category:Behavioral and social facets of systemic risk]]</div> Deepalgo https://en.wikipedia.org/w/index.php?title=Similarity_learning&diff=711006432 Similarity learning 2016-03-20T12:07:07Z <p>Deepalgo: </p> <hr /> <div>'''Similarity learning''' is an area of supervised [[machine learning]] in [[artificial intelligence]]. It is closely related to [[regression (machine learning)|regression]] and [[classification in machine learning|classification]], but the goal is to learn from examples a similarity function that measures how similar or related two objects are. It has applications in [[ranking]], in [[recommendation systems]] &lt;ref name=&quot;item2vec&quot;&gt;Barkan, O; Koenigstein, N (14 March 2016).[http://arxiv.org/abs/1603.04259 &quot;Item2Vec: Neural Item Embedding for Collaborative Filtering&quot;]. arXiv:1603.04259.&lt;/ref&gt; and face verification &lt;ref name=&quot;vmrs&quot;&gt; Barkan O, Weill J, Wolf L, Aronowitz H. [http://www.cv-foundation.org/openaccess/content_iccv_2013/papers/Barkan_Fast_High_Dimensional_2013_ICCV_paper.pdf &quot;Fast high dimensional vector multiplication face recognition&quot;]. In Proceedings of the IEEE International Conference on Computer Vision 2013 (pp. 1960-1967).&lt;/ref&gt;.<br /> <br /> == Learning setup ==<br /> <br /> There are four common setups for similarity and metric distance learning.<br /> <br /> * ''[[Regression (machine learning)|Regression]] similarity learning''. In this setup, pairs of objects are given &lt;math&gt; (x_i^1, x_i^2) &lt;/math&gt; together with a measure of their similarity &lt;math&gt; y_i \in R &lt;/math&gt;. The goal is to learn a function that approximates &lt;math&gt; f(x_i^1, x_i^2) \sim y_i &lt;/math&gt; for every new labeled triplet example &lt;math&gt;(x_i^1, x_i^2, y_i)&lt;/math&gt;. This is typically achieved by minimizing a regularized loss &lt;math&gt; min_W \sum_i loss(w;x_i^1, x_i^2,y_i) + reg(w)&lt;/math&gt;.<br /> * ''[[Classification in machine learning|Classification]] similarity learning''. Given are pairs of similar objects &lt;math&gt;(x_i, x_i^+) &lt;/math&gt; and non similar objects &lt;math&gt;(x_i, x_i^-)&lt;/math&gt;. An equivalent formulation is that every pair &lt;math&gt;(x_i^1, x_i^2)&lt;/math&gt; is given together with a binary label &lt;math&gt;y_i \in \{0,1\}&lt;/math&gt; that determines if the two objects are similar or not. The goal is again to learn a classifier that can decide if a new pair of objects is similar or not.<br /> * ''Ranking similarity learning''. Given are triplets of objects &lt;math&gt;(x_i, x_i^+, x_i^-)&lt;/math&gt; whose relative similarity obey a predefined order: &lt;math&gt;x_i&lt;/math&gt; is known to be more similar to &lt;math&gt;x_i^+&lt;/math&gt; than to &lt;math&gt;x_i^-&lt;/math&gt;. The goal is to learn a function &lt;math&gt;f&lt;/math&gt; such that for any new triplet of objects &lt;math&gt;(x, x^+, x^-)&lt;/math&gt;, it obeys &lt;math&gt;f(x, x^+) &gt; f(x, x^-)&lt;/math&gt;. This setup assumes a weaker form of supervision than in regression, because instead of providing an exact measure of similarity, one only has to provide the relative order of similarity. For this reason, ranking-based similarity learning is easier to apply in real large scale applications.&lt;ref&gt;{{cite journal| last1 = Chechik | first1 = G. | last2 = Sharma | first2 = V. | last3 = Shalit | first3 = U. | last4 = Bengio | first4 = S. | title=Large Scale Online Learning of Image Similarity Through Ranking|journal=Journal of Machine Learning research|year=2010|volume=11|pages=1109–1135|url=http://www.jmlr.org/papers/volume11/chechik10a/chechik10a.pdf}}&lt;/ref&gt;<br /> * [[Locality sensitive hashing]] - LSH &lt;ref&gt;Gionis, Aristides, Piotr Indyk, and Rajeev Motwani. &quot;Similarity search in high dimensions via hashing.&quot; VLDB. Vol. 99. No. 6. 1999.&lt;/ref&gt; [[Hash Function|hashes]] input items so that similar items map to the same “buckets” in memory with high probability (the number of buckets being much smaller than the universe of possible input items). It is often applied in nearest neighbor search on large scale high-dimensional data, e.g., image databases, document collections, time-series databases, and genome databases &lt;ref&gt;{{cite web<br /> | first1 = A.|last1=Rajaraman |first2= J.|last2=Ullman|author2-link=Jeffrey Ullman<br /> | url = http://infolab.stanford.edu/~ullman/mmds.html<br /> | title=Mining of Massive Datasets, Ch. 3.<br /> | year = 2010<br /> }}&lt;/ref&gt;<br /> <br /> A common approach for learning similarity, is to model the similarity function as a [[bilinear form]]. For example, in the case of ranking similarity learning, one aims to learn a matrix W that parametrizes the similarity function &lt;math&gt; f_W(x, z) = x^T W z &lt;/math&gt;.<br /> <br /> == Metric learning ==<br /> <br /> Similarity learning is closely related to ''distance metric learning''. Metric learning is the task of learning a distance function over objects. A [[Metric (mathematics)|metric]] or [[distance function]] has to obey four axioms: [[non-negative|non-negativity]], [[Identity of indiscernibles]], [[symmetry]] and [[subadditivity]] / triangle inequality. In practice, metric learning algorithms ignore the condition of identity of indiscernibles and learn a pseudo-metric.<br /> <br /> When the objects &lt;math&gt;x_i&lt;/math&gt; are vectors in &lt;math&gt;R^d&lt;/math&gt;, then any matrix &lt;math&gt;W&lt;/math&gt; in the symmetric positive semi-definite cone &lt;math&gt;S_+^d&lt;/math&gt; defines a distance pseudo-metric of the space of x through the form &lt;math&gt;D_W(x_1, x_2)^2 = (x_1-x_2)^{\top} W (x_1-x_2)&lt;/math&gt;. When &lt;math&gt;W&lt;/math&gt; is a symmetric positive definite matrix, &lt;math&gt;D_W&lt;/math&gt; is a metric. Moreover, as any symmetric positive semi-definite matrix &lt;math&gt;W \in S_+^d&lt;/math&gt; can be decomposed as &lt;math&gt;W = L^{\top}L&lt;/math&gt; where &lt;math&gt;L \in R^{e \times d}&lt;/math&gt; and &lt;math&gt;e \geq rank(W)&lt;/math&gt;, the distance function &lt;math&gt;D_W&lt;/math&gt; can be rewritten equivalently &lt;math&gt;D_W(x_1, x_2)^2 = (x_1-x_2)^{\top} L^{\top}L (x_1-x_2) = \| L (x_1-x_2) \|_2^2&lt;/math&gt;. The distance &lt;math&gt;D_W(x_1, x_2)^2=\| x_1' - x_2' \|_2^2&lt;/math&gt; corresponds to the Euclidean distance between the projected feature vectors &lt;math&gt;x_1'= Lx_1&lt;/math&gt; and &lt;math&gt;x_2'= Lx_2&lt;/math&gt;. <br /> Some well-known approaches for metric learning include [[Large margin nearest neighbor]] &lt;ref name=LMNN&gt;{{cite journal| last1 = Weinberger | first1 = K. Q. | last2 = Blitzer | first2 = J. C. | last3 = Saul | first3 = L. K. | title=Distance Metric Learning for Large Margin Nearest Neighbor Classification|journal=Advances in Neural Information Processing Systems |volume=18|year=2006|pages=1473–1480|url=http://books.nips.cc/papers/files/nips18/NIPS2005_0265.pdf}}&lt;/ref&gt; <br /> , Information theoretic metric learning (ITML).&lt;ref name=ITML&gt;{{cite journal | last1 = Davis | first1 = J. V. | last2 = Kulis | first2 = B. | last3 = Jain | first3 = P. | last4 = Sra | first4 = S. | last5 = Dhillon | first5 = I. S. | title=Information-theoretic metric learning | journal=International conference in machine learning (ICML) | year=2007 | pages=209–216 | url=http://www.cs.utexas.edu/users/pjain/itml/}}&lt;/ref&gt;<br /> <br /> In [[statistics]], the [[covariance]] matrix of the data is sometimes used to define a distance metric called [[Mahalanobis distance]].<br /> <br /> == Applications ==<br /> Similarity learning is used in information retrieval for learning to rank, in face verification or face identification,&lt;ref name=GUILLAUMIN&gt;{{cite journal| last1 = Guillaumin | first1 = M. | last2 = Verbeek | first2 = J. | last3 = Schmid | first3 = C. | title=Is that you? Metric learning approaches for face identification|url=http://hal.inria.fr/docs/00/58/50/36/PDF/verbeek09iccv2.pdf|journal=IEEE International Conference on Computer Vision (ICCV)|year=2009}}&lt;/ref&gt;&lt;ref name=MIGNON&gt;{{cite journal| last1 = Mignon | first1 = A. | last2 = Jurie | first2 = F. | title=PCCA: A new approach for distance learning from sparse pairwise constraints|journal=IEEE Conference on Computer Vision and Pattern Recognition (CVPR)|year=2012|url=http://hal.archives-ouvertes.fr/docs/00/80/60/07/PDF/12_cvpr_ldca.pdf}}&lt;/ref&gt; and in [[recommendation systems]]. Also, many machine learning approaches rely on some metric. This includes unsupervised learning such as [[clustering (machine learning)|clustering]], which groups together close or similar objects. It also includes supervised approaches like [[K-nearest neighbor algorithm]] which rely on labels of nearby objects to decide on the label of a new object. Metric learning has been proposed as a preprocessing step for many of these approaches <br /> .&lt;ref name=XING&gt;{{cite journal| last1 = Xing | first1 = E. P. | last2 = Ng | first2 = A. Y. | last3 = Jordan | first3 = M. I. | last4 = Russell | first4 = S. | title=Distance Metric Learning, with Application to Clustering with Side-information | journal=Advances in Neural Information Processing Systems |volume=15 | year=2002| pages = 505–512 | publisher = MIT Press}}&lt;/ref&gt;<br /> <br /> == Scalability ==<br /> <br /> Metric and similarity learning naively scale quadraticly with the dimension of the input space, as can easily see when the learned metric has a bilinear form &lt;math&gt; f_W(x, z) = x^T W z &lt;/math&gt;. Scaling to higher dimensions can be achieved by enforcing a sparseness structure over the matrix model, as done with HDSL,&lt;ref name=Liu&gt;{{Cite journal| last1=Liu | last2=Bellet | last3=Sha| title=Similarity Learning for High-Dimensional Sparse Data|year=2015|journal=International Conference on Artificial Intelligence and Statistics (AISTATS)|url=http://jmlr.org/proceedings/papers/v38/liu15.pdf}}&lt;/ref&gt; and with COMET <br /> .&lt;ref&gt;{{Cite journal | last1=Atzmon | last2=Shalit | last3=Chechik | title=Learning Sparse Metrics, One Feature at a Time | journal=J. Mach. Learn. Research (JMLR)|year=2015|url=http://jmlr.org/proceedings/papers/v44/atzmon2015.pdf}}&lt;/ref&gt;<br /> <br /> == Further reading ==<br /> For further information on this topic, see the surveys on metric and similarity learning by Bellet et al.&lt;ref name=survey&gt;{{cite arXiv | last1 = Bellet | first1 = A. | last2 = Habrard | first2 = A. | last3 = Sebban | first3 = M. |eprint=1306.6709 |class=cs.LG |title=A Survey on Metric Learning for Feature Vectors and Structured Data |year=2013}}&lt;/ref&gt; and Kulis.&lt;ref name=survey2&gt;{{cite journal| last = Kulis | first = B.| title=Metric Learning: A Survey | journal=Foundations and Trends in Machine Learning | year=2012 | url=http://web.cse.ohio-state.edu/~kulis/pubs/ftml_metric_learning.pdf}}&lt;/ref&gt;<br /> <br /> ==Also see==<br /> [[Latent semantic analysis]]<br /> <br /> == References ==<br /> {{reflist}}<br /> <br /> [[Category:Machine learning]]</div> Deepalgo https://en.wikipedia.org/w/index.php?title=Similarity_learning&diff=711006190 Similarity learning 2016-03-20T12:04:41Z <p>Deepalgo: </p> <hr /> <div>'''Similarity learning''' is an area of supervised [[machine learning]] in [[artificial intelligence]]. It is closely related to [[regression (machine learning)|regression]] and [[classification in machine learning|classification]], but the goal is to learn from examples a similarity function that measures how similar or related two objects are. It has applications in [[ranking]], in [[recommendation systems]] &lt;ref name=&quot;item2vec&quot;&gt;Barkan, O; Koenigstein, N (14 March 2016).[http://arxiv.org/abs/1603.04259 &quot;Item2Vec: Neural Item Embedding for Collaborative Filtering&quot;]. arXiv:1603.04259.&lt;/ref&gt; and face verification &lt;ref name=&quot;vmrs&quot;&gt; Barkan O, Weill J, Wolf L, Aronowitz H. Fast high dimensional vector multiplication face recognition. In Proceedings of the IEEE International Conference on Computer Vision 2013 (pp. 1960-1967).&lt;/ref&gt;.<br /> <br /> == Learning setup ==<br /> <br /> There are four common setups for similarity and metric distance learning.<br /> <br /> * ''[[Regression (machine learning)|Regression]] similarity learning''. In this setup, pairs of objects are given &lt;math&gt; (x_i^1, x_i^2) &lt;/math&gt; together with a measure of their similarity &lt;math&gt; y_i \in R &lt;/math&gt;. The goal is to learn a function that approximates &lt;math&gt; f(x_i^1, x_i^2) \sim y_i &lt;/math&gt; for every new labeled triplet example &lt;math&gt;(x_i^1, x_i^2, y_i)&lt;/math&gt;. This is typically achieved by minimizing a regularized loss &lt;math&gt; min_W \sum_i loss(w;x_i^1, x_i^2,y_i) + reg(w)&lt;/math&gt;.<br /> * ''[[Classification in machine learning|Classification]] similarity learning''. Given are pairs of similar objects &lt;math&gt;(x_i, x_i^+) &lt;/math&gt; and non similar objects &lt;math&gt;(x_i, x_i^-)&lt;/math&gt;. An equivalent formulation is that every pair &lt;math&gt;(x_i^1, x_i^2)&lt;/math&gt; is given together with a binary label &lt;math&gt;y_i \in \{0,1\}&lt;/math&gt; that determines if the two objects are similar or not. The goal is again to learn a classifier that can decide if a new pair of objects is similar or not.<br /> * ''Ranking similarity learning''. Given are triplets of objects &lt;math&gt;(x_i, x_i^+, x_i^-)&lt;/math&gt; whose relative similarity obey a predefined order: &lt;math&gt;x_i&lt;/math&gt; is known to be more similar to &lt;math&gt;x_i^+&lt;/math&gt; than to &lt;math&gt;x_i^-&lt;/math&gt;. The goal is to learn a function &lt;math&gt;f&lt;/math&gt; such that for any new triplet of objects &lt;math&gt;(x, x^+, x^-)&lt;/math&gt;, it obeys &lt;math&gt;f(x, x^+) &gt; f(x, x^-)&lt;/math&gt;. This setup assumes a weaker form of supervision than in regression, because instead of providing an exact measure of similarity, one only has to provide the relative order of similarity. For this reason, ranking-based similarity learning is easier to apply in real large scale applications.&lt;ref&gt;{{cite journal| last1 = Chechik | first1 = G. | last2 = Sharma | first2 = V. | last3 = Shalit | first3 = U. | last4 = Bengio | first4 = S. | title=Large Scale Online Learning of Image Similarity Through Ranking|journal=Journal of Machine Learning research|year=2010|volume=11|pages=1109–1135|url=http://www.jmlr.org/papers/volume11/chechik10a/chechik10a.pdf}}&lt;/ref&gt;<br /> * [[Locality sensitive hashing]] - LSH &lt;ref&gt;Gionis, Aristides, Piotr Indyk, and Rajeev Motwani. &quot;Similarity search in high dimensions via hashing.&quot; VLDB. Vol. 99. No. 6. 1999.&lt;/ref&gt; [[Hash Function|hashes]] input items so that similar items map to the same “buckets” in memory with high probability (the number of buckets being much smaller than the universe of possible input items). It is often applied in nearest neighbor search on large scale high-dimensional data, e.g., image databases, document collections, time-series databases, and genome databases &lt;ref&gt;{{cite web<br /> | first1 = A.|last1=Rajaraman |first2= J.|last2=Ullman|author2-link=Jeffrey Ullman<br /> | url = http://infolab.stanford.edu/~ullman/mmds.html<br /> | title=Mining of Massive Datasets, Ch. 3.<br /> | year = 2010<br /> }}&lt;/ref&gt;<br /> <br /> A common approach for learning similarity, is to model the similarity function as a [[bilinear form]]. For example, in the case of ranking similarity learning, one aims to learn a matrix W that parametrizes the similarity function &lt;math&gt; f_W(x, z) = x^T W z &lt;/math&gt;.<br /> <br /> == Metric learning ==<br /> <br /> Similarity learning is closely related to ''distance metric learning''. Metric learning is the task of learning a distance function over objects. A [[Metric (mathematics)|metric]] or [[distance function]] has to obey four axioms: [[non-negative|non-negativity]], [[Identity of indiscernibles]], [[symmetry]] and [[subadditivity]] / triangle inequality. In practice, metric learning algorithms ignore the condition of identity of indiscernibles and learn a pseudo-metric.<br /> <br /> When the objects &lt;math&gt;x_i&lt;/math&gt; are vectors in &lt;math&gt;R^d&lt;/math&gt;, then any matrix &lt;math&gt;W&lt;/math&gt; in the symmetric positive semi-definite cone &lt;math&gt;S_+^d&lt;/math&gt; defines a distance pseudo-metric of the space of x through the form &lt;math&gt;D_W(x_1, x_2)^2 = (x_1-x_2)^{\top} W (x_1-x_2)&lt;/math&gt;. When &lt;math&gt;W&lt;/math&gt; is a symmetric positive definite matrix, &lt;math&gt;D_W&lt;/math&gt; is a metric. Moreover, as any symmetric positive semi-definite matrix &lt;math&gt;W \in S_+^d&lt;/math&gt; can be decomposed as &lt;math&gt;W = L^{\top}L&lt;/math&gt; where &lt;math&gt;L \in R^{e \times d}&lt;/math&gt; and &lt;math&gt;e \geq rank(W)&lt;/math&gt;, the distance function &lt;math&gt;D_W&lt;/math&gt; can be rewritten equivalently &lt;math&gt;D_W(x_1, x_2)^2 = (x_1-x_2)^{\top} L^{\top}L (x_1-x_2) = \| L (x_1-x_2) \|_2^2&lt;/math&gt;. The distance &lt;math&gt;D_W(x_1, x_2)^2=\| x_1' - x_2' \|_2^2&lt;/math&gt; corresponds to the Euclidean distance between the projected feature vectors &lt;math&gt;x_1'= Lx_1&lt;/math&gt; and &lt;math&gt;x_2'= Lx_2&lt;/math&gt;. <br /> Some well-known approaches for metric learning include [[Large margin nearest neighbor]] &lt;ref name=LMNN&gt;{{cite journal| last1 = Weinberger | first1 = K. Q. | last2 = Blitzer | first2 = J. C. | last3 = Saul | first3 = L. K. | title=Distance Metric Learning for Large Margin Nearest Neighbor Classification|journal=Advances in Neural Information Processing Systems |volume=18|year=2006|pages=1473–1480|url=http://books.nips.cc/papers/files/nips18/NIPS2005_0265.pdf}}&lt;/ref&gt; <br /> , Information theoretic metric learning (ITML).&lt;ref name=ITML&gt;{{cite journal | last1 = Davis | first1 = J. V. | last2 = Kulis | first2 = B. | last3 = Jain | first3 = P. | last4 = Sra | first4 = S. | last5 = Dhillon | first5 = I. S. | title=Information-theoretic metric learning | journal=International conference in machine learning (ICML) | year=2007 | pages=209–216 | url=http://www.cs.utexas.edu/users/pjain/itml/}}&lt;/ref&gt;<br /> <br /> In [[statistics]], the [[covariance]] matrix of the data is sometimes used to define a distance metric called [[Mahalanobis distance]].<br /> <br /> == Applications ==<br /> Similarity learning is used in information retrieval for learning to rank, in face verification or face identification,&lt;ref name=GUILLAUMIN&gt;{{cite journal| last1 = Guillaumin | first1 = M. | last2 = Verbeek | first2 = J. | last3 = Schmid | first3 = C. | title=Is that you? Metric learning approaches for face identification|url=http://hal.inria.fr/docs/00/58/50/36/PDF/verbeek09iccv2.pdf|journal=IEEE International Conference on Computer Vision (ICCV)|year=2009}}&lt;/ref&gt;&lt;ref name=MIGNON&gt;{{cite journal| last1 = Mignon | first1 = A. | last2 = Jurie | first2 = F. | title=PCCA: A new approach for distance learning from sparse pairwise constraints|journal=IEEE Conference on Computer Vision and Pattern Recognition (CVPR)|year=2012|url=http://hal.archives-ouvertes.fr/docs/00/80/60/07/PDF/12_cvpr_ldca.pdf}}&lt;/ref&gt; and in [[recommendation systems]]. Also, many machine learning approaches rely on some metric. This includes unsupervised learning such as [[clustering (machine learning)|clustering]], which groups together close or similar objects. It also includes supervised approaches like [[K-nearest neighbor algorithm]] which rely on labels of nearby objects to decide on the label of a new object. Metric learning has been proposed as a preprocessing step for many of these approaches <br /> .&lt;ref name=XING&gt;{{cite journal| last1 = Xing | first1 = E. P. | last2 = Ng | first2 = A. Y. | last3 = Jordan | first3 = M. I. | last4 = Russell | first4 = S. | title=Distance Metric Learning, with Application to Clustering with Side-information | journal=Advances in Neural Information Processing Systems |volume=15 | year=2002| pages = 505–512 | publisher = MIT Press}}&lt;/ref&gt;<br /> <br /> == Scalability ==<br /> <br /> Metric and similarity learning naively scale quadraticly with the dimension of the input space, as can easily see when the learned metric has a bilinear form &lt;math&gt; f_W(x, z) = x^T W z &lt;/math&gt;. Scaling to higher dimensions can be achieved by enforcing a sparseness structure over the matrix model, as done with HDSL,&lt;ref name=Liu&gt;{{Cite journal| last1=Liu | last2=Bellet | last3=Sha| title=Similarity Learning for High-Dimensional Sparse Data|year=2015|journal=International Conference on Artificial Intelligence and Statistics (AISTATS)|url=http://jmlr.org/proceedings/papers/v38/liu15.pdf}}&lt;/ref&gt; and with COMET <br /> .&lt;ref&gt;{{Cite journal | last1=Atzmon | last2=Shalit | last3=Chechik | title=Learning Sparse Metrics, One Feature at a Time | journal=J. Mach. Learn. Research (JMLR)|year=2015|url=http://jmlr.org/proceedings/papers/v44/atzmon2015.pdf}}&lt;/ref&gt;<br /> <br /> == Further reading ==<br /> For further information on this topic, see the surveys on metric and similarity learning by Bellet et al.&lt;ref name=survey&gt;{{cite arXiv | last1 = Bellet | first1 = A. | last2 = Habrard | first2 = A. | last3 = Sebban | first3 = M. |eprint=1306.6709 |class=cs.LG |title=A Survey on Metric Learning for Feature Vectors and Structured Data |year=2013}}&lt;/ref&gt; and Kulis.&lt;ref name=survey2&gt;{{cite journal| last = Kulis | first = B.| title=Metric Learning: A Survey | journal=Foundations and Trends in Machine Learning | year=2012 | url=http://web.cse.ohio-state.edu/~kulis/pubs/ftml_metric_learning.pdf}}&lt;/ref&gt;<br /> <br /> ==Also see==<br /> [[Latent semantic analysis]]<br /> <br /> == References ==<br /> {{reflist}}<br /> <br /> [[Category:Machine learning]]</div> Deepalgo https://en.wikipedia.org/w/index.php?title=Collaborative_filtering&diff=710893644 Collaborative filtering 2016-03-19T18:00:29Z <p>Deepalgo: </p> <hr /> <div>{{external links|date=November 2013}}<br /> {{Use dmy dates|date=June 2013}}<br /> {{Recommender systems}}<br /> [[File:Collaborative filtering.gif|300px|thumb|<br /> <br /> This image shows an example of predicting of the user's rating using [[Collaborative software|collaborative]] filtering. At first, people rate different items (like videos, images, games). After that, the system is making [[prediction]]s about user's rating for an item, which the user hasn't rated yet. These predictions are built upon the existing ratings of other users, who have similar ratings with the active user. For instance, in our case the system has made a prediction, that the active user won't like the video.]]<br /> <br /> '''Collaborative filtering''' ('''CF''') is a technique used by some [[recommender system]]s.&lt;ref name=&quot;handbook&quot;&gt;Francesco Ricci and Lior Rokach and Bracha Shapira, [http://www.inf.unibz.it/~ricci/papers/intro-rec-sys-handbook.pdf Introduction to Recommender Systems Handbook], Recommender Systems Handbook, Springer, 2011, pp. 1-35&lt;/ref&gt; [[Collaborative software|Collaborative]] filtering has two senses, a narrow one and a more general one.&lt;ref name=recommender&gt;{{cite web|title=Beyond Recommender Systems: Helping People Help Each Other|url=http://www.grouplens.org/papers/pdf/rec-sys-overview.pdf|publisher=Addison-Wesley|accessdate=16 January 2012|page=6|year=2001|last1=Terveen|first1=Loren|last2=Hill|first2=Will|authorlink1=Loren Terveen}}&lt;/ref&gt; In general, collaborative filtering is the process of filtering for information or patterns using techniques involving collaboration among multiple agents, viewpoints, data sources, etc.&lt;ref name=&quot;recommender&quot; /&gt; Applications of collaborative filtering typically involve very large data sets. Collaborative filtering methods have been applied to many different kinds of data including: sensing and monitoring data, such as in mineral exploration, environmental sensing over large areas or multiple sensors; financial data, such as financial service institutions that integrate many financial sources; or in electronic commerce and web applications where the focus is on user data, etc. The remainder of this discussion focuses on collaborative filtering for user data, although some of the methods and approaches may apply to the other major applications as well.<br /> <br /> In the newer, narrower sense, collaborative filtering is a method of making automatic [[prediction]]s (filtering) about the interests of a user by collecting preferences or [[taste (sociology)|taste]] information from [[crowdsourcing|many users]] (collaborating). The underlying assumption of the collaborative filtering approach is that if a person ''A'' has the same opinion as a person ''B'' on an issue, A is more likely to have B's opinion on a different issue ''x'' than to have the opinion on x of a person chosen randomly. For example, a collaborative filtering recommendation system for [[television]] tastes could make predictions about which television show a user should like given a partial list of that user's tastes (likes or dislikes).&lt;ref&gt;[http://www.redbeemedia.com/insights/integrated-approach-tv-vod-recommendations An integrated approach to TV &amp; VOD Recommendations] {{wayback|url=http://www.redbeemedia.com/insights/integrated-approach-tv-vod-recommendations |date=20120606225352 |df=y }}&lt;/ref&gt; Note that these predictions are specific to the user, but use information gleaned from many users. This differs from the simpler approach of giving an [[average]] (non-specific) score for each item of interest, for example based on its number of [[vote]]s.<br /> <br /> ==Introduction==<br /> The [[internet growth|growth]] of the [[Internet]] has made it much more difficult to effectively [[information extraction|extract useful information]] from all the available [[online information]]. The overwhelming amount of data necessitates mechanisms for efficient [[information filtering]]. One of the techniques used for dealing with this problem is called collaborative filtering.<br /> <br /> The motivation for collaborative filtering comes from the idea that people often get the best recommendations from someone with [[similarity|similar]] tastes to themselves. Collaborative filtering explores techniques for matching people with similar interests and making [[recommendation]]s on this basis.<br /> <br /> Collaborative filtering algorithms often require (1) users’ active participation, (2) an easy way to represent users’ interests to the system, and (3) algorithms that are able to match people with similar interests.<br /> <br /> Typically, the workflow of a collaborative filtering system is:<br /> # A user expresses his or her preferences by rating items (e.g. books, movies or CDs) of the system. These ratings can be viewed as an approximate representation of the user's interest in the corresponding domain.<br /> # The system matches this user’s ratings against other users’ and finds the people with most &quot;similar&quot; tastes.<br /> # With similar users, the system recommends items that the similar users have rated highly but not yet being rated by this user (presumably the absence of rating is often considered as the unfamiliarity of an item)<br /> A key problem of collaborative filtering is how to combine and weight the preferences of user neighbors. Sometimes, users can immediately rate the recommended items. As a result, the system gains an increasingly accurate representation of user preferences over time.<br /> <br /> ==Methodology==<br /> <br /> [[File:Collaborative Filtering in Recommender Systems.jpg|thumb|Collaborative Filtering in Recommender Systems]]<br /> <br /> Collaborative filtering systems have many forms, but many common systems can be reduced to two steps:<br /> # Look for users who share the same rating patterns with the active user (the user whom the prediction is for).<br /> # Use the ratings from those like-minded users found in step 1 to calculate a prediction for the active user<br /> This falls under the category of user-based collaborative filtering. A specific application of this is the user-based [[K-nearest neighbor algorithm|Nearest Neighbor algorithm]].<br /> <br /> Alternatively, [[item-item collaborative filtering|item-based collaborative filtering]] (users who bought x also bought y), proceeds in an item-centric manner:<br /> # Build an item-item matrix determining relationships between pairs of items<br /> # Infer the tastes of the current user by examining the matrix and matching that user's data<br /> See, for example, the [[Slope One]] item-based collaborative filtering family.<br /> <br /> Another form of collaborative filtering can be based on implicit observations of normal user behavior (as opposed to the artificial behavior imposed by a rating task). These systems observe what a user has done together with what all users have done (what music they have listened to, what items they have bought) and use that data to predict the user's behavior in the future, or to predict how a user might like to behave given the chance. These predictions then have to be filtered through [[business logic]] to determine how they might affect the actions of a business system. For example, it is not useful to offer to sell somebody a particular album of music if they already have demonstrated that they own that music.<br /> <br /> Relying on a scoring or rating system which is averaged across all users ignores specific demands of a user, and is particularly poor in tasks where there is large variation in interest (as in the recommendation of music). However, there are other methods to combat information explosion, such as [[WWW|web]] search and [[data clustering]].<br /> <br /> ==Types==<br /> <br /> ===Memory-based===<br /> This approach uses user rating data to compute the similarity between users or items. This is used for making recommendations. This was an early approach used in many commercial systems. It's effective and easy to implement. Typical examples of this approach are neighbourhood-based CF and item-based/user-based top-N recommendations. For example, in user based approaches, the value of ratings user 'u' gives to item 'i' is calculated as an [[aggregation]] of some similar users' rating of the item:<br /> :&lt;math&gt;r_{u,i} = \operatorname{aggr}_{u^\prime \in U} r_{u^\prime, i}&lt;/math&gt;<br /> <br /> where 'U' denotes the set of top 'N' users that are most similar to user 'u' who rated item 'i'. Some examples of the aggregation function includes:<br /> :&lt;math&gt;r_{u,i} = \frac{1}{N}\sum\limits_{u^\prime \in U}r_{u^\prime, i}&lt;/math&gt;<br /> :&lt;math&gt;r_{u,i} = k\sum\limits_{u^\prime \in U}\operatorname{simil}(u,u^\prime)r_{u^\prime, i}&lt;/math&gt;<br /> :&lt;math&gt;r_{u,i} = \bar{r_u} + k\sum\limits_{u^\prime \in U}\operatorname{simil}(u,u^\prime)(r_{u^\prime, i}-\bar{r_{u^\prime}} )&lt;/math&gt;<br /> <br /> where k is a normalizing factor defined as &lt;math&gt;k =1/\sum_{u^\prime \in U}|\operatorname{simil}(u,u^\prime)| &lt;/math&gt;. and &lt;math&gt;\bar{r_u}&lt;/math&gt; is the average rating of user u for all the items rated by u.<br /> <br /> The neighborhood-based algorithm calculates the similarity between two users or items, produces a prediction for the user by taking the [[weighted average]] of all the ratings. Similarity computation between items or users is an important part of this approach. Multiple measures, such as [[Pearson product-moment correlation coefficient|Pearson correlation]] and [[Cosine similarity|vector cosine]] based similarity are used for this.<br /> <br /> The Pearson correlation similarity of two users x, y is defined as <br /> :&lt;math&gt; \operatorname{simil}(x,y) = \frac{\sum\limits_{i \in I_{xy}}(r_{x,i}-\bar{r_x})(r_{y,i}-\bar{r_y})}{\sqrt{\sum\limits_{i \in I_{xy}}(r_{x,i}-\bar{r_x})^2\sum\limits_{i \in I_{xy}}(r_{y,i}-\bar{r_y})^2}} &lt;/math&gt;<br /> <br /> where I&lt;sub&gt;xy&lt;/sub&gt; is the set of items rated by both user x and user y.<br /> <br /> The cosine-based approach defines the cosine-similarity between two users x and y as:&lt;ref name=&quot;Breese1999&quot;&gt;John S. Breese, David Heckerman, and Carl Kadie, [http://uai.sis.pitt.edu/displayArticleDetails.jsp?mmnu=1&amp;smnu=2&amp;article_id=231&amp;proceeding_id=14 Empirical Analysis of Predictive Algorithms for Collaborative Filtering], 1998 {{wayback|url=http://uai.sis.pitt.edu/displayArticleDetails.jsp?mmnu=1&amp;smnu=2&amp;article_id=231&amp;proceeding_id=14 |date=20131019134152 |df=y }}&lt;/ref&gt;<br /> :&lt;math&gt;\operatorname{simil}(x,y) = \cos(\vec x,\vec y) = \frac{\vec x \cdot \vec y}{||\vec x|| \times ||\vec y||} = \frac{\sum\limits_{i \in I_{xy}}r_{x,i}r_{y,i}}{\sqrt{\sum\limits_{i \in I_{x}}r_{x,i}^2}\sqrt{\sum\limits_{i \in I_{y}}r_{y,i}^2}}&lt;/math&gt;<br /> <br /> The user based top-N recommendation algorithm uses a similarity-based vector model to identify the k most similar users to an active user. After the k most similar users are found, their corresponding user-item matrices are aggregated to identify the set of items to be recommended. A popular method to find the similar users is the [[Locality-sensitive hashing]], which implements the [[Nearest neighbor search|nearest neighbor mechanism]] in linear time.<br /> <br /> The advantages with this approach include: the explainability of the results, which is an important aspect of recommendation systems; easy creation and use; easy facilitation of new data; content-independence of the items being recommended; good scaling with co-rated items.<br /> <br /> There are also several disadvantages with this approach. Its performance decreases when [[sparsity|data gets sparse]], which occurs frequently with web-related items. This hinders the [[scalability]] of this approach and creates problems with large datasets. Although it can efficiently handle new users because it relies on a [[data structure]], adding new items becomes more complicated since that representation usually relies on a specific [[vector space]]. Adding new items requires inclusion of the new item and the re-insertion of all the elements in the structure.<br /> <br /> ===Model-based===<br /> Models are developed using [[data mining]], [[machine learning]] algorithms to find patterns based on training data. These are used to make predictions for real data. There are many model-based CF algorithms. These include [[Bayesian networks]], neural embedding models &lt;ref name=&quot;item2vec&quot;&gt;Barkan, O; Koenigstein, N (14 March 2016). &quot;Item2Vec: Neural Item Embedding for Collaborative Filtering&quot;. arXiv:1603.04259.&lt;/ref&gt;, [[Cluster Analysis|clustering models]], [[Latent Semantic Indexing|latent semantic models]] such as [[singular value decomposition]], [[probabilistic latent semantic analysis]], multiple multiplicative factor, [[latent Dirichlet allocation]] and [[Markov decision process]] based models.&lt;ref name=&quot;Suetal2009&quot;&gt;Xiaoyuan Su, Taghi M. Khoshgoftaar, [http://www.hindawi.com/journals/aai/2009/421425/ A survey of collaborative filtering techniques], Advances in Artificial Intelligence archive, 2009.&lt;/ref&gt;<br /> <br /> This approach has a more holistic goal to uncover latent factors that explain observed ratings.&lt;ref&gt;[http://research.yahoo.com/pub/2435 Factor in the Neighbors: Scalable and Accurate Collaborative Filtering] {{wayback|url=http://research.yahoo.com/pub/2435 |date=20101023032716 |df=y }}&lt;/ref&gt; Most of the models are based on creating a classification or clustering technique to identify the user based on the training set. The number of the parameters can be reduced based on types of [[Principal Component Analysis|principal component analysis]].<br /> <br /> There are several advantages with this paradigm. It handles the sparsity better than memory based ones. This helps with scalability with large data sets. It improves the prediction performance. It gives an intuitive rationale for the recommendations.<br /> <br /> The disadvantages with this approach are in the expensive model building. One needs to have a tradeoff between prediction performance and scalability. One can lose useful information due to reduction models. A number of models have difficulty explaining the predictions.<br /> <br /> ===Hybrid===<br /> A number of applications combines the memory-based and the model-based CF algorithms. These overcome the limitations of native CF approaches. It improves the prediction performance. Importantly, it overcomes the CF problems such as sparsity and loss of information. However, they have increased complexity and are expensive to implement.&lt;ref&gt;{{cite journal | url = http://www.sciencedirect.com/science/article/pii/S0020025512002587 | doi=10.1016/j.ins.2012.04.012 | volume=208 | title=Kernel-Mapping Recommender system algorithms | journal=Information Sciences | pages=81–104}}<br /> &lt;/ref&gt; Usually most of the commercial recommender systems are hybrid, for example, Google news recommender system.&lt;ref&gt;{{cite web|url=http://dl.acm.org/citation.cfm?id=1242610|title=Google news personalization|publisher=}}&lt;/ref&gt;<br /> <br /> ==Application on social web==<br /> Unlike the traditional model of mainstream media, in which there are few editors who set guidelines, collaboratively filtered social media can have a very large number of editors, and content improves as the number of participants increases. Services like [[Reddit]], [[YouTube]], and [[Last.fm]] are typical example of collaborative filtering based media.&lt;ref&gt;[http://www.readwriteweb.com/archives/collaborative_filtering_social_web.php Collaborative Filtering: Lifeblood of The Social Web]&lt;/ref&gt;<br /> <br /> One scenario of collaborative filtering application is to recommend interesting or popular information as judged by the community. As a typical example, stories appear in the front page of [[Digg]] as they are &quot;voted up&quot; (rated positively) by the community. As the community becomes larger and more diverse, the promoted stories can better reflect the average interest of the community members.<br /> <br /> Another aspect of collaborative filtering systems is the ability to generate more personalized recommendations by analyzing information from the past activity of a specific user, or the history of other users deemed to be of similar taste to a given user. These resources are used as user profiling and helps the site recommend content on a user-by-user basis. The more a given user makes use of the system, the better the recommendations become, as the system gains data to improve its model of that user.<br /> <br /> ===Problems===<br /> A collaborative filtering system does not necessarily succeed in automatically matching content to one's preferences. Unless the platform achieves unusually good diversity and independence of opinions, one point of view will always dominate another in a particular community. As in the personalized recommendation scenario, the introduction of new users or new items can cause the [[cold start]] problem, as there will be insufficient data on these new entries for the collaborative filtering to work accurately. In order to make appropriate recommendations for a new user, the system must first learn the user's preferences by analysing past voting or rating activities. The collaborative filtering system requires a substantial number of users to rate a new item before that item can be recommended.<br /> <br /> ==Challenges of collaborative filtering==<br /> <br /> ===Data sparsity===<br /> In practice, many commercial recommender systems are based on large datasets. As a result, the user-item matrix used for collaborative filtering could be extremely large and sparse, which brings about the challenges in the performances of the recommendation.<br /> <br /> One typical problem caused by the data sparsity is the [[cold start]] problem. As collaborative filtering methods recommend items based on users’ past preferences, new users will need to rate sufficient number of items to enable the system to capture their preferences accurately and thus provides reliable recommendations.<br /> <br /> Similarly, new items also have the same problem. When new items are added to system, they need to be rated by substantial number of users before they could be recommended to users who have similar tastes with the ones rated them. The new item problem does not limit the [[Content-based filtering|content-based recommendation]], because the recommendation of an item is based on its discrete set of descriptive qualities rather than its ratings.<br /> <br /> ===Scalability===<br /> As the numbers of users and items grow, traditional CF algorithms will suffer serious scalability problems{{Citation needed|date=April 2013}}. For example, with tens of millions of customers &lt;math&gt;O(M)&lt;/math&gt; and millions of items &lt;math&gt;O(N)&lt;/math&gt;, a CF algorithm with the complexity of &lt;math&gt;n&lt;/math&gt; is already too large. As well, many systems need to react immediately to online requirements and make recommendations for all users regardless of their purchases and ratings history, which demands a higher scalability of a CF system. Large web companies such as Twitter use clusters of machines to scale recommendations for their millions of users, with most computations happening in very large memory machines.&lt;ref name=&quot;twitterwtf&quot;&gt;Pankaj Gupta, Ashish Goel, Jimmy Lin, Aneesh Sharma, Dong Wang, and Reza Bosagh Zadeh [http://dl.acm.org/citation.cfm?id=2488433 WTF: The who-to-follow system at Twitter], Proceedings of the 22nd international conference on World Wide Web&lt;/ref&gt;<br /> <br /> Recently, a method named [[arxiv:1603.04259|Item2Vec]] &lt;ref name=item2vec /&gt; was introduced for a scalable item-based Collaborative Filtering. Item2Vec produces embedding for items in a latent space and is capable of inferring item-to-item relations even when user information is not available.<br /> <br /> ===Synonyms===<br /> [[Synonyms]] refers to the tendency of a number of the same or very similar items to have different names or entries. Most recommender systems are unable to discover this latent association and thus treat these products differently.<br /> <br /> For example, the seemingly different items &quot;children movie&quot; and &quot;children film&quot; are actually referring to the same item. Indeed, the degree of variability in descriptive term usage is greater than commonly suspected.{{citation needed|date=September 2013}} The prevalence of synonyms decreases the recommendation performance of CF systems. Topic Modeling (like the [[Latent Dirichlet Allocation]] technique) could solve this by grouping different words belonging to the same topic.{{citation needed|date=September 2013}}<br /> <br /> ===Gray sheep===<br /> Gray sheep refers to the users whose opinions do not consistently agree or disagree with any group of people and thus do not benefit from collaborative filtering. [[Black sheep]] are the opposite group whose idiosyncratic tastes make recommendations nearly impossible. Although this is a failure of the recommender system, non-electronic recommenders also have great problems in these cases, so black sheep is an acceptable failure.<br /> <br /> ===Shilling attacks===<br /> In a recommendation system where everyone can give the ratings, people may give lots of positive ratings for their own items and negative ratings for their competitors. It is often necessary for the collaborative filtering systems to introduce precautions to discourage such kind of manipulations.<br /> <br /> ===Diversity and the Long Tail===<br /> Collaborative filters are expected to increase diversity because they help us discover new products. Some algorithms, however, may unintentionally do the opposite. Because collaborative filters recommend products based on past sales or ratings, they cannot usually recommend products with limited historical data. This can create a rich-get-richer effect for popular products, akin to [[positive feedback]]. This bias toward popularity can prevent what are otherwise better consumer-product matches. A [[Wharton School of the University of Pennsylvania|Wharton]] study details this phenomenon along with several ideas that may promote diversity and the &quot;[[long tail]].&quot;&lt;ref&gt;{{cite journal| last1= Fleder | first1= Daniel | first2= Kartik |last2= Hosanagar | title=Blockbuster Culture's Next Rise or Fall: The Impact of Recommender Systems on Sales Diversity|journal=Management Science |date=May 2009|url=http://papers.ssrn.com/sol3/papers.cfm?abstract_id=955984 | doi = 10.1287/mnsc.1080.0974 }}&lt;/ref&gt; Several collaborative filtering algorithms have been developed to promote diversity and the &quot;[[long tail]]&quot; by recommending novel, unexpected,&lt;ref&gt;{{cite journal| last1= Adamopoulos | first1= Panagiotis | first2= Alexander |last2= Tuzhilin | title=On Unexpectedness in Recommender Systems: Or How to Better Expect the Unexpected|journal=ACM Transactions on Intelligent Systems and Technology |date=January 2015|url=http://dl.acm.org/citation.cfm?id=2559952 | doi = 10.1145/2559952}}&lt;/ref&gt; and serendipitous items.&lt;ref&gt;{{cite journal| last1= Adamopoulos | first1= Panagiotis | title=Beyond rating prediction accuracy: on new perspectives in recommender systems|journal=Proceedings of the 7th ACM conference on Recommender systems |date=October 2013|url=http://dl.acm.org/citation.cfm?id=2508073| doi = 10.1145/2507157.2508073}}&lt;/ref&gt;<br /> <br /> ==Innovations==<br /> {{Prose|date=May 2012}}<br /> * New algorithms have been developed for CF as a result of the [[Netflix prize]].<br /> * Cross-System Collaborative Filtering where user profiles across multiple [[recommender systems]] are combined in a privacy preserving manner.<br /> * Robust Collaborative Filtering, where recommendation is stable towards efforts of manipulation. This research area is still active and not completely solved.&lt;ref&gt;{{cite web|url=http://dl.acm.org/citation.cfm?id=1297240 |title=Robust collaborative filtering |doi=10.1145/1297231.1297240 |publisher=Portal.acm.org |date=19 October 2007 |accessdate=2012-05-15}}&lt;/ref&gt;<br /> <br /> ==See also==<br /> * [[Attention Profiling Mark-up Language|Attention Profiling Mark-up Language (APML)]]<br /> * [[Cold start]]<br /> * [[Collaborative model]]<br /> * [[Collaborative search engine]]<br /> * [[Collective intelligence]]<br /> * [[Customer engagement]]<br /> * [[Delegative Democracy]], the same principle applied to voting rather than filtering<br /> * [[Enterprise bookmarking]]<br /> * [[Firefly (website)]], a defunct website which was based on collaborative filtering<br /> * [[Long tail]]<br /> * [[Preference elicitation]]<br /> * [[Recommendation system]]<br /> * [[Relevance (information retrieval)]]<br /> * [[Reputation system]]<br /> * [[Robust collaborative filtering]]<br /> * [[Similarity search]]<br /> * [[Slope One]]<br /> * [[Social translucence]]<br /> <br /> ==References==<br /> {{Reflist|30em}}<br /> <br /> ==External links==<br /> *[http://arxiv.org/abs/1603.04259 Item2Vec: Neural Item Embedding for Collaborative Filtering], Barkan, O; Koenigstein, N (14 March 2016) arXiv:1603.04259.<br /> *[http://www.grouplens.org/papers/pdf/rec-sys-overview.pdf ''Beyond Recommender Systems: Helping People Help Each Other''], page 12, 2001<br /> *[http://www.prem-melville.com/publications/recommender-systems-eml2010.pdf Recommender Systems.] Prem Melville and Vikas Sindhwani. In Encyclopedia of Machine Learning, Claude Sammut and Geoffrey Webb (Eds), Springer, 2010.<br /> *[http://arxiv.org/abs/1203.4487 Recommender Systems in industrial contexts - PHD thesis (2012) including a comprehensive overview of many collaborative recommender systems]<br /> *[http://web.archive.org/web/20080602151647/http://ieeexplore.ieee.org:80/xpls/abs_all.jsp?arnumber=1423975 Toward the next generation of recommender systems: a survey of the state-of-the-art and possible extensions]. Adomavicius, G. and Tuzhilin, A. IEEE Transactions on Knowledge and Data Engineering 06.2005<br /> *[https://web.archive.org/web/20060527214435/http://ectrl.itc.it/home/laboratory/meeting/download/p5-l_herlocker.pdf Evaluating collaborative filtering recommender systems] ([http://www.doi.org/ DOI]: [http://dx.doi.org/10.1145/963770.963772 10.1145/963770.963772])<br /> *[http://www.grouplens.org/publications.html GroupLens research papers].<br /> *[http://www.cs.utexas.edu/users/ml/papers/cbcf-aaai-02.pdf Content-Boosted Collaborative Filtering for Improved Recommendations.] Prem Melville, Raymond J. Mooney, and Ramadass Nagarajan. Proceedings of the Eighteenth National Conference on Artificial Intelligence (AAAI-2002), pp.&amp;nbsp;187–192, Edmonton, Canada, July 2002.<br /> *[http://agents.media.mit.edu/projects.html A collection of past and present &quot;information filtering&quot; projects (including collaborative filtering) at MIT Media Lab]<br /> *[http://www.ieor.berkeley.edu/~goldberg/pubs/eigentaste.pdf Eigentaste: A Constant Time Collaborative Filtering Algorithm. Ken Goldberg, Theresa Roeder, Dhruv Gupta, and Chris Perkins. Information Retrieval, 4(2), 133-151. July 2001.]<br /> *[http://downloads.hindawi.com/journals/aai/2009/421425.pdf A Survey of Collaborative Filtering Techniques] Su, Xiaoyuan and Khoshgortaar, Taghi. M<br /> *[http://dl.acm.org/citation.cfm?id=1242610 Google News Personalization: Scalable Online Collaborative Filtering] Abhinandan Das, Mayur Datar, Ashutosh Garg, and Shyam Rajaram. International World Wide Web Conference, Proceedings of the 16th international conference on World Wide Web<br /> *[http://web.archive.org/web/20101023032716/http://research.yahoo.com:80/pub/2435 Factor in the Neighbors: Scalable and Accurate Collaborative Filtering] Yehuda Koren, Transactions on Knowledge Discovery from Data (TKDD) (2009)<br /> *[http://webpages.uncc.edu/~asaric/ISMIS09.pdf Rating Prediction Using Collaborative Filtering]<br /> *[http://www.cis.upenn.edu/~ungar/CF/ Recommender Systems]<br /> *[http://www2.sims.berkeley.edu/resources/collab/ Berkeley Collaborative Filtering]<br /> <br /> {{Authority control}}<br /> <br /> {{DEFAULTSORT:Collaborative Filtering}}<br /> [[Category:Collaboration]]<br /> [[Category:Collaborative software]]<br /> [[Category:Collective intelligence]]<br /> [[Category:Information retrieval techniques]]<br /> [[Category:Recommender systems]]<br /> [[Category:Social information processing]]<br /> [[Category:Behavioral and social facets of systemic risk]]</div> Deepalgo https://en.wikipedia.org/w/index.php?title=Collaborative_filtering&diff=710695406 Collaborative filtering 2016-03-18T14:13:34Z <p>Deepalgo: Added a reference for a method for a scalable item-based CF</p> <hr /> <div>{{external links|date=November 2013}}<br /> {{Use dmy dates|date=June 2013}}<br /> {{Recommender systems}}<br /> [[File:Collaborative filtering.gif|300px|thumb|<br /> <br /> This image shows an example of predicting of the user's rating using [[Collaborative software|collaborative]] filtering. At first, people rate different items (like videos, images, games). After that, the system is making [[prediction]]s about user's rating for an item, which the user hasn't rated yet. These predictions are built upon the existing ratings of other users, who have similar ratings with the active user. For instance, in our case the system has made a prediction, that the active user won't like the video.]]<br /> <br /> '''Collaborative filtering''' ('''CF''') is a technique used by some [[recommender system]]s.&lt;ref name=&quot;handbook&quot;&gt;Francesco Ricci and Lior Rokach and Bracha Shapira, [http://www.inf.unibz.it/~ricci/papers/intro-rec-sys-handbook.pdf Introduction to Recommender Systems Handbook], Recommender Systems Handbook, Springer, 2011, pp. 1-35&lt;/ref&gt; [[Collaborative software|Collaborative]] filtering has two senses, a narrow one and a more general one.&lt;ref name=recommender&gt;{{cite web|title=Beyond Recommender Systems: Helping People Help Each Other|url=http://www.grouplens.org/papers/pdf/rec-sys-overview.pdf|publisher=Addison-Wesley|accessdate=16 January 2012|page=6|year=2001|last1=Terveen|first1=Loren|last2=Hill|first2=Will|authorlink1=Loren Terveen}}&lt;/ref&gt; In general, collaborative filtering is the process of filtering for information or patterns using techniques involving collaboration among multiple agents, viewpoints, data sources, etc.&lt;ref name=&quot;recommender&quot; /&gt; Applications of collaborative filtering typically involve very large data sets. Collaborative filtering methods have been applied to many different kinds of data including: sensing and monitoring data, such as in mineral exploration, environmental sensing over large areas or multiple sensors; financial data, such as financial service institutions that integrate many financial sources; or in electronic commerce and web applications where the focus is on user data, etc. The remainder of this discussion focuses on collaborative filtering for user data, although some of the methods and approaches may apply to the other major applications as well.<br /> <br /> In the newer, narrower sense, collaborative filtering is a method of making automatic [[prediction]]s (filtering) about the interests of a user by collecting preferences or [[taste (sociology)|taste]] information from [[crowdsourcing|many users]] (collaborating). The underlying assumption of the collaborative filtering approach is that if a person ''A'' has the same opinion as a person ''B'' on an issue, A is more likely to have B's opinion on a different issue ''x'' than to have the opinion on x of a person chosen randomly. For example, a collaborative filtering recommendation system for [[television]] tastes could make predictions about which television show a user should like given a partial list of that user's tastes (likes or dislikes).&lt;ref&gt;[http://www.redbeemedia.com/insights/integrated-approach-tv-vod-recommendations An integrated approach to TV &amp; VOD Recommendations] {{wayback|url=http://www.redbeemedia.com/insights/integrated-approach-tv-vod-recommendations |date=20120606225352 |df=y }}&lt;/ref&gt; Note that these predictions are specific to the user, but use information gleaned from many users. This differs from the simpler approach of giving an [[average]] (non-specific) score for each item of interest, for example based on its number of [[vote]]s.<br /> <br /> ==Introduction==<br /> The [[internet growth|growth]] of the [[Internet]] has made it much more difficult to effectively [[information extraction|extract useful information]] from all the available [[online information]]. The overwhelming amount of data necessitates mechanisms for efficient [[information filtering]]. One of the techniques used for dealing with this problem is called collaborative filtering.<br /> <br /> The motivation for collaborative filtering comes from the idea that people often get the best recommendations from someone with [[similarity|similar]] tastes to themselves. Collaborative filtering explores techniques for matching people with similar interests and making [[recommendation]]s on this basis.<br /> <br /> Collaborative filtering algorithms often require (1) users’ active participation, (2) an easy way to represent users’ interests to the system, and (3) algorithms that are able to match people with similar interests.<br /> <br /> Typically, the workflow of a collaborative filtering system is:<br /> # A user expresses his or her preferences by rating items (e.g. books, movies or CDs) of the system. These ratings can be viewed as an approximate representation of the user's interest in the corresponding domain.<br /> # The system matches this user’s ratings against other users’ and finds the people with most &quot;similar&quot; tastes.<br /> # With similar users, the system recommends items that the similar users have rated highly but not yet being rated by this user (presumably the absence of rating is often considered as the unfamiliarity of an item)<br /> A key problem of collaborative filtering is how to combine and weight the preferences of user neighbors. Sometimes, users can immediately rate the recommended items. As a result, the system gains an increasingly accurate representation of user preferences over time.<br /> <br /> ==Methodology==<br /> <br /> [[File:Collaborative Filtering in Recommender Systems.jpg|thumb|Collaborative Filtering in Recommender Systems]]<br /> <br /> Collaborative filtering systems have many forms, but many common systems can be reduced to two steps:<br /> # Look for users who share the same rating patterns with the active user (the user whom the prediction is for).<br /> # Use the ratings from those like-minded users found in step 1 to calculate a prediction for the active user<br /> This falls under the category of user-based collaborative filtering. A specific application of this is the user-based [[K-nearest neighbor algorithm|Nearest Neighbor algorithm]].<br /> <br /> Alternatively, [[item-item collaborative filtering|item-based collaborative filtering]] (users who bought x also bought y), proceeds in an item-centric manner:<br /> # Build an item-item matrix determining relationships between pairs of items<br /> # Infer the tastes of the current user by examining the matrix and matching that user's data<br /> See, for example, the [[Slope One]] item-based collaborative filtering family.<br /> <br /> Another form of collaborative filtering can be based on implicit observations of normal user behavior (as opposed to the artificial behavior imposed by a rating task). These systems observe what a user has done together with what all users have done (what music they have listened to, what items they have bought) and use that data to predict the user's behavior in the future, or to predict how a user might like to behave given the chance. These predictions then have to be filtered through [[business logic]] to determine how they might affect the actions of a business system. For example, it is not useful to offer to sell somebody a particular album of music if they already have demonstrated that they own that music.<br /> <br /> Relying on a scoring or rating system which is averaged across all users ignores specific demands of a user, and is particularly poor in tasks where there is large variation in interest (as in the recommendation of music). However, there are other methods to combat information explosion, such as [[WWW|web]] search and [[data clustering]].<br /> <br /> ==Types==<br /> <br /> ===Memory-based===<br /> This approach uses user rating data to compute the similarity between users or items. This is used for making recommendations. This was an early approach used in many commercial systems. It's effective and easy to implement. Typical examples of this approach are neighbourhood-based CF and item-based/user-based top-N recommendations. For example, in user based approaches, the value of ratings user 'u' gives to item 'i' is calculated as an [[aggregation]] of some similar users' rating of the item:<br /> :&lt;math&gt;r_{u,i} = \operatorname{aggr}_{u^\prime \in U} r_{u^\prime, i}&lt;/math&gt;<br /> <br /> where 'U' denotes the set of top 'N' users that are most similar to user 'u' who rated item 'i'. Some examples of the aggregation function includes:<br /> :&lt;math&gt;r_{u,i} = \frac{1}{N}\sum\limits_{u^\prime \in U}r_{u^\prime, i}&lt;/math&gt;<br /> :&lt;math&gt;r_{u,i} = k\sum\limits_{u^\prime \in U}\operatorname{simil}(u,u^\prime)r_{u^\prime, i}&lt;/math&gt;<br /> :&lt;math&gt;r_{u,i} = \bar{r_u} + k\sum\limits_{u^\prime \in U}\operatorname{simil}(u,u^\prime)(r_{u^\prime, i}-\bar{r_{u^\prime}} )&lt;/math&gt;<br /> <br /> where k is a normalizing factor defined as &lt;math&gt;k =1/\sum_{u^\prime \in U}|\operatorname{simil}(u,u^\prime)| &lt;/math&gt;. and &lt;math&gt;\bar{r_u}&lt;/math&gt; is the average rating of user u for all the items rated by u.<br /> <br /> The neighborhood-based algorithm calculates the similarity between two users or items, produces a prediction for the user by taking the [[weighted average]] of all the ratings. Similarity computation between items or users is an important part of this approach. Multiple measures, such as [[Pearson product-moment correlation coefficient|Pearson correlation]] and [[Cosine similarity|vector cosine]] based similarity are used for this.<br /> <br /> The Pearson correlation similarity of two users x, y is defined as <br /> :&lt;math&gt; \operatorname{simil}(x,y) = \frac{\sum\limits_{i \in I_{xy}}(r_{x,i}-\bar{r_x})(r_{y,i}-\bar{r_y})}{\sqrt{\sum\limits_{i \in I_{xy}}(r_{x,i}-\bar{r_x})^2\sum\limits_{i \in I_{xy}}(r_{y,i}-\bar{r_y})^2}} &lt;/math&gt;<br /> <br /> where I&lt;sub&gt;xy&lt;/sub&gt; is the set of items rated by both user x and user y.<br /> <br /> The cosine-based approach defines the cosine-similarity between two users x and y as:&lt;ref name=&quot;Breese1999&quot;&gt;John S. Breese, David Heckerman, and Carl Kadie, [http://uai.sis.pitt.edu/displayArticleDetails.jsp?mmnu=1&amp;smnu=2&amp;article_id=231&amp;proceeding_id=14 Empirical Analysis of Predictive Algorithms for Collaborative Filtering], 1998 {{wayback|url=http://uai.sis.pitt.edu/displayArticleDetails.jsp?mmnu=1&amp;smnu=2&amp;article_id=231&amp;proceeding_id=14 |date=20131019134152 |df=y }}&lt;/ref&gt;<br /> :&lt;math&gt;\operatorname{simil}(x,y) = \cos(\vec x,\vec y) = \frac{\vec x \cdot \vec y}{||\vec x|| \times ||\vec y||} = \frac{\sum\limits_{i \in I_{xy}}r_{x,i}r_{y,i}}{\sqrt{\sum\limits_{i \in I_{x}}r_{x,i}^2}\sqrt{\sum\limits_{i \in I_{y}}r_{y,i}^2}}&lt;/math&gt;<br /> <br /> The user based top-N recommendation algorithm uses a similarity-based vector model to identify the k most similar users to an active user. After the k most similar users are found, their corresponding user-item matrices are aggregated to identify the set of items to be recommended. A popular method to find the similar users is the [[Locality-sensitive hashing]], which implements the [[Nearest neighbor search|nearest neighbor mechanism]] in linear time.<br /> <br /> The advantages with this approach include: the explainability of the results, which is an important aspect of recommendation systems; easy creation and use; easy facilitation of new data; content-independence of the items being recommended; good scaling with co-rated items.<br /> <br /> There are also several disadvantages with this approach. Its performance decreases when [[sparsity|data gets sparse]], which occurs frequently with web-related items. This hinders the [[scalability]] of this approach and creates problems with large datasets. Although it can efficiently handle new users because it relies on a [[data structure]], adding new items becomes more complicated since that representation usually relies on a specific [[vector space]]. Adding new items requires inclusion of the new item and the re-insertion of all the elements in the structure.<br /> <br /> ===Model-based===<br /> Models are developed using [[data mining]], [[machine learning]] algorithms to find patterns based on training data. These are used to make predictions for real data. There are many model-based CF algorithms. These include [[Bayesian networks]], [[Cluster Analysis|clustering models]], [[Latent Semantic Indexing|latent semantic models]] such as [[singular value decomposition]], [[probabilistic latent semantic analysis]], multiple multiplicative factor, [[latent Dirichlet allocation]] and [[Markov decision process]] based models.&lt;ref name=&quot;Suetal2009&quot;&gt;Xiaoyuan Su, Taghi M. Khoshgoftaar, [http://www.hindawi.com/journals/aai/2009/421425/ A survey of collaborative filtering techniques], Advances in Artificial Intelligence archive, 2009.&lt;/ref&gt;<br /> <br /> This approach has a more holistic goal to uncover latent factors that explain observed ratings.&lt;ref&gt;[http://research.yahoo.com/pub/2435 Factor in the Neighbors: Scalable and Accurate Collaborative Filtering] {{wayback|url=http://research.yahoo.com/pub/2435 |date=20101023032716 |df=y }}&lt;/ref&gt; Most of the models are based on creating a classification or clustering technique to identify the user based on the training set. The number of the parameters can be reduced based on types of [[Principal Component Analysis|principal component analysis]].<br /> <br /> There are several advantages with this paradigm. It handles the sparsity better than memory based ones. This helps with scalability with large data sets. It improves the prediction performance. It gives an intuitive rationale for the recommendations.<br /> <br /> The disadvantages with this approach are in the expensive model building. One needs to have a tradeoff between prediction performance and scalability. One can lose useful information due to reduction models. A number of models have difficulty explaining the predictions.<br /> <br /> ===Hybrid===<br /> A number of applications combines the memory-based and the model-based CF algorithms. These overcome the limitations of native CF approaches. It improves the prediction performance. Importantly, it overcomes the CF problems such as sparsity and loss of information. However, they have increased complexity and are expensive to implement.&lt;ref&gt;{{cite journal | url = http://www.sciencedirect.com/science/article/pii/S0020025512002587 | doi=10.1016/j.ins.2012.04.012 | volume=208 | title=Kernel-Mapping Recommender system algorithms | journal=Information Sciences | pages=81–104}}<br /> &lt;/ref&gt; Usually most of the commercial recommender systems are hybrid, for example, Google news recommender system.&lt;ref&gt;{{cite web|url=http://dl.acm.org/citation.cfm?id=1242610|title=Google news personalization|publisher=}}&lt;/ref&gt;<br /> <br /> ==Application on social web==<br /> Unlike the traditional model of mainstream media, in which there are few editors who set guidelines, collaboratively filtered social media can have a very large number of editors, and content improves as the number of participants increases. Services like [[Reddit]], [[YouTube]], and [[Last.fm]] are typical example of collaborative filtering based media.&lt;ref&gt;[http://www.readwriteweb.com/archives/collaborative_filtering_social_web.php Collaborative Filtering: Lifeblood of The Social Web]&lt;/ref&gt;<br /> <br /> One scenario of collaborative filtering application is to recommend interesting or popular information as judged by the community. As a typical example, stories appear in the front page of [[Digg]] as they are &quot;voted up&quot; (rated positively) by the community. As the community becomes larger and more diverse, the promoted stories can better reflect the average interest of the community members.<br /> <br /> Another aspect of collaborative filtering systems is the ability to generate more personalized recommendations by analyzing information from the past activity of a specific user, or the history of other users deemed to be of similar taste to a given user. These resources are used as user profiling and helps the site recommend content on a user-by-user basis. The more a given user makes use of the system, the better the recommendations become, as the system gains data to improve its model of that user.<br /> <br /> ===Problems===<br /> A collaborative filtering system does not necessarily succeed in automatically matching content to one's preferences. Unless the platform achieves unusually good diversity and independence of opinions, one point of view will always dominate another in a particular community. As in the personalized recommendation scenario, the introduction of new users or new items can cause the [[cold start]] problem, as there will be insufficient data on these new entries for the collaborative filtering to work accurately. In order to make appropriate recommendations for a new user, the system must first learn the user's preferences by analysing past voting or rating activities. The collaborative filtering system requires a substantial number of users to rate a new item before that item can be recommended.<br /> <br /> ==Challenges of collaborative filtering==<br /> <br /> ===Data sparsity===<br /> In practice, many commercial recommender systems are based on large datasets. As a result, the user-item matrix used for collaborative filtering could be extremely large and sparse, which brings about the challenges in the performances of the recommendation.<br /> <br /> One typical problem caused by the data sparsity is the [[cold start]] problem. As collaborative filtering methods recommend items based on users’ past preferences, new users will need to rate sufficient number of items to enable the system to capture their preferences accurately and thus provides reliable recommendations.<br /> <br /> Similarly, new items also have the same problem. When new items are added to system, they need to be rated by substantial number of users before they could be recommended to users who have similar tastes with the ones rated them. The new item problem does not limit the [[Content-based filtering|content-based recommendation]], because the recommendation of an item is based on its discrete set of descriptive qualities rather than its ratings.<br /> <br /> ===Scalability===<br /> As the numbers of users and items grow, traditional CF algorithms will suffer serious scalability problems{{Citation needed|date=April 2013}}. For example, with tens of millions of customers &lt;math&gt;O(M)&lt;/math&gt; and millions of items &lt;math&gt;O(N)&lt;/math&gt;, a CF algorithm with the complexity of &lt;math&gt;n&lt;/math&gt; is already too large. As well, many systems need to react immediately to online requirements and make recommendations for all users regardless of their purchases and ratings history, which demands a higher scalability of a CF system. Large web companies such as Twitter use clusters of machines to scale recommendations for their millions of users, with most computations happening in very large memory machines.&lt;ref name=&quot;twitterwtf&quot;&gt;Pankaj Gupta, Ashish Goel, Jimmy Lin, Aneesh Sharma, Dong Wang, and Reza Bosagh Zadeh [http://dl.acm.org/citation.cfm?id=2488433 WTF: The who-to-follow system at Twitter], Proceedings of the 22nd international conference on World Wide Web&lt;/ref&gt;<br /> <br /> Recently, a method named [[arxiv:1603.04259|Item2Vec]] was introduced for a scalable item-based Collaborative Filtering. Item2Vec produces embedding for items in a latent space and is capable of inferring item-to-item relations even when user information is not available.<br /> <br /> ===Synonyms===<br /> [[Synonyms]] refers to the tendency of a number of the same or very similar items to have different names or entries. Most recommender systems are unable to discover this latent association and thus treat these products differently.<br /> <br /> For example, the seemingly different items &quot;children movie&quot; and &quot;children film&quot; are actually referring to the same item. Indeed, the degree of variability in descriptive term usage is greater than commonly suspected.{{citation needed|date=September 2013}} The prevalence of synonyms decreases the recommendation performance of CF systems. Topic Modeling (like the [[Latent Dirichlet Allocation]] technique) could solve this by grouping different words belonging to the same topic.{{citation needed|date=September 2013}}<br /> <br /> ===Gray sheep===<br /> Gray sheep refers to the users whose opinions do not consistently agree or disagree with any group of people and thus do not benefit from collaborative filtering. [[Black sheep]] are the opposite group whose idiosyncratic tastes make recommendations nearly impossible. Although this is a failure of the recommender system, non-electronic recommenders also have great problems in these cases, so black sheep is an acceptable failure.<br /> <br /> ===Shilling attacks===<br /> In a recommendation system where everyone can give the ratings, people may give lots of positive ratings for their own items and negative ratings for their competitors. It is often necessary for the collaborative filtering systems to introduce precautions to discourage such kind of manipulations.<br /> <br /> ===Diversity and the Long Tail===<br /> Collaborative filters are expected to increase diversity because they help us discover new products. Some algorithms, however, may unintentionally do the opposite. Because collaborative filters recommend products based on past sales or ratings, they cannot usually recommend products with limited historical data. This can create a rich-get-richer effect for popular products, akin to [[positive feedback]]. This bias toward popularity can prevent what are otherwise better consumer-product matches. A [[Wharton School of the University of Pennsylvania|Wharton]] study details this phenomenon along with several ideas that may promote diversity and the &quot;[[long tail]].&quot;&lt;ref&gt;{{cite journal| last1= Fleder | first1= Daniel | first2= Kartik |last2= Hosanagar | title=Blockbuster Culture's Next Rise or Fall: The Impact of Recommender Systems on Sales Diversity|journal=Management Science |date=May 2009|url=http://papers.ssrn.com/sol3/papers.cfm?abstract_id=955984 | doi = 10.1287/mnsc.1080.0974 }}&lt;/ref&gt; Several collaborative filtering algorithms have been developed to promote diversity and the &quot;[[long tail]]&quot; by recommending novel, unexpected,&lt;ref&gt;{{cite journal| last1= Adamopoulos | first1= Panagiotis | first2= Alexander |last2= Tuzhilin | title=On Unexpectedness in Recommender Systems: Or How to Better Expect the Unexpected|journal=ACM Transactions on Intelligent Systems and Technology |date=January 2015|url=http://dl.acm.org/citation.cfm?id=2559952 | doi = 10.1145/2559952}}&lt;/ref&gt; and serendipitous items.&lt;ref&gt;{{cite journal| last1= Adamopoulos | first1= Panagiotis | title=Beyond rating prediction accuracy: on new perspectives in recommender systems|journal=Proceedings of the 7th ACM conference on Recommender systems |date=October 2013|url=http://dl.acm.org/citation.cfm?id=2508073| doi = 10.1145/2507157.2508073}}&lt;/ref&gt;<br /> <br /> ==Innovations==<br /> {{Prose|date=May 2012}}<br /> * New algorithms have been developed for CF as a result of the [[Netflix prize]].<br /> * Cross-System Collaborative Filtering where user profiles across multiple [[recommender systems]] are combined in a privacy preserving manner.<br /> * Robust Collaborative Filtering, where recommendation is stable towards efforts of manipulation. This research area is still active and not completely solved.&lt;ref&gt;{{cite web|url=http://dl.acm.org/citation.cfm?id=1297240 |title=Robust collaborative filtering |doi=10.1145/1297231.1297240 |publisher=Portal.acm.org |date=19 October 2007 |accessdate=2012-05-15}}&lt;/ref&gt;<br /> <br /> ==See also==<br /> * [[Attention Profiling Mark-up Language|Attention Profiling Mark-up Language (APML)]]<br /> * [[Cold start]]<br /> * [[Collaborative model]]<br /> * [[Collaborative search engine]]<br /> * [[Collective intelligence]]<br /> * [[Customer engagement]]<br /> * [[Delegative Democracy]], the same principle applied to voting rather than filtering<br /> * [[Enterprise bookmarking]]<br /> * [[Firefly (website)]], a defunct website which was based on collaborative filtering<br /> * [[Long tail]]<br /> * [[Preference elicitation]]<br /> * [[Recommendation system]]<br /> * [[Relevance (information retrieval)]]<br /> * [[Reputation system]]<br /> * [[Robust collaborative filtering]]<br /> * [[Similarity search]]<br /> * [[Slope One]]<br /> * [[Social translucence]]<br /> <br /> ==References==<br /> {{Reflist|30em}}<br /> <br /> ==External links==<br /> *[http://www.grouplens.org/papers/pdf/rec-sys-overview.pdf ''Beyond Recommender Systems: Helping People Help Each Other''], page 12, 2001<br /> *[http://www.prem-melville.com/publications/recommender-systems-eml2010.pdf Recommender Systems.] Prem Melville and Vikas Sindhwani. In Encyclopedia of Machine Learning, Claude Sammut and Geoffrey Webb (Eds), Springer, 2010.<br /> *[http://arxiv.org/abs/1203.4487 Recommender Systems in industrial contexts - PHD thesis (2012) including a comprehensive overview of many collaborative recommender systems]<br /> *[http://web.archive.org/web/20080602151647/http://ieeexplore.ieee.org:80/xpls/abs_all.jsp?arnumber=1423975 Toward the next generation of recommender systems: a survey of the state-of-the-art and possible extensions]. Adomavicius, G. and Tuzhilin, A. IEEE Transactions on Knowledge and Data Engineering 06.2005<br /> *[https://web.archive.org/web/20060527214435/http://ectrl.itc.it/home/laboratory/meeting/download/p5-l_herlocker.pdf Evaluating collaborative filtering recommender systems] ([http://www.doi.org/ DOI]: [http://dx.doi.org/10.1145/963770.963772 10.1145/963770.963772])<br /> *[http://www.grouplens.org/publications.html GroupLens research papers].<br /> *[http://www.cs.utexas.edu/users/ml/papers/cbcf-aaai-02.pdf Content-Boosted Collaborative Filtering for Improved Recommendations.] Prem Melville, Raymond J. Mooney, and Ramadass Nagarajan. Proceedings of the Eighteenth National Conference on Artificial Intelligence (AAAI-2002), pp.&amp;nbsp;187–192, Edmonton, Canada, July 2002.<br /> *[http://agents.media.mit.edu/projects.html A collection of past and present &quot;information filtering&quot; projects (including collaborative filtering) at MIT Media Lab]<br /> *[http://www.ieor.berkeley.edu/~goldberg/pubs/eigentaste.pdf Eigentaste: A Constant Time Collaborative Filtering Algorithm. Ken Goldberg, Theresa Roeder, Dhruv Gupta, and Chris Perkins. Information Retrieval, 4(2), 133-151. July 2001.]<br /> *[http://downloads.hindawi.com/journals/aai/2009/421425.pdf A Survey of Collaborative Filtering Techniques] Su, Xiaoyuan and Khoshgortaar, Taghi. M<br /> *[http://dl.acm.org/citation.cfm?id=1242610 Google News Personalization: Scalable Online Collaborative Filtering] Abhinandan Das, Mayur Datar, Ashutosh Garg, and Shyam Rajaram. International World Wide Web Conference, Proceedings of the 16th international conference on World Wide Web<br /> *[http://web.archive.org/web/20101023032716/http://research.yahoo.com:80/pub/2435 Factor in the Neighbors: Scalable and Accurate Collaborative Filtering] Yehuda Koren, Transactions on Knowledge Discovery from Data (TKDD) (2009)<br /> *[http://webpages.uncc.edu/~asaric/ISMIS09.pdf Rating Prediction Using Collaborative Filtering]<br /> *[http://www.cis.upenn.edu/~ungar/CF/ Recommender Systems]<br /> *[http://www2.sims.berkeley.edu/resources/collab/ Berkeley Collaborative Filtering]<br /> <br /> {{Authority control}}<br /> <br /> {{DEFAULTSORT:Collaborative Filtering}}<br /> [[Category:Collaboration]]<br /> [[Category:Collaborative software]]<br /> [[Category:Collective intelligence]]<br /> [[Category:Information retrieval techniques]]<br /> [[Category:Recommender systems]]<br /> [[Category:Social information processing]]<br /> [[Category:Behavioral and social facets of systemic risk]]</div> Deepalgo https://en.wikipedia.org/w/index.php?title=Item-item_collaborative_filtering&diff=710693752 Item-item collaborative filtering 2016-03-18T13:58:08Z <p>Deepalgo: Added reference to a new method for item-item collaborative filtering</p> <hr /> <div>{{recommender systems}}<br /> '''Item-item collaborative filtering''', or '''item-based''', or '''item-to-item''', is a form of [[collaborative filtering]] based on the similarity between items calculated using people's ratings of those items. Item-item collaborative filtering was first published in 2001, and in 2003 the e-commerce website [[Amazon.com|Amazon]] stated this algorithm powered its recommender system.<br /> <br /> Earlier collaborative filtering systems based on [[Star (classification)|rating]] similarity between users (known as [[user-user collaborative filtering]]) had several problems:<br /> * systems performed poorly when they had many items but comparatively few ratings <br /> * computing similarities between all pairs of users was expensive<br /> * user profiles changed quickly and the entire system model had to be recomputed<br /> <br /> Item-item models resolve these problems in systems that have more users than items. Item-item models use rating distributions ''per item'', not ''per user''. With more users than items, each item tends to have more ratings than each user, so an item's average rating usually doesn't change quickly. This leads to more stable rating distributions in the model, so the model doesn't have to be rebuilt as often. When users consume and then rate an item, that item's similar items are picked from the existing system model and added to the user's recommendations.<br /> <br /> Recently, a method named [[arxiv:1603.04259|Item2Vec]] was proposed for a scalable item-item collaborative filtering. Item2Vec produces low dimensional representation for items, where the affinity between items can be measured by cosine similarity. The method is based on the Word2Vec method that was successfully applied to natural language processing applications.<br /> <br /> ==Method==<br /> First, the system executes a model-building stage by finding the similarity between all pairs of items. This [[Similarity measure|similarity function]] can take many forms, such as correlation between ratings or cosine of those rating vectors. As in user-user systems, similarity functions can use [[Normalization (statistics)|normalized]] ratings (correcting, for instance, for each user's average rating).<br /> <br /> Second, the system executes a [[recommender system|recommendation]] stage. It uses the most similar items to a user's already-rated items to generate a list of recommendations. Usually this calculation is a [[Weight function|weighted sum]] or [[linear regression]]. This form of recommendation is analogous to &quot;people who rate item X highly, like you, also tend to rate item Y highly, and you haven't rated item Y yet, so you should try it&quot;.<br /> <br /> ==Results==<br /> Item-item collaborative filtering had less error than user-user collaborative filtering. In addition, its less-dynamic model was computed less often and stored in a smaller matrix, so item-item system performance was better than user-user systems.<br /> <br /> ==See also==<br /> * [[Slope One]], a family of item-item collaborative filtering algorithms designed to reduce model [[overfitting]] problems<br /> <br /> ==Bibliography==<br /> * {{cite journal|url=http://dl.acm.org/citation.cfm?id=372071|title=Item-based collaborative filtering recommendation algorithms|journal=Proceedings of the 10th international conference on the World Wide Web|pages=285-295 |date=2001 |isbn=1-58113-348-0 |doi=10.1145/371920.372071|first1=Badrul |last1= Sarwar |first2= George |last2= Karypis |first3= Joseph |last3=Konstan|first4= John |last4=Riedl |authorlink4=John Riedl|publisher=[[Association for Computing Machinery|ACM]]}}<br /> * {{cite journal|url=http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=1167344|title=Amazon.com recommendations: item-to-item collaborative filtering|journal=IEEE Internet Computing|pages=76-80 |date=22 January 2003 |issn=1089-7801 |publisher=[[IEEE]] |volume=7 |issue=1 |doi=10.1109/MIC.2003.1167344|first1=G |last1= Linden |first2= B |last2= Smith |first3= J |last3=York}}<br /> * Barkan, O; Koenigstein, N (14 March 2016). [[arxiv:1603.04259|&quot;Item2Vec: Neural Item Embedding for Collaborative Filtering&quot;]]. arXiv:1603.04259.<br /> {{reflist}}<br /> <br /> [[Category:Recommender systems]]</div> Deepalgo