67
Artificial Intelligence: Search & Mining 2015 人工知能: 探索とマイニング Sequence Mining Kevin Duh 2015-05-26

ArtificialIntelligence: Search&Miningcs.jhu.edu/~kevinduh/notes/search_and_mining_2015_Sequence.pdf · ArtificialIntelligence: Search&Mining 2015人工知能:探索とマイニング

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ArtificialIntelligence: Search&Miningcs.jhu.edu/~kevinduh/notes/search_and_mining_2015_Sequence.pdf · ArtificialIntelligence: Search&Mining 2015人工知能:探索とマイニング

Artificial Intelligence:

Search &Mining2015人工知能:探索とマイニング

SequenceMining

Kevin Duh

2015-05-26

Page 2: ArtificialIntelligence: Search&Miningcs.jhu.edu/~kevinduh/notes/search_and_mining_2015_Sequence.pdf · ArtificialIntelligence: Search&Mining 2015人工知能:探索とマイニング

Today’s Agenda

Review of Apriori Algorithm

SequenceMining

PrefixSpan Algorithm

2 / 67

Page 3: ArtificialIntelligence: Search&Miningcs.jhu.edu/~kevinduh/notes/search_and_mining_2015_Sequence.pdf · ArtificialIntelligence: Search&Mining 2015人工知能:探索とマイニング

Recall: Frequent Itemset Mining

▶ Given a finite set of items {A, B,C, . . .}

▶ in several baskets, e.g.▶ Basket 1: {A, B,D}▶ Basket 2: {A, B,C, E}▶ Basket 3: {B, E, F}▶ Basket 4: {A, B, E, F}

▶ The support of itemset I is thenumber of baskets that contain I

▶ Goal: Find all frequent itemsets, i.e.sets of items with support ≥ s

3 / 67

Page 4: ArtificialIntelligence: Search&Miningcs.jhu.edu/~kevinduh/notes/search_and_mining_2015_Sequence.pdf · ArtificialIntelligence: Search&Mining 2015人工知能:探索とマイニング

Recall: Frequent Itemset Mining

▶ Given a finite set of items {A, B,C, . . .}▶ in several baskets, e.g.

▶ Basket 1: {A, B,D}▶ Basket 2: {A, B,C, E}▶ Basket 3: {B, E, F}▶ Basket 4: {A, B, E, F}

▶ The support of itemset I is thenumber of baskets that contain I

▶ Goal: Find all frequent itemsets, i.e.sets of items with support ≥ s

4 / 67

Page 5: ArtificialIntelligence: Search&Miningcs.jhu.edu/~kevinduh/notes/search_and_mining_2015_Sequence.pdf · ArtificialIntelligence: Search&Mining 2015人工知能:探索とマイニング

Recall: Frequent Itemset Mining

▶ Given a finite set of items {A, B,C, . . .}▶ in several baskets, e.g.

▶ Basket 1: {A, B,D}▶ Basket 2: {A, B,C, E}▶ Basket 3: {B, E, F}▶ Basket 4: {A, B, E, F}

▶ The support of itemset I is thenumber of baskets that contain I

▶ Goal: Find all frequent itemsets, i.e.sets of items with support ≥ s

5 / 67

Page 6: ArtificialIntelligence: Search&Miningcs.jhu.edu/~kevinduh/notes/search_and_mining_2015_Sequence.pdf · ArtificialIntelligence: Search&Mining 2015人工知能:探索とマイニング

Recall: Frequent Itemset Mining

▶ Given a finite set of items {A, B,C, . . .}▶ in several baskets, e.g.

▶ Basket 1: {A, B,D}▶ Basket 2: {A, B,C, E}▶ Basket 3: {B, E, F}▶ Basket 4: {A, B, E, F}

▶ The support of itemset I is thenumber of baskets that contain I

▶ Goal: Find all frequent itemsets, i.e.sets of items with support ≥ s

6 / 67

Page 7: ArtificialIntelligence: Search&Miningcs.jhu.edu/~kevinduh/notes/search_and_mining_2015_Sequence.pdf · ArtificialIntelligence: Search&Mining 2015人工知能:探索とマイニング

Example▶ We are given:

▶ Basket 1: {A, B,D}▶ Basket 2: {A, B,C, E}▶ Basket 3: {B, E, F}▶ Basket 4: {A, B, E, F}

▶ 1-item Itemsets & their support:▶ {A}: 3, {B}: 4, {C}: 1, {D}: 1, {E}: 3, {F}: 2

▶ 2-item Itemsets & their support:▶ {A, B}: 3, {A,C}: 1, {A,D}: 1, {A, E}: 2,{A, F}: 1, {B,C}: 1, {B,D}: 1, ...

▶ 3-item Itemsets & their support:▶ {A, B,C}: 1, {A, B,D}: 1, {A, B, E}: 1,{A, B, F}: 1, {A,C,D}: 0, ...

7 / 67

Page 8: ArtificialIntelligence: Search&Miningcs.jhu.edu/~kevinduh/notes/search_and_mining_2015_Sequence.pdf · ArtificialIntelligence: Search&Mining 2015人工知能:探索とマイニング

Example▶ We are given:

▶ Basket 1: {A, B,D}▶ Basket 2: {A, B,C, E}▶ Basket 3: {B, E, F}▶ Basket 4: {A, B, E, F}

▶ 1-item Itemsets & their support:▶ {A}: 3, {B}: 4, {C}: 1, {D}: 1, {E}: 3, {F}: 2

▶ 2-item Itemsets & their support:▶ {A, B}: 3, {A,C}: 1, {A,D}: 1, {A, E}: 2,{A, F}: 1, {B,C}: 1, {B,D}: 1, ...

▶ 3-item Itemsets & their support:▶ {A, B,C}: 1, {A, B,D}: 1, {A, B, E}: 1,{A, B, F}: 1, {A,C,D}: 0, ...

8 / 67

Page 9: ArtificialIntelligence: Search&Miningcs.jhu.edu/~kevinduh/notes/search_and_mining_2015_Sequence.pdf · ArtificialIntelligence: Search&Mining 2015人工知能:探索とマイニング

Example▶ We are given:

▶ Basket 1: {A, B,D}▶ Basket 2: {A, B,C, E}▶ Basket 3: {B, E, F}▶ Basket 4: {A, B, E, F}

▶ 1-item Itemsets & their support:▶ {A}: 3, {B}: 4, {C}: 1, {D}: 1, {E}: 3, {F}: 2

