Z pamiętnika nauczyciela akademickiego – Irracjonalne wybory

TL;DR

Wybory studentów są czasem nieracjonalne, przynajmniej z mojego punktu widzenia. Ale czasem to znaczenie lepiej i bardzo mnie to cieszy.

Dłuższa wersja

Na przedmiocie Techniki Wizualizacji Danych mam w tym roku bardzo silną grupę matematyków ze specjalności SMAD (statystyka i analiza danych) i informatyków ze specjalności PAD (przetwarzanie i analiza danych). W semestrze mamy trzy projekty i spodziewałem się, że wyniki każdego będą tak ciekawe, że je tutaj opiszę.

Ale…

W terminie oddanie pierwszego projektu zadałem też całkiem wciągającą pracę domową. Projekt dotyczył wizualizacji danych komunikacji miejskiej VaVeL, praca domowa dotyczyła przeprowadzenia badania sprawdzającego jak ludzie odczytują dane z wykresów. Z projektu można było dostać do 100 punktów, praca domowa jest punktowana 10 punktów, z możliwością dodatkowego bonusu 10 punktów jeżeli będzie bardzo dobra. Projekt był dosyć silnie skierowany na konkretny dobór danych, praca domowa pozostawiała bardzo szerokie pole do interpretacji.
Czasu oczywiście niewiele, warto zrobić jedno i drugie ale projekt to 100 punktów a praca domowa max 20.
Na co studenci poświęcili więcej czasu?
Racjonalnie (więcej o tym na samym końcu) byłoby się skupić głownie na projekcie. Ale patrząc na wyniki, więcej czasu i serca widać w pracach domowych. Badania, które wykonali na pracę domową były tak ciekawe, że to właśnie o nich napiszę poniżej.

Ale o co chodzi

Punktem wyjścia do pracy domowej był esej Percepcja obrazu oraz trudność w wyobrażenia sobie co odbiorca widzi na naszym wykresie, jeżeli nie jest obciążony naszą wiedzą, co na tym wykresie chcieliśmy pokazać. Na wykładzie omawialiśmy sobie jak nasz mózg widzi wykresy, jak rozumie dane i co potrafi z wykresu odczytać a czego nie.
Zadaniem było przeprowadzenie badania na kolegach/koleżankach, badania oceniającego które wykresy są lepiej (=precyzyjniej) odczytywane.

I co z tego wyszło

Jedna z grup (Alicja Gosiewska, Kinga Jamróz, Maja Kalinowska, Karolina Marcinkowska) przygotowała internetową ankietę weryfikującą co internauci widzą a czego nie widzą a następnie zebrała wyniki w raporcie.

Ankietę można znaleźć w internecie TUTAJ i bardzo polecam ją zrobić. Jest świetnie przygotowana, zaskakująca i to po prostu dobra zabawa.

Wyniki z zebranych badań w postaci raportu są dostępne TUTAJ.
Uwierzcie, że po zrobieniu ankiety, będziecie chcieli wiedzieć jak zrobili ją inni.

Ciekawych prac domowych było oczywiście więcej.
Zespół (Mateusz Mazurkiewicz, Wojciech Rosiński, Dawid Stelmach) sprawdzał czy wykresy słupkowe sa faktycznie takie dobre jak je prowadzący rysuje.
Ta praca mierzy się z wykresami typu tree plot (Ahmed Abdelkarim, Aleksandra Hernik, Iwona Żochowska)
Z piktogramami (czy ISOTYPE) mierzyła się grupa (Paweł Pollak, Karol Prusinowski, Karol Szczawiński)
A zespół (Anton Lenartovich, Mateusz Mechelewski) rozstrzygał komu podobają się wykresy typu płatki śniegu.

A co do tytułowej irracjonalności.
Na jesienną pluchę polecam książkę Dana Ariely (dostępna też jako audiobook) Predictably Irrational: The Hidden Forces That Shape Our Decisions.
Oczywiście zachowania studentów wcale nie są irracjonalne. Zamiast wybrać zadanie z większą liczbą punktów wybrali zadanie ciekawsze w dłuższej perspektywie jest lepszym wyborem.
A to, jak pisałem na wstępie, bardzo mnie ucieszyło.

