<p>An alternative approach is to use something like generative backpropagation. In this scenario, you train a neural network updating the weights AND the input values. The given values are used as the output values since you can compute an error value directly. This approach has been used in dimensionality reduction, matrix completion (missing value imputation) among other applications. For more information, see <a href="http://bioinformatics.oxfordjournals.org/cgi/reprint/21/20/3887" rel="nofollow">non-linear principal component analysis (NLPCA)</a> and <a href="http://arxiv.org/abs/1312.5394" rel="nofollow">unsupervised backpropagation (UBP)</a> which uses the idea of generative backpropagation. UBP extends NLPCA by introducing a pre-training stage. An implementation of UBP and NLPCA and unsupervised backpropagation can be found in the waffles machine learning toolkit. The documentation for UBP and NLPCA can be found using the nlpca command.</p>
Machine Learning: Unsupervised Backpropagation
<p>I'm having trouble with some of the concepts in machine learning through neural networks. One of them is <a href="http://en.wikipedia.org/wiki/Delta_Rule" rel="noreferrer">backpropagation</a>. In the weight updating equation, </p>

<pre><code>delta_w = a*(t - y)*g'(h)*x
</code></pre>

<p><code>t</code> is the "target output", which would be your class label, or something, in the case of supervised learning. But what would the "target output" be for unsupervised learning?</p>

<p>Can someone kindly provide an example of how you'd use BP in unsupervised learning, specifically for clustering of classification?</p>

<p>Thanks in advance.</p>