pozyskiwanie wiedzy

Download Report

Transcript pozyskiwanie wiedzy

Metody pozyskiwania wiedzy
bezpośrednie
zapisanie
wiedzy
pozyskiwanie
wiedzy
na podstawie
instrukcji
pozyskiwanie
wiedzy
na podstawie
przykładów
pozyskiwanie
wiedzy
na podstawie
analogii
pozyskiwanie
wiedzy
na podstawie
obserwacji
Bezpośrednie zapisanie wiedzy
• uczenie na pamięć (ang. rote learning)
• system uczony (uczeń) otrzymuje gotową
wiedzę w postaci kompletnych i spójnych
zbiorów reguł zapisanych zgodnie z
obowiązującymi w systemie zasadami
zapisu wiedzy
Pozyskiwanie wiedzy na
podstawie instrukcji
• uczenie przez przekazanie informacji (ang.
learning by being told)
• istotną rolę w tej metodzie odgrywa nauczyciel,
który tworzy wiedzę w postaci akceptowalnej
przez system ekspertowy
• uczeń dokonuje integracji nowej wiedzy z pewną
wiedzą aprioryczną
• nauczyciel narzuca natomiast strukturę i
charakter zapisywanej wiedzy
Pozyskiwanie wiedzy na
podstawie analogii
• polega na takiej transformacji istniejącej
wiedzy, by mogła być użyteczna do
opisów faktów podobnych (choć nie
identycznych)
• proces ten może odbywać się bez
nauczyciela choć wymaga aktywnego
zaangażowania ucznia do wyszukiwania i
„tłumaczenia” analogii
Pozyskiwanie wiedzy na
podstawie przykładów
• generuje się ogólny opis pojęć (klas) na
podstawie zbioru przykładów i/lub
kontrprzykładów obiektów
reprezentujących te pojęcia (klasy) –
metoda indukcyjna
• przykłady są dostarczane przez
nauczyciela
Pozyskiwanie wiedzy na
podstawie obserwacji
• metoda indukcyjna oparty o przykłady
(obserwacje) pochodzące ze świata
zewnętrznego lub z eksperymentów –
uczenie bez nauczyciela
• do indukcji można wykorzystywać techniki
eksploracji danych (ang. data mining),
grupowania, metody statystyki, sztuczne
sieci neuronowe, algorytmy genetyczne
Przykłady metod pozyskiwania
wiedzy
• Algorytm ID3
• Metoda generowania pokryć
Drzewo decyzyjne
A0
Nie
Tak
A1,1
Tak
A1,2
Nie
A1,1,1
A1,1,2
C1
C2
C3
Algorytm ID3 - Quinlana
Entropia:
n
I   ( pi log2 pi )
i 1
pi – prawdopodobieństwo wystąpienia stanu i
n
p
i 1
i
1
Entropia - przykład
• Entropia eksperymentu polegającego na
losowaniu w oparciu o „rzut monetą”
n
I   ( pi log2 pi )
i 1
1
1 1
1
I   log2  log2
2
2 2
2
1
1
I   (1)  (1)  1
2
2
Entropia - przykład
• Załóżmy, że moneta jest „oszukana” i
prawdopodobieństwo wylosowania orła wynosi
1/4 a reszki 3/4
1
1 3
3
I   log2  log2
4
4 4
4
I  0,81
• Ponieważ wiemy o oszustwie nasza niepewność
jest mniejsza
Algorytm ID3 - Quinlana
Entropia w przypadku wielu przykładów i wielu rezultatów:
n
nk
nk
I   ( log2 )
n
n
k 1
nk
liczba przykładów należących do klasy k
n
liczba wszystkich przykładów
Entropia w ujęciu częstościowym przykład
• Załóżmy, że znamy 10 przykładów
wniosków kredytowych ocenionych
pozytywnie
• Spośród nich 6 przypadków dotyczy
kredytów spłaconych, 2 spłaconych po
terminie i 2 niespłaconych w ogóle
6
6 2
2 2
2
I   log2  log2  log2
10
10 10
10 10
10
I  1,37
Entropia w ujęciu częstościowym przykład
• Załóżmy, że znamy 10 przykładów
wniosków kredytowych ocenionych
pozytywnie
• Obliczmy entropię, w przypadku gdy 3
przykłady dotyczyły kredytów spłaconych,
4 spłaconych z opóźnieniem i 3
niespłaconych
3
3 4
4 3
3
I   log2  log2  log2
10
10 10
10 10
10
I  1,57
Znaczenie entropii
• Im wyższa jest miara entropii tym mniej wiemy o
ocenianej sytuacji
• W pierwszym przypadku nie mieliśmy żadnych
przesłanek by oceniać możliwość niespłacenia
kredytu w oparciu o zewnętrzne informacje
• Wiemy jednak, że możliwość spłacenia kredytu
jest znacznie wyższa niż niespłacenia czy
opóźnienia
Algorytm ID3 - Quinlana
Ilość informacji przenoszona przez warunek j na temat całego
problemu:
Ej 
n

