Algorytmy redukcji danych w uczeniu maszynowym i eksploracji danych
Dr inŜ. Ireneusz Czarnowski Akademia Morska w Gdyni
Plan seminarium
Wprowadzenie
Redukcja danych
Zintegrowany model uczenia maszynowego
Algorytm redukcji danych oparty na agentach programowych
Idea algorytmu
ZałoŜenia implementacyjne
Wyniki eksperymentów obliczeniowych
Odkrywanie wiedzy w rozproszonych zasobach informacyjnych
Architektura proponowanego systemu
Wyniki eksperymentów obliczeniowych
Zakończenie
2
Wprowadzenie
Uczenie maszynowe
Uczenie maszynowe
To konstruowanie programów komputerowych, które uczą się rozwiązywania zadania na podstawie doświadczenia (przykładów, instancji, informacji trenującej)
Uogólnienie pozyskanego doświadczenia na przypadki nie występujące w informacji trenującej jest szczególnym zagadnieniem uczenia maszynowego
Uczenie się systemu
Autonomiczna zmiana zachodząca w systemie na podstawie doświadczenia (informacji trenującej) prowadząca do poprawy jego działania
Zadaniem systemu uczącego się z przykładów jest uczenie się pojęć, czyli sposobu
klasyfikowania obiektów. Ten rodzaj uczenia nazywany jest równieŜ uczeniem pod nadzorem.
Uczenie się z przykładów (ang. learning from examples) jest jedną ze strategii
uczenia maszynowego – paradygmat uczenia się z indukcji
Wprowadzenie
Uczenie się z przykładów i klasyfikacja
W wyniku uczenia się z przykładów system uczący generuje hipotezę h ∈
H, któranazywana jest klasyfikatorem
Algorytm uczenia maszynowego L generujący klasyfikator na podstawie zbioru przykładów D nazywany jest algorytmem indukcji
Celem uczenia się z przykładów jest przygotowanie algorytmu indukcji generującego
Celem uczenia się z przykładów jest przygotowanie algorytmu indukcji generującego hipotezę, h=L(D), która będzie optymalna z punktu widzenia przyjętego kryterium oceny
Klasyfikatory, jako metody algorytmiczne, wykorzystywane są do podejmowanie decyzji o przynaleŜności obiektu do jednej z klas decyzyjnych – podstawowy cel w problemie klasyfikacji obiektów
)) ( (
max
arg f h L D
h =
h H=
∈
} ,...
, {
: D C
1C
kh → ∅
4
klasyfikator indukcja
klasyfikatora
D
Wprowadzenie
Schemat indukcji klasyfikatora
klasyfikator
Testowanie
stop Modyfikacja parametrów algorytmu
Strojenie algorytmu
Optymalizacja parametrów algorytmu
Np.: dobór współczynników wagowych sieci neuronowej, dobór parametrów drzewa decyzyjnego, weryfikacja czynników mających wpływ na jakość działania algorytmu
Wprowadzenie
Zastosowania metod uczenia maszynowego (1)
Odkrywanie wiedzy z danych (ang. : Knowledge Discovery in Databases, KDD) i jego techniki zgłębiania danych
KDD to proces wielofazowy obejmujący między innymi przygotowanie i przetworzenie danych oraz eksplorację danych
klasyfikator indukcja
klasyfikatora
Testowanie
stop
D Przetwarzanie
danych
Dane
przetworzone
Schemat indukcji klasyfikatora w KDD
6
Odkrywanie wiedzy w rozproszonych zasobach informacyjnych (ang.:
Knowledge Discovery in Distributed Databases, KDDD)
Celem uczenia się z przykładów jest przygotowanie algorytmu indukcji generującego hipotezę, h=L(D), gdzie D=D
1,…,D
K, która będzie optymalna z punktu widzenia
przyjętego kryterium oceny Wprowadzenie
Zastosowania metod uczenia maszynowego (2)
1 K
przyjętego kryterium oceny
Wprowadzenie
Ograniczenia metod uczenia maszynowego
Brak zdolności do modyfikowania przestrzeni danych
Brak wpływu na postać, reprezentację i jakość wykorzystywanych danych
Niezadowalająca efektywność metod uczenia maszynowego
Ograniczenia wynikające z przetwarzania duŜych zbiorów danych
Ograniczenia wynikające z przetwarzania duŜych zbiorów danych
Naturalne rozproszenie danych
8
Wprowadzenie
Zwiększanie efektywności metod uczenia maszynowego
Redukcja danych
Zintegrowane uczenie – integracja fazy przetwarzania danych z fazą uczenia
(indukcji klasyfikatora)
Redukcja danych
Wprowadzenie
Celem redukcji danych jest identyfikacja i eliminacja nieistotnych i nadmiarowych informacji w zbiorze danych i pozostawienie w nim wektorów referencyjnych zwanych teŜ prototypami
Optymalnym zbiorem prototypów S nazywamy taki podzbiór zbioru D, w którym obiekty są opisane na zbiorze atrybutów A’
⊂A i dla którego algorytm indukcji Lbędzie osiągał ekstremum przyjętej funkcji kryterialnej
Redukcja danych moŜe przyczynić się do
Zwiększenia efektywności uczenia
Zmniejszenia czasu uczenia
Wyeliminowania szumów i błędów ze zbioru uczącego
Zmniejszenia wymagań co do zasobów obliczeniowych
Zmniejszenie złoŜoności struktury reprezentacji wiedzy o rozwaŜanym problemie
Wskazanie kompromisu pomiędzy poziomem kompresji danych uczących a wartością przyjętej funkcji oceny klasyfikatora
10
Redukcja atrybutów
Metody dokładne
Metody typu „filter”
Metody typu „wrapper”
Heurystyczne metody oceny podzbiorów atrybutów
Redukcja przykładów
Redukcja danych
Metody redukcji danych
Redukcja przykładów
„Incremental search”
„Decremental search”
Metody przeszukiwania wsadowego
„Sampling techniques”
„Similarity based methods”
Metody oparte na grupowaniu
Heurystyki, metaheurystyki, przeszukiwanie ewolucyjne I.
II.
Algorytm grupowania danych oparty na podobieństwie
Niech N jest liczbą przykładów w zbiorze D, n - jest liczbą atrybutów, N – jest liczbą przykładów w zbiorze D, X={xij} (gdzie i=1,...,N, j=1,...,n+1) jest macierzą o n+1 kolumnach i N wierszach zawierającą wszystkie przykłady z D (n+1 element tablicy jest wartością atrybutu decyzyjnego przypisanego do danego przykładu).
Krok 1: Normalizacja wartości xij⊂X (i=1,...,N; j=1,...,n) do przedziału [0,1] oraz zaokrąglenie xij do najbliższej wartości całkowitej.
Krok 2: Obliczenie wartości
Krok 3: Dla przykładów z X, należących do klasy decyzyjnej c (l=1,…,k), obliczenie wartości
∑
=
=
= N
i ij
j x j n
s
1
,..., 1 ,
Krok 3: Dla przykładów z X, należących do klasy decyzyjnej cl (l=1,…,k), obliczenie wartości współczynnika podobieństwa Ii:
Krok 4: Grupowanie przykładów z X opisanymi identycznymi wartościami współczynnika w grupy.
Krok 5: Niech Y1,…,Yt będą otrzymanymi grupami przykładów takimi, że oraz
Zakłada się utworzenie zredukowanego zbioru danych S przez wybór wektorów referencyjnych z Yi zgodnie z następującymi regułami:
Jeżeli |Yi|=1 to S=S∪Yi
Jeżeli |Yi|>1 to S=S∪{xi}, gdzie xi jest wybranym/wskazanym wektorem referencyjnym z Yi.
U
tiY
iD =
=1∑
+=
+ = = =
∀ 1
1 1
: , , 1,...,
n
j
j ij l i
n c xi
x I x s gdzie i N
∅
=
∩
∀
i≠j:i,j=1,...,tY
iY
j12
Typowy proces redukcji danych
Metody redukcji danych w obu wymiarach
Sekwencyjne wykonywanie redukcji dla kaŜdej przestrzeni
Integracja metod selekcji wektorów oraz selekcji atrybutów
Metody ewolucyjne Redukcja danych
Redukcja danych w przestrzeni atrybutów i przestrzeni przykładów
Sparametryzowanie przestrzeni aproksymacyjnej
Przestrzeń aproksymacyjna wyznacza sposób opisu pojęcia w przestrzeni D. Definicja przestrzeni aproksymacyjnej moŜe wskazywać, które obiekty uznajemy za waŜne a które za mniej waŜne
Uwzględniając sparametryzowanie przestrzeni aproksymacyjne problem uczenia się z przykładów moŜemy zapisać następująco
)) , ( (
max
arg
,f h L D g h =
h H g G=
∈
∈
Zintegrowany model uczenia maszynowego
klasyfikator indukcja
klasyfikatora
D
obróbka danychwstępneprzetwarzanie danych
Warianty modeli uczenia zintegrowanego
Zintegrowanie fazy selekcji przykładów z fazą uczenia
Zintegrowanie fazy selekcji atrybutów z fazą uczenia
Zintegrowanie selekcji przykładów i selekcji atrybutów z fazą uczenia
Testowanie
stop Adaptacja przez zmianę opisu
- selekcja atrybutów
- wyszukiwanie nowych cech
- poszerzanie lub kompresja zbioru danych - eliminacja informacji redundantnej i nieistotnej - selekcja prototypów
14
Zwiększanie efektywności metod uczenia maszynowego
Redukcja danych
Zintegrowane uczenie
Agentowy algorytm uczenia populacji oparty na architekturze A-Team
lub
Agentowy algorytm redukcji danych
Agentowy algorytm redukcji danych
oparty na agentach programowych
Wspólna, współdzielona pamięć
Agent nadzorujący Architektura A-Team:
Algorytm redukcji danych oparty na agentach programowych
A-Team dla proponowanego algorytmu
Agent nadzorujący
Agent optymalizacyjny
Agent optymalizacyjny
Agent optymalizacyjny
Agent optymalizacyjny
Agent optymalizacyjny
16
Algorytm redukcji danych oparty na agentach programowych
Podstawowe załoŜenia algorytmu
Agenty programowe kooperują i współdzielą pamięć celem rozwiązania problemu optymalizacyjnego
Populacja potencjalnych rozwiązań problemu zapisana jest we wspólnej, współdzielonej pamięci
Rozwiązania w trakcie obliczeń są optymalizowane przez niezaleŜnych agentów
agentów
Agenty poprawiają rozwiązania, które odczytywane są z pamięci wspólnej
KaŜdy agent jest implementacją algorytmu poprawy
Funkcjonalność algorytmu jest realizowana przez dwa typy agentów:
Agent optymalizacyjny – ang. optimizing agent
Agent nadzorujący – ang. solution manager
Najlepsze rozwiązanie w populacji traktowane jest jako rozwiązanie
problemu
Algorytm redukcji danych oparty na agentach programowych
Środowisko agentów programowych proponowanego algorytmu
18
Algorytm redukcji danych oparty na agentach programowych
ZałoŜenia algorytmu
Rozwiązaniem problemu jest wektor składający się z numerów przykładów
wybranych z oryginalnego zbioru danych oraz z numerów atrybutów wybranych z oryginalnego zbioru atrybutów
Populacja początkowa tworzona jest w sposób losowy
Przykłady wybierane są z klastrów (grup)
Podział przykładów na grupy odbywa się w oparciu o wybrany algorytm grupowania Prototypy wybierane są z grup w procesie ewolucyjnego przeszukiwania
Prototypy wybierane są z grup w procesie ewolucyjnego przeszukiwania
Atrybuty są wybierane w procesie ewolucyjnego przeszukiwania
Rozwiązania są oceniane w oparciu o jakość klasyfikacji klasyfikatora (hipotezy) utworzonego przy uŜyciu zredukowanego zbioru danych
Do poprawy rozwiązania z populacji wybierane są losowo
Poprawione rozwiązanie zastępuje rozwiązanie najgorsze w bieŜącej populacji
Algorytm redukcji danych oparty na agentach programowych
Algorytm poprawy
Rozwiązania poprawiane są w oparciu o trzy rodzaje zaimplementowanych procedur poprawy
1.
a) Procedura lokalnego przeszukiwania z pamięcią ruchów zabronionych dla przestrzeni przykładów
b) Procedura prostego lokalnego przeszukiwania dla przestrzeni przykładów
Procedura lokalnego przeszukiwania z pamięcią ruchów zabronionych dla przestrzeni
2.
Procedura lokalnego przeszukiwania z pamięcią ruchów zabronionych dla przestrzeni atrybutów
3.
Procedura lokalnego przeszukiwania dla przestrzeni przykładów i atrybutów
20
Eksperyment obliczeniowy (1)
Cel eksperymentu
Celem eksperymentu obliczeniowego była ocena efektywności
proponowanego agentowego algorytmu uczenia populacji przeznaczonego do redukcji danych w oparciu o model uczenia zintegrowanego
Dane benchmarkowe
Cleveland heart disease (303 obiektów, 13 atrybutów, 2 klasy)
Credit approval (690, 15, 2)
Credit approval (690, 15, 2)
Wisconsin breast cancer (699, 9, 2)
Sonar (208, 60,2)
Test 10 krotnej walidacji skrośnej
Eksperyment obliczeniowy (1)
Wyniki eksperymentu (1)
A – oryginalny, niezredukowany zbiór danych
B – selekcja atrybutów na etapie wstępnego przetwarzania danych
C – model uczenia zintegrowanego - selekcja przykładów zintegrowana z fazą uczenia D – model uczenia zintegrowanego (selekcja przykładów zintegrowana z fazą uczenia) z
selekcji atrybutów na etapie wstępnego przetwarzania danych
E – model uczenia zintegrowanego (selekcja atrybutów zintegrowana z fazą uczenia) z selekcji przykładów na etapie wstępnego przetwarzania danych
F – model pełnego uczenia zintegrowanego
22
Porównanie wybranych klasyfikatorów oraz wybranych metod redukcji danych
Algorytm
cancer heart credit sonar
Accur. |S|/|D| Accur. |S|/|D| Accur. |S|/|D| Accur. |S|/|D|
Proposed approach 98.1% 20% 93.0% 60% 92.6% 30% 88.8% 90%
K-NN [18] 96.28% 100% 81.19% 100% 84.78% 100% 58.8% [14] 100%
CNN [18] 95.71% 7.09% 73.95% 30.84% 77.68% 24.22% 74.12% 32.85%
SNN [18] 93.85% 8.35% 76.25% 33.88% 81.31% 28.38% 79.81% 28.26%
IB2 [18] 95.71% 7.09% 73.96% 30.29% 78.26% 24.15% 80.88% 33.87%
Eksperyment obliczeniowy (1)
Wyniki eksperymentu (2)
IB2 [18] 95.71% 7.09% 73.96% 30.29% 78.26% 24.15% 80.88% 33.87%
IB3 [18] 96.57% 3.47% 81.16% 11.11% 85.22% 4.78% 69.38% 12.02%
DROP3 [18] 96.14% 3.58% 80.84% 12.76% 83.91% 5.96% 78% 26.87%
RMHC [15] 70.9% 7% 82.3% 3% - - - -
GA-KJ [14] 95.5% 33.4% 74.7% 33.1% - - 55.3 52.6
1NN+RELIEF [13] 72.12% 100% 77.85% 100% 79.57% 100% - -
IB3+RELIEF [13] 73.25% 100% 79.94% 100% 71.75% 100% - -
ID3+FSS [9] 94.53% 100% - - - - - -
ID3 [5] 94.3% 100%
C4.5+BFS [5] 95.28% 100% - - - - - -
C4.5 [7] 94,7% 100% 77.8% 100% 85.5% 100% 76.9% 100%
Redukcja danych moŜe przyczynić się do zwiększenie efektywności algorytmów indukcji
Zredukowany zbiór danych zachowuje cechy analizowanych danych
Model uczenia zintegrowanego gwarantuje lepsze rezultaty niŜ model uczenia oparty na podejściu dwuetapowym (brak integracji)
Eksperyment obliczeniowy (1)
Wyniki eksperymentu - wnioski
Wybór modelu uczenia ma wpływ na jakość klasyfikacji
Wybór algorytmu uczenia maszynowego nie jest decydującym czynnikiem z punktu widzenia efektywności zintegrowanego systemu klasyfikującego
Algorytm redukcji danych oparty na agentach programowych jest konkurencyjny w stosunku do innych algorytmów redukcji danych
24
Celem eksperymentu obliczeniowego była ocena wpływu doboru algorytmu grupowania na efektywności agentowego algorytmu selekcji prototypów
Porównywane algorytmy grupowania
Algorytm grupowania oparty na podobieństwie
Algorytm warstwowania (ang. stratification-based clustering algorithm)
Zmodyfikowany algorytm warstwowania Eksperyment obliczeniowy (2)
Cel eksperymentu
Zmodyfikowany algorytm warstwowania
Algorytm k-means
Dane benchmarkowe
Cleveland heart disease (303 obiektów, 13 atrybutów, 2 klasy)
Sonar (208, 60,2)
Credit approval (690, 15, 2)
Wisconsin breast cancer (699, 9, 2)
Customer (24000, 36, 2)
Adult (30162, 14,2)
SC - algorytm grupowania oparty na podobieństwie
SS - algorytm warstwowania
MSS - zmodyfikowany algorytm warstwowania kCA - algorytm k-means
50 60 70 80 90 100
dane oryg. SC SS MSS kCA
% Średnia jakość klasyfikacji klasyfikatora opartego na wybranym algorytmie redukcji danych
heart sonar
70 80 90
%100 Średnia jakość klasyfikacji klasyfikatora opartego na wybranym algorytmie redukcji danych
credit cancer
Eksperyment obliczeniowy (2)
Wyniki eksperymentu
26
50 60 70
dane oryg. SC SS MSS kCA
cancer
50 60 70 80 90 100
dane oryg. SC SS MSS kCA
% Średnia jakość klasyfikacji klasyfikatora opartego na wybranym algorytmie redukcji danych
customer adult
Wybór metody grupowania w algorytmie selekcji prototypów opartym na grupowaniu jest waŜnym czynnikiem mającym wpływ na jakość klasyfikatora
Selekcja prototypów bazująca na grupowaniu opartym na podobieństwie jest gwarantem uzyskania wysokiej jakości klasyfikacji
Algorytm selekcji prototypów bazujący na grupowaniu opartym na
Eksperyment obliczeniowy (2)
Wyniki eksperymentu - wnioski
Algorytm selekcji prototypów bazujący na grupowaniu opartym na
podobieństwie jest algorytmem konkurencyjnym w stosunku do innych
algorytmów redukcji danych
Typowe podejścia do KDDD
Migracja danych z rozproszonych repozytoriów
Dwuetapowe podejście
Lokalne przetwarzanie danych
Agregacja wyników lokalnego przetwarzania na poziomie globalnym Odkrywanie wiedzy w rozproszonych zasobach informacyjnych
Typowe podejścia do KDDD
Techniki meta-uczenia (ang. meta-learning)
Migracja na poziom globalny danych istotnych (ang. relevant data), prototypów, wektorów referencyjnych
28
Odkrywanie wiedzy w rozproszonych zasobach informacyjnych
Architektura dwupoziomowego przetwarzania dla KDDD
Odkrywanie wiedzy w rozproszonych zasobach informacyjnych
Agenty w rozproszonym systemie klasyfikującym
30
Eksperyment obliczeniowy (3)
Cel eksperymentu
Celem eksperymentu obliczeniowego była ocena efektywności agentowego algorytmu uczenia populacji dedykowanego KDDD przy załoŜeniu
dwupoziomowego przetwarzania opartego na redukcji danych przez selekcję prototypów
Porównywane podejścia KDDD
Selekcja prototypów na poziomie lokalnym z uŜyciem algorytmów CNN, ENN
Selekcja prototypów na poziomie lokalnym z uŜyciem algorytmów grupowania
Selekcja prototypów na poziomie lokalnym z uŜyciem algorytmów grupowania
Dane benchmarkowe
Customer (24000 obiektów, 36 atrybutów, 2 klasy)
Adult (30162, 14,2)
Waveform (30000, 21, 2)
Shuttle (58000, 9, 7)
Test 10 krotnej walidacji skrośnej oraz podział zbioru uczącego na niezaleŜne
zbiory danych (rozproszone repozytoria)
Full
dataset SC SS kCA CNN ENN Meta-learning
Customer 73,21 72,18 66,18 71,86 57,08 67,58 72,57
Adult 82,43 86,83 82,21 86,43 70,36 79,99 82,39
Waveform 71,01 78,03 73,87 76,87 64,36 70,55 71,11
Shuttle 99,90 99,95 99,68 99,95 97,17 99,87 99,68
Eksperyment obliczeniowy (3)
Wyniki eksperymentu
Średnia jakość klasyfikacji dla wybranych modeli uczenia w KDDD
32
Full dataset – migracja danych z poziomu lokalnego na poziom globalny SC - algorytm grupowania oparty na podobieństwie
SS - algorytm warstwowania kCA - algorytm k-means
CNN – selekcja przykładów oparta na algorytmie CNN ENN – selekcja przykładów oparta na algorytmie CNN
Meta-learning – agregacja klasyfikatorów poziomu lokalnego
Rodzaj algorytmu redukcji danych ma wpływ na jakość klasyfikacji w KDDD
Algorytm redukcji danych oparty na podobieństwie jest konkurencyjny w stosunku do innych algorytmów redukcji danych w zastosowaniu do
KDDD
Proponowane agentowe podejście do klasyfikacji w środowisku
rozproszonym oparte na redukcji danych okazało się konkurencyjnym w
Eksperyment obliczeniowy (3)
Wyniki eksperymentu - wnioski
rozproszonym oparte na redukcji danych okazało się konkurencyjnym w stosunku do standardowych podejść tj. związanych z migracją danych z niezaleŜnych repozytoriów na poziom globalny oraz obejmujących tzw.
meta-uczenie
Zaproponowany agentowe algorytmy uczenia populacji poszerzają rodzinę
algorytmów redukcji danych i jest efektywną i uŜyteczną alternatywą dla
problemów uczenia w KDDD
Inne uzyskane wyniki badań
Analiza efektywności algorytmów redukcji danych opartych na grupowaniu
Implementacja i analiza agentowego algorytmu uczenia populacji do rozwiązania problemu wielokryterialnej redukcji danych
Zaproponowanie i ewaluacja strategii selekcji prototypów w rozproszonych zasobach informacyjnych z uwzględnieniem homogenicznych i
heterogenicznych zredukowanych zbiorów danych heterogenicznych zredukowanych zbiorów danych
Implementacja procedur poprawy, opartych na przeszukiwaniu z ruchami zabronionymi oraz symulowanym wyŜarzaniu, przeznaczonych do redukcji danych
Analiza wpływu doboru parametrów w agentowym algorytmie uczenia populacji na jakość rozwiązań
34
Bibliografia
Czarnowski I. (2011) Distributed Learning with Data Reduction. In: Nguyen N.T. (ed.), Transactions on CCI IV, LNCS 6660, Springer, pp.3-121
Czarnowski I., Jędrzejowicz P. (2010) An Approach to Data Reduction and Integrated Machine Classification. New Generation Computing 28(1) 21-40 (JCR 2009 impact factor: 0.364)
Czarnowski I. (2011) Cluster-based Instance Selection for Machine Classification. Knowledge and Information Systems. (in print, on-line first), doi:10.1007/s10115-010-0375-z (JCR 2009 impact factor: 2.211)
Czarnowski I., Jędrzejowicz P. (2011) An Agent-based Framework for Distributed Learning. Czarnowski I., Jędrzejowicz P. (2011) An Agent-based Framework for Distributed Learning.
Engineering Applications of Artificial Intelligence 24, 93-102 (JCR 2009 impact factor: 1.444)
Czarnowski I., Jędrzejowicz P. (2011) Application of Agent-based Simulated Annealing and Tabu Search Procedures to Solving the Data Reduction Problem. International Journal of Applied Mathematics and Computer Science - AMCS, 21(1), 57-68 (JCR 2009 impact factor: 0.684)
Czarnowski I. (2010) Prototype Selection Algorithms for Distributed Learning. Pattern Recognition 43(6) 2292-2300 (JCR 2009 impact factor: 2.554)
Czarnowski I., Jędrzejowicz P. (2007) An Agent-based Approach to the Multiple-objective Selection of Reference Vectors. In: Perner P. (Ed.): Proceedings of the 5th International Conference on
Machine Learning and Data Mining in Pattern Recognition MLDM'2007, LNAI 4571, Springer, pp.548-562