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:
Fitur | Jenis |
---|---|
Harga | Bilangan bulat positif |
Ukuran | Nilai floating point positif dalam satuan meter persegi |
Kode pos | Bilangan Bulat |
Jumlah kamar | Bilangan Bulat |
Jenis rumah | Nilai teks dari “single_family”, “multi-family”, “apartment”, “condo” |
Garasi | 0/1 untuk tidak/ya |
Warna | Kategoris 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:
Fitur | Jenis atau Distribusi | Tindakan |
---|---|---|
Harga | Distribusi Poisson | Ukur dan skalakan ke [0,1]. |
Ukuran | Distribusi Poisson | Ukur dan skalakan ke [0,1]. |
Kode pos | Kategoris | Ubah menjadi bujur dan lintang, kuantisasi, lalu skalakan ke [0,1]. |
Jumlah kamar | Bilangan Bulat | Pangkas klip dan skalakan ke [0,1]. |
Jenis rumah | Kategoris | Konversi ke encoding satu kali. |
Garasi | 0 atau 1 | Biarkan apa adanya. |
Warna | Kategoris | 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:
- Pastikan lapisan tersembunyi pada autoencoder lebih kecil daripada lapisan input dan output.
- Hitung kerugian untuk setiap output seperti yang dijelaskan dalam Pengukuran Kesamaan yang Diawasi.
- 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.
- 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.