From 4945a43ae700fbfb36d029d765b382b01632365b Mon Sep 17 00:00:00 2001 From: mhjensen Date: Mon, 5 Nov 2018 21:21:26 +0100 Subject: [PATCH] replacing hats with boldmath --- doc/pub/svm/html/._svm-bs003.html | 4 +- doc/pub/svm/html/._svm-bs004.html | 12 +-- doc/pub/svm/html/._svm-bs006.html | 8 +- doc/pub/svm/html/._svm-bs007.html | 8 +- doc/pub/svm/html/._svm-bs008.html | 2 +- doc/pub/svm/html/._svm-bs009.html | 18 ++-- doc/pub/svm/html/._svm-bs012.html | 16 +-- doc/pub/svm/html/._svm-bs013.html | 14 +-- doc/pub/svm/html/._svm-bs014.html | 15 ++- doc/pub/svm/html/._svm-bs015.html | 8 +- doc/pub/svm/html/._svm-bs016.html | 14 +-- doc/pub/svm/html/svm-reveal.html | 121 ++++++++++++----------- doc/pub/svm/html/svm-solarized.html | 119 +++++++++++----------- doc/pub/svm/html/svm.html | 119 +++++++++++----------- doc/pub/svm/ipynb/ipynb-svm-src.tar.gz | Bin 207 -> 207 bytes doc/pub/svm/ipynb/svm.ipynb | 132 ++++++++++++++----------- doc/pub/svm/pdf/svm-minted.pdf | Bin 231283 -> 265104 bytes doc/src/SupportVMachines/svm.do.txt | 120 +++++++++++----------- 18 files changed, 387 insertions(+), 343 deletions(-) diff --git a/doc/pub/svm/html/._svm-bs003.html b/doc/pub/svm/html/._svm-bs003.html index 9cdb7808b..c7aaa035e 100644 --- a/doc/pub/svm/html/._svm-bs003.html +++ b/doc/pub/svm/html/._svm-bs003.html @@ -147,10 +147,10 @@ $$ where \( b \) is the intercept and \( w_1 \) and \( w_2 \) define the elements of a vector orthogonal to the line \( b+w_1x_1+w_2x_2=0 \). -In two dimensions we define the vectors \( \hat{x} =[x1,x2] \) and \( \hat{w}=[w1,w2] \). +In two dimensions we define the vectors \( \boldmath{x} =[x1,x2] \) and \( \boldmath{w}=[w1,w2] \). We can then rewrite the above equation as $$ -\hat{w}^T\hat{x}+b=0. +\boldmath{w}^T\boldmath{x}+b=0. $$

diff --git a/doc/pub/svm/html/._svm-bs004.html b/doc/pub/svm/html/._svm-bs004.html index 3b7fe2b3d..5e5720ac8 100644 --- a/doc/pub/svm/html/._svm-bs004.html +++ b/doc/pub/svm/html/._svm-bs004.html @@ -139,25 +139,25 @@ b+wx_1+w_2x_2+\dots +w_px_p=0. $$ If we define a -matrix \( \hat{X}=\left[\hat{x}_1,\hat{x}_2,\dots, \hat{x}_p\right] \) -of dimension \( n\times p \), where \( n \) represents the observations for each feature and each vector \( x_i \) is a column vector of the matrix \( \hat{X} \), +matrix \( \boldmath{X}=\left[\boldmath{x}_1,\boldmath{x}_2,\dots, \boldmath{x}_p\right] \) +of dimension \( n\times p \), where \( n \) represents the observations for each feature and each vector \( x_i \) is a column vector of the matrix \( \boldmath{X} \), $$ -\hat{x}_i = \begin{bmatrix} x_{i1} \\ x_{i2} \\ \dots \\ \dots \\ x_{ip} \end{bmatrix}. +\boldmath{x}_i = \begin{bmatrix} x_{i1} \\ x_{i2} \\ \dots \\ \dots \\ x_{ip} \end{bmatrix}. $$ -If the above condition is not met for a given vector \( \hat{x}_i \) we have +If the above condition is not met for a given vector \( \boldmath{x}_i \) we have $$ b+w_1x_{i1}+w_2x_{i}2+\dots +w_px_{ip} >0, $$ if our output \( y_i=1 \). -In this case we say that \( \hat{x}_i \) lies on one of the sides of the hyperplane and if +In this case we say that \( \boldmath{x}_i \) lies on one of the sides of the hyperplane and if $$ b+w_1x_{i1}+w_2x_{i}2+\dots +w_px_{ip} < 0, $$ for the class of observations \( y_i=-1 \), -then \( \hat{x}_i \) lies on the other side. +then \( \boldmath{x}_i \) lies on the other side.

