Design matrix preparation
Design matrix is a 2D matrix with m
rows and m
columns, with m
being
equivalent to the number of input data samples. There is usually a column
consisting of 1.0
appended to that matrix to account for bias, which makes
it m*(m+1)
or m*n
, with n
representing the number of basis functions.
In plain English, basis functions show us how much close and similar input data are to each other. And a kernel function decides how much similar our input data are. Selection of the kernel function depends on the problem at hand, and you can even mix multiple kernel functions together.
An RBF kernel with suitable parameter usually gives satisfactory results. Our old buddy scikit-learn is there again to help you with a wide selection of kernel functions and optimizing their parameters.
Before passing your design matrix to the neonrvm, make sure that it's stored in
column major order in memory. neonrvm will automatically append an extra
column for bias to the design matrix during training process, so you just need
to prepare a 2D m*m
matrix.