Pembaruan 2018!
Anda dapat membuat ruang embedding (vektor padat) untuk variabel kategori Anda. Banyak dari Anda yang akrab dengan word2vec dan fastext, yang menanamkan kata-kata dalam ruang vektor padat yang bermakna. Gagasan yang sama di sini-- variabel kategorikal Anda akan dipetakan ke vektor dengan beberapa makna.
Dari makalah Guo / Berkhahn :
Penyisipan entitas tidak hanya mengurangi penggunaan memori dan mempercepat jaringan saraf dibandingkan dengan pengkodean satu-panas, tetapi lebih penting lagi dengan memetakan nilai-nilai serupa yang berdekatan satu sama lain dalam ruang penyisipan, ia mengungkapkan sifat intrinsik dari variabel kategori. Kami menerapkannya dengan sukses dalam kompetisi Kaggle baru-baru ini dan mampu mencapai posisi ketiga dengan fitur yang relatif sederhana.
Para penulis menemukan bahwa mewakili variabel kategori dengan cara ini meningkatkan efektivitas semua algoritma pembelajaran mesin yang diuji, termasuk hutan acak.
Contoh terbaik mungkin aplikasi teknik Pinterest untuk mengelompokkan Pin terkait:
Orang-orang di fastai telah menerapkan embeddings kategoris dan membuat posting blog yang sangat bagus dengan notebook demo pendamping .
Detail dan Penjelasan Tambahan
Net neural digunakan untuk membuat embeddings yaitu menetapkan vektor untuk setiap nilai kategorikal. Setelah Anda memiliki vektor, Anda dapat menggunakannya dalam model apa pun yang menerima nilai numerik. Setiap komponen vektor menjadi variabel input. Misalnya, jika Anda menggunakan vektor 3-D untuk menyematkan daftar warna kategori Anda, Anda mungkin mendapatkan sesuatu seperti: red = (0, 1.5, -2.3), biru = (1, 1, 0) dll. Anda akan menggunakan tiga variabel input di hutan acak Anda sesuai dengan tiga komponen Untuk benda merah, c1 = 0, c2 = 1.5, dan c3 = -2.3. Untuk benda biru, c1 = 1, c2 = 1, dan c3 = 0.
Anda sebenarnya tidak perlu menggunakan jaringan saraf untuk membuat embeddings (walaupun saya tidak merekomendasikan menghindar dari teknik ini). Anda bebas membuat embeddings sendiri dengan tangan atau cara lain, bila memungkinkan. Beberapa contoh:
- Peta warna ke vektor RGB.
- Peta lokasi ke vektor lat / long.
- Dalam model politik AS, petakan kota ke beberapa komponen vektor yang mewakili perataan kiri / kanan, beban pajak, dll.