1.2 Expert Systems

How rules-based systems can be used for binary classification

Use-cases

Where have expert systems been used - past and recent applications

(c) One Fourth Labs

(1990)

(1990)

(1965)

(1995)

(2018)

Hanane et. al., Expert Systems, May 2018.

Limitations

Do we need to look beyond expert systems?

(c) One Fourth Labs

Task of  hiring someone for a job

10th marks

12th marks

  graduate

post graduate

   projects

if 10th>90 and 12>90 and GRADUATE:
    return hired
elif 10th>80 and 12th>80 and POST_GRADUATE:
    return hired
elif 10th<70 and 12th<70:
    return not_hired

10th

12th

graduate

Output

YES / NO

Inputs

Limitations

Do we need to look beyond expert systems?

(c) One Fourth Labs

Task of  hiring someone for a job - involving many factors

10th marks

if 10th>90 and 12>90 and GRADUATE:
    return hired
elif 10th>80 and 12th>80 and POST_GRADUATE:
    return hired
elif 10th<70 and 12th<70:
    return not_hired

10th

12th

graduate

12th marks

  graduate

post graduate

  projects

   awards

.....

10th marks 12th marks graduate post graduate projects ........... awards
92 82 yes yes 3 ........... 2
83 75.2 yes no 1 ........... 0
75 70 no no 0 ........... 1
96 95 yes yes 5 ........... 4
90 89 yes yes 2 ........... 1
78 82 yes no 0 ........... 0
86 88 yes no 1 ........... 1

 Lots of data to make sense from

Output

YES / NO

Limitations

Do we need to look beyond expert systems?

10th marks 12th marks graduate post graduate projects ........... awards
92 82 yes yes 3 ........... 2
83 75.2 yes no 1 ........... 0
75 70 no no 0 ........... 1
96 95 yes yes 5 ........... 4
90 89 yes yes 2 ........... 1
78 82 yes no 0 ........... 0
86 88 yes no 1 ........... 1
if 10th>90 and 12>90 and GRADUATE:
    return hired
elif 10th>80 and 12th>80 and POST_GRADUATE:
    return hired
elif 10th<70 and 12th<70:
    return not_hired
elif awards>2 and GRADUATE:
    return hired
elif not POST_GRADUATE and publications>1:
    return hired
elif projects>10 and publications>2:
    return hired
elif competitions>3 and publications>3:
    return hired
elif awards>5:
    return hired
elif GRADUATE and not POST_GRADUATE and awards>5:
    return hired

The rules can be very complex

(c) One Fourth Labs

Limitations

Do we need to look beyond expert systems?

The rules can sometimes be unknown:

- task of predicting Ebola

Output

high  fever

  headache

sore throat

   weakness

    nausea

?

?

YES / NO

Inputs

(c) One Fourth Labs

Limitations

Do we need to look beyond expert systems?

(c) One Fourth Labs

The rules can be sometimes inexpressible

10th marks

12th marks

  graduate

post graduate

   projects

 

Output

YES / NO

Inputs

?

I saw truth in his eyes

(c) One Fourth Labs

Say Hi to Machine Learning

How to move from writing rules to learning rules?

10th marks 12th marks graduate post graduate projects ........... awards HIRED
92 82 yes yes 3 ........... 2 yes
83 75.2 yes no 1 ........... 0 yes
75 70 no no 0 ........... 1 no
96 95 yes yes 5 ........... 4 yes
90 89 yes yes 2 ........... 1 yes
78 82 yes no 0 ........... 0 no
86 88 yes no 1 ........... 1 no
def f(x):
    if 10th>90 and 12>90 and GRADUATE:
        return hired
    elif 10th>80 and 12th>80 and POST_GRADUATE:
        return hired
    elif 10th<70 and 12th<70:
        return not_hired

10th

12th

graduate

Output

YES / NO

def f(x):
    i=0
    max_epochs=100
    w = rand()
    while(i<max_epochs):
        dw = grad(w,w*x)
        w = w - lr*dx
        i += 1
    return w*x
Made with Slides.com