An online prediction setup assumes we are given a stream of
input-output pairs
, in which every
is a
vector representing a memory of the length of the linear filter
. A key feature of online algorithms is that the number of
computations must not increase as the number of samples increases.
Since the size of a kernel matrix depends on the number of samples
used to calculate it, we chose to take into account only a
``sliding-window'' containing the last
input-output pairs of
this stream. For window
, the observation matrix
and the observation vector
are
formed and the corresponding kernel matrix
and regularized
kernel matrix
can be calculated.
To solve (9), in each iteration the
inverse matrix
must be
calculated. This is costly both computationally and memory-wise
(requiring
operations). Therefore in
[14] an update algorithm was developed
that can compute
solely from
knowledge of the data of the current observation vector
and the previous
.
Given the kernel matrix
, the new kernel
matrix
can be constructed by removing the
first row and column of
, referred to as
, and adding kernels of the new data
as the last row and column:
Calculating the inverse kernel matrix
is done in two steps, using the
two inversion formulas from the appendix at the end of this paper.
Note that these formulas do not calculate the inverse matrices
explicitly, but rather derive them from known matrices maintaining
an overall time and memory complexity of
of the
algorithm.
First, given
and
, the inverse of the
matrix
is calculated according
to Eq. (12). Then
can be calculated applying the
matrix inversion formula from Eq. (11), based on
the knowledge of
and
.
The complete algorithm to solve (9) in an adaptive manner is summarized in Alg. (1).