Entendendo a regressão SVM: função objetivo e “nivelamento”

12

SVMs para classificação fazem sentido intuitivamente para mim: eu entendo como minimizar ||θ||2 produz a margem máxima. No entanto, não entendo esse objetivo no contexto de regressão. Vários textos ( aqui e aqui ) descrevem isso como maximização da "planicidade". Por que queremos fazer isso? O que em regressão é equivalente ao conceito de "margem"?

Aqui estão algumas respostas tentadas, mas nenhuma que realmente ajudou a minha compreensão.

Yang
fonte
Eu não estou realmente de acordo com a teoria SVM, mas o 'nivelamento' na discussão sobre máquinas-kernel ao qual você vincula parece totalizar: 'possui pequena segunda derivada' (pense na motivação típica para modelos de suavização de spline).
conjugateprior

Respostas:

11

Uma maneira de pensar sobre o nivelamento é que ele torna minhas previsões menos sensíveis a perturbações nos recursos. Ou seja, se estou construindo um modelo com a forma onde meu vetor de característica x já foi normalizado, valores menores em θ significam que meu modelo é menos sensível a erros de medição / choques aleatórios / não - estacionariedade dos recursos, x . Dados dois modelos ( isto é, dois valores possíveis de θ ) que explicam os dados igualmente bem, eu prefiro o mais "plano".

y=xθ+ϵ,
xθxθ

Você também pode pensar em Ridge Regression como executando a mesma coisa sem o truque do kernel ou a formulação de regressão 'tube' do SVM.

edit : Em resposta aos comentários de @ Yang, mais algumas explicações:

  1. Considere o caso linear: . Suponha que x sejam extraídos de alguma distribuição, independentemente de θ . Pela identidade do produto escalar, temos y = | | x | | | | q | | cos ψ + ϵ , onde ψ é o ângulo entre θ e x , provavelmente distribuído sob uma distribuição esférica uniforme. Agora observe: o 'spread' ( por exemplo, o desvio padrão da amostra) de nossas previsões dey=xθ+ϵxθy=||x||||θ||cosψ+ϵψθx é proporcional a | | q | | . Para obter um bom MSE com as versões latentes e silenciosas de nossas observações, queremos reduzir isso | | q | | . cfestimador James Stein.y||θ||||θ||
  2. Considere o caso linear com muitos recursos. Considere a modelos , e y = x q 2 + ε . Se θ 1 possui mais zero elementos do que θ 2 , mas aproximadamente o mesmo poder explicativo, nós o preferiríamos, com base na lâmina de Occam, uma vez que possui dependências em menos variáveis ​​( ou seja , 'fizemos a seleção de recursos' definindo alguns elementos de θ 1 a zero). A planicidade é uma espécie de versão contínua desse argumento. Se cada marginal de xy=xθ1+ϵy=xθ2+ϵθ1θ2θ1xpossui desvio padrão unitário e possui, por exemplo, 2 elementos que são 10 e o n - 2 restante é menor que 0,0001, dependendo da sua tolerância ao ruído, isso efetivamente 'seleciona' os dois recursos e zera os restantes. .θ1n2
  3. Quando o truque do kernel é empregado, você está executando uma regressão linear em um espaço vetorial dimensional alto (às vezes infinito). Cada elemento de agora corresponde a uma de suas amostras , não a seus recursos . Se k elementos de θ são diferentes de zero, e o restante m - k é igual a zero, os recursos correspondentes aos k elementos diferentes de zero de θ são chamados de 'vetores de suporte'. Para armazenar seu modelo SVM, digamos em disco, você precisa apenas manter esses vetores de recursos k e jogar o restante deles fora. Agora, o nivelamento realmente importa, porque ter kθkθmkkθkkpequeno reduz os requisitos de armazenamento e transmissão, etc. Novamente, dependendo da sua tolerância ao ruído, você provavelmente pode zerar todos os elementos de mas o l maior, para alguns l , após executar uma regressão SVM. A planicidade aqui é equivalente à parcimônia em relação ao número de vetores de suporte.θll
shabbychef
fonte
1
então isso é basicamente regressão com uma função de perda de 'tubo' (penalidade 0 para pontos +/- epsilon da previsão) em vez da função de perda quadrática do OLS?
conjugateprior
@Conjugate Prior: sim, normalmente a regressão do kernel minimiza a função 'perda insensível a epsilon', que você pode considerar como veja, por exemplo, kernelsvm.tripod.com ou qualquer outro documento por Smola et al . f(x)=(|x|ϵ)+
shabbychef # 01
@shabbychef Obrigado. Eu sempre me perguntei o que estava acontecendo lá.
conjugateprior
@Conjugate Prior: Eu não acho que essa seja realmente a função de perda desejada, mas a matemática acaba funcionando bem, então eles correram com ela. Pelo menos é a minha suspeita.
Shabbychef
@shabbychef: Eu ainda estou perdido. Considere o caso unidimensional: . Tudo o que θ minimiza é fornecer uma linha mais horizontal . Parece não ter nada a ver com a segunda derivada, à qual acho que você está se referindo ("suavidade"). E se meus pontos de amostra são (0,0) e (1,1e9), por que eu preferiria uma linha mais plana? Ou seja, dizer o meu ε tolerância é 1 - por que eu iria preferir a linha mais plana de (0,0) para (1,1e9-1) ( θ = 1 e 9 - 1 ) em vez da linha a (1,1e9) ( θ = 1 e 9 ) ou a linha através de (1,1e9 + 1) ( θy=θxθϵθ=1e91θ=1e9 )? θ=1e9+1
Yang
3

shabbychef deu uma explicação muito clara da perspectiva da complexidade do modelo. Vou tentar entender esse problema de outro ponto de vista, caso possa ajudar alguém.

Basicamente, queremos maximizar a margem no SVC. É o mesmo no SVR, enquanto queremos maximizar o erro de previsão em uma precisão definida para uma melhor generalização. Aqui, se minimizarmos o erro de previsão em vez de maximizar, é mais provável que o resultado da previsão em dados desconhecidos seja super adaptado. Vamos pensar no "maximizar o erro de previsão" no caso unidimensional.e

No caso unidimensional, nosso objetivo é maximizar as distâncias de todos os pontos até a linha de tendência y = ω x + b dentro de e . Observe que definimos a restrição da precisão como e para que possamos maximizar a distância, e não minimizar . Então vamos dar uma olhada na equação muito simples da distância de um ponto a uma linha.(xi,yi)y=ωx+bee

|ωxiyi+b|ω2+1

No momento, o numerador está limitado a . Para maximizar a distância, o que tentamos fazer é minimizar ω .eω

Qualquer pessoa pode estender facilmente o caso unidimensional para o caso N-dimensional, pois a equação da distância será sempre a distância euclidiana .

Além disso, podemos ter uma revisão sobre o problema de otimização no SVR para a comparação [1].

min12||ω||2
s.t.{yi<ω,xi>be<ω,xi>+byie

Obrigado.

[1] Smola, A. e B. Schölkopf. Um tutorial sobre regressão de vetores de suporte. Estatística e Computação, vol. 14, nº 3, agosto de 2004, pp. 199–222.

oloopy
fonte
0

At least, I don't think minimizing θ has anything to do with the concept margin as in a SVM classification setting. It serves for a totally different goal that is well explained by the above two posts, i.e., reducing model complexity and avoiding overfitting.

lynnjohn
fonte