j
n

j
I 
n

j
n
I

j
n

j
liczba przykładów potwierdzonych przez warunek j
n

j
liczba przykładów zaprzeczonych przez warunek j
n
liczba wszystkich przykładów
• Załóżmy, że uzyskujemy następującą dodatkową
informację:
• spośród 10 przykładów w 6 przykładach kredyty
były zabezpieczone hipoteką a w 4 nie
• wówczas

1
n 6

1
n 4
n  10
Algorytm ID3 - Quinlana
Ilość informacji przenoszona przez warunek j:
m
I   (X

j
k 1
m
I   (X

j
k 1

j ,k
)

j ,k
)
Algorytm ID3 - Quinlana

dla n j ,k  0
X j ,k

0


 
n j ,k
n j ,k

log2 

 nj
nj


n
dla
j ,k  0
X j ,k

0


 
n j ,k
n j ,k

log2 

 nj
nj

dla n j ,k  0
dla n j ,k  0
Algorytm ID3 - Quinlana

j ,k
liczba przykładów potwierdzających, że jeżeli warunek j
jest spełniony to przykład należy do klasy k
n j ,k
liczba przykładów potwierdzających, że jeżeli warunek j
nie jest spełniony to przykład należy do klasy k
n
Dodatkowe informacje
• Załóżmy, że w przypadku wniosków
zabezpieczonych hipoteką (razem 6) 5
zostało spłaconych w terminie i jeden z
opóźnieniem; natomiast kredyty nie
zabezpieczone (razem 4) w jednym
przykładzie został spłacony w terminie, w
jednym spłacony z opóźnieniem a w
dwóch niespłacony
Obliczenia
• Obliczmy ilość informacji przenoszonych przez
przykłady dotyczące zabezpieczonych hipoteką
kredytów – spłaconych w terminie
j  1, k  1

1,1

j
n  5, n  6
X

1,1

n j ,k
n

j
X 1,1  0,22
log2
n j ,k
n

j
5
5
   log2
6
6
Obliczenia
• Obliczmy ilość informacji przenoszonych przez
przykłady dotyczące zabezpieczonych hipoteką
kredytów – spłaconych z opóźnieniem
j  1, k  2

1, 2
n
X

1, 2

1
 1, n  6

n j ,k
n

j
X 1, 2  0,43
log2
n j ,k
n

j
1
1
   log2
6
6
Obliczenia
• Ponieważ żaden zabezpieczony kredyt nie
pozostał niespłacony obliczamy łączną
informację przenoszoną przez zabezpieczone
kredyty

1
I  0,22  0,43 0  0,65
Obliczenia
• Obliczmy ilość informacji przenoszonych przez
przykłady dotyczące nie zabezpieczonych
hipoteką kredytów – spłaconych w terminie
j  1, k  1

1,1

1
n  1, n  4
X

1,1

n j ,k
n
X 1,1  0,5

j
log2
n j ,k
n

j
1
1
   log2
4
4
Obliczenia
• Obliczmy ilość informacji przenoszonych przez
przykłady dotyczące nie zabezpieczonych
hipoteką kredytów – spłaconych z opóźnieniem
j  1, k  2

