Recommender Systems - Problem formulation

Let's talk about recommender systems.

Motivations to talk about recommender systems

  1. It's an important application of machine learning
    Many groups in Silicon Valley now is trying to build better recommender systems. There are many websites or systems in Amazon, Netflix, eBay, iTunes Genius try to recommend new products to use. Amazon tries to recommend books to you. Netflix tries to recommend movies to you and so on. These systems are responsible for a substantial fraction of the revenue of these companies. So the improvement in performance of a recommender system can have a substantial and immediate impact on the bottom line of many of these companies.
  2. Share with you some big ideas in machine learning
    Features are important for machine learning and features you choose will have a big effect on the performance of your learning algorithm. So there's this big idea in machine learning, which is that for some problems, there are algorithms that can try to automatically learn a good set of features for you. Recommender system is one example of that sort of settings where you might be able to have an algorithm just to learn what features to use.

Recommender system problem formulation

Let's use the problem of predicting movie ratings. Suppose you're a website or company that sells or rents out movies. And you let your users rate your movies using a 1 to 5 star rating. In order to make this example just a little bit nicer, I'm going to allow 0 to 5 stars as well because that just makes the math come out nicer. Suppose we have 5 movies and 4 users. And above table shows the ratings. The "?" means the user didn't see the movie thus no rating available. To introduce a bit of notation:

n_{u}=4 no. users

n_{m}=5 no. movies. I have loosely 3 maybe romantic comedy movies, and 2 action movies. From the table, seems that Alice and Bob are giving high ratings to these romantic comedies and giving very low ratings about the action movies. For Carol and Dave, it's the opposite. They really like action movies and gave them high ratings, but don't like romance and love-type movies.

r(i,j)=1 if user j has rated movie i.

y(i,j)=0..5 rating given by user j to movie i (defined only if r(i,j)=1)

So, the recommender system problem is: given these r(i,j) and y(i,j), try to come up with a learning algorithm that can automatically fill in these values of the questions marks. With this, we can look at the movies that the users has not yet watched, and recommend new movies to that user to watch.

In this particular example, seems Alice and Bob both like the romantic movies, maybe we can predict that Alice could rate "Cute puppies of love" to 5. Maybe Bob would give "Romance forever" 4.5. Whereas Carol and Dave could give these two movies 0. And Dave, really like action movies, and could rate "Swords vs. Karate" 4 or maybe 5 rating. Based on this, we can recommend the users new movies to watch.

In the next class, we'll develop a learning algorithm to address this problem.

<end>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值