In [2]:
%%bash 
jupyter nbconvert --to html Project_Overview.ipynb && mv Project_Overview.html  ../notebook_htmls/Project_Overview_v1.html


[NbConvertApp] Converting notebook Project_Overview.ipynb to html
[NbConvertApp] Writing 255027 bytes to Project_Overview.html

Problem

  • story: customer comes to website (VIP.com). Browses a bit. Comes back day 2 etc.
  • we have data like this:
    • [visit 1 (view, view, view,...),visit 2 (view, view,view ...),..., visit n (view, view, ... buy)]
  • We want to use this to recommend something new each time he/she comes back, so that it is more likely to be bought.

Data Exploration

Data Exploration

Solution 0:

Offline:

  1. calculate popularity of each item (number of times bought)(maybe in the last month)

Online:

  1. User comes to website
  2. Simply recommend the 20 most popular items to every customer.

Solution 1: Most similar items to user's previous views

Offline:

  1. For each item, calculate features on trained neural network
  2. For each user, look up previous views and average the features together of the previous visit
  3. Store the features of the 'typical' item viewed by this user.
  4. Calculate similarity of all items to user's 'typical item', store as a recommend list

Online:

  1. User comes to website
  2. Recommend the top 20 items from his recommend list.

Solution 2: Most similar items to user's previous views (Interpretable NN Features)

Offline:

  1. For each item, calculate features on trained neural network (last layer before categorization)
  2. Train network to discriminate features such as striped v.s. dotted (simplistic form of fine-tuning). Use sparse regularization.
  3. Concatenate non-zero feature weights from several different discriminations.
  4. Store for each image as a new feature 'interpretable' feature vector.
  5. For each user, look up previous views and average the new features together of the previous visit
  6. Store the features of the 'typical' item viewed by this user.
  7. Calculate similarity of all items to user's 'typical item', store as a recommend list

Online:

  1. User comes to website
  2. Recommend the top 20 items from his recommend list.

Solution 3: Categorize Users and Use Appropriate Recommendation

Offline:

  1. For each user, look up previous views.
  2. Based on trajectory of images viewed, classify into searcher or browser.
  3. If searcher.

Online:

  1. User comes to website
  2. Recommend the top 20 items from his recommend list.

Formal Evaluation


In [ ]: