Recommender Systems in Modern Software: An Overview by Nick R. Katsipoulakis

recommender systems in modern software n.w
1 / 21
Embed
Share

Dive into the world of recommender systems with Nick R. Katsipoulakis as he explores the main goal of predicting user preferences, different types of systems like collaborative filtering and content-based filtering, and algorithms for user-based and item-based approaches. Learn how these systems work and their importance for user satisfaction and vendor profit.

  • Recommender Systems
  • Nick R. Katsipoulakis
  • Modern Software
  • Collaborative Filtering
  • Content-based Filtering

Uploaded on | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.

E N D

Presentation Transcript


  1. Recommender Systems in modern software Nick R. Katsipoulakis

  2. Introduction Main goal: Predict user preferences. Important for: User satisfaction Merchant/Vendor profit Nick R. Katsipoulakis 2

  3. A Recommendation Example 1 2 Bob 3 Merchant 1 3 2 Alice Nick R. Katsipoulakis 3

  4. Different kinds of Recommender Systems Two main types: Collaborative Filtering Content-based Filtering Hybrid Systems Nick R. Katsipoulakis 4

  5. Collaborative Filtering Main idea: People who agree in the past, will most likely agree in the future Advantages over content-based filtering: Content-free Generic Recommendation based on similarity among users items Nick R. Katsipoulakis 5

  6. C.F. Recommender Data Model (user_id, item_id, preference, timestamp): int user_id int item_id float preference long timestamp Nick R. Katsipoulakis 6

  7. C.F. Recommender approaches User-based: based on similarities among users Item-based: based on similarities among items Nick R. Katsipoulakis 7

  8. User-Based C.F. example Decide how similar Bob and Alice are and come up with a weight wi 1 2 Bob Alice s preference for item 3 is estimated as wi*prefb3 3 prefb3 1 3 Alice does not have a preference for item 3 2 Alice Nick R. Katsipoulakis 8

  9. User based C.F. algorithm float running_avg[I]; /* I is the total number o items */ int top_items[K]; /* the top-K items */ for every item i that u has no preference for yet { running_avg[i] = 0.0; for every other user v that has a preference pref_i for i { similarity = ComputeSimilarity(u, v); running_avg[i] += similarity * pref_i; } } top_items = TopK(running_avg, K); return top_items; Nick R. Katsipoulakis 9

  10. Item Based C.F. example Estimated preference is affected by si,j*prefj 1 1 2 Bob 4 Mary 3 For each item j with no preference, calculate similarity (si,j) with item i that Alice has preference for 3 1 4 Alice 2 Nick R. Katsipoulakis 10

  11. Item based C.F. algorithm float running_avg[i]; int top_items[K]; for every item i that u has no preference for yet { running_avg[i] = 0.0; for every item j that u has a preference pref_u for { compute a similarity s between i and j similarity = ComputeSimilarity(i,j); running_avg[i] += similarity * pref_u; } } top_items = TopK(running_avg, K); return top_items Nick R. Katsipoulakis 11

  12. Comparison between user and item based User-based Item-based Scales with users Scales with items On-line computation is not efficient On-line computation efficient Users' behavior can change overtime Similarities of items tend to converge Better candidate for pre-computation Nick R. Katsipoulakis 12

  13. Problems of C.F. Approach Cold Start A considerable amount of information is needed Scalability A large amount of computation is necessary Sparse Data Users tend to neglect giving feedback Nick R. Katsipoulakis 13

  14. Can we make C.F. more effective? Combine related items preferences Slope-One Recommender Basic Assumption: A linear relationship exists between preference values of similar items Nick R. Katsipoulakis 14

  15. Slope-One visual example 1 1 lin(1, 2) lin(1, 3) lin(1, 4) 2 Bob 4 Mary 3 Calculate linear relationships lin(i, j) between items i and j. prefi*lin(i, 3) For item 3 Alice s preference is estimated as 3 1 lin(1, 2) 4 Alice 2 Nick R. Katsipoulakis 15

  16. Slope-One Algorithm - (1) Preprocessing phase: float item_avgs[I]; for every item i { item_avgs[i] = 0.0; for every other item j { for every user u with pref_i and pref_j { item_avgs[i] += abs(pref_i - pref_j); } } } Nick R. Katsipoulakis 16

  17. Slope-One Algorithm - (2) float running_avg[I]; for every item i the user u has no pref_i { running_avg[i] = 0.0; for every item j that user u has a pref_j { a = avg_diff(j, i) /* preprocessing step */ b = pref_j + a add b to a running_avg[i]; } } return the items with the highest running_avg value Nick R. Katsipoulakis 17

  18. Slope-One Advantages On-line portion of the algorithm is fast Does not depend on users Incremental computation Nick R. Katsipoulakis 18

  19. Implementation details Data Model (user_id, item_id, preference, timestamp) Similarity Metric Euclidean Distance Pearson Correlation Tanimoto Coefficient Recommender User-based Item-based Slope-One Nick R. Katsipoulakis 19

  20. An Open-source framework Apache Mahout open-source Popular among academia and enterprise Compatible with most Big- Data frameworks Not mature enough yet Nick R. Katsipoulakis 20

  21. Thank you

Related


More Related Content