▶ 2-item Itemsets & their support:▶ {A, B}: 3, {A,C}: 1, {A,D}: 1, {A, E}: 2,{A, F}: 1, {B,C}: 1, {B,D}: 1, ...

▶ 3-item Itemsets & their support:▶ {A, B,C}: 1, {A, B,D}: 1, {A, B, E}: 1,{A, B, F}: 1, {A,C,D}: 0, ...

9 / 67

Page 10: ArtificialIntelligence: Search&Miningcs.jhu.edu/~kevinduh/notes/search_and_mining_2015_Sequence.pdf · ArtificialIntelligence: Search&Mining 2015人工知能:探索とマイニング

Example▶ We are given:

▶ Basket 1: {A, B,D}▶ Basket 2: {A, B,C, E}▶ Basket 3: {B, E, F}▶ Basket 4: {A, B, E, F}

▶ 1-item Itemsets & their support:▶ {A}: 3, {B}: 4, {C}: 1, {D}: 1, {E}: 3, {F}: 2

▶ 2-item Itemsets & their support:▶ {A, B}: 3, {A,C}: 1, {A,D}: 1, {A, E}: 2,{A, F}: 1, {B,C}: 1, {B,D}: 1, ...

▶ 3-item Itemsets & their support:▶ {A, B,C}: 1, {A, B,D}: 1, {A, B, E}: 1,{A, B, F}: 1, {A,C,D}: 0, ...

10 / 67

Page 11: ArtificialIntelligence: Search&Miningcs.jhu.edu/~kevinduh/notes/search_and_mining_2015_Sequence.pdf · ArtificialIntelligence: Search&Mining 2015人工知能:探索とマイニング

Monotonicity Principle

▶ If I is not frequent, then no superset ofI can be frequent.

▶ Aprior Algorithm exploits this: Smartenumeration of itemset.

11 / 67

Page 12: ArtificialIntelligence: Search&Miningcs.jhu.edu/~kevinduh/notes/search_and_mining_2015_Sequence.pdf · ArtificialIntelligence: Search&Mining 2015人工知能:探索とマイニング

Apriori AlgorithmAlternate between:▶ Lk: set of truly frequent itemsets of

size k▶ Ck: set of candidate itemsets of size k

▶ constructed from Lk−1, avoids allpossible enumerations

Figure from Rajamaran et. al., Mining of Massive Datasets, chapter 612 / 67

Page 13: ArtificialIntelligence: Search&Miningcs.jhu.edu/~kevinduh/notes/search_and_mining_2015_Sequence.pdf · ArtificialIntelligence: Search&Mining 2015人工知能:探索とマイニング

Apriori Algorithm (example run)▶ Find frequent itemsets (s = 3):

▶ Basket 1: {A, B,D}▶ Basket 2: {A, B,C, E}▶ Basket 3: {B, E, F}▶ Basket 4: {A, B, E, F}

1 First pass (1-item itemsets)▶ C1: {A}:3, {B}:4, {C}:1, {D}:1, {E}:3, {F}:2▶ L1: {A}, {B}, {E}

2 Second pass (2-item itemsets)▶ C2: {A, B}: 3, {A, E}: 2, {B, E}: 3▶ L2: {A, B}, {B, E}

3 Third pass (3-item itemsets)▶ C3: {A, B, E}: 2; L3 : ∅

13 / 67

Page 14: ArtificialIntelligence: Search&Miningcs.jhu.edu/~kevinduh/notes/search_and_mining_2015_Sequence.pdf · ArtificialIntelligence: Search&Mining 2015人工知能:探索とマイニング

Apriori Algorithm (example run)▶ Find frequent itemsets (s = 3):

▶ Basket 1: {A, B,D}▶ Basket 2: {A, B,C, E}▶ Basket 3: {B, E, F}▶ Basket 4: {A, B, E, F}

1 First pass (1-item itemsets)▶ C1: {A}:3, {B}:4, {C}:1, {D}:1, {E}:3, {F}:2▶ L1: {A}, {B}, {E}

2 Second pass (2-item itemsets)▶ C2: {A, B}: 3, {A, E}: 2, {B, E}: 3▶ L2: {A, B}, {B, E}

3 Third pass (3-item itemsets)▶ C3: {A, B, E}: 2; L3 : ∅

14 / 67

Page 15: ArtificialIntelligence: Search&Miningcs.jhu.edu/~kevinduh/notes/search_and_mining_2015_Sequence.pdf · ArtificialIntelligence: Search&Mining 2015人工知能:探索とマイニング

Today’s Agenda

Review of Apriori Algorithm

SequenceMining

PrefixSpan Algorithm

15 / 67

Page 16: ArtificialIntelligence: Search&Miningcs.jhu.edu/~kevinduh/notes/search_and_mining_2015_Sequence.pdf · ArtificialIntelligence: Search&Mining 2015人工知能:探索とマイニング

From Itemsets to Sequences

▶ Itemset Mining▶ Purchase 1: {camera,US B}▶ Purchase 2: {camera,US B, book}▶ Purchase 3: {printer, paper}▶ Purchase 4: {ink, paper}

▶ Sequence Mining:▶ Customer 1: ⟨{camera,US B}, {printer}⟩▶ Customer 2: ⟨{camera}, {printer}, {ink}⟩

▶ Customers who bought camera arelikely to buy printer later

16 / 67

Page 17: ArtificialIntelligence: Search&Miningcs.jhu.edu/~kevinduh/notes/search_and_mining_2015_Sequence.pdf · ArtificialIntelligence: Search&Mining 2015人工知能:探索とマイニング

From Itemsets to Sequences

▶ Itemset Mining▶ Purchase 1: {camera,US B}▶ Purchase 2: {camera,US B, book}▶ Purchase 3: {printer, paper}▶ Purchase 4: {ink, paper}

▶ Sequence Mining:▶ Customer 1: ⟨{camera,US B}, {printer}⟩▶ Customer 2: ⟨{camera}, {printer}, {ink}⟩

▶ Customers who bought camera arelikely to buy printer later

17 / 67

Page 18: ArtificialIntelligence: Search&Miningcs.jhu.edu/~kevinduh/notes/search_and_mining_2015_Sequence.pdf · ArtificialIntelligence: Search&Mining 2015人工知能:探索とマイニング

From Itemsets to Sequences

