W materiałach pojawił się nowy kurs — teoria informacji. Slajdy z pierwszego wykładu są już do pobrania, a poniżej opisuję, co obejmuje całość i dlaczego uważam ten temat za wart semestru.
Dlaczego akurat to
Teoria informacji odpowiada na pytanie, które w analityce zadaje się rzadko, a warto częściej: ile informacji naprawdę niesie ten sygnał. Nie ile ma bajtów — ile znaczy.
Z tego jednego pytania wyrasta zaskakująco dużo praktyki. Kompresja bezstratna to odpowiedź na pytanie, jak krótko da się coś zapisać bez utraty treści. Korekcja błędów odpowiada, ile nadmiaru trzeba dołożyć, żeby przetrwać zakłócenia. A entropia i informacja wzajemna to narzędzia, które w uczeniu maszynowym wybierają podziały w drzewach decyzyjnych i mierzą zależność między zmiennymi tam, gdzie korelacja liniowa milczy.
Zakres kursu
Materiał układa się wokół pięciu bloków:
- Ilościowy opis informacji — entropia, entropia warunkowa, informacja wzajemna.
- Kodowanie źródłowe — jak krótko da się zapisać wiadomość i dlaczego istnieje twarda granica.
- Kodowanie kanałowe — jak dokładać nadmiar, żeby przetrwać zakłócenia.
- Przepustowość kanału — ile da się przesłać przez łącze o danym poziomie szumu.
- Kompresja i korekcja błędów w praktyce, z implementacjami w Pythonie.
Pierwszy wykład
Slajdy noszą tytuł „Jak porozumieć się bezbłędnie przez zawodny kanał" i biorą na warsztat sytuację pozornie beznadziejną: mamy łącze, które przekręca bity, i wymaganie, żeby wiadomość dotarła bez błędu.
Wykład prowadzi przez cztery przykłady tego samego problemu — analogową linię telefoniczną między modemami, łącze radiowe sondy Galileo, dzielące się komórki przekazujące DNA — i pokazuje, że kryje się za nimi jeden model: binarny kanał symetryczny z parametrem szumu.
Dalej pojawia się rozróżnienie, które uważam za najważniejsze w całym wykładzie: między rozwiązaniem fizycznym a systemowym. Można kupić lepszy sprzęt, mocniejszy nadajnik, czystsze łącze. Można też zostawić fizykę w spokoju i zakodować wiadomość mądrzej. Jedno i drugie kosztuje, ale w innej walucie.
Potem trzy kroki:
- Kody powtórzeniowe — najprostszy pomysł, jaki przychodzi do głowy: powtórz każdy bit trzy razy i głosuj większością. Działa, a przy tym pokazuje, ile kosztuje naiwność.
- Kod Hamminga (7,4) — cztery bity danych, trzy bity kontrolne, dekodowanie syndromowe. Poprawia pojedynczy błąd znacznie taniej niż powtarzanie.
- Twierdzenie Shannona — pojemność kanału
C = 1 − H(f)i zaskakująca obietnica: poniżej tej granicy da się przesyłać z dowolnie małym błędem, bez płacenia szybkością.
To ostatnie jest sednem. Intuicja podpowiada, że mniejszy błąd musi oznaczać wolniejszą transmisję — Shannon pokazał w 1948 roku, że to nieprawda.
Do pobrania
Slajdy w PDF, 35 stron, znajdziesz na stronie kursu. Wykład odwołuje się do podręcznika Davida MacKaya Information Theory, Inference, and Learning Algorithms — pozycji, którą polecam każdemu, kto chce wejść w temat głębiej.