Metody odkrywania wiedzy:
tematy projektów
Proponowane tematy projektów są podzielone na dwa rodzaje:
analityczne oraz
implementacyjno-analityczne. Środowiskiem do realizacji tematów
obydwu rodzajów jest język R.
Tematy analityczne
Tematy analityczne mają wyłącznie część analityczną, jest jednak ona
znacząco rozbudowana i obejmuje pełen proces wnikliwej i szeroko
zakrojonej analizy danych oraz budowy modeli z wykorzystaniem szeregu
algorytmów, których implementacje są dostępne w pakietach języka R
(wliczając w to bibliotekę Weka dostępną za pośrednictwem pakietu
RWeka). Zakres niezbędnych prac może obejmować:
- przygotowanie danych,
- statystyczny opis danych,
- transformację danych (np. dyskretyzację, kodowanie atrybutów
dyskretnych, standaryzację),
- selekcję atrybutów,
- strojenie parametrów algorytmów,
- tworzenie modeli,
- wnikliwą ocenę jakości modeli,
być może iteracyjnie powtarzanych (jeśli na podstawie oceny jakości
uzyskanych modeli można zaproponować modyfikacje wcześniejszych
kroków). W niektórych przypadkach konieczne może się okazać wstępne
przetworzenie danych poza środowiskiem języka R (np. wylosowanie próby
z dużego zbioru danych).
Wybór tematu analitycznego polega na wybraniu zadania
odkrywania wiedzy i analizowanego zbioru danych oraz
przekazaniu swojej decyzji (nazwy zadania i numeru zbioru danych) pocztą
elektroniczną. Każde z proponowanych zadań wymaga konkretyzacji
odpowiedniej dla wybranego zbioru danych, której należy dokonać
indywidualnie kierując się dostępnymi informacjami na temat źródła i
pierwotnego przeznaczenia danych oraz własnymi zainteresowaniami, w
razie potrzeby korzystając z konsultacji. Opis skonkretyzowanego
zadania musi się znaleźć w specyfikacji projektu.
Zadania
Należy wybrać zadanie z poniższej listy, a po wyborze zbioru danych
dokonać jego konkretyzacji.
- Klasyfikacja. Konkretyzacja tego zadania wymaga:
- ustalenia atrybutu dyskretnego reprezentującego pojęcie
docelowe,
- określenia zakresu przygotowania danych (np. przetworzenia
do odpowiedniej postaci tabelarycznej, modyfikacji
typów/zbiorów wartości atrybutów, eliminacji/naprawy
defektów danych, modyfikacji rozkładu kategorii, losowania
podzbiorów danych),
- określenia zakresu i technik statystycznego opisu danych
(np. charakterystyki rozkładu wartości atrybytów, detekcji
wartości odstających, detekcji zależności między atrybutami),
- wskazania możliwości zdefiniowania nowych atrybutów,
- ustalenia kryteriów lub algorytmu selekcji atrybutów,
- wyboru algorytmów klasyfikacji,
- wskazania parametrów algorytmów klasyfikacji wymagających
strojenia,
- ustalenia procedur i kryteriów oceny jakości modeli (z
uwzględnieniem rozkładu oraz, tam gdzie to uzasadnione, kosztów
pomyłek).
Wybierając zbiór danych do tego zadania należy się upewnić, że
występuje w nim co najmniej jeden atrybut dyskretny, który mógłby
pełnić rolę interesującego pojęcia docelowego.
- Regresja. Konkretyzacja tego zadania wymaga:
- ustalenia atrybutu ciągłego reprezentującego funkcję docelową,
- określenia zakresu przygotowania danych (np. przetworzenia do
odpowiedniej postaci tabelarycznej, modyfikacji typów/zbiorów
wartości atrybutów, eliminacji/naprawy defektów danych,
przekształcenia wartości funkcji docelowej, losowania prób),
- określenia zakresu i technik statystycznego opisu danych
(np. charakterystyki rozkładu wartości atrybytów, detekcji
wartości odstających, detekcji zależności między atrybutami),
- wskazania możliwości zdefiniowania nowych atrybutów,
- ustalenia kryteriów lub algorytmu selekcji atrybutów,
- wyboru algorytmów regresji,
- wskazania parametrów algorytmów regresji wymagających
strojenia,
- ustalenia procedur i kryteriów oceny jakości modeli (z
uwzględnieniem popularnych miar błędu regresji oraz korelacji).
Wybierając zbiór danych do tego zadania należy się upewnić, że
występuje w nim co najmniej jeden atrybut ciągły, który mógłby pełnić
rolę interesującej funkcji docelowej.
- Grupowanie. Konkretyzacja tego zadania wymaga:
- ustalenia atrybutów wykorzystywanych do grupowania
(traktowanych jako obserwowalne) oraz ewentualnie zbioru
atrybutów, na temat których będzie prowadzone wnioskowanie na
podstawie przynależności do grup (traktowanych jako
ukryte),
- określenia zakresu przygotowania danych (np. przetworzenia do
odpowiedniej postaci tabelarycznej, modyfikacji typów/zbiorów
wartości atrybutów, eliminacji/naprawy defektów danych,
losowania prób),
- określenia zakresu i technik statystycznego opisu danych
(np. charakterystyki rozkładu wartości atrybytów, detekcji
wartości odstających, detekcji zależności między atrybutami),
- wskazania możliwości zdefiniowania nowych atrybutów
(obserwowalnych),
- ustalenia kryteriów lub algorytmu selekcji atrybutów
(obserwowalnych),
- wyboru algorytmów grupowania,
- wyboru miar niepodobieństwa przykładów (dla algorytmów, które
je wykorzystują),
- wskazania parametrów algorytmów grupowania wymagających
strojenia,
- ustalenia procedur i kryteriów oceny jakości modeli (z
uwzględnieniem popularnych miar jakości grupowania oraz
ewentualnie skuteczności predykcji atrybutów ukrytych).
- Klasyfikacja tekstu. Konkretyzacja tego zadania wymaga:
- ustalenia wykorzystywanych technik wektorowej reprezentacji
tekstu,
- określenia zakresu przygotowania danych (np. przetworzenia do
odpowiedniej postaci tabelarycznej, modyfikacji rozkładu
kategorii, losowania prób),
- określenia zakresu statystycznego opisu danych,
- ustalenia kryteriów lub algorytmu selekcji atrybutów (słów),
- wyboru algorytmów klasyfikacji,
- wskazania parametrów algorytmów klasyfikacji wymagających
strojenia,
- ustalenia procedur i kryteriów oceny jakości modeli (z
uwzględnieniem rozkładu oraz, tam gdzie to uzasadnione, kosztów
pomyłek).
Wybierając tekstów do tego zadania należy się upewnić, że są one
poetykietowane kategoriami pewnego pojęcia docelowego.
- Grupowanie tekstu. Konkretyzacja tego zadania wymaga:
- ustalenia wykorzystywanych technik wektorowej reprezentacji
tekstu,
- określenia zakresu przygotowania danych (np. przetworzenia do
odpowiedniej postaci tabelarycznej, modyfikacji rozkładu
kategorii, losowania prób),
- określenia zakresu statystycznego opisu danych,
- wskazania możliwości zdefiniowania nowych atrybutów
(obserwowalnych),
- ustalenia kryteriów lub algorytmu selekcji atrybutów
(słów),
- wyboru algorytmów grupowania,
- wyboru miar niepodobieństwa przykładów (dla algorytmów, które
je wykorzystują),
- wskazania parametrów algorytmów grupowania wymagających
strojenia,
- ustalenia procedur i kryteriów oceny jakości modeli (z
uwzględnieniem popularnych miar jakości grupowania).
Dane
Należy wybrać zbiór danych z poniższej listy, upewniając się
wcześniej, że jest dostępny i odpowiedni do wybranego zadania. Dane
należy pobrać najpóźniej \emph{natychmiast po wyborze}, aby uniknąć
ewentualnych późniejszych problemów z dostępnością.
- Dane z konkursu FVC2002 (rozpoznawanie
odcisków palców).
- Dane MNIST
(rozpoznawanie ręcznie pisanych cyfr).
- Dane dotyczące ofert sprzedaży samochodów ze strony SmarterPoland.
- Dane dotyczące ofert sprzedaży mieszkań ze strony SmarterPoland.
- Dane dotyczące głosowań sejmowych ze strony SmarterPoland.
- Dane PUMS
udostępniane przez US Census Bureau (charakterystyka ludności i
domów w Stanach Zjednoczonych).
- Dane z konkursu 2010 UC San
Diego Data Mining Contest (predykcja zachowań zakupowych w
handlu internetowym).
- Dane z konkursu KDD Cup 2009
(predykcja zachowań klientów sieci GSM).
- Dane z
konkursu KDD
Cup 2008 (wczesna detekcja raka piersi).
- Dane z
konkursu KDD
Cup 2003 (predykcja zmian liczby cytowań i pobrań artykułów
naukowych).
- Dane z
konkursu KDD
Cup 2000 (predykcja zakupów w sklepie internetowym).
- Dane z
konkursu KDD
Cup 1999 (wykrywanie ataków sieciowych).
- Dane z
konkursu KDD
Cup 1998 (predykcja skuteczności marketingu bezpośredniego).
- Dane o wypadkach samochodowych dostępne z
repozytorium FIMI
(predykcja skutków wypadków samochodowych).
- Dane tekstowe PubMed (dane
bibliograficzne literatury biomedycznej).
- Dane tekstowe SpamAssassin
Public Corpus (filtrowanie poczty elektronicznej).
- Dane tekstowe Reuters-21578
(depesze agencyjne).
- Dane tekstowe 20
Newsgroups (wiadomości z grup dyskusyjnych Usenet).
- Dane tekstwe Bag of Words.
- Dane tekstowe NFS
Research Abstracts (streszczenia projektów badawczych).
Tematy implementacyjno-analityczne
Tematy implementacyjno-analityczne obejmują część implementacyjną
i część analityczną. Część implementacyjna polega albo na samodzielnej
implementacji pewnego algorytmu, albo na modyfikacji istniejącej
implementacji pewnego algorytmu. Należy przy tym zapewnić maksymalną
uniwersalność implementowanych algorytmów (możliwość wielokrotnego
używania dla dowolnych zbiorów danych) i stosować się do przyjmowanych
powszechnie w języku R konwencji (specyfikacja wykorzystywanych w
tworzeniu modelu atrybutów za pomocą formuły, funkcja
predict do stosowania modelu itp.). Kod źródłowy wraz z
niezbędną dokumentacją użytkową powinien być zorganizowany w postaci
pakietu języka R.
Część analityczna polega na eksperymentalnym zademonstrowaniu
działania zaimplementowanego/zmodyfikowanego algorytmu w zastosowaniu
do kilku wybranych zbiorów danych, w porównaniu z innymi algorytmami
dostępnymi w R realizującymi to samo zadanie. Należy ocenić jakość
uzyskiwanych modeli w zależności od doboru parametrów wpływających na
działanie algorytmów.
Zgłoszenie wyboru tematu implementacyjno-analitycznego polega na
przekazaniu numeru tematu pocztą
elektroniczną.
Lista tematów
- Generowanie i przycinanie zbiorów reguł na podstawie drzew
decyzyjnych tworzonych przez algorytm z pakietu
rpart. Porównanie z modelami generowanymi bezpośrednio
przez ten algorytm (z różnymi kryteriami stopu) i innymi algorytmami
klasyfikacji dostępnymi w R.
- Wstępująca i zstępująca dyskretyzacja atrybutów ciągłych z
uwzględnieniem rozkładu kategorii. Badanie wpływu dyskretyzacji na
jakość modeli klasyfikacji tworzonych za pomocą algorytmów
dostępnych w R.
- Selekcja atrybutów przez filtrowanie z różnymi funkcjami oceny
przydatności. Badanie wpływu slekcji atrybutów na jakość modeli
klasyfikacji lub regresji tworzonych za pomocą algorytmów dostępnych
w R.
- Selekcja atrybutów przez opakowanie algorytmu modelowania z
różnymi strategiami przeszukiwania. Badanie wpływu selekcji
atrybutów na jakość modeli klasyfikacji lub regresji tworzonych za
pomocą algorytmów dostępnych w R.
- Ocena predykcyjnej użyteczności atrybutów do klasyfikacji i
regresji na podstawie wpływu ich zaburzenia na jakość modeli
generowanych na podstawie wielu bootstrapowych prób (na podstawie
techniki oceny atrybutów stosowanej w lasach losowych). Porównania z
innymi miarami użyteczności atrybutów dostępnymi w R. Badania wpływu
selekcji najwyżej ocenianych atrybutów na jakość modeli klasyfikacji
i regresji.
- Miary jakości modeli, procedury oceny oraz strojenia parametrów
algorytmów klasyfikacji i regresji (znacząco rozwinięty i
udoskonalony zamiennik funkcji
tune z pakietu
e1071). Eksperymenty z wybranymi algorytmami
klasyfikacji i regresji.
- Nie-całkiem-naiwny klasyfikator bayesowski (sieć bayesowska
uwzględniająca dostarczoną wiedzę o zależnościach między
atrybutami). Porównania ze standardowym naiwnym klasyfikatorem
bayesowskim i innymi algorytmami klasyfikacji dostępnymi w R.
- Lokalna klasyfikacja (predykcja kategorii dla przykładu za pomocą
modelu jednorazowego użytku budowanego na podstawie jego
,,najbliższych sąsiadów''). Eksperymenty z kilkoma różnymi
algorytmami do budowania modeli lokalnych. Porównanie z algorytmami
klasyfikacji dostępnymi w R.
- Lokalna regresja (predykcja wartości funkcji docelowej dla
przykładu za pomocą modelu jednorazowego użytku budowanego na
podstawie jego ,,najbliższych sąsiadów''). Eksperymenty z kilkoma
różnymi algorytmami do budowania modeli lokalnych. Porównanie z
algorytmami regresji dostępnymi w R.
- Kooperatywna filtracja za pomocą algorytmów
pamięciowych. Eksperymenty z danymi udostępnianymi przez
laboratorium GroupLens.
- Kooperatywna filtracja za pomocą dekompozycji SVD. Eksperymenty z
danymi udostępnianymi przez
laboratorium GroupLens.
- Proste algorytmy klasyfikacji tekstu (TF-IDF, naiwny klasyfikator
Bayesowski, kNN). Porównania ze standardowymi algorytmami
klasyfikacji dostępnymi w R.
Dane do części analitycznej
W części analitycznej tematów implementacyjno-analitycznych należy, o
ile temat nie nakazuje inaczej, wykorzystywać zbiory danych
z repozytorium
UCI. O ile specyfika tematu nie wymaga inaczej, należy wybierać
zbiory danych o realistycznych rozmiarach (więcej niż 1000 przykładów,
więcej niż 10 atrybutów).
Strona przedmiotu MOW
Paweł Cichosz