binarne rozszczepienia i mitoza

Transkrypt

binarne rozszczepienia i mitoza
Algorytm uzupełniania
w obliczaniu reduktów tablic decyzyjnych
W wielu zagadnieniach tzw. sztucznej
inteligencji istotnym zadaniem jest
pozyskiwanie wiedzy z baz danych.
Na abstrakcyjnym poziomie algorytmów…
• Redukcja atrybutów
• Generacja reguł decyzyjnych
ZPT
Diagnostyka raka piersi
Breast Cancer Database:
! Instancje (obiekty): 699
(dane poszczególnych pacjentów)
! Liczba atrybutów: 10
! Klasyfikacja (2 klasy)
Sources:
Dr. WIlliam H. Wolberg (physician);
University of Wisconsin Hospital ;Madison;
Wisconsin; USA
ZPT
1. Ocena spoistości masy
nowotworowej
2. Ocena jednolitości rozmiaru
komórek
3. Ocena jednolitości kształtu
komórek
….
9. Występowanie podziałów
komórkowych (mitoza)
2
Breast Cancer Database (fragment)
ID
1000025
1002945
1015425
1016277
1017023
1017122
1018099
1018561
1033078
1033078
1035283
1036172
1041801
1043999
1044572
1047630
1048672
1049815
1050670
1050718
1054590
ZPT
a1
5
5
3
6
4
8
1
2
2
4
1
2
5
1
8
7
4
4
10
6
7
a2
1
4
1
8
1
10
1
1
1
2
1
1
3
1
7
4
1
1
7
1
3
a3
1
4
1
8
1
10
1
2
1
1
1
1
3
1
5
6
1
1
7
1
2
a4
1
5
1
1
3
8
1
1
1
1
1
1
3
1
10
4
1
1
6
1
10
a5
2
7
2
3
2
7
2
2
2
2
1
2
2
2
7
6
2
2
4
2
5
•••
a6
1
10
2
4
1
10
10
1
1
1
1
1
3
3
9
1
1
1
10
1
10
a7
3
3
3
3
3
9
3
3
1
2
3
2
4
3
5
4
2
3
4
3
5
a8
1
2
1
7
1
7
1
1
1
1
1
1
4
1
5
3
1
1
1
1
4
a9
1
1
1
1
1
1
1
1
5
1
1
1
1
1
4
1
1
1
2
1
4
a10
2
2
2
2
2
4
2
2
2
2
2
2
4
2
4
4
2
2
4
2
4
3
Inne bazy danych z zakresu medycyny
Audiology Database
Dermatology Database
! Number of instances: 200 • Number of Instances: 366
training cases
• Number of attributes: 34
! Number of attributes: 71 • Classification (6 classes)
! Classification (24 classes)
Sources:
(a) Original Owner: Professor Jergen
at Baylor College of Medicine
(b) Donor: Bruce Porter
([email protected])
ZPT
Source Information:
Nilsel Ilter, M.D., Ph.D.,
Gazi University,
School of Medicine
06510 Ankara, Turkey
Phone: +90 (312) 214 1080
4
Klasyfikacja,
wniosków wtedy,
z baz danych
Komputer jestwyciąganie
niezbędny zwłaszcza
kiedy
ilość
danych, jakie trzeba
przetworzyć, jest bardzo
jest skomplikowanym
zadaniem…
duża
ZPT
Komputerowe systemy klasyfikacji danych
ROSETTA
http://logic.mimuw.edu.pl/~rses/
http://www.lcb.uu.se/tools/rosetta/
ZPT
Rough Set Toolkit for
Analysis of Data
Biomedical Centre (BMC),
Uppsala, Sweden.
6
Typowe zadania systemów eksploracji danych
• Redukcja atrybutów
• Generacja reguł decyzyjnych
Breast Cancer Database reducts (19):
{ a1, a2, a3, a4, a6 }
{ a1, a4, a6, a7 }
{ a1, a2, a6, a7 }
{ a1, a2, a4, a6, a9 }
{ a1, a2, a5, a6, a9 }
{ a1, a2, a6, a8 }
{ a1, a3, a5, a6 }
{ a1, a3, a4, a6, a9 }
{ a1, a3, a6, a8 }
ZPT
{ a1, a5, a6, a8 }
{ a3, a4, a6, a8 }
{ a2, a4, a5, a6, a7 }
{ a2, a3, a4, a6, a7 }
{ a2, a3, a5, a6, a8, a9 }
{ a3, a4, a6, a7, a9 }
{ a2, a5, a6, a7, a8 }
{ a2, a5, a6, a7, a9 }
{ a3, a5, a6, a7 }
{ a5, a6, a7, a8, a9 }
7
Eksperymenty
attributes objects
RSES/ROSETTA
prop. method reducts
trains
33
10
>5 h out of memory
<1 sec.
689
KAZ
22
31
70 min.
<1 sec.
5574
house
17
435
4 sec.
2 sec.
1
audiology
71
200
>5 h out of memory
2 min.
37367
dermatology
35
366
>5 h out of memory
90 min.
115556
Dlaczego tak jest???
ZPT
8
Krótkie przypomnienie metody klasycznej…
Przykład TL27 (z ULOGów)
x4 x6 – zmienne niezbędne
x1 x2 x3 x4 x5 x6 x7
f
1
1
0
0
0
1
0
1
0
2
1
0
1
1
1
1
0
0
3
1
1
0
1
1
1
0
0
4
1
1
1
0
1
1
1
0
5
0
1
0
0
1
0
1
1
6
1
0
0
0
1
1
0
1
7
1
0
1
0
0
0
0
1
8
1
0
1
0
1
1
0
1
9
1
1
1
0
1
0
1
1
Typowe postępowanie:
P4 = 1,4,5,6,7,8,9; 2,3}
P6 = 1,5,7,9; 2,3,4,6,8}
P4•P6 =
Pf =
ZPT
(1,5,7,9; 4,6,8; 2,3)
1,2,3,4; 5,6,7,8,9}
9
Redukcja argumentów – przykład c.d.
1, 5, 7, 9
4, 6, 8
Tablica porównań
ZPT
1, 5
x1 x2
1, 7
x3 x5 x7
1, 9
x2 x3
4, 6
x2 x3 x7
4, 8
x2 x7
x1
x2
x3
x4
x5
x6
x7
f
1
1
0
0
0
1
0
1
0
2
1
0
1
1
1
1
0
0
3
1
1
0
1
1
1
0
0
4
1
1
1
0
1
1
1
0
5
0
1
0
0
1
0
1
1
6
1
0
0
0
1
1
0
1
7
1
0
1
0
0
0
0
1
8
1
0
1
0
1
1
0
1
9
1
1
1
0
1
0
1
1
x1
x3
x2
x2
x2
x5 x7
x3
x7
Tu obliczamy minimalne
pokrycie kolumnowe
1
0
Redukcja argumentów – przykład c.d.
x1
x3
x2
x2
x2
x5 x7
x3
x7
(x1 + x2) (x3 + x5 + x7) (x2 + x3)(x2 + x7) =
= (x2 +x1)(x2 + x3)(x2 + x7)(x3 + x5 + x7) =
=(x2 +x1x3x7)(x3 + x5 + x7) =
= x2x3 + x2x5 +x2x7 + x1x3x7
∪ {x4,x6}
{x2,x3,x4,x6}
{x2,x4,x5,x6}
{x2,x4,x6,x7} {x1,x3,x4,x6,x7}
Istotą każdej dotychczasowej metody redukcji
atrybutów jest transformacja CNF na DNF
ZPT
11
Inna metoda obliczania reduktów…
polega na obliczaniu Complementu (Uzupełnienia)
funkcji boolowskiej, reprezentowanej Tablicą
porównań.
f = x j fxj + x j fxj
f = x j fxj + x j fxj
Sprytna procedura uzupełniania polega na iteracyjnym
rozkładzie zbioru kostek reprezentującego funkcję f na
kofaktory. Kofaktory te są obliczane tak długo, aż
odpowiadające im zbiory kostek staną się „łatwe” do
obliczenia ich uzupełnienia. Proces kończy „scalanie”
wyników cząstkowych.
ZPT
12
Inna metoda obliczania reduktów…
M:
1
0

