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

Funciones para trabajar con "Linear Regression": Pds::LinearModel::Predict, Pds::LinearModel::FittingNormalMeanSquare(), etc. Más...

Namespaces

namespace  Pds
 Nombre de espacio para Pds (Procesamiento Digital de Senales)
 
namespace  Pds::LinearModel
 Nombre de espacio para LinearModel (Linear Regression)
 

Linear regression : Predictor

Pds::Vector Pds::LinearModel::Predict (const Pds::Vector &W, const Pds::Matrix &X)
 Calculo del resultado del predictor. Más...
 

Linear regression : Función de custo

double Pds::LinearModel::CostMeanSquare (const Pds::Vector &W, const Pds::Matrix &X, const Pds::Vector &Y)
 Calculo el costo. Más...
 
double Pds::LinearModel::CostMeanAbsolute (const Pds::Vector &W, const Pds::Matrix &X, const Pds::Vector &Y)
 Calculo el costo. Más...
 
double Pds::LinearModel::CostMape (const Pds::Vector &W, const Pds::Matrix &X, const Pds::Vector &Y)
 Calculo el costo. Más...
 

Linear regression : Regresión de pesos

Pds::Vector Pds::LinearModel::FittingNormalMeanSquare (Pds::IterationConf &Conf, const Pds::Matrix &X, const Pds::Vector &Y)
 Calculo de pesos. Más...
 
Pds::Vector Pds::LinearModel::FittingNormalMeanSquare (const Pds::Matrix &X, const Pds::Vector &Y)
 Calculo de pesos. Más...
 

Descripción detallada

Funciones para trabajar con "Linear Regression": Pds::LinearModel::Predict, Pds::LinearModel::FittingNormalMeanSquare(), etc.

#include <Pds/FuncLinearModel>

Documentación de las funciones

◆ Predict()

Pds::Vector Pds::LinearModel::Predict ( const Pds::Vector &  W,
const Pds::Matrix &  X 
)

Calculo del resultado del predictor.

\[ h_{\mathbf{w}}\left(\mathbf{X}\right)=[1~\mathbf{X}]\mathbf{w} \]

Parámetros
[in]WVector de pesos.
[in]XMatriz con los vectores de datos (muestras) en las lineas.
Devuelve
El resultado del preditor.
Ejemplos
example_linearmodel.cpp.

◆ CostMeanSquare()

double Pds::LinearModel::CostMeanSquare ( const Pds::Vector &  W,
const Pds::Matrix &  X,
const Pds::Vector &  Y 
)

Calculo el costo.

\[ h_{\mathbf{w}}\left(\mathbf{x}_l\right)=\left[\overline{1}~\mathbf{x}_l\right]\mathbf{w} \qquad \leftrightarrow \qquad h_{\mathbf{w}}\left(\mathbf{X}\right)=\left[\overline{1}~\mathbf{X}\right]\mathbf{w} \]

\[ \begin{matrix} Cost\left(\mathbf{w}\right) & = & \frac{1}{L}||h_{\mathbf{w}}\left(\mathbf{X}\right)-\mathbf{y}||^2 \\ ~ & ~ & ~\\ ~ & = & \frac{1}{L}\sum \limits_{l}^{L} \left(h_{\mathbf{w}}\left(\mathbf{x}_l\right)-y_l\right)^2 \end{matrix} \]

Parámetros
[in]WVector de pesos.
[in]XMatriz con los vectores de datos (muestras) en las lineas.
[in]YVector de datos de salida.
Devuelve
El valor de la funcion de costo usando Mean Square.

◆ CostMeanAbsolute()

double Pds::LinearModel::CostMeanAbsolute ( const Pds::Vector &  W,
const Pds::Matrix &  X,
const Pds::Vector &  Y 
)

Calculo el costo.

\[ h_{\mathbf{w}}\left(\mathbf{x}_l\right)=\left[\overline{1}~\mathbf{x}_l\right]\mathbf{w} \qquad \leftrightarrow \qquad h_{\mathbf{w}}\left(\mathbf{X}\right)=\left[\overline{1}~\mathbf{X}\right]\mathbf{w} \]

\[ \begin{matrix} Cost\left(\mathbf{w}\right) & = & \frac{1}{L}\left|h_{\mathbf{w}}\left(\mathbf{X}\right)-\mathbf{y}\right| \\ ~ & ~ & ~\\ ~ & = & \frac{1}{L}\sum \limits_{l}^{L} \left|h_{\mathbf{w}}\left(\mathbf{x}_l\right)-y_l\right| \end{matrix} \]

