A Survey on Multiple Kernel Learning: Theory, Algorithms and Applications