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:02] – [Mathematische Sicht] phreazerdata_mining:svm [2014/08/17 21:11] (current) – [Parameterwahl] phreazer
Line 24: Line 24:
 Vector Inner Product Vector Inner Product
  
-u^T v+$u^T v$
  
 $||u|| = \sqrt{u_1^2 + u_2^2}$ $||u|| = \sqrt{u_1^2 + u_2^2}$
Line 38: Line 38:
  
 $\min_\theta 1/2 \sum_{j=1}^n \theta_j^2 = 1/2 ||\theta||^2$ $\min_\theta 1/2 \sum_{j=1}^n \theta_j^2 = 1/2 ||\theta||^2$
 +
 +Bei größeren $p^{(i)}$ können kleinere $||\theta||$ gewählt werden. $p^{(i)}$ Abstände Large Margin Classifier.
 +
 +===== Kernel =====
 +
 +Nicht-lineare Decision Boundary
 +
 +Gegeben x, berechne neue Features abhängig von der Nähe zu Landmarks $l^{(1)}, l^{(2)}, l^{(3)}$.
 +
 +Gegeben x: 
 +$$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.1408194175.txt.gz
  • Last modified: 2014/08/16 15:02
  • by phreazer