Z pamiętnika nauczyciela akademickiego… Trening data scienistów a skoki o tyczce

Pochodzi ze strony https://pl.wikipedia.org/wiki/Skok_o_tyczce

Zakończyłem niedawno trwający pół roku eksperyment dydaktyczny dotyczący sposobu oceniania w nauczaniu data scientistów/stosowanych statystyków.
Dziedzina zobowiązuje. Prowadząc zajęcia trzeba eksperymentować w poszukiwaniu lepszych rozwiązań, zbierać dane i na ich podstawie planować zmiany.

Czy oceny są ważne?

Czy w nauczaniu jakiegoś przedmiotu ważne są kryteria oceny?
To dosyć ciekawa kwestia.
Gdy prowadzę szkolenia poza uczelnią, nikt się nie dopytuje po warsztatach ,,Jaka ocenę dostałem?”. Uczestnikom wystarczy świadomość, że czegoś się nauczyli i wiedzą czego.
Ale w jakiś magiczny osób, mury uczelni sprawiają, że kryteria oceny stają się istotne.
Wiele (większość?) studentów traktuje ocenę i kryteria oceny jako pierwszoplanowy wyznacznik co należy na danym kursie robić.
No cóż, można z tym podejściem walczyć, ale nie można go ignorować.
Ten wpis poświęcony jest w całości kryteriom oceny, bez zagłębianie się w treść kursu.

Po co zmiana?

Poprzednio opisywane i testowane formuły oceny zajęć (1, 2, 3, 4, 5 i inne) oparte były o zbiór zadań/aspektów projektu (realizowanego w grupie) niezależnie ocenianych.
Przykładowo dwa lata temu projekt dotyczył zebrania i analizy danych o tym co media piszą o kandydatach na prezydenta.
Niezależnie ocenianym kryterium była (1) jakość kodu R, (2) sposób prezentacji wyników, (3) bogactwo i (4) złożoność pobranych danych, (5)zastosowana metodologia analizy, itp.

Pomimo, że studenci raczej dobrze przyjmowali taki sposób oceny (ciekawe projekty, można je realizować w grupie, nakierowane na praktyczną weryfikacje pozyskanej wiedzy) to mnie nie podobały się dwa elementy.

Po pierwsze każdy z aspektów był bardzo szeroki i złożony, przez co ocena np. w skali 0-10 staje się uznaniowa (ocena złożonego procesu jest zawsze uznaniowa, ale tutaj poziom swobody przeszkadzał mi).
Dlaczego jakość kodu oceniona jest na 5 a nie 6 punktów?
Samo spisywanie argumentów za i przeciw ocenami każdego etapu każdego zespołu zajmowało mi więcej czasu niż przygotowanie materiałów na zajęcia.

Po drugie gdy projekt podzieli się na wiele części i każdą oceni niezależnie, to okazuje się, że zazwyczaj żadna z części nie jest idealna ale tez żadna nie jest beznadziejna, wiec rozkład punktów zbiega do jakiegoś Gaussa.

Trzeba spróbować czegoś innego.

Ale o co chodzi?

Przedmiotem eksperymentu był sposób oceny postępów prac nad określonym zagadnieniem. Ten sposób był testowany w lecie 2016/2017 na wydziałach MiNI PW (Warsztaty Badawcze) i MIM UW (Modele Liniowe).

Sam pomysł na eksperyment najłatwiej przedstawić korzystając z analogii do skoków o tyczce.
Jak ktoś skoczy 6,17m to rekord świata, jak 6 to rekord Polski, 5m to długość tyczki itp.
Aby skoczyć wysoko liczy się wiele czynników, ale to jak wysoko się skoczyło po prostu widać.
Zorganizujmy więc kryteria oceny złożone z poprzeczek umieszczonych na różnych poziomach trudności, tak by w ramach realizacji projektu uczestnicy wiedzieli jak złożony problem potrafią rozwiązać.