1

1
1
0
1
0
0
1
0
0
1
1 
0

1
f M = x1x 2 x 3 + x 3 x 4 + x1x 2 + x1x 4 =
= x1x 4 + x 3 x 4 + x1x 2
x3x4
x1x2
00
01
11
00
1
01
1
11
10
1
1
1
1
1
10
1
fM = x1x 3 + x x + x x
2 4
1 4
ZPT
Complement funkcji jednorodnej
Szczególnie prosto oblicza się uzupełnienie funkcji
jednorodnej.
F = x j Fx j + Fx j
F = xj ⋅ F0 + F1
Kostki funkcji jednorodnej reprezentuje się binarnie.
0 1 ∗ 0
F = ∗ ∗ 1 ∗


0 ∗ 1 ∗
1 1 0 1 
M = 0 0 1 0 
1 0 1 0 
Uzupełnienie oblicza się dla macierzy M.
ZPT
14
Rozkład macierzy M
Wybór zmiennej:
1)Wybieramy kostkę (wiersz macierzy M) z największą
liczbą zer.
2) W wybranej kostce wybieramy zmienne, które mają
jedynkę w tej kostce.
3) Spośród wybranych w punkcie 2) zmiennych
wybieramy tę, która ma najwięcej jedynek w swojej
kolumnie.
ZPT
15
Rozkład macierzy M
Obliczanie kofaktorów:
Kofaktory macierzy M oblicza się według następującego
schematu:
Kofaktor jedynkowy macierzy M względem zmiennej
xj otrzymujemy przez ustawienie wszystkich pozycji j- tej
kolumny macierzy M na zera.
Kofaktor zerowy macierzy M względem zmiennej xj
otrzymujemy przez wypisanie z M tych kostek (wierszy),
w których zmienna xj przyjmuje wartość zero.
ZPT
16
Complement kofaktorów
Podstawą uzupełnienia funkcji jednorodnej jest
rozszczepianie macierzy M na podzbiory kostek, których
uzupełnienie łatwo można obliczyć.
1)Jeżeli kofaktor zawiera tylko jedną kostkę, jego
uzupełnienie oblicza się wg prawa De Morgana.
2) Jeżeli kofaktor zawiera kostkę (wiersz) samych 0,
jego uzupełnienie jest zbiorem pustym.
3) Jeżeli kofaktor jest zbiorem pustym, jego uzupełnienie
jest Tautologią.
ZPT
17
Scalanie uzupełnionych kofaktorów
F = xj ⋅ F0 + F1
Znaczy to, że jeżeli otrzymany kofaktor był zerowy
(ozn. F0), to jego Complement mnożymy go przez
odpowiednie xj i dodajemy,
a jeżeli był jedynkowy (ozn.
Complement tylko dodajemy.
ZPT
F1),
to
jego
18
Przykład TL27
.i 7
.o 1
.type fr
.p 9
1000101 0
1011110 0
1101110 0
1110111 0
0100101 1
1000110 1
1010000 1
1010110 1
1110101 1
.e
ZPT
Tablica porównań
Tablica porównań
nie jest funkcją
boolowską
1100000
0000011
0010101
0010011
0110000
1111011
0011000
0001110
0001000
0101011
1001011
0101000
0111110
0111000
0011011
1010010
0110001
0100111
0100001
0000010
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
19
Redukcja (usuwanie) wierszy tabl. porównań
.i 7
.o 1
.type fr
.p 9
1000101 0
1011110 0
1101110 0
1110111 0
0100101 1
1000110 1
1010000 1
1010110 1
1110101 1
.e
ZPT
1100000
0000011
0010101
0010011
0110000
1111011
0011000
0001110
0001000
0101011
1001011
0101000
0111110
0111000
0011011
1010010
0110001
0100111
0100001
0000010
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
Zredukowana
tablica porównań
1100000
0010101
0110000
0110001
0100001
1
1
1
1
1
.i 7
.o 1
.p 6
11------1-1-1
-11----1----1
---1-------1.end
1
1
1
1
1
1
reprezentuje funkcję
boolowską
20
Do obliczenia uzupełnienia zastosujmy…
Espresso
F,D
.i 7
.o 1
.p 6
11------1-1-1
-11----1----1
---1-------1.end
ZPT
{x1,x3,x4,x6,x7}
Complement
{x2,x3,x4,x6}
Expand
1
1
1
1
1
1
{x2,x4,x5,x6}
Essential primes
{x2,x4,x6,x7}
Irredundant-Cover
ESPRESSO
Reduce
FM
Last-gasp
.i 7
.o 1
.p 4
0-00-00
-000-0-0-000-0-0-00
.end
21
0
0
0
0
ROZKŁAD
1 2 3 4 5 6 7
1 0
0 0
0 0

