• Nie Znaleziono Wyników

Wnioskowanie boolowskie w biklasteryzacji danych

N/A
N/A
Protected

Academic year: 2021

Share "Wnioskowanie boolowskie w biklasteryzacji danych"

Copied!
71
0
0

Pełen tekst

(1)

Wnioskowanie boolowskie w biklasteryzacji danych

dr inż. Marcin Michalak

Instytut Technik Innwacyjnych EMAG, Katowice

(2)

Personalizacja leczenia ostrej białaczki limfoblastycznej u dzieci w Polsce (PersonALL)

Profilaktyka i leczenie chorób cywilizacyjnych — Strategmed III (STRATEGMED3/304586/5/NCBR/2017)

(3)

Agenda

1 Biklasteryzacja

2 Wnioskowanie boolowskie

3 Generowanie biklastrów w macierzy dyskretnej 4 Generowanie biklastrów w macierzy ciągłej 5 Inne zagadnienia

(4)

Agenda

1 Biklasteryzacja

2 Wnioskowanie boolowskie

3 Generowanie biklastrów w macierzy dyskretnej

4 Generowanie biklastrów w macierzy ciągłej

(5)

klasteryzacja

(inaczej grupowanie, klasyfikacja nienadzorowana, analiza skupień), proces, w którym na zbiorze obiektów ustalany jest podział (w matematycznym rozumieniu tego słowa).

biklasteryzacja

(ang. biclustering, co-clustering, two-mode clustering, two-dimensional clustering) proces wyszukiwania w danym dwuwymiarowym zbiorze danych (macierzy) podmacierzy której elementy będą jednakowe lub podobne,

(6)

f1 f2 f3 f4 o1 1 2 3 4 o2 2 3 4 5 o3 10 11 12 13 o4 11 12 13 14 o5 101 102 103 104 f1 f2 f3 f4 o1 1 3 88 91 o2 1 4 87 95 o3 2 4 90 93 o4 2 5 91 94 o5 3 5 90 94 f1 f2 f3 f4 o1 1 1 2 2 o2 1 1 8 19 o3 1 32 31 32 o4 12 18 32 34 o5 20 27 35 36 f1 f2 f3 f4 o1 1 1 2 2 o2 1 1 8 19 o3 1 32 31 32 o4 12 18 32 34 o5 20 27 35 36 f1 f2 f3 f4 o1 1 1 2 2 o2 1 1 8 19 o3 1 32 31 32 o4 12 18 32 34 o5 20 27 35 36

(7)

podobieństwa:

poszukiwanie podobieństw w danych,

danymi wejściowymi jest dwuwymiarowa tabela,

różnice

w klasteryzacji dane są heterogeniczne, w biklasteryzacji — homogeniczne,

grupowanie ustala pewien podział (pomijając metody rozmyte) pewnego zbioru (obiektów bądź cech), podczas gdy biklasteryzacja nie musi,

elementem wyniku grupowania jest zbiór wielowymiarowych obiektów, elementem wyniku biklasteryzacji jest podmacierz wartości (podzbiór indeksów wierszy i indeksów kolumn — uporządkowana para),

(8)

Pola zastosowania biklasteryzacji:

dane bioinformatyczne, text mining,

monitorowanie i diagnostyka urządzeń.

Generalnie

Generalnie biklasteryzacja ma zastosowanie tam, gdzie dane mają charakter macierzy skalarów, gdzie jest sens interpretowania podgrupy wierszy i podgrupy kolumn jednocześnie.

(9)

Agenda

1 Biklasteryzacja

2 Wnioskowanie boolowskie

3 Generowanie biklastrów w macierzy dyskretnej

4 Generowanie biklastrów w macierzy ciągłej

5 Inne zagadnienia

(10)

Wnioskowanie boolowskie

Technika analizy danych, polegająca na zakodowaniu problemu w postaci funkcji boolowskiej, przezkształceniu jej a następnie interpretacji wyników.

Wnioskowanie boolowskie — najpopularniejszy wariant

