How Smirk will use Machine Learning
While the consumer facing side of Smirk may look like a recommendation system, behind the scenes we are a big data company. Our value will be in selling data to companies building wearable technology. Our goal is to use our product to collect data about where certain demographics of young people like to hang out. This will be valuable as wearable companies need social data in order to deliver location based information to their users. It will also be useful to advertisers as they will know the physical location of their potential customers. In the last 10 years we saw a focus on tracking online data, and we are anticipating that with the emergence of wearables we will see that focus shift to physical places and interactions. We hope to be at the forefront of that movement.
We are using machine learning algorithms to categorize our users so we can give them more personal recommendations. We are doing this by building social profiles. I am studying machine learning because I want to find out how to successfully build user profiles so Smirk can provide relevant and accurate recommendations.
The initial problem with using machine learning to provide restaurants is the technical issue of “cold start.” This means the computer can’t start sorting people without enough initial data. A possible solution to this is using Bayesian network algorithms. The journal article A Proactive Personalised Mobile Recommendation System Using Analytic Hierarchy Process and Bayesian Network states “… a Bayesian network algorithm is applied to solve the cold-start problem in recommendation systems.”
Traditionally there are two methods used to calculate user’s interests. One, the content based method (CBM). This is based on the user’s own history. Two, the collaborative filtering method (CFM). This is based on group history. Working on their own, both of these methods have major drawbacks. But used together with a Bayesian network, we can overcome the issue of cold start. A new user on the platform can be categorized based on their group profile data. This solves the data sparsity issue because a new user can receive relatively accurate recommendations right away. As the user begins to interact with the product, the system will start using CBM, making recommendations off of the user’s own history. This will provide “recommendations that are more suitable for that particular user.” Using a Bayesian Network has other benefits, such as providing real time predictions because Bayesian Networks require smaller amounts of memory and provide faster computation than other techniques.
The journal article “Adaptive Mobile News Personalization Using Social Networks” discusses how to improve recommendation systems. Through fieldwork their research team discovered that successful recommendation systems (1) repeatedly adapt to customers observed behaviour, (2) personalizing automatically using an algorithm is more successful than allowing the customer to self-customize, (3) using the customer’s social networks improves the system. An adaptive personalization system would have these three characteristics.
From this research I can conclude that the social profiles we need to build are made of two parts, the “global profile” and the “local profile”. The global profile will be built from all of the users publically available information, such as data we can collect from APIs. We are building archetypes, ie. representations of different stereotypes, we can use to cluster people into. To determine which archetypes a new user is built up of, we would utilize the user’s social data. This would be the CFM, ie. categorizing users based on groups. Their local social profile forms as we get to know our user on a deeper level. This would be built from their interactions with the platform. We will learn from the users history, thus this would be the CBM method. As the user continues to use the platform, we can adjust the percentages of each archetype the user is made up of. We would use a Bayesian network so that the personalization system continually changes to the users needs, making it an adaptive system.