A jak to wygląda w akademickich warunkach?
Część zaliczenia związana z projektem (czasem są jeszcze inne składowe – egzamin lub prace domowe) jest podzielona na 5 (na PW) lub 10 (na UW) części – etapów. Aby podejść do realizacji etapu n+1 trzeba wcześniej zrealizować etap n.
Kolejne etapy są coraz trudniejsze i są związane z wykonaniem określonego modelu/zadania.

Etapy oceniane są 0-1, zrealizowanie wszystkich etapów to 100% z projektu.

Gdyby ktoś chciał zobaczyć jak wyglądały poziomy trudności na Warsztatach Badawczych, to może je podejrzeć tutaj: https://github.com/pbiecek/WarsztatyBadawcze/tree/master/MiNI_2017
A na modelach liniowych
https://github.com/pbiecek/LinearModels/tree/master/MIMUW_2017
Starałem się tak kalibrować poziom trudności, by dla doświadczonej osoby był to 1-2 dni solidnej pracy.

Co na to studenci?

Dla obu grup przygotowałem ankietę z pytaniami o to czy trudność była odpowiednio dobrana i czy sposób oceny był adekwatny. Odpowiedzi było znacznie więcej niż połowa zarejestrowanych studentów, więc choć w sumie studentów nie było zbyt wielu (~40) to odpowiedzi traktuję jako reprezentatywne.

Z premedytacją ankieta została wysłana studentom dwukrotnie. Raz na chwilę przed końcowym wystawieniem punktów/ocen i raz po tym jak poznali swoje punkty i oceny.

W przypadku pytania o kalibracje trudności właściwie wszyscy potwierdzili że zadania nie były ani za trudne ani za łatwe, może z lekką przewagą w kierunku ,jednak trudne’. Co było dla mnie dużym zaskoczeniem, ponieważ jedynie pojedynczy studenci zrealizowali 80%+ projektu.

Co ciekawe, odpowiedzi studentów na pytanie ,czy ten sposób oceny jest dobry dla warsztatowej formy zajęć’ różniły się znacznie w zależności od tego czy odpowiedź padła przed czy po ocenie.
Odpowiedzi wysłane przed poznaniem końcowej oceny oscylowały blisko środkowej, neutralnej odpowiedzi ,nadaje się’. Podczas gdy po tym jak studenci poznali swoje punkty i oceny odpowiedzi zaczęły przyjmować skrajne wartości.
Większość ‘idealnie pasuje’ ale znalazła się też jedna odpowiedź ‘te zajęcia wymagają innego sposobu oceniania’, osoby która zgłosiła rozwiązanie, które nie zostało zaakceptowane. To większe zróżnicowanie przypisuję temu, że studenci zobaczyli że nie wystarczy tylko zrobić dany punkt ale trzeba go zrobić dobrze. Zobaczyli też jak wyglądają komentarze – feedback to ich zgłoszeń.
Mnie akurat taki rozkład odpowiedzi cieszy. Zawsze znajdą się niezadowolone osoby, ale dobrze że są też tacy, co akurat na tym przedmiocie odnaleźli coś dla siebie.

Jeżeli chodzi o wyrywki z komentarzy studentów, to przytoczę kilka wskazujących silne strony tego sposobu oceniania

,,…Jasno określone kryteria oceniania i adekwatnie oceniony wkład pracy…”
,,…Informacje zwrotne na każdym etapie też są bardzo cenne…”
,,…Umiejętność prowadzenia dużych projektów jest bardzo ważna, a pomijana w nauczaniu większości przedmiotów na wydziale…”

i te przypisane do słabych stron tego sposobu oceniania.

,,…Ocena binarna sprawia że nie ma motywacji żeby starać się bardziej niż niezbędne minimum…”
,,…Jak to na pańskich zajęciach, projekt zajmuje dużo czasu, pełen semestr takich przedmiotów to by było za dużo…”

