Zastosowanie sieci neuronowych w problemie klasyfikacji ...

27
Zastosowanie sieci neuronowych w problemie klasyfikacji wielokategorialnej Adam Żychowski

Transcript of Zastosowanie sieci neuronowych w problemie klasyfikacji ...

Page 1: Zastosowanie sieci neuronowych w problemie klasyfikacji ...

Zastosowanie sieci

neuronowych w problemie

klasyfikacji

wielokategorialnej

Adam Żychowski

Page 2: Zastosowanie sieci neuronowych w problemie klasyfikacji ...

Definicja problemu

Każdy z obiektów może należeć do więcej niż jednej

kategorii.

Page 3: Zastosowanie sieci neuronowych w problemie klasyfikacji ...

Alternatywna definicja

Page 4: Zastosowanie sieci neuronowych w problemie klasyfikacji ...

Zastosowania

- kategoryzacja tekstów (tagowanie artykułów, e-maili)

- multimedia (obrazy, filmy, muzyka)

- biologia (odkrywanie funkcji genomów, rozpoznawanie

chorób na podstawie symptomów)

Page 5: Zastosowanie sieci neuronowych w problemie klasyfikacji ...

Dotychczasowe rozwiązania

Podział ze względu na badany poziom korelacji:

- pierwszego rzędu (traktowanie każdej kategorii

oddzielnie)

- drugiego rzędu (badanie korelacji między parami

kategorii)

- wyższych rzędów (uwzględnianie korelacji między

zbiorami kategorii)

Page 6: Zastosowanie sieci neuronowych w problemie klasyfikacji ...

Dotychczasowe rozwiązania

- sprowadzenie problemu do klasycznego problemu

klasyfikacji (Binary Relevance, Classifier Chaining)

- modyfikacja istniejącego algorytmu i dostosowanie go

do problemu klasyfikacji wielokryterialnej (ML-kNN,

Predictive clustering trees)

- metody hybrydowe

Page 7: Zastosowanie sieci neuronowych w problemie klasyfikacji ...

Sieci neuronowe

Pierwsza propozycja zastosowania sieci neuronowych w

problemie klasyfikacji wielokryterialnej: Zhang, M. L., and Zhou, Z. H. Multilabel neural networks with applications to

functional genomics and text categorization. IEEE transactions on Knowledge

and Data Engineering, 18(10), 1338-1351. 2006.

- perceptron wielowarstwowy

- uczenie metodą propagacji wstecznej błędu

- jedna warstwa ukryta (40 neuronów)

- wejście: cechy obiektu

- Q wyjść: każde odpowiadające jednej kategorii

Page 8: Zastosowanie sieci neuronowych w problemie klasyfikacji ...

Błąd uczenia wersja 1 (BP-MLL)

Page 9: Zastosowanie sieci neuronowych w problemie klasyfikacji ...

Modyfikacja błędu uczenia:

Grodzicki Rafał, Mańdziuk Jacek, and Wang Lipo. „Improved multilabel

classification with neural networks.” International Conference on Parallel

Problem Solving from Nature. Springer Berlin Heidelberg, 2008.

Page 10: Zastosowanie sieci neuronowych w problemie klasyfikacji ...

Błąd uczenia wersja 2

Page 11: Zastosowanie sieci neuronowych w problemie klasyfikacji ...

Błąd uczenia wersja 3

Page 12: Zastosowanie sieci neuronowych w problemie klasyfikacji ...

Błąd uczenia wersja 4 oraz 5 (CART-M)

Page 13: Zastosowanie sieci neuronowych w problemie klasyfikacji ...

Błąd uczenia wersja 6 (TCART-M)

Mańdziuk Jacek, Żychowski Adam, and Wang Lipo. „A TCART-M - Tuned

CARTesian-based Error Function for Multilabel Classification with the MLP.”

IJCNN 2017.

Page 14: Zastosowanie sieci neuronowych w problemie klasyfikacji ...

Benchmarki

yeast – zbiór genomów i ich funkcji

scene – obrazy krajobrazów

emotions – próbki dźwięków (piosenek), którym

przypisywane są emocje

enron – e-maile 150 pracowników firmy Enron Corporation

medical – opisy symptomów choroby pacjentów

Page 15: Zastosowanie sieci neuronowych w problemie klasyfikacji ...

Miary błędu rozwiązania

- example-based measures – różnica w kategoriach przypisanych

przez metodę a prawidłowych obliczana jest dla każdego obiektu

oddzielnie, a następnie uśredniana (Hamming loss, accuracy,

precision, recall, F1 score, subset accuracy)

Przykład:

- label-based measures – obliczana jest różnica dla wszystkich

obiektów dla danej kategorii, a potem wartość jest uśredniana

względem wszystkich kategorii (micro-precision, micro-recall,

micro-F1, macro-precision, macro-recall, macro-F1)

Przykład:

Page 16: Zastosowanie sieci neuronowych w problemie klasyfikacji ...

Miary błędu rozwiązania

