Recommender systems: how will machine learning decide what you will do this weekend?

Source: Deep Learning on Medium

About the idea

Here I will outline my first drafts for a recommendation system that will plan your weekend. The bottom line is that the recommendations use a lot of input that is available about the user. And the recommendations themselves are very extensive. But the user himself does practically nothing. The user is a passive element. The essence is shown in the figure.

The question is, how to do this? Obviously, you can advise what to do on the weekend to your best friend, whom you have known all your life, or to a person who has filled out a questionnaire of several hundred questions. But how will this be done by a machine that has only seen a man and knows nothing about him? Very simple.

How to do not need to
  • Analysis of social networks. Everything can be analyzed: name, age, gender, posts, music, comments, groups. This will provide a wealth of information. Especially if you use the crossing of certain characteristics, you can get a lot of different combinations of data. Therefore, this idea is easier to implement in a gigantic organization that has access to a large number of other services and social networks.
  • Analysis of external signs that are not dependent on the user. That is, the user will not even need to do anything. These are signs such as weather, geolocation, major news in the world, etc.
  • And just a few questions that will determine what a person wants. In particular, in the weekend planning application, you can ask the budget for the weekend, the type of vacation and with whom will it be?

Here is some example of what data the input algorithm will analyze, and what the output algorithm will offer. The input data will describe the person as much as possible, and the output data offers a wide range of entertainment, as well as how to achieve them.

The idea of ​​neural networks is to set the correct weights, which will determine how much this or that external attribute affects the labels that the user receives at the output. Of course, you need to build the right neural network, using additional layers such as batch normalization, ReLU, etc. But this is the task of machine learning engineers. And at the planning stage, you need to specify the weights of all external signs for each day off. The figure shows an example of how external features affect a label such as events. Obviously, geolocation and budget directly determine which event a person should visit. Other signs, such as the weather, are lightweight (meaning that the event occurs under the roof and the rain will not interfere).

Example of the effect of weights on a label

The first stage of machine learning, the most important one, is a kind of classification of a person. To do this, you just need to know the age, gender and country of the person. It is clear that the interests of a little boy will be very different from the interests of an adult woman. At further stages, more complex methods of machine and deep learning will be used, such as computer vision, natural language processing, reinforcement learning, etc. These stages will already make decisions, what kind of food a person likes best, what kind of music, what kind of basketball team he is rooting for, etc.