0 0
C = [1 0
x1
0
0
0

0
0 0 0 0 0 0
0 1 0 1 0 1

0 1 0 0 0 0

0 0 0 0 0 1
C=Φ
ZPT
 1 1 0 0 0 0 0


0 0 1 0 1 0 1


0 1 1 0 0 0 0


0 1 0 0 0 0 1
0 0 0 0 0
1 0 1 0 1

1 0 0 0 0
1 2 3 4 5 6 7
0 1 1 0 0 0 0


0 1 0 0 1 0 0
C=

0 1 0 0 0 0 1


1 0 1 0 0 0 1
x2
x2

0 0 0 0 1
1 0 0 0 1]
x1
[0
0 1 0 1 0 1]
0 0 1 0 1 0 1


0 0 1 0 0 0 0


0 0 0 0 0 0 1
0 0 1 0 0 0 0
C = 0 0 0 0 1 0 0
0 0 0 0 0 0 1


C=[0 0 1 0 0 0 1]
C=Φ
x7
0 0 1 0 1 0 0
0 0 1 0 0 0 0
0 0 0 0 0 0 0


x7
[0
0 1 0 0 0 0]
=C
22
SCALANIE
C(x7) = x7 [0010000]+ Φ = [0010001]
C(x1) = x1 [0010001]+ Φ = [1010001]
1 2 3 4 5 6 7
C(x2) =
0

