Por que o termo de viés no SVM é estimado separadamente, em vez de uma dimensão extra no vetor de recurso?

11

O hiperplano ideal no SVM é definido como:

wx+b=0,

onde representa o limite. Se tivermos algum mapeamento que mapeia o espaço de entrada para algum espaço , podemos definir SVM no espaço , onde o hiperplano ideal será:ϕ Z ZbϕZZ

wϕ(x)+b=0.

No entanto, sempre podemos definir mapeamento para que , , e o hiperplano ideal seja definido como & Phi; 0 ( x ) = 1 x w& Phi; ( x ) = 0.ϕϕ0(x)=1x

wϕ(x)=0.

Questões:

  1. Por que muitos artigos usam quando eles já têm mapeamento e estimam parâmetros limiar separadamente?ϕ w bwϕ(x)+b=0ϕwb

  2. Existe algum problema para definir SVM como s.t. \ y_n \ mathbf w \ cdot \ mathbf \ phi (\ mathbf x_n) \ geq 1, \ forall ne estimamos apenas o vetor de parâmetros \ mathbf w , assumindo que definimos \ phi_0 (\ mathbf x) = 1, \ forall \ mathbf x ? s. t. y n w φ ( x n )1,n w φ 0 ( x )=1, x

    minw||w||2
    s.t. ynwϕ(xn)1,n
    wϕ0(x)=1,x
  3. Se a definição de SVM da pergunta 2. for possível, teremos w=nynαnϕ(xn) e o limite será simplesmente b=w0 , que não trataremos separadamente. Portanto, nunca usaremos a fórmula como b=tnwϕ(xn) para estimar b de algum vetor de suporte xn . Direita?

Dejan
fonte

Respostas:

12

Por que o viés é importante?

O termo de viés é, de fato, um parâmetro especial no SVM. Sem ele, o classificador sempre passará pela origem. Portanto, o SVM não fornece o hiperplano de separação com a margem máxima, se não passar pela origem, a menos que você tenha um termo de viés.b

Abaixo está uma visualização do problema de viés. Um SVM treinado com (sem) um termo de viés é mostrado à esquerda (direita). Embora os dois SVMs sejam treinados com os mesmos dados , eles parecem muito diferentes.

insira a descrição da imagem aqui

Por que o viés deve ser tratado separadamente?

Como Ben DAI apontou, o termo de viés deve ser tratado separadamente por causa da regularização. O SVM maximiza o tamanho da margem, que é (ou dependendo de como você o define).1b 21||w||22||w||2

Maximizar a margem é o mesmo que minimizar . Isso também é chamado de termo de regularização e pode ser interpretado como uma medida da complexidade do classificador. No entanto, você não deseja regularizar o termo de viés porque, o viés altera as pontuações da classificação para cima ou para baixo na mesma quantidade para todos os pontos de dados . Em particular, o viés não altera a forma do classificador ou seu tamanho da margem. Portanto, ...||w||2

o termo de viés no SVM NÃO deve ser regularizado.

Na prática, no entanto, é mais fácil inserir o viés no vetor de recursos, em vez de precisar lidar com um caso especial.

Nota: ao empurrar o viés para a função de recurso, é melhor fixar essa dimensão do vetor de recurso em um número grande, por exemplo, , para minimizar os efeitos colaterais da regularização do viés.ϕ0(x)=10

Sobi
fonte
Qual programa você usou para gerar as parcelas, por curiosidade?
precisa saber é o seguinte
1
@ d0rmLife: este é apenas um desenho animado que eu fiz usando o MS PowerPoint!
Sobi 9/12/2015
1

Às vezes, as pessoas simplesmente omitem a interceptação no SVM, mas acho que a razão pela qual talvez possamos penalizar a interceptação para omitir isso. ou seja,

podemos modificar os dados e para omitir a interceptação Como você dito, técnica semelhante pode ser usada na versão do kernel. w =(w0,wo t)tXW+b= X wx^=(1,x)w^=(w0,wT)T

x w+b=x^ w^

No entanto, se colocarmos a interceptação nos pesos, a função objetivo será ligeiramente diferente da original. É por isso que chamamos de "penalizar".

Ben Dai
fonte
Concordo que teremos diferentes funções objetivas. O caso em que não incluímos a interceptação nos parâmetros leva ao problema de otimização sujeito a restrições, enquanto, caso contrário, temos o problema . Mas não entendo por que a interceptação de panalização é mais ou menos importante para o modelo. min w , b | | w | | 2bminw,b||w||2minw,b||w||2+b2
Dejan
O que me vem à cabeça é que a principal razão pela qual cruzamos é talvez porque, em um problema duplo, a interceptação nos permite ter uma restrição que é importante para aplicar o algoritmo SMO e, se não tivermos interceptado, terá apenas constantes e a otimização dupla seria mais difícil nesse caso. α n0αntn=0αn0
Dejan
@Petar Uma coisa que eu sabia é que ela se torna poderosa quando consideramos a forma Dual deste modelo. Esta técnica eliminará a restrição linear.
Ben Dai
@Petar Não acho que a otimização dupla seja mais difícil, pois temos domínio mais fácil.
Ben Dai
@Petar Para algoritmos específicos, pode ser mais difícil. No entanto, matematicamente, eu acho que de domínio caixa talvez melhor:)
Ben Dai
0

Além das razões mencionadas acima, a distância de um ponto a um hiperplano definido pela inclinação e interceptação é É assim que o conceito de margem no SVM é movido. Se você alterar para incluir o termo de interceptação , a norma será afetada pelo tamanho da interceptação, o que fará com que o SVM seja otimizado para uma pequena interceptação, o que não faz sentido em muitos casos.xθb

|θTx+b|||θ||
θbθ

charlieh_7
fonte
Mesmo que a distância de um ponto a um hiperplano esteja correta e a explicação pareça interessante, não vejo correlação entre essa fórmula e os SVMs de treinamento. Você pode explicar melhor como essa fórmula está usando durante o treinamento ou fornecer algum link adicional.
Dejan
@Dejan A idéia por trás de um SVM é encontrar o hiperplano que maximize a margem mínima de um conjunto de dados. A margem é a "distância" ( , sem assumir valor absoluto, o que indica a confiança que o classificador tem em relação a sua hipótese) desse ponto para o hiperplano vezes seu rótulo, que está em . O produto é , que é positivo se a saída do classificador corresponder ao rótulo e negativo, caso contrário. Na prática, simplesmente escalamos nosso modelo para que a margem mínima do conjunto de dados seja . {-1,1}y(θTx+b)θTx+b||θ||{1,1}1y(θTx+b)||θ||1||θ||
Charlieh_7 02/08/19
@Dejan você pode encontrar mais detalhes em Notas de Andrew Ng: cs229.stanford.edu/notes/cs229-notes3.pdf
charlieh_7