Abduction in Classification Tasks AI*IA 2003 M. Atzori, P. - - PowerPoint PPT Presentation

abduction in classification tasks
SMART_READER_LITE
LIVE PREVIEW

Abduction in Classification Tasks AI*IA 2003 M. Atzori, P. - - PowerPoint PPT Presentation

Abduction in Classification Tasks AI*IA 2003 M. Atzori, P. Mancarella, F. Turini { atzori,paolo,turini } @di.unipi.it Dipartimento di Informatica Universit` a di Pisa, Italy Abduction in Classification Tasks AI*IA 2003 p.1 Goal In Data


slide-1
SLIDE 1

Abduction in Classification Tasks

AI*IA 2003

  • M. Atzori, P. Mancarella, F. Turini

{atzori,paolo,turini}@di.unipi.it

Dipartimento di Informatica Universit` a di Pisa, Italy

Abduction in Classification Tasks AI*IA 2003 – p.1

slide-2
SLIDE 2

Goal

In Data Mining we want to get more information from raw data:

Abduction in Classification Tasks AI*IA 2003 – p.2

slide-3
SLIDE 3

Goal

In Data Mining we want to get more information from raw data:

  • generalizing data

Abduction in Classification Tasks AI*IA 2003 – p.2

slide-4
SLIDE 4

Goal

In Data Mining we want to get more information from raw data:

  • generalizing data
  • using aggregated data

Abduction in Classification Tasks AI*IA 2003 – p.2

slide-5
SLIDE 5

Goal

In Data Mining we want to get more information from raw data:

  • generalizing data
  • using aggregated data

The framework we are going to present is a postprocessing step useful to:

Abduction in Classification Tasks AI*IA 2003 – p.2

slide-6
SLIDE 6

Goal

In Data Mining we want to get more information from raw data:

  • generalizing data
  • using aggregated data

The framework we are going to present is a postprocessing step useful to:

  • obtain new information from aggregated data

Abduction in Classification Tasks AI*IA 2003 – p.2

slide-7
SLIDE 7

Goal

In Data Mining we want to get more information from raw data:

  • generalizing data
  • using aggregated data

The framework we are going to present is a postprocessing step useful to:

  • obtain new information from aggregated data
  • query aggregated data

Abduction in Classification Tasks AI*IA 2003 – p.2

slide-8
SLIDE 8

Goal

In Data Mining we want to get more information from raw data:

  • generalizing data
  • using aggregated data

The framework we are going to present is a postprocessing step useful to:

  • obtain new information from aggregated data
  • query aggregated data
  • explain aggregated data

Abduction in Classification Tasks AI*IA 2003 – p.2

slide-9
SLIDE 9

Summary

  • Abduction in Logic Programming

Abduction in Classification Tasks AI*IA 2003 – p.3

slide-10
SLIDE 10

Summary

  • Abduction in Logic Programming
  • Abductive Interpretation of Decision Trees

Abduction in Classification Tasks AI*IA 2003 – p.3

slide-11
SLIDE 11

Summary

  • Abduction in Logic Programming
  • Abductive Interpretation of Decision Trees
  • Definition

Abduction in Classification Tasks AI*IA 2003 – p.3

slide-12
SLIDE 12

Summary

  • Abduction in Logic Programming
  • Abductive Interpretation of Decision Trees
  • Definition
  • Examples of Applications

Abduction in Classification Tasks AI*IA 2003 – p.3

slide-13
SLIDE 13

Summary

  • Abduction in Logic Programming
  • Abductive Interpretation of Decision Trees
  • Definition
  • Examples of Applications
  • Theoretical Results

Abduction in Classification Tasks AI*IA 2003 – p.3

slide-14
SLIDE 14

Summary

  • Abduction in Logic Programming
  • Abductive Interpretation of Decision Trees
  • Definition
  • Examples of Applications
  • Theoretical Results
  • Implementation

Abduction in Classification Tasks AI*IA 2003 – p.3

slide-15
SLIDE 15

Summary

  • Abduction in Logic Programming
  • Abductive Interpretation of Decision Trees
  • Definition
  • Examples of Applications
  • Theoretical Results
  • Implementation
  • Conclusions

Abduction in Classification Tasks AI*IA 2003 – p.3

slide-16
SLIDE 16

What is Abduction?

Abduction is a form of synthetic reasoning which infers the case from a rule and a result, i.e. B, A ⇒ B A

Abduction in Classification Tasks AI*IA 2003 – p.4

slide-17
SLIDE 17

What is Abduction?

Abduction is a form of synthetic reasoning which infers the case from a rule and a result, i.e. B, A ⇒ B A In Logic Programming:

