Serwisy internetowe Uniwersytetu Warszawskiego Nie jesteś zalogowany | zaloguj się
katalog przedmiotów - pomoc

Eksploracja i przetwarzanie dużych zbiorów danych

Informacje ogólne

Kod przedmiotu: 1000-2M13DZD Kod Erasmus / ISCED: 11.304 / (0612) Database and network design and administration
Nazwa przedmiotu: Eksploracja i przetwarzanie dużych zbiorów danych
Jednostka: Wydział Matematyki, Informatyki i Mechaniki
Grupy: Przedmioty monograficzne dla III - V roku informatyki
Przedmioty obieralne dla informatyki
Punkty ECTS i inne: 6.00
zobacz reguły punktacji
Język prowadzenia: angielski
Kierunek podstawowy MISMaP:

informatyka
matematyka

Rodzaj przedmiotu:

fakultatywne
monograficzne
nieobowiązkowe

Założenia (lista przedmiotów):

Data mining 1000-2M03DM
Przetwarzanie dużych danych i programowanie na klastrach 1000-218bPDD

Założenia (opisowo):

W efektywnym zdobywaniu wiedzy na tym przedmiocie istotnie mogą pomóc zarówno teoretyczne, jak i praktyczne podstawy uczenia maszynowego, eksploracji danych, statystycznej analizy danych, a także przetwarzania danych i baz danych. Przedmiot rozszerza też zakres podstawowych przedmiotów ze sztucznej inteligencji i przetwarzania dużych danych, przy czym studenci mogą z powodzeniem uzupełnić wiedzę w tym zakresie już podczas trwania zajęć.

Tryb prowadzenia:

mieszany: w sali i zdalnie
w sali
zdalnie

Przedmiot dedykowany programowi:

4EU+KURSY

Skrócony opis:

Przedmiot ugruntowuje teoretyczną i praktyczną wiedzę z zakresu metod uczenia maszynowego i eksploracji danych, pod kątem zastosowań związanych z dużymi, heterogenicznymi, rozproszonymi i dynamicznie przyrastającymi źródłami danych. Omawiana jest problematyka zapewnienia wystarczającej wiarygodności i jakości danych celem uczenia skutecznych modeli klasyfikacji, predykcji itd., jak i utrzymania skuteczności takich modeli jako składowych większych systemów informatycznych. Odwołujemy się do szerokiego zakresu praktycznych form i źródeł danych, w szczególności danych generowanych maszynowo. Omawiamy szeroki zakres praktycznych celów stawianych metodom uczenia maszynowego i eksploracji danych, jak np. wykrywanie anomalii lub podobnych przypadków. Dyskutujemy na praktycznych przykładach pełen cykl życia danych i informacji w systemach przetwarzania i analizy danych, z uwzględnieniem odpowiednio w nie wkomponowanych rozwiązań bazujących na uczeniu maszynowym i eksploracji danych.

Pełny opis:

Tematykę przedmiotu można podzielić na następujące sekcje / aspekty:

1. Przegląd znanych metod / algorytmów eksploracji danych i uczenia maszynowego (np. indukcja reguł, selekcja cech, analiza skupień, zaś z drugiej strony XGBoost, SVM, różne architektury sieci neuronowych itd. - zakładamy, że takie metody są już częściowo znane uczestnikom) ze względu na wyzwania związane z dużymi i potencjalnie rozproszonymi danymi. Dyskusja nad sposobami wykorzystania znanych podejść i platform wspierających skalowalne obliczenia (np. związanych z MapReduce - tu też zakładamy częściową wiedzę uczestników z wcześniej studiowanych przedmiotów), jak i przypadkami, gdzie podejścia te mogą okazać się niewystarczające, w zależności od specyfiki źródła danych bądź rozpatrywanej metody eksploracji danych / uczenia maszynowego. Rozszerzenie dyskusji na wcześniej nie studiowane cele i metody analityczne, w szczególności metody wykrywania anomalii i metody znajdowania podobnych przypadków w dużych i dynamicznie przyrastających źródłach danych.

