Skip to content

CS 136 Final Project: Feedback-based Preference Inference in Dating Apps

Notifications You must be signed in to change notification settings

lawrencez02/CS136FinalProject

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 

Repository files navigation

CS 136 Final Project: Feedback-based Preference Inference in Dating Apps Charumathi Badrinath, Catherine Cui, Lawrence Zhang

Model: Charu

  • n=1000 AGENTS on each side
  • each agent has
    • m=10 ATTRIBUTES, with q=5 OPTIONS for each attribute
    • ATTRIBUTE PREFERENCES over options for each attribute
      • these preferences between agents are correlated (so that ELO makes more sense)
    • randomized weights w_i for each attribute that sum to 1
  • each agent scores every other agent based on their attributes and the agent's own attribute preferences and weights
    • most preferred option is 5 points, least is 1 point
    • score is sum over all attributes weighted by w_i's
    • total score is from 1 - 5, median score 3
  • their full preference profile is the other agents ranked in order of decreasing score

ELO: Lawrence

  • Assign each user the same baseline Elo (400, and Elos are non-negative)
  • There are x=10 initial rounds
    • in each round, every agent A on each side is paired with a randomly chosen agent B from the other side. Agent B then swipes right or left on agent A. So, agent A's elo can be updated later, at the end of the round.
    • agents swipe right on the agent they are shown with some probability
      • 1/(1 + e^{-2(s - agent's own score))}) probability of swiping right where s is other agent's score from 1 - 5
    • at the end of the round, we update all agents' Elo scores
  • There are y=20 rounds
    • do same thing as before except show people with closest ELO
  • Get full preference orderings

ELO update: Lawrence

  • Expected score for player A: 1/(1 + 10^{(B - A)/400})
  • Expected score for player B: 1/(1 + 10^{(A - B)/400})
  • Let S_A = 1 if A wins and S_A = 0 if A loses
  • A's new ELO: A_new = A + 32(S_A - E_A)
  • Let S_B = 1 if B wins and S_B = 0 if B loses
  • B's new ELO: B_new = B + 32(S_B - E_B)

Gale-Shapley: Catherine

Simulation: Lawrence

  • Generate all of the above randomness
  • Run Gale-Shapley on the true full preference profile for a baseline matching
  • Run Gale-Shapley on the estimated full preference profile generated by Elo for comparison to baseline

About

CS 136 Final Project: Feedback-based Preference Inference in Dating Apps

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages