|
In my brief academic career I've come across a couple contexts in which the term "kernel" is used:
(and there are probably more I haven't come across or remembered here--please do tack them on) How exactly are these all related, if at all? Especially the connection between 1 and the rest--I suspect there's something I'm missing from one or both of those definitions. |
|
Kernel trick refers to mapping of a possibly non-linear problem to a higher dimension where it is possible to find a separating hyperplane. Why can we do this? Mercer proved this one. See "Mercer's theorem". A convolution kernel is really a composition of other kernels. For example, in structure prediction problems in NLP where it is common to see discrete structures like strings, trees, and graphs, convolution kernels are useful to define relation between two structures in terms of their substructures. One might consider a kernel, informally, as a mapping. So a convolution kernel is akin to function composition -- another kind of mapping. Another place where the term kernel pops up is "Kernel Density Estimation" where kernel is used in terms of a weighting function. So, the mapping view holds here too. The null space of a matrix is unrelated to these other meanings other than that it is a mapping to the additive identity. (See comments below). 1
I don't understand your second paragraph. In what sense is a linear subspace a mapping?
(Jul 07 '10 at 09:22)
Mark Meckes
@Mark Meckes: According to wikipedia ( http://en.wikipedia.org/wiki/Null_space ), "the null space of a matrix is precisely the kernel of the mapping", which sounds close enough to be what Delip meant in the original question. What this means, however, is also not clear to me, so I think he wrote the answer incorrectly.
(Jul 07 '10 at 09:41)
Alexandre Passos ♦
1
@Alexandre: The meaning of the statement in Wikipedia is clarified by the unquoted first half of the sentence you quoted from. My point is that in this usage the kernel is in no way a mapping, and this usage of the word is unrelated to the others.
(Jul 07 '10 at 09:53)
Mark Meckes
Yes, you're right.
(Jul 07 '10 at 09:57)
Alexandre Passos ♦
I edited the answer to reflect this (since it's already the top answer and might need some attention to change it, it better be right).
(Jul 07 '10 at 10:01)
Alexandre Passos ♦
1
Good question! Let me clarify. If you have a nxn matrix A over a certain field F (i.e. a linear transform from F^n to F^n) then the null space is the set of all elements in F^n that maps to the additive identity (0) under the linear transform. Further these elements are closed under addition and scalar multiplication (i.e. forms a linear subspace). So, there is no explicit relationship between the null space and the other meanings of the word kernel other than the fact that it also represents a mapping. This is what I meant in my one line explanation.
(Jul 07 '10 at 10:16)
Delip Rao
showing 5 of 6
show all
|
|
There is no real connection between the null space/kernel of a matrix and the other two meanings you cite. This use of kernel is a special case of the more general notion of the kernel of a homomorphism between two algebraic structures. Mikio L Braun has already pointed out the relationship between the other two uses you asked about. You might also try browsing the computing and mathematics sections of Wikipedia's kernel disambiguation page. |
|
I'm not sure about the null space, but I guess since algebra is quite, well, abstract, people were just taking whatever made sense to them. Now concerning the connection between Mercer kernels and convolution kernels is through integer operators. Integer operators are a class of mapping between function spaces studied in the context of differential and integral equations. An integral operator maps a function f(x) to a new function g(x) = "integral of k(x, y) f(y) dy". The function k(x,y) is called the kernel. It can be thought of as an generalization of a matrix. Under mild conditions (which I don't recall right now) integral operators have nice properties with respect to their eigenvectors and eigenfunctions, namely, that there are only finitely many eigenvalues and the only near point is zero. In particular, if the kernel fulfills Mercer's condition (i.e. is symmetric, and positive definite), then there exists a series of non-zero eigenvalues and orthogonal eigenfunctions which lead to the well-known expansion as a series. Now, the convolution of f with g is given by the integral of g(x-y)f(y) over y. In other words, the convolution has the same form as an integral operator with kernel k(x,y) = g(x-y). |
|
There's also kernels as factors in boolean expressions. I'll paste below some old text I wrote summarizing the definitions - it gets to kernels in the third paragraph. Sorry about the length, but might as well leave the terminology clear. Kernel extraction is a method for factoring boolean expressions introduced by Brayton and McMullen in [Brayton82], later used in the Mis logic synthesizer and more extensively documented by Brayton et al. in [Brayton87]. A variable represents a single coordinate of the Boolean space. A literal is a variable or its negation (e.g. a or a'). A cube is a set of literals, defining a subset of the Boolean space (e.g. {a,b',c}). An expression is a set of cubes (e.g. {{a},{b,c'}}); it can be used to represent (not uniquely) a logic function, in a sum-of-products form (e.g. a + bc'). Given a definition of division where, for example, (ab + bc) / b = a + c (no remainder) and (ab + c) / a = b (with remainder), an expression is cube-free if no cube divides the expression evenly (ab+c is cube free; ab+bc, abc are not). The primary divisors of an expression are the set of expressions that result of dividing the expression by a cube. A kernel is a primary divisor that is cube free; its co-kernel is the cube used to divide the expression. For example, x = (a+b+c)(d+e)f+g has a kernel a+b+c, corresponding to co-kernels df and ef (i.e. this kernel is obtained by x/df or x/de); d+e is a kernel corresponding to co-kernels af, bf, or cf; (d+e)f is a primary divisor (x/a, x/b, or x/c), but it is not a kernel because it is not cube-free. Finally, the concept of level of a kernel is recursively derived from a kernel containing another kernel of the same expression. A level-0 kernel does not contain any other. For example, if a(b+c)+d is a kernel of an expression, it will be a level-1 kernel, because it contains the level-0 kernel b+c, which cannot contain any other. [Brayton82] R. K. Brayton and Curt McMullen. The Decomposition and Factorization of Boolean Expressions. In Proceedings of the Int. Symp. Circuits and Systems, pages 49–54. IEEE, 1982. [Brayton87] R. K. Brayton, R. Rudell, A. Sangiovanni-Vincentelli, and A. R. Wang. MIS: A Multiple-Level Logic Optimization System. IEEE Transactions on Computer-Aided Design of Integrated Circuits, CAD-6(6):1062–1081, November 1987. |
|
I can answer the null space part in linear, suppose you have a matrix A m-by-n. the null space or kernel space of A ( null(A) ) is the set of all vectors x which satisfy this equation A.x = 0 |
A CUDA kernel is the inner loop of the CUDA (GPU) math computation.