Poszukuje się implikantów prostych zakodowanej funkcji, a każdy znaleziony implikant prosty ma swoją interpretację.

(11)

Typowe zastosowania:

poszukiwanie reduktów w systemach informacyjnych, poszukiwanie bireduktów w systemach informacyjnych, poszukiwanie biklastrów ,.

(12)

Agenda

1 Biklasteryzacja

2 Wnioskowanie boolowskie

3 Generowanie biklastrów w macierzy dyskretnej

4 Generowanie biklastrów w macierzy ciągłej

(13)

Przykładowa macierz dyskretna M:

a b c

1 1 0 2

2 1 1 0

3 1 1 1

Przez B oznaczamy zbiór indeksów wierszy, a przez X zbiór indeksów kolumn.

Cel

Poszukiwanie maksymalnych (w sensie inkluzji) biklastrów dokładnych, czyli podzbiorów wierszy i kolumn, które na przecięciu mają tę samą wartość.

(14)

Definicja

Funkcją odróżnialności dla biklastrów w macierzy dyskretnej M nazywamy następującą funkcję:

fM =

^

(a ∨ b ∨ x) ∧^(c ∨ y ∨ z)

gdzie a, b, c ∈ B x, y, z ∈ X takich że:

(15)

Przykład

a b c

1 1 0 2

2 1 1 0

3 1 1 1

(1, 2, 3 traktujemy jako etykiety, nie jako wartości) fM = (1 + a + b)(1 + a + c)(1 + b + c)

(2 + a + c)(2 + b + c)(b + 1 + 2) (b + 1 + 3)(c + 1 + 2)(c + 1 + 3) (c + 2 + 3)

f = 12 + 1c + bc + 13ab + 23ac + 23ab

Interpretacja

Biklaster odpowiadający, implikantowi prostemu, to para zbioru obiektów, nie reprezentowanych w implikancie przez zmienną logiczną oraz zbioru atrybutów, również nie reprezentowanych w implikancie przez zmienną logiczną.

(16)

Biklastry

f = 12 + 1c + bc + 13ab + 23ac + 23ab

a b c 1 1 0 2 2 1 1 0 3 1 1 1 bc : ({1, 2, 3}, {a}) a b c 1 1 0 2 2 1 1 0 3 1 1 1 a b c 1 1 0 2 2 1 1 0 3 1 1 1 1c : ({2, 3}, {a, b}) a b c 1 1 0 2 2 1 1 0 3 1 1 1 a b c 1 1 0 2 2 1 1 0 3 1 1 1 13ab : ({2}, {c}) a b c 1 1 0 2 2 1 1 0 3 1 1 1

(17)

Poprawność podejścia

Można udowodnić, że każdemu implikantowi tak zbudowanej funkcji boolowskiej odpowiada dokładny biklaster jak również każdemu dokładnemu biklastrowi w macierzy odpowiada implikant tej funkcji boolowskiej.

Maksymalność podejścia

Udowodniono również, że uzyskane w ten sposób biklastry są

maksymalnymi, w sensie inkluzji (to znaczy nie da się ich rozszerzyć o żaden wiersz i żadną kolumnę, nie tracąc dokładności tego biklastra). To oznacza, że implikantom prostym funkcji odróżnialności odpowiadają m. w s.i. dokładne biklastry (i vice versa).

(18)

Złożoność obliczeniowa

DUŻA ,

Problem rozstrzygalności formuł postaci 3-CNF (a z takimi mamy do czynienia) jest problemem NP-zupełnym. Uprościć klasę zadania oraz jego rozmiar można, sprowadzając problem do analizy danych w macierzy binarnej, w której kodowanie informacji następuje za pomocą formuł postaci 2-CNF, rozstrzygalnych jako problem P-zupełny.

(19)

Macierz binarna Mb

a b c

1 1 0 1

2 1 0 0

3 1 1 1

Kodowanie wg poprzedniego schematu:

