3 @classmod a.regress_linear
6 #ifndef LUA_LIBA_REGRESS_LINEAR_H
7 #define LUA_LIBA_REGRESS_LINEAR_H
13 @field coef regression coefficient
15 @table a.regress_linear
17 #if defined(__cplusplus)
19 #endif /* __cplusplus */
22 destructor for linear regression
25 int liba_regress_linear_die(lua_State
*L
);
28 constructor for linear regression
29 @tparam number coef regression coefficient
30 @tparam number bias intercept
31 @treturn a.regress_linear linear regression userdata
34 int liba_regress_linear_new(lua_State
*L
);
37 initialize for linear regression
38 @tparam number coef regression coefficient
39 @tparam number bias intercept
40 @treturn a.regress_linear linear regression userdata
43 int liba_regress_linear_init(lua_State
*L
);
46 calculate predicted value for linear regression
47 @tparam number val independent variable
48 @treturn number predicted value
51 int liba_regress_linear_eval(lua_State
*L
);
54 calculate residuals for linear regression
55 @tparam table x predictor data, specified as a numeric matrix
56 @tparam table y response data, specified as a numeric vector
57 @treturn table residuals, specified as a numeric vector
60 int liba_regress_linear_err(lua_State
*L
);
63 gradient descent for linear regression
64 @tparam table input predictor data, specified as a numeric vector
65 @tparam number error residual, specified as a numeric scalar
66 @tparam number alpha learning rate for gradient descent
67 @treturn a.regress_linear linear regression userdata
70 int liba_regress_linear_gd(lua_State
*L
);
73 stochastic gradient descent for linear regression
74 @tparam table x predictor data, specified as a numeric matrix
75 @tparam table y response data, specified as a numeric vector
76 @tparam number alpha learning rate for gradient descent
77 @treturn a.regress_linear linear regression userdata
80 int liba_regress_linear_sgd(lua_State
*L
);
83 batch gradient descent for linear regression
84 @tparam table x predictor data, specified as a numeric matrix
85 @tparam table y response data, specified as a numeric vector
86 @tparam number alpha learning rate for gradient descent
87 @treturn a.regress_linear linear regression userdata
90 int liba_regress_linear_bgd(lua_State
*L
);
93 mini-batch gradient descent for linear regression
94 @tparam table x predictor data, specified as a numeric matrix
95 @tparam table y response data, specified as a numeric vector
96 @tparam number delta threshold for gradient descent value
97 @tparam number lrmax maximum learning rate of iterations
98 @tparam number lrmin minimum learning rate of iterations
99 @tparam[opt] integer lrtim total number of learning rate steps
100 @tparam[opt] integer epoch maximum number of epochs
101 @tparam[opt] integer batch batch size of data
102 @treturn number change in loss function
105 int liba_regress_linear_mgd(lua_State
*L
);
108 zeroing for linear regression
109 @treturn a.regress_linear linear regression userdata
112 int liba_regress_linear_zero(lua_State
*L
);
114 #if defined(__cplusplus)
116 #endif /* __cplusplus */
118 #endif /* regress_linear.h */