Top Banner
1 Cross-Selling with Collaborative Filtering Qiang Yang HKUST Thanks: Sonny Chee
57

Cross-Selling with Collaborative Filtering

Jan 23, 2016

Download

Documents

fawzi

Cross-Selling with Collaborative Filtering. Qiang Yang HKUST Thanks: Sonny Chee. Motivation. Question: A user bought some products already what other products to recommend to a user? Collaborative Filtering (CF) Automates “circle of advisors”. +. Collaborative Filtering. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Cross-Selling with Collaborative Filtering

1

Cross-Selling with Collaborative Filtering

Qiang YangHKUST

Thanks: Sonny Chee

Page 2: Cross-Selling with Collaborative Filtering

2

Motivation Question:

A user bought some products already what other products to recommend to a

user? Collaborative Filtering (CF)

Automates “circle of advisors”.

+

Page 3: Cross-Selling with Collaborative Filtering

3

Collaborative Filtering

“..people collaborate to help one another perform filtering by recording their reactions...” (Tapestry)

Finds users whose taste is similar to you and uses them to make recommendations.

Complimentary to IR/IF. IR/IF finds similar documents – CF finds

similar users.

Page 4: Cross-Selling with Collaborative Filtering

4

Example Which movie would Sammy watch

next? Ratings 1--5

• If we just use the average of other users who voted on these movies, then we get

•Matrix= 3; Titanic= 14/4=3.5

•Recommend Titanic!

•But, is this reasonable?

Starship Trooper

(A)

Sleepless in Seattle

(R)MI-2 (A)

Matrix (A)

Titanic (R)

Sammy 3 4 3 ? ?Beatrice 3 4 3 1 1Dylan 3 4 3 3 4Mathew 4 2 3 4 5Gum-Fat 4 3 4 4 4Basil 5 1 5 ? ?

Titles

Use

rs

Page 5: Cross-Selling with Collaborative Filtering

5

Types of Collaborative Filtering Algorithms

Collaborative Filters Statistical Collaborative Filters Probabilistic Collaborative Filters

[PHL00] Bayesian Filters [BP99][BHK98] Association Rules [Agrawal, Han]

Open Problems Sparsity, First Rater, Scalability

Page 6: Cross-Selling with Collaborative Filtering

6

Statistical Collaborative Filters Users annotate items with numeric

ratings. Users who rate items “similarly”

become mutual advisors.

Recommendation computed by taking a weighted aggregate of advisor ratings.

I1 I2 … Im U1 U2 .. Un

U1 .. .. .. U1 .. .. ..

U2 .. .. U2 .. .. .. ..

… .. .. .. .. .. .. ..Un .. .. .. Un .. .. ..

Items

Use

rs

Use

rs

Users

Page 7: Cross-Selling with Collaborative Filtering

7

Basic Idea Nearest Neighbor Algorithm Given a user a and item i

First, find the the most similar users to a,

Let these be Y Second, find how these users (Y) ranked i, Then, calculate a predicted rating of a on i

based on some average of all these users Y How to calculate the similarity and average?

Page 8: Cross-Selling with Collaborative Filtering

8

Statistical Filters

GroupLens [Resnick et al 94, MIT] Filters UseNet News postings Similarity: Pearson correlation Prediction: Weighted deviation from