fMb= (1 + 2 + c)(1 + 3 + b)(2 + 3 + b)(2 + 3 + c)(a + b + 1)

(a + b + 2)(a + c + 2)(b + c + 1)

(20)

Rozważmy inny sposób kodowania danych w macierzy binarnej. Załóżmy, że będziemy kodować tylko komórki o określonej wartości, za pomocą ich współrzędnych wyrażonych jako indeks wiersza i indeks kolumny.

(21)

Przykład a b c 1 1 0 1 2 1 0 0 3 1 1 1 fMb(0) = (1 + b)(2 + b)(2 + c) fMb(0)= 12 + 2b + bc

fMb(1) = (1 + a)(1 + c)(2 + a)(3 + a)(3 + b)(3 + c)

fMb(1)= 13a + 123 + 3ac + abc

Interpretacja

Implikanty proste funkcji fMb(0) kodują biklastry jedynek na tle zer,

podczas gdy implikanty proste funkcji fMb(1) kodują biklastry zer na tle

(22)

Puste biklastry

W poprzednim przykładzie, wśród implikantów prostych pojawiły się takie, które kodują pusty biklaster (składają się z literałów kodujących wszystkie wiersze, bądź wszystkie kolumny). Częściowo można zapobiec ich

powstawaniu modyfikując sposób budowania funkcji boolowskiej: jeśli cały wiersz (kolumna) jest zerami (jedynkami), to kodujemy wiersz (kolumnę) pojedynczym literałem.

Interpretacja

Pusty biklaster uzyskany z implikanta prostego nadal pozostaje zgodny z naszą definicją: jest on maksymalny w sensie inkluzji oraz dokładny.

(23)

Przykład a b c 1 1 0 1 2 1 0 0 3 1 1 1 fMb(1)= a3(1 + c) fMb(1)= a31 + a3c

Czy ta poprawka eliminuje ostatecznie problem pojawiania się pustych biklastrów?. . .

(24)

. . . nie! a b 1 1 0 2 0 1 fMod(0) = (1 + b)(2 + a) = 12 + 1a + 2b + ab fMod(1) = (1 + a)(2 + b) = 12 + 1b + 2a + ab

(25)

Rysunek:Oryginalne dane 100x100 (z lewej) a także kolejno z wydzieleniem trzech macierzy binarnych: # 0 (lewy środek), # 77 (prawy środek) and #237 (z prawej).

(26)

liczba

wartość jedynek klauzul biklastrów

#0 1 415 2 256 5 463 (+2 puste)

#77 1 327 4 560 503 (+2 puste)

(27)

Agenda

1 Biklasteryzacja

2 Wnioskowanie boolowskie

3 Generowanie biklastrów w macierzy dyskretnej

4 Generowanie biklastrów w macierzy ciągłej

5 Inne zagadnienia

(28)

Motywacja

Nie zawsze dane wejściowe sa binarne (lub nawet dyskretne, z czym poradzilibyśmy sobie sprowadzając zagadnienie do n zagadnień binarnych). Nie zawsze binaryzacja (dyskretyzacja, a co za tym idzie dalsza

binaryzacja) danych musi się okazać sensowną strategią preprocessingu danych.

Przykład

Macierz (wiersz): interesują nas komórki, pomiędzy którymi rozrzut nie wynosi więcej niż 3.

0 1 2 5 8

0 1 2 5 8

(29)

Biklaster rozrzutu

Załóżmy że w macierzy ciągłej M interesuje nas problem znalezienia maksymalnych (w sensie inkluzji) biklastrów, których rozrzut wartości nie przekracza zadanego progu wartości T .

f1 f2 f3 f4 o1 1 1 2 2 o2 1 1 8 19 o3 1 32 31 32 o4 12 18 32 34 o5 20 27 35 36 f1 f2 f3 f4 o1 1 1 2 2 o2 1 1 8 19 o3 1 32 31 32 o4 12 18 32 34 o5 20 27 35 36 f1 f2 f3 f4 o1 1 1 2 2 o2 1 1 8 19 o3 1 32 31 32 o4 12 18 32 34 o5 20 27 35 36

