From 0f3e02c7ac22063bac5a4762573efcabe775075d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Sk=C3=B3rzewski?= Date: Wed, 3 Apr 2024 12:24:07 +0200 Subject: [PATCH] Lab 5 --- ...tystyczny_model_językowy_część_2.ipynb | 31 ++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/lab/05_statystyczny_model_językowy_część_2.ipynb b/lab/05_statystyczny_model_językowy_część_2.ipynb index 59c195a..2a51546 100644 --- a/lab/05_statystyczny_model_językowy_część_2.ipynb +++ b/lab/05_statystyczny_model_językowy_część_2.ipynb @@ -144,6 +144,35 @@ "trigram_model.predict(['ma', 'kota']) → 'i:0.55 oraz:0.25 czarnego:0.1 :0.1'" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Jak tunować parametry na zbiorze deweloperskim?\n", + "\n", + "- tworzymy model opisany jak przez \"klasę abstrakcyjną\" na początku notebooku. Model ma podany jako parametr konstruktora pewien parametr wygładzania np. alpha\n", + "- tworzymy wiele modeli z różnymi parametrami, uczymy je i sprawdzamy na zbiorze deweloperskim, dostając np. taką tabelkę:\n", + "\n", + "\n", + "| parametr alfa | pplHashed na dev-0|\n", + "| ----------- | ----------- |\n", + "| 0.0 | 404 |\n", + "| 0.1 | 370 |\n", + "| 0.2 | 343 |\n", + "| 0.3 | 339 |\n", + "| 0.4 | **320** |\n", + "| 0.5 | 337 |\n", + "| 0.6 | 398 |\n", + "| 0.7 | 404 |\n", + "| 0.8 | 432 |\n", + "| 0.9 | 426 |\n", + "| 1.0 | 433 |\n", + "\n", + "Wybieramy najlepszy parametr względem metryki. Tutaj najlepszy wynik to **320** osiągany dla parametru **alfa=0.4**. Zatem taki model oddajemy w zadaniu na gonito. \n", + "\n", + "Oczywiście robienie tabelki nie jest konieczne. Podobnie postępujemy, jeżeli parametrów będzie więcej niż 1. Ilość modeli do stworzenia będzie rosła wykładnioczo względem ilości parametrów. Np. jeżeli każdy parametr będzie miał 10 możliwości i chcemy przetestować 3 parametry, to mamy 10^3 możliwości. Dlatego warto wtedy ograniczać zakres, np. zamiast 10 możliwości wziąć 3 możliwości." + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -170,7 +199,7 @@ "\n", "Uwagi:\n", "\n", - "- warto wymyślić jakąś metodę wygładazania, bez tego może być bardzo kiepski wynik\n", + "- warto skorzystać z jakiejś metody wygładazania (plusalpha, interpolacja, Good-Turing, back-off), bez tego wynik może być bardzo kiepski\n", "- nie trzeba korzystać z całego zbioru trenującego\n", "- roziwązanie zadania to **70** punktów,\n", "- **dodatkowo:** za najlepsze rozwiązanie w grupie przyznaję **40** punktów, za drugie miejsce: **20** punktów, a za trzecie miejsce: **10** punktów\n",