diff --git a/wyk/05_Wygladzanie.org b/wyk/05_Wygladzanie.org
new file mode 100644
index 0000000..a0d4c63
--- /dev/null
+++ b/wyk/05_Wygladzanie.org
@@ -0,0 +1,212 @@
+
+* Wygładzanie w n-gramowych modelach języka
+
+** Dlaczego wygładzanie?
+
+Wyobraźmy sobie urnę, w której znajdują się kule w $m$ kolorach
+(ściślej: w co najwyżej $m$ kolorach, może w ogóle nie być kul w danym
+kolorze). Nie wiemy, ile jest ogółem kul w urnie i w jakiej liczbie
+występuje każdy z kolorów.
+
+Losujemy ze zwracaniem (to istotne!) $T$ kul, załóżmy, że
+wylosowaliśmy w poszczególnych kolorach $\{k_1,\dots,k_m\}$ kul
+(tzn. pierwszą kolor wylosowaliśmy $k_1$ razy, drugi kolor — $k_2$ razy itd.).
+Rzecz jasna, $\sum_{i=1}^m k_i = T$.
+
+Jak powinniśmy racjonalnie szacować prawdopodobieństwa wylosowania kuli w $i$-tym kolorze ($p_i$)?
+
+Wydawałoby się wystarczyłoby liczbę wylosowanych kul w danym kolorze
+podzielić przez liczbę wszystkich prób:
+
+$$p_i = \frac{k_i}{T}.$$
+
+*** Wygładzanie — przykład
+
+Rozpatrzmy przykład z 3 kolorami (wiemy, że w urnie mogą być urny
+żółte, zielone i czerwone, tj. $m=3$) i 4 losowaniami ($T=4$):
+
+[[./05_Wygladzanie/urna.drawio.png]]
+
+Gdybyśmy w prosty sposób oszacowali prawdopodobieństwa, doszlibyśmy do
+wniosku, że prawdopodobieństwo wylosowania kuli czerwonej wynosi 3/4, żółtej — 1/4,
+a zielonej — 0. Wartości te są jednak dość problematyczne:
+
+- Za bardzo przywiązujemy się do naszej skromnej próby,
+ potrzebowalibyśmy większej liczby losowań, żeby być bardziej pewnym
+ naszych estymacji.
+- W szczególności stwierdzenie, że prawdopodobieństwo wylosowania kuli
+ zielonej wynosi 0 jest bardzo mocnym stwierdzeniem (twierdzimy, że
+ *NIEMOŻLIWE* jest wylosowanie kuli zielonej), dopiero większa liczba
+ prób bez wylosowania zielonej kuli mogłaby sugerować
+ prawdopodobieństwo bliskie zeru.
+- Zauważmy, że niemożliwe jest wylosowanie ułamka kuli, jeśli w
+ rzeczywistości 10% kul jest żółtych to nie oznacza się wylosujemy
+ $4\frac{1}{10} = \frac{2}{5}$ kuli. Prawdopodobnie wylosujemy jedną
+ kulę żółtą albo żadną. Wylosowanie dwóch kul żółtych byłoby możliwe,
+ ale mniej prawdopodobne. Jeszcze mniej prawdopodobne byłoby
+ wylosowanie 3 lub 4 kul żółtych.
+
+*** Idea wygładzania
+
+Wygładzanie (ang. /smoothing/) polega na tym, że „uszczknąć” nieco
+masy prawdopodobieństwa zdarzeniom wskazywanym przez eksperyment czy
+zbiór uczący i rozdzielić ją między mniej prawdopodobne zdarzenia.
+
+*** Wygładzanie +1
+
+Najprostszy sposób wygładzania to wygładzania +1, nazywane też wygładzaniem
+Laplace'a, zdefiniowane za pomocą następującego wzoru:
+
+$$p_i = \frac{k_i+1}{T+m}.$$
+
+W naszym przypadku z urną prawdopodobieństwo wylosowania kuli
+czerwonej określimy na $\frac{3+1}{4+3} = \frac{4/7}$, kuli żółtej —
+$\frac{1+1}{4+3}=2/7$, zielonej — $\frac{0+1}{4+3}=1/7$. Tym samym,
+kula zielona uzyskała niezerowe prawdopodobieństwo, żółta — nieco
+zyska, zaś czerwona — straciła.
+
+**** Własności wygładzania +1
+
+Zauważmy, że większa liczba prób $m$, tym bardziej ufamy naszemu eksperymentowi
+(czy zbiorowi uczącemu) i tym bardziej zbliżamy się do niewygładzonej wartości:
+
+$$\lim_{m \rightarrow \infty} \frac{k_i +1}{T + m} = \frac{k_i}{T}.$$
+
+Inna dobra, zdroworozsądkowo, własność to to, że prawdopodobieństwo nigdy nie będzie zerowe:
+
+$$frac{k_i + 1}{T + m} > 0.$$
+
+** Wygładzanie w unigramowym modelu języku
+
+*** Analogia do urny
+
+Unigramowy model języka, abstrakcyjnie, dokładnie realizuje scenariusz
+losowania kul z urny: $m$ to liczba wszystkich wyrazów (czyli rozmiar słownika $|V|$),
+$k_i$ to ile razy w zbiorze uczącym pojawił się $i$-ty wyraz słownika,
+$T$ — długość zbioru uczącego.
+
+[[./05_Wygladzanie/urna-wyrazy.drawio.png]]
+
+A zatem przy użyciu wygładzania +1 w następujący sposób estymować
+będziemy prawdopodobieństwo słowa $w$:
+
+$$P(w) = \fraq{\# w + 1}{|C| + |V|}.$$
+
+*** Wygładzanie $+\alpha$
+
+W modelowaniu języka wygładzanie $+1$ daje zazwyczaj niepoprawne
+wyniki, dlatego częściej zamiast wartości 1 używa się współczynnika $0
+< \alpha < 1$. W innych praktycznych zastosowaniach statystyki
+przyjmuje się $\alpha = \frac{1}{2}$, ale w przypadku n-gramowych
+modeli języka i to będzie zbyt duża wartość.
+
+W jaki sposób ustalić wartość $\alpha$? Można $\alpha$ potraktować $\alpha$
+jako hiperparametr i dostroić ją na odłożonym zbiorze.
+
+*** Jak wybrać wygładzanie?
+
+Jak ocenić, który sposób wygładzania jest lepszy? Jak wybrać $\alpha$
+w czasie dostrajania?
+
+Najprościej można sprawdzić estymowane prawdopodobieństwa na zbiorze
+strojącym (developerskim). Dla celów poglądowych bardziej czytelny
+będzie podział zbioru uczącego na dwie równe części — będziemy
+porównywać częstości estymowane na jednej połówce korpusu z
+rzeczywistymi, empirycznymi częstościami z drugiej połówki.
+
+Wyniki będziemy przedstawiać w postaci tabeli, gdzie w poszczególnych
+wierszach będziemy opisywać częstości estymowane dla wszystkich
+wyrazów, które pojawiły się określoną liczbę razy w pierwszej połówce korpusu.
+
+Ostatecznie możemy też po prostu policzyć perplexity na zbiorze testowym
+
+*** Wygładzanie Gooda-Turinga
+
+Inna metoda — wygładzanie Gooda-Turinga — polega na zliczaniu, ile
+$n$-gramów (na razie rozpatrujemy model unigramowy, więc po prostu pojedynczych
+wyrazów) wystąpiło zadaną liczbę razy. Niech $N_r$ oznacza właśnie,
+ile $n$-gramów wystąpiło dokładnie $r$ razy; na przykład $N_1$ oznacza liczbę /hapax legomena/.
+
+W metodzie Gooda-Turinga używamy następującej estymacji:
+
+$$p(w) = \frac{\# w + 1}{|C|}\frac{N_{r+1}}{N_r}.$$
+
+** Wygładzanie dla $n$-gramów
+
+*** Rzadkość danych
+
+W wypadku bigramów, trigramów itd. jeszcze dotkliwy staje się problem
+*rzadkości* danych (/data sparsity/). Przestrzeń możliwych zdarzeń
+jest jeszcze większa ($|V|^2$ dla bigramów), więc estymacje stają się
+jeszcze mniej pewne.
+
+*** Back-off
+
+Dla $n$-gramów, gdzie $n>1$, nie jesteśmy ograniczeni do wygładzania $+1$, $+k$ czy Gooda-Turinga.
+W przypadku rzadkich $n$-gramów, w szczególności gdy $n$-gram w ogóle się nie pojawił w korpusie,
+możemy „zejść” na poziom krótszych $n$-gramów. Na tym polega *back-off*.
+
+Otóż jeśli $\# w_{i-n+1}\ldots w_{i-1} > 0$, wówczas estymujemy prawdopodobieństwa
+ w tradycyjny sposób:
+
+$$P_B(w_i|w_{i-n+1}\ldots w_{i-1}) = d_n(w_{i-n+1}\ldots w_{i-1}\ldots w_{i-1}) P(w_i|w_{i-n+1}\ldots w_{i-1})$$
+
+W przeciwnym razie, rozpatrujemy rekurencyjnie krótszy $n$-gram:
+
+$$P_B(w_i|w_{i-n+1}\ldots w_{i-1}) = \delta_n(w_{i-n+1}\ldots w_{i-1}\ldots w_{i-1}) P_B(w_i|w_{i-n+2}\ldots w_{i-1}).$$
+
+Technicznie, aby $P_B$ stanowiło rozkład prawdopodobieństwa, trzeba dobrać współczynniki $d$ i $\delta$.
+
+*** Interpolacja
+
+Alternatywą do metody back-off jest *interpolacja* — zawsze z pewnym współczynnikiem uwzględniamy
+prawdopodobieństwa dla krótszych $n$-gramów:
+
+$$P_I(w_i|w_{i-n+1}\ldots w_{i-1}) = \lambda P(w_i|w_{i-n+1}\dots w_{i-1}) + (1-\lambda)
+ P_I(w_i|w_{i-n+2}\dots w_{i-1}).$$
+
+
+Na przykład, dla trigramów:
+
+$$P_I(w_i|w_{i-2}w_{i-1}) = \lambda P_(w_i|w_{i-2}w_{i-1}) + (1-\lambda)(\lambda P(w_i|w_{i-1}) + (1-\lambda)P_I(w_i)).$$
+
+** Uwzględnianie różnorodności
+
+*** Różnorodność kontynuacji
+
+Zauważmy, że słowa mogą bardzo różnić się co do różnorodności
+kontynuacji. Na przykład po słowie /szop/ spodziewamy się raczej tylko
+słowa /pracz/, każde inne, niewidziane w zbiorze uczącym, będzie
+zaskakujące. Dla porównania słowo /seledynowy/ ma bardzo dużo
+możliwych kontynuacji i powinniśmy przeznaczyć znaczniejszą część masy
+prawdopodobieństwa na kontynuacje niewidziane w zbiorze uczącym.
+
+Różnorodność kontynuacji bierze pod uwagę metoda wygładzania
+Wittena-Bella, będącą wersją interpolacji.
+
+Wprowadźmy oznaczenie na liczbę możliwych kontynuacji $n-1$-gramu $w_1\ldots w_{n-1}$:
+
+$$N_{1+}(w_1\ldots w_{n-1}\dot\bullet) = |\{w_n : \# w_1\ldots w_{n-1}w_n > 0\}|.$$
+
+Teraz zastosujemy interpolację z następującą wartością parametru
+$1-\lambda$, sterującego wagą, jaką przypisujemy do krótszych $n$-gramów:
+
+
+$$1 - \lambda = \frag{N_{1+}(w_1\ldots w_{n-1}\dot\bullet)}{N_{1+}(w_1\ldots w_{n-1}\dot\bullet) + \# w_1\ldots w_{n-1}}.$$
+
+*** Wygładzanie Knesera-Neya
+
+Zamiast brać pod uwagę różnorodność kontynuacji, możemy rozpatrywać
+różnorodność *historii* — w momencie liczenia prawdopodobieństwa dla
+unigramów dla interpolacji (nie ma to zastosowania dla modeli
+unigramowych). Na przykład dla wyrazu /Jork/ spodziewamy się tylko
+bigramu /Nowy Jork/, a zatem przy interpolacji czy back-off prawdopodobieństwo
+unigramowe powinno być niskie.
+
+Wprowadźmy oznaczenia na liczbę możliwych historii:
+
+$$N_{1+}(\bullet w) = |\{w_j : \# w_jw > 0\}|$$.
+
+W metodzie Knesera-Neya w następujący sposób estymujemy prawdopodobieństwo unigramu:
+
+$$P(w) = \frac{N_{1+}(\bullet w)}{\sum_{w_j} N_{1+}(\bullet w_j)}.$$
diff --git a/wyk/05_Wygladzanie/urna-wyrazy.drawio b/wyk/05_Wygladzanie/urna-wyrazy.drawio
new file mode 100644
index 0000000..d7d7bab
--- /dev/null
+++ b/wyk/05_Wygladzanie/urna-wyrazy.drawio
@@ -0,0 +1 @@
+zZfLjpswGIWfhmUrwJgky4ZO28VUM6NIrWZVOeCAFWMjxxTI09cO5jZO1KmUNBApss/v63csXxwQ5fVXgYrsO08wdXw3qR3w2fH9VeCpfy00rQB92AqpIEkreYOwIUdsRNeoJUnwYVJQck4lKaZizBnDsZxoSAheTYvtOJ32WqAUW8ImRtRWf5JEZq269BeD/g2TNOt69sJVG8lRV9jM5JChhFcjCTw4IBKcyzaV1xGmml3Hpa335UK0H5jATL6nwuNL/fojptX66SX9haq0eiXgg2nlN6KlmbAZrGw6AmrchU7GDSUswQI4YF1lROJNgWIdqJTxSstkTlXOU8ktL1XJ5HHbCyjep0KrT6VUzWCjH1q/PajSO0JpxCkXp27BDuqf1jmTI739dF0p+B6PIuHpUxEzJywkri/C8noL1NLFPMdSNKpIVwEY18yy9V2Tr4ZF0GvZaAH4gRGRWXhp3/bgjUoYe/7BqqVlFbK8Ei14Q/cvLl0DE3yDaWVjguco3QqS59uUtmiP2OxQAe/eqIJzqJwIOuuoFPPjBe7NC9p75QlW40SBs1zMj9ji3sTCS8SOrJkfrrvvXQsL10f9WaTUnOUUx/QsZFwfsJMD1UiIkpTps1wxwkpfa4JE3XY+mUBOkkR3c5b/4JB7JQsCOLUgsC0Iz1gAbmaBfchWFn7Vjrp9XoI0cgUdivZKuiO1xnYNZAAGE2TeO5GFN0O2spA98yNDjJTzIhcE7rzIdRvJfBcb9OeGzH6vPCOaEyQYmRe60P1v6FR2eEWeYqOnOHj4Aw==
\ No newline at end of file
diff --git a/wyk/05_Wygladzanie/urna-wyrazy.drawio.png b/wyk/05_Wygladzanie/urna-wyrazy.drawio.png
new file mode 100644
index 0000000..d300e14
Binary files /dev/null and b/wyk/05_Wygladzanie/urna-wyrazy.drawio.png differ
diff --git a/wyk/05_Wygladzanie/urna.drawio b/wyk/05_Wygladzanie/urna.drawio
new file mode 100644
index 0000000..802ffae
--- /dev/null
+++ b/wyk/05_Wygladzanie/urna.drawio
@@ -0,0 +1 @@
+3Zddb5swFEB/DY+Tgo0pvDbrtodOVRVpU58mgy9g1WDkOIPs18/EBsJClU4KbVQiRfbxJ+deiOPhddl+VbQuvksGwkMr1nr4s4dQHPjmuwN7CwgiFuSKM4v8EWz4H3Bw5eiOM9hOOmopheb1FKayqiDVE0aVks20WybFdNWa5nACNikVp/QnZ7qwNEI3I/8GPC/6lf0wti0l7Tu7O9kWlMnmCOE7D6+VlNqWynYNonPXe7HjvrzQOmxMQaVfM+D+sX36kYrm9uEx/0WbvHni+JOb5TcVO3fDbrN63xsw+667YroXvGKgsIdvm4Jr2NQ07RoaE3jDCl0KU/NNMZE705PdJwOg6XOuOvqw02YacHxr4+0TU864EGsppDosizPSfTouK33E7dWN1Uo+w1FLeLhMi7snUBraF2X5QwhM6oIsQau96dIPwC5qLm3RytWbMQkGVhwlAAocpC7x8mHuMTam4MLzH6FC50NlZjHPBZwPEN3W9mHJeAtsRn6UQprOSU4iEpDVZSRjNJXsk1PJZMYxWUpx8PEUR/F1KSZvqTjL0LxiFiYhudCrIgivLIvDD5fFBF+Z4ui8YmV/A53HM5rfJXEHi84qfqVVtJTVeFmrjEDEgjmrEUrwxU4O/1q9eWer/Ul6sWR9k1fAidZ4Ma2mOp7KD21Hf23w3V8=
\ No newline at end of file
diff --git a/wyk/05_Wygladzanie/urna.drawio.png b/wyk/05_Wygladzanie/urna.drawio.png
new file mode 100644
index 0000000..e69fcd1
Binary files /dev/null and b/wyk/05_Wygladzanie/urna.drawio.png differ