Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Personalised Recommendations
Search
Edward Tsech
August 09, 2014
Programming
1
65
Personalised Recommendations
Edward Tsech
August 09, 2014
Tweet
Share
More Decks by Edward Tsech
See All by Edward Tsech
Clojure, Web and Luminus
edtsech
1
220
Other Decks in Programming
See All in Programming
CI_CD「健康診断」のススメ。現場でのボトルネック特定から、健康診断を通じた組織的な改善手法
teamlab
PRO
0
200
Building, Deploying, and Monitoring Ruby Web Applications with Falcon (Kaigi on Rails 2025)
ioquatix
3
1.4k
ネイティブ製ガントチャートUIを作って学ぶUICollectionViewLayoutの威力
jrsaruo
0
140
デミカツ切り抜きで面倒くさいことはPythonにやらせよう
aokswork3
0
210
Introducing ReActionView: A new ActionView-Compatible ERB Engine @ Kaigi on Rails 2025, Tokyo, Japan
marcoroth
3
960
バッチ処理を「状態の記録」から「事実の記録」へ
panda728
PRO
0
130
monorepo の Go テストをはやくした〜い!~最小の依存解決への道のり~ / faster-testing-of-monorepos
convto
2
450
Model Pollution
hschwentner
1
190
NetworkXとGNNで学ぶグラフデータ分析入門〜複雑な関係性を解き明かすPythonの力〜
mhrtech
3
1.2k
あなたの知らない「動画広告」の世界 - iOSDC Japan 2025
ukitaka
0
450
(Extension DC 2025) Actor境界を越える技術
teamhimeh
1
240
Advance Your Career with Open Source
ivargrimstad
0
420
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
79
6k
How to Ace a Technical Interview
jacobian
280
24k
Building Better People: How to give real-time feedback that sticks.
wjessup
368
20k
Balancing Empowerment & Direction
lara
4
680
Site-Speed That Sticks
csswizardry
11
890
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Rails Girls Zürich Keynote
gr2m
95
14k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.5k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
54
3k
Code Review Best Practice
trishagee
72
19k
Unsuck your backbone
ammeep
671
58k
Visualization
eitanlees
148
16k
Transcript
Personalised Recommendations Saturday 9 August 14
About me • Ed Tsech • Clojure, JavaScript developer •
@edtsech on twitter, github Saturday 9 August 14
Content • Collaborative filtering • User based • Item based
• Content based / knowledge based recommendations • Mahout • Movie Recommender Example Saturday 9 August 14
Collaborative Filtering • “Collaborative filtering is a method of making
automatic predictions (filtering) about the interests of a user by collecting preferences or taste information from many users (collaborating).” Saturday 9 August 14
Collaborative Filtering • Last.fm, Twitter, Amazon • Pros • Relatively
precise, ability to recommend items from different categories • Cons • Cold start problem Saturday 9 August 14
User-based Saturday 9 August 14
Saturday 9 August 14
Saturday 9 August 14
Saturday 9 August 14
Saturday 9 August 14
Saturday 9 August 14
Saturday 9 August 14
Item-based Saturday 9 August 14
Saturday 9 August 14
Saturday 9 August 14
Saturday 9 August 14
Saturday 9 August 14
Saturday 9 August 14
Algorithms • Euclidean distance • Pearson Correlation • Tanimoto Coefficient
• ... Saturday 9 August 14
Euclidean distance Saturday 9 August 14
Pearson Correlation Saturday 9 August 14
Pearson vs Euclidean Saturday 9 August 14
Tanimoto Coefficient Saturday 9 August 14
Other Algorithms • Log-likelihood • Slope one • Singular value
decomposition • K nearest neighbors • Cluster-based Saturday 9 August 14
Content Based • Prismatic • Pros • No cold start
problem, ability to recommender new items • Cons • Harder to implement, not so precise, sometimes stupid. Saturday 9 August 14
Hybrid Systems • Netflix • Mix collaborative filtering & content-based
recommendations • Knowledge-based • Add domain information Saturday 9 August 14
Mahout • Scalable machine learning library • User based recommenders
• Item based recommenders • Various algorithms • Evaluation & rescoring features • Hadoop integration Saturday 9 August 14
Reca • Thin Clojure wrapper for Mahout’s single- machine recommendation
algorithms • https://github.com/edtsech/reca Saturday 9 August 14
Movie App Demo • 8400000 ratings • 1.7 Gb database
• 162 037 users • 82 715 movies Saturday 9 August 14
Rescoring • Add application logic to the recommender • Add
domain specific information • Helps to make a hybrid recommender Saturday 9 August 14
Evaluation Evaluation of user based algorithm based on 3% of
whole ratings (y axis - average difference) Saturday 9 August 14
Evaluation Evaluation of item based algorithm based on 33% of
whole ratings (y axis - average difference) Saturday 9 August 14
Performance • 1.5Gb of memory • 250 msecs for user
based recommender • 60-90 secs for item based recommender • 0.1 msecs after caching Saturday 9 August 14
Links • Mahout in Action [book] • Collective intelligence [book]
• http://mahout.apache.org/ • http://blog.comsysto.com/2013/04/03/ background-of-collaborative-filtering-with- mahout/ Saturday 9 August 14