Pointa

Generalnie to jestem zadowolony z tej formuły oceniania. Zderzenie z naprawdę dużym projektem, z jasno zarysowanym planem realizacji, z rosnącym poziomem trudności jednocześnie z krokami których łatwość wykonania zależy od jakości rozwiązań w poprzednim etapie – to nowe na uczelni, ciekawe i myślę że kształcące doświadczenie.

Oceny z tego semestru były jednymi z najniższych w ostatnich latach które wystawiłem (niewiele osób wykonało 80% projektu). Dawno już nie było tyle trójek czy braków zaliczenia, a liczbę piątek w dwóch grupach można pokazać na palcach jednej ręki.
Jak się jednak okazuje, studentom (w większości) to nie przeszkadza, a wręcz daje możliwość poważniejszego sprawdzenia się w realizacji dużego, złożonego i wymagającego projektu.

Kilka rzeczy z pewnością zmienię w kolejnym semestrze.

Pierwszą będzie większa komponenta indywidualna. Teraz, przez to, że cały projekt był realizowany w zespole, dało się odczuć że niektóre elementy zespołu bezkarnie wkładały w projekt mniejszy wysiłek. Po kilku latach eksperymentów z ocenianiem zespołowych projektów widzę, że jednak czysta składowa indywidualna jest bardzo ważna.
Drugą będzie wprowadzenie dwóch (prostszych) projektów. Niestety jeden projekt rozciągnięty w czasie powoduje, że mniej przyzwyczajone to tego sposobu pracy osoby zaczynają coś robić pod koniec semestru, gdy już jest na wszystko za późno. Dwa projekty pozwalają zarówno na przeprowadzenie projektu zespołowego jak i indywidualnego.

Doświadczenia / pomysły na inne eksperymenty edukacyjne?
W przyszłym semestrze prowadzę dwa super ciekawe przedmioty (programowanie w R i techniki wizualizacji danych).
To wymarzone miejsce na testowanie pomysłów na projekty edukacyjne.

Z pamiętnika nauczyciela akademickiego: Kaggle in Class


W tym semestrze na przedmiocie Statystyka II wykorzystywałem Kaggle in Class. Co to jest i co z tego wyszło? O tym poniżej.

