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_float *coef_p, a_size coef_n, a_float bias) |
initialize for linear regression | |
a_float | a_regress_linear_eval (a_regress_linear const *ctx, a_float const *val) |
calculate predicted value for linear regression | |
void | a_regress_linear_err (a_regress_linear const *ctx, a_size n, a_float const *x, a_float const *y, a_float *err) |
calculate residuals for linear regression | |
void | a_regress_linear_pdm (a_regress_linear const *ctx, a_size n, a_float const *x, a_float *pdm, a_float y_mean) |
calculate prediction deviation from mean for linear regression | |
void | a_regress_linear_gd (a_regress_linear *ctx, a_float const *input, a_float error, a_float alpha) |
gradient descent for linear regression | |
void | a_regress_linear_sgd (a_regress_linear *ctx, a_size n, a_float const *x, a_float const *y, a_float alpha) |
stochastic gradient descent for linear regression | |
void | a_regress_linear_bgd (a_regress_linear *ctx, a_size n, a_float const *x, a_float const *err, a_float alpha) |
batch gradient descent for linear regression | |
a_float | a_regress_linear_mgd (a_regress_linear *ctx, a_size n, a_float const *x, a_float const *y, a_float *err, a_float delta, a_float lrmax, a_float 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_float const * | x, | ||
a_float const * | err, | ||
a_float | 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_float const * | x, | ||
a_float const * | y, | ||
a_float * | err ) |
calculate 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_float a_regress_linear_eval | ( | a_regress_linear const * | ctx, |
a_float const * | val ) |
calculate 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_float const * | input, | ||
a_float | error, | ||
a_float | 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_float * | coef_p, | ||
a_size | coef_n, | ||
a_float | 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_float a_regress_linear_mgd | ( | a_regress_linear * | ctx, |
a_size | n, | ||
a_float const * | x, | ||
a_float const * | y, | ||
a_float * | err, | ||
a_float | delta, | ||
a_float | lrmax, | ||
a_float | 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_float const * | x, | ||
a_float * | pdm, | ||
a_float | y_mean ) |
calculate 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_float const * | x, | ||
a_float const * | y, | ||
a_float | 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 |