Incroci di caratteristiche: non linearità della codifica

Nelle figure 1 e 2, immagina quanto segue:

  • I puntini blu rappresentano gli alberi malati.
  • I puntini arancioni rappresentano alberi sani.

I punti blu occupano il quadrante nord-orientale, mentre i punti arancioni occupano il quadrante sud-occidentale.

Figura 1. Si tratta di un problema lineare?

Riesci a disegnare una linea che separa accuratamente gli alberi malati da gli alberi sani? Certo. Questo è un problema lineare. La riga non sarà perfetta. Un albero o due alberi malati potrebbero essere "sani", ma la tua linea sarà un buon predittore.

Ora guarda la seguente figura:

I punti blu occupano i quadranti nord-est e sud-ovest, mentre i punti arancioni occupano i quadranti nord-ovest e sud-est.

Figura 2. Si tratta di un problema lineare?

Riesci a disegnare una sola linea retta che separa accuratamente gli alberi malati dagli alberi sani? No, non puoi. Questo è un problema non lineare. Le linee che tracci potrebbero essere un predittore scarso della salute degli alberi.

Stesso disegno della Figura 2, tranne per il fatto che una linea orizzontale spezza il piano. I punti blu e arancione si trovano sopra la linea, mentre i punti blu e arancione si trovano sotto la linea.

Figura 3. Non è possibile separare le due classi da una sola riga.

 

Per risolvere il problema non lineare mostrato nella Figura 2, crea una funzione incrociata. Una croce delle caratteristiche è una caratteristica sintetica che codifica la non linearità nello spazio delle caratteristiche moltiplicando due o più caratteristiche di input. Il termine croce deriva da cross product. Creiamo insieme una funzionalità denominata \(x_3\) attraversando \(x_1\) e \(x_2\):

$$x_3 = x_1x_2$$

Trattiamo questa croce \(x_3\) di nuova funzione coniata come qualsiasi altra funzionalità. La formula lineare diventa:

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

Un algoritmo lineare può apprendere una ponderazione per \(w_3\) come farebbe per \(w_1\) e \(w_2\). In altre parole, anche se \(w_3\) codifica le informazioni non lineari, non è necessario modificare il modo in cui il modello lineare viene addestrato per determinare il valore di \(w_3\).

Tipi di incroci

Possiamo creare molti tipi diversi di incroci. Ad esempio:

  • [A X B]: una caratteristica formata attraverso una moltiplicazione dei valori di due caratteristiche.
  • [A x B x C x D x E]: una caratteristica incrociata formata moltiplicando i valori di cinque caratteristiche.
  • [A x A]: un elemento croce formato quadrando una singola caratteristica.

Grazie alla discendenza gradiente stocastico, i modelli lineari possono essere addestrati in modo efficiente. Di conseguenza, l'integrazione di modelli lineari in scala con cross-feature è tradizionalmente un modo efficiente per addestrare su set di dati su larga scala.