Kaggle (https://www.kaggle.com/) to platforma hostowania konkursów opartych o dane. Firma, instytucja badawcza lub inny zainteresowany ogłasza na tej platformie konkurs, polegający zazwyczaj na wykonaniu predykcji w oparciu o jakieś dane. Wykryć raka na bazie rezonansu, przewidzieć zapotrzebowanie na prąd w szkole na podstawie historii, przewidzieć zajętość łóżek szpitalnych? To typowe problemy z tej platformy. Zgłaszający określa nagrodę, termin zakończenia konkursu, kryterium oceny zgłoszeń itp. Tematy konkursów są bardzo różne, dane są różnych kształtów, struktur i wielkości.

Kaggle in Class (https://inclass.kaggle.com/) to część platformy Kaggle, przygotowana do wykorzystania w ramach zajęć. Pozwala na tworzenie własnych konkursów wykorzystując istniejącą infrastrukturę do zgłaszania rozwiązań, oceny automatycznej, dzielenia rankingów na publiczny i prywatny itp. Trzeba wskazać zbiór danych, dokładnie opisać zadanie do wykonania, określić format przesyłania odpowiedzi, dokładnie opisać kryterium oceny rozwiązania. Rejestracja nowego zadania jak i przesyłanie odpowiedzi jest bezpłatne. Kaggle in Class jest bezpłatna i dla prowadzącego i dla studentów.

Statystyka II to kurs, na którym przez pół semestru omawiamy klasyczne techniki predykcji, takie jak bagging, boosting, stacking, lasy losowe, regresja itp. Akurat do ćwiczenia algorytmów predykcyjnych Kaggle pasowało bardzo.

Kilka luźnych wrażeń dotyczących użycia tej platformy.

* Korzystanie z Kaggle pozwala studentom na uzyskanie praktycznie natychmiast oceny zgłoszonego rozwiązania. Natychmiastowy feedback to bardzo przydatna rzecz, studenci nie muszą czekać aż ja ocenię zadanie, (prawie) natychmiast widzą jakie są wyniki, przez co nie tracą ,,momentum” w pracy nad modelem.

* Korzystanie z Kaggle In Class ma tę przewagę nad zwykłymi konkursami Kaggle, że prowadzący może całkowicie dowolnie dobrać sobie problem (omawiam predykcje wieloetykietową to wstawiam dane do predykcji wieloetykietowej), dobrać termin oddania projektu, określić maksymalną liczbą zgłoszeń dziennie itp.

* Kolejną zaletą Kaggle in Class nad Kaggle jest to, że prowadzący zna dane które są modelowane, jeżeli je symulował to zna prawdziwy model, jeżeli to prawdziwe dane z którymi wcześniej pracował to też dużo o nich wie. Dzięki temu w końcowej ocenie może ocenić zarówno podejście do modelowania jak i wybrany model a nie tylko wyznaczone predykcje.

* Kaggle umożliwia ustalenie maksymalnej liczby rozwiązań zgłoszonych dziennie. Ustawienie takiego ograniczenia na dwa dziennie premiuje zespoły, które do problemu podejdą wcześnie. Zgłaszanie rozwiązania ostatniego dnia to ryzyko, że dwa oddane strzały będą daleko od dobrych predykcji. Atakując problem odpowiednio wcześniej mamy większe pole manewru.

* Przygotowanie własnego konkursu niesie ze sobą też ryzyka. Jedno jest takie, że studentom uda się wygenerować idealną predykcję. Mnie to się nawet zdarzyło. Na rzeczywistych (!!!) danych w problemie binarnej klasyfikacji udało się po kilku dniach uzyskać skuteczność 100%. Z punktu widzenia predykcji to świetnie, ale aspekt dydaktyczny leży. Mamy rozwiązanie i już nikt nie opracuje lepszego, my też nie mamy czego poprawiać. Tak więc moje doświadczenie jest takie, że lepiej zamiast rzeczywistych danych wygenerować sztuczne dane o strukturze zgodnej z rzeczywistą, ale kontrolowanym zakłóceniem (np. zachować X, ale wygenerować y na bazie jakiegoś modelu). Jak to możliwe, że ktoś otrzymał 100% skuteczności na zbiorze testowym?

* Wyznaczenie jednego konkretnego współczynnika do optymalizacji bardzo zwiększa zaangażowanie studentów w realizacje projektu. Zamienia projekt w grę na optymalizację. Niektóre zespoły zgłaszały po 20 rozwiązań próbując poprawić nawet naprawdę dobre rozwiązania. To oczywiście miecz obosieczny, ponieważ w rzeczywistości określenie miary do optymalizacji to często zadanie samo w sobie, ale z punktu widzenia zaangażowania to przydatna cecha.

* Ocena nie może być oparta całkowicie o wyniki z Kaggle (jeżeli jest dużo dobrych rozwiązań, to to które jest najlepsze, zależy czasem od przypadku) a z drugiej strony jakoś z tymi wynikami musi być związana (inaczej po co się starać). W przypadku moich zajęć wyniki z Kaggla to była 1/3 punktów z jednego projektu, wydaje mi się to dobrą proporcją.

* Teoretycznie Kaggle In Class jest bezpłatne, ale nie ma się ludzkiego supportu gdyby coś poszło nie tak. W praktyce, gdy takiej pomocy potrzebowałem (musiałem anulować rozwiązania i podmienić dane gdy okazało się że można mieć 100% skuteczność), napisałem maila i człowiek (albo naprawdę sprytne AI) szybko odpisał poprawiając to co trzeba by wszystko działało.