Quais são as vantagens dos métodos MKL (Multiple Kernel Learning)?

8

Os métodos de aprendizado múltiplo do kernel visam construir um modelo de kernel em que o kernel é uma combinação linear de kernels de base fixa. O aprendizado do kernel consiste em aprender os coeficientes de ponderação de cada kernel base, em vez de otimizar os parâmetros do kernel de um único kernel.

As desvantagens do aprendizado de vários kernel parecem ser menos interpretáveis ​​e caras em termos computacionais (para avaliar a saída do modelo, é necessário avaliar todos os kernels base). Portanto, se um desempenho semelhante puder ser alcançado simplesmente otimizando um único kernel, quais são as vantagens do MKL?

Dikran Marsupial
fonte
O que significa "otimizar parâmetros de um único kernel"? parametrizamos a matriz grama de k (x, y)? ou do recurso de mapeamento Phi (x)? Existe mesmo uma maneira sistemática de fazer isso? Ou é como executar a validação cruzada em um monte de núcleos e escolher o melhor?
Geralt de Rivia
@GeraltofRivia Eu quero dizer apenas ajustar os hiperparâmetros de uma função básica do kernel (por exemplo, o parâmetro de escala de um kernel RBF). Um kernel RBF é surpreendentemente difícil de superar em termos de desempenho de generalização e uma soma ponderada de kernels (que pode incluir o RBF) parece um pouco menos interpretável, pelo menos para mim.
Dikran Marsupial

Respostas:

14

Há duas vantagens (ou melhor, dois casos de uso):

  1. Para todas as aplicações de SVMs, um usuário precisa escolher qual kernel usar e, às vezes, até criar suas próprias matrizes de kernel. É possível aliviar a escolha de kernels ou designs especializados de kernel? MKL foi um passo em direção a isso.

  2. O segundo caso IMHO é de longe um caso mais convincente. Considere que sua entrada de dados é um dado de vídeo + cc. A representação de recursos de cada vídeo consiste em recursos de vídeo, recursos de áudio e recursos de texto. Esses dados são conhecidos como dados multimodais. Cada conjunto desses recursos pode exigir uma noção diferente de similaridade (um kernel diferente). Em vez de criar um kernel especializado para tais aplicativos, é possível apenas definir o kernel para cada um desses modos e combiná-los linearmente?

TenaliRaman
fonte
1
+1 No entanto, não estou convencido de que [1] seja mais fácil usar o MKL do que apenas ter uma combinação linear de kernels e escolher os fatores de ponderação via, por exemplo, validação cruzada. Também aumenta a probabilidade de excesso de ajuste, pois agora existem mais parâmetros para estimar. Como você diz, [2] é muito mais atraente.
Dikran Marsupial
2
Vocês estarão interessados ​​neste artigo de McFee e Lanckriet no JMLR 2011 - jmlr.csail.mit.edu/papers/v12/mcfee11a.html
TenaliRaman