I am new to deep learning and its concepts. After reading a while I understood that unsupervised deep learning techniques usually try to reconstruct the input data(probably with less number of dimensions using encoder-decoder) and train the network by optimizing reconstruction error. But I am unable to image how these could be used for solving real life tasks(other than anomaly detection, for example clustering).

Note: You can correct me, if my understanding about the unsupervised deep learning techniques is wrong.

  • 2
    $\begingroup$ They are used for dimensionality reduction as well $\endgroup$ – Shubham Panchal Feb 1 at 0:48

Recommendation Systems

In recommendation systems the idea of extracting signal and using to make recommendations is very common, e.g, Alternating Least Squares and Singular Value Decomposition approaches.

Autoencoder fits quite well, reducing dimensionality (the encoder part) should help extract signal. The weights in the network represent the behavior of all the users that we trained on, but we don't want to capture all of it, we want to capture just the most import parts. Size of output of encoder (or bottleneck) controls the amount of dimensionality reduction.

Using it is quite simple:

1) You train the encoder-decoder model on, say, user movie ratings, where user ratings are input and output.

2) To generate recommendations for a user, just pass through user's current ratings through encoder-decoder, and you have the scores that can be used to make recommendations.

| improve this answer | |
  • $\begingroup$ Do you mean that it can be used to filter the recommendations among many recommendations for certain users by using this approach? $\endgroup$ – Sushodhan Feb 3 at 4:01
  • $\begingroup$ @Sushodhan, I am not sure that I understand your question, but rereading my answer, I realized that I was referring to ratings that user gives as "recommendations", which I am sure made it confusing. I have fixed that. Now "recommendations" only refers to the scores outputted by the model. Does that answer your question? $\endgroup$ – Akavall Feb 3 at 5:52
  • $\begingroup$ Correct me if I am wrong. So we will train the model by optimizing on user ratings. Then the new objects would be used to predict the ratings with the trained model, and the objects with higher ratings will be recommended to the user. Is my understanding correct? $\endgroup$ – Sushodhan Feb 3 at 7:11
  • 1
    $\begingroup$ @Yes, this is right. Also, depending on your business logic, you probably don't want to recommend items that a user has already rated, so you can only consider rating predictions for items that the user hasn't ranked, but this is details. $\endgroup$ – Akavall Feb 3 at 8:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.