▶ Itemset Mining▶ Purchase 1: {camera,US B}▶ Purchase 2: {camera,US B, book}▶ Purchase 3: {printer, paper}▶ Purchase 4: {ink, paper}

▶ Sequence Mining:▶ Customer 1: ⟨{camera,US B}, {printer}⟩▶ Customer 2: ⟨{camera}, {printer}, {ink}⟩

▶ Customers who bought camera arelikely to buy printer later

18 / 67

Page 19: ArtificialIntelligence: Search&Miningcs.jhu.edu/~kevinduh/notes/search_and_mining_2015_Sequence.pdf · ArtificialIntelligence: Search&Mining 2015人工知能:探索とマイニング

ProblemDefinition

▶ A Sequence is an ordered list ofitemsets:

▶ Customer 1: ⟨{camera,US B}, {printer}⟩▶ Customer 2: ⟨{camera}, {printer}, {ink}⟩▶ Customer n: ⟨I1, I2, I3, ...⟩

▶ Goal: Find frequent sub-sequenceswith support ≥ s

▶ i.e. more than s customers exhibit thisbuying behavior

19 / 67

Page 20: ArtificialIntelligence: Search&Miningcs.jhu.edu/~kevinduh/notes/search_and_mining_2015_Sequence.pdf · ArtificialIntelligence: Search&Mining 2015人工知能:探索とマイニング

⟨{A}, {A, B,C}, {A,C}, {D}, {C, F}⟩▶ This has 5 itemsets (aka “events”)

▶ This has 9 items total, so is called alength-9 sequence

▶ Item A occurs 3 times. It contributes 3to the length but only 1 to the support

▶ Sub-sequences include:▶ ⟨{A, B,C}, {D}⟩▶ ⟨{A}, {B,C}, {C}, {D}, {C, F}⟩▶ ⟨{A}, {B,C}, {D}, {F}⟩

▶ But not: ⟨{D}, {A, B,C}⟩, etc.

20 / 67

Page 21: ArtificialIntelligence: Search&Miningcs.jhu.edu/~kevinduh/notes/search_and_mining_2015_Sequence.pdf · ArtificialIntelligence: Search&Mining 2015人工知能:探索とマイニング

⟨{A}, {A, B,C}, {A,C}, {D}, {C, F}⟩▶ This has 5 itemsets (aka “events”)▶ This has 9 items total, so is called a

length-9 sequence

▶ Item A occurs 3 times. It contributes 3to the length but only 1 to the support

▶ Sub-sequences include:▶ ⟨{A, B,C}, {D}⟩▶ ⟨{A}, {B,C}, {C}, {D}, {C, F}⟩▶ ⟨{A}, {B,C}, {D}, {F}⟩

▶ But not: ⟨{D}, {A, B,C}⟩, etc.

21 / 67

Page 22: ArtificialIntelligence: Search&Miningcs.jhu.edu/~kevinduh/notes/search_and_mining_2015_Sequence.pdf · ArtificialIntelligence: Search&Mining 2015人工知能:探索とマイニング

⟨{A}, {A, B,C}, {A,C}, {D}, {C, F}⟩▶ This has 5 itemsets (aka “events”)▶ This has 9 items total, so is called a

length-9 sequence▶ Item A occurs 3 times. It contributes 3

to the length but only 1 to the support

▶ Sub-sequences include:▶ ⟨{A, B,C}, {D}⟩▶ ⟨{A}, {B,C}, {C}, {D}, {C, F}⟩▶ ⟨{A}, {B,C}, {D}, {F}⟩

▶ But not: ⟨{D}, {A, B,C}⟩, etc.

22 / 67

Page 23: ArtificialIntelligence: Search&Miningcs.jhu.edu/~kevinduh/notes/search_and_mining_2015_Sequence.pdf · ArtificialIntelligence: Search&Mining 2015人工知能:探索とマイニング

⟨{A}, {A, B,C}, {A,C}, {D}, {C, F}⟩▶ This has 5 itemsets (aka “events”)▶ This has 9 items total, so is called a

length-9 sequence▶ Item A occurs 3 times. It contributes 3

to the length but only 1 to the support▶ Sub-sequences include:

▶ ⟨{A, B,C}, {D}⟩▶ ⟨{A}, {B,C}, {C}, {D}, {C, F}⟩▶ ⟨{A}, {B,C}, {D}, {F}⟩

▶ But not: ⟨{D}, {A, B,C}⟩, etc.

23 / 67

Page 24: ArtificialIntelligence: Search&Miningcs.jhu.edu/~kevinduh/notes/search_and_mining_2015_Sequence.pdf · ArtificialIntelligence: Search&Mining 2015人工知能:探索とマイニング

⟨{A}, {A, B,C}, {A,C}, {D}, {C, F}⟩▶ This has 5 itemsets (aka “events”)▶ This has 9 items total, so is called a

length-9 sequence▶ Item A occurs 3 times. It contributes 3

to the length but only 1 to the support▶ Sub-sequences include:

▶ ⟨{A, B,C}, {D}⟩▶ ⟨{A}, {B,C}, {C}, {D}, {C, F}⟩▶ ⟨{A}, {B,C}, {D}, {F}⟩

▶ But not: ⟨{D}, {A, B,C}⟩, etc.24 / 67

Page 25: ArtificialIntelligence: Search&Miningcs.jhu.edu/~kevinduh/notes/search_and_mining_2015_Sequence.pdf · ArtificialIntelligence: Search&Mining 2015人工知能:探索とマイニング

From here on, for simplicity...

▶ We only consider sequences with1-item events

▶ e.g. ⟨{A}, {A}, {C}, {D}, {F}⟩written as: ⟨A, A,C,D, F⟩

▶ Suitable for sequence data such astext, DNA, browsing history

25 / 67

Page 26: ArtificialIntelligence: Search&Miningcs.jhu.edu/~kevinduh/notes/search_and_mining_2015_Sequence.pdf · ArtificialIntelligence: Search&Mining 2015人工知能:探索とマイニング

From here on, for simplicity...

▶ We only consider sequences with1-item events

▶ e.g. ⟨{A}, {A}, {C}, {D}, {F}⟩written as: ⟨A, A,C,D, F⟩

▶ Suitable for sequence data such astext, DNA, browsing history

26 / 67

Page 27: ArtificialIntelligence: Search&Miningcs.jhu.edu/~kevinduh/notes/search_and_mining_2015_Sequence.pdf · ArtificialIntelligence: Search&Mining 2015人工知能:探索とマイニング