Let P, A, Ic be an abductive framework and let G be a goal. Then an abductive explanation for G is a set ∆ ⊆ A of ground abducible atoms such that:

Abduction in Classification Tasks AI*IA 2003 – p.4

slide-18
SLIDE 18

What is Abduction?

Abduction is a form of synthetic reasoning which infers the case from a rule and a result, i.e. B, A ⇒ B A In Logic Programming:

Let P, A, Ic be an abductive framework and let G be a goal. Then an abductive explanation for G is a set ∆ ⊆ A of ground abducible atoms such that:

  • P ∪ ∆ |

= G

Abduction in Classification Tasks AI*IA 2003 – p.4

slide-19
SLIDE 19

What is Abduction?

Abduction is a form of synthetic reasoning which infers the case from a rule and a result, i.e. B, A ⇒ B A In Logic Programming:

Let P, A, Ic be an abductive framework and let G be a goal. Then an abductive explanation for G is a set ∆ ⊆ A of ground abducible atoms such that:

  • P ∪ ∆ |

= G

  • P ∪ ∆ ∪ Ic is consistent.

Abduction in Classification Tasks AI*IA 2003 – p.4

slide-20
SLIDE 20

Classification as an Abductive Problem

  • Knowledge Base
  • Observations
  • Integrity Constraints

Abduction in Classification Tasks AI*IA 2003 – p.5

slide-21
SLIDE 21

Classification as an Abductive Problem

  • Knowledge Base
  • Set of rules corresponding to all tree paths
  • Observations
  • Integrity Constraints

Abduction in Classification Tasks AI*IA 2003 – p.5

slide-22
SLIDE 22

Classification as an Abductive Problem

  • Knowledge Base
  • Set of rules corresponding to all tree paths
  • Observations
  • One of the leaves
  • Integrity Constraints

Abduction in Classification Tasks AI*IA 2003 – p.5

slide-23
SLIDE 23

Classification as an Abductive Problem

  • Knowledge Base
  • Set of rules corresponding to all tree paths
  • Observations
  • One of the leaves
  • Integrity Constraints
  • Extra information about the domain

Abduction in Classification Tasks AI*IA 2003 – p.5

slide-24
SLIDE 24

Classification as an Abductive Problem

  • Knowledge Base
  • Set of rules corresponding to all tree paths
  • Observations
  • One of the leaves
  • Integrity Constraints
  • Extra information about the domain

We obtain a framework able to answer abductive que- ries starting from the induced data

Abduction in Classification Tasks AI*IA 2003 – p.5

slide-25
SLIDE 25

The Process Induced Tree

Abduction in Classification Tasks AI*IA 2003 – p.6

slide-26
SLIDE 26

The Process Induced Tree Abductive Framework

Transformation into rules

Abduction in Classification Tasks AI*IA 2003 – p.6

slide-27
SLIDE 27

The Process Induced Tree Abductive Framework

Transformation into rules

User

Abductive Queries Abductive Answers

Abduction in Classification Tasks AI*IA 2003 – p.6

slide-28
SLIDE 28

Applications

Abductive Logic Programming frameworks can be profitably used in order to query induced decision trees (representing generalized data) in an abductive way, obtaining for example:

Abduction in Classification Tasks AI*IA 2003 – p.7

slide-29
SLIDE 29

Applications

Abductive Logic Programming frameworks can be profitably used in order to query induced decision trees (representing generalized data) in an abductive way, obtaining for example:

  • better classification (by adding domain specific

knowledge as integrity constraints)

Abduction in Classification Tasks AI*IA 2003 – p.7

slide-30
SLIDE 30

Applications

Abductive Logic Programming frameworks can be profitably used in order to query induced decision trees (representing generalized data) in an abductive way, obtaining for example:

  • better classification (by adding domain specific

knowledge as integrity constraints)

  • the reason why an instance belongs to a particular

class (by adding knowledge about the instance and then a

simple abductive query)

Abduction in Classification Tasks AI*IA 2003 – p.7

slide-31
SLIDE 31

Applications

Abductive Logic Programming frameworks can be profitably used in order to query induced decision trees (representing generalized data) in an abductive way, obtaining for example:

  • better classification (by adding domain specific

knowledge as integrity constraints)

  • the reason why an instance belongs to a particular

class (by adding knowledge about the instance and then a

simple abductive query)

  • a set of attributes whose values should be

changed in order to obtain a different class (by

finding differences between two similar results of different goals)

Abduction in Classification Tasks AI*IA 2003 – p.7