(30)

T−biklaster

Niech T będzie maksymalnym akceptowalnym rozrzutem wartości w

obrębie biklastra BX . Wtedy T −biklastrem macierzy Mr ,c nazwiemy

podzbiór wierszy i podzbiór kolumn, których przecięcie wskazuje na komórki, pomiędzy którymi największa różnica (co do modułu) nie przekracza zadanego progu T (ograniczenie to nazwiemy T −warunkiem).

max

i,j ∈ B

m,n ∈ X

(31)

Funkcja T −odróżnialności

Zdefiniujmy funkcję T −odróżnialności fT jako koniunkcję klauzul

następującej postaci:

(a ∨ b ∨ x ∨ y ) gdzie:

|M[a, x] − M[b, y ]| > T , (a 6= b) ∧ (x 6= y )

Innymi słowy: klauzula koduje pary różnych komórek, które naruszają T−warunek.

(32)

Przykład

Niech będzie dana następująca macierz danych ciągłych:

a b c

1 1 2 3

2 2 3 5

T−ograniczenia

Ponieważ największa różnica pomiędzy komórkami wynosi 4, a wszystkie wartości są naturalne, jako wartości progu jest sens użyć tylko 3, 2, czy 1.

(33)

Funkcja odróżnialności dla progu T = 3 f3 = (1 + a + 2 + c) a b c 1 1 2 3 2 2 3 5 a b c 1 1 2 3 2 2 3 5 a b c 1 1 2 3 2 2 3 5 1 : ({2}, {a, b, c}) a: ({1, 2}, {b, c}) 2 : ({1}, {a, b, c}) a b c 1 1 2 3 2 2 3 5 c : ({1, 2}, {a, b})

(34)

Funkcja odróżnialności dla progu T = 2 f2 = (1 + a + 2 + c)(1 + b + 2 + c)(2 + a + c) = 2 + c + 1a + ab a b c 1 1 2 3 2 2 3 5 a b c 1 1 2 3 2 2 3 5 a b c 1 1 2 3 2 2 3 5 2 : ({1}, {a, b, c}) c : ({1, 2}, {a, b}) 1a : ({2}, {b, c}) a b c 1 1 2 3 2 2 3 5

(35)

Poprawność i maksymalność podejścia

W przygotowywanym kolejnym artykule udowodniono już, że w taki sposób generowane T −biklastry są dokładne (z punktu widzenia zadanego rozrzutu wartości) jak i są maksymalne w sensie inkluzji, to znaczy do uzyskanego biklastra nie można dołączyć wiersza bądź kolumny, bez naruszenia T −ograniczenia.

(36)

T−biklasteryzacja

Można powiedzieć — przez pewną analogię — że próg T wprowadza nam pewną binaryzację biklastrów: te, które spełniają T −warunek pozostają w formule (tzn. formuła będzie składać się implikantów prostych, kodujących te biklastry), natomiast pozostałe wcale w nią nie wchodzą.

Wprowadzając sztucznie próg T nie wiemy nic na temat, jak zachowują się biklasteryzowane dane nieco powyżej (jak i dużo powyżej) zadanego progu. Rozwiązaniem jest poszukiwanie wszystkich istniejących T −biklastrów dla wszystkich sensownych progów.

(37)

a b

1 1.1 1.1

2 2.3 4.4

vals= {1.1, 2.3, 4.4}

(38)

Kodowanie

Każda para różnych komórek kodowana jest jako klauzula zawierająca indeksy wierszy i kolumn tych komórek, jak również kody tych różnic α, które są nie większe od (modułu) różnicy rozpatrywanych komórek.

(39)

