|
|
pl:dydaktyka:ml:lab8 [2017/07/17 10:08] |
pl:dydaktyka:ml:lab8 [2019/06/27 15:50] (aktualna) |
| ====== 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. |
| |
| {{:pl:dydaktyka:ml:bias-var.png?300|}} |
| |