slide-32
SLIDE 32

An Example: Training Set

Outlook Temperature Humidity Wind Class Sunny Hot High Weak No Sunny Hot High Strong No Overcast Hot High Weak Yes Rainy Mild High Weak Yes Rainy Cool Low Weak Yes Rainy Cool Low Strong No Overcast Cool Low Strong Yes Sunny Mild High Weak No Sunny Cool Low Weak Yes Rainy Mild Low Weak Yes Sunny Mild Low Strong Yes Overcast Mild High Strong Yes Overcast Hot Low Weak Yes Rainy Mild High Strong No

Abduction in Classification Tasks AI*IA 2003 – p.8

slide-33
SLIDE 33

An Example: Training Set

Outlook Temperature Humidity Wind Class Sunny Hot High Weak No Sunny Hot High Strong No Overcast Hot High Weak Yes Rainy Mild High Weak Yes Rainy Cool Low Weak Yes Rainy Cool Low Strong No Overcast Cool Low Strong Yes Sunny Mild High Weak No Sunny Cool Low Weak Yes Rainy Mild Low Weak Yes Sunny Mild Low Strong Yes

Abduction in Classification Tasks AI*IA 2003 – p.8

slide-34
SLIDE 34

An Example: Training Set

Outlook Temperature Humidity Wind Class Sunny Hot High Weak No Sunny Hot High Strong No Overcast Hot High Weak Yes Rainy Mild High Weak Yes Rainy Cool Low Weak Yes Rainy Cool Low Strong No Overcast Cool Low Strong Yes Sunny Mild High Weak No

Abduction in Classification Tasks AI*IA 2003 – p.8

slide-35
SLIDE 35

An Example: Tree

Overlook Humidity Wind Yes Yes No Yes No

Sunny Overcast Rainy High Low Strong Weak

Abduction in Classification Tasks AI*IA 2003 – p.9

slide-36
SLIDE 36

An Example: Extra Knowledge

Let’s imagine that whenever there is strong wind the humidity is not high: Ic = ¬(Humidity(High), Wind(Strong))

Abduction in Classification Tasks AI*IA 2003 – p.10

slide-37
SLIDE 37

An Example: Extra Knowledge

Let’s imagine that whenever there is strong wind the humidity is not high: Ic = ¬(Humidity(High), Wind(Strong)) Possible reasons:

Abduction in Classification Tasks AI*IA 2003 – p.10

slide-38
SLIDE 38

An Example: Extra Knowledge

Let’s imagine that whenever there is strong wind the humidity is not high: Ic = ¬(Humidity(High), Wind(Strong)) Possible reasons:

  • we are interested only in that kind of days

Abduction in Classification Tasks AI*IA 2003 – p.10

slide-39
SLIDE 39

An Example: Extra Knowledge

Let’s imagine that whenever there is strong wind the humidity is not high: Ic = ¬(Humidity(High), Wind(Strong)) Possible reasons:

  • we are interested only in that kind of days
  • our extra knowledge arises from knowledge

sources different from the ones which provide the training set

Abduction in Classification Tasks AI*IA 2003 – p.10

slide-40
SLIDE 40

An Example: Abduction

We want to classify the instance e = {Overlook(Sunny), Wind(Strong)}.

Abduction in Classification Tasks AI*IA 2003 – p.11

slide-41
SLIDE 41

An Example: Abduction

We want to classify the instance e = {Overlook(Sunny), Wind(Strong)}.

Overlook Humidity Wind Yes Yes No Yes No

Sunny Overcast Rainy High Low Strong Weak

Abduction in Classification Tasks AI*IA 2003 – p.11

slide-42
SLIDE 42

An Example: Abduction

We want to classify the instance e = {Overlook(Sunny), Wind(Strong)}. In the corresponding abductive framework:

Abduction in Classification Tasks AI*IA 2003 – p.11

slide-43
SLIDE 43

An Example: Abduction

We want to classify the instance e = {Overlook(Sunny), Wind(Strong)}. In the corresponding abductive framework:

  • ∆e = {Overlook(Sunny), Wind(Strong)}

Abduction in Classification Tasks AI*IA 2003 – p.11

slide-44
SLIDE 44

An Example: Abduction

We want to classify the instance e = {Overlook(Sunny), Wind(Strong)}. In the corresponding abductive framework:

  • ∆e = {Overlook(Sunny), Wind(Strong)}
  • Ic = ¬(Humidity(High), Wind(Strong))

Abduction in Classification Tasks AI*IA 2003 – p.11

slide-45
SLIDE 45

An Example: Abduction

