talk at KTH 14 May 2014 about matrix factorization, different latent and neighborhood models, graphs and energy diffusion for recommender systems, as well as what makes good/bad recommendations.
Recommendation and Information Retrieval: Two Sides of the Same Coin?Arjen de Vries
Status update on our current understanding of how collaborative filtering relates far more closely to information retrieval than usually thought. Includes work by Jun Wang and Alejandro Bellogín. This presentation has been given at the Siks PhD student course on computational intelligence, May 24th, 2013
Recommendation and Information Retrieval: Two Sides of the Same Coin?Arjen de Vries
Status update on our current understanding of how collaborative filtering relates far more closely to information retrieval than usually thought. Includes work by Jun Wang and Alejandro Bellogín. This presentation has been given at the Siks PhD student course on computational intelligence, May 24th, 2013
Recommender systems are software tools and techniques providing suggestions for items to be of interest to a user. Recommender systems have proved in recent years to be a valuable means of helping Web users by providing useful and effective recommendations or suggestions.
Summary of a Recommender Systems Survey paperChangsung Moon
This is the summary of the following paper:
J. Bobadilla, F. Ortega, A. Hernando and A. Gutierrez, “Recommender Systems Survey,” Knowledge Based Systems, Vol. 26, 2013, pp. 109-132.
How to create a cutting edge recommender that is fast, scalable, can use almost any applicable data, and is extremely flexible for use in many different contexts. Uses Spark, Mahout, and a search engine.
Models for Information Retrieval and RecommendationArjen de Vries
Online information services personalize the user experience by applying recommendation systems to identify the information that is most relevant to the user. The question how to estimate relevance has been the core concept in the field of information retrieval for many years. Not so surprisingly then, it turns out that the methods used in online recommendation systems are closely related to the models developed in the information retrieval area. In this lecture, I present a unified approach to information retrieval and collaborative filtering, and demonstrate how this let’s us turn a standard information retrieval system into a state-of-the-art recommendation system.
[RIIT 2017] Identifying Grey Sheep Users By The Distribution of User Similari...YONG ZHENG
Yong Zheng, Mayur Agnani, Mili Singh. “Identifying Grey Sheep Users By The Distribution of User Similarities In Collaborative Filtering”. Proceedings of The 6th ACM Conference on Research in Information Technology (RIIT), Rochester, NY, USA, October, 2017
Recommender systems aim to predict the content that a user would like based on observations of the online behaviour of its users. Research in the Information Access group addresses different aspects of this problem, varying from how to measure recommendation results, how recommender systems relate to information retrieval models, and how to build effective recommender systems (note: last Friday, we won the ACM RecSys 2013 News Recommender Systems challenge). We would like to develop a general methodology to diagnose weaknesses and strengths of recommender systems. In this talk, I discuss the initial results of an analysis of the core component of collaborative filtering recommenders: the similarity metric used to find the most similar users (neighbours) that will provide the basis for the recommendation to be made. The purpose is to shed light on the question why certain user similarity metrics have been found to perform better than others. We have studied statistics computed over the distance distribution in the neighbourhood as well as properties of the nearest neighbour graph. The features identified correlate strongly with measured prediction performance - however, we have not yet discovered how to deploy this knowledge to actually improve recommendations made.
Interactive Recommender Systems with Netflix and SpotifyChris Johnson
Interactive recommender systems enable the user to steer the received recommendations in the desired direction through explicit interaction with the system. In the larger ecosystem of recommender systems used on a website, it is positioned between a lean-back recommendation experience and an active search for a specific piece of content. Besides this aspect, we will discuss several parts that are especially important for interactive recommender systems, including the following: design of the user interface and its tight integration with the algorithm in the back-end; computational efficiency of the recommender algorithm; as well as choosing the right balance between exploiting the feedback from the user as to provide relevant recommendations, and enabling the user to explore the catalog and steer the recommendations in the desired direction.
In particular, we will explore the field of interactive video and music recommendations and their application at Netflix and Spotify. We outline some of the user-experiences built, and discuss the approaches followed to tackle the various aspects of interactive recommendations. We present our insights from user studies and A/B tests.
The tutorial targets researchers and practitioners in the field of recommender systems, and will give the participants a unique opportunity to learn about the various aspects of interactive recommender systems in the video and music domain. The tutorial assumes familiarity with the common methods of recommender systems.
Deep Learning in practice : Speech recognition and beyond - MeetupLINAGORA
Retrouvez la présentation de notre Meetup du 27 septembre 2017 présenté par notre collaborateur Abdelwahab HEBA : Deep Learning in practice : Speech recognition and beyond
Recommender systems are software tools and techniques providing suggestions for items to be of interest to a user. Recommender systems have proved in recent years to be a valuable means of helping Web users by providing useful and effective recommendations or suggestions.
Summary of a Recommender Systems Survey paperChangsung Moon
This is the summary of the following paper:
J. Bobadilla, F. Ortega, A. Hernando and A. Gutierrez, “Recommender Systems Survey,” Knowledge Based Systems, Vol. 26, 2013, pp. 109-132.
How to create a cutting edge recommender that is fast, scalable, can use almost any applicable data, and is extremely flexible for use in many different contexts. Uses Spark, Mahout, and a search engine.
Models for Information Retrieval and RecommendationArjen de Vries
Online information services personalize the user experience by applying recommendation systems to identify the information that is most relevant to the user. The question how to estimate relevance has been the core concept in the field of information retrieval for many years. Not so surprisingly then, it turns out that the methods used in online recommendation systems are closely related to the models developed in the information retrieval area. In this lecture, I present a unified approach to information retrieval and collaborative filtering, and demonstrate how this let’s us turn a standard information retrieval system into a state-of-the-art recommendation system.
[RIIT 2017] Identifying Grey Sheep Users By The Distribution of User Similari...YONG ZHENG
Yong Zheng, Mayur Agnani, Mili Singh. “Identifying Grey Sheep Users By The Distribution of User Similarities In Collaborative Filtering”. Proceedings of The 6th ACM Conference on Research in Information Technology (RIIT), Rochester, NY, USA, October, 2017
Recommender systems aim to predict the content that a user would like based on observations of the online behaviour of its users. Research in the Information Access group addresses different aspects of this problem, varying from how to measure recommendation results, how recommender systems relate to information retrieval models, and how to build effective recommender systems (note: last Friday, we won the ACM RecSys 2013 News Recommender Systems challenge). We would like to develop a general methodology to diagnose weaknesses and strengths of recommender systems. In this talk, I discuss the initial results of an analysis of the core component of collaborative filtering recommenders: the similarity metric used to find the most similar users (neighbours) that will provide the basis for the recommendation to be made. The purpose is to shed light on the question why certain user similarity metrics have been found to perform better than others. We have studied statistics computed over the distance distribution in the neighbourhood as well as properties of the nearest neighbour graph. The features identified correlate strongly with measured prediction performance - however, we have not yet discovered how to deploy this knowledge to actually improve recommendations made.
Interactive Recommender Systems with Netflix and SpotifyChris Johnson
Interactive recommender systems enable the user to steer the received recommendations in the desired direction through explicit interaction with the system. In the larger ecosystem of recommender systems used on a website, it is positioned between a lean-back recommendation experience and an active search for a specific piece of content. Besides this aspect, we will discuss several parts that are especially important for interactive recommender systems, including the following: design of the user interface and its tight integration with the algorithm in the back-end; computational efficiency of the recommender algorithm; as well as choosing the right balance between exploiting the feedback from the user as to provide relevant recommendations, and enabling the user to explore the catalog and steer the recommendations in the desired direction.
In particular, we will explore the field of interactive video and music recommendations and their application at Netflix and Spotify. We outline some of the user-experiences built, and discuss the approaches followed to tackle the various aspects of interactive recommendations. We present our insights from user studies and A/B tests.
The tutorial targets researchers and practitioners in the field of recommender systems, and will give the participants a unique opportunity to learn about the various aspects of interactive recommender systems in the video and music domain. The tutorial assumes familiarity with the common methods of recommender systems.
Deep Learning in practice : Speech recognition and beyond - MeetupLINAGORA
Retrouvez la présentation de notre Meetup du 27 septembre 2017 présenté par notre collaborateur Abdelwahab HEBA : Deep Learning in practice : Speech recognition and beyond
Economics, broadly defined, is concerned with the description and analysis of the production, distribution, and consumption of goods and services. Also related is how individuals and groups make choices about these goods and services, and the consequences of their decisions. Decisions might be explicitly in regard to money and resources, but the same principles pertain to any kind of decision. The general form of the problem is that wants are bigger than resources, and even if two choices are both free, there is an opportunity cost in terms of deploying resources or focus into one area and not another. The same structure of decision-making among multiple options, with there being an opportunity cost to the road not taken, may persist regardless of domain, whether in classical economics or distributed ledger economics.
Writing NodeJS applications is an easy task for JavaScript developers. However, getting what is happening under the hood in NodeJS may be intimidating, but understanding it is vital for web developers.
Indeed, when you try to learn NodeJS, most tutorials are about the NodeJS ecosystem like Express, Socket.IO, PassportJS. It is really rare to see some tutorials about the NodeJS runtime itself.
By this meetup, I want to spot the light on some advanced NodeJS topics so as to help developers answering questions an experienced NodeJS developer is expected to answer. Understanding these topics is essential to make you a much more desirable developer. I want to explore several topics including the famous event-loop along with NodeJS Module Patterns and how dependencies actually work in NodeJS.
I hope that this meetup would help you to be more comfortable understanding advanced code written in NodeJS.
Technological Unemployment and the Robo-EconomyMelanie Swan
Technological Unemployment (jobs outsourced to technology) is coming and the challenge is to steward an orderly and beneficial transition to more intense human-technology collaboration
Construisons ensemble le chatbot bancaire dedemain !LINAGORA
Retrouvez les slides réalisées pour notre Meetup collaboratif du jeudi 9 novembre 2017 : "Construisons ensemble le chatbot bancaire de demain !"
Après la publication de son étude sur les chatbots de l'écosystème bancaire "ChatBots et intelligence artificielle arrivent dans les banques : y êtes-vous préparé(e) ?", LinDA, l'agence digitale du groupe LINAGORA, à réaliser un atelier de co-conception du chatbot bancaire de demain.
Cet atelier gratuit d'idéation fut l'occasion d'imaginer, avec plusieurs participants du monde bancaire, la meilleure solution d'agent conversationnel pour leur banque.
Nos animateurs, Christophe Clouzeau (UX Digital Strategist) et Jean-Philippe Mouton (Head of digital consulting), ont appliqué des méthodes de conception UX, utilisées avec nos clients et par les startups innovantes.
Blockchain Smartnetworks: Bitcoin and Blockchain ExplainedMelanie Swan
Beyond digitalizing money, payments, economics, and finance, and governance, smart property and smart contracts, blockchains secure automated fleet coordination
The implications could be an orderly transition to the automation economy and trust-rich digital smartnetwork societies of the future
The Magical Art of Extracting Meaning From Datalmrei
Basics of recommender systems, machine learning, supervised classification an unsupervised classification via clustering. Code in python, including simple examples. k-Nearest Neighbors, Naive Bayes, Non Negative Matrix Factorization
Codebits 2010 presentation.
Multi-model Databases and Tightly Integrated PolystoresJiaheng Lu
One of the most challenging issues in the era of Big Data is the
“Variety” of the data. In general, there are two solutions to directly manage multi-model data currently: a single integrated multi-model database system or a tightly-integrated middleware over multiple single-model data stores. In this tutorial, we review and compare these two approaches giving insights on their advantages, tradeoffs, and research opportunities. In particular, we dive into four key aspects of technology for both types of systems, namely (1) theoretical foundation of multi-model data management, (2) storage strategies for multi-model data, (3) query languages across models, and (4) query evaluation and its optimization. We provide a comparison of performance for the two approaches and discuss related open problems and remaining challenges.
Lessons learnt at building recommendation services at industry scaleDomonkos Tikk
Industry day keynote presentation held at ECIR 2016, Padova. The talk presents algorithmic, technical and business challenges Gravity R&D encountered from building a recommender system vendor company from being a top Netflix Prize contender.
The openCypher Project - An Open Graph Query LanguageNeo4j
We want to present the openCypher project, whose purpose is to make Cypher available to everyone – every data store, every tooling provider, every application developer. openCypher is a continual work in progress. Over the next few months, we will move more and more of the language artifacts over to GitHub to make it available for everyone.
openCypher is an open source project that delivers four key artifacts released under a permissive license: (i) the Cypher reference documentation, (ii) a Technology compatibility kit (TCK), (iii) Reference implementation (a fully functional implementation of key parts of the stack needed to support Cypher inside a data platform or tool) and (iv) the Cypher language specification.
We are also seeking to make the process of specifying and evolving the Cypher query language as open as possible, and are actively seeking comments and suggestions on how to improve the Cypher query language.
The purpose of this talk is to provide more details regarding the above-mentioned aspects.
We want to present the openCypher project, whose purpose is to make Cypher available to everyone – every data store, every tooling provider, every application developer. openCypher is a continual work in progress. Over the next few months, we will move more and more of the language artifacts over to GitHub to make it available for everyone.
openCypher is an open source project that delivers four key artifacts released under a permissive license: (i) the Cypher reference documentation, (ii) a Technology compatibility kit (TCK), (iii) Reference implementation (a fully functional implementation of key parts of the stack needed to support Cypher inside a data platform or tool) and (iv) the Cypher language specification.
We are also seeking to make the process of specifying and evolving the Cypher query language as open as possible, and are actively seeking comments and suggestions on how to improve the Cypher query language.
The purpose of this talk is to provide more details regarding the above-mentioned aspects.
Complex hierarchical relationships between entities can only be mapped with difficulty in a relational database and demanding queries are usually quite slow.
Graph databases are optimized for exactly these kinds of relationships and can provide high-performance results even with huge amounts of data. Moreover, not only the entities that are stored in the database, have attributes, but also their relationships. Queries can look at entities as well as their relationships.
Get to know the basics of graph databases, using Neo4j as an example, and see how it is used C# projects.
Similar to Recommender Systems, Matrices and Graphs (20)
Speculations in anthropology and tech for an uncertain futureRoelof Pieters
We live in uncertain times. Never before has a species had such a devastating impact on Earth. First through potential nuclear armageddon, now through human-made climate breakdown. Similarly, many innovations and technologies have made us more connected than ever, but we are equally more separate and disconnected. Finally, not only our natural climate but equally so our political and scientific climate are on fire. What to do?
It is exactly in these uncertain times, changing times, that we might dare to dream collectively, together, on how we might move beyond the current mess we have found ourselves in. It is time to stage the revolution and commit ourselves to a more equitable world that respects planetary boundaries, embraces biodiversity, energy, water, wellbeing, society, and culture.
In this talk I will look at the role that technology plays, and could play in, making such dreams a reality, and how new tools and paradigms developed under the moniker of the makers movement and maker spaces, open-source and low tech have the potential to remake the shaky ground (physical, conceptual — dare I say — ontological) on which we stand.
Can technology, AI, the internet, open-source software and hardware really be of much help here? And why are anthropologists and engineers uniquely positioned to help? Let’s find out!
https://www.anthtechconf.co.uk/keynote/roelof-pieters
Deep Neural Networks that talk (Back)… with styleRoelof Pieters
Talk at Nuclai 2016 in Vienna
Can neural networks sing, dance, remix and rhyme? And most importantly, can they talk back? This talk will introduce Deep Neural Nets with textual and auditory understanding and some of the recent breakthroughs made in these fields. It will then show some of the exciting possibilities these technologies hold for "creative" use and explorations of human-machine interaction, where the main theorem is "augmentation, not automation".
http://events.nucl.ai/track/cognitive/#deep-neural-networks-that-talk-back-with-style
Explore Data: Data Science + VisualizationRoelof Pieters
Talk on Data Visualization for Data Scientist at Stockholm NLP Meetup June 2015: http://www.meetup.com/Stockholm-Natural-Language-Processing-Meetup/events/222609869/
Video recording at https://www.youtube.com/watch?v=3Li_xIQ1K84
Talk given at PYCON Stockholm 2015
Intro to Deep Learning + taking pretrained imagenet network, extracting features, and RBM on top = 97 Accuracy after 1 hour (!) of training (in top 10% of kaggle cat vs dog competition)
Learning to understand phrases by embedding the dictionaryRoelof Pieters
review of "Learning to Understand Phrases by Embedding the Dictionary" by Felix Hill, Kyunghyun Cho, Anna Korhonen, Yoshua Bengio
at KTH's Deep Learning reading group:
www.csc.kth.se/cvap/cvg/rg/
Zero shot learning through cross-modal transferRoelof Pieters
review of the paper "Zero-Shot Learning Through Cross-Modal Transfer" by Richard Socher, Milind Ganjoo, Hamsa Sridhar, Osbert Bastani, Christopher D. Manning, Andrew Y. Ng.
at KTH's Deep Learning reading group:
www.csc.kth.se/cvap/cvg/rg/
Visual-Semantic Embeddings: some thoughts on LanguageRoelof Pieters
Language technology is rapidly evolving. A resurgence in the use of distributed semantic representations and word embeddings, combined with the rise of deep neural networks has led to new approaches and new state of the art results in many natural language processing tasks. One such exciting - and most recent - trend can be seen in multimodal approaches fusing techniques and models of natural language processing (NLP) with that of computer vision.
The talk is aimed at giving an overview of the NLP part of this trend. It will start with giving a short overview of the challenges in creating deep networks for language, as well as what makes for a “good” language models, and the specific requirements of semantic word spaces for multi-modal embeddings.
Acorn Recovery: Restore IT infra within minutesIP ServerOne
Introducing Acorn Recovery as a Service, a simple, fast, and secure managed disaster recovery (DRaaS) by IP ServerOne. A DR solution that helps restore your IT infra within minutes.
Have you ever wondered how search works while visiting an e-commerce site, internal website, or searching through other types of online resources? Look no further than this informative session on the ways that taxonomies help end-users navigate the internet! Hear from taxonomists and other information professionals who have first-hand experience creating and working with taxonomies that aid in navigation, search, and discovery across a range of disciplines.
Sharpen existing tools or get a new toolbox? Contemporary cluster initiatives...Orkestra
UIIN Conference, Madrid, 27-29 May 2024
James Wilson, Orkestra and Deusto Business School
Emily Wise, Lund University
Madeline Smith, The Glasgow School of Art
0x01 - Newton's Third Law: Static vs. Dynamic AbusersOWASP Beja
f you offer a service on the web, odds are that someone will abuse it. Be it an API, a SaaS, a PaaS, or even a static website, someone somewhere will try to figure out a way to use it to their own needs. In this talk we'll compare measures that are effective against static attackers and how to battle a dynamic attacker who adapts to your counter-measures.
About the Speaker
===============
Diogo Sousa, Engineering Manager @ Canonical
An opinionated individual with an interest in cryptography and its intersection with secure software development.
This presentation by Morris Kleiner (University of Minnesota), was made during the discussion “Competition and Regulation in Professions and Occupations” held at the Working Party No. 2 on Competition and Regulation on 10 June 2024. More papers and presentations on the topic can be found out at oe.cd/crps.
This presentation was uploaded with the author’s consent.
This presentation, created by Syed Faiz ul Hassan, explores the profound influence of media on public perception and behavior. It delves into the evolution of media from oral traditions to modern digital and social media platforms. Key topics include the role of media in information propagation, socialization, crisis awareness, globalization, and education. The presentation also examines media influence through agenda setting, propaganda, and manipulative techniques used by advertisers and marketers. Furthermore, it highlights the impact of surveillance enabled by media technologies on personal behavior and preferences. Through this comprehensive overview, the presentation aims to shed light on how media shapes collective consciousness and public opinion.
2. About me
Interests in:
• IR, RecSys, Big Data, ML, NLP, SNA,
Graphs, CV, Data Visualization, Discourse
Analysis
History:
• 2002-2006: almost-BA Computer Science @
Amsterdam Tech Uni (dropped out in 2006)
• 2006-2010: BA Cultural Anthropology @
Leiden & Amsterdam Uni’s
• 2010-2012: MA Social Anthropology @
Stockholm Uni
• 2011-Current: Working @ Vionlabs
se.linkedin.com/in/roelofpieters/
roelof@vionlabs.com
3. Say Hello!
St: Eriksgatan 63
112 33 Stockholm - Sweden
Email: hello@vionlabs.com
Tech company here in Stockholm with Geeks
and Movie lovers…
Since 2009:
• Digital ecosystems for network operators,
cable TV companies, and film distributor
such as Tele2/Comviq, Cyberia, and
Warner Bros
• Various software and hardware hacks for
different companies: Webbstory, Excito,
Spotify, Samsung
Focus since 2012:
• Movie and TV recommendation
service
FoorSee
9. Information Retrieval
• Recommender
Systems as part of
Information Retrieval
Document(s)Document(s)Document(s)Document(s)Document(s)
Retrieval
USER
Query
• Information Retrieval is
the activity of obtaining
information resources
relevant to an
information need from a
collection of information
resources.
10. IR: Measure Success
• Recall: success in retrieving all correct documents
• Precision: success in retrieving the most relevant
documents
• Given a set of terms and a set of document terms
select only the most relevant documents
(precision), and preferably all the relevant ones
(recall)
14. Taxonomy of RS
• Collaborative Filtering (CF)
• Content Based Filtering (CBF)
• Knowledge Based Filtering (KBF)
• Hybrid
15. Taxonomy of RS
• Collaborative Filtering (CF)!
• Content Based Filtering (CBF)
• Knowledge Based Filtering (KBF)
• Hybrid
16. Collaborative Filtering:
• relies on past user behavior
• Implicit feedback
• Explicit feedback
• requires no gathering of external data
• sparse data
• domain free
• cold start problem
16
33. 2000+: Commercial CF’s
• 2001: Amazon starts using item based collaborative
filtering (Patent filed at 1998)
• 2000: Pandora starts music genome
project, where each song“is analyzed using up to 450
distinct musical characteristics by a trained music analyst.”
• 2006-2009: Netflix Contents: 2 of many algorithms put
in use by Netflix replacing “Cinematch": Matrix
Factorization (SVD) and Restricted Boltzmann
Machines (RBM)
(http://www.pandora.com/about/mgp)
(http://www.netflixprize.com)
52. Example: Item to Query
Title Price Genre Rating
The Avengers 5 Action 3,7
Spiderman II 10 Action 4,5
user query q :
“price (6) AND genre(Adventure) AND rating (4)”
weights of features: 0.22 0.450.33
Sim(q,”The Avengers”) =
0.22 x (1 - 1/25) + 0.33 x 0 + 0.45 x (1 - 0.3/5) = 0.6342
1-25 price range no matchdiff of 1 diff of 0.3 0-5 rating range
Sim(q,”Spiderman II”) = 0.5898
(0.6348 if we count rating 4.5 > 4 as match)
Weighted Sum:
54. Example: Item to Item Similarity
Title ReleaseTime Genres Actors Rating
TA 90s, start 90s, 1993 Action, Comedy, Romance X,Y,Z 3,7
S2 90s, start 90s, 1991 Action W,X,Z 4,5
numeric
Array of Booleans
Sim(X,Y) = 1 - d(X,Y)
or
Sim(X,Y) = exp(- d(X,Y))
where 0 ≤ wi ≤ 1, and i=1..n (number of features).
Set of hierarchical
related symbols
55. Title ReleaseTime Genres Actors Rating
TA 90s, start 90s, 1993 Action, Comedy, Romance X,Y,Z 3,7
S2 90s, start 90s, 1991 Action W,X,Z 4,5
numeric
Array of Booleans
Set of hierarchical
related symbols
X1 = (90s,S90s,1993)
X2 = (1,1,1)
X3 = (0,1,1,1)
X4 = 3.7
TA
W 0.5 0.3 0.2
X1 = (90s,S90s,1991)
X2 = (1,0,0)
X3 = (1,1,0,1)
X4 = 4.5
S2
weights of feature all the same
weights of categories within “Release
time” different
Example: Item to Item Similarity
59. Example: Item to User
Title Roelof Klas Mo Max X
(Action)
X
(
)
The Avengers 5 1 2 5 0.8 0.1
Spiderman II ? 2 1 ? 0.9 0.2
American Pie 2 5 ? 1 0.05 0.9
X(1) =
1
0.8
0.1
For each user u, learn a parameter ∈
R(n+1)
.
Predict user u as rating movie i with
( )T
x(i)
60. Title Roelof Klas Mo Max X
(Action)
X
(
)
The Avengers 5 1 2 5 0.8 0.1
Spiderman II ? 2 1 ? 0.9 0.2
American Pie 2 5 ? 1 0.05 0.9
Mo ( (3)
) and Klas ( (2)
)
predict rating Mo ( (3)
),
American pie (X(3)
)
(2) (3)(1) (4)
X(1)
X(2)
X(3)
X(3) =
1
0.05
0.9
temp
(3)
=
0
0
5
Example: Item to User
61. Title Roelof Klas Mo Max X
(Action)
X
(
)
The Avengers 5 1 2 5 0.8 0.1
Spiderman II ? 2 1 ? 0.9 0.2
American Pie 2 5 ? 1 0.05 0.9
Mo ( (3)
) and Klas ( (2)
)
predict rating Mo ( (3)
),
American pie (X(3)
)
(2) (3)(1) (4)
X(1)
X(2)
X(3)
1
0.05
0.9
0
0
5
Example: Item to User
dot product
≈ 4.5
62. Title Roelof Klas Mo Max X
(Action)
X
(
)
The Avengers 5 1 2 5 0.8 0.1
Spiderman II ? 2 1 ? 0.9 0.2
American Pie 2 5 4.5 1 0.05 0.9
Mo ( (3)
) and Klas ( (2)
)
predict rating Mo ( (3)
),
American pie (X(3)
)
(2) (3)(1) (4)
X(1)
X(2)
X(3)
1
0.05
0.9
0
0
5
Example: Item to User
dot product
≈ 4.5
63. Title Roelof Klas Mo Max X
(Action)
X
(
)
The Avengers 5 1 2 5 0.8 0.1
Spiderman II ≈4 2 1 ≈4 0.9 0.2
American Pie 2 5 4.5 1 0.05 0.9
How do we learn these user factor parameters?
(2) (3)(1) (4)
X(1)
X(2)
X(3)
Example: Item to User
64. problem formulation:!
• r(i,u) = 1 if user u has rated movie i, otherwise 0
• y
(i,u)
= rating by user u on movie i (if defined)
•
(u)
= parameter vector for user u
• x
(i)
= feature vector for movie i
• For user u, movie i, predicted rating: ( )
T
(x
(i)
)
• temp m
(u)
= # of movies rated by user u
min ∑ ( ( (u))T!(i) - "(i,u) )2 + ∑ ( )2
ƛ
——
2
#
k=1
(u)
(u)
1
2
——
m(u)m(u)
Example: Item to User
Say what?• learning (u) =
(A. Ng. 2013)
65. min ∑ ∑ (( (u))T!(i) - "(i,u))2 + ∑ ∑ ( )2
ƛ
—
2
#
u=1
problem formulation:!
• learning (u):
• learning (1), (2) , … , #
:
#
1
2
—
min ∑ ( ( (u))T!(i) - "(i,u) )2 + ∑ ( )2
ƛ
—
2
#
k=1
(u)
(u)
1
2
—
#u
k=1
(u)
regularization term
#
squared error term
actualpredicted
learn for “all” users
Example: Item to Userremember:
y = rating
parameter vector for a user
x = feature vector for a movie
67. Collaborative Filtering:
• User-based approach!
• Find a set of users Si who rated item j, that are most similar to
ui
• compute predicted Vij score as a function of ratings of item j
given by Si (usually weighted linear combination)
• Item-based approach!
• Find a set of most similar items Sj to the item j which were
rated by ui
• compute predicted Vij score as a function of ui's ratings for Sj
68. Collaborative Filtering:
• Two primary models:
• Neighborhood models!
• focus on relationships between movies or users
• Latent Factor models
• focus on factors inferred from (rating) patterns
• computerized alternative to naive content creation
• predicts rating by dot product of user and movie locations
on known dimensions
68
(Sarwar, B. et al. 2001)
70. Neighbourhood Methods
• Problems:
• Ratings biased per user
• Ratings biased towards certain items
• Ratings change over time
• Ratings can rapidly change through real time
events (Oscar nomination, etc)
• Bias correction needed
71. Latent Factors
71
• latent factor models map users and items into a
latent feature space
• user's feature vector denotes the user's affinity to
each of the features
• item's feature vector represents how much the
item itself is related to the features.
• rating is approximated by the dot product of the
user feature vector and the item feature vector.
74. Latent Factor models
• Matrix Factorization:
• characterizes items + users by vectors of
factors inferred from (ratings or other user-
item related) patterns
• Given a list of users and items, and user-item
interactions, predict user behavior
• can deal with sparse data (matrix)
• can incorporate additional information
74
75. Matrix Factorization
• Dimensionality reduction
• Principal Components Analysis, PCA
• Singular Value Decomposition, SVD
• Non Negative Matrix Factorization, NNMF
76. Matrix Factorization: SVD
SVD, Singular Value Decomposition
• transforms correlated variables into a set of
uncorrelated ones that better expose the various
relationships among the original data items.
• identifies and orders the dimensions along
which data points exhibit the most variation.
• allowing us to find the best approximation of the
original data points using fewer dimensions.
77. SVD: Matrix Decomposition
77
U: document-to-concept similarity
matrix !
V: term-to-concept similarity matrix !
ƛ : its diagonal elements: ‘strength’ of
each concept !
(pic by Xavier Amatriain 2013)
78. SVD for
Collaborative Filtering
each item i associated with vector qi ∈ ℝf
each user u associated with vector pu ∈ ℝf
qi measures extent to which item possesses factors
pu measures extent of interest for user in items which
possess high on factors
user-item interactions modeled as dot products within
the factor space, measured by qi
T pu
user u rating on item i approximates: rui = qi
T pu
78
^
79. SVD for
Collaborative Filtering
• compute u,i mappings: qi,pu ∈ ℝ
f
• factor user, item matrix
• imputation (Sarwar et.al. 2000)
• model only observed ratings + regularization (Funk 2006; Koren
2008)
• learn factor vectors qi and pu by minimizing (regularized) squared
error on set of known ratings: approximate user u rating of item i,
denoted by rui, leading to Learning Algorithm:
79
^
83. Stochastic Gradient Descent
• optimizable by Stochastic Gradient Descent
(SGD) (Funk 2006)
• incremental learning
• loops trough ratings and computes prediction
error for predicted rating on rui :
• modify parameters by magnitude proportional
to y in opposite direction of the gradient, giving
learning rule:
83
and
85. Alternating Least Squares
• optimizable by Alternating Least Squares (ALS) (2006)
• both qi and pu unknown: minimum function not convex
—> can not be solved for a minimum.
• ALS rotates between fixing qi’s and pu’s
• Fix qi or pu makes optimization problem quadratic
—> one not optimized can now be solved
• qi and pu independently computed of other item/user factors:
parallelization
• Best for implicit data (dense matrix)
85
86. Alternating Least Squares
• rotates between fixing qi’s and pu’s
• when all pu’s fixed, recompute qi’s by solving a least
squares problem:
• Fix matrix P as some matrix P, so that minimization problem:
• or fix Q similarly as:
• Learning Rule:
86
where
and
87. • Add Biases:
• Add Input Sources: Implicit
Feedback:
pu in rui becomes (pu +
+ (…) )Add
Temporal Aspect / time-varying
parameters
• Vary Confidence Levels of Inputs
Develop Further…
87
and
pic: Lei Guo 2012
(Salakhutdinov &
Mnih 2008; Koren 2010)
90. • So what if we don’t have any content factors
known?
• Probabilistic Matrix Factorization to the rescue!
• describe each user and each movie by a
small set of attributes
91. Probabilistic Matrix
Factorization
• Imagine we have the following rating data:
we could say that Roelof and Klas like Action
movies, but don’t like Comedy’s, while its the
opposite for Mo and Max
Title Roelof Klas Mo Max
The Avengers 5 1 1 4
Spiderman II 4 2 1 5
American Pie 3 5 4 1
Shrek 1 4 5 2
92. Probabilistic Matrix
Factorization
• This could be represented by the PMF model by using three
dimensional vectors to describe each user and each movie.
• example latent vectors: • AV: [0, 0.3]
• SPII: [1, 0.3]
• AP [1, 0.3]
• SH [1, 0.3]
• Roelof: [0, 3]
• Klas: [8, 3]
• Mo [10, 3]
• Max [10, 3]
• predict rating by dot product
of user vector with the item
vector
• So predicting Klas’ rating for
Spiderman II = 8*1 + 3*0.3 =
• But descriptions of users
and movies not known
ahead of time.
• PGM discovers such latent
characteristics
97. k-Nearest Neighbor s
• non parametric lazy learning algorithm
• data as feature space
• simple and fast
• k-nn classification
• k-nn regression: density estimation
98. kNN: Classification
• Classify
• several Xi used to classify Y
• compare (X1
p,X2
p) and (X1
q,Xq) by Squared
Euclidean distance:
d2
pq = (X1
p - x1
q)2 + (X2
p - X2q)2
• find k-Nearest Neighbors
99. kNN: Classification
• input: content extracted emotional values of 561
movies. thanks: Johannes Östling :)
ie:
dimensions of
movie
“Hamlet”:
104. Rating predictions:
• Pos — Neg
• Average
• Bayesian (Weighted) Estimates
• Lower bound of Wilson score confidence interval
for a Bernoulli parameter
105. Rating predictions:
• Pos — Neg!
• Average
• Bayesian (Weighted) Estimates
• Lower bound of Wilson score confidence interval
for a Bernoulli parameter
106. P — N
• (Positive ratings) - (Negative ratings)
• Problematic:
(http://www.urbandictionary.com/define.php?term=movies)
107. Rating predictions:
• Pos — Neg
• Average!
• Bayesian (Weighted) Estimates
• Lower bound of Wilson score confidence interval
for a Bernoulli parameter
109. Rating predictions:
• Pos — Neg
• Average
• Bayesian (Weighted) Estimates!
• Lower bound of Wilson score confidence interval
for a Bernoulli parameter
110. Ratings
• Top Ranking at IMDB (gives Bayesian estimate):
• Weighted Rating (WR) =
(v / (v+m)) × R + (m / (v+m)) × C!
• Where:
R = average for the movie (mean) = (Rating)
v = number of votes for the movie = (votes)
m = minimum votes required to be listed in the Top 250
(currently 25000)
C = the mean vote across the whole report (currently 7.0)
112. Bayesian (Weighted)
Estimates @ IMDB
Bayesian Weights for m = 1250
0"
0,1"
0,2"
0,3"
0,4"
0,5"
0,6"
0,7"
0,8"
0,9"
1"
0" 250" 500" 750" 1000" 1250" 2000" 3000" 4000" 5000"
specific" global"
• specific part for
individual items
• global part is
constant over all
items
• can be
precalculated
114. Rating predictions:
• Pos — Neg
• Average
• Bayesian (Weighted) Estimates
• Lower bound of Wilson score confidence
interval for a Bernoulli parameter
115. Wilson Score interval
• 1927 by Edwin B. Wilson
• Given the ratings I have, there is a 95% chance
that the "real" fraction of positive ratings is at
least what?
116. Wilson Score interval
• used by Reddit for comments ranking
• “rank the best comments highest
regardless of their submission time”
• algorithm introduced to Reddit by
Randall Munroe (the author of xkcd).
• treats the vote count as a statistical sampling of a
hypothetical full vote by everyone, much as in an
opinion poll.
117. Wilson Score interval
• Endpoints for Wilson Score interval:
• Reddit’s comment Ranking function
(phat+z*z/(2*n) - z*sqrt((phat*(1-phat) + z*z/(4*n))/n))
/(1+z*z/n)
125. Graph Based Approaches
• Whats a Graph?
• Why Graphs?!
• Who uses Graphs?
• Talking with Graphs
• Graph example: Recommendations
• Graph example: Data Analysis
126. Why Graphs?
• more complex (social networks…)
• more connected (wikis, pingbacks, rdf, collaborative
tagging)
• more semi-structured (wikis, rss)
• more decentralized: democratization of content production
(blogs, twitter*, social media*)
and just: MORE
Its the nature of todays Data, which is getting:
127. Data Trend
“Every 2 days we
create as much
information as we did
up to 2003”
— Eric Schmidt, Google
Why Graphs?
136. Graph Based Approaches
• Whats a Graph?
• Why Graphs?
• Who uses Graphs?
• Talking with Graphs!
• Graph example: Recommendations
• Graph example: Data Analysis
137. Talking with Graphs
• Graphs can be queried!
• no unions for comparison, but traversals!
• many different graph traversal patterns
(xkcd)
138. graph traversal patterns
• traversals can be seen as a diffusion
proces over a graph!
• “Energy” moves over a graph and spreads
out through the network!
• energy:
(Ghahramani 2012)
144. Graph Based Approaches
• Whats a Graph?
• Why Graphs?
• Who uses Graphs?
• Talking with Graphs
• Graph example: Recommendations!
• Graph example: Data Analysis
145. Diffusion Example:
Recommendations
• Energy diffusion is an easy algorithms for
making recommendations!
• different paths make different
recommendations!
• different paths for different problems can
be solved on same graph/domain!
• recommendation = “jumps” through the
data
147. Friend
Recommendation
• Who are my friends’ friends
• Who are my friends’ friends that are not
me or my friends
G.V(‘me’).outE[knows].inV.outE.inV
G.V(‘me’).outE[knows].inV.aggregate(x).outE.
inV{!x.contains(it)}
148. Product
Recommendation
• Who likes what I like —> of these things, what
do they like which I dont’ already like
(pic by Marko A. Rodriguez, 2011)
149. Product
Recommendation
• Who likes what I like
• Who likes what I like —> of these things, what
do they like which I dont’ already like
• Who likes what I like —> of these things, what
do they like which I dont’ already like
G.V(‘me’).outE[likes].inV.inE[likes].outV
G.V(‘me’).outE[likes].inV.aggregate(x).inE[likes].
outV.outE[like].inV{!x.contains(it)}
G.V(‘me’).outE[likes].inV.inE[likes].outV.outE[like].inV
159. References
• J. Dietmar, G. Friedrich and M. Zanker (2011) “Recommender Systems”,
International Joint Conference on Artificial Intelligence Barcelona
• Z. Ghahramani (2012) “Graph-based Semi-supervised Learning”, MLSS,
La Palma
• D. Goldbergs, D. Nichols, B.M. Oki and D. Terry (1992) “Using
collaborative filtering to weave an information tapestry”, Communications
of the ACM 35 (12)
• M. Hunger (2013) “Data Modeling with Neo4j”, http://
www.slideshare.net/neo4j/data-modeling-with-neo4j-25767444
• S. Funk (2006) “Netflix Update: Try This at Home”, sifter.org/~simon/
journal/20061211.html
159
160. References
• Y. Koren (2008) “Factorization meets the Neighborhood: A
Multifaceted Collaborative Filtering Model”, SIGKDD, http://
public.research.att.com/~volinsky/netflix/kdd08koren.pdf
• Y. Koren & C. Bell, (2007) “Scalable Collaborative Filtering with
Jointly Derived Neighborhood Interpolation Weights”
• Y, Koren (2010) “Collaborative filtering with temporal dynamics”
• A. Ng. (2013) Machine Learning, ml-004 @ Coursera
• A. Paterek (2007) “Improving Regularized Singular Value
Decomposition for Collaborative Filtering”, KDD
160
161. References
• P. Resnick, N. Iacovou, M. Suchak, P. Bergstrom and J. Riedl (1994),
“GroupLens: An Open Architecture for Collaborative Filtering of
Netnews”, Proceedings of ACM
• B.R. Sarwar et al. (2000) “Application of Dimensionality Reduction in
Recommender System—A case Study”, WebKDD
• B. Saewar, G. Karypis, J. Konstan, J, Riedl (2001) “Item-Based
Collaborative Filtering Recommendation Algorithms”
• R. Salakhutdinov & A. Mnih (2008) “Probabilistic Matrix
Factorization”
• xkcd.com
161
162. Take Away Points
• Focus on the best Question, not just the Answer…!
• Best Match (most similar) vs Most Popular!
• Personalized vs Global Factors!
• Less is More ?!
• What is relevant?