Wprowadzenie do programu RapidMiner Studio 7.6, część 7 Podstawy metod wyboru atrybutów w problemach klasyfikacyjnych, c.d. Michał Bereta www.michalbereta.pl Wybór / ocena atrybutów na podstawie oceny jakości działania wybranego klasyfikatora. Przy ocenie wartości atrybutu kierować można się empiryczną oceną jakości działania konkretnego klasyfikatora, który wykorzystuje dany atrybut, a raczej cały zestaw atrybutów. Istnieją dwa główne podejścia: a.) Forward selection - dodawaj kolejne atrybuty jeśli ich dodanie poprawia działanie klasyfikatora danego typu b.) Backward elimination - usuwaj po kolei kolejne atrybuty, i akceptuj usunięcie, jeśli wytrenowany na pozostających atrybutach klasyfikator danego typu poprawia się / nie pogarsza swojego działania Porównaj działanie tych dwóch operatorów. Wykorzystują one wewnętrzny operator walidacji (kros- lub splitwalidacja) jako sposób oceny aktualnie wybranego zestawu atrybutów. Charakter przeszukiwania przestrzeni wszystkich możliwych podzbiorów atrybutów pozwala stwierdzić, że oba te algorytmy (forward i backward) są przykładami optymalizacji zachłannej. Metody takie charakteryzują się tym, że kolejne rozwiązania generowane są przez stosunkowo niewielkie modyfikacje aktualnego rozwiązania. Otrzymane nowe rozwiązanie jest akceptowane jeśli jest lepsze od aktualnego. Jako że ocena każdego kolejnego rozważanego podzbioru atrybutów wymaga wykonania np. kroswalidacji, metoda ta może szybko stać się wymagająca obliczeniowo. Z drugiej strony, zestaw atrybutów jest optymalizowany pod kątem konkretnego modelu klasyfikacyjnego. Jako metodę ewaluacji użyjemy 10-krotnej kroswalidacji dla naiwnego klasyfikatora Bayesa, który jest stosunkowo szybkim modelem klasyfikacyjnym, co ma tu duże znaczenie. 1
Dla ForwardSelection : 2
Dla Backward Elimination : 3
Przykładowe wyniki osiągnięte przez obie metody: Dla ForwardSelection: Dla BackwardElimination: Przykładowe wybrane atrybuty: Dla ForwardSelection : / Dla Backward Elimination : Jak widać, wyniki są zbliżone, jednak metody różnią się wybranym zestawem atrybutów. Czy metody te poprawiają działanie modelu w stosunku do sytuacji, gdy wszystkie atrybuty zostały użyte? Wykonaj poniższy projekt. 4
Przykładowe wyniki dla naiwnego klasyfikatora Bayesa z wykorzystaniem wszystkich atrybutów: Średnia jest niższa niż dla Forward oraz Backward, jednak według testu ANOVA, nie ma podstaw by twierdzić, że różnice są znaczące (Prob=0.519 > 0.05). Obu metodom udało się pozbyć części atrybutów i zachować średnią jakość działania. 5
Uwaga: Użycie wymagającego obliczeniowo klasyfikatora (np. sieci neuronowej) jako bazowego modelu dla metod forward oraz backward, może być zbyt wymagające i czasochłonne. Można jednak próbować użyć szybszego modelu w środku operatora forward i backward, a zoptymalizowane przez te metody zestawy atrybutów użyć do trenowania wolniejszego klasyfikatora. Liczymy przy tym, że zestaw atrybutów, który dobrze działał dla np. naiwnego klasyfikatora Bayesa, będzie również całkiem niezły dla np. sieci neuronowej. Wypróbuj poniższe podejście dla bazy ionosphery. W trzech widocznych operatorach kroswalidacji używamy sieci neuronowej 6
natomiast w operatorach forward i backward, używamy kroswalidacji, ale z naiwnym klasyfikatorem Bayesa (szybki klasyfikator). Aby przyspieszyć obliczenia, można spróbować użyć splitwalidacji zamiast kroswalidacji. Należy jednak pamiętać, że oszacowanie kroswalidacyjne jest ogólnie dokładniejsze. Przykładowe wyniki sieci neuronowej: Dla wszystkich atrybutów: Dla ForwardSelection: Dla BackwardElimination: 7
Wyniki testu ANOVA: Według testu ANOVA, różnice nie są znaczące, nawet spadek do 88% dla metody forward nie jest statystycznie istotny. Ile atrybutów usunęły metody forward oraz backward w tym przypadku? Przypomnijmy, że w bazie ionosphere są 33 atrybuty + 1 atrybut klasy. Atrybuty wybrane (podgląd): Forward (4 wybrane) / Backward (3 odrzucone) Biorąc pod uwagę, że różnice nie są statystycznie istotne, metoda forward zadziałała tu bardzo dobrze. 8
Uwaga: Kosztem zwiększenia ilości obliczeń, można skorzystać z opcji speculative rounds. Pozwala to kontynuować obliczenia metodom forward oraz backward, mimo braku poprawy przez kilka dodatkowych iteracji. Czasami pozwala to algorytmowi uciec z tzw. lokalnego minimum. 9
Generowanie wag atrybutów za pomocą metod ForwardSelection oraz BackwardElimination Podobne procedury mogą być wykorzystane do generowania wag atrybutów. Przykładowo, wypróbuj operatory Optimize Weights (Forward) oraz Optimize Weights (Backward) do bazy sonar. Operatory te również wymagają zdefiniowania podprocesu (w tym przykładzie jest to kroswalidacja z klasyfikatorem k-nn). Z dokumentacji RMS: Synopsis This operator calculates the relevance of the attributes of the given ExampleSet by calculating the attribute weights. This operator assumes that the attributes are independent and optimizes the weights of the attributes with a linear search. 10
Przykładowe wagi otrzymane z tych operatorów: Forward / Backward Sposób postępowania z tak otrzymanymi wagami jest taki sam jak w przypadku wag otrzymanych z metod wykorzystujących analizę korelacji omawianych na poprzednim laboratorium. 11
Zadanie Wykorzystując poznane metody wyboru atrybutów oraz optymalizacji parametrów algorytmów, zaprojektuj jak najlepszy (dobre wyniki klasyfikacji i jak najmniej atrybutów) klasyfikator SVM dla bazy messidor (ostatnia kolumna jest etykietą klasy). 12