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
72
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Personalised Recommendations
Edward Tsech
August 09, 2014
More Decks by Edward Tsech
See All by Edward Tsech
Clojure, Web and Luminus
edtsech
1
230
Other Decks in Programming
See All in Programming
仕様駆動開発の消費期限
watany
20
8.8k
楽しそうなつよつよエンジニアと目が死んでる僕/A brilliant engineer having a blast, and dead-eyed me.
3l4l5
2
210
全PRの83%がAIレビューだけでマージできるようになった開発組織はその後どうなったか
athug
1
1.9k
「寝てても仕事が進む」Claude Codeで組む第二の脳
tomoyafujita2016
0
350
FastAPI の並行処理モデルを完全に理解する
hoto17296
1
660
人間の目はかわらない、だからJPEGは30年もつ
yuzneri
12
19k
「つくるAI」だけではバグは見つからない ~テストに必要な「見つけるAI」を分離させる戦略~
mfunaki
0
120
Jindong: Introducing Declarative Haptics in Compose Multiplatform
l2hyunwoo
0
120
jsmini JavaScript Engine を作ってみた話
yosuke_furukawa
PRO
0
350
20260722_microCMSで考える、AI時代のコンテンツ運用設計
yosh1
0
440
AI時代に設計が 最大の生産性レバーになる 意図駆動開発とデータを消さない設計|Don't Delete Your Data or Your Intent — Design as the Deepest Lever in the AI Era
tomohisa
1
1.1k
Oxlintはいいぞ(続)
yug1224
1
270
Featured
See All Featured
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
620
How to make the Groovebox
asonas
2
2.3k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.8k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
780
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
570
HDC tutorial
michielstock
2
800
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.4k
Design in an AI World
tapps
1
280
Building Applications with DynamoDB
mza
96
7.2k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
370
Leo the Paperboy
mayatellez
8
2.2k
The Curse of the Amulet
leimatthew05
2
14k
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