liba 0.1.15
An algorithm library based on C/C++
 
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Modules Pages
Loading...
Searching...
No Matches
linear regression
Collaboration diagram for linear regression:

Data Structures

struct  a_regress_linear
 instance structure for linear regression More...
 

Typedefs

typedef struct a_regress_linear a_regress_linear
 

Functions

void a_regress_linear_init (a_regress_linear *ctx, a_real *coef_p, a_size coef_n, a_real bias)
 initialize for linear regression
 
a_real a_regress_linear_eval (a_regress_linear const *ctx, a_real const *val)
 compute predicted value for linear regression
 
void a_regress_linear_err (a_regress_linear const *ctx, a_size n, a_real const *x, a_real const *y, a_real *err)
 compute residuals for linear regression
 
void a_regress_linear_pdm (a_regress_linear const *ctx, a_size n, a_real const *x, a_real *pdm, a_real y_mean)
 compute prediction deviation from mean for linear regression
 
void a_regress_linear_gd (a_regress_linear *ctx, a_real const *input, a_real error, a_real alpha)
 gradient descent for linear regression
 
void a_regress_linear_sgd (a_regress_linear *ctx, a_size n, a_real const *x, a_real const *y, a_real alpha)
 stochastic gradient descent for linear regression
 
void a_regress_linear_bgd (a_regress_linear *ctx, a_size n, a_real const *x, a_real const *err, a_real alpha)
 batch gradient descent for linear regression
 
a_real a_regress_linear_mgd (a_regress_linear *ctx, a_size n, a_real const *x, a_real const *y, a_real *err, a_real delta, a_real lrmax, a_real lrmin, a_size lrtim, a_size epoch, a_size batch)
 mini-batch gradient descent for linear regression
 
void a_regress_linear_zero (a_regress_linear *ctx)
 zeroing for linear regression
 

Detailed Description

Function Documentation

◆ a_regress_linear_bgd()

void a_regress_linear_bgd ( a_regress_linear * ctx,
a_size n,
a_real const * x,
a_real const * err,
a_real alpha )

batch gradient descent for linear regression

Parameters
[in,out]ctxpoints to an instance of linear regression
[in]nnumber of samples, x[n*coef_n], err[n]
[in]xpredictor data, specified as a numeric matrix
[in]errresiduals, specified as a numeric vector
[in]alphalearning rate for gradient descent

◆ a_regress_linear_err()

void a_regress_linear_err ( a_regress_linear const * ctx,
a_size n,
a_real const * x,
a_real const * y,
a_real * err )

compute residuals for linear regression

Parameters
[in]ctxpoints to an instance of linear regression
[in]nnumber of samples, x[n*coef_n], y[n], err[n]
[in]xpredictor data, specified as a numeric matrix
[in]yresponse data, specified as a numeric vector
[in,out]errresiduals, specified as a numeric vector

◆ a_regress_linear_eval()

a_real a_regress_linear_eval ( a_regress_linear const * ctx,
a_real const * val )

compute predicted value for linear regression

Parameters
[in]ctxpoints to an instance of linear regression
[in]valindependent variables
Returns
predicted value

◆ a_regress_linear_gd()

void a_regress_linear_gd ( a_regress_linear * ctx,
a_real const * input,
a_real error,
a_real alpha )

gradient descent for linear regression

Parameters
[in,out]ctxpoints to an instance of linear regression
[in]inputpredictor data, specified as a numeric vector
[in]errorresidual, specified as a numeric scalar
[in]alphalearning rate for gradient descent

◆ a_regress_linear_init()

void a_regress_linear_init ( a_regress_linear * ctx,
a_real * coef_p,
a_size coef_n,
a_real bias )

initialize for linear regression

Parameters
[in,out]ctxpoints to an instance of linear regression
[in]coef_ppoints to regression coefficients
[in]coef_nnumber of regression coefficients
[in]biasintercept

◆ a_regress_linear_mgd()

a_real a_regress_linear_mgd ( a_regress_linear * ctx,
a_size n,
a_real const * x,
a_real const * y,
a_real * err,
a_real delta,
a_real lrmax,
a_real lrmin,
a_size lrtim,
a_size epoch,
a_size batch )

mini-batch gradient descent for linear regression

Parameters
[in,out]ctxpoints to an instance of linear regression
[in]nnumber of samples, x[n*coef_n], y[n], err[n]
[in]xpredictor data, specified as a numeric matrix
[in]yresponse data, specified as a numeric vector
[in,out]errresiduals, specified as a numeric vector
[in]deltathreshold for gradient descent value
[in]lrmaxmaximum learning rate of iterations
[in]lrminminimum learning rate of iterations
[in]lrtimtotal number of learning rate steps
[in]epochmaximum number of epochs
[in]batchbatch size of data
Returns
change in loss function

◆ a_regress_linear_pdm()

void a_regress_linear_pdm ( a_regress_linear const * ctx,
a_size n,
a_real const * x,
a_real * pdm,
a_real y_mean )

compute prediction deviation from mean for linear regression

Parameters
[in]ctxpoints to an instance of linear regression
[in]nnumber of samples, x[n*coef_n], pdm[n]
[in]xpredictor data, specified as a numeric matrix
[in,out]pdmdeviation, specified as a numeric vector
[in]y_meanmean of response data

◆ a_regress_linear_sgd()

void a_regress_linear_sgd ( a_regress_linear * ctx,
a_size n,
a_real const * x,
a_real const * y,
a_real alpha )

stochastic gradient descent for linear regression

Parameters
[in,out]ctxpoints to an instance of linear regression
[in]nnumber of samples, x[n*coef_n], y[n]
[in]xpredictor data, specified as a numeric matrix
[in]yresponse data, specified as a numeric vector
[in]alphalearning rate for gradient descent

◆ a_regress_linear_zero()

void a_regress_linear_zero ( a_regress_linear * ctx)

zeroing for linear regression

Parameters
[in,out]ctxpoints to an instance of linear regression