Kernel Methods For Pattern Analysis