Dados os vetores de suporte de um SVM linear, como posso calcular a equação do limite de decisão?
machine-learning
svm
dshin
fonte
fonte
[ASK QUESTION]
no topo da página e faça a pergunta lá, podemos ajudá-lo adequadamente. Como você é novato aqui, leia a nossa página de tour , que contém informações para novos usuários.Respostas:
The Elements of Statistical Learning , de Hastie et al., Possui um capítulo completo sobre classificadores de vetores de suporte e SVMs (no seu caso, inicie a página 418 na 2ª edição). Outro bom tutorial é o Support Vector Machines in R , de David Meyer.
A menos que eu entenda mal sua pergunta, o limite de decisão (ou hiperplano) é definido por (com e o termo de interceptação), ou como @ebony disse uma combinação linear dos vetores de suporte. A margem é então, seguindo Hastie et al. notações.xTβ+ β0 0= 0 ∥ β∥ = 1 β0 0 2 / ∥ p∥
A partir da ajuda on-line de
ksvm()
no kernlab pacote R, mas ver também kernlab - um pacote de S4 para métodos do kernel em R , aqui está um exemplo de brinquedo:Observe que, por uma questão de clareza, não consideramos amostras de treinamento e teste. Os resultados são mostrados abaixo, onde o sombreamento das cores ajuda a visualizar os valores de decisão ajustados; valores em torno de 0 estão no limite de decisão.
A chamada
attributes(svp)
fornece atributos que você pode acessar, por exemploPortanto, para exibir o limite de decisão, com sua margem correspondente, vamos tentar o seguinte (no espaço redimensionado), que é amplamente inspirado em um tutorial sobre SVM feito há algum tempo por Jean-Philippe Vert :
E aqui está:
fonte
É uma combinação linear dos vetores de suporte em que os coeficientes são dados pelos multiplicadores de Lagrange correspondentes a esses vetores de suporte.
fonte