Przykład a b 1 1.1 1.1 2 2.3 4.4 fα = (1 + a + 2 + α1)(1 + a + 2 + b + α1) (1 + a + 2 + b + α2)(1 + a + 2 + b + α3) (1 + b + 2 + a + α1)(1 + b + 2 + α1) (1 + b + 2 + α2)(1 + b + 2 + α3) (2 + a + b + α1)(2 + a + b + α2) fα = (1 + a + 2 + α1)(1 + a + 2 + b + α1α2α3)(1 + b + 2 + a + α1) (1 + b + 2 + α1α2α3)(2 + a + b + α1α2) fα= 2 + 1a + 1b + ab + bα1+ 1α1α2+ α1α3α3 Interpertacja

(40)

Biklastry puste i dokładne

fα = 2 + 1a + 1b + ab + bα1+ 1α1α2+ α1α3α3

Tabela:Dokładne biklastry w macierzy C i odpowiadające im implikanty proste.

a b 1 1.1 1.1 2 2.3 4.4 a b 1 1.1 1.1 2 2.3 4.4 a b 1 1.1 1.1 2 2.3 4.4 2 : ({1}, {a, b}) 1a : ({2}, {b}) 1b : ({2}, {a})

(41)

T−biklastry

fα = 2 + 1a + 1b + ab + bα1+ 1α1α2+ α1α3α3

Tabela:T−biklastry macierzy C i odpowiadające im implikanty proste.

a b 1 1.1 1.1 2 2.3 4.4 a b 1 1.1 1.1 2 2.3 4.4 a b 1 1.1 1.1 2 2.3 4.4

1: ({1, 2}, {a}) 1α2: ({2}, {a, b}) α1α2α3: ({1, 2}, {a, b})

T = α1= 1.2 T = max{α1, α2} = 2.1 T = max{α1, α2, α3} = 3.3

(42)

Biklastry chaosu

Z punktu widzenia np. monitorowania urządzeń interesuje nas nie tyle podobieństwo, co często niepodobieństwo danych. Można zatem odwrócić definicję biklastra w następujący sposób: ch−biklastrem chaosu nazywamy taką podmacierz danej macierzy, w której żadna para komórek nie różni się o mniej niż ch.

Przykład (biklastry chaosu, niekoniecznie m.w.s.i.)

a b c d e f

1 1 2 3 1 2 2

2 51 45 1 88 98 122

3 38 32 2 105 68 112

(43)

Przykład (inny)

Rozpatrzmy następującą macierz wartości ciągłych chM:

a b c

1 0 0 1

2 0 0 2

3 3 4 1

Kodujemy pary różnych komórek takich, których wartości różnią się o mniej niż 1 (ponieważ macierz zawiera wartości całkowite, to w zasadzie kodujemy pary różnych komórek o tej samej wartości):

f1= (1 + a + b)(1 + 2 + a)✭✭✭ ✭✭ ✭✭✭ (1 + a + 2 + b)✭✭✭ ✭✭ ✭✭✭ (1 + b + 2 + a) . . . . . .(1 + 2 + b)(2 + a + b)(1 + 3 + c) a w postaci DNF:

(44)

a b c 1 0 0 1 2 0 0 2 3 3 4 1 a b c 1 0 0 1 2 0 0 2 3 3 4 1 a b c 1 0 0 1 2 0 0 2 3 3 4 1 a b c 1 0 0 1 2 0 0 2 3 3 4 1

1b: ({2, 3}, {a, c}) 1a: ({2, 3}, {b, c}) 23a: ({1}, {b, c}) 3ab: ({1, 2}, {c})

a b c 1 0 0 1 2 0 0 2 3 3 4 1 a b c 1 0 0 1 2 0 0 2 3 3 4 1 a b c 1 0 0 1 2 0 0 2 3 3 4 1

(45)

Przykład (ciąg dalszy)

