data_mining:svm

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
data_mining:svm [2014/08/16 15:20] – [Kernel] phreazerdata_mining:svm [2014/08/17 21:11] (current) – [Parameterwahl] phreazer
Line 48: Line 48:
  
 Gegeben x:  Gegeben x: 
-$$f_1 = \text{similarity}(x,l^{(1)}) = \exp(-\frac{||x-l^{(1)}}{2 \sigma^2})$$+$$f_1 = \text{similarity}(x,l^{(1)}) = \exp(-\frac{||x-l^{(1)}||^2}{2 \sigma^2}) \\ 
 +f_2 = \text{similarity}(x,l^{(2)}) = \exp(-\frac{||x-l^{(2)}||^2}{2 \sigma^2}) \\  
 +$$ 
 + 
 +Ähnlichkeitsfunktionen = Kernel $k(x,l^{(i)})$ 
 + 
 +Hier Gaussian Kernel. 
 + 
 + 
 +Wenn $x \approx l^{(1)}$: $f_1 \approx 1$ 
 + 
 +Wenn $x$ weit entfernt von $l^{(1)}$: $f_1 \approx 0$ 
 + 
 + 
 +Anpassen von $\sigma$ 
 + 
 +===== Landmarks ===== 
 + 
 +Sage $y=1$ vorher wenn $\theta_0 + \theta_1 f_1 + \theta_2 f_2 + \theta_3 f_3 \geq 0$ 
 + 
 +Wie $l^{(1)}, l^{(2)}, l^{(3)}, ...$ wählen? 
 + 
 +$l^{(1)} = x^{(1)}$ usw. 
 + 
 +==== Feature Vector f ==== 
 + 
 +$f_1 = \text{similarity}(x,l^{(1)})$ usw. 
 + 
 +Für $x^{(i)}$ muss entsprechend berechnet werden: 
 + 
 +$$ 
 +f_1^{(i)} = \text{sim}(x^{(i)}, l^{(1)}) \\ 
 +f_2^{(i)} = \text{sim}(x^{(i)}, l^{(2)}) \\ 
 +\dots \\ 
 +f_m^{(i)} = \text{sim}(x^{(i)}, l^{(m)}) 
 +$$ 
 + 
 +Sage y=1 vorher, wenn $\theta^T f \geq 0$ 
 + 
 +Wie bekommt man $\theta$? 
 + 
 +Durch Minimierung der Kostenfunktion, jetzt mit $\theta^T f^{(i)}$ anstelle von $\theta^T f^{(i)}$. 
 + 
 +==== Parameterwahl ==== 
 + 
 +$C = \frac{1}{\lambda}$ 
 + 
 +  * Großes C: Niedriger Bias, hohe Varianz => Overfitting 
 +  * Niedriges C: Hoher Bias, niedrige Varianz => Underfitting 
 + 
 +$\sigma^2$ 
 + 
 +  * Groß: Features variieren sanfter => Hoher Bias, niedrige Varianz 
 +  * Niedrig: Features varrieren abrupter => Niedriger Bias, hohe Varianz 
 + 
 +===== Kernelwahl ===== 
 + 
 +  * Kein Kernel (linear Kernel): n groß, m klein 
 +  * Gaussian Kernel: n klein, m groß 
 +    * Implementierung der Ähnlichkeitsfunktion (bzw. Features $f_i$) 
 +    * Feature Scaling vor Verwendung des Gaussian Kernel $||v||^2 = v_1^2 + v_2^2 + \dots + v_n^2$ 
 +    * Polynomial Kernels: Eher selten benutzt 
 +    * Weitere 
 + 
 +Manche Ähnlichkeitsfunktionen erzeugen keine gültigen Kernel. Diese müssen Mercer's Theorem erfüllen (aufgrund Optimierungen und Konvergenz). 
 + 
 +===== Algowahl ===== 
 + 
 +  * Wenn n groß gegenüber m: Log Reg oder SVM ohne Kernel 
 +  * Wenn n klein (1-1000) und m mittelgroß (10-10000): SVM mit Gaussian Kernel 
 +  * Wenn n klein (1-1000) und m groß (50000+): Mehr Features + Log Reg oder SVM ohne Kernel 
  • data_mining/svm.1408195225.txt.gz
  • Last modified: 2014/08/16 15:20
  • by phreazer