making fashion recommendations with human-in-the-loop machine learning

50
Making fashion recommendations with human-in-the-loop machine learning Brad Klingenberg, Stitch Fix [email protected] Machine learning meets fashion KDD2016 | San Francisco | August 2016 Three lessons

Upload: brad-klingenberg

Post on 22-Jan-2018

1.141 views

Category:

Data & Analytics


0 download

TRANSCRIPT

Page 1: Making fashion recommendations with human-in-the-loop machine learning

Making fashion recommendations with human-in-the-loop machine learning

Brad Klingenberg, Stitch [email protected]

Machine learning meets fashionKDD2016 | San Francisco | August 2016

Three lessons

Page 2: Making fashion recommendations with human-in-the-loop machine learning

Personal styling recommendations with humans in the loop

Fashion with humans in the loop:

It works really well, but it’s complicated

Page 3: Making fashion recommendations with human-in-the-loop machine learning

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

Page 4: Making fashion recommendations with human-in-the-loop machine learning

Humans in the loop for fashionat Stitch Fix

Page 5: Making fashion recommendations with human-in-the-loop machine learning

Stitch Fix

Page 6: Making fashion recommendations with human-in-the-loop machine learning

Stitch Fix

Page 7: Making fashion recommendations with human-in-the-loop machine learning

Stitch Fix

Page 8: Making fashion recommendations with human-in-the-loop machine learning

Stitch Fix

Page 9: Making fashion recommendations with human-in-the-loop machine learning

Styling at Stitch Fix

Personal styling

Inventory

Page 10: Making fashion recommendations with human-in-the-loop machine learning

Styling at Stitch Fix: personalized recommendations

Inventory Algorithmic recommendations

Machine learning

Page 11: Making fashion recommendations with human-in-the-loop machine learning

Styling at Stitch Fix: expert human curation

Human curation

Algorithmic recommendations

Page 12: Making fashion recommendations with human-in-the-loop machine learning

Lesson 0: Humans and machines are a winning combination

Page 13: Making fashion recommendations with human-in-the-loop machine learning

Combining art & science

Humans and machines are a winning combination.

Page 14: Making fashion recommendations with human-in-the-loop machine learning

Combining art & science

Humans and machines are a winning combination.

Human judgement

● helps leverage unstructured data

Page 15: Making fashion recommendations with human-in-the-loop machine learning

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)

Page 16: Making fashion recommendations with human-in-the-loop machine learning

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

Page 17: Making fashion recommendations with human-in-the-loop machine learning

Lesson 1: You have more than one feedback loop

Page 18: Making fashion recommendations with human-in-the-loop machine learning

Traditional recommenders

Learning through feedback

Page 19: Making fashion recommendations with human-in-the-loop machine learning

Humans in the loop

Learning through feedback

Page 20: Making fashion recommendations with human-in-the-loop machine learning

Humans in the loop

Learning through feedback

Human interaction

Page 21: Making fashion recommendations with human-in-the-loop machine learning

Lesson 2: Human selection changes your objective function

Page 22: Making fashion recommendations with human-in-the-loop machine learning

Training a model

What should you predict?

Page 23: Making fashion recommendations with human-in-the-loop machine learning

Training a model

What should you predict?

Historical shipment data is plentiful

Page 24: Making fashion recommendations with human-in-the-loop machine learning

Training a model

What should you predict?

Naive approach: ignore selection and train on historical shipment data

Advantages

● “traditional” supervised problem● simple historical data

Page 25: Making fashion recommendations with human-in-the-loop machine learning

Training a model

Problem 1: selection can censor your data

Page 26: Making fashion recommendations with human-in-the-loop machine learning

Censoring through selection

Problem: selection can censor your data

Page 27: Making fashion recommendations with human-in-the-loop machine learning

Censoring through selection

Problem: selection can censor your data

Page 28: Making fashion recommendations with human-in-the-loop machine learning

Censoring through selection

Problem: selection can censor your data

Arms flaunted

SuccessYes

No

Yes No

?

?

p

1-p

Page 29: Making fashion recommendations with human-in-the-loop machine learning

Success given selection

Problem 2: success probabilities can make for terrible recommendations

Page 30: Making fashion recommendations with human-in-the-loop machine learning

Success given selection

Problem: success probabilities can make for terrible recommendations

Page 31: Making fashion recommendations with human-in-the-loop machine learning

Success given selection

Problem: success probabilities can make for terrible recommendations

“Probability the stylist should

choose this item”

Page 32: Making fashion recommendations with human-in-the-loop machine learning

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

Page 33: Making fashion recommendations with human-in-the-loop machine learning

Success given selection

clients

Y_i = 1

Y_i = 0

Example: A low-coverage item

Page 34: Making fashion recommendations with human-in-the-loop machine learning

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

Page 35: Making fashion recommendations with human-in-the-loop machine learning

Success given selection

clients

Y_i = 1

Y_i = 0

High score!

Example: A low-coverage item

Page 36: Making fashion recommendations with human-in-the-loop machine learning

Success given selection

Example: A high-coverage item

clients

Y_i = 1

Y_i = 0

Page 37: Making fashion recommendations with human-in-the-loop machine learning

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

Page 38: Making fashion recommendations with human-in-the-loop machine learning

Success given selection

clients

Y_i = 1

Y_i = 0Average score!

Example: A high-coverage item

Page 39: Making fashion recommendations with human-in-the-loop machine learning

A useful recommendation?

High score

Low score

Page 40: Making fashion recommendations with human-in-the-loop machine learning

The lesson

Effective recommendations require understanding human selection

In both of these cases,

Page 41: Making fashion recommendations with human-in-the-loop machine learning

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

Page 42: Making fashion recommendations with human-in-the-loop machine learning

Lesson 3: Even humans need feature selection

Page 43: Making fashion recommendations with human-in-the-loop machine learning

Recall the styling process

Human curation

Algorithmic recommendations

Page 44: Making fashion recommendations with human-in-the-loop machine learning

Creating features for the human classifier

Unstructured data can be overwhelming, even for humans

Page 45: Making fashion recommendations with human-in-the-loop machine learning

Creating features for the human classifier

Derived feature 1

Derived feature 2

Feature engineering: creating useful summaries for human consumption

Page 46: Making fashion recommendations with human-in-the-loop machine learning

Creating features for the human classifier

Derived feature 1

Derived feature 2

Page 47: Making fashion recommendations with human-in-the-loop machine learning

Creating features for the human classifier

It is important to focus on

● Interpretability● Evidence● Orthogonality

For fashion data especially, this is hard!

Page 48: Making fashion recommendations with human-in-the-loop machine learning

Creating features for the human classifier

A / B

Ultimately, this is an empirical question

Run experiments with

● Production systems● Simulations for human classifiers

Page 49: Making fashion recommendations with human-in-the-loop machine learning

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

Page 50: Making fashion recommendations with human-in-the-loop machine learning

Thanks!

Questions?