2. Omówienie wybranych metod uczenia maszynowego i eksploracji danych poprzez pryzmat rozumienia wyników ich działania jako rozwiązań problemów optymalizacyjnych formułowanych na danych wejściowych. W szczególności dyskusja złożoności tych problemów w obliczu problematyki dużych danych, gdzie tym istotniejszą wagę przywiązujemy do algorytmów heurystycznych, randomizowanych, tudzież bazujących na narzędziach sztucznej inteligencji (algorytmy ewolucyjne, symulowane wyżarzanie itd.). Ogólniejsza dyskusja o powiązaniach pomiędzy dziedzinami uczenia maszynowego (ML) i sztucznej inteligencji (AI) - wskazanie, że akronimy AI i ML nie są ze sobą tożsame, chociaż dziedziny za nimi stojące są wzajemnie dla siebie bardzo ważne.

3. Omówienie reprezentatywnych scenariuszy systemów informatycznych ze względu na różnorodne charakterystyki przepływu danych i związane z nimi wyzwania stojące przed metodami eksploracji danych i uczenia maszynowego. Np. warianty wykonywania lokalnych operacji podczas przetwarzania danych, zanim dane te zostaną zarejestrowane we w pełni skalowalnej infrastrukturze.

4. Integracja funkcjonalności i potrzeb związanych z metodami eksploracji danych i uczenia maszynowego z innymi warstwami i systemami analitycznymi, takimi jak bazy danych (zarówno SQL, jak i noSQL) i systemy klasy Business Intelligence. Dwie kategorie: a) funkcje ML wywoływane z poziomu innych interfejsów (np. funkcje rozszerzające SQL); b) przykłady wykorzystania innych interfejsów obliczeniowych przez algorytmy ML (np. skrypty wyliczające modele ML na podstawie automatycznie generowanych analitycznych kwerend SQL).

5. Omówienie różnych podejść do kompaktyfikacji danych i modeli, których celem jest usprawnienie działania procesów uczenia maszynowego i eksploracji danych na dużych danych (w tym na danych strumieniowych, a także danych o bardzo dużej wymiarowości). Kompaktyfikacja może obejmować: a) kompresję i kwantyzację danych; b) specyficzne wersje metod uczenia modeli i odkrywania wiedzy bazujące na obliczeniach aproksymacyjnych (np. poprzez próbkowanie danych); c) mechanizmy redukcji wymiarów, selekcji i ekstrakcji cech, jak również upraszczania modeli poprzez redukcję opisujących je parametrów. Również scenariusze hybrydowe, gdzie np. dostrajanie hiperparametrów odbywa się z użyciem większej kompaktyfikacji (przez co jest szybko), zaś uczenie się ostatecznego modelu odbywa się w sposób dokładniejszy.

6. Omówienie problemów związanych z uzdatnianiem dużych, wielomodalnych, heterogenicznych, wielowymiarowych danych do celów uczenia maszynowego i eksploracji danych. Scenariusze, w których dane - mimo że bardzo duże - nie nadają się do procesów uczenia modeli (np. w sytuacjach, gdy brak jest etykiet związanych z pojęciami / sytuacjami / obiektami, których modeli chcemy się z danych wyuczyć) i gdzie trzeba dopiero uruchomić odpowiednie procesy, żeby to umożliwić (które mogą być różne w zależności od tego, czy do etykietowania danych potrzebna jest wiedza specjalistyczna), związane np. z interaktywnych wyszukiwaniem reprezentatywnych przykładów w repozytoriach danych. Również scenariusze, w których w danych treningowych mogą się pojawiać błędy (zjawisko tzw. danych śmieciowych) związane np. z pomiarami lub etykietami, przez co również wyuczone modele mogą działać błędnie.

