Making fashion recommendations with human-in-the-loop machine learning
1. Making fashion recommendations with
human-in-the-loop machine learning
Brad Klingenberg, Stitch Fix
brad@stitchfix.com
Machine learning meets fashion
KDD2016 | San Francisco | August 2016
Three lessons
2. Personal styling recommendations with humans in the loop
Fashion with humans in the loop:
It works really well, but it’s complicated
3. Personal styling recommendations with humans in the loop
Fashion with humans in the loop:
It works really well, but it’s complicated
Lesson 1: You have more than one feedback loop
Lesson 2: Human selection changes your objective function
Lesson 3: Even humans need feature selection
13. Combining art & science
Humans and machines are a winning combination.
14. Combining art & science
Humans and machines are a winning combination.
Human judgement
● helps leverage unstructured data
15. Combining art & science
Humans and machines are a winning combination.
Human judgement
● helps leverage unstructured data
● provides a human element to the
process (empathy, creativity)
16. Combining art & science
Humans and machines are a winning combination.
Human judgement
● helps leverage unstructured data
● provides a human element to the
process (empathy, creativity)
● frees the algorithm developer from
edge cases
24. Training a model
What should you predict?
Naive approach: ignore selection and train on historical shipment data
Advantages
● “traditional” supervised problem
● simple historical data
31. Success given selection
Problem: success probabilities can make for terrible recommendations
“Probability the
stylist should
choose this item”
32. Success given selection
Problem: success probabilities can make for terrible recommendations
“Probability the
stylist should
choose this item”
Probability the stylist will be able to
send this to the right client
34. Success given selection
clients
Y_i = 1
Y_i = 0
An edgy dress. Not many people will like it, but
easy for a stylist to identify these clients
Example: A low-coverage item
37. Success given selection
clients
Y_i = 1
Y_i = 0
More neutral item. Many clients will like it, but
it is hard for stylists to identify these clients
Example: A high-coverage item
41. Effective recommendations require understanding human selection
Generally, selection data will be much larger and more complicated to
collect and work with
● Negative cases: logging the set of things that was available to
be selected but was not selected
● Presentation effects
○ similar to the way search engine results are studied
44. Creating features for the human classifier
Unstructured data can be overwhelming, even for humans
45. Creating features for the human classifier
Derived feature 1
Derived feature 2
Feature engineering: creating useful summaries for human consumption
47. Creating features for the human classifier
It is important to focus on
● Interpretability
● Evidence
● Orthogonality
For fashion data especially, this is hard!
48. Creating features for the human classifier
A / B
Ultimately, this is an empirical question
Run experiments with
● Production systems
● Simulations for human classifiers
49. Personal styling recommendations with humans in the loop
Fashion with humans in the loop:
It works really well, but it’s complicated
Lesson 1: You have more than one feedback loop
Lesson 2: Human selection changes your objective function
Lesson 3: Even humans need feature selection