Persilangan Fitur: Encoding Nonlinearitas

Dalam Gambar 1 dan 2, gambarkan hal berikut:

  • Titik biru mewakili pohon yang sakit.
  • Titik oranye mewakili pohon yang sehat.

Titik biru menempati kuadran timur laut; titik oranye menempati kuadran barat daya.

Gambar 1. Apakah ini masalah linear?

Dapatkah Anda menggambar garis rapi yang memisahkan pohon yang sakit dari pohon yang sehat? Oke. Ini adalah masalah linear. Garis ini tidak akan sempurna. Satu atau dua pohon yang sakit mungkin berada di sisi "sehat" tetapi garis Anda akan menjadi prediktor yang baik.

Sekarang lihat gambar berikut:

Titik biru menempati kuadran timur laut dan barat daya; titik oranye menempati kuadran barat laut dan tenggara.

Gambar 2. Apakah ini masalah linear?

Dapatkah Anda menggambar satu garis lurus yang memisahkan pohon yang sakit dari pohon yang sehat dengan rapi? Tidak, Anda tidak bisa melakukannya. Ini adalah masalah non-linear. Garis apa pun yang Anda gambar akan menjadi prediktor yang buruk untuk kesehatan pohon.

Gambar yang sama seperti Gambar 2, kecuali bahwa garis horizontal memutus bidang. Titik biru dan oranye berada di atas garis; titik biru dan oranye berada di bawah garis.

Gambar 3. Satu baris tidak dapat memisahkan kedua class tersebut.

 

Untuk mengatasi masalah nonlinear yang ditunjukkan pada Gambar 2, buat persilangan fitur. Persilangan fitur adalah fitur sintetis yang mengenkode non-linear dalam ruang fitur dengan mengalikan dua fitur input atau lebih. (Istilah cross berasal dari cross product.) Mari kita buat persilangan fitur yang bernama \(x_3\) dengan menyilangkan \(x_1\) dan \(x_2\):

$$x_3 = x_1x_2$$

Kami memperlakukan persilangan fitur \(x_3\) yang baru dibuat ini seperti fitur lainnya. Formula linear menjadi:

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

Algoritme linear dapat mempelajari bobot untuk \(w_3\) sama seperti \(w_1\) dan \(w_2\). Dengan kata lain, meskipun \(w_3\) mengenkode informasi nonlinear, Anda tidak perlu mengubah cara model linear dilatih untuk menentukan nilai \(w_3\).

Jenis persilangan fitur

Kita dapat membuat berbagai jenis persilangan fitur. Contoh:

  • [A X B]: persilangan fitur yang dibuat dengan mengalikan nilai dari dua fitur.
  • [A x B x C x D x E]: persilangan fitur yang dibuat dengan mengalikan nilai dari lima fitur.
  • [A x A]: persilangan fitur yang dibuat dengan menekan satu fitur.

Karena penurunan gradien stokastik, model linear dapat dilatih secara efisien. Akibatnya, melengkapi model linear terskala dengan persilangan fitur secara tradisional telah menjadi cara efisien untuk melatih set data berskala besar.