Home | Develop | Download | Contact
Namespaces
Funciones en el namespace Pds::Kernel

Funciones para trabajar con "Kernel": Pds::Kernel::Polynomial(), Pds::Kernel::Gaussian(), Pds::Kernel::FourierSeries(), etc. Más...

Namespaces

namespace  Pds
 Nombre de espacio para Pds (Procesamiento Digital de Senales)
 
namespace  Pds::Kernel
 Nombre de espacio para Kernel.
 

Kernel

Pds::Matrix Pds::Kernel::Polynomial (const Pds::Matrix &X, unsigned int M)
 Crea una nueva matriz de "features" kernelizando de forma polinomial. Más...
 
Pds::Matrix Pds::Kernel::Gaussian (const Pds::Matrix &X, const Pds::Matrix &G, double Sigma=1.0)
 Crea una nueva matriz de "features" kernelizando de forma gaussiana. Más...
 
Pds::Matrix Pds::Kernel::FourierSeries (const Pds::Matrix &X, const Pds::Vector &L, unsigned int K)
 Crea una nueva matriz de "features" kernelizando cada muestra $\mathbf{x}_{j}\in \mathbf{R}^N$ en $\mathbf{X}\in \mathbf{R}^{J\times N}$ usando la serie de fourier. Más...
 

Descripción detallada

Funciones para trabajar con "Kernel": Pds::Kernel::Polynomial(), Pds::Kernel::Gaussian(), Pds::Kernel::FourierSeries(), etc.

#include <Pds/FuncKernel>

Documentación de las funciones

◆ Polynomial()

Pds::Matrix Pds::Kernel::Polynomial ( const Pds::Matrix &  X,
unsigned int  M 
)

Crea una nueva matriz de "features" kernelizando de forma polinomial.

\[ \mathbf{F}=\left[ \overline{\mathbf{X}}^{1},\quad \overline{\mathbf{X}}^{2}, \quad \overline{\mathbf{X}}^{3}, \quad ...,\quad \overline{\mathbf{X}}^{m}, \quad ...,\quad \overline{\mathbf{X}}^{M} \right] \]

\[ N\leftarrow X.Ncol() \]

\[ L=\sum_{m=1}^{M}{{N+m-1} \choose m} \]

Parámetros
[in]XMatriz de $N$ columnas con los vectores de datos (muestras) en las lineas y features en las columnas.
[in]MMaximo ordem dos monomios.
Devuelve
Una nueava matriz de "features" $\mathbf{F}$ de $L$ columnas obtenida despues de kernelizar la matriz $X$ de $N$ columnas con un polinomio de grado M.
Ejemplos
example_perceptron_kernel_poly_band.cpp, example_perceptron_kernel_poly_circle.cpp, example_perceptron_kernel_poly_sine.cpp y example_predictor_kernel_poly_series.cpp.

◆ Gaussian()

Pds::Matrix Pds::Kernel::Gaussian ( const Pds::Matrix &  X,
const Pds::Matrix &  G,
double  Sigma = 1.0 
)

Crea una nueva matriz de "features" kernelizando de forma gaussiana.

\[ \mathbf{f}_{m}=e^{-\frac{||\mathbf{X}-\mathbf{g}_{m}||^2}{2 \sigma^2}}, \qquad \mathbf{G}=\left(\begin{matrix} \mathbf{g}_{1}\\ \mathbf{g}_{2}\\ \mathbf{g}_{3}\\ ...\\ \mathbf{g}_{m}\\ ...\\ \mathbf{g}_{M} \end{matrix}\right) \]

\[ \mathbf{F}=\left[ \mathbf{f}_{1},\quad \mathbf{f}_{2}, \quad \mathbf{f}_{3}, \quad ...,\quad \mathbf{f}_{m}, \quad ...,\quad \mathbf{f}_{M} \right] \]

Parámetros
[in]XMatriz con los vectores de datos (muestras) en las lineas.
[in]GMatriz con los vectores linea $\mathbf{g}_{m}$.
[in]SigmaValor de sigma.
Devuelve
Una nueava matriz de "features" $\mathbf{F}$ obtenido despues de kernelizar X.
Ejemplos
example_perceptron_kernel_gaussian_circle.cpp y example_perceptron_kernel_gaussian_yinyang.cpp.

◆ FourierSeries()

Pds::Matrix Pds::Kernel::FourierSeries ( const Pds::Matrix &  X,
const Pds::Vector &  L,
unsigned int  K 
)

Crea una nueva matriz de "features" kernelizando cada muestra $\mathbf{x}_{j}\in \mathbf{R}^N$ en $\mathbf{X}\in \mathbf{R}^{J\times N}$ usando la serie de fourier.

\[ \mathbf{X}= \left[\begin{matrix} \mathbf{x}_{1}^{T}\\ \mathbf{x}_{2}^{T}\\ \vdots \\ \mathbf{x}_{j}^{T}\\ \vdots \\ \mathbf{x}_{J}^{T} \end{matrix}\right], \qquad \mathbf{L}= \left[\begin{matrix} L_{1}\\ L_{2}\\ \vdots \\ L_{n}\\ \vdots \\ L_{N} \end{matrix}\right] \qquad \rightarrow \qquad \mathbf{W}_\mathbf{L}= diag\left( \left[\begin{matrix} \frac{2\pi}{L_{1}}\\ \frac{2\pi}{L_{2}}\\ \vdots \\ \frac{2\pi}{L_{n}}\\ \vdots \\ \frac{2\pi}{L_{N}} \end{matrix}\right]\right), \qquad M=\frac{(2K+1)^N-1}{2}, \qquad \mathbf{D}= \left[\begin{matrix} \mathbf{k}_{1}^{T}\\ \mathbf{k}_{2}^{T}\\ \vdots \\ \mathbf{k}_{m}^{T}\\ \vdots \\ \mathbf{k}_{M}^{T} \end{matrix}\right], \]

\[ h(\mathbf{x}) \approx a_{\mathbf{k}_{0}}+ \sum_{m=1}^{M} a_{\mathbf{k}_{m}} cos\left(\mathbf{x}^{T}\mathbf{W}_{L}\mathbf{k}_{m}\right)+ b_{\mathbf{k}_{m}} sin\left(\mathbf{x}^{T}\mathbf{W}_{L}\mathbf{k}_{m}\right), \]

\[ \mathbf{F}= \left[\begin{matrix} cos\left(\mathbf{X}\mathbf{W}_{L}\mathbf{D}^{T}\right) & sin\left(\mathbf{X}\mathbf{W}_{L}\mathbf{D}^{T}\right) \end{matrix}\right] \]

La matriz $\mathbf{D}$ es creada con la funcion D=Pds::CountingTable(N,-K, K,M+1), que representa el conteo de N digitos (columans) con digitos enteros que van desde -K hasta K, siendo retornada una tabla de conteo que inicia en el indice $M+1$.

Parámetros
[in]XMatriz con los vectores de datos (muestras) en las lineas.
[in]LVector de pesos.
[in]KMaximo valor dos indices.
Devuelve
Una nueava matriz de "features" $\mathbf{F}$ obtenido despues de kernelizar X.
Ejemplos
example_perceptron_kernel_fourier_yinyang.cpp y example_predictor_kernel_fourier_series.cpp.

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed