I'm trying to read a paper called "Graph Embedding Discriminant Analysis on Grassmannian Manifolds for Improved Image Set Matching" and I came across a sentence that confused me (the last one):

A manifold is a topological space that is locally similar to Euclidean space. At an intuitive level, manifolds can be thought of as smooth, curved surfaces embedded in higher dimensional Euclidean spaces. Riemannian manifolds are endowed with a distance measure which allows us to measure how similar two points are. We are interested in a particular class of Riemannian manifolds, known as Grassmannian manifolds. [...] Grassmannian kernels allow us to treat the Grassmannian space as if it were a Euclidean vector space. As a result, learning algorithms in vector spaces can be extended to their counterparts on Grassmannian manifolds.

In my understanding, kernels are similarity functions $k(x,y)$ that can be used to map data points $x$ and $y$ to a new more "useful" space (where classes become linearly separable in the case of support vector machines for example), and the mapped points would be compared in that new space instead of the original one (please correct me if I'm wrong).

Now, I dont understand what the concept of kernels has to do with making it possible to treat points on a Grassmannian manifold as if they were in an Euclidean vector space. I see a Grassmannian manifold as a smooth (probably curvy and very complex) high dimensional surface that can be seen locally as an Euclidian space (just like a tiny bit on a 3D sphere where an ant can percieve its surroundings as a flat surface) and a geodesic would be a natural choice for distance computation on this space but I dont understand the use of Kernels in this context.

Edit: Grassmann kernels are defined in section 4 of this paper.

Thanks !

  • 1
    $\begingroup$ Could you provide, either in your question or via a link, a definition of "Grassmannian kernel"? I've tried Googling the term but only a couple papers come up. $\endgroup$ Commented Mar 9, 2017 at 22:18
  • $\begingroup$ I added à link to the question. $\endgroup$
    – vphenix
    Commented Mar 9, 2017 at 22:35
  • 4
    $\begingroup$ I think the authors have chosen some sloppy language. Roughly speaking, they're saying that the standard set up for their machine learning problem is a "vector space". They notice that all they really need is a metric space (which they phrase in terms of kernels). Once they set up the appropriate metric on the Grassmannian they think of the Grassmannian as being "as good as a vector space". $\endgroup$ Commented Mar 9, 2017 at 22:52

1 Answer 1


If you have you have a set $X$ and a kernel function $k: X \times X \to \mathbb R$, then you can associate to $k$ a Hilbert space $H$ of functions on $X$ in the following manner: set $$H_0 = \operatorname{span} \{ k(\cdot,x) \,:\, x \in X \}\,,$$ and define on $H_0$ the inner product $$ \langle \sum_i \alpha_i k(\cdot,x_i), \sum_j \beta_j k(\cdot,x_j) \rangle = \sum_{i,j} \alpha_i \beta_j k(x_i,x_j)\,.$$ Then $H$ is the completion of $H_0$ with respect to $\langle \cdot, \cdot \rangle$ and is called the reproducing kernel Hilbert space associated to $k$. One can identify $H$ with a subspace of the vector space of all functions on $X$.

Now on to Grassmannians: we can identify each element $x \in X$ with the function $k(\cdot, x)$, which is an element of the vector space $H$. In a way you "smear out" the point $x$ via the kernel $k(\cdot,x)$. Thus we can treat elements of the set $X$ as vectors in a vector space.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.