Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Both sides previous revision Poprzednia wersja
Nowa wersja
Poprzednia wersja
pl:dydaktyka:ml:lab5 [2013/03/21 12:37]
esimon [Regularized Cost Function]
pl:dydaktyka:ml:lab5 [2017/07/17 08:08] (aktualna)
Linia 71: Linia 71:
 Przetestuj działanie funkcji za pomocą skryptu //check.m// Przetestuj działanie funkcji za pomocą skryptu //check.m//
 ===== Regularized Cost Function ===== ===== Regularized Cost Function =====
-Regularyzacja pomaga zwalczyć problem tzw. //​overfittingu//​ danych, który pojawia się gdy do uczenia wykorzystujemy zbyt wiele parametrów przy jednoczesnej niewielkiej ilości przykładów uczących. //​Overfitting//​ skutkuje nadmiernym dopasowaniem do danych uczących i utrata pewnej generalizacji. Efektem //​Overfittingu//​ jest to, że algorytm idealnie działa na zbiorze uczącym, natomiast bardzo niedokładnie klasyfikuje dane ze zbioru testowego. ​(zobacz rysunek poniżej)+Regularyzacja pomaga zwalczyć problem tzw. //​overfittingu//​ danych, który pojawia się gdy do uczenia wykorzystujemy zbyt wiele parametrów przy jednoczesnej niewielkiej ilości przykładów uczących. //​Overfitting//​ skutkuje nadmiernym dopasowaniem do danych uczących i utrata pewnej generalizacji. Efektem //​Overfittingu//​ jest to, że algorytm idealnie działa na zbiorze uczącym, natomiast bardzo niedokładnie klasyfikuje dane ze zbioru testowego ​- zobacz rysunek poniżej. 
 + 
 +{{:​pl:​dydaktyka:​ml:​overfit-lr3.png|Overfitting}} 
 + 
 +Parametrem, który pozwala na regularyzację jest parametr $\lambda$. W zależności od jego wartości możemy skutecznie zlikwidować problem overfittingu. Jednak zwiększając nieodpowiedzialnie wartość tego parametru możemy doprowadzić do sytuacji, w której algorytm uczący nie będzie dobrze klasyfikował nawet danych treningowych - zobacz rysunek poniżej
 + 
 +{{:​pl:​dydaktyka:​ml:​underfit-lr4.png|}}
  
 Funkcja kosztu uwzględniająca regularyzację określona jest następującym wzorem: Funkcja kosztu uwzględniająca regularyzację określona jest następującym wzorem:
Linia 83: Linia 89:
 **Dla** $j\geq1$ **Dla** $j\geq1$
 $$\frac{\partial J(\theta)}{\partial\theta_j}= (\frac{1}{m}\sum\limits_{i=1}^m(h_\theta(x^{(i)})-y^{(i)})x^{(i)}_j)+\frac{\lambda}{m}\theta_j$$ $$\frac{\partial J(\theta)}{\partial\theta_j}= (\frac{1}{m}\sum\limits_{i=1}^m(h_\theta(x^{(i)})-y^{(i)})x^{(i)}_j)+\frac{\lambda}{m}\theta_j$$
 +
 +Sprawdź swoją implementację za pomocą skryptu //​ex2_reg.m//​ oraz //​check.m//​.
 +
 +**Uwaga** Otwórz plik //​ex2_reg.m//​ i przetestuj działanie algorytmu zmieniając wartość współczynnika $\lambda$ w okolicach linii 90. 
 +
  
pl/dydaktyka/ml/lab5.txt · ostatnio zmienione: 2017/07/17 08:08 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0