7. Wyzwania związane z utrzymaniem skuteczności modeli tworzonych przy pomocy metod uczenia maszynowego i eksploracji danych rozumianych jako komponenty większych systemów informatycznych. Dbanie o procesy dostrajania / douczania modeli do nowo napływających danych, które to procesy mogą być różnie projektowane ze względu na wielkość danych, dynamikę ich przyrostu, a także ze względu na prędkość używania i dostosowywania modeli, która jest wymagana w różnych scenariuszach zastosowań biznesowych. Diagnostyka modeli ze względu na popełniane przez nie błędy, z wykorzystaniem m.in. elementów objaśnialności i wizualizacji.

8. Praktyczne scenariusze stosowania procesów odkrywania wiedzy z danych, obejmujące formułowanie celów analitycznych, przygotowanie danych oraz wykorzystanie metod uczenia maszynowego i eksploracji danych. Przykłady realizacji takich procesów związane z konkursami uczenia maszynowego na dużych zbiorach danych, organizowanymi na platformach online (np. na platformie Knowledge Pit), obejmujące współpracę z pomysłodawcami / sponsorami konkursów, zapewnienie relewantnych danych do konkursu (w tym aspekty anonimizacji, jakości, jak również adekwatności względem rozwiązywanego w konkursie problemu), a wreszcie produkcyjne wdrożenie wyników - prototypów rozwiązań, które okazały się zwycięskie w warunkach konkursowych, ale które wciąż wymagają kontynuacji prac w praktyce.

Literatura:

Zajęcia w pewnej części będą bazować na kursie "Mining of Massive Datasets" (mmds.org). Na stronie kursu można znaleźć przydatne przykłady, prezentacje oraz materiały wideo. Z kursem tym związane jest następujące opracowanie:

1. Anand Rajaraman and Jeff Ullman: "Mining of Massive Datasets"

Oprócz tego polecamy literaturę bardziej podstawową:

2. Jiawei Han and Micheline Kamber: "Data Mining, Concepts and Techniques"

Warto również być na bieżąco z blogami i portalami specjalistycznymi, np.:

3. Gregory Piatetsky-Shapiro: "KDnuggets"

A także z międzynarodowymi specjalistycznymi konferencjami naukowymi:

4. Seria konferencji: "IEEE Big Data Conferences"

Jeśli chodzi o punkt 4, prowadzący udostępniają najświeższe materiały z tych konferencji. Obejmują one między innymi artykuły opisujące konkursy uczenia maszynowego (np. organizowane na platformie Knowledge Pit, która również może służyć za niezależne źródło informacji i danych), a także mogą być one przydatne do przygotowania projektów przez doktorantów uczęszczających na zajęcia.

Efekty uczenia się:

Wiedza i umiejętności:

-- Zgodna z ośmioma głównymi punktami opisanymi w zakresie tematów.

Kompetencje społeczne:

-- Potrafi przygotować i zaprezentować raport z analizy przykładowych dużych / złożonych danych praktycznych, gdzie analiza odbywa się przy użyciu metod eksploracji danych i uczenia maszynowego omawianych na zajęciach.

-- Potrafi wskazać (w języku niespecjalistycznym, nakierowanym na potencjalnych użytkowników systemów analitycznych, a niekoniecznie na ekspertów z dziedziny uczenia maszynowego, eksploracji danych, tudzież tzw. data science), jakie problemy z kategorii "big data" (np. wielkość, liczba wymiarów, wielomodalność, jakość i zmienność danych itd.) mogą wystąpić podczas przetwarzania i eksploracji konkretnych danych praktycznych.

Metody i kryteria oceniania:

Podstawową formą zaliczenia zajęć jest obecność i aktywność na ćwiczeniach. W czasie jednych ćwiczeń można zdobyć do 2 punktów. W sumie za uczestnictwo w ćwiczeniach jest do zdobycia 20 punktów. Będzie można również zdobyć dodatkowe punkty za aktywność.

