Zastosowanie algorytmów ewolucyjnych do oceny jakości atrybutów w
problemach klasyfikacyjnych na przykładzie programu Rapid Miner
Michał Bereta
www.michalbereta.pl
1. Wybór atrybutów
Użyjmy operatora kroswalidacji by ocenid jakośd działania klasyfikatora najbliższego sąsiada (k-NN) na danych Iris.
Uwaga: w poniższych przykładach zwród uwagę na ustawienie opcji „use local random seed” aby otrzymad dokładnie takie same wyniki.
Operator kros walidacji jest operatorem złożonym:
Co jednak, jeśli w zadanym problemie nie wszystkie dostępne atrybuty są równie przydatne a czasami nawet przeszkadzają? Zasymulujemy taki problem poprzez dodanie do czterech atrybutów w problemie Iris paru dodatkowych losowych atrybutów za pomocą operatora AddNoise:
W zakładce Meta Data View zwród uwagę, że nowe atrybuty mają średnie i odchylenia standardowe w podobnym zakresie jak oryginalne atrybuty:
Jakośd klasyfikacji jest teraz dużo niższa, widad, że dodatkowe atrybuty przeszkadzają:
Istnieją różne metody służące ocenie i wyborowi atrybutów. Najprostszym podejściem jest podejście zachłanne, w którym próbujemy usuwad po jednym atrybucie (zaczynając od wszystkich), lub dodawad po jednym atrybucie (zaczynając od pojedynczych atrybutów), dopóki widad, że postępowanie takie przynosi poprawę, co jest oceniane przez operator Performance i może byd wykonane za pomocą kroswalidacji. Pierwsze podejście nazywa się backward, drugie forward. Wykorzystamy operator OptimizeSelection:
Uwaga: Operator Optimize Selection (tak jak i każdy kolejny operator wyboru atrybutów /doboru wag / generowania atrybutów) wymaga zdefiniowania pod-operatora odpowiadającego za ocenę zestawu atrybutów aktualnie branego pod uwagę. W naszym przykładzie oparte to będzie również na kroswalidacji z wykorzystaniem klasyfikatora najbliższego sąsiada (k-NN), przykładowo:
Wyniki dla operatora Optimize Selection: W wersji backward:
Wyniki
Widad, że oprócz oryginalnych atrybutów algorytm pozostawił również inne, losowe.
W wersji forward:
Algortym forward usunął wszystkie losowe atrybuty, lecz usunął również dwa oryginalne. W tym problemie nie jest to takie złe rozwiązanie, gdyż trzeci i czwarty atrybut są tymi najbardziej obiecującymi, o czym świadczy nawet wstępna analiza danych.
Wyniki oszacowania kros walidacji dla backward:
Oraz dla forward:
W tym problemie lepiej poradził sobie operator w wersji forward.
Optymalizacji wyboru można dokonad również za pomocą algorytmu ewolucyjnego. Każdy osobnik może za pomocą jednego bitu kodowad fakt użycia lub odrzucenia danego atrybutu.
Dalsze ustawienia specyficzne dla algorytmu ewolucyjnego:
Wyniki kros walidacji na podstawie wybranych atrybutów:
2. Optymalizacja wag atrybutów
Optymalizowad można nie tylko wybór atrybutów w sensie zero-jedynkowym (zachowaj-odrzud). Można również optymalizowad wagi przypisane każdemu atrybutowi. Daje to dokładniejszy wgląd w ocenę jakości danego atrybutu. Na podstawie wag można odrzucid częśd atrybutów ze zbyt małymi wartościami wag. Niektóre algorytmy uczenia klasyfikatorów mogą również użyd wag bezpośrednio. Optymalizacja wag atrybutów występuje również w wersji zachłannej.
Znalezione wagi atrybutów:
Na wyjściu operator Optimize Weights (Forward) z portu exa przekazuje jedynie atrybuty o niezerowych wagach:
Wyniki kros walidacji na wybranych atrybutach:
Widad, że wersja backward ma problemy i losowe atrybuty nie są oceniane tak nisko jak powinny byd:
Przekłada się to na jakośd klasyfikacji:
Zastosowanie algorytmu ewolucyjnego.
Każdy osobnik w populacji może kodowad wagi poszczególnych atrybutów. Każdy osobnik jest oceniany za pomocą kroswalidacji (zwród uwagę jak wpływa to na ilośd potrzebnych obliczeo). Lepsza ocena osobnika oznacza lepszą ocenę jakości klasyfikatorów poprzez wagi.
Można użyd operatora Select by Weights w celu wyboru jedynie tych atrybutów, których wagi spełniają zadany warunek:
Ostatecznie wybrany zestaw atrybutów jest identyczny z oryginalnym (wszystkie losowe atrybuty zostały odrzucone):
3. Selekcja i jednoczesne generowanie nowych atrybutów przez algorytm ewolucyjny
Bardziej rozbudowane algorytm ewolucyjne mogą w każdym osobniku zakodowad nie tylko wybrane atrybuty ale również sposób tworzenia nowych atrybutów na podstawie przekształceo atrybutów oryginalnych. Mogą to byd proste zależności (suma, odejmowanie) jak i bardziej skomplikowane funkcje (sin, cos, itd.).
Tylko jeden oryginalny atrybut został wybrany. Trzy nowe zostały wygenerowane. Odrzucone zostały wszystkie losowe atrybuty.
4. Zadanie
Baza Iris jest małą bazą danych. Powtórz powyższe symulacje dla bazy sonar. Dla oryginalnych atrybutów wyniki kroswalidacji dla 1-NN wynoszą:
Po dodaniu losowych atrybutów operatorem Add Noise (zwród uwagę na ustawienia offset oraz linear factor):
Wyniki (widad drastyczny spadek):
Zadania i pytania do sprawozdania:
1. Poznanymi wcześniej metodami spróbuj „naprawid” sytuację. Zaprezentuj ustawienia algorytmów, wyniki symulacji oraz wnioski.
2. Które metody działają lepiej, zachłanne czy ewolucyjne?
3. Które podejście działa lepiej: wybór atrybutów, ocena na podstawie wygenerowanych wag czy też próba wygenerowania nowych atrybutów?
4. Czy losowe atrybuty zostały usunięte w wyniku analizy? 5. Czy wszystkie oryginalne atrybuty zostają zachowane?
6. Czy wyniki niektórych metod przewyższają wyniki początkowe, dla oryginalnego zestawu atrybutów? Uwaga: klasyfikator 1-NN nie jest jedynym możliwym, zamiast niego, zarówno do kroswalidacji jak i wewnątrz operatorów selekcji, można użyd dowolnego innego (np. sied neuronowa, drzewo decyzyjne).