Poszukujemy biklastrów chaosu o rozrzucie pomiędzy każdą parą elementów nie mniejszym niż 2 (kodujemy pary komórek, o różnicy mniejszej od 2): f2 = (1 + a + b)(1 + a + c)(1 + a + 2)✭✭ ✭✭ ✭✭✭✭ (1 + a + 2 + b)✭✭ ✭✭ ✭✭✭✭ (1 + a + 3 + c) . . . . . .(1 + b + c)✭✭✭ ✭✭ ✭✭✭ (1 + b + 2 + a)(1 + b + 2)✭✭✭ ✭✭ ✭✭✭ (1 + b + c + 3) . . . . . .✭✭✭ ✭✭ ✭✭✭ (1 + c + 2 + a)✭✭✭ ✭✭ ✭✭✭ (1 + c + 2 + b)(1 + c + 2)(1 + c + 3)(a + 2 + b) . . . . . .✭✭✭ ✭✭ ✭✭✭ (a + 2 + 3 + c)✭✭✭ ✭✭✭ ✭✭ (2 + b + 3 + c)✭✭✭ ✭✭✭ ✭✭ (2 + c + 3 + b)(2 + c + 3) Formuła w postaci DNF:

(46)

a b c 1 0 0 1 2 0 0 2 3 3 4 1 a b c 1 0 0 1 2 0 0 2 3 3 4 1 a b c 1 0 0 1 2 0 0 2 3 3 4 1 a b c 1 0 0 1 2 0 0 2 3 3 4 1

1bc: ({2, 3}, {a}) 13b: ({2}, {a, c}) 1ac: ({2, 3}, {b}) 13a: ({2}, {b, c})

a b c 1 0 0 1 2 0 0 2 3 3 4 1 a b c 1 0 0 1 2 0 0 2 3 3 4 1 a b c 1 0 0 1 2 0 0 2 3 3 4 1

(47)

Poprawność i maksymalność

Dowody wiążące implikanty proste i m. w s.i. biklastry chaosu zostały przeprowadzone i czekają na opublikowanie.

Podejście wyczerpujące

Należy się spodziewać, że w podobny wyczerpujący sposób można poszukiwać jednocześnie wszystkich sensownych ch−biklastrów.

(48)

a b

1 1.1 1.1

2 2.3 4.4

vals= {1.1, 2.3, 4.4}

(49)

Kodowanie

Każda para różnych komórek kodowana jest jako klauzula zawierająca indeksy wierszy i kolumn tych komórek, jak również kody tych różnic α, które są większe od (modułu) różnicy rozpatrywanych komórek.

Każda para różnych równych komórek również jest kodowana przez pewną klauzulę.

(50)

Formalna definicja fch = ^ (a ∨ b ∨ x ∨ y ) ∧^(a ∨ b ∨ x ∨ y ∨ αi) gdzie (a 6= b) ∨ (x 6= y ), αi ∈ ∆ takich że: a(x) = b(y ) lub (albo ,) |a(x) − b(y )| < αi

(51)

Przykład a b 1 1.1 1.1 2 2.3 4.4 fch = (1 + a + b)(1 + 2 + a + α2) (1 + 2 + a + α3)(1 + b + 2 + a + α2) (1 + b + 2 + a + α3)(2 + a + b + α3) fch = (1 + a + b)(1 + 2 + a + α2α3)(1 + b + 2 + a + α2α3)(2 + a + b + α3) fch= a + 12 + 1b + 2b + 1α3+ bα2α3 Interpertacja

(52)

Wizualizacja

fch = a + 12 + 1b + 2b + 1α3+ bα2α3

Tabela:Biklastry chaosu macierzy C i odpowiadające im implikanty proste.

a b 1 1.1 1.1 2 2.3 4.4 a b 1 1.1 1.1 2 2.3 4.4 a b 1 1.1 1.1 2 2.3 4.4 A: ({1, 2}, {b}), 1∧ 2 : ({∅}, {a, b}) 1∧ B : ({2}, {a}) α3= 3.3 α3= 3.3 α3= 3.3 a b 1 1.1 1.1 2 2.3 4.4 a b 1 1.1 1.1 2 2.3 4.4 a b 1 1.1 1.1 2 2.3 4.4 2∧ B : ({1}, {a}), 1∧ α3: ({2}, {a, b}), B∧ α2α3: ({1, 2}, {a}),