Example

▶ Extract frequent sub-sequence (s = 3)1 ⟨A, A, A,C,C⟩2 ⟨B,C, B,C, B⟩3 ⟨A,D,C, A, A, B⟩4 ⟨A,C, B,C, A, A⟩

▶ Frequent sub-sequences include:▶ ⟨A⟩▶ ⟨A, A⟩▶ ⟨A, A, A⟩▶ ⟨A,C⟩

27 / 67

Page 28: ArtificialIntelligence: Search&Miningcs.jhu.edu/~kevinduh/notes/search_and_mining_2015_Sequence.pdf · ArtificialIntelligence: Search&Mining 2015人工知能:探索とマイニング

Example

▶ Extract frequent sub-sequence (s = 3)1 ⟨A, A, A,C,C⟩2 ⟨B,C, B,C, B⟩3 ⟨A,D,C, A, A, B⟩4 ⟨A,C, B,C, A, A⟩

▶ Frequent sub-sequences include:▶ ⟨A⟩▶ ⟨A, A⟩▶ ⟨A, A, A⟩▶ ⟨A,C⟩

28 / 67

Page 29: ArtificialIntelligence: Search&Miningcs.jhu.edu/~kevinduh/notes/search_and_mining_2015_Sequence.pdf · ArtificialIntelligence: Search&Mining 2015人工知能:探索とマイニング

Applying the Apriori Algorithm▶ Extract frequent sub-sequence (s = 3)

1 ⟨A, A, A,C,C⟩2 ⟨B,C, B,C, B⟩3 ⟨A,D,C, A, A, B⟩4 ⟨A,C, B,C, A, A⟩

▶ 1st Pass:▶ C1 : ⟨A⟩, ⟨B⟩, ⟨C⟩, ⟨D⟩▶ L1 : ⟨A⟩, ⟨B⟩, ⟨C⟩

▶ 2nd Pass:▶ C2 : 3 × 3 candidates,⟨A, A⟩, ⟨A, B⟩, ⟨A,C⟩,⟨B, A⟩, ⟨B, B⟩, ⟨B,C⟩, ⟨C, A⟩, ⟨C, B⟩, ⟨C,C⟩

▶ L2 : ?

29 / 67

Page 30: ArtificialIntelligence: Search&Miningcs.jhu.edu/~kevinduh/notes/search_and_mining_2015_Sequence.pdf · ArtificialIntelligence: Search&Mining 2015人工知能:探索とマイニング

Applying the Apriori Algorithm▶ Extract frequent sub-sequence (s = 3)

1 ⟨A, A, A,C,C⟩2 ⟨B,C, B,C, B⟩3 ⟨A,D,C, A, A, B⟩4 ⟨A,C, B,C, A, A⟩

▶ 1st Pass:▶ C1 : ⟨A⟩, ⟨B⟩, ⟨C⟩, ⟨D⟩

▶ L1 : ⟨A⟩, ⟨B⟩, ⟨C⟩▶ 2nd Pass:

▶ C2 : 3 × 3 candidates,⟨A, A⟩, ⟨A, B⟩, ⟨A,C⟩,⟨B, A⟩, ⟨B, B⟩, ⟨B,C⟩, ⟨C, A⟩, ⟨C, B⟩, ⟨C,C⟩

▶ L2 : ?

30 / 67

Page 31: ArtificialIntelligence: Search&Miningcs.jhu.edu/~kevinduh/notes/search_and_mining_2015_Sequence.pdf · ArtificialIntelligence: Search&Mining 2015人工知能:探索とマイニング

Applying the Apriori Algorithm▶ Extract frequent sub-sequence (s = 3)

1 ⟨A, A, A,C,C⟩2 ⟨B,C, B,C, B⟩3 ⟨A,D,C, A, A, B⟩4 ⟨A,C, B,C, A, A⟩

▶ 1st Pass:▶ C1 : ⟨A⟩, ⟨B⟩, ⟨C⟩, ⟨D⟩▶ L1 : ⟨A⟩, ⟨B⟩, ⟨C⟩

▶ 2nd Pass:▶ C2 : 3 × 3 candidates,⟨A, A⟩, ⟨A, B⟩, ⟨A,C⟩,⟨B, A⟩, ⟨B, B⟩, ⟨B,C⟩, ⟨C, A⟩, ⟨C, B⟩, ⟨C,C⟩

▶ L2 : ?

31 / 67

Page 32: ArtificialIntelligence: Search&Miningcs.jhu.edu/~kevinduh/notes/search_and_mining_2015_Sequence.pdf · ArtificialIntelligence: Search&Mining 2015人工知能:探索とマイニング

Applying the Apriori Algorithm▶ Extract frequent sub-sequence (s = 3)

1 ⟨A, A, A,C,C⟩2 ⟨B,C, B,C, B⟩3 ⟨A,D,C, A, A, B⟩4 ⟨A,C, B,C, A, A⟩

▶ 1st Pass:▶ C1 : ⟨A⟩, ⟨B⟩, ⟨C⟩, ⟨D⟩▶ L1 : ⟨A⟩, ⟨B⟩, ⟨C⟩

▶ 2nd Pass:▶ C2 : 3 × 3 candidates,⟨A, A⟩, ⟨A, B⟩, ⟨A,C⟩,⟨B, A⟩, ⟨B, B⟩, ⟨B,C⟩, ⟨C, A⟩, ⟨C, B⟩, ⟨C,C⟩

▶ L2 : ?

32 / 67

Page 33: ArtificialIntelligence: Search&Miningcs.jhu.edu/~kevinduh/notes/search_and_mining_2015_Sequence.pdf · ArtificialIntelligence: Search&Mining 2015人工知能:探索とマイニング

Applying the Apriori Algorithm▶ Extract frequent sub-sequence (s = 3)

1 ⟨A, A, A,C,C⟩2 ⟨B,C, B,C, B⟩3 ⟨A,D,C, A, A, B⟩4 ⟨A,C, B,C, A, A⟩

▶ 1st Pass:▶ C1 : ⟨A⟩, ⟨B⟩, ⟨C⟩, ⟨D⟩▶ L1 : ⟨A⟩, ⟨B⟩, ⟨C⟩

▶ 2nd Pass:▶ C2 : 3 × 3 candidates,⟨A, A⟩, ⟨A, B⟩, ⟨A,C⟩,⟨B, A⟩, ⟨B, B⟩, ⟨B,C⟩, ⟨C, A⟩, ⟨C, B⟩, ⟨C,C⟩

