Pourquoi le terme de biais dans SVM est-il estimé séparément, au lieu d'une dimension supplémentaire dans le vecteur caractéristique?

11

L'hyperplan optimal dans SVM est défini comme:

wx+b=0,

où représente le seuil. Si nous avons un mappage qui mappe l'espace d'entrée à un espace , nous pouvons définir SVM dans l'espace , où l'hiperplane optimal sera:bϕZZ

wϕ(x)+b=0.

Cependant, nous pouvons toujours définir le mappage sorte que , , puis l'hiperplane optimal sera défini comme ϕϕ0(x)=1x

wϕ(x)=0.

Des questions:

  1. Pourquoi de nombreux articles utilisent alors qu'ils ont déjà mappé et estiment les paramètres et maintiennent séparément ?wϕ(x)+b=0ϕwb

  2. Y a-t-il un problème pour définir SVM comme s.t. \ y_n \ mathbf w \ cdot \ mathbf \ phi (\ mathbf x_n) \ geq 1, \ forall n et estimer uniquement le vecteur de paramètres \ mathbf w , en supposant que nous définissons \ phi_0 (\ mathbf x) = 1, \ forall \ mathbf x ?

    minw||w||2
    s.t. ynwϕ(xn)1,n
    wϕ0(x)=1,x
  3. Si la définition de SVM à partir de la question 2. est possible, nous aurons w=nynαnϕ(xn) et le seuil sera simplement b=w0 , que nous ne traiterons pas séparément. Nous n'utiliserons donc jamais de formule comme b=tnwϕ(xn) pour estimer b partir d'un vecteur de support xn . Droite?

Dejan
la source

Réponses:

12

Pourquoi le biais est-il important?

Le terme de biais est, en effet, un paramètre spécial dans SVM. Sans cela, le classificateur passera toujours par l'origine. Donc, SVM ne vous donne pas l'hyperplan de séparation avec la marge maximale s'il ne passe pas par l'origine, sauf si vous avez un terme de biais.b

Vous trouverez ci-dessous une visualisation du problème de biais. Un SVM entraîné avec (sans) un terme de biais est indiqué sur la gauche (droite). Même si les deux SVM sont formés sur les mêmes données , cependant, ils semblent très différents.

entrez la description de l'image ici

Pourquoi le biais devrait-il être traité séparément?

Comme l'a souligné Ben DAI , le terme de biais doit être traité séparément en raison de la régularisation. SVM maximise la taille de la marge, qui est (ou selon la façon dont vous la définissez).b1||w||22||w||2

Maximiser la marge équivaut à minimiser . Ceci est également appelé terme de régularisation et peut être interprété comme une mesure de la complexité du classificateur. Cependant, vous ne voulez pas régulariser le terme de biais, car le biais déplace les scores de classification vers le haut ou vers le bas du même montant pour tous les points de données . En particulier, le biais ne change pas la forme du classificateur ou sa taille de marge. Par conséquent, ...||w||2

le terme de biais dans SVM ne doit PAS être régularisé.

En pratique, cependant, il est plus facile de simplement pousser le biais dans le vecteur de caractéristique au lieu de devoir le traiter comme un cas spécial.

Remarque: lorsque vous poussez le biais vers la fonction caractéristique, il est préférable de fixer cette dimension du vecteur caractéristique à un grand nombre, par exemple , afin de minimiser les effets secondaires de la régularisation du biais.ϕ0(x)=10

Sobi
la source
Quel programme avez-vous utilisé pour générer les parcelles, par curiosité?
d0rmLife
1
@ d0rmLife: ce n'est qu'un dessin animé que j'ai réalisé en utilisant MS PowerPoint!
Sobi
1

Parfois, les gens omettent simplement l'interception dans SVM, mais je pense que la raison pour laquelle nous pouvons peut-être pénaliser l'interception afin de l'omettre. c'est à dire,

nous pouvons modifier les données , et afin d'omettre l'interception comme vous dit, une technique similaire peut être utilisée dans la version du noyau.x^=(1,x)w^=(w0,wT)T

x w+b=x^ w^

Cependant, si nous mettons l'interception dans les poids, la fonction objectif sera légèrement différente de celle d'origine. C'est pourquoi nous appelons "pénaliser".

Ben Dai
la source
Je conviens que nous aurons différentes fonctions objectives. Le cas où nous n'incluons pas l'interception dans les paramètres conduit au problème d'optimisation soumis à une contrainte, alors que sinon nous avons le problème . Mais, je ne comprends pas pourquoi l'interception de panalisation est plus ou moins importante pour le modèle. bminw,b||w||2minw,b||w||2+b2
Dejan
Ce qui me vient à l'esprit, c'est que la principale raison pour laquelle nous avons une intersection est peut-être parce que dans un problème double, l'interception nous permet d'avoir la contrainte qui est importante pour appliquer l'algorithme SMO, et si nous n'avons pas d'interception, nous n'aura que les constantes et la double optimisation serait plus difficile dans ce cas. αntn=0αn0
Dejan
@Petar Une chose que je savais, c'est qu'il devient puissant lorsque nous considérons la forme double de ce modèle. Cette technique éliminera la contrainte linéaire.
Ben Dai
@Petar Je ne pense pas que la double optimisation sera plus difficile, car nous avons un domaine plus facile.
Ben Dai
@Petar Pour un algorithme spécifique, cela peut être plus difficile. Cependant, mathématiquement, je pense que le domaine de la boîte peut-être mieux:)
Ben Dai
0

En plus des raisons mentionnées ci-dessus, la distance d'un point à un hyperplan défini par la pente et l'ordonnée à l'origine est Voici comment le concept de marge dans SVM est déplacé. Si vous modifiez le pour inclure le terme d'interception , la norme du sera affectée par la taille de l'interception, ce qui entraînera l'optimisation du SVM vers une petite interception, ce qui n'a pas de sens dans de nombreux cas.xθb

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

charlieh_7
la source
Même si la distance d'un point à un hyperplan est correcte et que l'explication semble intéressante, je ne vois pas de corrélation entre cette formule et l'entraînement des SVM. Pouvez-vous mieux expliquer comment cette formule utilise pendant la formation ou fournir un lien supplémentaire.
Dejan
@Dejan L'idée derrière un SVM est de trouver l'hyperplan qui maximise la marge minimale d'un ensemble de données. La marge est la "distance" ( , sans prendre de valeur absolue, ce qui indique la confiance du classificateur envers son hypothèse) de ce point à l'hyperplan fois son étiquette, qui est dans . Le produit est , ce qui est positif si la sortie du classificateur correspond à l'étiquette et négatif sinon. Dans la pratique, nous modifions simplement notre modèle afin que la marge minimale de l'ensemble de données soit . θTx+b||θ||{1,1}y(θTx+b)||θ||1||θ||
charlieh_7
@Dejan, vous pouvez trouver plus de détails dans les notes d'Andrew Ng: cs229.stanford.edu/notes/cs229-notes3.pdf
charlieh_7