We want to classify the instance e = {Overlook(Sunny), Wind(Strong)}. In the corresponding abductive framework:

  • ∆e = {Overlook(Sunny), Wind(Strong)}
  • Ic = ¬(Humidity(High), Wind(Strong))
  • ∆1 = {Humidity(Low)} for Y es

Abduction in Classification Tasks AI*IA 2003 – p.11

slide-46
SLIDE 46

An Example: Abduction

We want to classify the instance e = {Overlook(Sunny), Wind(Strong)}. In the corresponding abductive framework:

  • ∆e = {Overlook(Sunny), Wind(Strong)}
  • Ic = ¬(Humidity(High), Wind(Strong))
  • ∆1 = {Humidity(Low)} for Y es
  • ∆2 = {Humidity(High)} for No

Abduction in Classification Tasks AI*IA 2003 – p.11

slide-47
SLIDE 47

An Example: Abduction

We want to classify the instance e = {Overlook(Sunny), Wind(Strong)}. In the corresponding abductive framework:

  • ∆e = {Overlook(Sunny), Wind(Strong)}
  • Ic = ¬(Humidity(High), Wind(Strong))
  • ∆1 = {Humidity(Low)} for Y es
  • ∆2 = {Humidity(High)} for No

∆e ∪ ∆2 = {Overlook(Sunny), Wind(Strong), Humidity(High)} is inconsistent ⇒ ∆2 is ruled out.

Abduction in Classification Tasks AI*IA 2003 – p.11

slide-48
SLIDE 48

Soundness and Completeness

We have an instance (even with missing attribute values) E with class C, and ABT (the abductive framework obtained from the tree T)

Abduction in Classification Tasks AI*IA 2003 – p.12

slide-49
SLIDE 49

Soundness and Completeness

We have an instance (even with missing attribute values) E with class C, and ABT (the abductive framework obtained from the tree T)

  • Soundness
  • Completeness

Abduction in Classification Tasks AI*IA 2003 – p.12

slide-50
SLIDE 50

Soundness and Completeness

We have an instance (even with missing attribute values) E with class C, and ABT (the abductive framework obtained from the tree T)

  • Soundness
  • If ∆ is a minimal solution for ABT then using

T with E ∪ ∆ we reach a leaf C

  • Completeness

Abduction in Classification Tasks AI*IA 2003 – p.12

slide-51
SLIDE 51

Soundness and Completeness

We have an instance (even with missing attribute values) E with class C, and ABT (the abductive framework obtained from the tree T)

  • Soundness
  • If ∆ is a minimal solution for ABT then using

T with E ∪ ∆ we reach a leaf C

  • Completeness
  • If given ∆ we can reach a leaf C in the tree

then ∆ is a minimal solution for ABT

Abduction in Classification Tasks AI*IA 2003 – p.12

slide-52
SLIDE 52

Soundness and Completeness

We have an instance (even with missing attribute values) E with class C, and ABT (the abductive framework obtained from the tree T)

  • Soundness
  • If ∆ is a minimal solution for ABT then using

T with E ∪ ∆ we reach a leaf C

  • Completeness
  • If given ∆ we can reach a leaf C in the tree

then ∆ is a minimal solution for ABT ⇒ The abductive framework is at least as powerful as decision trees

Abduction in Classification Tasks AI*IA 2003 – p.12

slide-53
SLIDE 53

Implementation

We are testing the Abduction framework on decision trees obtained from web log datasets. The abductive framework is automatically generated from the decision trees by a parser written in Java. The abductive answers are obtained using ACLP (University of Cyprus) within the Eclipse Prolog.

http://www.di.unipi.it/∼atzori/DTAbduction

Abduction in Classification Tasks AI*IA 2003 – p.13

slide-54
SLIDE 54

Conclusions

  • Abductive reasoning can be useful in the context
  • f Classification, as a postprocessing step, for:
  • Improving effectiveness, when we deal with

incomplete data and with external domain knowledge

  • Explaining results in order to get the reason of a

classification

  • Answer abductive queries finding out how attribute

values should be changed in order to get a different classification

Abduction in Classification Tasks AI*IA 2003 – p.14

slide-55
SLIDE 55

Future Works

  • We still need to insert abductive interpretation of

decision trees into a probabilistic abductive framework, in order to get, for example, support and confidence of abductive answers

  • Join together different data mining paradigms:
  • Classification, as already showed
  • Association Rules, as a way to automatically generate

constraints from the training set

  • Clustering, finding similarities between rules and then,

through abduction, showing the differences between rules in the same cluster

Abduction in Classification Tasks AI*IA 2003 – p.15