mean uauiuaia wrrrP ,,, )(

1

Page 9: Cross-Selling with Collaborative Filtering

9

Pearson Correlation

0

1

2

3

4

5

6

7

Item 1 Item 2 Item 3 Item 4 Item 5

Items

Rating

User A User B User C

Pearson Correlation

A B CA 1 1 -1B 1 1 -1C -1 -1 1

User

Use

r

Page 10: Cross-Selling with Collaborative Filtering

10

Pearson Correlation

Weight between users a and u Compute similarity matrix between

users Use Pearson Correlation (-1, 0, 1) Let items be all items that users rated

items uiuitems

aiaitems

uiuaiaua

rrrr

rrrr

itemsw

2,

2,

,,,

)()(

))((

||

1

Pearson Correlation

A B CA 1 1 -1B 1 1 -1C -1 -1 1

User

Use

r

Page 11: Cross-Selling with Collaborative Filtering

11

Prediction Generation

Predicts how much a user a likes an item i Generate predictions using weighted

deviation from the mean

: sum of all weights

uauiuaia wrrrP ,,, )(1

uaY

uaw,

,

(1)

Page 12: Cross-Selling with Collaborative Filtering

12

Error Estimation

Mean Absolute Error (MAE) for user a

Standard Deviation of the errorsN

rPMAE

ia

N

iia

a

|| ,1

,

K

MAEMAEK

aa

2

1

)(

Page 13: Cross-Selling with Collaborative Filtering

13

Example

Sammy Dylan Mathew

Sammy 1 1 -0.87

Dylan 1 1 0.21Mathew -0.87 0.21 1U

sers

Correlation

MAE

Matrix Titanic Matrix Titanic

Sammy 3.6 2.8 3 4 0.9Basil 4.6 4.1 4 5 0.75

Prediction Actual

Use

rs

||||1

)(

)(

,,,,

,,

,MathewSammyDylanSammyMathewSammyMathewMatrixMathew

DylanSammyDylanMatrixDylanSammyMatrixSammy wwwrr

wrrrP

6.3

)87.01/()87.0()2.32(1)4.33{(3.3

=0.83

iaw ,

MAE

Page 14: Cross-Selling with Collaborative Filtering

14

Statistical Collaborative Filters

Ringo [Shardanand and Maes 95 (MIT)] Recommends music albums

Each user buys certain music artists’ CDs

Base case: weighted average Predictions

Mean square difference First compute dissimilarity between pairs of users Then find all users Y with dissimilarity less than L Compute the weighted average of ratings of these users

Pearson correlation (Equation 1) Constrained Pearson correlation (Equation 1 with

weighted average of similar users (corr > L))

K

P

iPa jja

,

,

Page 15: Cross-Selling with Collaborative Filtering

15

Open Problems in CF

“ Sparsity Problem” CFs have poor accuracy and coverage

in comparison to population averages at low rating density [GSK+99].

“First Rater Problem” The first person to rate an item

receives no benefit. CF depends upon altruism. [AZ97]

Page 16: Cross-Selling with Collaborative Filtering

16

Open Problems in CF

“ Scalability Problem” CF is computationally expensive.

Fastest published algorithms (nearest-neighbor) are n2.

Any indexing method for speeding up? Has received relatively little attention.

References in CF: http://www.cs.sfu.ca/CC/470/qyang/lectur

es/cfref.htm

Page 17: Cross-Selling with Collaborative Filtering

17

References

P. Domingos and M. Richardson, Mining the Network Value of Customers, Proceedings of the Seventh International Conference on Knowledge Discovery and Data Mining (pp. 57-66), 2001. San Francisco, CA: ACM Press.

Page 18: Cross-Selling with Collaborative Filtering

18

Motivation Network value is ignored (Direct

marketing). Examples:

Market to Affected (under the network effect)

Lowexpectedprofit

Highexpectedprofit

Highexpectedprofit

Marketed

Page 19: Cross-Selling with Collaborative Filtering

19

Some Successful Case

Hotmail Grew from 0 to 12 million users in 18

months Each email include a promotional URL of

it. ICQ

Expand quickly First appear, user addicted to it Depend it to contact with friend

Page 20: Cross-Selling with Collaborative Filtering

20

Introduction

Incorporate the network value in maximizing the expected profit.

Social networks: modeled by the Markov random field

Probability to buy = Desirability of the item + Influence from others

Goal = maximize the expected profit

Page 21: Cross-Selling with Collaborative Filtering

21

Focus

Making use of network value practically in recommendation

Although the algorithm may be used in other applications, the focus is NOT a generic algorithm

Page 22: Cross-Selling with Collaborative Filtering

22

Assumption

Customer (buying) decision can be affected by other customer’s rating

Market to people who is inclined to see the film

One will not continue to use the system if he did not find its recommendations useful (natural elimination assumption)

Page 23: Cross-Selling with Collaborative Filtering

23

Modeling

View the markets as Social Networks Model the Social Network as Markov

random field What is Markov random field ?

An experiment with outcomes being functions of more than one continuous variable. [e.g. P(x,y,z)]

The outcome depends on the neighbors’.

Page 24: Cross-Selling with Collaborative Filtering

24

Variable definition

X={X1, …,Xn} : a set of n potential customer, Xi=1 (buy), Xi=0 (not buy)

Xk (known value), Xu (unknown value) Ni ={Xi,1,…, Xi,n} : neighbor of Xi

Y={Y1,…, Ym} : a set of attribute to describe the product

M={M1,…, Mn} : a set of market action to each customer

Page 25: Cross-Selling with Collaborative Filtering

25

Example (set of Y)

Using EachMovie as example. Xi : Whether the person i saw the

movie ? Y : The movie genre Ri : Rating to the movie by person i It sets Y as the movie genre,

different problems can set different Y.

Page 26: Cross-Selling with Collaborative Filtering

26

Goal of modeling

To find the market action (M) to different customer, to achieve best profit.

Profit is called ELP (expected lift in profit) ELPi(Xk,Y,M) = r1P(Xi=1|Xk,Y,fi

1(M))-r0P(Xi=1|Xk,Y,fi

0(M)) –c r1: revenue with market action r0: revenue without market action

Page 27: Cross-Selling with Collaborative Filtering

27

Three different modeling algorithm

Single pass Greedy search Hill-climbing search

Page 28: Cross-Selling with Collaborative Filtering

28

Scenarios Customer {A,B,C,D} A: He/She will buy the product if

someone suggest and discount ( and M=1)

C,D: He/She will buy the product if someone suggest or discount (M=1)

B: He/She will never buy the product

C A D BDiscount /suggest

Discount +suggest

Discount /suggest

M=1M=1The best:

Page 29: Cross-Selling with Collaborative Filtering

29

Single pass

For each i, set Mi=1 if ELP(Xk,Y,fi1(M0))

> 0, and set Mi=0 otherwise. Adv: Fast algorithm, one pass only Disadv:

Some market action to the later customer may affect the previous customer

And they are ignored

Page 30: Cross-Selling with Collaborative Filtering

30

Single Pass Example

M = {0,0,0,0} ELP(Xk,Y,f01(M0)) <= 0

M = {0,0,0,0} ELP(Xk,Y,f11(M0)) <= 0

M = {0,0,0,0} ELP(Xk,Y,f21(M0)) > 0

M = {0,0,1,0} ELP(Xk,Y,f31(M0)) > 0

M = {0,0,1,1} Done

Single pass

A, B, C, D

C A D BDiscount /suggest

Discount +suggest

Discount /suggest

M=1M=1

Page 31: Cross-Selling with Collaborative Filtering

31

Greedy Algorithm

Set M= M0. Loop through the Mi’s,

setting each Mi to 1 if ELP(Xk,Y,fi1(M)) >

ELP(Xk,Y,M). Continue until no changes in M.

Adv: Later changes to the Mi’s will affect the previous Mi.

Disadv: It takes much more computation time, several scans needed.

Page 32: Cross-Selling with Collaborative Filtering

32

Greedy Example

M0 = {0,0,0,0} no pass M = {0,0,1,1} first pass M = {1,0,1,1} second pass M = {1,0,1,1} Done

A, B, C, D

C A D BDiscount /suggest

Discount +suggest

Discount /suggest

M=1M=1 M=1

Page 33: Cross-Selling with Collaborative Filtering

33

Hill-climbing search

Set M= M0. Set Mi1=1, where i1=argmaxi{ELP(Xk,Y,fi

1(M))}. Repeat

Let i=argmaxi{ELP(Xk,Y, fi1( fi1

1(M)))} set Mi=1,

Until there is no i for setting Mi=1 with a larger ELP.

Adv: The best M will be calculated, as each time the best Mi

will be selected. Disadv: The most expensive algorithm.

Page 34: Cross-Selling with Collaborative Filtering

34

Hill Climbing Example

M = {0,0,0,0} no pass M = {0,0,1,0} first pass M = {1,0,1,0} Second pass M = {1,0,1,0} Done

A, B, C, D

C A D BDiscount /suggest

Discount +suggest

Discount /suggest

M=1M=1The best:

Page 35: Cross-Selling with Collaborative Filtering

35

Who Are the Neighbors?

Mining Social Networks by Using Collaborative Filtering (CFinSC).

Using Pearson correlation coefficient to calculate the similarity.

The result in CFinSC can be used to calculate the Social networks.

ELP and M can be found by Social networks.

Page 36: Cross-Selling with Collaborative Filtering

36

Who are the neighbors?

Calculate the weight of every customer by the following equation:

Page 37: Cross-Selling with Collaborative Filtering

37

Neighbors’ Ratings for Product

Calculate the Rating of the neighbor by the following equation.

If the neighbor did not rate the item, Rjk is set to mean of Rj

Page 38: Cross-Selling with Collaborative Filtering

38

Estimating the Probabilities

P(Xi):Items rated by user i P(Yk|Xi) :Obtained by counting the

number of occurrences of each value of Yk with each value of Xi.

P(Mi|Xi) :Select user in random, do market action to them, record their effect. (If data not available, using prior knowledge to judge)

Page 39: Cross-Selling with Collaborative Filtering

39

Preprocessing

Zero mean

Prune people ratings cover too few movies (10)

Non-zero standard deviation in ratings

Penalize the Pearson correlation coefficient if both users rate very few movies in common

Remove all movies which were viewed by < 1% of the people

Page 40: Cross-Selling with Collaborative Filtering

40

Experiment Setup

Data: Each movie Trainset & Testset (temporal

effect)

Trainset Testset

(old) (new)

1/96 9/96 9/97

1/96 9/96 12/96

rating

released

Page 41: Cross-Selling with Collaborative Filtering

41

Experiment Setup – cont.

Target: 3 methods of searching an optimized marketing action VS baseline (direct marketing)

Page 42: Cross-Selling with Collaborative Filtering

42

Experiment Results

[Quote from the paper directly]

Page 43: Cross-Selling with Collaborative Filtering

43

Experiment Results – cont.

Proposed algorithms are much better than direct marketing

Hill >(slight) greedy >> single-pass >> direct

Higher α, better results!

Page 44: Cross-Selling with Collaborative Filtering

44

Item Selection By “Hub-Authority” Profit Ranking

ACM KDD2002

Ke WangMing-Yen Thomas Su

Simon Fraser University

Page 45: Cross-Selling with Collaborative Filtering

45

Ranking in Inter-related World Web pages Social networks Cross-selling

Page 46: Cross-Selling with Collaborative Filtering

46

$1.5

$10

$3 $0.5

$5

$3

$15$2

$8

100%

100%

30%

50% 35%

60%

Item Ranking with Cross-selling Effect

What are the most profitable items?

Page 47: Cross-Selling with Collaborative Filtering

47

The Hub/Authority Modeling

Hubs i: “introductory” for sales of other items j (i->j).

Authorities j: “necessary” for sales of other items i (i->j).

Solution: model the mutual enforcement of hub and authority weights through links. Challenges: Incorporate individual profits of

items and strength of links, and ensure hub/authority weights converges

Page 48: Cross-Selling with Collaborative Filtering

48

Selecting Most Profitable Items

Size-constrained selection given a size s, find s items that produce the

most profit as a whole solution: select the s items at the top of

ranking Cost-constrained selection

given the cost for selecting each item, find a collection of items that produce the most profit as a whole

solution: the same as above for uniform cost

Page 49: Cross-Selling with Collaborative Filtering

49

Solution to const-constrained selection

# of items selected

Optimal cutoff

Estimated profit

Selection cost

Page 50: Cross-Selling with Collaborative Filtering

50

Web Page Ranking Algorithm – HITS (Hyperlink-Induced Topic Search)

Mutually reinforcing relationship Hub weight: h(i) = a(j), for all page j

such that i have a link to j Authority weight: a(i) = h(j), for all

page j that have a link to i h(j) a and h converge if normalized

before each iteration

Page 51: Cross-Selling with Collaborative Filtering

51

The Cross-Selling Graph

Find frequent items and 2-itemsets Create a link i j if Conf(i j) is

above a specified value (i and j may be same)

“Quality” of link i j: prof(i)*conf(i j). Intuitively, it is the credit of j due to its influence on i

Page 52: Cross-Selling with Collaborative Filtering

52

Computing Weights in HAP

For each iteration, Authority weights: a(i) = j i prof(j) conf(j i)

h(j) Hub weights: h(i) = i j prof(i) conf(i j) a(i)

Cross-selling matrix B B[i, j] = prof(i) conf(i, j) for link i j B[i, j]=0 if no link i j (i.e. (i, j) is not frequent set)

Compute weights iteratively or use eigen analysis

Rank items using their authority weights

Page 53: Cross-Selling with Collaborative Filtering

53

Example Given frequent items, X, Y, and Z and the

table

We get the cross-selling matrix B:

prof(X) = $5 conf(XY)= 0.2 conf(YX)= 0.06

prof(Y) = $1 conf(XZ)= 0.8 conf(ZX)= 0.2

prof(Z) = $0.1 conf(YZ)= 0.5 conf(ZY)= 0.375

X Y Z

X 5.0000

1.0000

4.0000

Y 0.0600

1.0000

0.5000

Z 0.0200

0.0375

0.1000

e.g. B[X,Y] = prof(X) conf(X,Y) = 1.0000

Page 54: Cross-Selling with Collaborative Filtering

54

Example (con’t)

prof(X) = $5, prof(Y) = $1, prof(Z) = $0.1

a(X) = 0.767, a(Y) = 0.166, a(Z) = 0.620

HAP Ranking is different from ranking the individual profit The cross-selling effect increases the

profitability of Z

Page 55: Cross-Selling with Collaborative Filtering

55

Empirical Study

Conduct experiments on two datasets

Compare 3 selection methods: HAP, PROFSET [4, 5], and Naïve.

HAP generate the highest estimated profit in most cases.

Page 56: Cross-Selling with Collaborative Filtering

56

Empirical Study

Drug Store Synthetic

Transaction # 193,995 10,000

Item # 26,128 1,000Avg. Trans

length2.86 10

Total profit $1,006,970 $317,579

minsupp 0.1% 0.05% 0.5% 0.1%

Freq. items 332 999 602 879

Freq. pairs 39 115 15 11322

Page 57: Cross-Selling with Collaborative Filtering

57

Experiment Results

drug store dataset minssup=0.1%

28000

30000

32000

34000

36000

38000

40000

100 150 200 250 300 325

# of selected items

estim

ated

pro

fit

HAP

PROFSET

Naïve

*PROFSET[4]