- ranking-based measures – miary wyliczane na podstawie kolejności

(od najbardziej prawdopodobnej do najmniej), w jakiej metoda

przypisała kategorie (average precision, one-error, coverage,

ranking loss)

Przykład:

Page 17: Zastosowanie sieci neuronowych w problemie klasyfikacji ...

Testy metody TCART-M

Dobór D metodą Nested Cross Validation.

Dwa podejścia:

- TCART-Mi – dla każdej z miar błędu oddzielnie dobierany

jest parametr D

- TCART-Mg – próba znalezienia uniwersalnej wartości D,

tworzenie rankingu po wszystkich miarach błędu

Page 18: Zastosowanie sieci neuronowych w problemie klasyfikacji ...

Wyniki dla benchmarku emotions

Page 19: Zastosowanie sieci neuronowych w problemie klasyfikacji ...

Wyniki dla benchmarku yeast

Page 20: Zastosowanie sieci neuronowych w problemie klasyfikacji ...

CART-M vs TCART-M

Page 21: Zastosowanie sieci neuronowych w problemie klasyfikacji ...

Porównanie wartości D dla benchmarku emotions

0

0,2

0,4

0,6

0,8

1

1,2

0,25 0,5 0,75 1 2 3 4 5 6 7 8 9 10

Hamming Loss Accuracy Precision Recall Subset Accuracy F1 score

Micro-precision Macro-precision Micro-recall Macro-recall Micro-F1 Macro-F1

Ranking Loss OneError Coverage Average Precision

D Hamming

Loss Accuracy Precision

0,25 0,204 0,546 0,656

0,5 0,203 0,545 0,658

0,75 0,199 0,549 0,666

1 0,194 0,558 0,674

2 0,186 0,574 0,687

3 0,184 0,578 0,686

4 0,183 0,582 0,686

5 0,184 0,579 0,685

6 0,183 0,583 0,685

7 0,184 0,581 0,683

8 0,184 0,581 0,685

9 0,185 0,578 0,682

10 0,185 0,577 0,679

Page 22: Zastosowanie sieci neuronowych w problemie klasyfikacji ...

Porównanie wartości D dla benchmarku yeast

0

0,2

0,4

0,6

0,8

1

1,2

0,25 0,5 0,75 1 2 3 4 5 6 7 8 9 10

Hamming Loss Accuracy Precision Recall Subset Accuracy F1 score

Micro-precision Macro-precision Micro-recall Macro-recall Micro-F1 Macro-F1

Ranking Loss OneError Coverage Average Precision

D Hamming

Loss Accuracy Precision

0,25 0,205 0,504 0,674

0,5 0,197 0,510 0,699

0,75 0,196 0,508 0,709

1 0,197 0,505 0,712

2 0,200 0,501 0,710

3 0,201 0,498 0,710

4 0,201 0,498 0,711

5 0,201 0,497 0,713

6 0,201 0,496 0,713

7 0,201 0,495 0,714

8 0,201 0,495 0,715

9 0,201 0,494 0,714

10 0,202 0,493 0,715

Page 23: Zastosowanie sieci neuronowych w problemie klasyfikacji ...

Porównanie z innymi metodami benchmarku emotions

Page 24: Zastosowanie sieci neuronowych w problemie klasyfikacji ...

Porównanie z innymi metodami

Page 25: Zastosowanie sieci neuronowych w problemie klasyfikacji ...

Redukcja danych wejściowych

medical

Page 26: Zastosowanie sieci neuronowych w problemie klasyfikacji ...

Dalsze eksperymenty

- sprawdzenie innych benchmarków

- „sprytniejszy” dobór wartości parametru D (np.

algorytm genetyczny)

- rozważenie różnych dzielników dla różnych składników

sumy

- wykorzystanie informacji z nauczonej sieci

Page 27: Zastosowanie sieci neuronowych w problemie klasyfikacji ...

Literatura

1. Zhang, M. L., and Zhou, Z. H. A review on multi-label learning algorithms. IEEE

transactions on knowledge and data engineering, 26(8), 1819-1837. 2014.

2. Madjarov, G., Kocev, D., Gjorgjevikj, D., and Džeroski, S. An extensive

experimental comparison of methods for multi-label learning. Pattern Recognition,

45(9), 3084-3104. 2012.

3. Zhang, M. L., and Zhou, Z. H. Multilabel neural networks with applications to

functional genomics and text categorization. IEEE transactions on Knowledge and Data

Engineering, 18(10), 1338-1351. 2006.

4. Grodzicki, R., Mańdziuk, J., and Wang, L. Improved multilabel classification with

neural networks. International Conference on Parallel Problem Solving from Nature

(pp. 409-416). Springer Berlin Heidelberg. 2008.

5. Tsoumakas G., Spyromitros-Xioufis E., Vilcek J., and Vlahavas I. Mulan: A Java

Library for Multi-Label Learning, Journal of Machine Learning Research, 12, pp. 2411-

2414. 2011. http://mulan.sourceforge.net