W trakcie semestru uczestnicy będą także realizować projekt związany z tematyką przedmiotu. Projekt może mieć formę udziału w konkursie wiążącym się z analizą dużych zbiorów danych (np. na platformie Knowledge Pit) lub - w przypadku doktorantów - z przygotowaniem prezentacji na podstawie wybranej w porozumieniu z prowadzącymi pracy opublikowanej na jednej z ostatnich konferencji naukowych związanych z tematyką przedmiotu (np. konferencja z serii IEEE Big Data). Projekty będzie można realizować samodzielnie lub w parach (w przypadku doktorantów wchodzą w grę tylko projekty samodzielne). Każdy projekt powinien zakończyć się prezentacją. Prezentacje będą wygłaszane w ostatnim tygodniu zajęć (w przypadku doktorantów możliwa jest wcześniejsza prezentacja). Za projekt można uzyskać maksymalnie 30 punktów.

Aby otrzymać ocenę końcową w I terminie, należy zaliczyć ćwiczenia. Ocena będzie wyznaczona na podstawie sumy punktów za projekt, obecność na ćwiczeniach i aktywność (w sumie maksymalnie 50 punktów).

Ocena końcowa w II terminie (wrzesień) będzie wyznaczona na podstawie egzaminu ustnego (maksymalnie 20 punktów, jako zamiennik punktów, które można było uzyskać na podstawie obecności i aktywności na zajęciach) oraz projektu (30 punktów, w II terminie w grę wchodzą tylko projekty samodzielne polegające na przygotowaniu prezentacji na podstawie wybranej w porozumieniu z prowadzącymi pracy opublikowanej na jednej z ostatnich konferencji naukowych związanych z tematyką przedmiotu).

Zajęcia w cyklu "Semestr letni 2020/21" (zakończony)

Okres: 2021-02-22 - 2021-06-13
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Ćwiczenia, 30 godzin więcej informacji
Wykład, 30 godzin więcej informacji
Koordynatorzy: Dominik Ślęzak
Prowadzący grup: Łukasz Grad, Andrzej Janusz, Dominik Ślęzak
Lista studentów: (nie masz dostępu)
Zaliczenie: Egzamin
Kierunek podstawowy MISMaP:

informatyka
matematyka

Przedmiot dedykowany programowi:

4EU+KURSY

Skrócony opis:

Przedmiot ugruntowuje teoretyczną i praktyczną wiedzę z zakresu metod uczenia maszynowego i eksploracji danych, pod kątem zastosowań związanych z dużymi, heterogenicznymi, rozproszonymi i dynamicznie przyrastającymi źródłami danych. Omawiana jest problematyka zapewnienia wystarczającej wiarygodności i jakości danych celem uczenia skutecznych modeli klasyfikacji, predykcji itd., jak i utrzymania skuteczności takich modeli jako składowych większych systemów informatycznych. Odwołujemy się do szerokiego zakresu praktycznych form i źródeł danych, w szczególności danych generowanych maszynowo. Omawiamy szeroki zakres praktycznych celów stawianych metodom uczenia maszynowego i eksploracji danych, jak np. wykrywanie anomalii lub podobnych przypadków. Dyskutujemy na praktycznych przykładach pełen cykl życia danych i informacji w systemach przetwarzania i analizy danych, z uwzględnieniem odpowiednio w nie wkomponowanych rozwiązań bazujących na uczeniu maszynowym i eksploracji danych.

Pełny opis:

Tematykę przedmiotu można podzielić na następujące sekcje / aspekty:

