L'hyperplan optimal dans SVM est défini comme:
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:
Cependant, nous pouvons toujours définir le mappage sorte que , , puis l'hiperplane optimal sera défini comme
Des questions:
Pourquoi de nombreux articles utilisent alors qu'ils ont déjà mappé et estiment les paramètres et maintiennent séparément ?
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 ?
Si la définition de SVM à partir de la question 2. est possible, nous aurons et le seuil sera simplement , que nous ne traiterons pas séparément. Nous n'utiliserons donc jamais de formule comme pour estimer partir d'un vecteur de support . Droite?
Réponses:
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.
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).b 1||w||2 2||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
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
la source
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
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".
la source
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 θ
la source