Equivalently, for the two classes of observations we have diff --git a/doc/pub/svm/html/._svm-bs006.html b/doc/pub/svm/html/._svm-bs006.html index 1235e3f36..032060832 100644 --- a/doc/pub/svm/html/._svm-bs006.html +++ b/doc/pub/svm/html/._svm-bs006.html @@ -134,18 +134,18 @@ MathJax.Hub.Config({

Let us define the function $$ -f(x) = \hat{w}^T\hat{x}+b = 0, +f(x) = \boldmath{w}^T\boldmath{x}+b = 0, $$ as the function that determines the line \( L \) that separates two classes (our two features), see the figure here.

-Any point defined by \( \hat{x}_i \) and \( \hat{x}_2 \) on the line \( L \) will satisfy \( \hat{w}^T(\hat{x}_1-\hat{x}_2)=0 \). +Any point defined by \( \boldmath{x}_i \) and \( \boldmath{x}_2 \) on the line \( L \) will satisfy \( \boldmath{w}^T(\boldmath{x}_1-\boldmath{x}_2)=0 \).

-The signed distance \( \delta \) from any point defined by a vector \( \hat{x} \) and a point \( \hat{x}_0 \) on the line \( L \) is then +The signed distance \( \delta \) from any point defined by a vector \( \boldmath{x} \) and a point \( \boldmath{x}_0 \) on the line \( L \) is then $$ -\delta = \frac{1}{\vert\vert \hat{w}\vert\vert}(\hat{w}^T\hat{x}+b). +\delta = \frac{1}{\vert\vert \boldmath{w}\vert\vert}(\boldmath{w}^T\boldmath{x}+b). $$

diff --git a/doc/pub/svm/html/._svm-bs007.html b/doc/pub/svm/html/._svm-bs007.html index 4f4d81d43..4b594b59f 100644 --- a/doc/pub/svm/html/._svm-bs007.html +++ b/doc/pub/svm/html/._svm-bs007.html @@ -132,23 +132,23 @@ MathJax.Hub.Config({

First attempt at a minimization approach

-How do we find the parameter \( b \) and the vector \( \hat{w} \)? What we could +How do we find the parameter \( b \) and the vector \( \boldmath{w} \)? What we could do is to define a cost function which now contains the set of all misclassified points \( M \) and attempt to minimize this function $$ -C(\hat{w},b) = -\sum_{i\in M} y_i(\hat{w}^T\hat{x}_i+b). +C(\boldmath{w},b) = -\sum_{i\in M} y_i(\boldmath{w}^T\boldmath{x}_i+b). $$

-We could now for example define all values \( y_i =1 \) as misclassified in case we have \( \hat{w}^T\hat{x}_i+b < 0 \) and the opposite if we have \( y_i=-1 \). Taking the derivatives gives us +We could now for example define all values \( y_i =1 \) as misclassified in case we have \( \boldmath{w}^T\boldmath{x}_i+b < 0 \) and the opposite if we have \( y_i=-1 \). Taking the derivatives gives us $$ \frac{\partial C}{\partial b} = -\sum_{i\in M} y_i, $$ and $$ -\frac{\partial C}{\partial \hat{w}} = -\sum_{i\in M} y_ix_i. +\frac{\partial C}{\partial \boldmath{w}} = -\sum_{i\in M} y_ix_i. $$

diff --git a/doc/pub/svm/html/._svm-bs008.html b/doc/pub/svm/html/._svm-bs008.html index 8042fa5b6..9890b9a82 100644 --- a/doc/pub/svm/html/._svm-bs008.html +++ b/doc/pub/svm/html/._svm-bs008.html @@ -139,7 +139,7 @@ $$ and $$ -\hat{w} \leftarrow \hat{w} +\eta \frac{\partial C}{\partial \hat{w}}, +\boldmath{w} \leftarrow \boldmath{w} +\eta \frac{\partial C}{\partial \boldmath{w}}, $$ where \( \eta \) is our by now well-known learning rate. diff --git a/doc/pub/svm/html/._svm-bs009.html b/doc/pub/svm/html/._svm-bs009.html index 501fff25e..0e3ba1f0d 100644 --- a/doc/pub/svm/html/._svm-bs009.html +++ b/doc/pub/svm/html/._svm-bs009.html @@ -136,11 +136,11 @@ A better approach is rather to try to define a large margin between the two classes (if they are well separated from the beginning).

-Thus, we wish to find a margin \( M \) with \( \hat{w} \) normalized to -\( \vert\vert \hat{w}\vert\vert =1 \) subject to the condition +Thus, we wish to find a margin \( M \) with \( \boldmath{w} \) normalized to +\( \vert\vert \boldmath{w}\vert\vert =1 \) subject to the condition $$ -y_i(\hat{w}^T\hat{x}_i+b) \geq M \hspace{0.1cm}\forall i=1,2,\dots, p. +y_i(\boldmath{w}^T\boldmath{x}_i+b) \geq M \hspace{0.1cm}\forall i=1,2,\dots, p. $$ All points are thus at a signed distance from the decision boundary defined by the line \( L \). The parameters \( b \) and \( w_1 \) and \( w_2 \) define this line. @@ -148,22 +148,22 @@ All points are thus at a signed distance from the decision boundary defined by t

We seek thus the largest value \( M \) defined by $$ -\frac{1}{\vert \vert \hat{w}\vert\vert}y_i(\hat{w}^T\hat{x}_i+b) \geq M \hspace{0.1cm}\forall i=1,2,\dots, n, +\frac{1}{\vert \vert \boldmath{w}\vert\vert}y_i(\boldmath{w}^T\boldmath{x}_i+b) \geq M \hspace{0.1cm}\forall i=1,2,\dots, n, $$ or just $$ -y_i(\hat{w}^T\hat{x}_i+b) \geq M\vert \vert \hat{w}\vert\vert \hspace{0.1cm}\forall i. +y_i(\boldmath{w}^T\boldmath{x}_i+b) \geq M\vert \vert \boldmath{w}\vert\vert \hspace{0.1cm}\forall i. $$ -If we scale the equation so that \( \vert \vert \hat{w}\vert\vert = 1/M \), we have to find the minimum of -\( \hat{w}^T\hat{w}=\vert \vert \hat{w}\vert\vert \) (the norm) subject to the condition +If we scale the equation so that \( \vert \vert \boldmath{w}\vert\vert = 1/M \), we have to find the minimum of +\( \boldmath{w}^T\boldmath{w}=\vert \vert \boldmath{w}\vert\vert \) (the norm) subject to the condition $$ -y_i(\hat{w}^T\hat{x}_i+b) \geq 1 \hspace{0.1cm}\forall i. +y_i(\boldmath{w}^T\boldmath{x}_i+b) \geq 1 \hspace{0.1cm}\forall i. $$

-We have thus defined our margin as the invers of the norm of \( \hat{w} \). We want to minimize the norm in order to have a as large as possible margin \( M \). Before we proceed, we need to remind ourselves about Lagrangian multipliers. +We have thus defined our margin as the invers of the norm of \( \boldmath{w} \). We want to minimize the norm in order to have a as large as possible margin \( M \). Before we proceed, we need to remind ourselves about Lagrangian multipliers.

diff --git a/doc/pub/svm/html/._svm-bs012.html b/doc/pub/svm/html/._svm-bs012.html index 5c23450ec..458c54650 100644 --- a/doc/pub/svm/html/._svm-bs012.html +++ b/doc/pub/svm/html/._svm-bs012.html @@ -132,40 +132,40 @@ MathJax.Hub.Config({

Setting up the problem

In order to solve the above problem, we define the following Lagrangian function to be minimized $$ -{\cal L}(\lambda,b,\hat{w})=\frac{1}{2}\hat{w}^T\hat{w}-\sum_{i=1}^n\lambda_i\left[y_i(\hat{w}^T\hat{x}_i+b)-1\right], +{\cal L}(\lambda,b,\boldmath{w})=\frac{1}{2}\boldmath{w}^T\boldmath{w}-\sum_{i=1}^n\lambda_i\left[y_i(\boldmath{w}^T\boldmath{x}_i+b)-1\right], $$ where \( \lambda_i \) is a so-called Lagrange multiplier subject to the condition \( \lambda_i \geq 0 \).

-Taking the derivatives with respect to \( b \) and \( \hat{w} \) we obtain +Taking the derivatives with respect to \( b \) and \( \boldmath{w} \) we obtain $$ \frac{\partial {\cal L}}{\partial b} = -\sum_{i} \lambda_iy_i=0, $$ and $$ -\frac{\partial {\cal L}}{\partial \hat{w}} = 0 = \hat{w}-\sum_{i} \lambda_iy_i\hat{x}_i. +\frac{\partial {\cal L}}{\partial \boldmath{w}} = 0 = \boldmath{w}-\sum_{i} \lambda_iy_i\boldmath{x}_i. $$ Inserting these constraints into the equation for \( {\cal L} \) we obtain $$ -{\cal L}=\sum_i\lambda_i-\frac{1}{2}\sum_{ij}^n\lambda_i\lambda_jy_iy_j\hat{x}_i^T\hat{x}_j, +{\cal L}=\sum_i\lambda_i-\frac{1}{2}\sum_{ij}^n\lambda_i\lambda_jy_iy_j\boldmath{x}_i^T\boldmath{x}_j, $$ subject to the constraints \( \lambda_i\geq 0 \) and \( \sum_i\lambda_iy_i=0 \). We must in addition satisfy the Karush-Kuhn-Tucker (KKT) condition $$ -\lambda_i\left[y_i(\hat{w}^T\hat{x}_i+b) -1\right] \hspace{0.1cm}\forall i. +\lambda_i\left[y_i(\boldmath{w}^T\boldmath{x}_i+b) -1\right] \hspace{0.1cm}\forall i. $$

    -
  1. If \( \lambda_i > 0 \), then \( y_i(\hat{w}^T\hat{x}_i+b)=1 \) and we say that \( x_i \) is on the boundary.
  2. -
  3. If \( y_i(\hat{w}^T\hat{x}_i+b)> 1 \), we say \( x_i \) is not on the boundary and we set \( \lambda_i=0 \).
  4. +
  5. If \( \lambda_i > 0 \), then \( y_i(\boldmath{w}^T\boldmath{x}_i+b)=1 \) and we say that \( x_i \) is on the boundary.
  6. +
  7. If \( y_i(\boldmath{w}^T\boldmath{x}_i+b)> 1 \), we say \( x_i \) is not on the boundary and we set \( \lambda_i=0 \).
-When \( \lambda_i > 0 \), the vectors \( \hat{x}_i \) are called support vectors. They are the vectors closest to the line (or hyperplane) and define the margin \( M \). +When \( \lambda_i > 0 \), the vectors \( \boldmath{x}_i \) are called support vectors. They are the vectors closest to the line (or hyperplane) and define the margin \( M \).

diff --git a/doc/pub/svm/html/._svm-bs013.html b/doc/pub/svm/html/._svm-bs013.html index 445734cd8..28d770194 100644 --- a/doc/pub/svm/html/._svm-bs013.html +++ b/doc/pub/svm/html/._svm-bs013.html @@ -134,21 +134,21 @@ MathJax.Hub.Config({

We can rewrite $$ -{\cal L}=\sum_i\lambda_i-\frac{1}{2}\sum_{ij}^n\lambda_i\lambda_jy_iy_j\hat{x}_i^T\hat{x}_j, +{\cal L}=\sum_i\lambda_i-\frac{1}{2}\sum_{ij}^n\lambda_i\lambda_jy_iy_j\boldmath{x}_i^T\boldmath{x}_j, $$ and its constraints in terms of a matrix-vector problem where we minimize w.r.t. \( \lambda \) the following problem $$ -\frac{1}{2} \hat{\lambda}^T\begin{bmatrix} y_1y_1\hat{x}_1^T\hat{x}_1 & y_1y_2\hat{x}_1^T\hat{x}_2 & \dots & \dots & y_1y_n\hat{x}_1^T\hat{x}_n \\ -y_2y_1\hat{x}_2^T\hat{x}_1 & y_2y_2\hat{x}_2^T\hat{x}_2 & \dots & \dots & y_1y_n\hat{x}_2^T\hat{x}_n \\ +\frac{1}{2} \boldmath{\lambda}^T\begin{bmatrix} y_1y_1\boldmath{x}_1^T\boldmath{x}_1 & y_1y_2\boldmath{x}_1^T\boldmath{x}_2 & \dots & \dots & y_1y_n\boldmath{x}_1^T\boldmath{x}_n \\ +y_2y_1\boldmath{x}_2^T\boldmath{x}_1 & y_2y_2\boldmath{x}_2^T\boldmath{x}_2 & \dots & \dots & y_1y_n\boldmath{x}_2^T\boldmath{x}_n \\ \dots & \dots & \dots & \dots & \dots \\ \dots & \dots & \dots & \dots & \dots \\ -y_ny_1\hat{x}_n^T\hat{x}_1 & y_ny_2\hat{x}_n^T\hat{x}_2 & \dots & \dots & y_ny_n\hat{x}_n^T\hat{x}_n \\ -\end{bmatrix}\hat{\lambda}-\mathbb{1}\hat{\lambda}, +y_ny_1\boldmath{x}_n^T\boldmath{x}_1 & y_ny_2\boldmath{x}_n^T\boldmath{x}_2 & \dots & \dots & y_ny_n\boldmath{x}_n^T\boldmath{x}_n \\ +\end{bmatrix}\boldmath{\lambda}-\mathbb{1}\boldmath{\lambda}, $$ -subject to \( \hat{y}^T\hat{\lambda}=0 \). Here we defined the vectors \( \hat{\lambda} =[\lambda_1,\lambda_2,\dots,\lambda_n] \) and -\( \hat{y}=[y_1,y_2,\dots,y_n] \). +subject to \( \boldmath{y}^T\boldmath{\lambda}=0 \). Here we defined the vectors \( \boldmath{\lambda} =[\lambda_1,\lambda_2,\dots,\lambda_n] \) and +\( \boldmath{y}=[y_1,y_2,\dots,y_n] \).

diff --git a/doc/pub/svm/html/._svm-bs014.html b/doc/pub/svm/html/._svm-bs014.html index 1386bb634..904f103f0 100644 --- a/doc/pub/svm/html/._svm-bs014.html +++ b/doc/pub/svm/html/._svm-bs014.html @@ -135,22 +135,27 @@ MathJax.Hub.Config({ Solving the above problem, yields the values of \( \lambda_i \). To find the coefficients of your hyperplane we need simply to compute $$ -\hat{w}=\sum_{i} \lambda_iy_i\hat{x}_i. +\boldmath{w}=\sum_{i} \lambda_iy_i\boldmath{x}_i. $$ -With our vector \( \hat{w} \) we can in turn find the value of the intercept \( b \) (here in two dimensions) via +With our vector \( \boldmath{w} \) we can in turn find the value of the intercept \( b \) (here in two dimensions) via $$ -y_i(\hat{w}^T\hat{x}_i+b)=1, +y_i(\boldmath{w}^T\boldmath{x}_i+b)=1, $$ resulting in $$ -b = \frac{1}{y_i}-\hat{w}^T\hat{x}_i. +b = \frac{1}{y_i}-\boldmath{w}^T\boldmath{x}_i, +$$ + +or if we write it out in terms of the support vectors only, with \( N_s \) being their number, we have +$$ +b = \frac{1}{N_s}\sum_{j\in N_s}\left(y_j-\sum_{i=1}^n\lambda_iy_i\boldmath{x}_i^T\boldmath{x}_j\right). $$ With our hyperplane coefficients we can use our classifier to assign any observation by simply using $$ -y_i = \mathrm{sign}(\hat{w}^T\hat{x}_i+b). +y_i = \mathrm{sign}(\boldmath{w}^T\boldmath{x}_i+b). $$ Below we discuss how to find the optimal values of \( \lambda_i \). Before we proceed however, we discuss now the so-called soft classifier. diff --git a/doc/pub/svm/html/._svm-bs015.html b/doc/pub/svm/html/._svm-bs015.html index 3519f7ca7..bba5a8f03 100644 --- a/doc/pub/svm/html/._svm-bs015.html +++ b/doc/pub/svm/html/._svm-bs015.html @@ -141,20 +141,20 @@ so-called kernel approach, is to allow a kind of slack in the sense that we allow some points to be on the wrong side of the margin.

-We introduce thus the so-called slack variables \( \hat{\xi} =[\xi_1,x_2,\dots,x_n] \) and +We introduce thus the so-called slack variables \( \boldmath{\xi} =[\xi_1,x_2,\dots,x_n] \) and modify our previous equation $$ -y_i(\hat{w}^T\hat{x}_i+b)=1, +y_i(\boldmath{w}^T\boldmath{x}_i+b)=1, $$ to $$ -y_i(\hat{w}^T\hat{x}_i+b)=1-\xi_i, +y_i(\boldmath{w}^T\boldmath{x}_i+b)=1-\xi_i, $$ with the requirement \( \xi_i\geq 0 \). The total violation is now \( \sum_i\xi \). The value \( \xi_i \) in the constraint the last constraint corresponds to the amount by which the prediction -\( y_i(\hat{w}^T\hat{x}_i+b)=1 \) is on the wrong side of its margin. Hence by bounding the sum \( \sum_i \xi_i \), +\( y_i(\boldmath{w}^T\boldmath{x}_i+b)=1 \) is on the wrong side of its margin. Hence by bounding the sum \( \sum_i \xi_i \), we bound the total amount by which predictions fall on the wrong side of their margins.

diff --git a/doc/pub/svm/html/._svm-bs016.html b/doc/pub/svm/html/._svm-bs016.html index eb9103479..98ec07175 100644 --- a/doc/pub/svm/html/._svm-bs016.html +++ b/doc/pub/svm/html/._svm-bs016.html @@ -134,25 +134,25 @@ MathJax.Hub.Config({

This has in turn the consequences that we change our optmization problem to finding the minimum of $$ -{\cal L}=\frac{1}{2}\hat{w}^T\hat{w}-\sum_{i=1}^n\lambda_i\left[y_i(\hat{w}^T\hat{x}_i+b)-(1-\xi_)\right]+C\sum_{i=1}^n\xi_i-\sum_{i=1}^n\gamma_i\xi_i, +{\cal L}=\frac{1}{2}\boldmath{w}^T\boldmath{w}-\sum_{i=1}^n\lambda_i\left[y_i(\boldmath{w}^T\boldmath{x}_i+b)-(1-\xi_)\right]+C\sum_{i=1}^n\xi_i-\sum_{i=1}^n\gamma_i\xi_i, $$ subject to $$ -y_i(\hat{w}^T\hat{x}_i+b)=1-\xi_i \hspace{0.1cm}\forall i, +y_i(\boldmath{w}^T\boldmath{x}_i+b)=1-\xi_i \hspace{0.1cm}\forall i, $$ with the requirement \( \xi_i\geq 0 \).

-Taking the derivatives with respect to \( b \) and \( \hat{w} \) we obtain +Taking the derivatives with respect to \( b \) and \( \boldmath{w} \) we obtain $$ \frac{\partial {\cal L}}{\partial b} = -\sum_{i} \lambda_iy_i=0, $$ and $$ -\frac{\partial {\cal L}}{\partial \hat{w}} = 0 = \hat{w}-\sum_{i} \lambda_iy_i\hat{x}_i, +\frac{\partial {\cal L}}{\partial \boldmath{w}} = 0 = \boldmath{w}-\sum_{i} \lambda_iy_i\boldmath{x}_i, $$ and @@ -162,13 +162,13 @@ $$ Inserting these constraints into the equation for \( {\cal L} \) we obtain the same equation as before $$ -{\cal L}=\sum_i\lambda_i-\frac{1}{2}\sum_{ij}^n\lambda_i\lambda_jy_iy_j\hat{x}_i^T\hat{x}_j, +{\cal L}=\sum_i\lambda_i-\frac{1}{2}\sum_{ij}^n\lambda_i\lambda_jy_iy_j\boldmath{x}_i^T\boldmath{x}_j, $$ but now subject to the constraints \( \lambda_i\geq 0 \), \( \sum_i\lambda_iy_i=0 \) and \( 0\leq\lambda_i \leq C \). We must in addition satisfy the Karush-Kuhn-Tucker condition which now reads $$ -\lambda_i\left[y_i(\hat{w}^T\hat{x}_i+b) -(1-\xi_)\right]=0 \hspace{0.1cm}\forall i, +\lambda_i\left[y_i(\boldmath{w}^T\boldmath{x}_i+b) -(1-\xi_)\right]=0 \hspace{0.1cm}\forall i, $$ $$ @@ -177,7 +177,7 @@ $$ and $$ -y_i(\hat{w}^T\hat{x}_i+b) -(1-\xi_) \geq 0 \hspace{0.1cm}\forall i. +y_i(\boldmath{w}^T\boldmath{x}_i+b) -(1-\xi_) \geq 0 \hspace{0.1cm}\forall i. $$

diff --git a/doc/pub/svm/html/svm-reveal.html b/doc/pub/svm/html/svm-reveal.html index 0b0bc008c..534d3378d 100644 --- a/doc/pub/svm/html/svm-reveal.html +++ b/doc/pub/svm/html/svm-reveal.html @@ -225,11 +225,11 @@ $$ where \( b \) is the intercept and \( w_1 \) and \( w_2 \) define the elements of a vector orthogonal to the line \( b+w_1x_1+w_2x_2=0 \). -In two dimensions we define the vectors \( \hat{x} =[x1,x2] \) and \( \hat{w}=[w1,w2] \). +In two dimensions we define the vectors \( \boldmath{x} =[x1,x2] \) and \( \boldmath{w}=[w1,w2] \). We can then rewrite the above equation as

 
$$ -\hat{w}^T\hat{x}+b=0. +\boldmath{w}^T\boldmath{x}+b=0. $$

 
@@ -248,15 +248,15 @@ $$

 
If we define a -matrix \( \hat{X}=\left[\hat{x}_1,\hat{x}_2,\dots, \hat{x}_p\right] \) -of dimension \( n\times p \), where \( n \) represents the observations for each feature and each vector \( x_i \) is a column vector of the matrix \( \hat{X} \), +matrix \( \boldmath{X}=\left[\boldmath{x}_1,\boldmath{x}_2,\dots, \boldmath{x}_p\right] \) +of dimension \( n\times p \), where \( n \) represents the observations for each feature and each vector \( x_i \) is a column vector of the matrix \( \boldmath{X} \),

 
$$ -\hat{x}_i = \begin{bmatrix} x_{i1} \\ x_{i2} \\ \dots \\ \dots \\ x_{ip} \end{bmatrix}. +\boldmath{x}_i = \begin{bmatrix} x_{i1} \\ x_{i2} \\ \dots \\ \dots \\ x_{ip} \end{bmatrix}. $$

 
-If the above condition is not met for a given vector \( \hat{x}_i \) we have +If the above condition is not met for a given vector \( \boldmath{x}_i \) we have

 
$$ b+w_1x_{i1}+w_2x_{i}2+\dots +w_px_{ip} >0, @@ -264,7 +264,7 @@ $$

 
if our output \( y_i=1 \). -In this case we say that \( \hat{x}_i \) lies on one of the sides of the hyperplane and if +In this case we say that \( \boldmath{x}_i \) lies on one of the sides of the hyperplane and if

 
$$ b+w_1x_{i1}+w_2x_{i}2+\dots +w_px_{ip} < 0, @@ -272,7 +272,7 @@ $$

 
for the class of observations \( y_i=-1 \), -then \( \hat{x}_i \) lies on the other side. +then \( \boldmath{x}_i \) lies on the other side.

Equivalently, for the two classes of observations we have @@ -321,20 +321,20 @@ for our data sample. Let us define the function

 
$$ -f(x) = \hat{w}^T\hat{x}+b = 0, +f(x) = \boldmath{w}^T\boldmath{x}+b = 0, $$

 
as the function that determines the line \( L \) that separates two classes (our two features), see the figure here.

-Any point defined by \( \hat{x}_i \) and \( \hat{x}_2 \) on the line \( L \) will satisfy \( \hat{w}^T(\hat{x}_1-\hat{x}_2)=0 \). +Any point defined by \( \boldmath{x}_i \) and \( \boldmath{x}_2 \) on the line \( L \) will satisfy \( \boldmath{w}^T(\boldmath{x}_1-\boldmath{x}_2)=0 \).

-The signed distance \( \delta \) from any point defined by a vector \( \hat{x} \) and a point \( \hat{x}_0 \) on the line \( L \) is then +The signed distance \( \delta \) from any point defined by a vector \( \boldmath{x} \) and a point \( \boldmath{x}_0 \) on the line \( L \) is then

 
$$ -\delta = \frac{1}{\vert\vert \hat{w}\vert\vert}(\hat{w}^T\hat{x}+b). +\delta = \frac{1}{\vert\vert \boldmath{w}\vert\vert}(\boldmath{w}^T\boldmath{x}+b). $$

 
@@ -344,18 +344,18 @@ $$

First attempt at a minimization approach

-How do we find the parameter \( b \) and the vector \( \hat{w} \)? What we could +How do we find the parameter \( b \) and the vector \( \boldmath{w} \)? What we could do is to define a cost function which now contains the set of all misclassified points \( M \) and attempt to minimize this function

 
$$ -C(\hat{w},b) = -\sum_{i\in M} y_i(\hat{w}^T\hat{x}_i+b). +C(\boldmath{w},b) = -\sum_{i\in M} y_i(\boldmath{w}^T\boldmath{x}_i+b). $$

 

-We could now for example define all values \( y_i =1 \) as misclassified in case we have \( \hat{w}^T\hat{x}_i+b < 0 \) and the opposite if we have \( y_i=-1 \). Taking the derivatives gives us +We could now for example define all values \( y_i =1 \) as misclassified in case we have \( \boldmath{w}^T\boldmath{x}_i+b < 0 \) and the opposite if we have \( y_i=-1 \). Taking the derivatives gives us

 
$$ \frac{\partial C}{\partial b} = -\sum_{i\in M} y_i, @@ -365,7 +365,7 @@ $$ and

 
$$ -\frac{\partial C}{\partial \hat{w}} = -\sum_{i\in M} y_ix_i. +\frac{\partial C}{\partial \boldmath{w}} = -\sum_{i\in M} y_ix_i. $$

 
@@ -385,7 +385,7 @@ $$ and

 
$$ -\hat{w} \leftarrow \hat{w} +\eta \frac{\partial C}{\partial \hat{w}}, +\boldmath{w} \leftarrow \boldmath{w} +\eta \frac{\partial C}{\partial \boldmath{w}}, $$

 
@@ -411,12 +411,12 @@ A better approach is rather to try to define a large margin between the two classes (if they are well separated from the beginning).

-Thus, we wish to find a margin \( M \) with \( \hat{w} \) normalized to -\( \vert\vert \hat{w}\vert\vert =1 \) subject to the condition +Thus, we wish to find a margin \( M \) with \( \boldmath{w} \) normalized to +\( \vert\vert \boldmath{w}\vert\vert =1 \) subject to the condition

 
$$ -y_i(\hat{w}^T\hat{x}_i+b) \geq M \hspace{0.1cm}\forall i=1,2,\dots, p. +y_i(\boldmath{w}^T\boldmath{x}_i+b) \geq M \hspace{0.1cm}\forall i=1,2,\dots, p. $$

 
@@ -426,27 +426,27 @@ All points are thus at a signed distance from the decision boundary defined by t We seek thus the largest value \( M \) defined by

 
$$ -\frac{1}{\vert \vert \hat{w}\vert\vert}y_i(\hat{w}^T\hat{x}_i+b) \geq M \hspace{0.1cm}\forall i=1,2,\dots, n, +\frac{1}{\vert \vert \boldmath{w}\vert\vert}y_i(\boldmath{w}^T\boldmath{x}_i+b) \geq M \hspace{0.1cm}\forall i=1,2,\dots, n, $$

 
or just

 
$$ -y_i(\hat{w}^T\hat{x}_i+b) \geq M\vert \vert \hat{w}\vert\vert \hspace{0.1cm}\forall i. +y_i(\boldmath{w}^T\boldmath{x}_i+b) \geq M\vert \vert \boldmath{w}\vert\vert \hspace{0.1cm}\forall i. $$

 
-If we scale the equation so that \( \vert \vert \hat{w}\vert\vert = 1/M \), we have to find the minimum of -\( \hat{w}^T\hat{w}=\vert \vert \hat{w}\vert\vert \) (the norm) subject to the condition +If we scale the equation so that \( \vert \vert \boldmath{w}\vert\vert = 1/M \), we have to find the minimum of +\( \boldmath{w}^T\boldmath{w}=\vert \vert \boldmath{w}\vert\vert \) (the norm) subject to the condition

 
$$ -y_i(\hat{w}^T\hat{x}_i+b) \geq 1 \hspace{0.1cm}\forall i. +y_i(\boldmath{w}^T\boldmath{x}_i+b) \geq 1 \hspace{0.1cm}\forall i. $$

 

-We have thus defined our margin as the invers of the norm of \( \hat{w} \). We want to minimize the norm in order to have a as large as possible margin \( M \). Before we proceed, we need to remind ourselves about Lagrangian multipliers. +We have thus defined our margin as the invers of the norm of \( \boldmath{w} \). We want to minimize the norm in order to have a as large as possible margin \( M \). Before we proceed, we need to remind ourselves about Lagrangian multipliers. @@ -572,14 +572,14 @@ $$ In order to solve the above problem, we define the following Lagrangian function to be minimized

 
$$ -{\cal L}(\lambda,b,\hat{w})=\frac{1}{2}\hat{w}^T\hat{w}-\sum_{i=1}^n\lambda_i\left[y_i(\hat{w}^T\hat{x}_i+b)-1\right], +{\cal L}(\lambda,b,\boldmath{w})=\frac{1}{2}\boldmath{w}^T\boldmath{w}-\sum_{i=1}^n\lambda_i\left[y_i(\boldmath{w}^T\boldmath{x}_i+b)-1\right], $$

 
where \( \lambda_i \) is a so-called Lagrange multiplier subject to the condition \( \lambda_i \geq 0 \).

-Taking the derivatives with respect to \( b \) and \( \hat{w} \) we obtain +Taking the derivatives with respect to \( b \) and \( \boldmath{w} \) we obtain

 
$$ \frac{\partial {\cal L}}{\partial b} = -\sum_{i} \lambda_iy_i=0, @@ -589,14 +589,14 @@ $$ and

 
$$ -\frac{\partial {\cal L}}{\partial \hat{w}} = 0 = \hat{w}-\sum_{i} \lambda_iy_i\hat{x}_i. +\frac{\partial {\cal L}}{\partial \boldmath{w}} = 0 = \boldmath{w}-\sum_{i} \lambda_iy_i\boldmath{x}_i. $$

 
Inserting these constraints into the equation for \( {\cal L} \) we obtain

 
$$ -{\cal L}=\sum_i\lambda_i-\frac{1}{2}\sum_{ij}^n\lambda_i\lambda_jy_iy_j\hat{x}_i^T\hat{x}_j, +{\cal L}=\sum_i\lambda_i-\frac{1}{2}\sum_{ij}^n\lambda_i\lambda_jy_iy_j\boldmath{x}_i^T\boldmath{x}_j, $$

 
@@ -604,18 +604,18 @@ subject to the constraints \( \lambda_i\geq 0 \) and \( \sum_i\lambda_iy_i=0 \). We must in addition satisfy the Karush-Kuhn-Tucker (KKT) condition

 
$$ -\lambda_i\left[y_i(\hat{w}^T\hat{x}_i+b) -1\right] \hspace{0.1cm}\forall i. +\lambda_i\left[y_i(\boldmath{w}^T\boldmath{x}_i+b) -1\right] \hspace{0.1cm}\forall i. $$

 

    -

  1. If \( \lambda_i > 0 \), then \( y_i(\hat{w}^T\hat{x}_i+b)=1 \) and we say that \( x_i \) is on the boundary.
  2. -

  3. If \( y_i(\hat{w}^T\hat{x}_i+b)> 1 \), we say \( x_i \) is not on the boundary and we set \( \lambda_i=0 \).
  4. +

  5. If \( \lambda_i > 0 \), then \( y_i(\boldmath{w}^T\boldmath{x}_i+b)=1 \) and we say that \( x_i \) is on the boundary.
  6. +

  7. If \( y_i(\boldmath{w}^T\boldmath{x}_i+b)> 1 \), we say \( x_i \) is not on the boundary and we set \( \lambda_i=0 \).

-When \( \lambda_i > 0 \), the vectors \( \hat{x}_i \) are called support vectors. They are the vectors closest to the line (or hyperplane) and define the margin \( M \). +When \( \lambda_i > 0 \), the vectors \( \boldmath{x}_i \) are called support vectors. They are the vectors closest to the line (or hyperplane) and define the margin \( M \). @@ -626,24 +626,24 @@ When \( \lambda_i > 0 \), the vectors \( \hat{x}_i \) are called support vectors We can rewrite

 
$$ -{\cal L}=\sum_i\lambda_i-\frac{1}{2}\sum_{ij}^n\lambda_i\lambda_jy_iy_j\hat{x}_i^T\hat{x}_j, +{\cal L}=\sum_i\lambda_i-\frac{1}{2}\sum_{ij}^n\lambda_i\lambda_jy_iy_j\boldmath{x}_i^T\boldmath{x}_j, $$

 
and its constraints in terms of a matrix-vector problem where we minimize w.r.t. \( \lambda \) the following problem

 
$$ -\frac{1}{2} \hat{\lambda}^T\begin{bmatrix} y_1y_1\hat{x}_1^T\hat{x}_1 & y_1y_2\hat{x}_1^T\hat{x}_2 & \dots & \dots & y_1y_n\hat{x}_1^T\hat{x}_n \\ -y_2y_1\hat{x}_2^T\hat{x}_1 & y_2y_2\hat{x}_2^T\hat{x}_2 & \dots & \dots & y_1y_n\hat{x}_2^T\hat{x}_n \\ +\frac{1}{2} \boldmath{\lambda}^T\begin{bmatrix} y_1y_1\boldmath{x}_1^T\boldmath{x}_1 & y_1y_2\boldmath{x}_1^T\boldmath{x}_2 & \dots & \dots & y_1y_n\boldmath{x}_1^T\boldmath{x}_n \\ +y_2y_1\boldmath{x}_2^T\boldmath{x}_1 & y_2y_2\boldmath{x}_2^T\boldmath{x}_2 & \dots & \dots & y_1y_n\boldmath{x}_2^T\boldmath{x}_n \\ \dots & \dots & \dots & \dots & \dots \\ \dots & \dots & \dots & \dots & \dots \\ -y_ny_1\hat{x}_n^T\hat{x}_1 & y_ny_2\hat{x}_n^T\hat{x}_2 & \dots & \dots & y_ny_n\hat{x}_n^T\hat{x}_n \\ -\end{bmatrix}\hat{\lambda}-\mathbb{1}\hat{\lambda}, +y_ny_1\boldmath{x}_n^T\boldmath{x}_1 & y_ny_2\boldmath{x}_n^T\boldmath{x}_2 & \dots & \dots & y_ny_n\boldmath{x}_n^T\boldmath{x}_n \\ +\end{bmatrix}\boldmath{\lambda}-\mathbb{1}\boldmath{\lambda}, $$

 
-subject to \( \hat{y}^T\hat{\lambda}=0 \). Here we defined the vectors \( \hat{\lambda} =[\lambda_1,\lambda_2,\dots,\lambda_n] \) and -\( \hat{y}=[y_1,y_2,\dots,y_n] \). +subject to \( \boldmath{y}^T\boldmath{\lambda}=0 \). Here we defined the vectors \( \boldmath{\lambda} =[\lambda_1,\lambda_2,\dots,\lambda_n] \) and +\( \boldmath{y}=[y_1,y_2,\dots,y_n] \). @@ -655,28 +655,35 @@ Solving the above problem, yields the values of \( \lambda_i \). To find the coefficients of your hyperplane we need simply to compute

 
$$ -\hat{w}=\sum_{i} \lambda_iy_i\hat{x}_i. +\boldmath{w}=\sum_{i} \lambda_iy_i\boldmath{x}_i. $$

 
-With our vector \( \hat{w} \) we can in turn find the value of the intercept \( b \) (here in two dimensions) via +With our vector \( \boldmath{w} \) we can in turn find the value of the intercept \( b \) (here in two dimensions) via

 
$$ -y_i(\hat{w}^T\hat{x}_i+b)=1, +y_i(\boldmath{w}^T\boldmath{x}_i+b)=1, $$

 
resulting in

 
$$ -b = \frac{1}{y_i}-\hat{w}^T\hat{x}_i. +b = \frac{1}{y_i}-\boldmath{w}^T\boldmath{x}_i, +$$ +

 
+ +or if we write it out in terms of the support vectors only, with \( N_s \) being their number, we have +

 
+$$ +b = \frac{1}{N_s}\sum_{j\in N_s}\left(y_j-\sum_{i=1}^n\lambda_iy_i\boldmath{x}_i^T\boldmath{x}_j\right). $$

 
With our hyperplane coefficients we can use our classifier to assign any observation by simply using

 
$$ -y_i = \mathrm{sign}(\hat{w}^T\hat{x}_i+b). +y_i = \mathrm{sign}(\boldmath{w}^T\boldmath{x}_i+b). $$

 
@@ -697,24 +704,24 @@ so-called kernel approach, is to allow a kind of slack in the sense that we allow some points to be on the wrong side of the margin.

-We introduce thus the so-called slack variables \( \hat{\xi} =[\xi_1,x_2,\dots,x_n] \) and +We introduce thus the so-called slack variables \( \boldmath{\xi} =[\xi_1,x_2,\dots,x_n] \) and modify our previous equation

 
$$ -y_i(\hat{w}^T\hat{x}_i+b)=1, +y_i(\boldmath{w}^T\boldmath{x}_i+b)=1, $$

 
to

 
$$ -y_i(\hat{w}^T\hat{x}_i+b)=1-\xi_i, +y_i(\boldmath{w}^T\boldmath{x}_i+b)=1-\xi_i, $$

 
with the requirement \( \xi_i\geq 0 \). The total violation is now \( \sum_i\xi \). The value \( \xi_i \) in the constraint the last constraint corresponds to the amount by which the prediction -\( y_i(\hat{w}^T\hat{x}_i+b)=1 \) is on the wrong side of its margin. Hence by bounding the sum \( \sum_i \xi_i \), +\( y_i(\boldmath{w}^T\boldmath{x}_i+b)=1 \) is on the wrong side of its margin. Hence by bounding the sum \( \sum_i \xi_i \), we bound the total amount by which predictions fall on the wrong side of their margins.

@@ -730,21 +737,21 @@ misclassifications. This has in turn the consequences that we change our optmization problem to finding the minimum of

 
$$ -{\cal L}=\frac{1}{2}\hat{w}^T\hat{w}-\sum_{i=1}^n\lambda_i\left[y_i(\hat{w}^T\hat{x}_i+b)-(1-\xi_)\right]+C\sum_{i=1}^n\xi_i-\sum_{i=1}^n\gamma_i\xi_i, +{\cal L}=\frac{1}{2}\boldmath{w}^T\boldmath{w}-\sum_{i=1}^n\lambda_i\left[y_i(\boldmath{w}^T\boldmath{x}_i+b)-(1-\xi_)\right]+C\sum_{i=1}^n\xi_i-\sum_{i=1}^n\gamma_i\xi_i, $$

 
subject to

 
$$ -y_i(\hat{w}^T\hat{x}_i+b)=1-\xi_i \hspace{0.1cm}\forall i, +y_i(\boldmath{w}^T\boldmath{x}_i+b)=1-\xi_i \hspace{0.1cm}\forall i, $$

 
with the requirement \( \xi_i\geq 0 \).

-Taking the derivatives with respect to \( b \) and \( \hat{w} \) we obtain +Taking the derivatives with respect to \( b \) and \( \boldmath{w} \) we obtain

 
$$ \frac{\partial {\cal L}}{\partial b} = -\sum_{i} \lambda_iy_i=0, @@ -754,7 +761,7 @@ $$ and

 
$$ -\frac{\partial {\cal L}}{\partial \hat{w}} = 0 = \hat{w}-\sum_{i} \lambda_iy_i\hat{x}_i, +\frac{\partial {\cal L}}{\partial \boldmath{w}} = 0 = \boldmath{w}-\sum_{i} \lambda_iy_i\boldmath{x}_i, $$

 
@@ -768,7 +775,7 @@ $$ Inserting these constraints into the equation for \( {\cal L} \) we obtain the same equation as before

 
$$ -{\cal L}=\sum_i\lambda_i-\frac{1}{2}\sum_{ij}^n\lambda_i\lambda_jy_iy_j\hat{x}_i^T\hat{x}_j, +{\cal L}=\sum_i\lambda_i-\frac{1}{2}\sum_{ij}^n\lambda_i\lambda_jy_iy_j\boldmath{x}_i^T\boldmath{x}_j, $$

 
@@ -776,7 +783,7 @@ but now subject to the constraints \( \lambda_i\geq 0 \), \( \sum_i\lambda_iy_i= We must in addition satisfy the Karush-Kuhn-Tucker condition which now reads

 
$$ -\lambda_i\left[y_i(\hat{w}^T\hat{x}_i+b) -(1-\xi_)\right]=0 \hspace{0.1cm}\forall i, +\lambda_i\left[y_i(\boldmath{w}^T\boldmath{x}_i+b) -(1-\xi_)\right]=0 \hspace{0.1cm}\forall i, $$

 
@@ -789,7 +796,7 @@ $$ and

 
$$ -y_i(\hat{w}^T\hat{x}_i+b) -(1-\xi_) \geq 0 \hspace{0.1cm}\forall i. +y_i(\boldmath{w}^T\boldmath{x}_i+b) -(1-\xi_) \geq 0 \hspace{0.1cm}\forall i. $$

 
diff --git a/doc/pub/svm/html/svm-solarized.html b/doc/pub/svm/html/svm-solarized.html index c13378dd7..6a5149047 100644 --- a/doc/pub/svm/html/svm-solarized.html +++ b/doc/pub/svm/html/svm-solarized.html @@ -164,10 +164,10 @@ $$ where \( b \) is the intercept and \( w_1 \) and \( w_2 \) define the elements of a vector orthogonal to the line \( b+w_1x_1+w_2x_2=0 \). -In two dimensions we define the vectors \( \hat{x} =[x1,x2] \) and \( \hat{w}=[w1,w2] \). +In two dimensions we define the vectors \( \boldmath{x} =[x1,x2] \) and \( \boldmath{w}=[w1,w2] \). We can then rewrite the above equation as $$ -\hat{w}^T\hat{x}+b=0. +\boldmath{w}^T\boldmath{x}+b=0. $$

@@ -183,25 +183,25 @@ b+wx_1+w_2x_2+\dots +w_px_p=0. $$ If we define a -matrix \( \hat{X}=\left[\hat{x}_1,\hat{x}_2,\dots, \hat{x}_p\right] \) -of dimension \( n\times p \), where \( n \) represents the observations for each feature and each vector \( x_i \) is a column vector of the matrix \( \hat{X} \), +matrix \( \boldmath{X}=\left[\boldmath{x}_1,\boldmath{x}_2,\dots, \boldmath{x}_p\right] \) +of dimension \( n\times p \), where \( n \) represents the observations for each feature and each vector \( x_i \) is a column vector of the matrix \( \boldmath{X} \), $$ -\hat{x}_i = \begin{bmatrix} x_{i1} \\ x_{i2} \\ \dots \\ \dots \\ x_{ip} \end{bmatrix}. +\boldmath{x}_i = \begin{bmatrix} x_{i1} \\ x_{i2} \\ \dots \\ \dots \\ x_{ip} \end{bmatrix}. $$ -If the above condition is not met for a given vector \( \hat{x}_i \) we have +If the above condition is not met for a given vector \( \boldmath{x}_i \) we have $$ b+w_1x_{i1}+w_2x_{i}2+\dots +w_px_{ip} >0, $$ if our output \( y_i=1 \). -In this case we say that \( \hat{x}_i \) lies on one of the sides of the hyperplane and if +In this case we say that \( \boldmath{x}_i \) lies on one of the sides of the hyperplane and if $$ b+w_1x_{i1}+w_2x_{i}2+\dots +w_px_{ip} < 0, $$ for the class of observations \( y_i=-1 \), -then \( \hat{x}_i \) lies on the other side. +then \( \boldmath{x}_i \) lies on the other side.

Equivalently, for the two classes of observations we have @@ -247,18 +247,18 @@ for our data sample.

Let us define the function $$ -f(x) = \hat{w}^T\hat{x}+b = 0, +f(x) = \boldmath{w}^T\boldmath{x}+b = 0, $$ as the function that determines the line \( L \) that separates two classes (our two features), see the figure here.

-Any point defined by \( \hat{x}_i \) and \( \hat{x}_2 \) on the line \( L \) will satisfy \( \hat{w}^T(\hat{x}_1-\hat{x}_2)=0 \). +Any point defined by \( \boldmath{x}_i \) and \( \boldmath{x}_2 \) on the line \( L \) will satisfy \( \boldmath{w}^T(\boldmath{x}_1-\boldmath{x}_2)=0 \).

-The signed distance \( \delta \) from any point defined by a vector \( \hat{x} \) and a point \( \hat{x}_0 \) on the line \( L \) is then +The signed distance \( \delta \) from any point defined by a vector \( \boldmath{x} \) and a point \( \boldmath{x}_0 \) on the line \( L \) is then $$ -\delta = \frac{1}{\vert\vert \hat{w}\vert\vert}(\hat{w}^T\hat{x}+b). +\delta = \frac{1}{\vert\vert \boldmath{w}\vert\vert}(\boldmath{w}^T\boldmath{x}+b). $$

@@ -267,23 +267,23 @@ $$

First attempt at a minimization approach

-How do we find the parameter \( b \) and the vector \( \hat{w} \)? What we could +How do we find the parameter \( b \) and the vector \( \boldmath{w} \)? What we could do is to define a cost function which now contains the set of all misclassified points \( M \) and attempt to minimize this function $$ -C(\hat{w},b) = -\sum_{i\in M} y_i(\hat{w}^T\hat{x}_i+b). +C(\boldmath{w},b) = -\sum_{i\in M} y_i(\boldmath{w}^T\boldmath{x}_i+b). $$

-We could now for example define all values \( y_i =1 \) as misclassified in case we have \( \hat{w}^T\hat{x}_i+b < 0 \) and the opposite if we have \( y_i=-1 \). Taking the derivatives gives us +We could now for example define all values \( y_i =1 \) as misclassified in case we have \( \boldmath{w}^T\boldmath{x}_i+b < 0 \) and the opposite if we have \( y_i=-1 \). Taking the derivatives gives us $$ \frac{\partial C}{\partial b} = -\sum_{i\in M} y_i, $$ and $$ -\frac{\partial C}{\partial \hat{w}} = -\sum_{i\in M} y_ix_i. +\frac{\partial C}{\partial \boldmath{w}} = -\sum_{i\in M} y_ix_i. $$

@@ -299,7 +299,7 @@ $$ and $$ -\hat{w} \leftarrow \hat{w} +\eta \frac{\partial C}{\partial \hat{w}}, +\boldmath{w} \leftarrow \boldmath{w} +\eta \frac{\partial C}{\partial \boldmath{w}}, $$ where \( \eta \) is our by now well-known learning rate. @@ -324,11 +324,11 @@ A better approach is rather to try to define a large margin between the two classes (if they are well separated from the beginning).

-Thus, we wish to find a margin \( M \) with \( \hat{w} \) normalized to -\( \vert\vert \hat{w}\vert\vert =1 \) subject to the condition +Thus, we wish to find a margin \( M \) with \( \boldmath{w} \) normalized to +\( \vert\vert \boldmath{w}\vert\vert =1 \) subject to the condition $$ -y_i(\hat{w}^T\hat{x}_i+b) \geq M \hspace{0.1cm}\forall i=1,2,\dots, p. +y_i(\boldmath{w}^T\boldmath{x}_i+b) \geq M \hspace{0.1cm}\forall i=1,2,\dots, p. $$ All points are thus at a signed distance from the decision boundary defined by the line \( L \). The parameters \( b \) and \( w_1 \) and \( w_2 \) define this line. @@ -336,22 +336,22 @@ All points are thus at a signed distance from the decision boundary defined by t

We seek thus the largest value \( M \) defined by $$ -\frac{1}{\vert \vert \hat{w}\vert\vert}y_i(\hat{w}^T\hat{x}_i+b) \geq M \hspace{0.1cm}\forall i=1,2,\dots, n, +\frac{1}{\vert \vert \boldmath{w}\vert\vert}y_i(\boldmath{w}^T\boldmath{x}_i+b) \geq M \hspace{0.1cm}\forall i=1,2,\dots, n, $$ or just $$ -y_i(\hat{w}^T\hat{x}_i+b) \geq M\vert \vert \hat{w}\vert\vert \hspace{0.1cm}\forall i. +y_i(\boldmath{w}^T\boldmath{x}_i+b) \geq M\vert \vert \boldmath{w}\vert\vert \hspace{0.1cm}\forall i. $$ -If we scale the equation so that \( \vert \vert \hat{w}\vert\vert = 1/M \), we have to find the minimum of -\( \hat{w}^T\hat{w}=\vert \vert \hat{w}\vert\vert \) (the norm) subject to the condition +If we scale the equation so that \( \vert \vert \boldmath{w}\vert\vert = 1/M \), we have to find the minimum of +\( \boldmath{w}^T\boldmath{w}=\vert \vert \boldmath{w}\vert\vert \) (the norm) subject to the condition $$ -y_i(\hat{w}^T\hat{x}_i+b) \geq 1 \hspace{0.1cm}\forall i. +y_i(\boldmath{w}^T\boldmath{x}_i+b) \geq 1 \hspace{0.1cm}\forall i. $$

-We have thus defined our margin as the invers of the norm of \( \hat{w} \). We want to minimize the norm in order to have a as large as possible margin \( M \). Before we proceed, we need to remind ourselves about Lagrangian multipliers. +We have thus defined our margin as the invers of the norm of \( \boldmath{w} \). We want to minimize the norm in order to have a as large as possible margin \( M \). Before we proceed, we need to remind ourselves about Lagrangian multipliers.











@@ -452,40 +452,40 @@ $$

Setting up the problem

In order to solve the above problem, we define the following Lagrangian function to be minimized $$ -{\cal L}(\lambda,b,\hat{w})=\frac{1}{2}\hat{w}^T\hat{w}-\sum_{i=1}^n\lambda_i\left[y_i(\hat{w}^T\hat{x}_i+b)-1\right], +{\cal L}(\lambda,b,\boldmath{w})=\frac{1}{2}\boldmath{w}^T\boldmath{w}-\sum_{i=1}^n\lambda_i\left[y_i(\boldmath{w}^T\boldmath{x}_i+b)-1\right], $$ where \( \lambda_i \) is a so-called Lagrange multiplier subject to the condition \( \lambda_i \geq 0 \).

-Taking the derivatives with respect to \( b \) and \( \hat{w} \) we obtain +Taking the derivatives with respect to \( b \) and \( \boldmath{w} \) we obtain $$ \frac{\partial {\cal L}}{\partial b} = -\sum_{i} \lambda_iy_i=0, $$ and $$ -\frac{\partial {\cal L}}{\partial \hat{w}} = 0 = \hat{w}-\sum_{i} \lambda_iy_i\hat{x}_i. +\frac{\partial {\cal L}}{\partial \boldmath{w}} = 0 = \boldmath{w}-\sum_{i} \lambda_iy_i\boldmath{x}_i. $$ Inserting these constraints into the equation for \( {\cal L} \) we obtain $$ -{\cal L}=\sum_i\lambda_i-\frac{1}{2}\sum_{ij}^n\lambda_i\lambda_jy_iy_j\hat{x}_i^T\hat{x}_j, +{\cal L}=\sum_i\lambda_i-\frac{1}{2}\sum_{ij}^n\lambda_i\lambda_jy_iy_j\boldmath{x}_i^T\boldmath{x}_j, $$ subject to the constraints \( \lambda_i\geq 0 \) and \( \sum_i\lambda_iy_i=0 \). We must in addition satisfy the Karush-Kuhn-Tucker (KKT) condition $$ -\lambda_i\left[y_i(\hat{w}^T\hat{x}_i+b) -1\right] \hspace{0.1cm}\forall i. +\lambda_i\left[y_i(\boldmath{w}^T\boldmath{x}_i+b) -1\right] \hspace{0.1cm}\forall i. $$

    -
  1. If \( \lambda_i > 0 \), then \( y_i(\hat{w}^T\hat{x}_i+b)=1 \) and we say that \( x_i \) is on the boundary.
  2. -
  3. If \( y_i(\hat{w}^T\hat{x}_i+b)> 1 \), we say \( x_i \) is not on the boundary and we set \( \lambda_i=0 \).
  4. +
  5. If \( \lambda_i > 0 \), then \( y_i(\boldmath{w}^T\boldmath{x}_i+b)=1 \) and we say that \( x_i \) is on the boundary.
  6. +
  7. If \( y_i(\boldmath{w}^T\boldmath{x}_i+b)> 1 \), we say \( x_i \) is not on the boundary and we set \( \lambda_i=0 \).
-When \( \lambda_i > 0 \), the vectors \( \hat{x}_i \) are called support vectors. They are the vectors closest to the line (or hyperplane) and define the margin \( M \). +When \( \lambda_i > 0 \), the vectors \( \boldmath{x}_i \) are called support vectors. They are the vectors closest to the line (or hyperplane) and define the margin \( M \).











@@ -495,21 +495,21 @@ When \( \lambda_i > 0 \), the vectors \( \hat{x}_i \) are called support vectors

We can rewrite $$ -{\cal L}=\sum_i\lambda_i-\frac{1}{2}\sum_{ij}^n\lambda_i\lambda_jy_iy_j\hat{x}_i^T\hat{x}_j, +{\cal L}=\sum_i\lambda_i-\frac{1}{2}\sum_{ij}^n\lambda_i\lambda_jy_iy_j\boldmath{x}_i^T\boldmath{x}_j, $$ and its constraints in terms of a matrix-vector problem where we minimize w.r.t. \( \lambda \) the following problem $$ -\frac{1}{2} \hat{\lambda}^T\begin{bmatrix} y_1y_1\hat{x}_1^T\hat{x}_1 & y_1y_2\hat{x}_1^T\hat{x}_2 & \dots & \dots & y_1y_n\hat{x}_1^T\hat{x}_n \\ -y_2y_1\hat{x}_2^T\hat{x}_1 & y_2y_2\hat{x}_2^T\hat{x}_2 & \dots & \dots & y_1y_n\hat{x}_2^T\hat{x}_n \\ +\frac{1}{2} \boldmath{\lambda}^T\begin{bmatrix} y_1y_1\boldmath{x}_1^T\boldmath{x}_1 & y_1y_2\boldmath{x}_1^T\boldmath{x}_2 & \dots & \dots & y_1y_n\boldmath{x}_1^T\boldmath{x}_n \\ +y_2y_1\boldmath{x}_2^T\boldmath{x}_1 & y_2y_2\boldmath{x}_2^T\boldmath{x}_2 & \dots & \dots & y_1y_n\boldmath{x}_2^T\boldmath{x}_n \\ \dots & \dots & \dots & \dots & \dots \\ \dots & \dots & \dots & \dots & \dots \\ -y_ny_1\hat{x}_n^T\hat{x}_1 & y_ny_2\hat{x}_n^T\hat{x}_2 & \dots & \dots & y_ny_n\hat{x}_n^T\hat{x}_n \\ -\end{bmatrix}\hat{\lambda}-\mathbb{1}\hat{\lambda}, +y_ny_1\boldmath{x}_n^T\boldmath{x}_1 & y_ny_2\boldmath{x}_n^T\boldmath{x}_2 & \dots & \dots & y_ny_n\boldmath{x}_n^T\boldmath{x}_n \\ +\end{bmatrix}\boldmath{\lambda}-\mathbb{1}\boldmath{\lambda}, $$ -subject to \( \hat{y}^T\hat{\lambda}=0 \). Here we defined the vectors \( \hat{\lambda} =[\lambda_1,\lambda_2,\dots,\lambda_n] \) and -\( \hat{y}=[y_1,y_2,\dots,y_n] \). +subject to \( \boldmath{y}^T\boldmath{\lambda}=0 \). Here we defined the vectors \( \boldmath{\lambda} =[\lambda_1,\lambda_2,\dots,\lambda_n] \) and +\( \boldmath{y}=[y_1,y_2,\dots,y_n] \).











@@ -520,22 +520,27 @@ subject to \( \hat{y}^T\hat{\lambda}=0 \). Here we defined the vectors \( \hat{\ Solving the above problem, yields the values of \( \lambda_i \). To find the coefficients of your hyperplane we need simply to compute $$ -\hat{w}=\sum_{i} \lambda_iy_i\hat{x}_i. +\boldmath{w}=\sum_{i} \lambda_iy_i\boldmath{x}_i. $$ -With our vector \( \hat{w} \) we can in turn find the value of the intercept \( b \) (here in two dimensions) via +With our vector \( \boldmath{w} \) we can in turn find the value of the intercept \( b \) (here in two dimensions) via $$ -y_i(\hat{w}^T\hat{x}_i+b)=1, +y_i(\boldmath{w}^T\boldmath{x}_i+b)=1, $$ resulting in $$ -b = \frac{1}{y_i}-\hat{w}^T\hat{x}_i. +b = \frac{1}{y_i}-\boldmath{w}^T\boldmath{x}_i, +$$ + +or if we write it out in terms of the support vectors only, with \( N_s \) being their number, we have +$$ +b = \frac{1}{N_s}\sum_{j\in N_s}\left(y_j-\sum_{i=1}^n\lambda_iy_i\boldmath{x}_i^T\boldmath{x}_j\right). $$ With our hyperplane coefficients we can use our classifier to assign any observation by simply using $$ -y_i = \mathrm{sign}(\hat{w}^T\hat{x}_i+b). +y_i = \mathrm{sign}(\boldmath{w}^T\boldmath{x}_i+b). $$ Below we discuss how to find the optimal values of \( \lambda_i \). Before we proceed however, we discuss now the so-called soft classifier. @@ -555,20 +560,20 @@ so-called kernel approach, is to allow a kind of slack in the sense that we allow some points to be on the wrong side of the margin.

-We introduce thus the so-called slack variables \( \hat{\xi} =[\xi_1,x_2,\dots,x_n] \) and +We introduce thus the so-called slack variables \( \boldmath{\xi} =[\xi_1,x_2,\dots,x_n] \) and modify our previous equation $$ -y_i(\hat{w}^T\hat{x}_i+b)=1, +y_i(\boldmath{w}^T\boldmath{x}_i+b)=1, $$ to $$ -y_i(\hat{w}^T\hat{x}_i+b)=1-\xi_i, +y_i(\boldmath{w}^T\boldmath{x}_i+b)=1-\xi_i, $$ with the requirement \( \xi_i\geq 0 \). The total violation is now \( \sum_i\xi \). The value \( \xi_i \) in the constraint the last constraint corresponds to the amount by which the prediction -\( y_i(\hat{w}^T\hat{x}_i+b)=1 \) is on the wrong side of its margin. Hence by bounding the sum \( \sum_i \xi_i \), +\( y_i(\boldmath{w}^T\boldmath{x}_i+b)=1 \) is on the wrong side of its margin. Hence by bounding the sum \( \sum_i \xi_i \), we bound the total amount by which predictions fall on the wrong side of their margins.

@@ -583,25 +588,25 @@ misclassifications.

This has in turn the consequences that we change our optmization problem to finding the minimum of $$ -{\cal L}=\frac{1}{2}\hat{w}^T\hat{w}-\sum_{i=1}^n\lambda_i\left[y_i(\hat{w}^T\hat{x}_i+b)-(1-\xi_)\right]+C\sum_{i=1}^n\xi_i-\sum_{i=1}^n\gamma_i\xi_i, +{\cal L}=\frac{1}{2}\boldmath{w}^T\boldmath{w}-\sum_{i=1}^n\lambda_i\left[y_i(\boldmath{w}^T\boldmath{x}_i+b)-(1-\xi_)\right]+C\sum_{i=1}^n\xi_i-\sum_{i=1}^n\gamma_i\xi_i, $$ subject to $$ -y_i(\hat{w}^T\hat{x}_i+b)=1-\xi_i \hspace{0.1cm}\forall i, +y_i(\boldmath{w}^T\boldmath{x}_i+b)=1-\xi_i \hspace{0.1cm}\forall i, $$ with the requirement \( \xi_i\geq 0 \).

-Taking the derivatives with respect to \( b \) and \( \hat{w} \) we obtain +Taking the derivatives with respect to \( b \) and \( \boldmath{w} \) we obtain $$ \frac{\partial {\cal L}}{\partial b} = -\sum_{i} \lambda_iy_i=0, $$ and $$ -\frac{\partial {\cal L}}{\partial \hat{w}} = 0 = \hat{w}-\sum_{i} \lambda_iy_i\hat{x}_i, +\frac{\partial {\cal L}}{\partial \boldmath{w}} = 0 = \boldmath{w}-\sum_{i} \lambda_iy_i\boldmath{x}_i, $$ and @@ -611,13 +616,13 @@ $$ Inserting these constraints into the equation for \( {\cal L} \) we obtain the same equation as before $$ -{\cal L}=\sum_i\lambda_i-\frac{1}{2}\sum_{ij}^n\lambda_i\lambda_jy_iy_j\hat{x}_i^T\hat{x}_j, +{\cal L}=\sum_i\lambda_i-\frac{1}{2}\sum_{ij}^n\lambda_i\lambda_jy_iy_j\boldmath{x}_i^T\boldmath{x}_j, $$ but now subject to the constraints \( \lambda_i\geq 0 \), \( \sum_i\lambda_iy_i=0 \) and \( 0\leq\lambda_i \leq C \). We must in addition satisfy the Karush-Kuhn-Tucker condition which now reads $$ -\lambda_i\left[y_i(\hat{w}^T\hat{x}_i+b) -(1-\xi_)\right]=0 \hspace{0.1cm}\forall i, +\lambda_i\left[y_i(\boldmath{w}^T\boldmath{x}_i+b) -(1-\xi_)\right]=0 \hspace{0.1cm}\forall i, $$ $$ @@ -626,7 +631,7 @@ $$ and $$ -y_i(\hat{w}^T\hat{x}_i+b) -(1-\xi_) \geq 0 \hspace{0.1cm}\forall i. +y_i(\boldmath{w}^T\boldmath{x}_i+b) -(1-\xi_) \geq 0 \hspace{0.1cm}\forall i. $$

diff --git a/doc/pub/svm/html/svm.html b/doc/pub/svm/html/svm.html index 03207f3a0..00fdbf97b 100644 --- a/doc/pub/svm/html/svm.html +++ b/doc/pub/svm/html/svm.html @@ -169,10 +169,10 @@ $$ where \( b \) is the intercept and \( w_1 \) and \( w_2 \) define the elements of a vector orthogonal to the line \( b+w_1x_1+w_2x_2=0 \). -In two dimensions we define the vectors \( \hat{x} =[x1,x2] \) and \( \hat{w}=[w1,w2] \). +In two dimensions we define the vectors \( \boldmath{x} =[x1,x2] \) and \( \boldmath{w}=[w1,w2] \). We can then rewrite the above equation as $$ -\hat{w}^T\hat{x}+b=0. +\boldmath{w}^T\boldmath{x}+b=0. $$

@@ -188,25 +188,25 @@ b+wx_1+w_2x_2+\dots +w_px_p=0. $$ If we define a -matrix \( \hat{X}=\left[\hat{x}_1,\hat{x}_2,\dots, \hat{x}_p\right] \) -of dimension \( n\times p \), where \( n \) represents the observations for each feature and each vector \( x_i \) is a column vector of the matrix \( \hat{X} \), +matrix \( \boldmath{X}=\left[\boldmath{x}_1,\boldmath{x}_2,\dots, \boldmath{x}_p\right] \) +of dimension \( n\times p \), where \( n \) represents the observations for each feature and each vector \( x_i \) is a column vector of the matrix \( \boldmath{X} \), $$ -\hat{x}_i = \begin{bmatrix} x_{i1} \\ x_{i2} \\ \dots \\ \dots \\ x_{ip} \end{bmatrix}. +\boldmath{x}_i = \begin{bmatrix} x_{i1} \\ x_{i2} \\ \dots \\ \dots \\ x_{ip} \end{bmatrix}. $$ -If the above condition is not met for a given vector \( \hat{x}_i \) we have +If the above condition is not met for a given vector \( \boldmath{x}_i \) we have $$ b+w_1x_{i1}+w_2x_{i}2+\dots +w_px_{ip} >0, $$ if our output \( y_i=1 \). -In this case we say that \( \hat{x}_i \) lies on one of the sides of the hyperplane and if +In this case we say that \( \boldmath{x}_i \) lies on one of the sides of the hyperplane and if $$ b+w_1x_{i1}+w_2x_{i}2+\dots +w_px_{ip} < 0, $$ for the class of observations \( y_i=-1 \), -then \( \hat{x}_i \) lies on the other side. +then \( \boldmath{x}_i \) lies on the other side.

Equivalently, for the two classes of observations we have @@ -252,18 +252,18 @@ for our data sample.

Let us define the function $$ -f(x) = \hat{w}^T\hat{x}+b = 0, +f(x) = \boldmath{w}^T\boldmath{x}+b = 0, $$ as the function that determines the line \( L \) that separates two classes (our two features), see the figure here.

-Any point defined by \( \hat{x}_i \) and \( \hat{x}_2 \) on the line \( L \) will satisfy \( \hat{w}^T(\hat{x}_1-\hat{x}_2)=0 \). +Any point defined by \( \boldmath{x}_i \) and \( \boldmath{x}_2 \) on the line \( L \) will satisfy \( \boldmath{w}^T(\boldmath{x}_1-\boldmath{x}_2)=0 \).

-The signed distance \( \delta \) from any point defined by a vector \( \hat{x} \) and a point \( \hat{x}_0 \) on the line \( L \) is then +The signed distance \( \delta \) from any point defined by a vector \( \boldmath{x} \) and a point \( \boldmath{x}_0 \) on the line \( L \) is then $$ -\delta = \frac{1}{\vert\vert \hat{w}\vert\vert}(\hat{w}^T\hat{x}+b). +\delta = \frac{1}{\vert\vert \boldmath{w}\vert\vert}(\boldmath{w}^T\boldmath{x}+b). $$

@@ -272,23 +272,23 @@ $$

First attempt at a minimization approach

-How do we find the parameter \( b \) and the vector \( \hat{w} \)? What we could +How do we find the parameter \( b \) and the vector \( \boldmath{w} \)? What we could do is to define a cost function which now contains the set of all misclassified points \( M \) and attempt to minimize this function $$ -C(\hat{w},b) = -\sum_{i\in M} y_i(\hat{w}^T\hat{x}_i+b). +C(\boldmath{w},b) = -\sum_{i\in M} y_i(\boldmath{w}^T\boldmath{x}_i+b). $$

-We could now for example define all values \( y_i =1 \) as misclassified in case we have \( \hat{w}^T\hat{x}_i+b < 0 \) and the opposite if we have \( y_i=-1 \). Taking the derivatives gives us +We could now for example define all values \( y_i =1 \) as misclassified in case we have \( \boldmath{w}^T\boldmath{x}_i+b < 0 \) and the opposite if we have \( y_i=-1 \). Taking the derivatives gives us $$ \frac{\partial C}{\partial b} = -\sum_{i\in M} y_i, $$ and $$ -\frac{\partial C}{\partial \hat{w}} = -\sum_{i\in M} y_ix_i. +\frac{\partial C}{\partial \boldmath{w}} = -\sum_{i\in M} y_ix_i. $$

@@ -304,7 +304,7 @@ $$ and $$ -\hat{w} \leftarrow \hat{w} +\eta \frac{\partial C}{\partial \hat{w}}, +\boldmath{w} \leftarrow \boldmath{w} +\eta \frac{\partial C}{\partial \boldmath{w}}, $$ where \( \eta \) is our by now well-known learning rate. @@ -329,11 +329,11 @@ A better approach is rather to try to define a large margin between the two classes (if they are well separated from the beginning).

-Thus, we wish to find a margin \( M \) with \( \hat{w} \) normalized to -\( \vert\vert \hat{w}\vert\vert =1 \) subject to the condition +Thus, we wish to find a margin \( M \) with \( \boldmath{w} \) normalized to +\( \vert\vert \boldmath{w}\vert\vert =1 \) subject to the condition $$ -y_i(\hat{w}^T\hat{x}_i+b) \geq M \hspace{0.1cm}\forall i=1,2,\dots, p. +y_i(\boldmath{w}^T\boldmath{x}_i+b) \geq M \hspace{0.1cm}\forall i=1,2,\dots, p. $$ All points are thus at a signed distance from the decision boundary defined by the line \( L \). The parameters \( b \) and \( w_1 \) and \( w_2 \) define this line. @@ -341,22 +341,22 @@ All points are thus at a signed distance from the decision boundary defined by t

We seek thus the largest value \( M \) defined by $$ -\frac{1}{\vert \vert \hat{w}\vert\vert}y_i(\hat{w}^T\hat{x}_i+b) \geq M \hspace{0.1cm}\forall i=1,2,\dots, n, +\frac{1}{\vert \vert \boldmath{w}\vert\vert}y_i(\boldmath{w}^T\boldmath{x}_i+b) \geq M \hspace{0.1cm}\forall i=1,2,\dots, n, $$ or just $$ -y_i(\hat{w}^T\hat{x}_i+b) \geq M\vert \vert \hat{w}\vert\vert \hspace{0.1cm}\forall i. +y_i(\boldmath{w}^T\boldmath{x}_i+b) \geq M\vert \vert \boldmath{w}\vert\vert \hspace{0.1cm}\forall i. $$ -If we scale the equation so that \( \vert \vert \hat{w}\vert\vert = 1/M \), we have to find the minimum of -\( \hat{w}^T\hat{w}=\vert \vert \hat{w}\vert\vert \) (the norm) subject to the condition +If we scale the equation so that \( \vert \vert \boldmath{w}\vert\vert = 1/M \), we have to find the minimum of +\( \boldmath{w}^T\boldmath{w}=\vert \vert \boldmath{w}\vert\vert \) (the norm) subject to the condition $$ -y_i(\hat{w}^T\hat{x}_i+b) \geq 1 \hspace{0.1cm}\forall i. +y_i(\boldmath{w}^T\boldmath{x}_i+b) \geq 1 \hspace{0.1cm}\forall i. $$

-We have thus defined our margin as the invers of the norm of \( \hat{w} \). We want to minimize the norm in order to have a as large as possible margin \( M \). Before we proceed, we need to remind ourselves about Lagrangian multipliers. +We have thus defined our margin as the invers of the norm of \( \boldmath{w} \). We want to minimize the norm in order to have a as large as possible margin \( M \). Before we proceed, we need to remind ourselves about Lagrangian multipliers.











@@ -457,40 +457,40 @@ $$

Setting up the problem

In order to solve the above problem, we define the following Lagrangian function to be minimized $$ -{\cal L}(\lambda,b,\hat{w})=\frac{1}{2}\hat{w}^T\hat{w}-\sum_{i=1}^n\lambda_i\left[y_i(\hat{w}^T\hat{x}_i+b)-1\right], +{\cal L}(\lambda,b,\boldmath{w})=\frac{1}{2}\boldmath{w}^T\boldmath{w}-\sum_{i=1}^n\lambda_i\left[y_i(\boldmath{w}^T\boldmath{x}_i+b)-1\right], $$ where \( \lambda_i \) is a so-called Lagrange multiplier subject to the condition \( \lambda_i \geq 0 \).

-Taking the derivatives with respect to \( b \) and \( \hat{w} \) we obtain +Taking the derivatives with respect to \( b \) and \( \boldmath{w} \) we obtain $$ \frac{\partial {\cal L}}{\partial b} = -\sum_{i} \lambda_iy_i=0, $$ and $$ -\frac{\partial {\cal L}}{\partial \hat{w}} = 0 = \hat{w}-\sum_{i} \lambda_iy_i\hat{x}_i. +\frac{\partial {\cal L}}{\partial \boldmath{w}} = 0 = \boldmath{w}-\sum_{i} \lambda_iy_i\boldmath{x}_i. $$ Inserting these constraints into the equation for \( {\cal L} \) we obtain $$ -{\cal L}=\sum_i\lambda_i-\frac{1}{2}\sum_{ij}^n\lambda_i\lambda_jy_iy_j\hat{x}_i^T\hat{x}_j, +{\cal L}=\sum_i\lambda_i-\frac{1}{2}\sum_{ij}^n\lambda_i\lambda_jy_iy_j\boldmath{x}_i^T\boldmath{x}_j, $$ subject to the constraints \( \lambda_i\geq 0 \) and \( \sum_i\lambda_iy_i=0 \). We must in addition satisfy the Karush-Kuhn-Tucker (KKT) condition $$ -\lambda_i\left[y_i(\hat{w}^T\hat{x}_i+b) -1\right] \hspace{0.1cm}\forall i. +\lambda_i\left[y_i(\boldmath{w}^T\boldmath{x}_i+b) -1\right] \hspace{0.1cm}\forall i. $$

    -
  1. If \( \lambda_i > 0 \), then \( y_i(\hat{w}^T\hat{x}_i+b)=1 \) and we say that \( x_i \) is on the boundary.
  2. -
  3. If \( y_i(\hat{w}^T\hat{x}_i+b)> 1 \), we say \( x_i \) is not on the boundary and we set \( \lambda_i=0 \).
  4. +
  5. If \( \lambda_i > 0 \), then \( y_i(\boldmath{w}^T\boldmath{x}_i+b)=1 \) and we say that \( x_i \) is on the boundary.
  6. +
  7. If \( y_i(\boldmath{w}^T\boldmath{x}_i+b)> 1 \), we say \( x_i \) is not on the boundary and we set \( \lambda_i=0 \).
-When \( \lambda_i > 0 \), the vectors \( \hat{x}_i \) are called support vectors. They are the vectors closest to the line (or hyperplane) and define the margin \( M \). +When \( \lambda_i > 0 \), the vectors \( \boldmath{x}_i \) are called support vectors. They are the vectors closest to the line (or hyperplane) and define the margin \( M \).











@@ -500,21 +500,21 @@ When \( \lambda_i > 0 \), the vectors \( \hat{x}_i \) are called support vectors

We can rewrite $$ -{\cal L}=\sum_i\lambda_i-\frac{1}{2}\sum_{ij}^n\lambda_i\lambda_jy_iy_j\hat{x}_i^T\hat{x}_j, +{\cal L}=\sum_i\lambda_i-\frac{1}{2}\sum_{ij}^n\lambda_i\lambda_jy_iy_j\boldmath{x}_i^T\boldmath{x}_j, $$ and its constraints in terms of a matrix-vector problem where we minimize w.r.t. \( \lambda \) the following problem $$ -\frac{1}{2} \hat{\lambda}^T\begin{bmatrix} y_1y_1\hat{x}_1^T\hat{x}_1 & y_1y_2\hat{x}_1^T\hat{x}_2 & \dots & \dots & y_1y_n\hat{x}_1^T\hat{x}_n \\ -y_2y_1\hat{x}_2^T\hat{x}_1 & y_2y_2\hat{x}_2^T\hat{x}_2 & \dots & \dots & y_1y_n\hat{x}_2^T\hat{x}_n \\ +\frac{1}{2} \boldmath{\lambda}^T\begin{bmatrix} y_1y_1\boldmath{x}_1^T\boldmath{x}_1 & y_1y_2\boldmath{x}_1^T\boldmath{x}_2 & \dots & \dots & y_1y_n\boldmath{x}_1^T\boldmath{x}_n \\ +y_2y_1\boldmath{x}_2^T\boldmath{x}_1 & y_2y_2\boldmath{x}_2^T\boldmath{x}_2 & \dots & \dots & y_1y_n\boldmath{x}_2^T\boldmath{x}_n \\ \dots & \dots & \dots & \dots & \dots \\ \dots & \dots & \dots & \dots & \dots \\ -y_ny_1\hat{x}_n^T\hat{x}_1 & y_ny_2\hat{x}_n^T\hat{x}_2 & \dots & \dots & y_ny_n\hat{x}_n^T\hat{x}_n \\ -\end{bmatrix}\hat{\lambda}-\mathbb{1}\hat{\lambda}, +y_ny_1\boldmath{x}_n^T\boldmath{x}_1 & y_ny_2\boldmath{x}_n^T\boldmath{x}_2 & \dots & \dots & y_ny_n\boldmath{x}_n^T\boldmath{x}_n \\ +\end{bmatrix}\boldmath{\lambda}-\mathbb{1}\boldmath{\lambda}, $$ -subject to \( \hat{y}^T\hat{\lambda}=0 \). Here we defined the vectors \( \hat{\lambda} =[\lambda_1,\lambda_2,\dots,\lambda_n] \) and -\( \hat{y}=[y_1,y_2,\dots,y_n] \). +subject to \( \boldmath{y}^T\boldmath{\lambda}=0 \). Here we defined the vectors \( \boldmath{\lambda} =[\lambda_1,\lambda_2,\dots,\lambda_n] \) and +\( \boldmath{y}=[y_1,y_2,\dots,y_n] \).











@@ -525,22 +525,27 @@ subject to \( \hat{y}^T\hat{\lambda}=0 \). Here we defined the vectors \( \hat{\ Solving the above problem, yields the values of \( \lambda_i \). To find the coefficients of your hyperplane we need simply to compute $$ -\hat{w}=\sum_{i} \lambda_iy_i\hat{x}_i. +\boldmath{w}=\sum_{i} \lambda_iy_i\boldmath{x}_i. $$ -With our vector \( \hat{w} \) we can in turn find the value of the intercept \( b \) (here in two dimensions) via +With our vector \( \boldmath{w} \) we can in turn find the value of the intercept \( b \) (here in two dimensions) via $$ -y_i(\hat{w}^T\hat{x}_i+b)=1, +y_i(\boldmath{w}^T\boldmath{x}_i+b)=1, $$ resulting in $$ -b = \frac{1}{y_i}-\hat{w}^T\hat{x}_i. +b = \frac{1}{y_i}-\boldmath{w}^T\boldmath{x}_i, +$$ + +or if we write it out in terms of the support vectors only, with \( N_s \) being their number, we have +$$ +b = \frac{1}{N_s}\sum_{j\in N_s}\left(y_j-\sum_{i=1}^n\lambda_iy_i\boldmath{x}_i^T\boldmath{x}_j\right). $$ With our hyperplane coefficients we can use our classifier to assign any observation by simply using $$ -y_i = \mathrm{sign}(\hat{w}^T\hat{x}_i+b). +y_i = \mathrm{sign}(\boldmath{w}^T\boldmath{x}_i+b). $$ Below we discuss how to find the optimal values of \( \lambda_i \). Before we proceed however, we discuss now the so-called soft classifier. @@ -560,20 +565,20 @@ so-called kernel approach, is to allow a kind of slack in the sense that we allow some points to be on the wrong side of the margin.

-We introduce thus the so-called slack variables \( \hat{\xi} =[\xi_1,x_2,\dots,x_n] \) and +We introduce thus the so-called slack variables \( \boldmath{\xi} =[\xi_1,x_2,\dots,x_n] \) and modify our previous equation $$ -y_i(\hat{w}^T\hat{x}_i+b)=1, +y_i(\boldmath{w}^T\boldmath{x}_i+b)=1, $$ to $$ -y_i(\hat{w}^T\hat{x}_i+b)=1-\xi_i, +y_i(\boldmath{w}^T\boldmath{x}_i+b)=1-\xi_i, $$ with the requirement \( \xi_i\geq 0 \). The total violation is now \( \sum_i\xi \). The value \( \xi_i \) in the constraint the last constraint corresponds to the amount by which the prediction -\( y_i(\hat{w}^T\hat{x}_i+b)=1 \) is on the wrong side of its margin. Hence by bounding the sum \( \sum_i \xi_i \), +\( y_i(\boldmath{w}^T\boldmath{x}_i+b)=1 \) is on the wrong side of its margin. Hence by bounding the sum \( \sum_i \xi_i \), we bound the total amount by which predictions fall on the wrong side of their margins.

@@ -588,25 +593,25 @@ misclassifications.

This has in turn the consequences that we change our optmization problem to finding the minimum of $$ -{\cal L}=\frac{1}{2}\hat{w}^T\hat{w}-\sum_{i=1}^n\lambda_i\left[y_i(\hat{w}^T\hat{x}_i+b)-(1-\xi_)\right]+C\sum_{i=1}^n\xi_i-\sum_{i=1}^n\gamma_i\xi_i, +{\cal L}=\frac{1}{2}\boldmath{w}^T\boldmath{w}-\sum_{i=1}^n\lambda_i\left[y_i(\boldmath{w}^T\boldmath{x}_i+b)-(1-\xi_)\right]+C\sum_{i=1}^n\xi_i-\sum_{i=1}^n\gamma_i\xi_i, $$ subject to $$ -y_i(\hat{w}^T\hat{x}_i+b)=1-\xi_i \hspace{0.1cm}\forall i, +y_i(\boldmath{w}^T\boldmath{x}_i+b)=1-\xi_i \hspace{0.1cm}\forall i, $$ with the requirement \( \xi_i\geq 0 \).

-Taking the derivatives with respect to \( b \) and \( \hat{w} \) we obtain +Taking the derivatives with respect to \( b \) and \( \boldmath{w} \) we obtain $$ \frac{\partial {\cal L}}{\partial b} = -\sum_{i} \lambda_iy_i=0, $$ and $$ -\frac{\partial {\cal L}}{\partial \hat{w}} = 0 = \hat{w}-\sum_{i} \lambda_iy_i\hat{x}_i, +\frac{\partial {\cal L}}{\partial \boldmath{w}} = 0 = \boldmath{w}-\sum_{i} \lambda_iy_i\boldmath{x}_i, $$ and @@ -616,13 +621,13 @@ $$ Inserting these constraints into the equation for \( {\cal L} \) we obtain the same equation as before $$ -{\cal L}=\sum_i\lambda_i-\frac{1}{2}\sum_{ij}^n\lambda_i\lambda_jy_iy_j\hat{x}_i^T\hat{x}_j, +{\cal L}=\sum_i\lambda_i-\frac{1}{2}\sum_{ij}^n\lambda_i\lambda_jy_iy_j\boldmath{x}_i^T\boldmath{x}_j, $$ but now subject to the constraints \( \lambda_i\geq 0 \), \( \sum_i\lambda_iy_i=0 \) and \( 0\leq\lambda_i \leq C \). We must in addition satisfy the Karush-Kuhn-Tucker condition which now reads $$ -\lambda_i\left[y_i(\hat{w}^T\hat{x}_i+b) -(1-\xi_)\right]=0 \hspace{0.1cm}\forall i, +\lambda_i\left[y_i(\boldmath{w}^T\boldmath{x}_i+b) -(1-\xi_)\right]=0 \hspace{0.1cm}\forall i, $$ $$ @@ -631,7 +636,7 @@ $$ and $$ -y_i(\hat{w}^T\hat{x}_i+b) -(1-\xi_) \geq 0 \hspace{0.1cm}\forall i. +y_i(\boldmath{w}^T\boldmath{x}_i+b) -(1-\xi_) \geq 0 \hspace{0.1cm}\forall i. $$

diff --git a/doc/pub/svm/ipynb/ipynb-svm-src.tar.gz b/doc/pub/svm/ipynb/ipynb-svm-src.tar.gz index f15bd65e42902bd7f7360383c990e2e948000035..43de2c58f92fce278c4668c93ca414446725dbb8 100644 GIT binary patch literal 207 zcmb2|=3vlY_8^*p`R#e%E+#{Pw#4i67WrLRQorRo^R5C#9wYINk~w|$os(T=?%TVz zY2BQ;9cO;$*sap&T6OeGveEpsm*%|l+%!$sX<4S*%EbnWUjL95LCcvY!>S2pR=Li?q$(&D|<7T5dNhSk5>xld_(jd1+hUZdY{f?m(Hn1ANd@7^Pi z^)~-Lr@Qo{+PvRFXU-pFQ@&NYX!bF+*K_ajeLq;wzPJ14hpY1$kimifMNI!Hg?2G$ HFfafBt%hK? literal 207 zcmb2|=3vlwc@WLO{Pz68EG9#NV} 0$, then $y_i(\\hat{w}^T\\hat{x}_i+b)=1$ and we say that $x_i$ is on the boundary.\n", + "1. If $\\lambda_i > 0$, then $y_i(\\boldmath{w}^T\\boldmath{x}_i+b)=1$ and we say that $x_i$ is on the boundary.\n", "\n", - "2. If $y_i(\\hat{w}^T\\hat{x}_i+b)> 1$, we say $x_i$ is not on the boundary and we set $\\lambda_i=0$. \n", + "2. If $y_i(\\boldmath{w}^T\\boldmath{x}_i+b)> 1$, we say $x_i$ is not on the boundary and we set $\\lambda_i=0$. \n", "\n", - "When $\\lambda_i > 0$, the vectors $\\hat{x}_i$ are called support vectors. They are the vectors closest to the line (or hyperplane) and define the margin $M$. \n", + "When $\\lambda_i > 0$, the vectors $\\boldmath{x}_i$ are called support vectors. They are the vectors closest to the line (or hyperplane) and define the margin $M$. \n", "\n", "## The problem to solve\n", "\n", @@ -735,7 +735,7 @@ "metadata": {}, "source": [ "$$\n", - "{\\cal L}=\\sum_i\\lambda_i-\\frac{1}{2}\\sum_{ij}^n\\lambda_i\\lambda_jy_iy_j\\hat{x}_i^T\\hat{x}_j,\n", + "{\\cal L}=\\sum_i\\lambda_i-\\frac{1}{2}\\sum_{ij}^n\\lambda_i\\lambda_jy_iy_j\\boldmath{x}_i^T\\boldmath{x}_j,\n", "$$" ] }, @@ -751,12 +751,12 @@ "metadata": {}, "source": [ "$$\n", - "\\frac{1}{2} \\hat{\\lambda}^T\\begin{bmatrix} y_1y_1\\hat{x}_1^T\\hat{x}_1 & y_1y_2\\hat{x}_1^T\\hat{x}_2 & \\dots & \\dots & y_1y_n\\hat{x}_1^T\\hat{x}_n \\\\\n", - "y_2y_1\\hat{x}_2^T\\hat{x}_1 & y_2y_2\\hat{x}_2^T\\hat{x}_2 & \\dots & \\dots & y_1y_n\\hat{x}_2^T\\hat{x}_n \\\\\n", + "\\frac{1}{2} \\boldmath{\\lambda}^T\\begin{bmatrix} y_1y_1\\boldmath{x}_1^T\\boldmath{x}_1 & y_1y_2\\boldmath{x}_1^T\\boldmath{x}_2 & \\dots & \\dots & y_1y_n\\boldmath{x}_1^T\\boldmath{x}_n \\\\\n", + "y_2y_1\\boldmath{x}_2^T\\boldmath{x}_1 & y_2y_2\\boldmath{x}_2^T\\boldmath{x}_2 & \\dots & \\dots & y_1y_n\\boldmath{x}_2^T\\boldmath{x}_n \\\\\n", "\\dots & \\dots & \\dots & \\dots & \\dots \\\\\n", "\\dots & \\dots & \\dots & \\dots & \\dots \\\\\n", - "y_ny_1\\hat{x}_n^T\\hat{x}_1 & y_ny_2\\hat{x}_n^T\\hat{x}_2 & \\dots & \\dots & y_ny_n\\hat{x}_n^T\\hat{x}_n \\\\\n", - "\\end{bmatrix}\\hat{\\lambda}-\\mathbb{1}\\hat{\\lambda},\n", + "y_ny_1\\boldmath{x}_n^T\\boldmath{x}_1 & y_ny_2\\boldmath{x}_n^T\\boldmath{x}_2 & \\dots & \\dots & y_ny_n\\boldmath{x}_n^T\\boldmath{x}_n \\\\\n", + "\\end{bmatrix}\\boldmath{\\lambda}-\\mathbb{1}\\boldmath{\\lambda},\n", "$$" ] }, @@ -764,8 +764,8 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "subject to $\\hat{y}^T\\hat{\\lambda}=0$. Here we defined the vectors $\\hat{\\lambda} =[\\lambda_1,\\lambda_2,\\dots,\\lambda_n]$ and \n", - "$\\hat{y}=[y_1,y_2,\\dots,y_n]$. \n", + "subject to $\\boldmath{y}^T\\boldmath{\\lambda}=0$. Here we defined the vectors $\\boldmath{\\lambda} =[\\lambda_1,\\lambda_2,\\dots,\\lambda_n]$ and \n", + "$\\boldmath{y}=[y_1,y_2,\\dots,y_n]$. \n", "\n", "\n", "## The last steps\n", @@ -779,7 +779,7 @@ "metadata": {}, "source": [ "$$\n", - "\\hat{w}=\\sum_{i} \\lambda_iy_i\\hat{x}_i.\n", + "\\boldmath{w}=\\sum_{i} \\lambda_iy_i\\boldmath{x}_i.\n", "$$" ] }, @@ -787,7 +787,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "With our vector $\\hat{w}$ we can in turn find the value of the intercept $b$ (here in two dimensions) via" + "With our vector $\\boldmath{w}$ we can in turn find the value of the intercept $b$ (here in two dimensions) via" ] }, { @@ -795,7 +795,7 @@ "metadata": {}, "source": [ "$$\n", - "y_i(\\hat{w}^T\\hat{x}_i+b)=1,\n", + "y_i(\\boldmath{w}^T\\boldmath{x}_i+b)=1,\n", "$$" ] }, @@ -811,7 +811,23 @@ "metadata": {}, "source": [ "$$\n", - "b = \\frac{1}{y_i}-\\hat{w}^T\\hat{x}_i.\n", + "b = \\frac{1}{y_i}-\\boldmath{w}^T\\boldmath{x}_i,\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "or if we write it out in terms of the support vectors only, with $N_s$ being their number, we have" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "$$\n", + "b = \\frac{1}{N_s}\\sum_{j\\in N_s}\\left(y_j-\\sum_{i=1}^n\\lambda_iy_i\\boldmath{x}_i^T\\boldmath{x}_j\\right).\n", "$$" ] }, @@ -827,7 +843,7 @@ "metadata": {}, "source": [ "$$\n", - "y_i = \\mathrm{sign}(\\hat{w}^T\\hat{x}_i+b).\n", + "y_i = \\mathrm{sign}(\\boldmath{w}^T\\boldmath{x}_i+b).\n", "$$" ] }, @@ -846,7 +862,7 @@ "so-called **kernel approach**, is to allow a kind of slack in the sense\n", "that we allow some points to be on the wrong side of the margin.\n", "\n", - "We introduce thus the so-called **slack** variables $\\hat{\\xi} =[\\xi_1,x_2,\\dots,x_n]$ and \n", + "We introduce thus the so-called **slack** variables $\\boldmath{\\xi} =[\\xi_1,x_2,\\dots,x_n]$ and \n", "modify our previous equation" ] }, @@ -855,7 +871,7 @@ "metadata": {}, "source": [ "$$\n", - "y_i(\\hat{w}^T\\hat{x}_i+b)=1,\n", + "y_i(\\boldmath{w}^T\\boldmath{x}_i+b)=1,\n", "$$" ] }, @@ -871,7 +887,7 @@ "metadata": {}, "source": [ "$$\n", - "y_i(\\hat{w}^T\\hat{x}_i+b)=1-\\xi_i,\n", + "y_i(\\boldmath{w}^T\\boldmath{x}_i+b)=1-\\xi_i,\n", "$$" ] }, @@ -881,7 +897,7 @@ "source": [ "with the requirement $\\xi_i\\geq 0$. The total violation is now $\\sum_i\\xi$. \n", "The value $\\xi_i$ in the constraint the last constraint corresponds to the amount by which the prediction\n", - "$y_i(\\hat{w}^T\\hat{x}_i+b)=1$ is on the wrong side of its margin. Hence by bounding the sum $\\sum_i \\xi_i$,\n", + "$y_i(\\boldmath{w}^T\\boldmath{x}_i+b)=1$ is on the wrong side of its margin. Hence by bounding the sum $\\sum_i \\xi_i$,\n", "we bound the total amount by which predictions fall on the wrong side of their margins.\n", "\n", "Misclassifications occur when $\\xi_i > 1$. Thus bounding the total sum by some value $C$ bounds in turn the total number of\n", @@ -898,7 +914,7 @@ "metadata": {}, "source": [ "$$\n", - "{\\cal L}=\\frac{1}{2}\\hat{w}^T\\hat{w}-\\sum_{i=1}^n\\lambda_i\\left[y_i(\\hat{w}^T\\hat{x}_i+b)-(1-\\xi_)\\right]+C\\sum_{i=1}^n\\xi_i-\\sum_{i=1}^n\\gamma_i\\xi_i,\n", + "{\\cal L}=\\frac{1}{2}\\boldmath{w}^T\\boldmath{w}-\\sum_{i=1}^n\\lambda_i\\left[y_i(\\boldmath{w}^T\\boldmath{x}_i+b)-(1-\\xi_)\\right]+C\\sum_{i=1}^n\\xi_i-\\sum_{i=1}^n\\gamma_i\\xi_i,\n", "$$" ] }, @@ -914,7 +930,7 @@ "metadata": {}, "source": [ "$$\n", - "y_i(\\hat{w}^T\\hat{x}_i+b)=1-\\xi_i \\hspace{0.1cm}\\forall i,\n", + "y_i(\\boldmath{w}^T\\boldmath{x}_i+b)=1-\\xi_i \\hspace{0.1cm}\\forall i,\n", "$$" ] }, @@ -924,7 +940,7 @@ "source": [ "with the requirement $\\xi_i\\geq 0$.\n", "\n", - "Taking the derivatives with respect to $b$ and $\\hat{w}$ we obtain" + "Taking the derivatives with respect to $b$ and $\\boldmath{w}$ we obtain" ] }, { @@ -948,7 +964,7 @@ "metadata": {}, "source": [ "$$\n", - "\\frac{\\partial {\\cal L}}{\\partial \\hat{w}} = 0 = \\hat{w}-\\sum_{i} \\lambda_iy_i\\hat{x}_i,\n", + "\\frac{\\partial {\\cal L}}{\\partial \\boldmath{w}} = 0 = \\boldmath{w}-\\sum_{i} \\lambda_iy_i\\boldmath{x}_i,\n", "$$" ] }, @@ -980,7 +996,7 @@ "metadata": {}, "source": [ "$$\n", - "{\\cal L}=\\sum_i\\lambda_i-\\frac{1}{2}\\sum_{ij}^n\\lambda_i\\lambda_jy_iy_j\\hat{x}_i^T\\hat{x}_j,\n", + "{\\cal L}=\\sum_i\\lambda_i-\\frac{1}{2}\\sum_{ij}^n\\lambda_i\\lambda_jy_iy_j\\boldmath{x}_i^T\\boldmath{x}_j,\n", "$$" ] }, @@ -996,8 +1012,8 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "4\n", - "9\n", + "5\n", + "0\n", " \n", "<\n", "<\n", @@ -1037,7 +1053,7 @@ "metadata": {}, "source": [ "$$\n", - "y_i(\\hat{w}^T\\hat{x}_i+b) -(1-\\xi_) \\geq 0 \\hspace{0.1cm}\\forall i.\n", + "y_i(\\boldmath{w}^T\\boldmath{x}_i+b) -(1-\\xi_) \\geq 0 \\hspace{0.1cm}\\forall i.\n", "$$" ] }, diff --git a/doc/pub/svm/pdf/svm-minted.pdf b/doc/pub/svm/pdf/svm-minted.pdf index 56320d1ad7c525f35e23cf810716d0b3eb2bdfad..00da3c3e4307ef0f740f7d043c245a43a088bffb 100644 GIT binary patch delta 110004 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%0AZy-@+`O;!-0Qp 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 Qg^P;?iJBUyAc6FM0Flk}RsaA1 diff --git a/doc/src/SupportVMachines/svm.do.txt b/doc/src/SupportVMachines/svm.do.txt index 4bccfb7d5..a7ec380d2 100644 --- a/doc/src/SupportVMachines/svm.do.txt +++ b/doc/src/SupportVMachines/svm.do.txt @@ -58,11 +58,11 @@ b+w_1x_1+w_2x_2=0, !et where $b$ is the intercept and $w_1$ and $w_2$ define the elements of a vector orthogonal to the line $b+w_1x_1+w_2x_2=0$. -In two dimensions we define the vectors $\hat{x} =[x1,x2]$ and $\hat{w}=[w1,w2]$. +In two dimensions we define the vectors $\boldmath{x} =[x1,x2]$ and $\boldmath{w}=[w1,w2]$. We can then rewrite the above equation as !bt \[ -\hat{w}^T\hat{x}+b=0. +\boldmath{w}^T\boldmath{x}+b=0. \] !et @@ -77,28 +77,28 @@ b+wx_1+w_2x_2+\dots +w_px_p=0. \] !et If we define a -matrix $\hat{X}=\left[\hat{x}_1,\hat{x}_2,\dots, \hat{x}_p\right]$ -of dimension $n\times p$, where $n$ represents the observations for each feature and each vector $x_i$ is a column vector of the matrix $\hat{X}$, +matrix $\boldmath{X}=\left[\boldmath{x}_1,\boldmath{x}_2,\dots, \boldmath{x}_p\right]$ +of dimension $n\times p$, where $n$ represents the observations for each feature and each vector $x_i$ is a column vector of the matrix $\boldmath{X}$, !bt \[ -\hat{x}_i = \begin{bmatrix} x_{i1} \\ x_{i2} \\ \dots \\ \dots \\ x_{ip} \end{bmatrix}. +\boldmath{x}_i = \begin{bmatrix} x_{i1} \\ x_{i2} \\ \dots \\ \dots \\ x_{ip} \end{bmatrix}. \] !et -If the above condition is not met for a given vector $\hat{x}_i$ we have +If the above condition is not met for a given vector $\boldmath{x}_i$ we have !bt \[ b+w_1x_{i1}+w_2x_{i}2+\dots +w_px_{ip} >0, \] !et if our output $y_i=1$. -In this case we say that $\hat{x}_i$ lies on one of the sides of the hyperplane and if +In this case we say that $\boldmath{x}_i$ lies on one of the sides of the hyperplane and if !bt \[ b+w_1x_{i1}+w_2x_{i}2+\dots +w_px_{ip} < 0, \] !et for the class of observations $y_i=-1$, -then $\hat{x}_i$ lies on the other side. +then $\boldmath{x}_i$ lies on the other side. Equivalently, for the two classes of observations we have !bt @@ -137,35 +137,35 @@ for our data sample. Let us define the function !bt \[ -f(x) = \hat{w}^T\hat{x}+b = 0, +f(x) = \boldmath{w}^T\boldmath{x}+b = 0, \] !et as the function that determines the line $L$ that separates two classes (our two features), see the figure here. -Any point defined by $\hat{x}_i$ and $\hat{x}_2$ on the line $L$ will satisfy $\hat{w}^T(\hat{x}_1-\hat{x}_2)=0$. +Any point defined by $\boldmath{x}_i$ and $\boldmath{x}_2$ on the line $L$ will satisfy $\boldmath{w}^T(\boldmath{x}_1-\boldmath{x}_2)=0$. -The signed distance $\delta$ from any point defined by a vector $\hat{x}$ and a point $\hat{x}_0$ on the line $L$ is then +The signed distance $\delta$ from any point defined by a vector $\boldmath{x}$ and a point $\boldmath{x}_0$ on the line $L$ is then !bt \[ -\delta = \frac{1}{\vert\vert \hat{w}\vert\vert}(\hat{w}^T\hat{x}+b). +\delta = \frac{1}{\vert\vert \boldmath{w}\vert\vert}(\boldmath{w}^T\boldmath{x}+b). \] !et !split ===== First attempt at a minimization approach ===== -How do we find the parameter $b$ and the vector $\hat{w}$? What we could +How do we find the parameter $b$ and the vector $\boldmath{w}$? What we could do is to define a cost function which now contains the set of all misclassified points $M$ and attempt to minimize this function !bt \[ -C(\hat{w},b) = -\sum_{i\in M} y_i(\hat{w}^T\hat{x}_i+b). +C(\boldmath{w},b) = -\sum_{i\in M} y_i(\boldmath{w}^T\boldmath{x}_i+b). \] !et -We could now for example define all values $y_i =1$ as misclassified in case we have $\hat{w}^T\hat{x}_i+b < 0$ and the opposite if we have $y_i=-1$. Taking the derivatives gives us +We could now for example define all values $y_i =1$ as misclassified in case we have $\boldmath{w}^T\boldmath{x}_i+b < 0$ and the opposite if we have $y_i=-1$. Taking the derivatives gives us !bt \[ \frac{\partial C}{\partial b} = -\sum_{i\in M} y_i, @@ -174,7 +174,7 @@ We could now for example define all values $y_i =1$ as misclassified in case we and !bt \[ -\frac{\partial C}{\partial \hat{w}} = -\sum_{i\in M} y_ix_i. +\frac{\partial C}{\partial \boldmath{w}} = -\sum_{i\in M} y_ix_i. \] !et @@ -190,7 +190,7 @@ b \leftarrow b +\eta \frac{\partial C}{\partial b}, and !bt \[ -\hat{w} \leftarrow \hat{w} +\eta \frac{\partial C}{\partial \hat{w}}, +\boldmath{w} \leftarrow \boldmath{w} +\eta \frac{\partial C}{\partial \boldmath{w}}, \] !et where $\eta$ is our by now well-known learning rate. @@ -210,12 +210,12 @@ at all. A better approach is rather to try to define a large margin between the two classes (if they are well separated from the beginning). -Thus, we wish to find a margin $M$ with $\hat{w}$ normalized to -$\vert\vert \hat{w}\vert\vert =1$ subject to the condition +Thus, we wish to find a margin $M$ with $\boldmath{w}$ normalized to +$\vert\vert \boldmath{w}\vert\vert =1$ subject to the condition !bt \[ -y_i(\hat{w}^T\hat{x}_i+b) \geq M \hspace{0.1cm}\forall i=1,2,\dots, p. +y_i(\boldmath{w}^T\boldmath{x}_i+b) \geq M \hspace{0.1cm}\forall i=1,2,\dots, p. \] !et All points are thus at a signed distance from the decision boundary defined by the line $L$. The parameters $b$ and $w_1$ and $w_2$ define this line. @@ -223,24 +223,24 @@ All points are thus at a signed distance from the decision boundary defined by t We seek thus the largest value $M$ defined by !bt \[ -\frac{1}{\vert \vert \hat{w}\vert\vert}y_i(\hat{w}^T\hat{x}_i+b) \geq M \hspace{0.1cm}\forall i=1,2,\dots, n, +\frac{1}{\vert \vert \boldmath{w}\vert\vert}y_i(\boldmath{w}^T\boldmath{x}_i+b) \geq M \hspace{0.1cm}\forall i=1,2,\dots, n, \] !et or just !bt \[ -y_i(\hat{w}^T\hat{x}_i+b) \geq M\vert \vert \hat{w}\vert\vert \hspace{0.1cm}\forall i. +y_i(\boldmath{w}^T\boldmath{x}_i+b) \geq M\vert \vert \boldmath{w}\vert\vert \hspace{0.1cm}\forall i. \] !et -If we scale the equation so that $\vert \vert \hat{w}\vert\vert = 1/M$, we have to find the minimum of -$\hat{w}^T\hat{w}=\vert \vert \hat{w}\vert\vert$ (the norm) subject to the condition +If we scale the equation so that $\vert \vert \boldmath{w}\vert\vert = 1/M$, we have to find the minimum of +$\boldmath{w}^T\boldmath{w}=\vert \vert \boldmath{w}\vert\vert$ (the norm) subject to the condition !bt \[ -y_i(\hat{w}^T\hat{x}_i+b) \geq 1 \hspace{0.1cm}\forall i. +y_i(\boldmath{w}^T\boldmath{x}_i+b) \geq 1 \hspace{0.1cm}\forall i. \] !et -We have thus defined our margin as the invers of the norm of $\hat{w}$. We want to minimize the norm in order to have a as large as possible margin $M$. Before we proceed, we need to remind ourselves about Lagrangian multipliers. +We have thus defined our margin as the invers of the norm of $\boldmath{w}$. We want to minimize the norm in order to have a as large as possible margin $M$. Before we proceed, we need to remind ourselves about Lagrangian multipliers. !split ===== A quick reminder on Lagrangian multipliers ===== @@ -346,12 +346,12 @@ If we have a set of constraints $\phi_k$ we have the equations In order to solve the above problem, we define the following Lagrangian function to be minimized !bt \[ -{\cal L}(\lambda,b,\hat{w})=\frac{1}{2}\hat{w}^T\hat{w}-\sum_{i=1}^n\lambda_i\left[y_i(\hat{w}^T\hat{x}_i+b)-1\right], +{\cal L}(\lambda,b,\boldmath{w})=\frac{1}{2}\boldmath{w}^T\boldmath{w}-\sum_{i=1}^n\lambda_i\left[y_i(\boldmath{w}^T\boldmath{x}_i+b)-1\right], \] !et where $\lambda_i$ is a so-called Lagrange multiplier subject to the condition $\lambda_i \geq 0$. -Taking the derivatives with respect to $b$ and $\hat{w}$ we obtain +Taking the derivatives with respect to $b$ and $\boldmath{w}$ we obtain !bt \[ \frac{\partial {\cal L}}{\partial b} = -\sum_{i} \lambda_iy_i=0, @@ -360,25 +360,25 @@ Taking the derivatives with respect to $b$ and $\hat{w}$ we obtain and !bt \[ -\frac{\partial {\cal L}}{\partial \hat{w}} = 0 = \hat{w}-\sum_{i} \lambda_iy_i\hat{x}_i. +\frac{\partial {\cal L}}{\partial \boldmath{w}} = 0 = \boldmath{w}-\sum_{i} \lambda_iy_i\boldmath{x}_i. \] !et Inserting these constraints into the equation for ${\cal L}$ we obtain !bt \[ -{\cal L}=\sum_i\lambda_i-\frac{1}{2}\sum_{ij}^n\lambda_i\lambda_jy_iy_j\hat{x}_i^T\hat{x}_j, +{\cal L}=\sum_i\lambda_i-\frac{1}{2}\sum_{ij}^n\lambda_i\lambda_jy_iy_j\boldmath{x}_i^T\boldmath{x}_j, \] !et subject to the constraints $\lambda_i\geq 0$ and $\sum_i\lambda_iy_i=0$. We must in addition satisfy the "Karush-Kuhn-Tucker":"https://en.wikipedia.org/wiki/Karush%E2%80%93Kuhn%E2%80%93Tucker_conditions" (KKT) condition !bt \[ -\lambda_i\left[y_i(\hat{w}^T\hat{x}_i+b) -1\right] \hspace{0.1cm}\forall i. +\lambda_i\left[y_i(\boldmath{w}^T\boldmath{x}_i+b) -1\right] \hspace{0.1cm}\forall i. \] !et -o If $\lambda_i > 0$, then $y_i(\hat{w}^T\hat{x}_i+b)=1$ and we say that $x_i$ is on the boundary. -o If $y_i(\hat{w}^T\hat{x}_i+b)> 1$, we say $x_i$ is not on the boundary and we set $\lambda_i=0$. -When $\lambda_i > 0$, the vectors $\hat{x}_i$ are called support vectors. They are the vectors closest to the line (or hyperplane) and define the margin $M$. +o If $\lambda_i > 0$, then $y_i(\boldmath{w}^T\boldmath{x}_i+b)=1$ and we say that $x_i$ is on the boundary. +o If $y_i(\boldmath{w}^T\boldmath{x}_i+b)> 1$, we say $x_i$ is not on the boundary and we set $\lambda_i=0$. +When $\lambda_i > 0$, the vectors $\boldmath{x}_i$ are called support vectors. They are the vectors closest to the line (or hyperplane) and define the margin $M$. !split ===== The problem to solve ===== @@ -386,22 +386,22 @@ When $\lambda_i > 0$, the vectors $\hat{x}_i$ are called support vectors. They a We can rewrite !bt \[ -{\cal L}=\sum_i\lambda_i-\frac{1}{2}\sum_{ij}^n\lambda_i\lambda_jy_iy_j\hat{x}_i^T\hat{x}_j, +{\cal L}=\sum_i\lambda_i-\frac{1}{2}\sum_{ij}^n\lambda_i\lambda_jy_iy_j\boldmath{x}_i^T\boldmath{x}_j, \] !et and its constraints in terms of a matrix-vector problem where we minimize w.r.t. $\lambda$ the following problem !bt \[ -\frac{1}{2} \hat{\lambda}^T\begin{bmatrix} y_1y_1\hat{x}_1^T\hat{x}_1 & y_1y_2\hat{x}_1^T\hat{x}_2 & \dots & \dots & y_1y_n\hat{x}_1^T\hat{x}_n \\ -y_2y_1\hat{x}_2^T\hat{x}_1 & y_2y_2\hat{x}_2^T\hat{x}_2 & \dots & \dots & y_1y_n\hat{x}_2^T\hat{x}_n \\ +\frac{1}{2} \boldmath{\lambda}^T\begin{bmatrix} y_1y_1\boldmath{x}_1^T\boldmath{x}_1 & y_1y_2\boldmath{x}_1^T\boldmath{x}_2 & \dots & \dots & y_1y_n\boldmath{x}_1^T\boldmath{x}_n \\ +y_2y_1\boldmath{x}_2^T\boldmath{x}_1 & y_2y_2\boldmath{x}_2^T\boldmath{x}_2 & \dots & \dots & y_1y_n\boldmath{x}_2^T\boldmath{x}_n \\ \dots & \dots & \dots & \dots & \dots \\ \dots & \dots & \dots & \dots & \dots \\ -y_ny_1\hat{x}_n^T\hat{x}_1 & y_ny_2\hat{x}_n^T\hat{x}_2 & \dots & \dots & y_ny_n\hat{x}_n^T\hat{x}_n \\ -\end{bmatrix}\hat{\lambda}-\mathbb{1}\hat{\lambda}, +y_ny_1\boldmath{x}_n^T\boldmath{x}_1 & y_ny_2\boldmath{x}_n^T\boldmath{x}_2 & \dots & \dots & y_ny_n\boldmath{x}_n^T\boldmath{x}_n \\ +\end{bmatrix}\boldmath{\lambda}-\mathbb{1}\boldmath{\lambda}, \] !et -subject to $\hat{y}^T\hat{\lambda}=0$. Here we defined the vectors $\hat{\lambda} =[\lambda_1,\lambda_2,\dots,\lambda_n]$ and -$\hat{y}=[y_1,y_2,\dots,y_n]$. +subject to $\boldmath{y}^T\boldmath{\lambda}=0$. Here we defined the vectors $\boldmath{\lambda} =[\lambda_1,\lambda_2,\dots,\lambda_n]$ and +$\boldmath{y}=[y_1,y_2,\dots,y_n]$. !split @@ -411,25 +411,31 @@ Solving the above problem, yields the values of $\lambda_i$. To find the coefficients of your hyperplane we need simply to compute !bt \[ -\hat{w}=\sum_{i} \lambda_iy_i\hat{x}_i. +\boldmath{w}=\sum_{i} \lambda_iy_i\boldmath{x}_i. \] !et -With our vector $\hat{w}$ we can in turn find the value of the intercept $b$ (here in two dimensions) via +With our vector $\boldmath{w}$ we can in turn find the value of the intercept $b$ (here in two dimensions) via !bt \[ -y_i(\hat{w}^T\hat{x}_i+b)=1, +y_i(\boldmath{w}^T\boldmath{x}_i+b)=1, \] !et resulting in !bt \[ -b = \frac{1}{y_i}-\hat{w}^T\hat{x}_i. +b = \frac{1}{y_i}-\boldmath{w}^T\boldmath{x}_i, +\] +!et +or if we write it out in terms of the support vectors only, with $N_s$ being their number, we have +!bt +\[ +b = \frac{1}{N_s}\sum_{j\in N_s}\left(y_j-\sum_{i=1}^n\lambda_iy_i\boldmath{x}_i^T\boldmath{x}_j\right). \] !et With our hyperplane coefficients we can use our classifier to assign any observation by simply using !bt \[ -y_i = \mathrm{sign}(\hat{w}^T\hat{x}_i+b). +y_i = \mathrm{sign}(\boldmath{w}^T\boldmath{x}_i+b). \] !et Below we discuss how to find the optimal values of $\lambda_i$. Before we proceed however, we discuss now the so-called soft classifier. @@ -444,22 +450,22 @@ figure here. One way to deal with this problem before we define the so-called _kernel approach_, is to allow a kind of slack in the sense that we allow some points to be on the wrong side of the margin. -We introduce thus the so-called _slack_ variables $\hat{\xi} =[\xi_1,x_2,\dots,x_n]$ and +We introduce thus the so-called _slack_ variables $\boldmath{\xi} =[\xi_1,x_2,\dots,x_n]$ and modify our previous equation !bt \[ -y_i(\hat{w}^T\hat{x}_i+b)=1, +y_i(\boldmath{w}^T\boldmath{x}_i+b)=1, \] !et to !bt \[ -y_i(\hat{w}^T\hat{x}_i+b)=1-\xi_i, +y_i(\boldmath{w}^T\boldmath{x}_i+b)=1-\xi_i, \] !et with the requirement $\xi_i\geq 0$. The total violation is now $\sum_i\xi$. The value $\xi_i$ in the constraint the last constraint corresponds to the amount by which the prediction -$y_i(\hat{w}^T\hat{x}_i+b)=1$ is on the wrong side of its margin. Hence by bounding the sum $\sum_i \xi_i$, +$y_i(\boldmath{w}^T\boldmath{x}_i+b)=1$ is on the wrong side of its margin. Hence by bounding the sum $\sum_i \xi_i$, we bound the total amount by which predictions fall on the wrong side of their margins. Misclassifications occur when $\xi_i > 1$. Thus bounding the total sum by some value $C$ bounds in turn the total number of @@ -472,18 +478,18 @@ misclassifications. This has in turn the consequences that we change our optmization problem to finding the minimum of !bt \[ -{\cal L}=\frac{1}{2}\hat{w}^T\hat{w}-\sum_{i=1}^n\lambda_i\left[y_i(\hat{w}^T\hat{x}_i+b)-(1-\xi_)\right]+C\sum_{i=1}^n\xi_i-\sum_{i=1}^n\gamma_i\xi_i, +{\cal L}=\frac{1}{2}\boldmath{w}^T\boldmath{w}-\sum_{i=1}^n\lambda_i\left[y_i(\boldmath{w}^T\boldmath{x}_i+b)-(1-\xi_)\right]+C\sum_{i=1}^n\xi_i-\sum_{i=1}^n\gamma_i\xi_i, \] !et subject to !bt \[ -y_i(\hat{w}^T\hat{x}_i+b)=1-\xi_i \hspace{0.1cm}\forall i, +y_i(\boldmath{w}^T\boldmath{x}_i+b)=1-\xi_i \hspace{0.1cm}\forall i, \] !et with the requirement $\xi_i\geq 0$. -Taking the derivatives with respect to $b$ and $\hat{w}$ we obtain +Taking the derivatives with respect to $b$ and $\boldmath{w}$ we obtain !bt \[ \frac{\partial {\cal L}}{\partial b} = -\sum_{i} \lambda_iy_i=0, @@ -492,7 +498,7 @@ Taking the derivatives with respect to $b$ and $\hat{w}$ we obtain and !bt \[ -\frac{\partial {\cal L}}{\partial \hat{w}} = 0 = \hat{w}-\sum_{i} \lambda_iy_i\hat{x}_i, +\frac{\partial {\cal L}}{\partial \boldmath{w}} = 0 = \boldmath{w}-\sum_{i} \lambda_iy_i\boldmath{x}_i, \] !et and @@ -504,14 +510,14 @@ and Inserting these constraints into the equation for ${\cal L}$ we obtain the same equation as before !bt \[ -{\cal L}=\sum_i\lambda_i-\frac{1}{2}\sum_{ij}^n\lambda_i\lambda_jy_iy_j\hat{x}_i^T\hat{x}_j, +{\cal L}=\sum_i\lambda_i-\frac{1}{2}\sum_{ij}^n\lambda_i\lambda_jy_iy_j\boldmath{x}_i^T\boldmath{x}_j, \] !et but now subject to the constraints $\lambda_i\geq 0$, $\sum_i\lambda_iy_i=0$ and $0\leq\lambda_i \leq C$. We must in addition satisfy the Karush-Kuhn-Tucker condition which now reads !bt \[ -\lambda_i\left[y_i(\hat{w}^T\hat{x}_i+b) -(1-\xi_)\right]=0 \hspace{0.1cm}\forall i, +\lambda_i\left[y_i(\boldmath{w}^T\boldmath{x}_i+b) -(1-\xi_)\right]=0 \hspace{0.1cm}\forall i, \] !et !bt @@ -522,7 +528,7 @@ We must in addition satisfy the Karush-Kuhn-Tucker condition which now reads and !bt \[ -y_i(\hat{w}^T\hat{x}_i+b) -(1-\xi_) \geq 0 \hspace{0.1cm}\forall i. +y_i(\boldmath{w}^T\boldmath{x}_i+b) -(1-\xi_) \geq 0 \hspace{0.1cm}\forall i. \] !et