▶ L2 : ?33 / 67

Page 34: ArtificialIntelligence: Search&Miningcs.jhu.edu/~kevinduh/notes/search_and_mining_2015_Sequence.pdf · ArtificialIntelligence: Search&Mining 2015人工知能:探索とマイニング

Issues with the Apriori Algorithm▶ We still need to generate many

candidates▶ For each candidate, we need to scan

the entire dataset

Next, we present the PrefixSpan algorithm.

▶ An instance of a family of algorithmscalled Frequent-Pattern (FP) Growththat addresses the above issues.

34 / 67

Page 35: ArtificialIntelligence: Search&Miningcs.jhu.edu/~kevinduh/notes/search_and_mining_2015_Sequence.pdf · ArtificialIntelligence: Search&Mining 2015人工知能:探索とマイニング

Issues with the Apriori Algorithm▶ We still need to generate many

candidates▶ For each candidate, we need to scan

the entire dataset

Next, we present the PrefixSpan algorithm.

▶ An instance of a family of algorithmscalled Frequent-Pattern (FP) Growththat addresses the above issues.

35 / 67

Page 36: ArtificialIntelligence: Search&Miningcs.jhu.edu/~kevinduh/notes/search_and_mining_2015_Sequence.pdf · ArtificialIntelligence: Search&Mining 2015人工知能:探索とマイニング

Today’s Agenda

Review of Apriori Algorithm

SequenceMining

PrefixSpan Algorithm

36 / 67

Page 37: ArtificialIntelligence: Search&Miningcs.jhu.edu/~kevinduh/notes/search_and_mining_2015_Sequence.pdf · ArtificialIntelligence: Search&Mining 2015人工知能:探索とマイニング

Prefix & Suffix

⟨A, A, A,C,C⟩

Prefix Suffix⟨A⟩ ⟨A, A,C,C⟩⟨A, A⟩ ⟨A,C,C⟩⟨A, A, A⟩ ⟨C,C⟩⟨A, A, A,C⟩ ⟨C⟩

37 / 67

Page 38: ArtificialIntelligence: Search&Miningcs.jhu.edu/~kevinduh/notes/search_and_mining_2015_Sequence.pdf · ArtificialIntelligence: Search&Mining 2015人工知能:探索とマイニング

PrefixSpan Algorithm (main idea)

▶ Divide & Conquer:1 First find length-1 frequent sequences.

Suppose there are m such cases.

2 The complete set of frequent patternscan be partitioned into m subsets, eachsubset having the same prefix.

3 Each partition is mined separately. Thisprocess is done recursively.

▶ Each partition is a (smaller)”projected” database

38 / 67

Page 39: ArtificialIntelligence: Search&Miningcs.jhu.edu/~kevinduh/notes/search_and_mining_2015_Sequence.pdf · ArtificialIntelligence: Search&Mining 2015人工知能:探索とマイニング

PrefixSpan Algorithm (main idea)

▶ Divide & Conquer:1 First find length-1 frequent sequences.

Suppose there are m such cases.2 The complete set of frequent patterns

can be partitioned into m subsets, eachsubset having the same prefix.

3 Each partition is mined separately. Thisprocess is done recursively.

▶ Each partition is a (smaller)”projected” database

39 / 67

Page 40: ArtificialIntelligence: Search&Miningcs.jhu.edu/~kevinduh/notes/search_and_mining_2015_Sequence.pdf · ArtificialIntelligence: Search&Mining 2015人工知能:探索とマイニング

PrefixSpan Algorithm (main idea)

▶ Divide & Conquer:1 First find length-1 frequent sequences.

Suppose there are m such cases.2 The complete set of frequent patterns

can be partitioned into m subsets, eachsubset having the same prefix.

3 Each partition is mined separately. Thisprocess is done recursively.

▶ Each partition is a (smaller)”projected” database

40 / 67

Page 41: ArtificialIntelligence: Search&Miningcs.jhu.edu/~kevinduh/notes/search_and_mining_2015_Sequence.pdf · ArtificialIntelligence: Search&Mining 2015人工知能:探索とマイニング

PrefixSpan Algorithm (main idea)

▶ Divide & Conquer:1 First find length-1 frequent sequences.

Suppose there are m such cases.2 The complete set of frequent patterns

can be partitioned into m subsets, eachsubset having the same prefix.

3 Each partition is mined separately. Thisprocess is done recursively.

▶ Each partition is a (smaller)”projected” database

41 / 67

Page 42: ArtificialIntelligence: Search&Miningcs.jhu.edu/~kevinduh/notes/search_and_mining_2015_Sequence.pdf · ArtificialIntelligence: Search&Mining 2015人工知能:探索とマイニング

PrefixSpan Algorithm (main idea)

▶ Divide & Conquer:1 First find length-1 frequent sequences.

Suppose there are m such cases.2 The complete set of frequent patterns

can be partitioned into m subsets, eachsubset having the same prefix.

3 Each partition is mined separately. Thisprocess is done recursively.

▶ Each partition is a (smaller)”projected” database

42 / 67

Page 43: ArtificialIntelligence: Search&Miningcs.jhu.edu/~kevinduh/notes/search_and_mining_2015_Sequence.pdf · ArtificialIntelligence: Search&Mining 2015人工知能:探索とマイニング

Projected database

▶ Original database:1 ⟨A, A, A,C,C⟩2 ⟨B,C, B,C, B⟩3 ⟨A,D,C, A, A, B⟩4 ⟨A,C, B,C, A, A⟩

▶ Projected database of Prefix ⟨A⟩:1 ⟨A, A,C,C⟩2 ∅3 ⟨D,C, A, A, B⟩4 ⟨C, B,C, A, A⟩

43 / 67

Page 44: ArtificialIntelligence: Search&Miningcs.jhu.edu/~kevinduh/notes/search_and_mining_2015_Sequence.pdf · ArtificialIntelligence: Search&Mining 2015人工知能:探索とマイニング

▶ Original database:1 ⟨A, A, A,C,C⟩2 ⟨B,C, B,C, B⟩3 ⟨A,D,C, A, A, B⟩4 ⟨A,C, B,C, A, A⟩

▶ Projected database of Prefix ⟨C⟩:

1 ⟨C⟩2 ⟨B,C, B⟩3 ⟨A, A, B⟩4 ⟨B,C, A, A⟩