x2 0

0

0 1 0 0 0 0
0 0 0 1 0 0 + [1010001] =

0 0 0 0 0 1
Minimalne pokrycia:
x2, x3,
x2, x5,
x2, x7,
x1, x3, x7
ZPT
Redukty:
+ x4, x6
0 1 1 0


0 1 0 0

0 1 0 0

1 0 1 0

0 0 0
1 0 0

0 0 1

0 0 1
Dokładnie tak samo jak
w metodzie klasycznej!
23
Porównanie programów
.i 6
.o 1
.p 10
000000
001100
1-2011
011001
010201
122-20
-22201
001101
01032222320
.e
ZPT
1
1
2
2
3
2
1
3
4
4
TABLE VTL1
ATTRIBUTES 7
x1 numeric 0
x2 numeric 0
x3 numeric 0
x4 numeric 0
x5 numeric 0
x6 numeric 0
x7 numeric 0
OBJECTS 10
0 0 0 0 0 0 1
0 0 1 1 0 0 1
1 ? 2 0 1 1 2
0 1 1 0 0 1 2
0 1 0 2 0 1 3
1 2 2 ? 2 0 2
? 2 2 2 0 1 1
0 0 1 1 0 1 3
0 1 0 3 2 ? 4
2 2 2 3 2 0 4
.1x1 x3 x4 x6
.2x1 x2 x4 x6
.3x1 x2 x3 x5 x6
REDUCTS (3)
{ x1, x3, x4, x6 } 1.0
{ x1, x2, x4, x6 } 1.0
{ x1, x2, x3, x5, x6 } 1.0
Porównanie programów
Trains
.type fdr
.i 32
.o 1
.p 10
23016320081311611006100100010010
12009130071200020-----0101000000
11006100041311013-----0000101000
21007130011300212006121100100000
12001131101200010-----0101000000
010103000613----------0000001000
1100110009130150------0000001000
011101200910----------0001000000
21007100151200612007101001000000
000091201622----------1000000000
.end
ZPT
0
0
0
0
0
1
1
1
1
1
Porównanie programów
Program RSES generuje
333 wyniki
Program RedArg
689 wyniki
.470x6 x11 x12 x13 x17 x29
.471x4 x11 x16 x17 x22 x31
.472x4 x11 x16 x17 x22 x28
.473x4 x9 x13 x23 x29 x31
.474x4 x9 x13 x23 x28 x29
.475x4 x11 x17 x27 x29 x31
.476x4 x11 x17 x27 x28 x29
.477x3 x6 x9 x16 x23 x31
ZPT
.478x3 x6 x9 x16 x23 x28
.479x4 x9 x13 x23 x26 x29
.480x3 x6 x9 x13 x23 x29
.481x3 x6 x16 x23 x27 x31
.482x4 x11 x13 x23 x26 x31
.483x3 x6 x16 x23 x27 x28
.484x4 x11 x13 x23 x26 x28
.485x3 x4 x8 x9 x13 x29
.486x4 x11 x16 x20 x23 x31
.487x4 x11 x16 x20 x23 x28
.488x4 x8 x9 x12 x16 x29
.489x4 x6 x8 x9 x27 x29
.490x4 x6 x9 x15 x23 x29
.491x4 x11 x16 x22 x23 x31
.492x4 x11 x16 x22 x23 x28
Wnioski
! Metoda jest skuteczna
! Daje rewelacyjne wyniki
! Prosta do implementacji
! Jest źródłem ciekawych prac
dyplomowych
ZPT
27