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 | |
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
[in,out] | ctx | points to an instance of linear regression |
[in] | n | number of samples, x[n*coef_n], err[n] |
[in] | x | predictor data, specified as a numeric matrix |
[in] | err | residuals, specified as a numeric vector |
[in] | alpha | learning rate for gradient descent |
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
[in] | ctx | points to an instance of linear regression |
[in] | n | number of samples, x[n*coef_n], y[n], err[n] |
[in] | x | predictor data, specified as a numeric matrix |
[in] | y | response data, specified as a numeric vector |
[in,out] | err | residuals, specified as a numeric vector |
a_real a_regress_linear_eval | ( | a_regress_linear const * | ctx, |
a_real const * | val ) |
compute predicted value for linear regression
[in] | ctx | points to an instance of linear regression |
[in] | val | independent variables |
void a_regress_linear_gd | ( | a_regress_linear * | ctx, |
a_real const * | input, | ||
a_real | error, | ||
a_real | alpha ) |
gradient descent for linear regression
[in,out] | ctx | points to an instance of linear regression |
[in] | input | predictor data, specified as a numeric vector |
[in] | error | residual, specified as a numeric scalar |
[in] | alpha | learning rate for gradient descent |
void a_regress_linear_init | ( | a_regress_linear * | ctx, |
a_real * | coef_p, | ||
a_size | coef_n, | ||
a_real | bias ) |
initialize for linear regression
[in,out] | ctx | points to an instance of linear regression |
[in] | coef_p | points to regression coefficients |
[in] | coef_n | number of regression coefficients |
[in] | bias | intercept |
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
[in,out] | ctx | points to an instance of linear regression |
[in] | n | number of samples, x[n*coef_n], y[n], err[n] |
[in] | x | predictor data, specified as a numeric matrix |
[in] | y | response data, specified as a numeric vector |
[in,out] | err | residuals, specified as a numeric vector |
[in] | delta | threshold for gradient descent value |
[in] | lrmax | maximum learning rate of iterations |
[in] | lrmin | minimum learning rate of iterations |
[in] | lrtim | total number of learning rate steps |
[in] | epoch | maximum number of epochs |
[in] | batch | batch size of data |
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
[in] | ctx | points to an instance of linear regression |
[in] | n | number of samples, x[n*coef_n], pdm[n] |
[in] | x | predictor data, specified as a numeric matrix |
[in,out] | pdm | deviation, specified as a numeric vector |
[in] | y_mean | mean of response data |
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
[in,out] | ctx | points to an instance of linear regression |
[in] | n | number of samples, x[n*coef_n], y[n] |
[in] | x | predictor data, specified as a numeric matrix |
[in] | y | response data, specified as a numeric vector |
[in] | alpha | learning rate for gradient descent |
void a_regress_linear_zero | ( | a_regress_linear * | ctx | ) |
zeroing for linear regression
[in,out] | ctx | points to an instance of linear regression |