▶ Trick: Frequent items in projecteddatabase combines with Prefix ⟨C⟩ toform frequent length-2 sequence!

▶ If B is frequent, then so is ⟨C, B⟩▶ If C is frequent, then so is ⟨C,C⟩

44 / 67

Page 45: ArtificialIntelligence: Search&Miningcs.jhu.edu/~kevinduh/notes/search_and_mining_2015_Sequence.pdf · ArtificialIntelligence: Search&Mining 2015人工知能:探索とマイニング

▶ Original database:1 ⟨A, A, A,C,C⟩2 ⟨B,C, B,C, B⟩3 ⟨A,D,C, A, A, B⟩4 ⟨A,C, B,C, A, A⟩

▶ Projected database of Prefix ⟨C⟩:1 ⟨C⟩

2 ⟨B,C, B⟩3 ⟨A, A, B⟩4 ⟨B,C, A, A⟩

▶ Trick: Frequent items in projecteddatabase combines with Prefix ⟨C⟩ toform frequent length-2 sequence!

▶ If B is frequent, then so is ⟨C, B⟩▶ If C is frequent, then so is ⟨C,C⟩

45 / 67

Page 46: ArtificialIntelligence: Search&Miningcs.jhu.edu/~kevinduh/notes/search_and_mining_2015_Sequence.pdf · ArtificialIntelligence: Search&Mining 2015人工知能:探索とマイニング

▶ Original database:1 ⟨A, A, A,C,C⟩2 ⟨B,C, B,C, B⟩3 ⟨A,D,C, A, A, B⟩4 ⟨A,C, B,C, A, A⟩

▶ Projected database of Prefix ⟨C⟩:1 ⟨C⟩2 ⟨B,C, B⟩

3 ⟨A, A, B⟩4 ⟨B,C, A, A⟩

▶ Trick: Frequent items in projecteddatabase combines with Prefix ⟨C⟩ toform frequent length-2 sequence!

▶ If B is frequent, then so is ⟨C, B⟩▶ If C is frequent, then so is ⟨C,C⟩

46 / 67

Page 47: ArtificialIntelligence: Search&Miningcs.jhu.edu/~kevinduh/notes/search_and_mining_2015_Sequence.pdf · ArtificialIntelligence: Search&Mining 2015人工知能:探索とマイニング

▶ Original database:1 ⟨A, A, A,C,C⟩2 ⟨B,C, B,C, B⟩3 ⟨A,D,C, A, A, B⟩4 ⟨A,C, B,C, A, A⟩

▶ Projected database of Prefix ⟨C⟩:1 ⟨C⟩2 ⟨B,C, B⟩3 ⟨A, A, B⟩

4 ⟨B,C, A, A⟩▶ Trick: Frequent items in projected

database combines with Prefix ⟨C⟩ toform frequent length-2 sequence!

▶ If B is frequent, then so is ⟨C, B⟩▶ If C is frequent, then so is ⟨C,C⟩

47 / 67

Page 48: ArtificialIntelligence: Search&Miningcs.jhu.edu/~kevinduh/notes/search_and_mining_2015_Sequence.pdf · ArtificialIntelligence: Search&Mining 2015人工知能:探索とマイニング

▶ Original database:1 ⟨A, A, A,C,C⟩2 ⟨B,C, B,C, B⟩3 ⟨A,D,C, A, A, B⟩4 ⟨A,C, B,C, A, A⟩

▶ Projected database of Prefix ⟨C⟩:1 ⟨C⟩2 ⟨B,C, B⟩3 ⟨A, A, B⟩4 ⟨B,C, A, A⟩

▶ Trick: Frequent items in projecteddatabase combines with Prefix ⟨C⟩ toform frequent length-2 sequence!

▶ If B is frequent, then so is ⟨C, B⟩▶ If C is frequent, then so is ⟨C,C⟩

48 / 67

Page 49: ArtificialIntelligence: Search&Miningcs.jhu.edu/~kevinduh/notes/search_and_mining_2015_Sequence.pdf · ArtificialIntelligence: Search&Mining 2015人工知能:探索とマイニング

▶ Original database:1 ⟨A, A, A,C,C⟩2 ⟨B,C, B,C, B⟩3 ⟨A,D,C, A, A, B⟩4 ⟨A,C, B,C, A, A⟩

▶ Projected database of Prefix ⟨C⟩:1 ⟨C⟩2 ⟨B,C, B⟩3 ⟨A, A, B⟩4 ⟨B,C, A, A⟩

▶ Trick: Frequent items in projecteddatabase combines with Prefix ⟨C⟩ toform frequent length-2 sequence!

▶ If B is frequent, then so is ⟨C, B⟩▶ If C is frequent, then so is ⟨C,C⟩

49 / 67

Page 50: ArtificialIntelligence: Search&Miningcs.jhu.edu/~kevinduh/notes/search_and_mining_2015_Sequence.pdf · ArtificialIntelligence: Search&Mining 2015人工知能:探索とマイニング

PrefixSpan Algorithm (example run)▶ Extract frequent sub-sequence (s = 3)

1 ⟨A, A, A,C,C⟩2 ⟨B,C, B,C, B⟩3 ⟨A,D,C, A, A, B⟩4 ⟨A,C, B,C, A, A⟩

▶ 1st pass: A : 3, B : 3,C : 4,D : 1▶ Frequent length-1 seq: ⟨A⟩, ⟨B⟩, ⟨C⟩▶ No frequent seq (any length) w/ prefix D

▶ Projected database with Prefix ⟨A⟩:1 ⟨A, A,C,C⟩2 ∅3 ⟨D,C, A, A, B⟩4 ⟨C, B,C, A, A⟩

50 / 67

Page 51: ArtificialIntelligence: Search&Miningcs.jhu.edu/~kevinduh/notes/search_and_mining_2015_Sequence.pdf · ArtificialIntelligence: Search&Mining 2015人工知能:探索とマイニング

PrefixSpan Algorithm (example run)▶ Extract frequent sub-sequence (s = 3)

1 ⟨A, A, A,C,C⟩2 ⟨B,C, B,C, B⟩3 ⟨A,D,C, A, A, B⟩4 ⟨A,C, B,C, A, A⟩

▶ 1st pass: A : 3, B : 3,C : 4,D : 1

▶ Frequent length-1 seq: ⟨A⟩, ⟨B⟩, ⟨C⟩▶ No frequent seq (any length) w/ prefix D

