Music Recommender Systems
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Music Recommender Systems

on

  • 4,469 views

Algorithm about recommender systems.

Algorithm about recommender systems.

Statistics

Views

Total Views
4,469
Views on SlideShare
3,947
Embed Views
522

Actions

Likes
8
Downloads
127
Comments
0

6 Embeds 522

http://gengrenjie.com 467
http://www.fuchaoqun.com 20
http://www.slideshare.net 13
http://www.lifeyun.com 11
http://twiki.xiaobin.net 9
http://strumbox.com 2

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Music Recommender Systems Presentation Transcript

  • 1. Music Recommender Systems
    超群.com
    fuchaoqun@gmail.com
    http://www.fuchaoqun.com
  • 2. Who is Using Recommender Systems?
  • 3. Recommender Systems
    • Summary:
    • 4. http://en.wikipedia.org/wiki/Recommender_system
    • 5. Keywords:
    recommender systems、 association rules 、collaborative filtering、slope one、 SVD、KNN....
  • 6. Algorithms
    • Association Rules
    • 7. Slope one
    • 8. SVD
    • 9. ….
  • Algorithms
    • Association Rules
    • 10. Slope one
    • 11. SVD
    • 12. ….
  • Association Rules
  • 13. Association Rules
    • Support:
    • 14. Confidence:
    • 15. Algorithms:Apriori algorithm、FP-growth algorithm
    • 16. http://en.wikipedia.org/wiki/Association_rule_learning
    • 17. Demo:Python + Orange
    http://www.fuchaoqun.com/2008/08/data-mining-with-python-orange-association_rule/
  • 18. Algorithms
    • Association Rules
    • 19. Slope one
    • 20. SVD
    • 21. ….
  • Slope One
  • 22. Slope One
    • By Daniel Lemire in 2005
    • 23. http://www.daniel-lemire.com/fr/abstracts/SDM2005.html
    • 24. Simper Could Be Better
    • 25. Weighted Average:
    • 26. http://en.wikipedia.org/wiki/Slope_One
    • 27. Implements: http://taste.sourceforge.net/ (Java)http://code.google.com/p/openslopeone (PHP&MySQL)
  • Algorithms
    • Association Rules
    • 28. Slope one
    • 29. SVD
    • 30. ….
  • Similarity
    Similarity:
  • 31. SVD
    Image copy from Here
  • 32. SVD In Image Compression
    Original
    K=10
    K=20
  • 33. Process SVD
    Define the original user-item matrix, R, of size m x n, which includes the ratings of m users on n items. rij refers to the rating of user ui on item ij .
    Preprocess user-item matrix R in order to eliminate all missing data values.
    Compute the SVD of R and obtain matrices U, S and V , of size m x m, m x n, and n x n, respectively. Their relationship is expressed by: R =U * S * VT .
    Perform the dimensionality reduction step by keeping only k diagonal entries from matrix S to obtain a k x k matrix, Sk. Similarly, matrices Uk and Vk of size m x k and k x n are generated. The "reduced" user-item matrix, R’, is obtained by R’ = Uk * Sk * VkT, while r'ij denotes the rating by user ui on item ij as included in this reduced matrix.
    Compute sqrt(Sk) and then calculate two matrix products: Uk * sqrt(Sk)T, which represents m users and sqrt(Sk) * VkT , which represents n items in the k dimen-sional feature space. We are particularly interested in the latter matrix, of size k x n.
    Use KNN on user matrix and item matrix, or you can multiply them to get user's rating on every item.
  • 34. Demo
    Which two people have the most similar tastes?
    Which two season are the most close?
    from Here
  • 35. Demo
  • 36. Demo
  • 37. SVD
    • SVD
    • 38. matlab
    • 39. LAPCKL、BLAS (Fortran)
    • 40. numpy、scipy (Python)
    • 41. SVDLIBC、Meschach (C)
    • 42. http://en.wikipedia.org/wiki/Singular_value_decomposition
    • 43. ……
    • 44. KNN:
    • 45. matlab
    • 46. FLANN
    • 47. ……
    • 48. All in one solution:
    • 49. DIVISI
    • 50. ……
  • MAGIC DIVISI!
    #!/usr/bin/env python
    #coding=utf-8
    import divisi
    from divisi.cnet import *
    data = divisi.SparseLabeledTensor(ndim = 2)
    # read some rating into data
    # data[user_id, song_id] = 4
    svd_result = data.svd(k = 128)
    # get songs that the user may like
    # predict_features(svd_result, user_id).top_items(100)
    # get similar songs
    # feature_similarity(svd_result, song_id).top_items(100)
    # get users that have similar tastes
    # concept_similarity(svd_result, user_id).top_items(100)
  • 51. Music Recommender Systems
    • Data collection
    • 52. Data Cleaning
    • 53. Data Preprocessing
    • 54. Data Mining
    • 55. Tracking & Optimization
  • Data collection
    • User rating
    • 56. User collection
    • 57. User listen log
    • 58. User view log
    • 59. ….
  • Data Cleaning
    • Missing data
    • 60. Wrong data
    • 61. Noise data
    • 62. Duplicate data
    • 63. ….
  • Data Preprocessing
  • 64. Data Mining
  • 65. Tracking & Optimization
    • Recommended result
    • 66. User view and click what he like
    • 67. Store user's click
    • 68. Data Mining
    • 69. Better recommendation
  • That's it, Thanks.
    Q&A