1. Przegląd znanych metod / algorytmów eksploracji danych i uczenia maszynowego (np. indukcja reguł, selekcja cech, analiza skupień, zaś z drugiej strony XGBoost, SVM, różne architektury sieci neuronowych itd. - zakładamy, że takie metody są już częściowo znane uczestnikom) ze względu na wyzwania związane z dużymi i potencjalnie rozproszonymi danymi. Dyskusja nad sposobami wykorzystania znanych podejść i platform wspierających skalowalne obliczenia (np. związanych z MapReduce - tu też zakładamy częściową wiedzę uczestników z wcześniej studiowanych przedmiotów), jak i przypadkami, gdzie podejścia te mogą okazać się niewystarczające, w zależności od specyfiki źródła danych bądź rozpatrywanej metody eksploracji danych / uczenia maszynowego. Rozszerzenie dyskusji na wcześniej nie studiowane cele i metody analityczne, w szczególności metody wykrywania anomalii i metody znajdowania podobnych przypadków w dużych i dynamicznie przyrastających źródłach danych.

2. Omówienie wybranych metod uczenia maszynowego i eksploracji danych poprzez pryzmat rozumienia wyników ich działania jako rozwiązań problemów optymalizacyjnych formułowanych na danych wejściowych. W szczególności dyskusja złożoności tych problemów w obliczu problematyki dużych danych, gdzie tym istotniejszą wagę przywiązujemy do algorytmów heurystycznych, randomizowanych, tudzież bazujących na narzędziach sztucznej inteligencji (algorytmy ewolucyjne, symulowane wyżarzanie itd.). Ogólniejsza dyskusja o powiązaniach pomiędzy dziedzinami uczenia maszynowego (ML) i sztucznej inteligencji (AI) - wskazanie, że akronimy AI i ML nie są ze sobą tożsame, chociaż dziedziny za nimi stojące są wzajemnie dla siebie bardzo ważne.

3. Omówienie reprezentatywnych scenariuszy systemów informatycznych ze względu na różnorodne charakterystyki przepływu danych i związane z nimi wyzwania stojące przed metodami eksploracji danych i uczenia maszynowego. Np. warianty wykonywania lokalnych operacji podczas przetwarzania danych, zanim dane te zostaną zarejestrowane we w pełni skalowalnej infrastrukturze.

4. Integracja funkcjonalności i potrzeb związanych z metodami eksploracji danych i uczenia maszynowego z innymi warstwami i systemami analitycznymi, takimi jak bazy danych (zarówno SQL, jak i noSQL) i systemy klasy Business Intelligence. Dwie kategorie: a) funkcje ML wywoływane z poziomu innych interfejsów (np. funkcje rozszerzające SQL); b) przykłady wykorzystania innych interfejsów obliczeniowych przez algorytmy ML (np. skrypty wyliczające modele ML na podstawie automatycznie generowanych analitycznych kwerend SQL).

5. Omówienie różnych podejść do kompaktyfikacji danych i modeli, których celem jest usprawnienie działania procesów uczenia maszynowego i eksploracji danych na dużych danych (w tym na danych strumieniowych, a także danych o bardzo dużej wymiarowości). Kompaktyfikacja może obejmować: a) kompresję i kwantyzację danych; b) specyficzne wersje metod uczenia modeli i odkrywania wiedzy bazujące na obliczeniach aproksymacyjnych (np. poprzez próbkowanie danych); c) mechanizmy redukcji wymiarów, selekcji i ekstrakcji cech, jak również upraszczania modeli poprzez redukcję opisujących je parametrów. Również scenariusze hybrydowe, gdzie np. dostrajanie hiperparametrów odbywa się z użyciem większej kompaktyfikacji (przez co jest szybko), zaś uczenie się ostatecznego modelu odbywa się w sposób dokładniejszy.

6. Omówienie problemów związanych z uzdatnianiem dużych, wielomodalnych, heterogenicznych, wielowymiarowych danych do celów uczenia maszynowego i eksploracji danych. Scenariusze, w których dane - mimo że bardzo duże - nie nadają się do procesów uczenia modeli (np. w sytuacjach, gdy brak jest etykiet związanych z pojęciami / sytuacjami / obiektami, których modeli chcemy się z danych wyuczyć) i gdzie trzeba dopiero uruchomić odpowiednie procesy, żeby to umożliwić (które mogą być różne w zależności od tego, czy do etykietowania danych potrzebna jest wiedza specjalistyczna), związane np. z interaktywnych wyszukiwaniem reprezentatywnych przykładów w repozytoriach danych. Również scenariusze, w których w danych treningowych mogą się pojawiać błędy (zjawisko tzw. danych śmieciowych) związane np. z pomiarami lub etykietami, przez co również wyuczone modele mogą działać błędnie.

