ANOVA Kernel: Show that $K_a(x,t)=\langle\phi_a(x),\phi_a(t)\rangle,\forall x,t\in\mathbb{R}^n$

72 Views Asked by At

I am reading about the ANOVA kernel:

$$K_a(x,t)=\prod^n_{i=1}(1+x_it_i)$$

Where $x,t\in \mathbb{R^n}$

We have that $$\phi_a(x)=(1,x_1,...,x_n,x_1x_2,....,x_1x_2\cdot\cdot\cdot x_n)^T$$

$\phi_a(x)\in\mathbb{R}^{2^n}$

I am trying to show that $$K_a(x,t)=\langle\phi_a(x),\phi_a(t)\rangle,\forall x,t\in\mathbb{R}^n$$

My attempt to prove it:

Proof by induction:

Let $P(n)$ be the statement $$K_a(x,t)=\langle \phi_a(x),\phi_(t)\rangle$$

for $x,t\in\mathbb{R}^n$

Base case, $P(1)$:

$K_a(x,t)=1+x_1t_1=\phi_a^T(x)\phi_a(t)$

For the sake of induction, assume $$P(n):\prod^n_{i=1}(1+x_it_i)=\phi_a^T(x)\phi_a(t)$$

is true.

Let $\phi_a(x^{(n)})$ be the notation for when the basis function is applied to $x\in\mathbb{R}^n$

We know that $\phi_a(x^{(n+1)})$ is a vector which is concatenated by the vector $\phi_a(x^{(n)})$ and $x_{n+1}(\phi_a(x^{(n)}))$.

Hence, we have that $$ \langle \phi_a(x^{(n+1)}),\phi_a(t^{(n+1)})\rangle=\\=\phi_a(x^{(n+1)})^T\phi_a(t^{(n+1)})=\phi_a(x^{(n)})^T\phi_a(t^{(n)})+x_{n+1}t_{n+1}(\phi_a(x^{(n)})^T\phi_a(t^{(n)}))\\=(\phi_a(x^{(n)})^T\phi_a(t^{(n)}))(1+x_{n+1}t_{n+1})\\=\left(\prod ^n_{i=1}(1+x_it_i)\right)(1+x_{n+1}t_{n+1})\\=\prod^{n+1}_{i=1}(1+x_it_i)=K_a(x^{(n+1)},t^{(n+1)})$$

Is this okay? I'm not sure that I have shown rigorously enough that $$\phi_a(x^{(n+1)})^T\phi_a(t^{(n+1)})=\phi_a(x^{(n)})^T\phi_a(t^{(n)})+x_{n+1}t_{n+1}(\phi_a(x^{(n)})^T\phi_a(t^{(n)}))$$