▶ Projected database with Prefix ⟨A⟩:1 ⟨A, A,C,C⟩2 ∅3 ⟨D,C, A, A, B⟩4 ⟨C, B,C, A, A⟩

51 / 67

Page 52: ArtificialIntelligence: Search&Miningcs.jhu.edu/~kevinduh/notes/search_and_mining_2015_Sequence.pdf · ArtificialIntelligence: Search&Mining 2015人工知能:探索とマイニング

PrefixSpan Algorithm (example run)▶ Extract frequent sub-sequence (s = 3)

1 ⟨A, A, A,C,C⟩2 ⟨B,C, B,C, B⟩3 ⟨A,D,C, A, A, B⟩4 ⟨A,C, B,C, A, A⟩

▶ 1st pass: A : 3, B : 3,C : 4,D : 1▶ Frequent length-1 seq: ⟨A⟩, ⟨B⟩, ⟨C⟩

▶ No frequent seq (any length) w/ prefix D▶ Projected database with Prefix ⟨A⟩:

1 ⟨A, A,C,C⟩2 ∅3 ⟨D,C, A, A, B⟩4 ⟨C, B,C, A, A⟩

52 / 67

Page 53: ArtificialIntelligence: Search&Miningcs.jhu.edu/~kevinduh/notes/search_and_mining_2015_Sequence.pdf · ArtificialIntelligence: Search&Mining 2015人工知能:探索とマイニング

PrefixSpan Algorithm (example run)▶ Extract frequent sub-sequence (s = 3)

1 ⟨A, A, A,C,C⟩2 ⟨B,C, B,C, B⟩3 ⟨A,D,C, A, A, B⟩4 ⟨A,C, B,C, A, A⟩

▶ 1st pass: A : 3, B : 3,C : 4,D : 1▶ Frequent length-1 seq: ⟨A⟩, ⟨B⟩, ⟨C⟩▶ No frequent seq (any length) w/ prefix D

▶ Projected database with Prefix ⟨A⟩:1 ⟨A, A,C,C⟩2 ∅3 ⟨D,C, A, A, B⟩4 ⟨C, B,C, A, A⟩

53 / 67

Page 54: ArtificialIntelligence: Search&Miningcs.jhu.edu/~kevinduh/notes/search_and_mining_2015_Sequence.pdf · ArtificialIntelligence: Search&Mining 2015人工知能:探索とマイニング

PrefixSpan Algorithm (example run)▶ Extract frequent sub-sequence (s = 3)

1 ⟨A, A, A,C,C⟩2 ⟨B,C, B,C, B⟩3 ⟨A,D,C, A, A, B⟩4 ⟨A,C, B,C, A, A⟩

▶ 1st pass: A : 3, B : 3,C : 4,D : 1▶ Frequent length-1 seq: ⟨A⟩, ⟨B⟩, ⟨C⟩▶ No frequent seq (any length) w/ prefix D

▶ Projected database with Prefix ⟨A⟩:1 ⟨A, A,C,C⟩2 ∅3 ⟨D,C, A, A, B⟩4 ⟨C, B,C, A, A⟩

54 / 67

Page 55: ArtificialIntelligence: Search&Miningcs.jhu.edu/~kevinduh/notes/search_and_mining_2015_Sequence.pdf · ArtificialIntelligence: Search&Mining 2015人工知能:探索とマイニング

▶ Projected database with Prefix ⟨A⟩:1 ⟨A, A,C,C⟩2 ∅3 ⟨D,C, A, A, B⟩4 ⟨C, B,C, A, A⟩

▶ Frequent items (s = 3): A: 3, B: 2, C: 3▶ Frequent length-2 seq: ⟨A, A⟩, ⟨A,C⟩

▶ Projected database with Prefix ⟨A, A⟩:1 ⟨A,C,C⟩2 ∅3 ⟨A, B⟩4 ⟨A⟩

▶ Frequent items (s = 3): A: 3, B: 1, C: 1▶ Frequent length-3 seq: ⟨A, A, A⟩

55 / 67

Page 56: ArtificialIntelligence: Search&Miningcs.jhu.edu/~kevinduh/notes/search_and_mining_2015_Sequence.pdf · ArtificialIntelligence: Search&Mining 2015人工知能:探索とマイニング

▶ Projected database with Prefix ⟨A⟩:1 ⟨A, A,C,C⟩2 ∅3 ⟨D,C, A, A, B⟩4 ⟨C, B,C, A, A⟩

▶ Frequent items (s = 3): A: 3, B: 2, C: 3▶ Frequent length-2 seq: ⟨A, A⟩, ⟨A,C⟩

▶ Projected database with Prefix ⟨A, A⟩:1 ⟨A,C,C⟩2 ∅3 ⟨A, B⟩4 ⟨A⟩

▶ Frequent items (s = 3): A: 3, B: 1, C: 1▶ Frequent length-3 seq: ⟨A, A, A⟩

56 / 67

Page 57: ArtificialIntelligence: Search&Miningcs.jhu.edu/~kevinduh/notes/search_and_mining_2015_Sequence.pdf · ArtificialIntelligence: Search&Mining 2015人工知能:探索とマイニング

▶ Projected database with Prefix ⟨A⟩:1 ⟨A, A,C,C⟩2 ∅3 ⟨D,C, A, A, B⟩4 ⟨C, B,C, A, A⟩

▶ Frequent items (s = 3): A: 3, B: 2, C: 3▶ Frequent length-2 seq: ⟨A, A⟩, ⟨A,C⟩

▶ Projected database with Prefix ⟨A, A⟩:1 ⟨A,C,C⟩2 ∅3 ⟨A, B⟩4 ⟨A⟩

▶ Frequent items (s = 3): A: 3, B: 1, C: 1▶ Frequent length-3 seq: ⟨A, A, A⟩

57 / 67

Page 58: ArtificialIntelligence: Search&Miningcs.jhu.edu/~kevinduh/notes/search_and_mining_2015_Sequence.pdf · ArtificialIntelligence: Search&Mining 2015人工知能:探索とマイニング

▶ Projected database with Prefix ⟨A⟩:1 ⟨A, A,C,C⟩2 ∅3 ⟨D,C, A, A, B⟩4 ⟨C, B,C, A, A⟩

▶ Frequent items (s = 3): A: 3, B: 2, C: 3▶ Frequent length-2 seq: ⟨A, A⟩, ⟨A,C⟩