Parámetros
[in]WVector de pesos.
[in]XMatriz con los vectores de datos (muestras) en las lineas.
[in]YVector de datos de salida.
Devuelve
El valor de la funcion de costo usando Mean Absolute.

◆ CostMape()

double Pds::LinearModel::CostMape ( const Pds::Vector &  W,
const Pds::Matrix &  X,
const Pds::Vector &  Y 
)

Calculo el costo.

\[ h_{\mathbf{w}}\left(\mathbf{x}_l\right)=\left[\overline{1}~\mathbf{x}_l\right]\mathbf{w} \qquad \leftrightarrow \qquad h_{\mathbf{w}}\left(\mathbf{X}\right)=\left[\overline{1}~\mathbf{X}\right]\mathbf{w} \]

\[ \begin{matrix} Cost\left(\mathbf{w}\right) & = & \frac{1}{L}\sum \limits_{l}^{L} \left|\frac{h_{\mathbf{w}}\left(\mathbf{x}_l\right)-y_l}{y_l}\right| \end{matrix} \]

Parámetros
[in]WVector de pesos.
[in]XMatriz con los vectores de datos (muestras) en las lineas.
[in]YVector de datos de salida.
Devuelve
El valor de la funcion de costo usando Mean Absolute Percentage Error. Solo son contados en el promedio valores $y_l\neq 0$.

◆ FittingNormalMeanSquare() [1/2]

Pds::Vector Pds::LinearModel::FittingNormalMeanSquare ( Pds::IterationConf Conf,
const Pds::Matrix &  X,
const Pds::Vector &  Y 
)

Calculo de pesos.

\[ \mathbf{R} \leftarrow \left(\begin{matrix} 1 & \mathbf{X}\\ \end{matrix}\right) \]

\[ if(rcond>=Pds::Ml::WarningRCond)\qquad \mathbf{w} = \left(\mathbf{R}^{T}\mathbf{R}\right)^{-1} \mathbf{R}^{T} \mathbf{y} \quad with \quad Cost(\mathbf{w}) \equiv \frac{1}{L} ||\mathbf{R}\mathbf{w}-\mathbf{y}||^2 \]

\[ else \qquad \mathbf{w} \leftarrow \left(\mathbf{R}^{T}\mathbf{R}+\alpha \mathbf{I}\right)^{-1} \left(\mathbf{R}^{T} \mathbf{y} -\mathbf{R}^{T}\mathbf{R} \mathbf{w} \right) \quad with \quad Cost(\mathbf{w}) \equiv \frac{1}{L} ||\mathbf{R}\mathbf{w}-\mathbf{y}||^2+\frac{\lambda}{N} ||\mathbf{w}-\mathbf{w}_{old}||^2 \]

Parámetros
[in]ConfConfiguraciones para algun algoritmo que itera.
[in]XVector de datos $\mathbf{X}$.
[in]YVector de datos $\mathbf{y}$.
Devuelve
Un vector de pesos $\mathbf{w}$ si el calculo es posible o una vacio si no.
Ejemplos
example_linearmodel.cpp.

◆ FittingNormalMeanSquare() [2/2]

Pds::Vector Pds::LinearModel::FittingNormalMeanSquare ( const Pds::Matrix &  X,
const Pds::Vector &  Y 
)

Calculo de pesos.

\[ \mathbf{R} \leftarrow \left(\begin{matrix} 1 & \mathbf{X}\\ \end{matrix}\right), \qquad Cost(\mathbf{w}) \equiv \frac{1}{L} ||\mathbf{R}\mathbf{w}-\mathbf{y}||^2. \]

\[ if(rcond>=Pds::Ml::WarningRCond)\qquad \mathbf{w} = \left(\mathbf{R}^{T}\mathbf{R}\right)^{-1} \mathbf{R}^{T} \mathbf{y} \]

\[ else\qquad \mathbf{w} = [] \]

Parámetros
[in]XVector de datos $\mathbf{X}$.
[in]YVector de datos $\mathbf{y}$.
Devuelve
Un vector de pesos $\mathbf{w}$ si el calculo es posible o una vacio si no existe inversa de $\mathbf{R}^{T}\mathbf{R}$.

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed