Croisements de caractéristiques: encodage de la non-linéarité

Dans les figures 1 et 2, imaginez ce qui suit:

  • Les points bleus représentent les arbres malades.
  • Les points orange représentent des arbres sains.

Les points bleus occupent le quadrant nord-est ; les points orange occupent le quadrant sud-ouest.

Figure 1. S'agit-il d'un problème linéaire ?

Pouvez-vous tracer une ligne qui sépare soigneusement les arbres malades des arbres sains ? Bien sûr. Il s'agit d'un problème linéaire. La ligne ne sera pas parfaite. Un ou deux arbres malades peuvent être du côté sain, mais votre ligne sera un bon prédicteur.

Examinons à présent la figure suivante:

Les points bleus occupent les quadrants nord-ouest et sud-ouest ; les points orange occupent les quadrants nord-ouest et sud-est.

Figure 2. S'agit-il d'un problème linéaire ?

Pouvez-vous tracer une seule ligne droite qui sépare clairement les arbres malades des arbres sains ? Non, c'est impossible. Il s'agit d'un problème non linéaire. Toute ligne tracée sera un mauvais prédicteur de la santé des arbres.

Même dessin que la figure 2, si ce n'est qu'une ligne horizontale casse le plan. Les points bleus et orange sont au-dessus de la ligne, les points bleus et orange en dessous.

Figure 3. Une seule ligne ne peut pas séparer les deux classes.

 

Pour résoudre le problème non linéaire illustré à la Figure 2, créez un croisement de caractéristiques. Un croisement de caractéristiques est une caractéristique synthétique qui encode la non-linéarité dans l'espace de caractéristiques en multipliant plusieurs caractéristiques d'entrée. (Le terme cross vient de cross product.) Créons un croisement de caractéristiques nommé \(x_3\) en croisant \(x_1\)et \(x_2\):

$$x_3 = x_1x_2$$

Nous traitons ce nouveau croisement de caractéristiques \(x_3\) comme n'importe quelle autre caractéristique. La formule linéaire devient:

$$y = b + w_1x_1 + w_2x_2 + w_3x_3$$

Un algorithme linéaire peut apprendre une pondération pour \(w_3\) comme pour \(w_1\) et \(w_2\). En d'autres termes, bien qu' \(w_3\) encode les informations non linéaires, vous n'avez pas besoin de modifier la façon dont le modèle linéaire s'entraîne pour déterminer la valeur de \(w_3\).

Types de croisements de caractéristiques

Il est possible de créer de nombreux types de croisements de caractéristiques différents. Exemple :

  • [A X B]: croisement de caractéristiques résultant de la multiplication des valeurs de deux caractéristiques.
  • [A x B x C x D x E]: croisement de caractéristiques résultant de la multiplication des valeurs de cinq caractéristiques.
  • [A x A] : croisement de caractéristiques résultant de la mise au carré d'une seule caractéristique.

La descente de gradient stochastique permet d'entraîner efficacement des modèles linéaires. Par conséquent, compléter les modèles linéaires mis à l'échelle avec des croisements de caractéristiques a toujours été un moyen efficace d'entraîner des ensembles de données à très grande échelle.