▶ Projected database with Prefix ⟨A, A⟩:1 ⟨A,C,C⟩2 ∅3 ⟨A, B⟩4 ⟨A⟩

▶ Frequent items (s = 3): A: 3, B: 1, C: 1▶ Frequent length-3 seq: ⟨A, A, A⟩

58 / 67

Page 59: ArtificialIntelligence: Search&Miningcs.jhu.edu/~kevinduh/notes/search_and_mining_2015_Sequence.pdf · ArtificialIntelligence: Search&Mining 2015人工知能:探索とマイニング

▶ Projected database w/ Prefix ⟨A, A, A⟩:1 ⟨C,C⟩2 ∅3 ⟨B⟩4 ∅

▶ Frequent items (s = 3): B: 1, C: 1▶ No Frequent length-4 seq with prefix⟨A, A, A⟩

▶ Repeat recursively for Projecteddatabases with Prefix ⟨A,C⟩

▶ Repeat recursively for Projecteddatabases with Prefix ⟨B⟩

▶ Repeat recursively for Projecteddatabases with Prefix ⟨C⟩

59 / 67

Page 60: ArtificialIntelligence: Search&Miningcs.jhu.edu/~kevinduh/notes/search_and_mining_2015_Sequence.pdf · ArtificialIntelligence: Search&Mining 2015人工知能:探索とマイニング

▶ Projected database w/ Prefix ⟨A, A, A⟩:1 ⟨C,C⟩2 ∅3 ⟨B⟩4 ∅

▶ Frequent items (s = 3): B: 1, C: 1▶ No Frequent length-4 seq with prefix⟨A, A, A⟩

▶ Repeat recursively for Projecteddatabases with Prefix ⟨A,C⟩

▶ Repeat recursively for Projecteddatabases with Prefix ⟨B⟩

▶ Repeat recursively for Projecteddatabases with Prefix ⟨C⟩

60 / 67

Page 61: ArtificialIntelligence: Search&Miningcs.jhu.edu/~kevinduh/notes/search_and_mining_2015_Sequence.pdf · ArtificialIntelligence: Search&Mining 2015人工知能:探索とマイニング

▶ Projected database w/ Prefix ⟨A, A, A⟩:1 ⟨C,C⟩2 ∅3 ⟨B⟩4 ∅

▶ Frequent items (s = 3): B: 1, C: 1▶ No Frequent length-4 seq with prefix⟨A, A, A⟩

▶ Repeat recursively for Projecteddatabases with Prefix ⟨A,C⟩

▶ Repeat recursively for Projecteddatabases with Prefix ⟨B⟩

▶ Repeat recursively for Projecteddatabases with Prefix ⟨C⟩ 61 / 67

Page 62: ArtificialIntelligence: Search&Miningcs.jhu.edu/~kevinduh/notes/search_and_mining_2015_Sequence.pdf · ArtificialIntelligence: Search&Mining 2015人工知能:探索とマイニング

PrefixSpan vs. Apriori Algorithm

PrefixSpan AprioriGenerate 1-item only, Generates candidatethen combine with prefix sequencesScan projected Scan whole databasedatabase per candidateDepth-first search Breadth-first search

Main cost of PrefixSpan is construction of projected

database. Can be implemented by pointers

62 / 67

Page 63: ArtificialIntelligence: Search&Miningcs.jhu.edu/~kevinduh/notes/search_and_mining_2015_Sequence.pdf · ArtificialIntelligence: Search&Mining 2015人工知能:探索とマイニング

Summary▶ Sequence Mining problem:

▶ Customer 1: ⟨{camera,US B}, {printer}⟩▶ Customer 2: ⟨{camera}, {printer}, {ink}⟩▶ Customers who bought camera are likely

to buy printer later

▶ Apriori Algorithm: works ok but costly▶ PrefixSpan: Divide & Conquer

▶ Partition data by prefix.▶ Mine frequent item on smaller database

then combine with prefix

▶ Both still exploit Monotonicity

63 / 67

Page 64: ArtificialIntelligence: Search&Miningcs.jhu.edu/~kevinduh/notes/search_and_mining_2015_Sequence.pdf · ArtificialIntelligence: Search&Mining 2015人工知能:探索とマイニング

Summary▶ Sequence Mining problem:

▶ Customer 1: ⟨{camera,US B}, {printer}⟩▶ Customer 2: ⟨{camera}, {printer}, {ink}⟩▶ Customers who bought camera are likely

to buy printer later

▶ Apriori Algorithm: works ok but costly

▶ PrefixSpan: Divide & Conquer▶ Partition data by prefix.▶ Mine frequent item on smaller database

then combine with prefix

▶ Both still exploit Monotonicity

64 / 67

Page 65: ArtificialIntelligence: Search&Miningcs.jhu.edu/~kevinduh/notes/search_and_mining_2015_Sequence.pdf · ArtificialIntelligence: Search&Mining 2015人工知能:探索とマイニング

Summary▶ Sequence Mining problem:

▶ Customer 1: ⟨{camera,US B}, {printer}⟩▶ Customer 2: ⟨{camera}, {printer}, {ink}⟩▶ Customers who bought camera are likely

to buy printer later

▶ Apriori Algorithm: works ok but costly▶ PrefixSpan: Divide & Conquer

▶ Partition data by prefix.▶ Mine frequent item on smaller database

then combine with prefix

▶ Both still exploit Monotonicity

65 / 67

Page 66: ArtificialIntelligence: Search&Miningcs.jhu.edu/~kevinduh/notes/search_and_mining_2015_Sequence.pdf · ArtificialIntelligence: Search&Mining 2015人工知能:探索とマイニング

Summary▶ Sequence Mining problem:

▶ Customer 1: ⟨{camera,US B}, {printer}⟩▶ Customer 2: ⟨{camera}, {printer}, {ink}⟩▶ Customers who bought camera are likely

to buy printer later

▶ Apriori Algorithm: works ok but costly▶ PrefixSpan: Divide & Conquer

▶ Partition data by prefix.▶ Mine frequent item on smaller database

then combine with prefix

▶ Both still exploit Monotonicity66 / 67

Page 67: ArtificialIntelligence: Search&Miningcs.jhu.edu/~kevinduh/notes/search_and_mining_2015_Sequence.pdf · ArtificialIntelligence: Search&Mining 2015人工知能:探索とマイニング

NextWeek

▶ Graph Mining▶ Homework posted online

67 / 67