1, 2
n
X

1, 2

1
 1, n  4

n j ,k
n
X 1, 2  0,5

j
log2
n j ,k
n

j
1
1
   log2
4
4
Obliczenia
• Obliczmy ilość informacji przenoszonych przez
przykłady dotyczące nie zabezpieczonych
hipoteką kredytów – niespłaconych
j  1, k  3

1, 3

1
n  2, n  4
X

1, 3

n j ,k
n
X 1, 2  0,5

j
log2
n j ,k
n

j
2
2
  log2
4
4
Obliczenia
• Obliczamy łączną informację przenoszoną przez
przykłady dotyczące nie zabezpieczonych
kredytów oraz ogółem przez informację o
zabezpieczeniu

1
I  0,5  0,5  0,5  1,5
Ej 
n j
I j 
n j
I j
n
n
6
4
E1  0,65  1,5  0,99
10
10
Dodatkowe informacje
• Załóżmy, że uzyskaliśmy dodatkową informację
o przeznaczeniu kredytu; wśród 10 przykładów 5
były to kredyty konsumpcyjne a 5 na zakup
samochodu
• Spośród kredytów konsumpcyjnych 3 zostały
spłacone, 1 spłacony w terminie i jeden
niespłacony
• Obliczmy jaką informację niesie fakt, że kredyt
był konsumpcyjny
Obliczenia
• Obliczmy ilość informacji przenoszonych przez
przykłady dotyczące kredytów konsumpcyjnych
– spłaconych w terminie
j  2, k  1

1,1

j
n  3, n  5
X

1,1

n j ,k
n

j
X 1,1  0,44
log2
n j ,k
n

j
3
3
  log2
5
5
Obliczenia
• Obliczmy ilość informacji przenoszonych przez
przykłady dotyczące kredytów konsumpcyjnych
– spłaconych z opóźnieniem
j  2, k  2
n2, 2  1, n2  5
n j ,k
X

2, 2

X

2, 2
 0,46
n

j
log2
n j ,k
n j
1
1
  log2
5
5
Obliczenia
• Obliczmy ilość informacji przenoszonych przez
przykłady dotyczące kredytów konsumpcyjnych
– niespłaconych
j  2, k  3
n2,3  1, n2  5
n j ,k
X

2,3

X

2,3
 0,46
n

j
log2
n j ,k
n j
1
1
  log2
5
5
Obliczenia
• Obliczamy łączną informację przenoszoną przez
przykłady dotyczące kredytów konsumpcyjnych

1
I  0,44  0,46  0,46  1,37
Dodatkowe informacje
• Załóżmy, że spośród kredytów innych niż
konsumpcyjne 3 zostały spłacone w
terminie, 1 z opóźnieniem i 1 w ogóle
niespłacony
Obliczenia
• Obliczmy ilość informacji przenoszonych przez
przykłady dotyczące kredytów innych niż
konsumpcyjne – spłaconych w terminie
j  2, k  1

1,1

j
n  3, n  5
X

1,1

n j ,k
n

j
X 1,1  0,44
log2
n j ,k
n

j
3
3
   log2
5
5
Obliczenia
• Obliczmy ilość informacji przenoszonych przez
przykłady dotyczące kredytów innych niż
konsumpcyjne – spłaconych z opóźnieniem
j  2, k  2
n2, 2  1, n2  5
n j ,k
X

2, 2

X

2, 2
 0,46
n

j
log2
n j ,k
n j
1
1
   log2
5
5
Obliczenia
• Obliczmy ilość informacji przenoszonych przez
przykłady dotyczące kredytów innych niż
konsumpcyjne – niespłaconych
j  2, k  3
n2,3  1, n2  5
n j ,k
X

2,3

X

2,3
 0,46
n

j
log2
n j ,k
n j
1
1
   log2
