Persilangan Fitur: Persilangan Vektor One-Hot

Selama ini, kita berfokus pada persilangan fitur dua fitur angka dengan desimal individu. Dalam praktiknya, model machine learning jarang menyilang fitur berkelanjutan. Namun, model machine learning sering menyilang vektor fitur one-hot. Bayangkan fitur persilangan dari vektor fitur one-hot sebagai penggabungan yang logis. Misalnya, kita memiliki dua fitur: negara dan bahasa. Setiap enkode one-hot menghasilkan vektor dengan fitur biner yang dapat diterjemahkan sebagai country=USA, country=France atau language=English, language=Spanish. Lalu, jika melakukan persilangan fitur enkode one-hot ini, Anda mendapatkan fitur biner yang dapat diinterpretasikan sebagai penggabungan yang logis, seperti:

  country:usa AND language:spanish

Sebagai contoh lain, misalkan Anda meletakkan garis lintang dan garis bujur, yang menghasilkan vektor fitur lima elemen one-hot yang terpisah. Misalnya, garis lintang dan garis bujur yang diberikan dapat direpresentasikan sebagai berikut:

  binned_latitude = [0, 0, 0, 1, 0]
  binned_longitude = [0, 1, 0, 0, 0]

Misalkan Anda membuat persilangan fitur dari dua vektor fitur ini:

  binned_latitude X binned_longitude

Persilangan fitur ini adalah vektor one-hot 25 elemen (24 nol dan 1 satu). Satu 1 dalam silang mengidentifikasi hubungan garis lintang dan garis bujur tertentu. Kemudian model Anda dapat mempelajari asosiasi tertentu tentang hubungan tersebut.

Misalkan kita membagi garis lintang dan garis bujur jauh lebih kasar, seperti berikut:

binned_latitude(lat) = [
  0  < lat <= 10
  10 < lat <= 20
  20 < lat <= 30
]

binned_longitude(lon) = [
  0  < lon <= 15
  15 < lon <= 30
]

Membuat persilangan fitur dari kelompok kasar tersebut mendorong ke fitur sintesis, yang berarti:

binned_latitude_X_longitude(lat, lon) = [
  0  < lat <= 10 AND 0  < lon <= 15
  0  < lat <= 10 AND 15 < lon <= 30
  10 < lat <= 20 AND 0  < lon <= 15
  10 < lat <= 20 AND 15 < lon <= 30
  20 < lat <= 30 AND 0  < lon <= 15
  20 < lat <= 30 AND 15 < lon <= 30
]

Sekarang anggap model kita perlu memprediksi seberapa puas pemilik anjing terhadap (fitur) anjing berdasarkan dua fitur:

  • Jenis perilaku (menggonggong, menangis, meringkuk, dll.)
  • Waktu

Jika kita membuat persilangan fitur dari kedua fitur ini:

  [behavior type X time of day]

kita akan mendapatkan kemampuan yang jauh lebih prediktif dari fitur itu sendiri. Misalnya, jika anjing menangis (bahagia) pada pukul 17.00 saat pemilik pulang kerja kemungkinan akan menjadi prediktor yang sangat positif dari kepuasan pemilik. Menangis (sedih, mungkin) pada pukul 3.00 saat pemilik tidur nyenyak kemungkinan akan menjadi prediktor yang sangat negatif dari kepuasan pemilik.

Pembelajar linear menskalakan data besar dengan baik. Menggunakan persilangan fitur pada kumpulan data besar adalah salah satu strategi efisien untuk mempelajari model yang sangat kompleks. Jaringan neural menyediakan strategi lainnya.