How do I get latent features for a new row of data when doing non-negative matrix factorization? Background: The basic set-up for non-negative matrix factorization (nmf), is that we take a matrix with non-negative elements, X and find two other non-negative matrices H and T such that


  $||X - HT||$ is a minimum


$X$ in this example is a matrix that represents a data set. Rows correspond to samples of data, and columns correspond to features. I understand that nmf is used for feature reduction. My understanding is that you can use the latent features to train a model on. 

However, suppose that I use nmf for feature reduction and then get a new row of data and want to find the reduced features for the new data. Do I have to run nmf again with an updated dataset and then retrain my model each time?
Given a dataset represented by a data matrix $X$, we can solve $||X-HT||$ using gradient descent, setting coefficients equal to zero if they become negative. This gives us an $H$. If we get a new row of data $x_{new}$, then we can find the corresponding reduced features $w_{new}$(weights for the latent features) by solving the equation: 

$argmin_{w_{new}} = ||x_{new}-w_{new}T||$.