(53)

Agenda

1 Biklasteryzacja

2 Wnioskowanie boolowskie

3 Generowanie biklastrów w macierzy dyskretnej

4 Generowanie biklastrów w macierzy ciągłej

5 Inne zagadnienia

(54)
(55)
(56)

biklaster w szczególności możemy potraktować jako obraz cyfrowy, a jego poszczególne elementy jak piksele. Wtedy stosowanie pewnych prostych przekształceń kontekstowych może przynieść pewne pozytywne

(oczekiwane) efekty jak na przykład skrócenie czasu obliczeń, uogólnienie uzyskiwanych wyników.

(57)

Filtr kontekstowy

Rozpatrzmy proste progowanie binarne: dla zadanej maski 3x3 i progu

t = 1 procedura wygląda następująco: jeśli liczba zer w pikselach

znajdujących się pod maską jest mniejsza lub równa 1, to piksel w centrum maski nadpisujemy jedynką.

(58)

Efekty

W przypadku obu zbiorów liczba wyznaczonych biklastrów nie zmieniła się, zmieniła się jednak ich powierzchnia.

dane posortowany rozmiar biklastrów

oryginalne 3 3 5 5 5 6 8 8 8 8 8 8 8 9 9 9 9 10 przetworzone 3 4 4 5 5 5 6 8 8 8 9 10 10 10 12 12 12 12

(59)

Uzasadnienie wstawiania zer

Wstawienie dodatkowych zer powoduje, że uzyskane w ten sposób biklastry nie pokrywają całego zbioru jedynek, jednak nadal będą to biklastry dokładne, w kontekście oryginalnych danych.

Uzasadnienie wstawiania jedynek

Wstawienie dodatkowych jedynek sprawi, że zachowamy pokrycie

wszystkich jedynek w oryginalnych danych, jednak niekoniecznie wszystkie biklastry będą biklastrami dokładnymi.

(60)

Efekty stosowania przekształcania kontekstowego danych wejściowych:

liczba liczba

wartość iteracji jedynek klauzul biklastrów

#0 1 415 2 256 5 463 (+2 puste) #77 0 1 327 4 560 503 (+2 puste) #237 2 148 5 267 30 194 (+2 puste) #0 1 495 (+80) 2 176 576 (+2 puste) #77 1 1 334 (+7) 4 553 349 (+2 puste) #237 2 179 (+29) 5 236 8 397 (+2 puste) #0 1 505 (+90) 2 166 428 (+2 puste) #77 2 1 354 (+27) 4 533 260 (+2 puste) #237 2 258 (+110) 5 156 910 (+2 puste)

(61)

algorytm Johnsona

Zachłanny algorytm Johnsona, standardowo stosowany w zagadnieniach związanych z poszukiwaniem implikantów prostych, nie zdaje egzaminu. Poszukiwanie prostego implikantu odbywa się na wyszukiwaniu stopniowo najczęściej pojawiającego się w klauzulach literału, a następnie na

(62)

f = (a + b + c + e)(b + c + d)(e + f + g )(d + e + f )(h + i ) (formuła posiada 20 implikantów prostych)

literał a b c d e f g h i częstość 1 2 2 2 3 2 1 1 1 f{e} =✭✭ ✭✭ ✭✭ ✭✭ (a + b + c + e)(b + c + d) ✘✘ ✘✘ ✘✘ (e + f + g ) ✘✘ ✘✘ ✘✘ (d + e + f )(h + i ) f{e} = (b + c + d)(h + i ) ⇒ f{e,b}′′ = (h + i ) ⇒ f{e,b,h}′′′ = ∅

(63)

Rozpatrzmy następujący przykład — poszukiwanie biklastrów jedynek, więc kodujemy zera:

a b c d e f g h 1 0 0 1 1 0 0 0 0 2 0 1 1 0 0 0 0 0 3 0 1 0 0 0 0 0 0 literał a b c d e f g h 1 2 3 częstość 3 1 1 2 3 3 3 3 6 6 7

