From 6ffdb733bdf842d98dd0d130b4a5cbf41d0f5f7b Mon Sep 17 00:00:00 2001 From: mhjensen Date: Wed, 7 Nov 2018 07:35:26 +0100 Subject: [PATCH] Corrected typos in sim --- doc/pub/svm/html/._svm-bs000.html | 2 +- doc/pub/svm/html/._svm-bs004.html | 6 +-- doc/pub/svm/html/._svm-bs018.html | 15 ++++++-- doc/pub/svm/html/._svm-bs019.html | 6 +-- doc/pub/svm/html/._svm-bs020.html | 2 +- doc/pub/svm/html/._svm-bs021.html | 4 +- doc/pub/svm/html/._svm-bs023.html | 14 ++----- doc/pub/svm/html/._svm-bs024.html | 2 +- doc/pub/svm/html/svm-bs.html | 2 +- doc/pub/svm/html/svm-reveal.html | 51 +++++++++++++------------ doc/pub/svm/html/svm-solarized.html | 51 +++++++++++++------------ doc/pub/svm/html/svm.html | 51 +++++++++++++------------ doc/pub/svm/ipynb/ipynb-svm-src.tar.gz | Bin 208 -> 208 bytes doc/pub/svm/ipynb/svm.ipynb | 50 ++++++++++++------------ doc/pub/svm/pdf/svm-minted.pdf | Bin 333426 -> 331483 bytes doc/src/SupportVMachines/svm.do.txt | 39 +++++++++++-------- 16 files changed, 153 insertions(+), 142 deletions(-) diff --git a/doc/pub/svm/html/._svm-bs000.html b/doc/pub/svm/html/._svm-bs000.html index e08dfbbfe..d46b684c2 100644 --- a/doc/pub/svm/html/._svm-bs000.html +++ b/doc/pub/svm/html/._svm-bs000.html @@ -170,7 +170,7 @@ MathJax.Hub.Config({
[2] Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University

-

Nov 6, 2018

+

Nov 7, 2018


diff --git a/doc/pub/svm/html/._svm-bs004.html b/doc/pub/svm/html/._svm-bs004.html index b60f9cb67..749e77be1 100644 --- a/doc/pub/svm/html/._svm-bs004.html +++ b/doc/pub/svm/html/._svm-bs004.html @@ -169,13 +169,13 @@ $$ If the above condition is not met for a given vector \( \boldsymbol{x}_i \) we have $$ -b+w_1x_{i1}+w_2x_{i}2+\dots +w_px_{ip} >0, +b+w_1x_{i1}+w_2x_{i2}+\dots +w_px_{ip} >0, $$ if our output \( y_i=1 \). In this case we say that \( \boldsymbol{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, +b+w_1x_{i1}+w_2x_{i2}+\dots +w_px_{ip} < 0, $$ for the class of observations \( y_i=-1 \), @@ -184,7 +184,7 @@ then \( \boldsymbol{x}_i \) lies on the other side.

Equivalently, for the two classes of observations we have $$ -y_i\left(b+w_1x_{i1}+w_2x_{i}2+\dots +w_px_{ip}\right) > 0. +y_i\left(b+w_1x_{i1}+w_2x_{i2}+\dots +w_px_{ip}\right) > 0. $$

diff --git a/doc/pub/svm/html/._svm-bs018.html b/doc/pub/svm/html/._svm-bs018.html index 072d3320b..d79c46dfd 100644 --- a/doc/pub/svm/html/._svm-bs018.html +++ b/doc/pub/svm/html/._svm-bs018.html @@ -171,17 +171,24 @@ y_i(\boldsymbol{w}^T\boldsymbol{z}_i+b)= 1 \hspace{0.1cm}\forall i, $$ from which we also find \( b \). -To compute \( \boldsymbol{z}_i^T\boldsymbol{Z}_j \) we define the kerne \( K(\boldsymbol{x}_i,\boldsymbol{x}_j) \) as +To compute \( \boldsymbol{z}_i^T\boldsymbol{z}_j \) we define the kerne \( K(\boldsymbol{x}_i,\boldsymbol{x}_j) \) as $$ -K(\boldsymbol{x}_i,\boldsymbol{x}_j)=\boldsymbol{z}_i^T\boldsymbol{Z}_j= \phi(\boldsymbol{x}_i)^T\phi(\boldsymbol{x}_j). +K(\boldsymbol{x}_i,\boldsymbol{x}_j)=\boldsymbol{z}_i^T\boldsymbol{z}_j= \phi(\boldsymbol{x}_i)^T\phi(\boldsymbol{x}_j). $$ For the above example, the kernel reads $$ -K(\boldsymbol{x}_i,\boldsymbol{x}_j)=[x_i^2, y_i^2, \sqrt{2}x_iy_i]^T\begin{bmatrix} x_j^2 \\ y_j^2 \\ \sqrt{2}x_jy_j \end{bmatrix}=x_i^2x_j^2+2x_ixJy_iy_j+y_i^2y_j^2. +K(\boldsymbol{x}_i,\boldsymbol{x}_j)=[x_i^2, y_i^2, \sqrt{2}x_iy_i]^T\begin{bmatrix} x_j^2 \\ y_j^2 \\ \sqrt{2}x_jy_j \end{bmatrix}=x_i^2x_j^2+2x_ix_jy_iy_j+y_i^2y_j^2. $$ -We note that this is nothing but the dot product of the two original vectors \( (\boldsymbol{x}_i^T\boldsymbol{x}_j)^2 \). Instead of thus computing the product in the Lagrangian of \( \boldsymbol{x}_i^T\boldsymbol{z}_j \) we simply compute the dot product \( (\boldsymbol{x}_i^T\boldsymbol{x}_j)^2 \). This leads to the so-called kernel trick and the result leads to the same as if we went through the trouble of performing the transformation \( (\phi(\boldsymbol{x}_i)^T\phi(\boldsymbol{x}_j) \) during the SVM calculations. +

+We note that this is nothing but the dot product of the two original +vectors \( (\boldsymbol{x}_i^T\boldsymbol{x}_j)^2 \). Instead of thus computing the +product in the Lagrangian of \( \boldsymbol{z}_i^T\boldsymbol{z}_j \) we simply compute +the dot product \( (\boldsymbol{x}_i^T\boldsymbol{x}_j)^2 \). This leads to the so-called +kernel trick and the result leads to the same as if we went through +the trouble of performing the transformation +\( (\phi(\boldsymbol{x}_i)^T\phi(\boldsymbol{x}_j) \) during the SVM calculations.

diff --git a/doc/pub/svm/html/._svm-bs019.html b/doc/pub/svm/html/._svm-bs019.html index a94b303c3..2817079ed 100644 --- a/doc/pub/svm/html/._svm-bs019.html +++ b/doc/pub/svm/html/._svm-bs019.html @@ -160,11 +160,11 @@ $$ subject to the constraints \( \lambda_i\geq 0 \), \( \sum_i\lambda_iy_i=0 \) in terms of a convex optimization problem $$ \frac{1}{2} \boldsymbol{\lambda}^T\begin{bmatrix} y_1y_1K(\boldsymbol{x}_1,\boldsymbol{x}_1) & y_1y_2K(\boldsymbol{x}_1,\boldsymbol{x}_2) & \dots & \dots & y_1y_nK(\boldsymbol{x}_1,\boldsymbol{x}_n) \\ -y_2y_1\boldsymbol{x}_2^T\boldsymbol{x}_1 & y_2y_2\boldsymbol{x}_2^T\boldsymbol{x}_2 & \dots & \dots & y_1y_n\boldsymbol{x}_2^T\boldsymbol{x}_n \\ +y_2y_1K(\boldsymbol{x}_2,\boldsymbol{x}_1) & y_2y_2(\boldsymbol{x}_2,\boldsymbol{x}_2) & \dots & \dots & y_1y_nK(\boldsymbol{x}_2,\boldsymbol{x}_n) \\ \dots & \dots & \dots & \dots & \dots \\ \dots & \dots & \dots & \dots & \dots \\ y_ny_1K(\boldsymbol{x}_n,\boldsymbol{x}_1) & y_ny_2K(\boldsymbol{x}_n\boldsymbol{x}_2) & \dots & \dots & y_ny_nK(\boldsymbol{x}_n,\boldsymbol{x}_n) \\ -\end{bmatrix}\boldsymbol{\lambda}-\mathbb{I}\boldsymbol{\lambda}, +\end{bmatrix}\boldsymbol{\lambda}-\mathbb{1}\boldsymbol{\lambda}, $$ subject to \( \boldsymbol{y}^T\boldsymbol{\lambda}=0 \). Here we defined the vectors \( \boldsymbol{\lambda} =[\lambda_1,\lambda_2,\dots,\lambda_n] \) and @@ -176,7 +176,7 @@ We can rewrite this (see the solutions below) in terms of a convex optimization $$ \begin{align*} &\mathrm{min}_{\lambda}\hspace{0.2cm} \frac{1}{2}\boldsymbol{\lambda}^T\boldsymbol{P}\boldsymbol{\lambda}+\boldsymbol{q}^T\boldsymbol{\lambda},\\ \nonumber - &\mathrm{subject to} \hspace{0.2cm} \boldsymbol{G}\boldsymbol{\lambda} \preceq \boldsymbol{h} \hspace{0.2cm} \boldsymbol{A}\boldsymbol{\lambda}=f. + &\mathrm{subject\hspace{0.1cm}to} \hspace{0.2cm} \boldsymbol{G}\boldsymbol{\lambda} \preceq \boldsymbol{h} \hspace{0.2cm} \wedge \boldsymbol{A}\boldsymbol{\lambda}=f. \end{align*} $$ diff --git a/doc/pub/svm/html/._svm-bs020.html b/doc/pub/svm/html/._svm-bs020.html index d6b10f85a..711036856 100644 --- a/doc/pub/svm/html/._svm-bs020.html +++ b/doc/pub/svm/html/._svm-bs020.html @@ -166,7 +166,7 @@ There are several popular kernels being used. These are and many other ones.

-An important theorem for us is "Mercer's theorem":https://en.wikipedia.org/wiki/Mercer%27s_theorem". +An important theorem for us is Mercer's theorem. The theorem states that if a kernel function \( K \) is symmetric, continuous and leads to a positive semi-definite matrix \( \boldsymbol{P} \) then there exists a function \( \phi \) that maps \( \boldsymbol{x}_i \) and \( \boldsymbol{x}_j \) into another space (possibly with much higher dimensions) such that diff --git a/doc/pub/svm/html/._svm-bs021.html b/doc/pub/svm/html/._svm-bs021.html index 516500727..6bb3920cd 100644 --- a/doc/pub/svm/html/._svm-bs021.html +++ b/doc/pub/svm/html/._svm-bs021.html @@ -158,7 +158,7 @@ A mathematical (quadratic) optimization problem, or just optimization problem, h $$ \begin{align*} &\mathrm{min}_{\lambda}\hspace{0.2cm} \frac{1}{2}\boldsymbol{\lambda}^T\boldsymbol{P}\boldsymbol{\lambda}+\boldsymbol{q}^T\boldsymbol{\lambda},\\ \nonumber - &\mathrm{subject to} \hspace{0.2cm} \boldsymbol{G}\boldsymbol{\lambda} \preceq \boldsymbol{h} \hspace{0.2cm} \boldsymbol{A}\boldsymbol{\lambda}=f. + &\mathrm{subject\hspace{0.1cm}to} \hspace{0.2cm} \boldsymbol{G}\boldsymbol{\lambda} \preceq \boldsymbol{h} \wedge \boldsymbol{A}\boldsymbol{\lambda}=f. \end{align*} $$ @@ -168,7 +168,7 @@ vector \( \boldsymbol{\lambda}=[\lambda_1, \lambda_2,\dots, \lambda_n] \) is the

In our case we are particularly interested in a class of optimization problems called convex optmization problems. -In our disussion on gradient descent methods we discussed at length the definition of a convex function. +In our discussion on gradient descent methods we discussed at length the definition of a convex function.

Convex optimization problems play a central role in applied mathematics and we recommend strongly Boyd and Vandenberghe's text on the topics. diff --git a/doc/pub/svm/html/._svm-bs023.html b/doc/pub/svm/html/._svm-bs023.html index d223dbeb0..a8134b546 100644 --- a/doc/pub/svm/html/._svm-bs023.html +++ b/doc/pub/svm/html/._svm-bs023.html @@ -158,7 +158,7 @@ We remind ourselves about the general problem we want to solve $$ \begin{align*} &\mathrm{min}_{x}\hspace{0.2cm} \frac{1}{2}\boldsymbol{x}^T\boldsymbol{P}\boldsymbol{x}+\boldsymbol{q}^T\boldsymbol{x},\\ \nonumber - &\mathrm{subject to} \hspace{0.2cm} \boldsymbol{G}\boldsymbol{x} \preceq \boldsymbol{h} \hspace{0.2cm} \boldsymbol{A}\boldsymbol{x}=f. + &\mathrm{subject\hspace{0.1cm} to} \hspace{0.2cm} \boldsymbol{G}\boldsymbol{x} \preceq \boldsymbol{h} \wedge \boldsymbol{A}\boldsymbol{x}=f. \end{align*} $$ @@ -177,12 +177,12 @@ $$ The minimization problem can be rewritten in terms of vectors and matrices as (with \( x \) and \( y \) being the unknowns) $$ -frac{1}{2}\begin{bmatrix} x\\ y \end{bmatrix}^T \begin{bmatrix} 1 & 0\\ 0 & 0 \end{bmatrix} \begin{bmatrix} x \\ y \end{bmatrix} + \begin{bmatrix}3\\ 4 \end{bmatrix}^T \begin{bmatrix}x \\ y \end{bmatrix}. +\frac{1}{2}\begin{bmatrix} x\\ y \end{bmatrix}^T \begin{bmatrix} 1 & 0\\ 0 & 0 \end{bmatrix} \begin{bmatrix} x \\ y \end{bmatrix} + \begin{bmatrix}3\\ 4 \end{bmatrix}^T \begin{bmatrix}x \\ y \end{bmatrix}. $$ Similarly, we can now set up the inequalities (we need to change \( \geq \) to \( \leq \) by multiplying with \( -1 \) on bot sides) as the following matrix-vector equation $$ -\begin{bmatrix} -1 & 0 \\ 0 & -1 \\ -1 & -3 \\ 2 & 5 \\ 3 & 4\end{matrix}\begin{bmatrix} x \\ y\end{bmatrix} \preceq \begin{bmatrix}0 \\ 0\\ -15 \\ 100 \\ 80\end{bmatrix}. +\begin{bmatrix} -1 & 0 \\ 0 & -1 \\ -1 & -3 \\ 2 & 5 \\ 3 & 4\end{bmatrix}\begin{bmatrix} x \\ y\end{bmatrix} \preceq \begin{bmatrix}0 \\ 0\\ -15 \\ 100 \\ 80\end{bmatrix}. $$ We have collapsed all the inequalities into a single matrix \( \boldsymbol{G} \). We see also that our matrix @@ -198,7 +198,7 @@ $$

Since we don't have any equalities the matrix \( \boldsymbol{A} \) is set to zero -The following code does this for us +The following code solves the equations for us

@@ -206,12 +206,6 @@ The following code does this for us import numpy from cvxopt import matrix from cvxopt import solvers -# Define QP parameters (directly) -P = matrix([[1.0,0.0],[0.0,0.0]]) -q = matrix([3.0,4.0]) -G = matrix([[-1.0,0.0,-1.0,2.0,3.0],[0.0,-1.0,-3.0,5.0,4.0]]) -h = matrix([0.0,0.0,-15.0,100.0,80.0]) -# Define QP parameters (with NumPy) P = matrix(numpy.diag([1,0]), tc=’d’) q = matrix(numpy.array([3,4]), tc=’d’) G = matrix(numpy.array([[-1,0],[0,-1],[-1,-3],[2,5],[3,4]]), tc=’d’) diff --git a/doc/pub/svm/html/._svm-bs024.html b/doc/pub/svm/html/._svm-bs024.html index 6dcd0583d..aa7fb5b20 100644 --- a/doc/pub/svm/html/._svm-bs024.html +++ b/doc/pub/svm/html/._svm-bs024.html @@ -157,7 +157,7 @@ MathJax.Hub.Config({ We are now ready to return to our setup of the optmization problem for a more realistic case. Introducint the slack parameter \( C \) we have $$ \frac{1}{2} \boldsymbol{\lambda}^T\begin{bmatrix} y_1y_1K(\boldsymbol{x}_1,\boldsymbol{x}_1) & y_1y_2K(\boldsymbol{x}_1,\boldsymbol{x}_2) & \dots & \dots & y_1y_nK(\boldsymbol{x}_1,\boldsymbol{x}_n) \\ -y_2y_1\boldsymbol{x}_2^T\boldsymbol{x}_1 & y_2y_2\boldsymbol{x}_2^T\boldsymbol{x}_2 & \dots & \dots & y_1y_n\boldsymbol{x}_2^T\boldsymbol{x}_n \\ +y_2y_1K(\boldsymbol{x}_2,\boldsymbol{x}_1) & y_2y_2K(\boldsymbol{x}_2,\boldsymbol{x}_2) & \dots & \dots & y_1y_nK(\boldsymbol{x}_2,\boldsymbol{x}_n) \\ \dots & \dots & \dots & \dots & \dots \\ \dots & \dots & \dots & \dots & \dots \\ y_ny_1K(\boldsymbol{x}_n,\boldsymbol{x}_1) & y_ny_2K(\boldsymbol{x}_n\boldsymbol{x}_2) & \dots & \dots & y_ny_nK(\boldsymbol{x}_n,\boldsymbol{x}_n) \\ diff --git a/doc/pub/svm/html/svm-bs.html b/doc/pub/svm/html/svm-bs.html index e08dfbbfe..d46b684c2 100644 --- a/doc/pub/svm/html/svm-bs.html +++ b/doc/pub/svm/html/svm-bs.html @@ -170,7 +170,7 @@ MathJax.Hub.Config({

[2] Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University

-

Nov 6, 2018

+

Nov 7, 2018


diff --git a/doc/pub/svm/html/svm-reveal.html b/doc/pub/svm/html/svm-reveal.html index 3916fb6df..e68b85bc0 100644 --- a/doc/pub/svm/html/svm-reveal.html +++ b/doc/pub/svm/html/svm-reveal.html @@ -148,7 +148,7 @@ MathJax.Hub.Config({

[2] Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University

 
-

Nov 6, 2018

+

Nov 7, 2018


@@ -265,7 +265,7 @@ $$ If the above condition is not met for a given vector \( \boldsymbol{x}_i \) we have

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

 
@@ -273,7 +273,7 @@ if our output \( y_i=1 \). In this case we say that \( \boldsymbol{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, +b+w_1x_{i1}+w_2x_{i2}+\dots +w_px_{ip} < 0, $$

 
@@ -284,7 +284,7 @@ then \( \boldsymbol{x}_i \) lies on the other side. Equivalently, for the two classes of observations we have

 
$$ -y_i\left(b+w_1x_{i1}+w_2x_{i}2+\dots +w_px_{ip}\right) > 0. +y_i\left(b+w_1x_{i1}+w_2x_{i2}+\dots +w_px_{ip}\right) > 0. $$

 
@@ -858,21 +858,28 @@ $$

 
from which we also find \( b \). -To compute \( \boldsymbol{z}_i^T\boldsymbol{Z}_j \) we define the kerne \( K(\boldsymbol{x}_i,\boldsymbol{x}_j) \) as +To compute \( \boldsymbol{z}_i^T\boldsymbol{z}_j \) we define the kerne \( K(\boldsymbol{x}_i,\boldsymbol{x}_j) \) as

 
$$ -K(\boldsymbol{x}_i,\boldsymbol{x}_j)=\boldsymbol{z}_i^T\boldsymbol{Z}_j= \phi(\boldsymbol{x}_i)^T\phi(\boldsymbol{x}_j). +K(\boldsymbol{x}_i,\boldsymbol{x}_j)=\boldsymbol{z}_i^T\boldsymbol{z}_j= \phi(\boldsymbol{x}_i)^T\phi(\boldsymbol{x}_j). $$

 
For the above example, the kernel reads

 
$$ -K(\boldsymbol{x}_i,\boldsymbol{x}_j)=[x_i^2, y_i^2, \sqrt{2}x_iy_i]^T\begin{bmatrix} x_j^2 \\ y_j^2 \\ \sqrt{2}x_jy_j \end{bmatrix}=x_i^2x_j^2+2x_ixJy_iy_j+y_i^2y_j^2. +K(\boldsymbol{x}_i,\boldsymbol{x}_j)=[x_i^2, y_i^2, \sqrt{2}x_iy_i]^T\begin{bmatrix} x_j^2 \\ y_j^2 \\ \sqrt{2}x_jy_j \end{bmatrix}=x_i^2x_j^2+2x_ix_jy_iy_j+y_i^2y_j^2. $$

 
-We note that this is nothing but the dot product of the two original vectors \( (\boldsymbol{x}_i^T\boldsymbol{x}_j)^2 \). Instead of thus computing the product in the Lagrangian of \( \boldsymbol{x}_i^T\boldsymbol{z}_j \) we simply compute the dot product \( (\boldsymbol{x}_i^T\boldsymbol{x}_j)^2 \). This leads to the so-called kernel trick and the result leads to the same as if we went through the trouble of performing the transformation \( (\phi(\boldsymbol{x}_i)^T\phi(\boldsymbol{x}_j) \) during the SVM calculations. +

+We note that this is nothing but the dot product of the two original +vectors \( (\boldsymbol{x}_i^T\boldsymbol{x}_j)^2 \). Instead of thus computing the +product in the Lagrangian of \( \boldsymbol{z}_i^T\boldsymbol{z}_j \) we simply compute +the dot product \( (\boldsymbol{x}_i^T\boldsymbol{x}_j)^2 \). This leads to the so-called +kernel trick and the result leads to the same as if we went through +the trouble of performing the transformation +\( (\phi(\boldsymbol{x}_i)^T\phi(\boldsymbol{x}_j) \) during the SVM calculations. @@ -889,11 +896,11 @@ subject to the constraints \( \lambda_i\geq 0 \), \( \sum_i\lambda_iy_i=0 \) in

 
$$ \frac{1}{2} \boldsymbol{\lambda}^T\begin{bmatrix} y_1y_1K(\boldsymbol{x}_1,\boldsymbol{x}_1) & y_1y_2K(\boldsymbol{x}_1,\boldsymbol{x}_2) & \dots & \dots & y_1y_nK(\boldsymbol{x}_1,\boldsymbol{x}_n) \\ -y_2y_1\boldsymbol{x}_2^T\boldsymbol{x}_1 & y_2y_2\boldsymbol{x}_2^T\boldsymbol{x}_2 & \dots & \dots & y_1y_n\boldsymbol{x}_2^T\boldsymbol{x}_n \\ +y_2y_1K(\boldsymbol{x}_2,\boldsymbol{x}_1) & y_2y_2(\boldsymbol{x}_2,\boldsymbol{x}_2) & \dots & \dots & y_1y_nK(\boldsymbol{x}_2,\boldsymbol{x}_n) \\ \dots & \dots & \dots & \dots & \dots \\ \dots & \dots & \dots & \dots & \dots \\ y_ny_1K(\boldsymbol{x}_n,\boldsymbol{x}_1) & y_ny_2K(\boldsymbol{x}_n\boldsymbol{x}_2) & \dots & \dots & y_ny_nK(\boldsymbol{x}_n,\boldsymbol{x}_n) \\ -\end{bmatrix}\boldsymbol{\lambda}-\mathbb{I}\boldsymbol{\lambda}, +\end{bmatrix}\boldsymbol{\lambda}-\mathbb{1}\boldsymbol{\lambda}, $$

 
@@ -907,7 +914,7 @@ We can rewrite this (see the solutions below) in terms of a convex optimization $$ \begin{align*} &\mathrm{min}_{\lambda}\hspace{0.2cm} \frac{1}{2}\boldsymbol{\lambda}^T\boldsymbol{P}\boldsymbol{\lambda}+\boldsymbol{q}^T\boldsymbol{\lambda},\\ \nonumber - &\mathrm{subject to} \hspace{0.2cm} \boldsymbol{G}\boldsymbol{\lambda} \preceq \boldsymbol{h} \hspace{0.2cm} \boldsymbol{A}\boldsymbol{\lambda}=f. + &\mathrm{subject\hspace{0.1cm}to} \hspace{0.2cm} \boldsymbol{G}\boldsymbol{\lambda} \preceq \boldsymbol{h} \hspace{0.2cm} \wedge \boldsymbol{A}\boldsymbol{\lambda}=f. \end{align*} $$

 
@@ -935,7 +942,7 @@ There are several popular kernels being used. These are and many other ones.

-An important theorem for us is "Mercer's theorem":https://en.wikipedia.org/wiki/Mercer%27s_theorem". +An important theorem for us is Mercer's theorem. The theorem states that if a kernel function \( K \) is symmetric, continuous and leads to a positive semi-definite matrix \( \boldsymbol{P} \) then there exists a function \( \phi \) that maps \( \boldsymbol{x}_i \) and \( \boldsymbol{x}_j \) into another space (possibly with much higher dimensions) such that @@ -961,7 +968,7 @@ A mathematical (quadratic) optimization problem, or just optimization problem, h $$ \begin{align*} &\mathrm{min}_{\lambda}\hspace{0.2cm} \frac{1}{2}\boldsymbol{\lambda}^T\boldsymbol{P}\boldsymbol{\lambda}+\boldsymbol{q}^T\boldsymbol{\lambda},\\ \nonumber - &\mathrm{subject to} \hspace{0.2cm} \boldsymbol{G}\boldsymbol{\lambda} \preceq \boldsymbol{h} \hspace{0.2cm} \boldsymbol{A}\boldsymbol{\lambda}=f. + &\mathrm{subject\hspace{0.1cm}to} \hspace{0.2cm} \boldsymbol{G}\boldsymbol{\lambda} \preceq \boldsymbol{h} \wedge \boldsymbol{A}\boldsymbol{\lambda}=f. \end{align*} $$

 
@@ -972,7 +979,7 @@ vector \( \boldsymbol{\lambda}=[\lambda_1, \lambda_2,\dots, \lambda_n] \) is the

In our case we are particularly interested in a class of optimization problems called convex optmization problems. -In our disussion on gradient descent methods we discussed at length the definition of a convex function. +In our discussion on gradient descent methods we discussed at length the definition of a convex function.

Convex optimization problems play a central role in applied mathematics and we recommend strongly Boyd and Vandenberghe's text on the topics. @@ -1014,7 +1021,7 @@ We remind ourselves about the general problem we want to solve $$ \begin{align*} &\mathrm{min}_{x}\hspace{0.2cm} \frac{1}{2}\boldsymbol{x}^T\boldsymbol{P}\boldsymbol{x}+\boldsymbol{q}^T\boldsymbol{x},\\ \nonumber - &\mathrm{subject to} \hspace{0.2cm} \boldsymbol{G}\boldsymbol{x} \preceq \boldsymbol{h} \hspace{0.2cm} \boldsymbol{A}\boldsymbol{x}=f. + &\mathrm{subject\hspace{0.1cm} to} \hspace{0.2cm} \boldsymbol{G}\boldsymbol{x} \preceq \boldsymbol{h} \wedge \boldsymbol{A}\boldsymbol{x}=f. \end{align*} $$

 
@@ -1037,14 +1044,14 @@ $$ The minimization problem can be rewritten in terms of vectors and matrices as (with \( x \) and \( y \) being the unknowns)

 
$$ -frac{1}{2}\begin{bmatrix} x\\ y \end{bmatrix}^T \begin{bmatrix} 1 & 0\\ 0 & 0 \end{bmatrix} \begin{bmatrix} x \\ y \end{bmatrix} + \begin{bmatrix}3\\ 4 \end{bmatrix}^T \begin{bmatrix}x \\ y \end{bmatrix}. +\frac{1}{2}\begin{bmatrix} x\\ y \end{bmatrix}^T \begin{bmatrix} 1 & 0\\ 0 & 0 \end{bmatrix} \begin{bmatrix} x \\ y \end{bmatrix} + \begin{bmatrix}3\\ 4 \end{bmatrix}^T \begin{bmatrix}x \\ y \end{bmatrix}. $$

 
Similarly, we can now set up the inequalities (we need to change \( \geq \) to \( \leq \) by multiplying with \( -1 \) on bot sides) as the following matrix-vector equation

 
$$ -\begin{bmatrix} -1 & 0 \\ 0 & -1 \\ -1 & -3 \\ 2 & 5 \\ 3 & 4\end{matrix}\begin{bmatrix} x \\ y\end{bmatrix} \preceq \begin{bmatrix}0 \\ 0\\ -15 \\ 100 \\ 80\end{bmatrix}. +\begin{bmatrix} -1 & 0 \\ 0 & -1 \\ -1 & -3 \\ 2 & 5 \\ 3 & 4\end{bmatrix}\begin{bmatrix} x \\ y\end{bmatrix} \preceq \begin{bmatrix}0 \\ 0\\ -15 \\ 100 \\ 80\end{bmatrix}. $$

 
@@ -1065,7 +1072,7 @@ $$

Since we don't have any equalities the matrix \( \boldsymbol{A} \) is set to zero -The following code does this for us +The following code solves the equations for us

@@ -1073,12 +1080,6 @@ The following code does this for us import numpy from cvxopt import matrix from cvxopt import solvers -# Define QP parameters (directly) -P = matrix([[1.0,0.0],[0.0,0.0]]) -q = matrix([3.0,4.0]) -G = matrix([[-1.0,0.0,-1.0,2.0,3.0],[0.0,-1.0,-3.0,5.0,4.0]]) -h = matrix([0.0,0.0,-15.0,100.0,80.0]) -# Define QP parameters (with NumPy) P = matrix(numpy.diag([1,0]), tc=d) q = matrix(numpy.array([3,4]), tc=d) G = matrix(numpy.array([[-1,0],[0,-1],[-1,-3],[2,5],[3,4]]), tc=d) @@ -1100,7 +1101,7 @@ We are now ready to return to our setup of the optmization problem for a more re

 
$$ \frac{1}{2} \boldsymbol{\lambda}^T\begin{bmatrix} y_1y_1K(\boldsymbol{x}_1,\boldsymbol{x}_1) & y_1y_2K(\boldsymbol{x}_1,\boldsymbol{x}_2) & \dots & \dots & y_1y_nK(\boldsymbol{x}_1,\boldsymbol{x}_n) \\ -y_2y_1\boldsymbol{x}_2^T\boldsymbol{x}_1 & y_2y_2\boldsymbol{x}_2^T\boldsymbol{x}_2 & \dots & \dots & y_1y_n\boldsymbol{x}_2^T\boldsymbol{x}_n \\ +y_2y_1K(\boldsymbol{x}_2,\boldsymbol{x}_1) & y_2y_2K(\boldsymbol{x}_2,\boldsymbol{x}_2) & \dots & \dots & y_1y_nK(\boldsymbol{x}_2,\boldsymbol{x}_n) \\ \dots & \dots & \dots & \dots & \dots \\ \dots & \dots & \dots & \dots & \dots \\ y_ny_1K(\boldsymbol{x}_n,\boldsymbol{x}_1) & y_ny_2K(\boldsymbol{x}_n\boldsymbol{x}_2) & \dots & \dots & y_ny_nK(\boldsymbol{x}_n,\boldsymbol{x}_n) \\ diff --git a/doc/pub/svm/html/svm-solarized.html b/doc/pub/svm/html/svm-solarized.html index edb7dc9c0..582cd6470 100644 --- a/doc/pub/svm/html/svm-solarized.html +++ b/doc/pub/svm/html/svm-solarized.html @@ -109,7 +109,7 @@ MathJax.Hub.Config({

[2] Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University

-

Nov 6, 2018

+

Nov 7, 2018












@@ -211,13 +211,13 @@ $$ If the above condition is not met for a given vector \( \boldsymbol{x}_i \) we have $$ -b+w_1x_{i1}+w_2x_{i}2+\dots +w_px_{ip} >0, +b+w_1x_{i1}+w_2x_{i2}+\dots +w_px_{ip} >0, $$ if our output \( y_i=1 \). In this case we say that \( \boldsymbol{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, +b+w_1x_{i1}+w_2x_{i2}+\dots +w_px_{ip} < 0, $$ for the class of observations \( y_i=-1 \), @@ -226,7 +226,7 @@ then \( \boldsymbol{x}_i \) lies on the other side.

Equivalently, for the two classes of observations we have $$ -y_i\left(b+w_1x_{i1}+w_2x_{i}2+\dots +w_px_{ip}\right) > 0. +y_i\left(b+w_1x_{i1}+w_2x_{i2}+\dots +w_px_{ip}\right) > 0. $$

@@ -700,17 +700,24 @@ y_i(\boldsymbol{w}^T\boldsymbol{z}_i+b)= 1 \hspace{0.1cm}\forall i, $$ from which we also find \( b \). -To compute \( \boldsymbol{z}_i^T\boldsymbol{Z}_j \) we define the kerne \( K(\boldsymbol{x}_i,\boldsymbol{x}_j) \) as +To compute \( \boldsymbol{z}_i^T\boldsymbol{z}_j \) we define the kerne \( K(\boldsymbol{x}_i,\boldsymbol{x}_j) \) as $$ -K(\boldsymbol{x}_i,\boldsymbol{x}_j)=\boldsymbol{z}_i^T\boldsymbol{Z}_j= \phi(\boldsymbol{x}_i)^T\phi(\boldsymbol{x}_j). +K(\boldsymbol{x}_i,\boldsymbol{x}_j)=\boldsymbol{z}_i^T\boldsymbol{z}_j= \phi(\boldsymbol{x}_i)^T\phi(\boldsymbol{x}_j). $$ For the above example, the kernel reads $$ -K(\boldsymbol{x}_i,\boldsymbol{x}_j)=[x_i^2, y_i^2, \sqrt{2}x_iy_i]^T\begin{bmatrix} x_j^2 \\ y_j^2 \\ \sqrt{2}x_jy_j \end{bmatrix}=x_i^2x_j^2+2x_ixJy_iy_j+y_i^2y_j^2. +K(\boldsymbol{x}_i,\boldsymbol{x}_j)=[x_i^2, y_i^2, \sqrt{2}x_iy_i]^T\begin{bmatrix} x_j^2 \\ y_j^2 \\ \sqrt{2}x_jy_j \end{bmatrix}=x_i^2x_j^2+2x_ix_jy_iy_j+y_i^2y_j^2. $$ -We note that this is nothing but the dot product of the two original vectors \( (\boldsymbol{x}_i^T\boldsymbol{x}_j)^2 \). Instead of thus computing the product in the Lagrangian of \( \boldsymbol{x}_i^T\boldsymbol{z}_j \) we simply compute the dot product \( (\boldsymbol{x}_i^T\boldsymbol{x}_j)^2 \). This leads to the so-called kernel trick and the result leads to the same as if we went through the trouble of performing the transformation \( (\phi(\boldsymbol{x}_i)^T\phi(\boldsymbol{x}_j) \) during the SVM calculations. +

+We note that this is nothing but the dot product of the two original +vectors \( (\boldsymbol{x}_i^T\boldsymbol{x}_j)^2 \). Instead of thus computing the +product in the Lagrangian of \( \boldsymbol{z}_i^T\boldsymbol{z}_j \) we simply compute +the dot product \( (\boldsymbol{x}_i^T\boldsymbol{x}_j)^2 \). This leads to the so-called +kernel trick and the result leads to the same as if we went through +the trouble of performing the transformation +\( (\phi(\boldsymbol{x}_i)^T\phi(\boldsymbol{x}_j) \) during the SVM calculations.











@@ -724,11 +731,11 @@ $$ subject to the constraints \( \lambda_i\geq 0 \), \( \sum_i\lambda_iy_i=0 \) in terms of a convex optimization problem $$ \frac{1}{2} \boldsymbol{\lambda}^T\begin{bmatrix} y_1y_1K(\boldsymbol{x}_1,\boldsymbol{x}_1) & y_1y_2K(\boldsymbol{x}_1,\boldsymbol{x}_2) & \dots & \dots & y_1y_nK(\boldsymbol{x}_1,\boldsymbol{x}_n) \\ -y_2y_1\boldsymbol{x}_2^T\boldsymbol{x}_1 & y_2y_2\boldsymbol{x}_2^T\boldsymbol{x}_2 & \dots & \dots & y_1y_n\boldsymbol{x}_2^T\boldsymbol{x}_n \\ +y_2y_1K(\boldsymbol{x}_2,\boldsymbol{x}_1) & y_2y_2(\boldsymbol{x}_2,\boldsymbol{x}_2) & \dots & \dots & y_1y_nK(\boldsymbol{x}_2,\boldsymbol{x}_n) \\ \dots & \dots & \dots & \dots & \dots \\ \dots & \dots & \dots & \dots & \dots \\ y_ny_1K(\boldsymbol{x}_n,\boldsymbol{x}_1) & y_ny_2K(\boldsymbol{x}_n\boldsymbol{x}_2) & \dots & \dots & y_ny_nK(\boldsymbol{x}_n,\boldsymbol{x}_n) \\ -\end{bmatrix}\boldsymbol{\lambda}-\mathbb{I}\boldsymbol{\lambda}, +\end{bmatrix}\boldsymbol{\lambda}-\mathbb{1}\boldsymbol{\lambda}, $$ subject to \( \boldsymbol{y}^T\boldsymbol{\lambda}=0 \). Here we defined the vectors \( \boldsymbol{\lambda} =[\lambda_1,\lambda_2,\dots,\lambda_n] \) and @@ -740,7 +747,7 @@ We can rewrite this (see the solutions below) in terms of a convex optimization $$ \begin{align*} &\mathrm{min}_{\lambda}\hspace{0.2cm} \frac{1}{2}\boldsymbol{\lambda}^T\boldsymbol{P}\boldsymbol{\lambda}+\boldsymbol{q}^T\boldsymbol{\lambda},\\ \nonumber - &\mathrm{subject to} \hspace{0.2cm} \boldsymbol{G}\boldsymbol{\lambda} \preceq \boldsymbol{h} \hspace{0.2cm} \boldsymbol{A}\boldsymbol{\lambda}=f. + &\mathrm{subject\hspace{0.1cm}to} \hspace{0.2cm} \boldsymbol{G}\boldsymbol{\lambda} \preceq \boldsymbol{h} \hspace{0.2cm} \wedge \boldsymbol{A}\boldsymbol{\lambda}=f. \end{align*} $$ @@ -766,7 +773,7 @@ There are several popular kernels being used. These are and many other ones.

-An important theorem for us is "Mercer's theorem":https://en.wikipedia.org/wiki/Mercer%27s_theorem". +An important theorem for us is Mercer's theorem. The theorem states that if a kernel function \( K \) is symmetric, continuous and leads to a positive semi-definite matrix \( \boldsymbol{P} \) then there exists a function \( \phi \) that maps \( \boldsymbol{x}_i \) and \( \boldsymbol{x}_j \) into another space (possibly with much higher dimensions) such that @@ -789,7 +796,7 @@ A mathematical (quadratic) optimization problem, or just optimization problem, h $$ \begin{align*} &\mathrm{min}_{\lambda}\hspace{0.2cm} \frac{1}{2}\boldsymbol{\lambda}^T\boldsymbol{P}\boldsymbol{\lambda}+\boldsymbol{q}^T\boldsymbol{\lambda},\\ \nonumber - &\mathrm{subject to} \hspace{0.2cm} \boldsymbol{G}\boldsymbol{\lambda} \preceq \boldsymbol{h} \hspace{0.2cm} \boldsymbol{A}\boldsymbol{\lambda}=f. + &\mathrm{subject\hspace{0.1cm}to} \hspace{0.2cm} \boldsymbol{G}\boldsymbol{\lambda} \preceq \boldsymbol{h} \wedge \boldsymbol{A}\boldsymbol{\lambda}=f. \end{align*} $$ @@ -799,7 +806,7 @@ vector \( \boldsymbol{\lambda}=[\lambda_1, \lambda_2,\dots, \lambda_n] \) is the

In our case we are particularly interested in a class of optimization problems called convex optmization problems. -In our disussion on gradient descent methods we discussed at length the definition of a convex function. +In our discussion on gradient descent methods we discussed at length the definition of a convex function.

Convex optimization problems play a central role in applied mathematics and we recommend strongly Boyd and Vandenberghe's text on the topics. @@ -840,7 +847,7 @@ We remind ourselves about the general problem we want to solve $$ \begin{align*} &\mathrm{min}_{x}\hspace{0.2cm} \frac{1}{2}\boldsymbol{x}^T\boldsymbol{P}\boldsymbol{x}+\boldsymbol{q}^T\boldsymbol{x},\\ \nonumber - &\mathrm{subject to} \hspace{0.2cm} \boldsymbol{G}\boldsymbol{x} \preceq \boldsymbol{h} \hspace{0.2cm} \boldsymbol{A}\boldsymbol{x}=f. + &\mathrm{subject\hspace{0.1cm} to} \hspace{0.2cm} \boldsymbol{G}\boldsymbol{x} \preceq \boldsymbol{h} \wedge \boldsymbol{A}\boldsymbol{x}=f. \end{align*} $$ @@ -859,12 +866,12 @@ $$ The minimization problem can be rewritten in terms of vectors and matrices as (with \( x \) and \( y \) being the unknowns) $$ -frac{1}{2}\begin{bmatrix} x\\ y \end{bmatrix}^T \begin{bmatrix} 1 & 0\\ 0 & 0 \end{bmatrix} \begin{bmatrix} x \\ y \end{bmatrix} + \begin{bmatrix}3\\ 4 \end{bmatrix}^T \begin{bmatrix}x \\ y \end{bmatrix}. +\frac{1}{2}\begin{bmatrix} x\\ y \end{bmatrix}^T \begin{bmatrix} 1 & 0\\ 0 & 0 \end{bmatrix} \begin{bmatrix} x \\ y \end{bmatrix} + \begin{bmatrix}3\\ 4 \end{bmatrix}^T \begin{bmatrix}x \\ y \end{bmatrix}. $$ Similarly, we can now set up the inequalities (we need to change \( \geq \) to \( \leq \) by multiplying with \( -1 \) on bot sides) as the following matrix-vector equation $$ -\begin{bmatrix} -1 & 0 \\ 0 & -1 \\ -1 & -3 \\ 2 & 5 \\ 3 & 4\end{matrix}\begin{bmatrix} x \\ y\end{bmatrix} \preceq \begin{bmatrix}0 \\ 0\\ -15 \\ 100 \\ 80\end{bmatrix}. +\begin{bmatrix} -1 & 0 \\ 0 & -1 \\ -1 & -3 \\ 2 & 5 \\ 3 & 4\end{bmatrix}\begin{bmatrix} x \\ y\end{bmatrix} \preceq \begin{bmatrix}0 \\ 0\\ -15 \\ 100 \\ 80\end{bmatrix}. $$ We have collapsed all the inequalities into a single matrix \( \boldsymbol{G} \). We see also that our matrix @@ -880,7 +887,7 @@ $$

Since we don't have any equalities the matrix \( \boldsymbol{A} \) is set to zero -The following code does this for us +The following code solves the equations for us

@@ -888,12 +895,6 @@ The following code does this for us import numpy from cvxopt import matrix from cvxopt import solvers -# Define QP parameters (directly) -P = matrix([[1.0,0.0],[0.0,0.0]]) -q = matrix([3.0,4.0]) -G = matrix([[-1.0,0.0,-1.0,2.0,3.0],[0.0,-1.0,-3.0,5.0,4.0]]) -h = matrix([0.0,0.0,-15.0,100.0,80.0]) -# Define QP parameters (with NumPy) P = matrix(numpy.diag([1,0]), tc=d) q = matrix(numpy.array([3,4]), tc=d) G = matrix(numpy.array([[-1,0],[0,-1],[-1,-3],[2,5],[3,4]]), tc=d) @@ -913,7 +914,7 @@ sol[primal obj We are now ready to return to our setup of the optmization problem for a more realistic case. Introducint the slack parameter \( C \) we have $$ \frac{1}{2} \boldsymbol{\lambda}^T\begin{bmatrix} y_1y_1K(\boldsymbol{x}_1,\boldsymbol{x}_1) & y_1y_2K(\boldsymbol{x}_1,\boldsymbol{x}_2) & \dots & \dots & y_1y_nK(\boldsymbol{x}_1,\boldsymbol{x}_n) \\ -y_2y_1\boldsymbol{x}_2^T\boldsymbol{x}_1 & y_2y_2\boldsymbol{x}_2^T\boldsymbol{x}_2 & \dots & \dots & y_1y_n\boldsymbol{x}_2^T\boldsymbol{x}_n \\ +y_2y_1K(\boldsymbol{x}_2,\boldsymbol{x}_1) & y_2y_2K(\boldsymbol{x}_2,\boldsymbol{x}_2) & \dots & \dots & y_1y_nK(\boldsymbol{x}_2,\boldsymbol{x}_n) \\ \dots & \dots & \dots & \dots & \dots \\ \dots & \dots & \dots & \dots & \dots \\ y_ny_1K(\boldsymbol{x}_n,\boldsymbol{x}_1) & y_ny_2K(\boldsymbol{x}_n\boldsymbol{x}_2) & \dots & \dots & y_ny_nK(\boldsymbol{x}_n,\boldsymbol{x}_n) \\ diff --git a/doc/pub/svm/html/svm.html b/doc/pub/svm/html/svm.html index 2ef8ae2da..7b4651af8 100644 --- a/doc/pub/svm/html/svm.html +++ b/doc/pub/svm/html/svm.html @@ -114,7 +114,7 @@ MathJax.Hub.Config({

[2] Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University

-

Nov 6, 2018

+

Nov 7, 2018












@@ -216,13 +216,13 @@ $$ If the above condition is not met for a given vector \( \boldsymbol{x}_i \) we have $$ -b+w_1x_{i1}+w_2x_{i}2+\dots +w_px_{ip} >0, +b+w_1x_{i1}+w_2x_{i2}+\dots +w_px_{ip} >0, $$ if our output \( y_i=1 \). In this case we say that \( \boldsymbol{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, +b+w_1x_{i1}+w_2x_{i2}+\dots +w_px_{ip} < 0, $$ for the class of observations \( y_i=-1 \), @@ -231,7 +231,7 @@ then \( \boldsymbol{x}_i \) lies on the other side.

Equivalently, for the two classes of observations we have $$ -y_i\left(b+w_1x_{i1}+w_2x_{i}2+\dots +w_px_{ip}\right) > 0. +y_i\left(b+w_1x_{i1}+w_2x_{i2}+\dots +w_px_{ip}\right) > 0. $$

@@ -705,17 +705,24 @@ y_i(\boldsymbol{w}^T\boldsymbol{z}_i+b)= 1 \hspace{0.1cm}\forall i, $$ from which we also find \( b \). -To compute \( \boldsymbol{z}_i^T\boldsymbol{Z}_j \) we define the kerne \( K(\boldsymbol{x}_i,\boldsymbol{x}_j) \) as +To compute \( \boldsymbol{z}_i^T\boldsymbol{z}_j \) we define the kerne \( K(\boldsymbol{x}_i,\boldsymbol{x}_j) \) as $$ -K(\boldsymbol{x}_i,\boldsymbol{x}_j)=\boldsymbol{z}_i^T\boldsymbol{Z}_j= \phi(\boldsymbol{x}_i)^T\phi(\boldsymbol{x}_j). +K(\boldsymbol{x}_i,\boldsymbol{x}_j)=\boldsymbol{z}_i^T\boldsymbol{z}_j= \phi(\boldsymbol{x}_i)^T\phi(\boldsymbol{x}_j). $$ For the above example, the kernel reads $$ -K(\boldsymbol{x}_i,\boldsymbol{x}_j)=[x_i^2, y_i^2, \sqrt{2}x_iy_i]^T\begin{bmatrix} x_j^2 \\ y_j^2 \\ \sqrt{2}x_jy_j \end{bmatrix}=x_i^2x_j^2+2x_ixJy_iy_j+y_i^2y_j^2. +K(\boldsymbol{x}_i,\boldsymbol{x}_j)=[x_i^2, y_i^2, \sqrt{2}x_iy_i]^T\begin{bmatrix} x_j^2 \\ y_j^2 \\ \sqrt{2}x_jy_j \end{bmatrix}=x_i^2x_j^2+2x_ix_jy_iy_j+y_i^2y_j^2. $$ -We note that this is nothing but the dot product of the two original vectors \( (\boldsymbol{x}_i^T\boldsymbol{x}_j)^2 \). Instead of thus computing the product in the Lagrangian of \( \boldsymbol{x}_i^T\boldsymbol{z}_j \) we simply compute the dot product \( (\boldsymbol{x}_i^T\boldsymbol{x}_j)^2 \). This leads to the so-called kernel trick and the result leads to the same as if we went through the trouble of performing the transformation \( (\phi(\boldsymbol{x}_i)^T\phi(\boldsymbol{x}_j) \) during the SVM calculations. +

+We note that this is nothing but the dot product of the two original +vectors \( (\boldsymbol{x}_i^T\boldsymbol{x}_j)^2 \). Instead of thus computing the +product in the Lagrangian of \( \boldsymbol{z}_i^T\boldsymbol{z}_j \) we simply compute +the dot product \( (\boldsymbol{x}_i^T\boldsymbol{x}_j)^2 \). This leads to the so-called +kernel trick and the result leads to the same as if we went through +the trouble of performing the transformation +\( (\phi(\boldsymbol{x}_i)^T\phi(\boldsymbol{x}_j) \) during the SVM calculations.











@@ -729,11 +736,11 @@ $$ subject to the constraints \( \lambda_i\geq 0 \), \( \sum_i\lambda_iy_i=0 \) in terms of a convex optimization problem $$ \frac{1}{2} \boldsymbol{\lambda}^T\begin{bmatrix} y_1y_1K(\boldsymbol{x}_1,\boldsymbol{x}_1) & y_1y_2K(\boldsymbol{x}_1,\boldsymbol{x}_2) & \dots & \dots & y_1y_nK(\boldsymbol{x}_1,\boldsymbol{x}_n) \\ -y_2y_1\boldsymbol{x}_2^T\boldsymbol{x}_1 & y_2y_2\boldsymbol{x}_2^T\boldsymbol{x}_2 & \dots & \dots & y_1y_n\boldsymbol{x}_2^T\boldsymbol{x}_n \\ +y_2y_1K(\boldsymbol{x}_2,\boldsymbol{x}_1) & y_2y_2(\boldsymbol{x}_2,\boldsymbol{x}_2) & \dots & \dots & y_1y_nK(\boldsymbol{x}_2,\boldsymbol{x}_n) \\ \dots & \dots & \dots & \dots & \dots \\ \dots & \dots & \dots & \dots & \dots \\ y_ny_1K(\boldsymbol{x}_n,\boldsymbol{x}_1) & y_ny_2K(\boldsymbol{x}_n\boldsymbol{x}_2) & \dots & \dots & y_ny_nK(\boldsymbol{x}_n,\boldsymbol{x}_n) \\ -\end{bmatrix}\boldsymbol{\lambda}-\mathbb{I}\boldsymbol{\lambda}, +\end{bmatrix}\boldsymbol{\lambda}-\mathbb{1}\boldsymbol{\lambda}, $$ subject to \( \boldsymbol{y}^T\boldsymbol{\lambda}=0 \). Here we defined the vectors \( \boldsymbol{\lambda} =[\lambda_1,\lambda_2,\dots,\lambda_n] \) and @@ -745,7 +752,7 @@ We can rewrite this (see the solutions below) in terms of a convex optimization $$ \begin{align*} &\mathrm{min}_{\lambda}\hspace{0.2cm} \frac{1}{2}\boldsymbol{\lambda}^T\boldsymbol{P}\boldsymbol{\lambda}+\boldsymbol{q}^T\boldsymbol{\lambda},\\ \nonumber - &\mathrm{subject to} \hspace{0.2cm} \boldsymbol{G}\boldsymbol{\lambda} \preceq \boldsymbol{h} \hspace{0.2cm} \boldsymbol{A}\boldsymbol{\lambda}=f. + &\mathrm{subject\hspace{0.1cm}to} \hspace{0.2cm} \boldsymbol{G}\boldsymbol{\lambda} \preceq \boldsymbol{h} \hspace{0.2cm} \wedge \boldsymbol{A}\boldsymbol{\lambda}=f. \end{align*} $$ @@ -771,7 +778,7 @@ There are several popular kernels being used. These are and many other ones.

-An important theorem for us is "Mercer's theorem":https://en.wikipedia.org/wiki/Mercer%27s_theorem". +An important theorem for us is Mercer's theorem. The theorem states that if a kernel function \( K \) is symmetric, continuous and leads to a positive semi-definite matrix \( \boldsymbol{P} \) then there exists a function \( \phi \) that maps \( \boldsymbol{x}_i \) and \( \boldsymbol{x}_j \) into another space (possibly with much higher dimensions) such that @@ -794,7 +801,7 @@ A mathematical (quadratic) optimization problem, or just optimization problem, h $$ \begin{align*} &\mathrm{min}_{\lambda}\hspace{0.2cm} \frac{1}{2}\boldsymbol{\lambda}^T\boldsymbol{P}\boldsymbol{\lambda}+\boldsymbol{q}^T\boldsymbol{\lambda},\\ \nonumber - &\mathrm{subject to} \hspace{0.2cm} \boldsymbol{G}\boldsymbol{\lambda} \preceq \boldsymbol{h} \hspace{0.2cm} \boldsymbol{A}\boldsymbol{\lambda}=f. + &\mathrm{subject\hspace{0.1cm}to} \hspace{0.2cm} \boldsymbol{G}\boldsymbol{\lambda} \preceq \boldsymbol{h} \wedge \boldsymbol{A}\boldsymbol{\lambda}=f. \end{align*} $$ @@ -804,7 +811,7 @@ vector \( \boldsymbol{\lambda}=[\lambda_1, \lambda_2,\dots, \lambda_n] \) is the

In our case we are particularly interested in a class of optimization problems called convex optmization problems. -In our disussion on gradient descent methods we discussed at length the definition of a convex function. +In our discussion on gradient descent methods we discussed at length the definition of a convex function.

Convex optimization problems play a central role in applied mathematics and we recommend strongly Boyd and Vandenberghe's text on the topics. @@ -845,7 +852,7 @@ We remind ourselves about the general problem we want to solve $$ \begin{align*} &\mathrm{min}_{x}\hspace{0.2cm} \frac{1}{2}\boldsymbol{x}^T\boldsymbol{P}\boldsymbol{x}+\boldsymbol{q}^T\boldsymbol{x},\\ \nonumber - &\mathrm{subject to} \hspace{0.2cm} \boldsymbol{G}\boldsymbol{x} \preceq \boldsymbol{h} \hspace{0.2cm} \boldsymbol{A}\boldsymbol{x}=f. + &\mathrm{subject\hspace{0.1cm} to} \hspace{0.2cm} \boldsymbol{G}\boldsymbol{x} \preceq \boldsymbol{h} \wedge \boldsymbol{A}\boldsymbol{x}=f. \end{align*} $$ @@ -864,12 +871,12 @@ $$ The minimization problem can be rewritten in terms of vectors and matrices as (with \( x \) and \( y \) being the unknowns) $$ -frac{1}{2}\begin{bmatrix} x\\ y \end{bmatrix}^T \begin{bmatrix} 1 & 0\\ 0 & 0 \end{bmatrix} \begin{bmatrix} x \\ y \end{bmatrix} + \begin{bmatrix}3\\ 4 \end{bmatrix}^T \begin{bmatrix}x \\ y \end{bmatrix}. +\frac{1}{2}\begin{bmatrix} x\\ y \end{bmatrix}^T \begin{bmatrix} 1 & 0\\ 0 & 0 \end{bmatrix} \begin{bmatrix} x \\ y \end{bmatrix} + \begin{bmatrix}3\\ 4 \end{bmatrix}^T \begin{bmatrix}x \\ y \end{bmatrix}. $$ Similarly, we can now set up the inequalities (we need to change \( \geq \) to \( \leq \) by multiplying with \( -1 \) on bot sides) as the following matrix-vector equation $$ -\begin{bmatrix} -1 & 0 \\ 0 & -1 \\ -1 & -3 \\ 2 & 5 \\ 3 & 4\end{matrix}\begin{bmatrix} x \\ y\end{bmatrix} \preceq \begin{bmatrix}0 \\ 0\\ -15 \\ 100 \\ 80\end{bmatrix}. +\begin{bmatrix} -1 & 0 \\ 0 & -1 \\ -1 & -3 \\ 2 & 5 \\ 3 & 4\end{bmatrix}\begin{bmatrix} x \\ y\end{bmatrix} \preceq \begin{bmatrix}0 \\ 0\\ -15 \\ 100 \\ 80\end{bmatrix}. $$ We have collapsed all the inequalities into a single matrix \( \boldsymbol{G} \). We see also that our matrix @@ -885,7 +892,7 @@ $$

Since we don't have any equalities the matrix \( \boldsymbol{A} \) is set to zero -The following code does this for us +The following code solves the equations for us

@@ -893,12 +900,6 @@ The following code does this for us import numpy from cvxopt import matrix from cvxopt import solvers -# Define QP parameters (directly) -P = matrix([[1.0,0.0],[0.0,0.0]]) -q = matrix([3.0,4.0]) -G = matrix([[-1.0,0.0,-1.0,2.0,3.0],[0.0,-1.0,-3.0,5.0,4.0]]) -h = matrix([0.0,0.0,-15.0,100.0,80.0]) -# Define QP parameters (with NumPy) P = matrix(numpy.diag([1,0]), tc=’d’) q = matrix(numpy.array([3,4]), tc=’d’) G = matrix(numpy.array([[-1,0],[0,-1],[-1,-3],[2,5],[3,4]]), tc=’d’) @@ -918,7 +919,7 @@ sol[’primal objective’] We are now ready to return to our setup of the optmization problem for a more realistic case. Introducint the slack parameter \( C \) we have $$ \frac{1}{2} \boldsymbol{\lambda}^T\begin{bmatrix} y_1y_1K(\boldsymbol{x}_1,\boldsymbol{x}_1) & y_1y_2K(\boldsymbol{x}_1,\boldsymbol{x}_2) & \dots & \dots & y_1y_nK(\boldsymbol{x}_1,\boldsymbol{x}_n) \\ -y_2y_1\boldsymbol{x}_2^T\boldsymbol{x}_1 & y_2y_2\boldsymbol{x}_2^T\boldsymbol{x}_2 & \dots & \dots & y_1y_n\boldsymbol{x}_2^T\boldsymbol{x}_n \\ +y_2y_1K(\boldsymbol{x}_2,\boldsymbol{x}_1) & y_2y_2K(\boldsymbol{x}_2,\boldsymbol{x}_2) & \dots & \dots & y_1y_nK(\boldsymbol{x}_2,\boldsymbol{x}_n) \\ \dots & \dots & \dots & \dots & \dots \\ \dots & \dots & \dots & \dots & \dots \\ y_ny_1K(\boldsymbol{x}_n,\boldsymbol{x}_1) & y_ny_2K(\boldsymbol{x}_n\boldsymbol{x}_2) & \dots & \dots & y_ny_nK(\boldsymbol{x}_n,\boldsymbol{x}_n) \\ diff --git a/doc/pub/svm/ipynb/ipynb-svm-src.tar.gz b/doc/pub/svm/ipynb/ipynb-svm-src.tar.gz index 7e410e360aa5992975add6892c09a79a2cbf0cb1..dc344b8f0e308d3b66b96dac6d07b7419fbbd521 100644 GIT binary patch literal 208 zcmb2|=3toK{wSJ(`R#eftiuKZtq<4Kc3Cz~e0w8Ke3q+NV?Y%ntM=AgQC=!LuWaw1 z?651VeBqRT_n#RaHaKImR!+`*wN34^qjxoy&UzYj?xxvS)zHed`dy2rELs&6x_Xsn zbYO9yICtQ8>zAh`Ci8vP{JXmF;*R|1&o=)3*KT_~{K>TXBgOfP*K7}dwO9E005AU^iwFS5o#9&m1MSbjYQjJe#&OSiig|*tYcx3*>Y;~1DSd&JtY+J0*Y0jg z^Y%ssJ?TwK>Hl~6m|+-ZURMu~&#N;3AF$1 zsHs@$nW+1nbTOoC;&e*)Zhf-;>fAK8+1%K3dPUCpN4#||$@00000000000001h|78#A KW~6}tC;$L=ziG+< diff --git a/doc/pub/svm/ipynb/svm.ipynb b/doc/pub/svm/ipynb/svm.ipynb index 0e100566e..cde854a55 100644 --- a/doc/pub/svm/ipynb/svm.ipynb +++ b/doc/pub/svm/ipynb/svm.ipynb @@ -10,7 +10,7 @@ " \n", "**Morten Hjorth-Jensen**, Department of Physics, University of Oslo and Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University\n", "\n", - "Date: **Nov 6, 2018**\n", + "Date: **Nov 7, 2018**\n", "\n", "Copyright 1999-2018, Morten Hjorth-Jensen. Released under CC Attribution-NonCommercial 4.0 license\n", "\n", @@ -144,7 +144,7 @@ "metadata": {}, "source": [ "$$\n", - "b+w_1x_{i1}+w_2x_{i}2+\\dots +w_px_{ip} >0,\n", + "b+w_1x_{i1}+w_2x_{i2}+\\dots +w_px_{ip} >0,\n", "$$" ] }, @@ -161,7 +161,7 @@ "metadata": {}, "source": [ "$$\n", - "b+w_1x_{i1}+w_2x_{i}2+\\dots +w_px_{ip} < 0,\n", + "b+w_1x_{i1}+w_2x_{i2}+\\dots +w_px_{ip} < 0,\n", "$$" ] }, @@ -180,7 +180,7 @@ "metadata": {}, "source": [ "$$\n", - "y_i\\left(b+w_1x_{i1}+w_2x_{i}2+\\dots +w_px_{ip}\\right) > 0.\n", + "y_i\\left(b+w_1x_{i1}+w_2x_{i2}+\\dots +w_px_{ip}\\right) > 0.\n", "$$" ] }, @@ -1132,7 +1132,7 @@ "metadata": {}, "source": [ "from which we also find $b$.\n", - "To compute $\\boldsymbol{z}_i^T\\boldsymbol{Z}_j$ we define the kerne $K(\\boldsymbol{x}_i,\\boldsymbol{x}_j)$ as" + "To compute $\\boldsymbol{z}_i^T\\boldsymbol{z}_j$ we define the kerne $K(\\boldsymbol{x}_i,\\boldsymbol{x}_j)$ as" ] }, { @@ -1140,7 +1140,7 @@ "metadata": {}, "source": [ "$$\n", - "K(\\boldsymbol{x}_i,\\boldsymbol{x}_j)=\\boldsymbol{z}_i^T\\boldsymbol{Z}_j= \\phi(\\boldsymbol{x}_i)^T\\phi(\\boldsymbol{x}_j).\n", + "K(\\boldsymbol{x}_i,\\boldsymbol{x}_j)=\\boldsymbol{z}_i^T\\boldsymbol{z}_j= \\phi(\\boldsymbol{x}_i)^T\\phi(\\boldsymbol{x}_j).\n", "$$" ] }, @@ -1156,7 +1156,7 @@ "metadata": {}, "source": [ "$$\n", - "K(\\boldsymbol{x}_i,\\boldsymbol{x}_j)=[x_i^2, y_i^2, \\sqrt{2}x_iy_i]^T\\begin{bmatrix} x_j^2 \\\\ y_j^2 \\\\ \\sqrt{2}x_jy_j \\end{bmatrix}=x_i^2x_j^2+2x_ixJy_iy_j+y_i^2y_j^2.\n", + "K(\\boldsymbol{x}_i,\\boldsymbol{x}_j)=[x_i^2, y_i^2, \\sqrt{2}x_iy_i]^T\\begin{bmatrix} x_j^2 \\\\ y_j^2 \\\\ \\sqrt{2}x_jy_j \\end{bmatrix}=x_i^2x_j^2+2x_ix_jy_iy_j+y_i^2y_j^2.\n", "$$" ] }, @@ -1164,7 +1164,13 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "We note that this is nothing but the dot product of the two original vectors $(\\boldsymbol{x}_i^T\\boldsymbol{x}_j)^2$. Instead of thus computing the product in the Lagrangian of $\\boldsymbol{x}_i^T\\boldsymbol{z}_j$ we simply compute the dot product $(\\boldsymbol{x}_i^T\\boldsymbol{x}_j)^2$. This leads to the so-called kernel trick and the result leads to the same as if we went through the trouble of performing the transformation $(\\phi(\\boldsymbol{x}_i)^T\\phi(\\boldsymbol{x}_j)$ during the SVM calculations. \n", + "We note that this is nothing but the dot product of the two original\n", + "vectors $(\\boldsymbol{x}_i^T\\boldsymbol{x}_j)^2$. Instead of thus computing the\n", + "product in the Lagrangian of $\\boldsymbol{z}_i^T\\boldsymbol{z}_j$ we simply compute\n", + "the dot product $(\\boldsymbol{x}_i^T\\boldsymbol{x}_j)^2$. This leads to the so-called\n", + "kernel trick and the result leads to the same as if we went through\n", + "the trouble of performing the transformation\n", + "$(\\phi(\\boldsymbol{x}_i)^T\\phi(\\boldsymbol{x}_j)$ during the SVM calculations.\n", "\n", "\n", "## The problem to solve\n", @@ -1193,11 +1199,11 @@ "source": [ "$$\n", "\\frac{1}{2} \\boldsymbol{\\lambda}^T\\begin{bmatrix} y_1y_1K(\\boldsymbol{x}_1,\\boldsymbol{x}_1) & y_1y_2K(\\boldsymbol{x}_1,\\boldsymbol{x}_2) & \\dots & \\dots & y_1y_nK(\\boldsymbol{x}_1,\\boldsymbol{x}_n) \\\\\n", - "y_2y_1\\boldsymbol{x}_2^T\\boldsymbol{x}_1 & y_2y_2\\boldsymbol{x}_2^T\\boldsymbol{x}_2 & \\dots & \\dots & y_1y_n\\boldsymbol{x}_2^T\\boldsymbol{x}_n \\\\\n", + "y_2y_1K(\\boldsymbol{x}_2,\\boldsymbol{x}_1) & y_2y_2(\\boldsymbol{x}_2,\\boldsymbol{x}_2) & \\dots & \\dots & y_1y_nK(\\boldsymbol{x}_2,\\boldsymbol{x}_n) \\\\\n", "\\dots & \\dots & \\dots & \\dots & \\dots \\\\\n", "\\dots & \\dots & \\dots & \\dots & \\dots \\\\\n", "y_ny_1K(\\boldsymbol{x}_n,\\boldsymbol{x}_1) & y_ny_2K(\\boldsymbol{x}_n\\boldsymbol{x}_2) & \\dots & \\dots & y_ny_nK(\\boldsymbol{x}_n,\\boldsymbol{x}_n) \\\\\n", - "\\end{bmatrix}\\boldsymbol{\\lambda}-\\mathbb{I}\\boldsymbol{\\lambda},\n", + "\\end{bmatrix}\\boldsymbol{\\lambda}-\\mathbb{1}\\boldsymbol{\\lambda},\n", "$$" ] }, @@ -1219,7 +1225,7 @@ "$$\n", "\\begin{align*}\n", " &\\mathrm{min}_{\\lambda}\\hspace{0.2cm} \\frac{1}{2}\\boldsymbol{\\lambda}^T\\boldsymbol{P}\\boldsymbol{\\lambda}+\\boldsymbol{q}^T\\boldsymbol{\\lambda},\\\\ \\nonumber\n", - " &\\mathrm{subject to} \\hspace{0.2cm} \\boldsymbol{G}\\boldsymbol{\\lambda} \\preceq \\boldsymbol{h} \\hspace{0.2cm} \\boldsymbol{A}\\boldsymbol{\\lambda}=f.\n", + " &\\mathrm{subject\\hspace{0.1cm}to} \\hspace{0.2cm} \\boldsymbol{G}\\boldsymbol{\\lambda} \\preceq \\boldsymbol{h} \\hspace{0.2cm} \\wedge \\boldsymbol{A}\\boldsymbol{\\lambda}=f.\n", "\\end{align*}\n", "$$" ] @@ -1246,7 +1252,7 @@ "\n", "and many other ones.\n", "\n", - "An important theorem for us is \"Mercer's theorem\":https://en.wikipedia.org/wiki/Mercer%27s_theorem\". \n", + "An important theorem for us is [Mercer's theorem](https://en.wikipedia.org/wiki/Mercer%27s_theorem). \n", "The theorem states that if a kernel function $K$ is symmetric, continuous and leads to a positive semi-definite matrix $\\boldsymbol{P}$ then\n", "there exists a function $\\phi$ that maps $\\boldsymbol{x}_i$ and $\\boldsymbol{x}_j$ into another space\n", "(possibly with much higher dimensions) such that" @@ -1283,7 +1289,7 @@ "$$\n", "\\begin{align*}\n", " &\\mathrm{min}_{\\lambda}\\hspace{0.2cm} \\frac{1}{2}\\boldsymbol{\\lambda}^T\\boldsymbol{P}\\boldsymbol{\\lambda}+\\boldsymbol{q}^T\\boldsymbol{\\lambda},\\\\ \\nonumber\n", - " &\\mathrm{subject to} \\hspace{0.2cm} \\boldsymbol{G}\\boldsymbol{\\lambda} \\preceq \\boldsymbol{h} \\hspace{0.2cm} \\boldsymbol{A}\\boldsymbol{\\lambda}=f.\n", + " &\\mathrm{subject\\hspace{0.1cm}to} \\hspace{0.2cm} \\boldsymbol{G}\\boldsymbol{\\lambda} \\preceq \\boldsymbol{h} \\wedge \\boldsymbol{A}\\boldsymbol{\\lambda}=f.\n", "\\end{align*}\n", "$$" ] @@ -1297,7 +1303,7 @@ "vector $\\boldsymbol{\\lambda}=[\\lambda_1, \\lambda_2,\\dots, \\lambda_n]$ is the optimization variable we are dealing with.\n", "\n", "In our case we are particularly interested in a class of optimization problems called convex optmization problems. \n", - "In our disussion on gradient descent methods we discussed at length the definition of a convex function. \n", + "In our discussion on gradient descent methods we discussed at length the definition of a convex function. \n", "\n", "Convex optimization problems play a central role in applied mathematics and we recommend strongly [Boyd and Vandenberghe's text on the topics](http://web.stanford.edu/~boyd/cvxbook/).\n", "\n", @@ -1347,7 +1353,7 @@ "$$\n", "\\begin{align*}\n", " &\\mathrm{min}_{x}\\hspace{0.2cm} \\frac{1}{2}\\boldsymbol{x}^T\\boldsymbol{P}\\boldsymbol{x}+\\boldsymbol{q}^T\\boldsymbol{x},\\\\ \\nonumber\n", - " &\\mathrm{subject to} \\hspace{0.2cm} \\boldsymbol{G}\\boldsymbol{x} \\preceq \\boldsymbol{h} \\hspace{0.2cm} \\boldsymbol{A}\\boldsymbol{x}=f.\n", + " &\\mathrm{subject\\hspace{0.1cm} to} \\hspace{0.2cm} \\boldsymbol{G}\\boldsymbol{x} \\preceq \\boldsymbol{h} \\wedge \\boldsymbol{A}\\boldsymbol{x}=f.\n", "\\end{align*}\n", "$$" ] @@ -1387,7 +1393,7 @@ "metadata": {}, "source": [ "$$\n", - "frac{1}{2}\\begin{bmatrix} x\\\\ y \\end{bmatrix}^T \\begin{bmatrix} 1 & 0\\\\ 0 & 0 \\end{bmatrix} \\begin{bmatrix} x \\\\ y \\end{bmatrix} + \\begin{bmatrix}3\\\\ 4 \\end{bmatrix}^T \\begin{bmatrix}x \\\\ y \\end{bmatrix}.\n", + "\\frac{1}{2}\\begin{bmatrix} x\\\\ y \\end{bmatrix}^T \\begin{bmatrix} 1 & 0\\\\ 0 & 0 \\end{bmatrix} \\begin{bmatrix} x \\\\ y \\end{bmatrix} + \\begin{bmatrix}3\\\\ 4 \\end{bmatrix}^T \\begin{bmatrix}x \\\\ y \\end{bmatrix}.\n", "$$" ] }, @@ -1403,7 +1409,7 @@ "metadata": {}, "source": [ "$$\n", - "\\begin{bmatrix} -1 & 0 \\\\ 0 & -1 \\\\ -1 & -3 \\\\ 2 & 5 \\\\ 3 & 4\\end{matrix}\\begin{bmatrix} x \\\\ y\\end{bmatrix} \\preceq \\begin{bmatrix}0 \\\\ 0\\\\ -15 \\\\ 100 \\\\ 80\\end{bmatrix}.\n", + "\\begin{bmatrix} -1 & 0 \\\\ 0 & -1 \\\\ -1 & -3 \\\\ 2 & 5 \\\\ 3 & 4\\end{bmatrix}\\begin{bmatrix} x \\\\ y\\end{bmatrix} \\preceq \\begin{bmatrix}0 \\\\ 0\\\\ -15 \\\\ 100 \\\\ 80\\end{bmatrix}.\n", "$$" ] }, @@ -1445,7 +1451,7 @@ "metadata": {}, "source": [ "Since we don't have any equalities the matrix $\\boldsymbol{A}$ is set to zero\n", - "The following code does this for us" + "The following code solves the equations for us" ] }, { @@ -1460,12 +1466,6 @@ "import numpy\n", "from cvxopt import matrix\n", "from cvxopt import solvers\n", - "# Define QP parameters (directly)\n", - "P = matrix([[1.0,0.0],[0.0,0.0]])\n", - "q = matrix([3.0,4.0])\n", - "G = matrix([[-1.0,0.0,-1.0,2.0,3.0],[0.0,-1.0,-3.0,5.0,4.0]])\n", - "h = matrix([0.0,0.0,-15.0,100.0,80.0])\n", - "# Define QP parameters (with NumPy)\n", "P = matrix(numpy.diag([1,0]), tc=’d’)\n", "q = matrix(numpy.array([3,4]), tc=’d’)\n", "G = matrix(numpy.array([[-1,0],[0,-1],[-1,-3],[2,5],[3,4]]), tc=’d’)\n", @@ -1492,7 +1492,7 @@ "source": [ "$$\n", "\\frac{1}{2} \\boldsymbol{\\lambda}^T\\begin{bmatrix} y_1y_1K(\\boldsymbol{x}_1,\\boldsymbol{x}_1) & y_1y_2K(\\boldsymbol{x}_1,\\boldsymbol{x}_2) & \\dots & \\dots & y_1y_nK(\\boldsymbol{x}_1,\\boldsymbol{x}_n) \\\\\n", - "y_2y_1\\boldsymbol{x}_2^T\\boldsymbol{x}_1 & y_2y_2\\boldsymbol{x}_2^T\\boldsymbol{x}_2 & \\dots & \\dots & y_1y_n\\boldsymbol{x}_2^T\\boldsymbol{x}_n \\\\\n", + "y_2y_1K(\\boldsymbol{x}_2,\\boldsymbol{x}_1) & y_2y_2K(\\boldsymbol{x}_2,\\boldsymbol{x}_2) & \\dots & \\dots & y_1y_nK(\\boldsymbol{x}_2,\\boldsymbol{x}_n) \\\\\n", "\\dots & \\dots & \\dots & \\dots & \\dots \\\\\n", "\\dots & \\dots & \\dots & \\dots & \\dots \\\\\n", "y_ny_1K(\\boldsymbol{x}_n,\\boldsymbol{x}_1) & y_ny_2K(\\boldsymbol{x}_n\\boldsymbol{x}_2) & \\dots & \\dots & y_ny_nK(\\boldsymbol{x}_n,\\boldsymbol{x}_n) \\\\\n", diff --git a/doc/pub/svm/pdf/svm-minted.pdf b/doc/pub/svm/pdf/svm-minted.pdf index f9cf6937cb236074aebc6e60be7618e6634657a3..9cea03dbbfc7ca7c257a742f1f04fdf712602d33 100644 GIT binary patch delta 100025 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

q=fUToNSMO&@_vUg}h4E9JnX@m~ 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 rWtL*m?~U;>+^#aQLI4a^PAxKveL{oS|#fN6d7 delta 101911 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�r!F$!gW{q4dco10bOzAYp7+MZle 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, +b+w_1x_{i1}+w_2x_{i2}+\dots +w_px_{ip} >0, \] !et if our output $y_i=1$. In this case we say that $\bm{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, +b+w_1x_{i1}+w_2x_{i2}+\dots +w_px_{ip} < 0, \] !et for the class of observations $y_i=-1$, @@ -106,7 +106,7 @@ then $\bm{x}_i$ lies on the other side. Equivalently, for the two classes of observations we have !bt \[ -y_i\left(b+w_1x_{i1}+w_2x_{i}2+\dots +w_px_{ip}\right) > 0. +y_i\left(b+w_1x_{i1}+w_2x_{i2}+\dots +w_px_{ip}\right) > 0. \] !et @@ -576,19 +576,26 @@ y_i(\bm{w}^T\bm{z}_i+b)= 1 \hspace{0.1cm}\forall i, \] !et from which we also find $b$. -To compute $\bm{z}_i^T\bm{Z}_j$ we define the kerne $K(\bm{x}_i,\bm{x}_j)$ as +To compute $\bm{z}_i^T\bm{z}_j$ we define the kerne $K(\bm{x}_i,\bm{x}_j)$ as !bt \[ -K(\bm{x}_i,\bm{x}_j)=\bm{z}_i^T\bm{Z}_j= \phi(\bm{x}_i)^T\phi(\bm{x}_j). +K(\bm{x}_i,\bm{x}_j)=\bm{z}_i^T\bm{z}_j= \phi(\bm{x}_i)^T\phi(\bm{x}_j). \] !et For the above example, the kernel reads !bt \[ -K(\bm{x}_i,\bm{x}_j)=[x_i^2, y_i^2, \sqrt{2}x_iy_i]^T\begin{bmatrix} x_j^2 \\ y_j^2 \\ \sqrt{2}x_jy_j \end{bmatrix}=x_i^2x_j^2+2x_ixJy_iy_j+y_i^2y_j^2. +K(\bm{x}_i,\bm{x}_j)=[x_i^2, y_i^2, \sqrt{2}x_iy_i]^T\begin{bmatrix} x_j^2 \\ y_j^2 \\ \sqrt{2}x_jy_j \end{bmatrix}=x_i^2x_j^2+2x_ix_jy_iy_j+y_i^2y_j^2. \] !et -We note that this is nothing but the dot product of the two original vectors $(\bm{x}_i^T\bm{x}_j)^2$. Instead of thus computing the product in the Lagrangian of $\bm{x}_i^T\bm{z}_j$ we simply compute the dot product $(\bm{x}_i^T\bm{x}_j)^2$. This leads to the so-called kernel trick and the result leads to the same as if we went through the trouble of performing the transformation $(\phi(\bm{x}_i)^T\phi(\bm{x}_j)$ during the SVM calculations. + +We note that this is nothing but the dot product of the two original +vectors $(\bm{x}_i^T\bm{x}_j)^2$. Instead of thus computing the +product in the Lagrangian of $\bm{z}_i^T\bm{z}_j$ we simply compute +the dot product $(\bm{x}_i^T\bm{x}_j)^2$. This leads to the so-called +kernel trick and the result leads to the same as if we went through +the trouble of performing the transformation +$(\phi(\bm{x}_i)^T\phi(\bm{x}_j)$ during the SVM calculations. !split @@ -603,11 +610,11 @@ subject to the constraints $\lambda_i\geq 0$, $\sum_i\lambda_iy_i=0$ in terms of !bt \[ \frac{1}{2} \bm{\lambda}^T\begin{bmatrix} y_1y_1K(\bm{x}_1,\bm{x}_1) & y_1y_2K(\bm{x}_1,\bm{x}_2) & \dots & \dots & y_1y_nK(\bm{x}_1,\bm{x}_n) \\ -y_2y_1\bm{x}_2^T\bm{x}_1 & y_2y_2\bm{x}_2^T\bm{x}_2 & \dots & \dots & y_1y_n\bm{x}_2^T\bm{x}_n \\ +y_2y_1K(\bm{x}_2,\bm{x}_1) & y_2y_2(\bm{x}_2,\bm{x}_2) & \dots & \dots & y_1y_nK(\bm{x}_2,\bm{x}_n) \\ \dots & \dots & \dots & \dots & \dots \\ \dots & \dots & \dots & \dots & \dots \\ y_ny_1K(\bm{x}_n,\bm{x}_1) & y_ny_2K(\bm{x}_n\bm{x}_2) & \dots & \dots & y_ny_nK(\bm{x}_n,\bm{x}_n) \\ -\end{bmatrix}\bm{\lambda}-\mathbb{I}\bm{\lambda}, +\end{bmatrix}\bm{\lambda}-\mathbb{1}\bm{\lambda}, \] !et subject to $\bm{y}^T\bm{\lambda}=0$. Here we defined the vectors $\bm{\lambda} =[\lambda_1,\lambda_2,\dots,\lambda_n]$ and @@ -618,7 +625,7 @@ We can rewrite this (see the solutions below) in terms of a convex optimization !bt \begin{align*} &\mathrm{min}_{\lambda}\hspace{0.2cm} \frac{1}{2}\bm{\lambda}^T\bm{P}\bm{\lambda}+\bm{q}^T\bm{\lambda},\\ \nonumber - &\mathrm{subject to} \hspace{0.2cm} \bm{G}\bm{\lambda} \preceq \bm{h} \hspace{0.2cm} \bm{A}\bm{\lambda}=f. + &\mathrm{subject\hspace{0.1cm}to} \hspace{0.2cm} \bm{G}\bm{\lambda} \preceq \bm{h} \hspace{0.2cm} \wedge \bm{A}\bm{\lambda}=f. \end{align*} !et Below we discuss how to solve these equations. Here we note that the matrix $\bm{P}$ has matrix elements $p_{ij}=y_iy_jK(\bm{x}_i,\bm{x}_j)$. @@ -636,7 +643,7 @@ o Gaussian Radial Basis Function: $K(\bm{x},\bm{y})=\exp{\left(-\gamma\vert\vert o Tanh: $K(\bm{x},\bm{y})=\tanh{(\bm{x}^T\bm{y}+\gamma)}$, and many other ones. -An important theorem for us is "Mercer's theorem":https://en.wikipedia.org/wiki/Mercer%27s_theorem". +An important theorem for us is "Mercer's theorem":"https://en.wikipedia.org/wiki/Mercer%27s_theorem". The theorem states that if a kernel function $K$ is symmetric, continuous and leads to a positive semi-definite matrix $\bm{P}$ then there exists a function $\phi$ that maps $\bm{x}_i$ and $\bm{x}_j$ into another space (possibly with much higher dimensions) such that @@ -658,7 +665,7 @@ A mathematical (quadratic) optimization problem, or just optimization problem, h !bt \begin{align*} &\mathrm{min}_{\lambda}\hspace{0.2cm} \frac{1}{2}\bm{\lambda}^T\bm{P}\bm{\lambda}+\bm{q}^T\bm{\lambda},\\ \nonumber - &\mathrm{subject to} \hspace{0.2cm} \bm{G}\bm{\lambda} \preceq \bm{h} \hspace{0.2cm} \bm{A}\bm{\lambda}=f. + &\mathrm{subject\hspace{0.1cm}to} \hspace{0.2cm} \bm{G}\bm{\lambda} \preceq \bm{h} \wedge \bm{A}\bm{\lambda}=f. \end{align*} !et subject to some constraints for say a selected set $i=1,2,\dots, n$. @@ -666,7 +673,7 @@ In our case we are optimizing with respect to the Lagrangian multipliers $\lambd vector $\bm{\lambda}=[\lambda_1, \lambda_2,\dots, \lambda_n]$ is the optimization variable we are dealing with. In our case we are particularly interested in a class of optimization problems called convex optmization problems. -In our disussion on gradient descent methods we discussed at length the definition of a convex function. +In our discussion on gradient descent methods we discussed at length the definition of a convex function. Convex optimization problems play a central role in applied mathematics and we recommend strongly "Boyd and Vandenberghe's text on the topics":"http://web.stanford.edu/~boyd/cvxbook/". @@ -700,7 +707,7 @@ We remind ourselves about the general problem we want to solve !bt \begin{align*} &\mathrm{min}_{x}\hspace{0.2cm} \frac{1}{2}\bm{x}^T\bm{P}\bm{x}+\bm{q}^T\bm{x},\\ \nonumber - &\mathrm{subject to} \hspace{0.2cm} \bm{G}\bm{x} \preceq \bm{h} \hspace{0.2cm} \bm{A}\bm{x}=f. + &\mathrm{subject\hspace{0.1cm} to} \hspace{0.2cm} \bm{G}\bm{x} \preceq \bm{h} \wedge \bm{A}\bm{x}=f. \end{align*} !et @@ -718,13 +725,13 @@ Let us show how to perform the optmization using a simple case. Assume we want t The minimization problem can be rewritten in terms of vectors and matrices as (with $x$ and $y$ being the unknowns) !bt \[ -frac{1}{2}\begin{bmatrix} x\\ y \end{bmatrix}^T \begin{bmatrix} 1 & 0\\ 0 & 0 \end{bmatrix} \begin{bmatrix} x \\ y \end{bmatrix} + \begin{bmatrix}3\\ 4 \end{bmatrix}^T \begin{bmatrix}x \\ y \end{bmatrix}. +\frac{1}{2}\begin{bmatrix} x\\ y \end{bmatrix}^T \begin{bmatrix} 1 & 0\\ 0 & 0 \end{bmatrix} \begin{bmatrix} x \\ y \end{bmatrix} + \begin{bmatrix}3\\ 4 \end{bmatrix}^T \begin{bmatrix}x \\ y \end{bmatrix}. \] !et Similarly, we can now set up the inequalities (we need to change $\geq$ to $\leq$ by multiplying with $-1$ on bot sides) as the following matrix-vector equation !bt \[ -\begin{bmatrix} -1 & 0 \\ 0 & -1 \\ -1 & -3 \\ 2 & 5 \\ 3 & 4\end{matrix}\begin{bmatrix} x \\ y\end{bmatrix} \preceq \begin{bmatrix}0 \\ 0\\ -15 \\ 100 \\ 80\end{bmatrix}. +\begin{bmatrix} -1 & 0 \\ 0 & -1 \\ -1 & -3 \\ 2 & 5 \\ 3 & 4\end{bmatrix}\begin{bmatrix} x \\ y\end{bmatrix} \preceq \begin{bmatrix}0 \\ 0\\ -15 \\ 100 \\ 80\end{bmatrix}. \] !et We have collapsed all the inequalities into a single matrix $\bm{G}$. We see also that our matrix