7. Wyzwania związane z utrzymaniem skuteczności modeli tworzonych przy pomocy metod uczenia maszynowego i eksploracji danych rozumianych jako komponenty większych systemów informatycznych. Dbanie o procesy dostrajania / douczania modeli do nowo napływających danych, które to procesy mogą być różnie projektowane ze względu na wielkość danych, dynamikę ich przyrostu, a także ze względu na prędkość używania i dostosowywania modeli, która jest wymagana w różnych scenariuszach zastosowań biznesowych. Diagnostyka modeli ze względu na popełniane przez nie błędy, z wykorzystaniem m.in. elementów objaśnialności i wizualizacji.

8. Praktyczne scenariusze stosowania procesów odkrywania wiedzy z danych, obejmujące formułowanie celów analitycznych, przygotowanie danych oraz wykorzystanie metod uczenia maszynowego i eksploracji danych. Przykłady realizacji takich procesów związane z konkursami uczenia maszynowego na dużych zbiorach danych, organizowanymi na platformach online (np. na platformie Knowledge Pit), obejmujące współpracę z pomysłodawcami / sponsorami konkursów, zapewnienie relewantnych danych do konkursu (w tym aspekty anonimizacji, jakości, jak również adekwatności względem rozwiązywanego w konkursie problemu), a wreszcie produkcyjne wdrożenie wyników - prototypów rozwiązań, które okazały się zwycięskie w warunkach konkursowych, ale które wciąż wymagają kontynuacji prac w praktyce.

Literatura:

Zajęcia w pewnej części będą bazować na kursie "Mining of Massive Datasets" (mmds.org). Na stronie kursu można znaleźć przydatne przykłady, prezentacje oraz materiały wideo. Z kursem tym związane jest następujące opracowanie:

1. Anand Rajaraman and Jeff Ullman: "Mining of Massive Datasets"

Oprócz tego polecamy literaturę bardziej podstawową:

2. Jiawei Han and Micheline Kamber: "Data Mining, Concepts and Techniques"

Warto również być na bieżąco z blogami i portalami specjalistycznymi, np.:

3. Gregory Piatetsky-Shapiro: "KDnuggets"

A także z międzynarodowymi specjalistycznymi konferencjami naukowymi:

4. Seria konferencji: "IEEE Big Data Conferences"

Jeśli chodzi o punkt 4, prowadzący udostępniają najświeższe materiały z tych konferencji. Obejmują one między innymi artykuły opisujące konkursy uczenia maszynowego (np. organizowane na platformie Knowledge Pit, która również może służyć za niezależne źródło informacji i danych), a także mogą być one przydatne do przygotowania projektów przez doktorantów uczęszczających na zajęcia.

Zajęcia w cyklu "Semestr zimowy 2021/22" (jeszcze nie rozpoczęty)

Okres: 2021-10-01 - 2022-02-20

Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Ćwiczenia, 30 godzin więcej informacji
Wykład, 30 godzin więcej informacji
Koordynatorzy: Dominik Ślęzak
Prowadzący grup: Łukasz Grad, Dominik Ślęzak
Lista studentów: (nie masz dostępu)
Zaliczenie: Egzamin

Zajęcia w cyklu "Semestr letni 2021/22" (jeszcze nie rozpoczęty)

Okres: 2022-02-21 - 2022-06-15

Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Ćwiczenia, 30 godzin więcej informacji
Wykład, 30 godzin więcej informacji
Koordynatorzy: (brak danych)
Prowadzący grup: (brak danych)
Lista studentów: (nie masz dostępu)
Zaliczenie: Egzamin
Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Uniwersytet Warszawski.