|
|
pl:dydaktyka:ml:lab8 [2015/05/05 09:27] esimon [Tips and Tricks] |
pl:dydaktyka:ml:lab8 [2019/06/27 15:50] |
====== Bias/Variance ====== | |
Ćwiczenia bazujące na materiałach Andrew Ng.\\ | |
Przed zajęciami przejrzyj wykłady [[https://class.coursera.org/ml/lecture/preview|X i XI]] \\ | |
{{:pl:dydaktyka:ml:ex5.pdf|Instructions}} in English. | |
| |
Ćwiczenia do pobrania (files to download): {{:pl:dydaktyka:ml:bias-variance.zip|Bias and Variance}} | |
===== Lista i opis plików ===== | |
* //ex5.m// - Skrypt pomagający przejść przez laboratorium | |
* //ex5data1.mat// - Zbiór danych | |
* //featureNormalize.m// - Normalizacja cech | |
* //fmincg.m// - Funkcja optymalizująca | |
* //plotFit.m// - Wizualizacja | |
* //trainLinearReg.m// - Funkcja ucząca wykorzystująca napisaną funkcję kosztu | |
* :!: //linearRegCostFunction.m// - Funkcja kosztu dla regresji linowej | |
* :!: //learningCurve.m// - Generowanie krzywej uczenia | |
* :!: //polyFeatures.m// - Mapowanie danych do przestrzeni wielomianowej | |
* :!: //validationCurve.m// - Generowanie krzywej //cross-validation// | |
| |
| |
===== Tips and Tricks ===== | |
Kilka ogólnych kroków w jakich można debugować algorytm uczący: | |
* Zdobądź więcej danych uczących (to nie może zaszkodzić i pomaga w przypadku zbytniego dopasowania - high variance) | |
* Wypróbuj mniejszą ilość cech (pomaga w przypadku nadmiernego dopasowania - high variance) | |
* Wypróbuj większą ilość cech (pomaga w przypadku niedopasowania) | |
* Wypróbuj dodatkowe wielomianowe cechy (te same cechy podniesione do kwadratu, do sześcianu itd. - pomaga w przypadku niedopasowania) | |
* Zwiększ $\lambda$ - pomaga w przypadku zbytniego dopasowania - high variance | |
* Zmniejsz $\lambda$ - pomaga w przypadku niedopasowania - high bias | |
| |
Jak ewaluować wyuczony model (hipotezę): | |
* Błąd klasyfikacji na danych uczących jest nieodpowiedni do mierzenia tego czy algorytm nie jest nadmiernie dopasowany (overfitted). Rozwiązaniem jest podzielenie zbioru uczącego a dwie części: | |
* Learning set (60%) - służy do uczenia algorytmu | |
* Cross-Validation set (20%) - służy do odpowiedniego doboru parametru $\lambda$ | |
* Test set (20%) - służy do sprawdzania na ile algorytm dobrze klasyfikuje dane nienależące do zbioru uczącego. | |
| |
| |
| |