(64)

Po poprzednim kroku pozostały w formule tylko te klauzule, które są związane z kodowaniem zer w pierwszych dwóch wierszach macierzy:

a b c d e f g h 1 0 0 1 1 0 0 0 0 2 0 1 1 0 0 0 0 0 literał a b c d e f g h 1 2 częstość 2 1 0 1 2 2 2 3 6 6 f{1,2,3}′′′ = ∅

(65)

Propozycja modyfikacji:

1 Tak długo, jak dodanie pary literałów kodujących wiersz i kolumnę nie

powoduje uzyskania pustego biklastra, postępujemy standardowo.

2 Jeśli dodanie pary literałów powoduje wymienioną sytuację to:

1 dodajemy literały kodujące wszystkie wiersze, poza ostatnim, 2 sprawdzamy, które klauzule nie zostały pokryte przez wiersze

wspomniane powyżej,

(66)

Efekt zastosowania:

liczba

wartość jedynek klauzul biklastrów Johnson

#0 1 415 2 256 5 463 (+2 puste) 224

#77 1 327 4 560 503 (+2 puste) 129

#237 2 148 5 267 30 194 (+2 puste) 201

. . . nie wspominając już o przyspieszeniu czasu obliczeń z tygodni do minut ,.

(67)

Agenda

1 Biklasteryzacja

2 Wnioskowanie boolowskie

3 Generowanie biklastrów w macierzy dyskretnej

4 Generowanie biklastrów w macierzy ciągłej

5 Inne zagadnienia

(68)

Podziękowania

Serdeczne podziękowania dla p. prof. Dominika Ślęzaka za cierpliwość, czas i merytoryczne wsparcie.

Serdeczne podziękowania dla p. prof. Marka Sikory, za udostępnienie mocy obliczeniowej.

(69)

Lista A

Michalak M., Ślęzak D.: Boolean Representation for Exact biclustering, Fundamenta Informaticae (przyjęte do druku),

Michalak M., Ślęzak D.: On Boolean Representation of Continuous Data Biclustering, (w przygotowaniu - na ukończeniu)

Konferencje WoS lub lista A

Michalak M., Jaksik R., Ślęzak D.: Herustic Search of Exact Biclusters (pre-produkcja ,)

(70)

Problemy na już i na później:

rozwój i udostępnienie wykorzystywanego oprogramowania, inne heurystyki znajdowania implikantów,

heurystyki znajdowania minimalnego pokrycia jedynek w danych, za pomocą maksymalnych biklastrów,

sterowanie rozmiarem (proporcją wymiarów) biklastra np. w zmodyfikowanym Johnsonie,

definiowanie innych warunków, jakie mają spełniać biklastry i przełożenie problemu na wnioskowanie boolowskie,

przykłady zastosowania w praktyce (dane biomedyczne, monitorowanie urządzeń),

(71)

Cytaty

Powiązane dokumenty

[r]

[r]

Można już było do takiego urządzenia włożyć baterie i zabrać je z sobą na spacer Do dzisiaj na małe przenośne radia często mówi się „radio tranzystorowe”.. Ale w

Za pomocą kwerend można pobierać i tworzyć zestawienia danych które Cię aktualnie interesują.. Sortowanie polega na uporządkowanym układaniu

We wsi Brzeźno, gm Świerże Maksym Pilisko i Aleksander Mikitiuk kochali się na zabój w pięknej Małance.. Miłość więc brali serjo i poważnie

 Jeśli argumentem funkcji jest zakres komórek, to komórki graniczne oddziela się

 Powyższy adres można czytać jako „nie zmieniaj wiersza Powyższy adres można czytać jako „nie zmieniaj podczas kopiowania”.. Operacje na liczbach zespolonych Operacje

Wyj¹tkiem jest tu wynik badania Sullivana i Farrella (21), w którym stwierdzono istotny wp³yw na u¿ywanie substancji psychoaktywnych indeksu czynników ryzyka i ich interakcji z