5
5
Obliczenia
• Obliczamy łączną informację przenoszoną przez
przykłady dotyczące kredytów innych niż
konsumpcyjne oraz ogółem przez informację o
rodzaju kredytu
I1  0,44  0,46  0,46  1,37
Ej 
n j
I j 
n j
I j
n
n
5
5
E1  1,37  1,37  1,37
10
10
Algorytm ID3 - Quinlana
Warunek wyboru warunku k:
max ( I  E j )
j
Porównanie dwóch informacji
• Informacja o zabezpieczeniu
I  E1  1,37  0,99  0,38
• Informacja o rodzaju kredytu
I  E2  1,37 1,37  0,0
Przykład – dobór formy reklamy
wiek
płeć
mieszka
reklama
<20
20-30
>30
K
M
wieś
miasto
Internet
Prasa
Telewizja
1
1
0
0
0
1
1
0
0
0
0
0
0
0
1
0
1
0
0
1
1
0
0
0
0
0
0
1
0
0
0
0
0
1
1
1
1
0
0
0
1
0
1
1
0
1
1
0
0
1
1
1
0
1
0
0
1
0
0
1
0
0
0
0
0
1
1
1
1
1
0
1
1
1
1
1
1
0
0
0
0
0
1
0
1
1
1
1
1
1
1
1
1
1
1
1
n  12
n1  2
n2  3
n3  7
Przykład – dobór formy reklamy
n3
n1
n2 n2
n2 n3
I   log2  log2  log2
n
n n
n n
n
2
2 3
3 7
7
I   log2  log2  log2
12
12 12
12 12
12
I  1,3844
Przykład – dobór formy reklamy
Ilość informacji przenoszona przez potwierdzenie warunku 1

1
I 

1,1

1
n
n
log2 (

1,1

1
n
n
)0

1, 3

1
n
n
2
2 2
2
I   log2 ( )  log2 ( )
4
4 4
4

1
I1  1
log2 (

1, 3

1
n
n
)
Przykład – dobór formy reklamy
Ilość informacji przenoszona przez zaprzeczenie warunku 1

1
I  0

1, 2

1
n
n
log2 (

1, 2

1
n
n
)

1, 3

1
n
n
3
3 5
5
I   log2 ( )  log2 ( )
8
8 8
8

1

1
I  0,9544
log2 (

1, 3

1
n
n
)
Przykład – dobór formy reklamy
Ilość informacji przenoszona przez warunek j na temat całego
problemu:

1

1
n  n 
E1 
I1 
I1
n
n
4
8
E1  *1  * 0,9544
12
12
E1  0,9696
I  E1  0,4147
Przykład – dobór formy reklamy
j
I-Ej
1
0,4147
2
0,1852
3
0,1140
4
0,0290
5
0,0290
6
0,6548
7
0,6548
Przykład – dobór formy reklamy
wiek
płeć
mieszka
reklama
<20
20-30
>30
K
M
wieś
miasto
Internet
Prasa
Telewizja
1
1
0
0
0
0
0
0
1
0
1
0
0
0
0
1
0
1
1
0
0
0
1
1
0
1
1
1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
wiek
płeć
mieszka
reklama
<20
20-30
>30
K
M
wieś
miasto
Internet
Prasa
Telewizja
1
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
1
0
1
1
0
1
0
1
0
0
1
0
1
1
1
1
1
1
1
0
0
0
0
0
0
1
1
1
1
1
1
Przykład – dobór formy reklamy
j
I-Ej
1
0,8249
2
0,3658
3
0,3658
4
0,1142
5
0,1142
Drzewo decyzyjne
mieszka na wsi
Tak
Nie
wiek<20
Tak
Nie
płeć=K
Internet
Tak
Tak
telewizja
telewizja
wiek>30
Nie
prasa
Nie
prasa
Algorytm ID3 przy ciągłych
wartościach cech
• Załóżmy, że cechy obiektów przyjmują wartości z
pewnych ciągłych przedziałów, wówczas
O  {o1 ,...,oi ,...,on }
A  {a1 ,...,ai ,...,am }
K  {k1 ,...,ki ,...,al }
gdzie
O 
A 
K 
zbiór obiektów (przykładów)
zbiór atrybutów identyczny dla wszystkich przykładów
zbiór klas, do których kwalifikujemy przykłady
Algorytm ID3 przy ciągłych
wartościach cech
(d i ,1  wi ,1 )  ...  (d i , j  wi , j )  ...  (d i ,m  wi ,m )
 (ci  kl ) i
