Presentation1_Sojharo - CSE659CI

A Graph-based Friend
Recommendation System Using
Genetic Algorithm
Computational Intelligence
• Friend Recommendation System based on topology of network
• Oro-Aro, a local social Network was used in experiment
• Algorithm to analyze the sub-graph
• Of a user A and all others connected with user A
• Separated by tree (often two) degree of separation
• Using patterns to find users with similar behavior as of user A
• Based on analysis of user A’s friends network and Friends Of Friends
Why Recommendation Systems?
• Rise of E-Commerce
• Successful recommendations increase sell
• E.g. people who bought ‘English Grammar’ also bought ‘Everyday English’
• Based on previous knowledge
• Product, service, friend recommendation
• Growing in both commercial and academic research interest
The Oro-Aro Social Network
• Total 634 nodes (Users)
• 5076 edges
• Preprocessing was applied on data
• Used filter to remove all one-way relationships
• Reduced by 29% number of edge
Recommendation Mechanism
• Topological Characteristics and the metrics are derived from the
complex network theory
• Strategy is to:
• Filter and order the set of nodes that have some relation to give node vi
• The resulting node set has nodes which are recommendations for node vi
• Recommendation process is divided into two steps
• Filtering Procedure
• Ordering Procedure
Filtering vs Ordering
• Filtering separates the nodes with higher probabilities to be a
• Reducing the number of nodes to be processed
• Ordering put the most relevant nodes in top of the list
• Some properties and metrics are used
• Genetic Algorithm is used here
Degree of Separation vs frequency of
Filtering Procedure
• Uses the concept clustering coefficient
• It is more probable that you know a friend of your friend than any other
random person
• Restricted to select nodes adjacent to each node that is adjacent to
central node (vi in our case)
• All nodes that can be reached in two hops are considered
Ordering Procedure
• Ordering mechanism uses
• One numeric value related to each node to be ordered
• This indexing value is a result of a process that measures
• Interaction strength between that node and central node (node vi)
• The measurement of this interaction is result of
• A weighted average among three independent indexes
First Index: Common Friends
• Defined as number of adjacent nodes that are linked at the same time
to node i and node j
• i is center node (our node vi) and j is the node being ordered
Second Index: Density of the result of first
• Measures the cohesion level inside the group formed by common
friends of person i and person j
• If the value is small, then people inside this group are not well-related
Third Index: Variation of Second Index
• Measures the density of the group formed by the adjacent vertices of
node i and node j
• Instead of Intersection, it takes Union
Third Index: Continued…
• Measures the cohesion between the ‘big’ set formed by friends of i
and friends of j
• Example:
• Work Environment
• School
• Our friends in same big set may not be our common friends
Calibration Step
• Procedure to combine multiple indexes (three) into single value
• This value is used to obtain final set of ordered results for the
recommendation system
• Procedure to obtain this value is to use weighted average among
• Weight calibration of each single index must be adjusted to get
optimized result
• optimization means classifying the most important users in
• the beginning of the list.
Fitness Function
• Importance of suggested friend depends on the user
• Optimization function must consider existing relationship of user
• Modification is proposed in filtering process
• Also include the nodes directly connected to central node (node vi)
• Fitness function uses classification of these nodes as a measure rightness
• Since the ordering procedure defines positions to each node, the mean
positions of these nodes that are already related to the central node, is the
fitness function value.
• The smaller this value is the better is the weighting set being considered.
Fitness Function
• Calibration Step is our optimization problem
• Ii represents the index
• wi represents the weights given to each index
• We need to optimize these weights