Membuat Contoh Embeddings

Contoh ini menunjukkan cara menghasilkan penyematan yang digunakan dalam ukuran kesamaan yang diawasi.

Bayangkan Anda memiliki set data perumahan yang sama dengan yang Anda gunakan saat membuat ukuran kesamaan manual:

FiturJenis
HargaBilangan bulat positif
Ukuran Nilai floating point positif dalam satuan meter persegi
Kode posBilangan Bulat
Jumlah kamarBilangan Bulat
Jenis rumahNilai teks dari “single_family”, “multi-family”, “apartment”, “condo”
Garasi0/1 untuk tidak/ya
WarnaKategoris multivalen: satu atau beberapa nilai dari warna standar “putih”, ”kuning”, ”hijau”, dll.

Memproses Pra-Data

Sebelum menggunakan data fitur sebagai input, Anda harus memproses data terlebih dahulu. Langkah pra-pemrosesan didasarkan pada langkah-langkah yang Anda ambil saat membuat ukuran kemiripan manual. Berikut ini ringkasannya:

FiturJenis atau DistribusiTindakan
HargaDistribusi Poisson Ukur dan skalakan ke [0,1].
UkuranDistribusi Poisson Ukur dan skalakan ke [0,1].
Kode posKategoris Ubah menjadi bujur dan lintang, kuantisasi, lalu skalakan ke [0,1].
Jumlah kamarBilangan Bulat Pangkas klip dan skalakan ke [0,1].
Jenis rumahKategoris Konversi ke encoding satu kali.
Garasi0 atau 1 Biarkan apa adanya.
WarnaKategoris Konversikan ke nilai RGB dan proses sebagai data numerik.

Untuk informasi selengkapnya tentang encoding satu kali, lihat Embeddings: Data Input Kategoris.

Pilih Prediktor atau Autoencoder

Untuk membuat sematan, Anda dapat memilih autoencoder atau prediktor. Ingat, pilihan default Anda adalah autoencoder. Namun, Anda memilih prediktor jika fitur tertentu dalam set data Anda menentukan kemiripan. Untuk kelengkapannya, mari kita lihat kedua kasus tersebut.

Melatih Prediktor

Anda harus memilih fitur tersebut sebagai label pelatihan untuk DNN yang penting dalam menentukan kesamaan di antara contoh Anda. Anggaplah harga adalah yang paling penting dalam menentukan kemiripan antara rumah.

Pilih harga sebagai label pelatihan, lalu hapus dari data fitur input ke DNN. Latih DNN dengan menggunakan semua fitur lainnya sebagai data input. Untuk pelatihan, fungsi kerugian hanyalah MSE antara harga yang diprediksi dan yang sebenarnya. Untuk mempelajari cara melatih DNN, lihat Melatih Jaringan Neural.

Melatih Autoencoder

Latih autoencoder pada set data kami dengan mengikuti langkah-langkah berikut:

  1. Pastikan lapisan tersembunyi pada autoencoder lebih kecil daripada lapisan input dan output.
  2. Hitung kerugian untuk setiap output seperti yang dijelaskan dalam Pengukuran Kesamaan yang Diawasi.
  3. Buat fungsi kerugian dengan menjumlahkan kerugian untuk setiap output. Pastikan bobot Anda sama untuk setiap fitur. Misalnya, karena data warna diproses menjadi RGB, bobot setiap output RGB sebesar 1/3.
  4. Latih DNN.

Mengekstrak Embeddings dari DNN

Setelah melatih DNN, baik prediktor atau autoencoder, ekstrak penyematan untuk contoh dari DNN. Ekstrak penyematan dengan menggunakan data fitur contoh sebagai input, dan baca output lapisan tersembunyi akhir. Output ini membentuk vektor penyematan. Ingat, vektor untuk rumah yang mirip harus lebih dekat daripada vektor untuk rumah yang berbeda.

Selanjutnya, Anda akan melihat cara mengukur kemiripan pasangan contoh dengan menggunakan vektor penyematannya.