wi , j  ( w min j ; w max j )
gdzie
di , j

wartość atrybutu j w przykładzie i
ci

numer klasy do której należy i-ty przykład
Algorytm ID3 przy ciągłych
wartościach cech
• Ponieważ dla takiego zapisu nie można wprost
wykorzystać metody ID3 należy wprowadzić dodatkowo
dla kolejnych atrybutów wartości w* dzielące dziedzinę
na dwa rozłączne podzbiory
• należy tak przekształcać warunki i przykłady by możliwy
był następujący zapis:
(di ,1  w1* )  ...  (di , j  w*j )  ...  (di ,m  wm* )
 (ci  kl )
Przykład
• Należy określić zależność wielkości
sprzedaży od wieku klienta, poziomu
wykształcenia oraz odległości od sklepu
wiek
lata
18
20
35
21
40
wykształcenie
poziom
2
3
3
4
5
odległość
m
200
500
100
600
400
wartość zakupów
zł/m-c
klasa
100
1
50
1
400
3
200
2
550
3
Wybór punktu podziału
• Badamy jaką ilość informacji na temat problemu przenosi
wiek klienta. W tym celu wybieramy taki punktu podziału
w* ze zbioru {20, 21, 35, 40} , który wprowadza
najwięcej informacji. Uzyskujemy następujące tabele:
Wybór punktu podziału wg wieku
wiek
klasa
wiek
klasa
wiek
klasa
wiek
klasa
<20
>=20
1
2
3
1
0
1
0
0
0
1
1
0
0
0
1
0
1
0
0
1
0
0
1
0
1
0
0
1
<21
>=21
1
2
3
1
0
1
0
0
1
0
1
0
0
0
1
0
1
0
0
1
0
0
1
0
1
0
0
1
<35
>=35
1
2
3
1
0
1
0
0
1
0
1
0
0
1
0
0
1
0
0
1
0
0
1
0
1
0
0
1
<40
>=40
1
2
3
1
0
1
0
0
1
0
1
0
0
1
0
0
1
0
1
0
0
0
1
0
1
0
0
1
Wybór punktu podziału wg wieku
w*
I-Ej
20
0,5219
21
1,063
35
1,063
40
0,5219
Wybór punktu podziału wg
wykształcenia
w*
I-Ej
3
0,5219
4
0,7294
5
0,5219
Wybór punktu podziału wg
odległości
w*
I-Ej
200
0,5219
400
0,3961
500
0,7294
600
0,8553
Koniec pierwszego etapu
• Jeżeli za czynnik decydujący w pierwszym etapie o
podziale przypadków wiek <35 wówczas uzyskamy
następujące podzbiory
wiek
lata
18
20
21
wykształcenie
poziom
2
3
4
odległość
m
200
500
600
wartość zakupów
zł/m-c
klasa
100
1
50
1
200
2
wiek
lata
35
40
wykształcenie
poziom
3
5
odległość
m
100
400
wartość zakupów
zł/m-c
klasa
400
3
550
3
Kontynuacja
• Przedstawione procedury powtarzamy dla
każdego z podzbiorów aż do pełnego
rozjaśnienia problemu
• UWAGA: metoda nie dopuszcza
przykładów sprzecznych
Generowanie pokryć - przykład
• Wybieramy podzbiór P obiektów
należących do klasy k i podzbiór M
obiektów nie należących do danej klasy
• Z podzbioru P wybieramy dowolny
przykład xr
• Ustalamy różnice w warunkach pomiędzy
wybranym przykładem a wszystkimi
przykładami z podzbioru M
Przykład – dobór formy reklamy
wiek
płeć
mieszka
reklama
<20
20-30
>30
K
M
wieś
miasto
Internet
Prasa
Telewizja
1
1
0
0
0
1
1
0
0
0
0
0
0
0
1
0
1
0
0
1
1
0
0
0
0
0
0
1
0
0
0
0
0
1
1
1
1
0
0
0
1
0
1
1
0
1
1
0
0
1
1
1
0
1
0
0
1
0
0
1
0
0
0
0
0
1
1
1
1
1
0
1
1
1
1
1
1
0
0
0
0
0
1
0
1
1
1
1
1
1
1
1
1
1
1
1
M
P
Generowanie pokryć - przykład
• Podzbiór P – wszystkie przykłady należące do
klasy telewizja
xr=[wiek<20] [płeć=M] [mieszka=wieś]
• Ustalamy różnice
dr1=[płeć=M] [mieszka=wieś]
dr2=[mieszka=wieś]
dr3=[wiek<20] [mieszka=wieś]
dr4= [wiek<20] [mieszka=wieś]
dr5= [wiek<20] [płeć=M] [mieszka=wieś]
Generowanie pokryć - przykład
• Generujemy pokrycia wybierając po jednym
warunku z każdej różnicy łącząc je każdy z
każdym:
z dr1 wybieramy [płeć=M]
z dr2 - [mieszka=wieś]
z dr3 – [wiek<20]
• ponieważ w kolejnych różnicach nie ma już
różnych warunków uzyskujemy pokrycie:
C1= [płeć=M] [mieszka=wieś] [wiek<20]
Generowanie pokryć - przykład
• Koniunkcja warunków w pokryciu wskazuje na
przykład, który na pewno nie należy do zbioru
M, a należy do zbioru P.
• Dalej:
z dr1 wybieramy [mieszka=wieś]
z dr3 - [wiek<20]
z dr5 – nie wybieramy [płeć=M] bo uzyskalibyśmy
pokrycie C1
• ponieważ w kolejnych różnicach nie ma już
różnych warunków uzyskujemy pokrycie:
C2= [mieszka=wieś] [wiek<20]
Generowanie pokryć - przykład
• Pokrycie C2. informuje nas o tym, że wszystkie
osoby mieszkające na wsi młodsze niż 20 lat na
pewno nie preferują telewizji jako medium
reklamowego.
• Zauważmy, że z każdej różnicy możemy wybrać
warunek [mieszka=wieś]
• Uzyskujemy pokrycie:
C3= [mieszka=wieś]
• co oznacza, że spełnienie tego warunku wyklucza
przynależność do badanej klasy.
Generowanie pokryć - przykład
• Wybieramy najkorzystniejsze pokrycie - C3 do
lewej strony reguły dopisując warunki C3
• uzyskujemy regułę
• [mieszka=wieś]  [reklama =Telewizja]
• Ze zbioru P usuwamy przykłady zgodne z regułą
C3
Przykład – dobór formy reklamy
wiek
płeć
mieszka
reklama
<20
20-30
>30
K
M
wieś
miasto
Internet
Prasa
Telewizja
1
1
0
0
0
1
1
0
0
0
0
0
0
0
1
0
1
0
0
1
1
0
0
0
0
0
0
1
0
0
0
0
0
1
1
1
1
0
0
0
1
0
1
1
0
1
1
0
0
1
1
1
0
1
0
0
1
0
0
1
0
0
0
0
0
1
1
1
1
1
0
1
1
1
1
1
1
0
0
0
0
0
1
0
1
1
1
1
1
1
1
1
1
1
1
1
Generowanie pokryć - przykład
• Podzbiór P – wszystkie przykłady należące do
klasy telewizja
xr=[wiek>30] [płeć=K] [mieszka=miasto]
• Ustalamy różnice
dr1=[wiek>30]
dr2=[wiek>30] [płeć=K]
dr3=[wiek>30] [płeć=K]
dr4= [płeć=K]
dr5= [wiek>30]
Generowanie pokryć - przykład
•
•
•
•
Generujemy pokrycia
C1=[wiek>30] [płeć=K]
Wybieramy pokrycie – C1
Ze zbioru P usuwamy przykłady zgodne z regułą
C1
• uzyskujemy regułę
• [mieszka=wieś]  [wiek>30] [płeć=K]
[reklama =Telewizja]
• Kontynuujemy działania aż do rozróżnienia
wszystkich przykładów