Projekt 2 – 17/11/2009



Pobieranie 10.82 Kb.
Data07.05.2016
Rozmiar10.82 Kb.

Projekt 2 – 17/11/2009

Porównanie metod uczenia nadzorowanego, nienadzorowanego i semi-nadzorowanego



  1. Cel projektu


Porównanie różnych typów uczenia: klasyfikacji, klasteryzacji, i klasyfikacji z brakującą informacja o klasach.
  1. Wymagania


  • Implementacja algorytmu SemiBoost i AdaBoost (patrz załączone pliki PDF: http://www.icsr.agh.edu.pl/~mro/proj2/semiBoost/papers.zip)

  • Porównanie ich działania z metodami uczenia nienadzorowanego

  • Sprawozdanie w formacie PDF

    • Wyszczególnienie wykorzystanych zbiorów danych i parametrów użytych metod uczenia

    • Przezentacja wyników

    • Analiza wyników i wnioski
  1. Dane wejściowe


Zbiory danych – należy wybrać 3 zbiory dwuklasowe ze zbiorów dostępnych na stronie http://archive.ics.uci.edu/ml/.
  1. Opis projektu

    1. Założenia


Celem jest zaimplementowanie algorytmu uczenia seminadzorowanego Semi-Boost i porównanie go z metodą uczenia nadzorowanego AdaBoost i metodami uczenia nienadzorowanego na tych samych danych.

W uczeniu nienadzorowanym nie ma informacji o klasach poszczególnych przykładów, i podział zbioru na grupy (klastry) jest celem uczenia. W uczeniu nadzorowanym klasy są podane dla przykładów ze zbioru treningowego, i celem jest stworzenie klasyfikatora, który będzie przewidywał klasy dla przykładów spoza zbioru treningowego.



Z uczeniem semi-nadzorowanym mamy do czynienia w sytuacjach, kiedy informacja o poprawnych klasach przykładów jest niepełna, tj. jest podana tylko dla niektórych przykładów ze zbioru treningowego. Cel uczenia jest wykorzystanie wszystkich przykładów treningowych, także tych bez podanych klas, by zbudować klasyfikator, który będzie przewidywał klasy dla przykładów spoza zbioru treningowego.
    1. Szczegółowy opis zadania


W ramach projektu należy:

  1. Przygotować 3 wybrane zbiory danych:

    1. Każdy zbiór należy podzielić na część treningową (75%) i testową (25%), oznaczana niżej jako Tr75 i Te25.

    2. W ramach części treningowej Tr75, należy wyodrębnić dwa podzbiory: z klasami (25% całości zbioru) i bez klas (50%), oznaczone dalej jako Tr25 i Tr50

  2. Zaimplementować algorytmy: uczenia semi-nadzorowanego SemiBoost oraz nadzorowanego AdaBoost. Jako klasyfikatory bazowe (słabe) wykorzystaj drzewa decyzyjne.

  3. Wykorzystać algorytm SemiBoost do przewidzenia na bazie Tr25 klas dla Te25. Sprawdzić błąd przewidywania (błąd klasyfikacji, oraz pole pod krzywą ROC - area under Receiver Operating Characteristic curve) na Te25.

  4. Wykorzystać algorytm AdaBoost do przewidzenia na bazie Tr25 klas dla Te25. Sprawdzić błąd klasyfikacji na Te25, oraz jakość klasyfikacji przy pomocy pola pod krzywą ROC.

  5. Wykorzystać algorytm AdaBoost do przewidzenia na bazie Tr75 klas dla Te25. Sprawdzić błąd klasyfikacji na Te25, oraz jakość klasyfikacji przy pomocy pola pod krzywą ROC.

  6. Porównać dla każdego z 3 zbiorów błędy przewidywania dla metod z punktów 3-5. Czy użycie nauczania semi-nadzorowanego (pkt 3) polepsza wynik w stosunku do sytuacji, w której użyte są tylko te przykłady treningowe, dla których dostępne są klasy (pkt 4)? Jak wypada nauczanie gdy mamy informacje tylko o klasach dla części zbioru treningowego i stosujemy metodę semi-nadzorowaną (pkt 3) w porównaniu do sytuacji gdy mamy klasy dla całego zbioru treningowego i stosujemy metodę nadzworowaną (pkt 5)?

  7. Wykorzystaj metodę klasteryzacji aglomeratywnej (przetestuj wybrane dwa z wariantów: single, complete, centroid i Ward) do podzału Te25 na dwa klastry. Czy ten nienadzorowany podział, uzyskany bez informacji o klasach, odpowiada prawdziwemu podziałowi na klasy?
    1. Przydatne funkcje


  • Implementacja drzew decyzyjnych - funkcje treefit, treeval, treeprune lub funkcja classregtree i inne podane w helpie do niej

  • linkage, cluster, pdist – klasteryzacja aglomeratywna


©absta.pl 2016
wyślij wiadomość

    Strona główna