Função de custo SVM: definições antigas e novas

9

Estou tentando reconciliar diferentes definições da função de custo / perda do SVM de margem flexível na forma primária. Existe um operador "max ()" que eu não entendo.

Eu aprendi sobre o SVM há muitos anos no livro de graduação em nível " Introdução à mineração de dados " de Tan, Steinbach e Kumar, 2006. Ele descreve a função de custo do SVM de forma branda no capítulo 5, p. 267-268. Observe que não há menção a um operador max ().

Isso pode ser feito introduzindo variáveis ​​de folga com valor positivo ( ) nas restrições do problema de otimização. ... A função objetivo modificada é dada pela seguinte equação:ξ

f(w)=w22+C(i=1Nξ)k

onde C e k são parâmetros especificados pelo usuário que representam a penalidade de classificar incorretamente as instâncias de treinamento. Para o restante desta seção, assumimos k = 1 para simplificar o problema. O parâmetro C pode ser escolhido com base no desempenho do modelo no conjunto de validação.

Daqui resulta que o Lagrangiano para esse problema de otimização restrita pode ser escrito da seguinte maneira:

Lp=w22+C(i=1Nξ)ki=1Nλi(yi(wxi+b)1+ξi)i=1Nμiξi

onde os dois primeiros termos são a função objetivo a ser minimizada, o terceiro termo representa as restrições de desigualdade associadas às variáveis ​​de folga, e o último termo é o resultado dos requisitos de não negatividade nos valores dos ξi 's.

Então isso foi de um livro de 2006.

Agora (em 2016), comecei a ler material mais recente no SVM. Na classe Stanford para reconhecimento de imagem , a forma primária da margem macia é declarada de uma maneira muito diferente:

Relação com a máquina de vetor de suporte binário. Você pode estar chegando a essa classe com experiência anterior com Máquinas de Vetor de Suporte Binário, onde a perda para o i-ésimo exemplo pode ser escrita como:

Stanford SVM

Da mesma forma, no artigo da Wikipedia sobre SVM , a função de perda é fornecida como:

insira a descrição da imagem aqui

De onde vem essa função "max"? Está contido nas duas primeiras fórmulas da versão "Introdução à mineração de dados"? Como conciliar as formulações antiga e nova? Esse livro está simplesmente desatualizado?

stackoverflowuser2010
fonte

Respostas:

6

A variável de folga é definida da seguinte forma (figura em Reconhecimento de padrões e Machine Learning).ξ

insira a descrição da imagem aqui

ξi=1yi(ωxi+b) se estiver no lado errado da margem (ou seja, ), caso contrário.xi1yi(ωxi+b)>0ξi=0

Assim .ξi=max(0,1yi(ωxi+b))(1)

Portanto, minimizar a primeira definição sujeita a restrição (1) é equivalente a minimizar a segunda definição (regularizador + perda de dobradiça)

f(w)=w22+C(i=1Nξ)k
R(w)+Cmax(0,1yi(ωxi+b)).

Há outra pergunta que pode estar relacionada. Entendendo as restrições dos SVMs no caso não separável? .

dontloo
fonte
u por favor pode explicar por que zeta_i = 1-yi (wx_i + b) ..se x_i está no lado errado
Milan Amrut Joshi
Pergunta @MilanAmrutJoshi bom, eu realmente não tenho pensado sobre isso, esperando para ver se há alguma resposta para a pergunta que você acabou de enviar
dontloo
@MilanAmrutJoshi Eu acredito que tem algo a ver com a margem, já que há um termo na perda, acho que é igual a "encontrar o limite que a distância de todos os pontos do lado errado da margem é o menor "||w||2
dontloo