10 peretas mengembangkan sistem rekomendasi

Dalam artikel sebelumnya, kami membahas dasar-dasar merekomendasikan sistem dan menggunakan kasing. Kami belajar bahwa prinsip utamanya adalah merekomendasikan produk yang disukai orang-orang dengan rasa yang serupa dan menerapkan algoritma penyaringan kolaboratif.

Dalam artikel ini, peretasan kehidupan sistem rekomendasi berdasarkan kasus bisnis nyata akan dipertimbangkan. Ini akan menunjukkan metrik mana yang paling baik digunakan dan seberapa dekat jarak yang akan dipilih untuk prediksi.



Pembelajaran mesin menggunakan berbagai metrik untuk mengevaluasi kinerja algoritma. Tetapi dalam bisnis, metrik dasarnya sama - berapa banyak uang yang dihasilkan dari implementasi solusi. Berdasarkan hal ini, dalam kasus kami yang diterapkan oleh tim Data4 , kami mencoba untuk meningkatkan total pendapatan per pengguna.

Untuk memaksimalkan pendapatan, penting untuk mengetahui produk apa yang telah dibeli oleh pengguna. Namun sayangnya, jika kita membangun matriks preferensi produk hanya pada data pembelian, matriks kita akan menjadi jarang, dan kualitasnya akan berkurang.

Lifehack nomor 1


Mari kita gunakan dalam matriks preferensi produk tidak hanya pembelian, tetapi juga langkah menengah: mengklik kartu, menambah keranjang, melakukan pemesanan.

Kami menetapkan koefisien bobot untuk setiap tindakan, dan matriks kami akan berubah menjadi lebih "padat".

Tetapi tidak semua produk sama konversi. Setelah membuka kartu, seseorang tidak dapat melanjutkan pembelian karena sifat “internal” dari barang tersebut. Contoh: barang mewah sering dilihat, tetapi dibeli sedikit.

Retas hidup nomor 2


Mari kita bangun distribusi barang untuk setiap tahap corong, dan hapus dari rekomendasi 5-10% dari produk konversi terendah di setiap tahap. Hal utama adalah jangan “membasuh bayi dengan air”. Barang yang tersisa akan memiliki properti "internal" yang tidak mengganggu pembelian. Contoh properti internal adalah ukuran pakaian yang tersedia. Jika produk bagus, tetapi hanya satu ukuran, konversinya akan rendah.

Kami sudah menemukan barangnya, sekarang mari kita lihat bagaimana mengukur "kesamaan" dari pengguna.

Ada banyak metrik kesamaan, mulai dengan kedekatan cosinus, kuadrat terkecil, dan berakhir dengan opsi eksotis.

Lifehack nomor 3


Berdasarkan pengalaman Data4 dalam membangun sistem rekomendasi untuk toko online, pekerjaan sedang dilakukan dengan matriks yang habis. Untuk matriks seperti itu, yang terbaik adalah menggunakan koefisien kedekatan - Jacquard. Ini memberikan peningkatan dalam metrik lebih dari perubahan algoritma.

Lifehack nomor 4


Sebelum menggunakan jaringan saraf, cobalah mesin SVD dan faktorisasi. Itu bekerja.



Gbr. 1 Prinsip pengoperasian mesin faktorisasi

Lifehack nomor 5


Mengenali produk serupa dengan gambar memang menyenangkan, tetapi kualitas menggunakan SVD berbasis perilaku lebih baik.

Lifehack nomor 6


Merekomendasikan produk baru kepada pengguna baru (ini adalah bagaimana masalah mulai dingin diatasi), dan untuk pengguna biasa - dari ekor panjang distribusi popularitas produk. Rekomendasi berfungsi dengan baik ketika mereka merekomendasikan produk frekuensi rendah yang cocok untuk pengguna. Tidak masuk akal untuk merekomendasikan film Titanic, jika pengguna ingin menontonnya, ia sudah menontonnya. Tapi film atau produk yang kurang dikenal bisa mengejutkan pengguna.



Lifehack nomor 7


Buat berbagai rekomendasi, tidak ada yang mau membuka halaman, melihat 10 mantel bulu identik, atau hanya film satu sutradara. Berbagai konten meningkatkan kemungkinan pembelian.



Lifehack nomor 8


Pilih metrik yang Anda mengerti cara kerjanya. Biarkan RMSE sederhana, tetapi hasil yang dapat diandalkan daripada nDCG @ K (metrik ini cocok), dan hasil acak.

Lifehack nomor 9


Orang-orang mungkin tersinggung dengan rekomendasi tersebut, jadi wanita sebaiknya tidak merekomendasikan pakaian ukuran besar jika Anda tidak tahu ukurannya.

Lifehack nomor 10


Hanya melakukan uji A / B pada pengguna yang akan memberi tahu Anda bagaimana solusinya bekerja. Metrik kualitas - hasil antara, tes A / B - konfirmasi, yang mungkin mengecewakan Anda, tetapi seringkali menyenangkan.

Menggunakan teknik yang dijelaskan, tim Data4 kami melakukan beberapa kasus penerapan sistem rekomendasi.

Dalam artikel tersebut, kami berbicara bahwa untuk meningkatkan kualitas sistem rekomendasi, Anda dapat 1) mempertimbangkan tindakan pengguna menengah 2) Menghilangkan produk konversi rendah 3) Gunakan koefisien Jacquard untuk matriks jarang 4) Gunakan mesin SVD dan faktorisasi jika Anda bukan Google 5) Berhati-hatilah saat mencari kedekatan menurut gambar, jika anggaran terbatas 6) Merekomendasikan produk yang tidak jelas kepada pengguna lama dari ujung popularitas distribusi 7) Merekomendasikan berbagai produk 8) Menggunakan metrik kualitas yang tepat wa 9) Jangan menyinggung orang dengan rekomendasi 10) Gunakan uji A / B untuk memverifikasi hasilnya.

Source: https://habr.com/ru/post/id476224/


All Articles