10 Traditional Machine Learning Algorithms

Algoritma rekomendasi berbasis CF

1.1 Pengenalan Algoritma

CF (Collaborative Filtering) secara sederhana digambarkan sebagai menggunakan prinsip kepentingan yang menyenangkan untuk membuat rekomendasi. Ada dua jenis utama pemfilteran kolaboratif, satu adalah algoritme pemfilteran kolaboratif berbasis item, dan yang lainnya adalah algoritme pemfilteran kolaboratif berbasis pengguna. Di sini kami terutama memperkenalkan algoritma penyaringan kolaboratif berbasis item.

Diberikan sekumpulan pengguna dan sekumpulan item, ingatlah bahwa Vi mewakili vektor peringkat pengguna yang berbeda pada item, maka korelasi antara item i dan item j adalah:

Rumus di atas menggunakan rumus cosinus untuk menghitung koefisien korelasi, dan perhitungan koefisien korelasi juga meliputi: koefisien korelasi Jaccard, koefisien korelasi Pearson, dll.

Hitung preferensi pengguna u untuk suatu item, catat skor pengguna u pada item i sebagai skor(u,i), dan skor pemfilteran kolaboratif pengguna u pada item i sebagai rek(u,j).

1.2 Praktek Bisnis

Mengambil keranjang belanja sebagai contoh, masalah bisnis: merekomendasikan sekumpulan produk kepada pengguna sesuai dengan catatan pembelian historis pengguna Metode penerapan algoritma penyaringan kolaboratif adalah sebagai berikut.

Pembeli mewakili vektor produk yang dibeli oleh pengguna, dan dilambangkan dengan mewakili koleksi pengguna di seluruh perpustakaan, dan mewakili skor pengguna pada produk, yang didefinisikan sebagai berikut:

Langkah 1: Hitung koefisien korelasi antar item

Nyatakan pembelisi sebagai vektor produk yang dibeli oleh pengguna, dan nyatakan pembelii=(...,bu,i,...) u∈U sebagai, di mana U mewakili kumpulan pengguna di seluruh perpustakaan, dan bu,i mewakili skor pengguna u pada produk i, didefinisikan sebagai berikut:

Maka koefisien korelasi antara komoditi i dan komoditi j adalah sebagai berikut:

Rumus di atas menggunakan rumus kosinus untuk menghitung korelasinya, artinya semakin kecil sudut antara vektor pembelian pengguna produk, semakin mirip. Selain itu, Pearson, Jaccard, dan rumus khusus juga dapat digunakan untuk menghitung korelasi, yang tidak akan dicantumkan di sini.

Langkah2: Hitung skor pemfilteran kolaboratif pengguna untuk produk

Diberikan pengguna u, misalkan vektor dari riwayat catatan komoditas yang dibeli pengguna adalah historyu=(…,hu,i,…), i∈I di mana I mewakili himpunan semua komoditas:

Hitung skor pemfilteran kolaboratif yang diberikan item j sebagai:

Langkah3: Merekomendasikan produk kepada pengguna

Melalui Langkah 2, hitung skor pemfilteran kolaboratif pengguna untuk seluruh database, dan dapatkan 10 poin teratas untuk ditampilkan kepada pengguna.

Algoritma Rekomendasi Berdasarkan Aturan Asosiasi

2.1 Pengenalan Algoritma

Rekomendasi berdasarkan aturan asosiasi adalah menghitung hubungan antara aturan yang berbeda berdasarkan data historis, seperti: X->Y, yang berarti setelah peristiwa X terjadi, peristiwa Y akan terjadi dengan probabilitas tertentu, dan probabilitas ini diperoleh melalui statistik data historis.

Untuk aturan X->Y, ada dua indikator untuk mengukur aturan tersebut. Salah satunya adalah dukungan, yang berarti bahwa dalam semua data sampel, proporsi sampel X dan Y disertakan pada saat yang bersamaan. Yang lainnya adalah kepercayaan, yang menunjukkan proporsi sampel yang mengandung Y di antara semua sampel yang mengandung X.

Dalam algoritma rekomendasi asosiasi, hal yang paling penting adalah bagaimana menemukan item yang paling sering muncul.Ada dua metode utama dalam industri ini, yaitu algoritma Apriori dan FP tree. Namun, di antara karakteristik pengguna Internet yang masif, kompleksitas komputasi menggunakan algoritme ini untuk menambang frequent set sangat tinggi. Di sini kami memperkenalkan algoritme aturan asosiasi yang sederhana dan praktis dalam bisnis.

2.2 Praktek Bisnis

Mengambil keranjang belanja sebagai contoh, skenario bisnisnya adalah: merekomendasikan produk kepada pengguna berdasarkan riwayat belanja mereka. Di bawah ini kami memperkenalkan cara membangun algoritma rekomendasi aturan asosiasi sederhana.

Langkah 1: Persiapan data

Pertama, kumpulkan catatan pembelian tampilan pengguna, dan kaitkan data fitur pengguna pada saat tampilan. Biarkan jumlah total sampel menjadi n, dan format datanya adalah sebagai berikut:

Fitur pengguna dapat berupa ID produk yang dibeli oleh pengguna di riwayat, atau fitur atribut pengguna, seperti: umur, jenis kelamin, tempat tinggal, dan sebagainya.

Step2: fitur crossover

Pada tabel di atas, untuk sampel yang sama, semua fitur berpotongan berpasangan untuk menghasilkan aturan fitur dengan panjang 2, dan aturan fitur asli dengan panjang 1 digabungkan untuk mendapatkan tabel input data aturan asosiasi sebagai berikut :

Pada tabel di atas, hanya aturan dengan panjang 1 (fitur asli) dan 2 (dua-dua persimpangan fitur asli) yang digunakan sebagai himpunan kandidat untuk aturan berikutnya Pertimbangan utama untuk tidak membuat aturan dengan panjang 3 adalah untuk mengurangi kompleksitas ruang aturan.

Langkah3: Hasilkan aturan asosiasi

Pertama, luaskan fitur pada tabel di atas sehingga setiap fitur memiliki satu record, seperti yang ditampilkan pada tabel berikut:

Hitung dukungan, kepercayaan diri, dan peningkatan untuk setiap aturan. Pertama buat deklarasi variabel:

f->i merepresentasikan peristiwa di mana pengguna dengan fitur f membeli item i

sf,i menunjukkan dukungan dari aturan f->i

cf,i merepresentasikan kepercayaan dari aturan f->i

Metode perhitungan sf,i adalah: pada tabel statistik 3, jumlah record yang memuaskan fitur=f, komoditas=i, apakah pengguna membeli=0 pada saat yang sama dicatat sebagai notbuyersf,i

Pemilihan aturan, aturan dapat difilter dengan ketentuan berikut.

Kondisi 1: Lebih besar dari atau sama dengan nilai tertentu, nilai acuannya adalah 20-100.

Kondisi 2: Lakukan urutan menurun dengan dukungan semua aturan, ambil 75 digit sebagai nilai referensi, dan sf,i lebih besar dari atau sama dengan nilai ini.

Kondisi 3: Lakukan urutan menurun pada kepercayaan semua aturan, ambil 75 digit sebagai nilai referensi, cf,i lebih besar dari atau sama dengan nilai ini.

Langkah4: Merekomendasikan produk kepada pengguna

Diberikan pengguna u dan produk i, set fitur pengguna u yang dihasilkan oleh metode di atas dilambangkan sebagai F. Kami menggunakan nilai rata-rata dari semua fitur yang valid untuk i di bawah set fitur pengguna ini untuk mengukur kemungkinan pembelian pengguna u p( u ,Saya):

Gunakan rumus di atas untuk menghitung 10 produk teratas di perpustakaan dan merekomendasikannya kepada pengguna. Dalam perhitungan sebenarnya, seluruh perhitungan perpustakaan tidak dilakukan, tetapi teknologi indeks fitur digunakan untuk mengurangi sejumlah besar perhitungan yang berlebihan.

Algoritma rekomendasi berbasis Bayes

3.1 Pendahuluan Prinsip

Teorema Bayes (Bayes) adalah teorema tentang transformasi timbal balik dari probabilitas bersyarat dari peristiwa acak A dan B. Rumus Bayesian adalah sebagai berikut:


Pada rumus di atas, yang dimaksud dengan P(Bi|u) adalah probabilitas terjadinya peristiwa Bi ketika peristiwa u terjadi, P(Bi) menyatakan probabilitas terjadinya peristiwa Bi, dan P(u) menyatakan probabilitas terjadinya peristiwa kamu .

Cara menggunakan teorema di atas untuk membuat rekomendasi yang dipersonalisasi, mari berikan contoh praktik bisnis.

3.2 Praktek Bisnis

Ambil rekomendasi aplikasi di toko aplikasi sebagai contoh Skenario bisnis: Saat pengguna memasuki toko aplikasi, aplikasi direkomendasikan kepada pengguna berdasarkan daftar aplikasi yang diinstal pengguna.

Langkah 1: Dekomposisi masalah

Diberi pengguna u, rekomendasikan aplikasi B kepada pengguna Menurut rumus Bayesian, probabilitas pemasangan pengguna adalah:

Misalkan daftar instalasi pengguna adalah {A1 ,…, An}, dan pengguna u dianggap sebagai peristiwa {A1 ,…, An} Untuk menyederhanakan masalah, dengan asumsi bahwa Ak tidak tergantung satu sama lain, maka:

Dalam skenario rekomendasi, skor aplikasi yang berbeda dihitung untuk pengguna, lalu direkomendasikan dalam urutan menurun. Untuk pengguna yang sama P(u) tidak berubah, jadi kita dapat menggunakan rumus berikut sebagai dasar penyortiran:

Set aplikasi dari seluruh library dicatat sebagai , sehingga ada dua set parameter utama dalam model rekomendasi Bayesian, yaitu:

Langkah 2: Persiapan data

Pertama, kumpulkan riwayat catatan tampilan aplikasi pengguna di app store, dan kaitkan daftar pemasangan pengguna pada saat tampilan. Format datanya adalah sebagai berikut:

Langkah3: Perhitungan parameter model

Perhitungan himpunan parameter {P(B)|B∈I}: Diberikan aplikasi B. Menurut Tabel 1, pertama-tama, jumlah sampel "aplikasi yang ditampilkan = B" dicatat sebagai showNumsB dan kemudian dihitung "aplikasi yang ditampilkan = B" dan " Jumlah sampel apakah pengguna telah menginstal = 1" dicatat sebagai installNumsB Lalu:

Himpunan parameter {P(Ai|B)|B∈I,Ai∈I} Diberikan aplikasi B dan Ai Berdasarkan Tabel 1, hitung terlebih dahulu jumlah sampel "Ai∈installed list" dan "display application = B", record Ini adalah showNumsAi,B. Kemudian hitung jumlah sampel "Ai∈installed list" dan "display application = B" dan "apakah pengguna menginstal =1", dicatat sebagai installNumsAi,B Kemudian:

Dalam perhitungan P(Ai|B), mungkin terdapat sampel yang tidak mencukupi, sehingga terjadi outlier. Untuk menghindari situasi tersebut, perlu ditambahkan jumlah minimum instalasi berdasarkan pengalaman. Di sini kita tentukan jumlah minimum instalasi sebagai 100, maka :

Di antaranya, P(Ai) merepresentasikan proporsi pengguna yang telah menginstal aplikasi Ai di antara semua pengguna.

Langkah4: Merekomendasikan aplikasi kepada pengguna

Diberikan pengguna u dan kumpulan kandidat aplikasi yang direkomendasikan, kami menggunakan metode di atas untuk menghitung skor sortScore(u,B) dari pengguna u untuk setiap aplikasi di kumpulan kandidat, dan melakukan urutan menurun berdasarkan nilai ini, dan merekomendasikan 10 aplikasi teratas untuk pengguna.

Algoritma rekomendasi berdasarkan KNN

4.1 Pengenalan Algoritma

KNN (K-Nearest Neighbor Classification Algorithm) adalah algoritma yang relatif sederhana dalam pembelajaran mesin Prinsipnya adalah sebagai berikut: Untuk item A yang perlu diklasifikasikan, tentukan metode tertentu untuk menggambarkan jarak antar item, dan temukan tetangga terdekat dari item. Terdapat k item dengan kategori yang diketahui, dan kategori yang paling banyak muncul diantara k item tersebut adalah kategori item A. Seperti yang ditunjukkan di bawah ini:

Dalam perhitungan KNN, intinya adalah bagaimana menentukan jarak antar item. Berikut kami daftarkan secara singkat beberapa metode untuk menghitung jarak antar item: jarak Euclidean, jarak Manhattan, jarak Chebyshev, koefisien Jaccard, cosinus sudut, koefisien Pearson.

Berikut ini memperkenalkan penerapan KNN dalam bisnis yang sebenarnya.

4.2 Praktek Bisnis

Skenario bisnis 1: Ambil app store sebagai contoh, saat pengguna selesai mengunduh aplikasi, rekomendasi "Semua orang masih mengunduh" dipicu. Berikut ini menjelaskan cara menggunakan algoritme knn untuk mengimplementasikan rekomendasi dalam skenario ini:

Pertama-tama, tentukan vektor dimensi aplikasi. Metode sederhananya adalah mendiskritisasi semua fitur, lalu melakukan enkode one-hot untuk mendapatkan vektor V dengan nilai 0/1 untuk semua dimensi. Misalnya, setiap pengguna dapat dianggap sebagai dimensi. Jika n pengguna pertama telah menginstal aplikasi A, maka aplikasi A mengambil nilai 1 pada dimensi n, jika tidak 0, dan rumus jarak antara aplikasi A dan aplikasi B dapat diperoleh dengan menggunakan Jarak Euclidean.

Diberi aplikasi A, gunakan rumus di atas untuk memilih 4 aplikasi dengan jarak terkecil, dan merekomendasikan 4 aplikasi ini kepada pengguna setelah pengguna mendownload aplikasi A.

Skenario bisnis 2: Dalam belanja online, rekomendasikan sekumpulan item kepada pengguna dalam skenario "tebak yang Anda suka", dan gunakan rumus Jaccard untuk menghitung koefisien korelasi antara pengguna melalui daftar belanja historis pengguna:

Mewakili himpunan pengguna yang membeli barang x, maka jarak antara pengguna u dan pengguna v didefinisikan sebagai:

Diberikan pengguna u, pertama cari tahu k pengguna terdekat dari pengguna ini, lalu urutkan item dalam urutan menurun sesuai dengan jumlah pengguna yang dibeli di antara k pengguna ini, hapus item yang telah dibeli pengguna u, dan rekomendasikan yang teratas 10 item untuk pengguna.

algoritma pohon keputusan

5.1 Pengenalan Algoritma

Pohon keputusan adalah algoritma klasifikasi pembelajaran mesin klasik. Algoritma perwakilan utama adalah ID3, C4.5, dan CARD. Prinsipnya dapat dipahami secara sederhana sebagai memperoleh serangkaian aturan klasifikasi dengan meringkas dan menginduksi data. Berikut adalah contoh sederhana:

Dalam sebuah pohon keputusan, simpul daun merepresentasikan aturan keputusan (biasanya kategori simpul daun sama dengan kategori dengan sampel simpul terbanyak), tujuan dari algoritma pohon keputusan adalah untuk mendapatkan aturan dengan akurasi tinggi, dan keakuratan aturan keputusan dapat digunakan Kompleksitas simpul daun diukur.

5.2 Perhitungan Kompleksitas

Berikut daftar dua metode perhitungan kompleksitas yang umum digunakan Misalkan ada kumpulan sampel X, terdapat n kategori secara total, dan pi menyatakan proporsi dari kategori ke-i.

(1) Entropi informasi:

Pada rumus di atas, semakin tinggi nilai entropi informasi, semakin tinggi kompleksitas dan semakin besar ketidakpastian sampel.

(2) Indeks gini:

Pada rumus di atas, semakin besar indeks Gini, semakin tinggi kompleksitas dan semakin besar ketidakpastian sampel.

5.3 Indeks Terpisah

Dalam proses pembuatan pohon keputusan, pemisahan setiap node perlu mempertimbangkan pemisahan atribut mana yang akan dipilih untuk lebih mengurangi kompleksitas sistem. Metode pemisahan yang dipilih oleh algoritma yang berbeda berbeda.

(1) ID3: Perolehan Informasi

Diantaranya, H(x) merepresentasikan kompleksitas sistem sebelum pemisahan, dan merepresentasikan kompleksitas sistem setelah pemisahan. Semakin besar nilainya, metode pemisahan membuat sistem lebih teratur.

(2) K4.5: Tingkat perolehan informasi

Menunjukkan proporsi nilai ke-i atribut A, yang berarti kompleksitas atribut A. Rumus ini juga mempertimbangkan kompleksitas atribut A selain peningkatan kemurnian sistem. Semakin besar nilainya, metode pemisahan membuat sistem lebih teratur. (Dalam algoritma ID3, karena peningkatan kemurnian dari sistem perhitungan perolehan informasi dipilih, atribut dengan kompleksitas tinggi sering dipilih untuk pemisahan, dan atribut dengan kompleksitas tinggi memiliki banyak segmen nilai, menghasilkan beberapa node setelah pemisahan Hanya sejumlah kecil sampel tidak memiliki signifikansi statistik untuk prediksi, K4.5 diperbaiki berdasarkan masalah ini).

(3) KARTU: Koefisien Gini

Pohon keputusan yang dihasilkan oleh algoritma CARD adalah pohon biner. Setiap pemisahan hanya membagi dua node. Gini(X|A) merepresentasikan kompleksitas setelah pemisahan. Semakin tinggi nilainya, semakin besar ketidakteraturan sampel. X1, X2 adalah The dua set sampel setelah pemisahan X (metode pemisahan adalah melintasi semua kemungkinan pemisahan dan menemukan titik di mana Gini(X|A) adalah yang terkecil). Semakin kecil nilainya, metode pemisahan membuat sistem lebih teratur.

5.4 Pembuatan pohon keputusan

memasuki:

Indeks terpisah: Pilih indeks terpisah (perolehan informasi, tingkat perolehan informasi, koefisien Gini).

Kondisi terminasi pemisahan node: pilih jumlah minimum sampel dan kedalaman maksimum node.

Langkah 1: Pilih node Di yang dapat dipisah, hitung indeks pemisahan semua atribut dalam satu lingkaran, pilih indeks optimal untuk menjadikan sistem atribut paling teratur sebagai titik pemisahan, dan dapatkan kumpulan data Di+1, Di+ 2,...

Langkah 2: Apakah semua simpul daun telah mencapai kondisi penghentian pemisahan, jika demikian, jalankan Langkah 3, jika tidak, jalankan langkah 1.

Step3: Pengurangan cabang

Langkah 4: Kembali ke pohon keputusan T

5.5 Praktek Bisnis

Skenario bisnis: Ambil rekomendasi aplikasi yang dipersonalisasi di toko aplikasi sebagai contoh.

Langkah 1: Buat potret pengguna, kumpulkan catatan riwayat unduhan aplikasi pengguna, catatan aplikasi yang diinstal, dan atribut sosial pengguna (usia, jenis kelamin, pendidikan, kota).

Langkah 2: Buat potret aplikasi, yang mencakup ID aplikasi, jenis aplikasi, label aplikasi, peringkat penginstalan aplikasi, CTR aplikasi, dll.

Langkah 3: Pengumpulan sampel, kumpulkan catatan aplikasi unduhan paparan riwayat pengguna (bidang: ID pengguna, ID aplikasi, apakah akan diunduh), dan lewati ID pengguna, ID aplikasi dan potret pengguna, potret aplikasi untuk mendapatkan data sampel, dapatkan data sampel ( ID pengguna , ID aplikasi, potret pengguna, potret aplikasi, unduh atau tidak).

Langkah4: Buat sampel pelatihan model, tentukan aturan persimpangan untuk berbagai jenis fitur potret pengguna dan potret aplikasi untuk menghasilkan fitur model, gunakan aturan persimpangan yang ditentukan untuk menghasilkan fitur model untuk semua sampel, dan dapatkan sampel pelatihan model (fitur model, apakah akan mengunduh atau tidak).

Langkah 5: Pelatihan model, sampel pelatihan model melatih algoritma CARD, dan mendapatkan model prediksi.

Langkah 6: Penggunaan model, dengan memberikan pengguna dan aplikasi, buat profil pengguna dari pengguna dan profil aplikasi dari aplikasi sesuai dengan metode di atas, kemudian gunakan aturan fitur silang yang ditentukan untuk menghasilkan fitur model, dan gantikan fitur model ke dalam model untuk mendapatkan nilai prediksi.

algoritma hutan acak

6.1 Pengenalan Algoritma

Random Forest (RF) adalah algoritma klasifikasi dan regresi yang menggabungkan pohon keputusan dan bagging.Ini adalah sistem keputusan bagging yang terdiri dari beberapa pohon keputusan. Saat menggunakan RF untuk prediksi, masukan data sampel ke setiap pohon keputusan terlebih dahulu, dan setiap pohon mendapatkan simpul daun. Saat memprediksi, jika merupakan masalah regresi, hitung nilai rata-rata dari semua simpul daun pohon. Jika merupakan masalah klasifikasi Kemudian cari kelas dengan kelas simpul daun terbanyak di semua pohon.

Setiap pohon keputusan RF dibangun sebagai berikut:

Langkah 1: Gunakan M untuk merepresentasikan dimensi fitur total dari data, N untuk merepresentasikan jumlah sampel, dan m untuk merepresentasikan dimensi sampling fitur.

Langkah 2: Dengan penggantian, sampel N dipilih secara acak sebagai sampel pelatihan dari pohon ini.

Langkah 3: Bangun pohon keputusan untuk sampel pelatihan, ekstrak m fitur secara acak sebelum setiap pemisahan, dan pilih fitur pemisahan yang optimal di antara m fitur untuk fitur pemisahan.

Langkah4: Jangan memotong cabang sampai tidak dapat dibelah.

6.2 Praktek Bisnis

Mirip dengan pohon keputusan dalam aplikasi bisnis yang sebenarnya, algoritma RF dapat digunakan secara langsung untuk menggantikan pohon keputusan dalam praktik bisnis pohon keputusan yang diperkenalkan sebelumnya. pengambilan sampel sampel dan fitur pengambilan sampel berulang kali Jumlah pohon keputusan perlu dinilai dalam kombinasi dengan akurasi klasifikasi dan kompleksitas model.

Algoritma Rekomendasi Berdasarkan Faktorisasi Matriks
7.1 Pengenalan Algoritma

Dalam algoritma rekomendasi, masalah utama yang harus diselesaikan adalah menemukan skor preferensi pengguna untuk item tersebut. Ide dasar dari algoritma dekomposisi matriks adalah bahwa preferensi pengguna untuk item adalah ekspresi eksternal, dan bagian dalam adalah preferensi pengguna untuk tema, dan tema memiliki bobot yang berbeda untuk item yang berbeda. Melalui tautan pengguna->tema- > item untuk membentuk preferensi pengguna untuk item tersebut.

Rumus dekomposisi matriks: U=PQ

Diantaranya, U mewakili matriks preferensi pengguna untuk item yang berbeda, P mewakili matriks preferensi pengguna untuk topik yang berbeda, dan Q mewakili bobot topik yang berbeda untuk aplikasi.

7.2 Solusi model

Dalam praktik bisnis sebenarnya, sebagian dari skor preferensi pengguna untuk item diketahui, dan skor preferensi pengguna untuk item yang tidak diketahui dipecahkan.

Ambil skenario iklan toko aplikasi sebagai contoh: dengan paparan item pengguna dan catatan klik di terminal, hitung skor preferensi pengguna untuk iklan yang berbeda.

Langkah 1: Bangun matriks U berdasarkan data sampel

Menurut data sampel, jika pengguna mengklik item yang diekspos, itu akan dicatat sebagai 1, jika tidak ada klik, itu akan dicatat sebagai 0, dan item yang tidak diekspos tidak akan diberi nilai. (dicatat sebagai -).Contohnya adalah sebagai berikut:

Langkah 2: Selesaikan matriks P dan matriks Q

Misalkan ukuran matriks U adalah N×M, dan banyaknya topik didefinisikan sebagai K, maka ukuran matriksnya adalah N×K, ukuran matriks Q adalah K×M, dan fungsi kerugian dibangun sebagai berikut:

Diantaranya, ui,j menyatakan elemen baris ke-i dan kolom ke-j dari matriks U, pi menyatakan baris ke-i dari matriks P, dan qj menyatakan kolom ke-j dari matriks Q,

Matriks P dan matriks Q dapat diselesaikan dengan metode gradient descent.

Langkah3: Prediksi skor preferensi pengguna untuk item yang belum diekspos

Diberi pengguna i, perlu untuk memprediksi skor preferensi pengguna untuk item j, rumusnya adalah: .

Langkah4: Cara merekomendasikan item kepada pengguna

Diberikan kepada pengguna, hitung skor preferensi pengguna untuk semua item melalui rumus Langkah 3, dan rekomendasikan 10 item teratas yang belum dipaparkan oleh pengguna.

Algoritma rekomendasi berbasis BP
8.1 Pengenalan algoritma

Algoritma BP adalah algoritma dari jaringan syaraf tiruan. Jaringan algoritma BP terdiri dari jaringan multi-layer. Penyebaran sinyal dimulai dari lapisan pertama jaringan dan diteruskan ke lapisan jaringan berikutnya. Mengambil jaringan saraf 3 lapis sebagai contoh, contoh struktur jaringan adalah sebagai berikut:

Hubungan jaringan saraf 3 lapis adalah sebagai berikut:

Vektor X adalah vektor variabel input model, wi adalah matriks bobot koneksi lapisan Li-1 dan Li, dan bi adalah vektor bias dari Li. Fungsi f adalah fungsi aktivasi. Saat ini, fungsi aktivasi yang umum digunakan di industri antara lain relu, sigmod, dan tanh. Fungsi jaringan saraf BP tradisional umumnya menggunakan fungsi sigmod. Jika fungsi ini digunakan, maka:

8.2 Solusi model

Ambil estimasi rasio klik-tayang dalam skenario rekomendasi yang dipersonalisasi sebagai contoh. Parameter model di atas meliputi w1, w2, w3, b1, b2, b3. Kami menggunakan metode penurunan gradien untuk menyelesaikan parameter ini. Pertama, kumpulkan sampel, ambil data yang direkomendasikan oleh pengguna historis dan pengguna Data umpan balik rekomendasi digunakan sebagai sampel. Variabel didefinisikan sebagai berikut:

nums menunjukkan jumlah sampel yang dikumpulkan.

(Xi,yi) mewakili data sampel pengguna, Xi mewakili karakteristik sampel, dan yi mewakili situasi klik (0 berarti tidak ada klik, 1 berarti klik).

Yi merepresentasikan nilai keluaran dalam konstruksi model di atas, dan merupakan variabel tentang w1, w2, w3, b1, b2, b3.

Loss function: Ada dua definisi yang umum digunakan, satu adalah cross entropy, dan yang lainnya adalah mean square error Ambil mean square error sebagai contoh:

Melalui fungsi kerugian di atas, gunakan metode penurunan gradien untuk menyelesaikan parameter model w1, w2, w3, b1, b2, b3.

Algoritma Rekomendasi Berdasarkan W2V
9.1 Pengenalan Algoritma

W2V adalah alat untuk penghitungan vektor kata yang bersumber terbuka dari Google pada tahun 2013. Skenario yang diusulkan oleh algoritme ini terutama untuk memecahkan masalah vektorisasi kata di NLP. Metode tradisional untuk vektor kata adalah penyandian satu-panas, satu-panas. dua poin utama pengkodean.Poin pertama adalah bahwa dimensi terlalu tinggi untuk langsung digunakan sebagai variabel input model.Poin kedua adalah tidak ada korelasi antara kata-kata. Kelahiran W2V memecahkan dua masalah ini W2V adalah untuk memvektorisasi kata-kata di lintang rendah melalui jaringan saraf.

W2V memiliki dua model, satu model CBOW dan satu lagi model Skip-gram. Kedua model memvektorisasi kata, perbedaannya adalah: CBOW menggunakan kata sebagai target output, dan mengambil kata yang berdekatan dengan kata sebagai input; Skip-gram menggunakan kata sebagai input, dan mengambil kata yang berdekatan dengan kata sebagai target output . Contohnya adalah sebagai berikut:

Mengambil model CBOW sebagai contoh, diagram struktur model adalah sebagai berikut:

Hubungan antara setiap lapisan adalah:

Lapisan masukan: Ambil kata sebagai target keluaran, dan ambil vektor kata yang berdekatan dengan kata sebagai masukan.

Lapisan proyeksi: Menempatkan dan menjumlahkan semua vektor dari lapisan Input.

Lapisan keluaran: Pertama, buat pengkodean pohon Huffman untuk semua kata dalam korpus (pengkodean satu panas tidak digunakan, pengkodean satu panas terlalu jarang). Kemudian model klasifikasi logistik dibuat untuk setiap simpul pohon Huffman, dan input dari model tersebut adalah output dari Proyeksi.

9.1 Model pelatihan

Parameter model, parameter model meliputi vektor kata dari semua kata dan parameter regresi logistik setiap node di pohon Huffman.

Setiap simpul di pohon Huffman adalah fungsi regresi logistik, dan kata keluaran digunakan sebagai klasifikasi setiap simpul di jalur simpul daun (cabang kiri jalur adalah 1, dan cabang kanan bukan 0) sebagai pelatihan target. Contoh: jika kata keluaran pada gambar di atas diasumsikan sebagai “sepak bola”, maka jalurnya adalah sebagai berikut:

Konstruksi fungsi kerugian, melalui konstruksi lintas entropi, mengambil contoh sampel, jumlah vektor kata input dari sampel adalah XW, kata input adalah M, dan jalur pohon Huffman yang sesuai dengan kata tersebut adalah T(M) , maka fungsi kerugian sampel adalah sebagai berikut:

Hitung fungsi kerugian semua sampel sesuai dengan rumus di atas, dan dapatkan fungsi kerugian model setelah dijumlahkan:


Kata vektor vi dari semua kata dapat diselesaikan dengan metode gradient descent.

9.2 Praktek Bisnis

Skenario: Dalam skenario belanja online, W2V+BP digunakan untuk rekomendasi yang dipersonalisasi.

Langkah 1: Buat vektor item

Perlakukan setiap pengguna sebagai sebuah artikel, item yang dibeli oleh pengguna diurutkan dalam deret waktu, dan item tersebut dianggap sebagai kata-kata, yang dibawa ke dalam model W2V untuk mendapatkan vektor item tersebut.

Langkah 2: Pengumpulan sampel

Di klien koleksi, paparan item pengguna dan catatan pembelian dikumpulkan, daftar item yang dibeli oleh pengguna dalam riwayat digunakan sebagai potret pengguna, dan apakah pengguna membeli item setelah item diekspos ke pengguna adalah targetnya variabel.

Langkah 3: Bangun model W2V + BP

Ada dua input untuk model, yang pertama adalah nilai rata-rata vektor dari item yang dibeli pengguna secara historis, dan yang kedua adalah vektor dari item yang diekspos. Keluaran dari model adalah apakah pengguna membeli item yang terbuka, dan jaringan BP digunakan untuk koneksi di tengah.

Langkah4: Pelatihan dan penggunaan model

Pelatihan model: Saat ini, industri umumnya menggunakan TF untuk implementasi, dan jumlah node dan lapisan jaringan BP perlu ditentukan sesuai dengan situasi pelatihan.

Penggunaan model: Diberikan pengguna u dan item i, ambil nilai rata-rata vektor item yang dibeli oleh pengguna u dan vektor item i sebagai input model, dan hitung skor model item i. Ulangi operasi ini untuk menghitung skor model dari semua item kandidat untuk pengguna u, dan merekomendasikannya kepada pengguna dalam urutan menurun sesuai dengan skor model item.

Algoritma rekomendasi berbasis LR

10.1 Pengenalan prinsip

Inti dari algoritme LR (logistik regresi) adalah fungsi regresi linier. Algoritma ini terutama digunakan untuk skenario klasifikasi biner, seperti prediksi rasio klik-tayang. Rumus algoritme adalah sebagai berikut:

di mana x adalah input ke model

xi mewakili input untuk setiap dimensi.

w adalah vektor koefisien yang merepresentasikan input model x, w=(w1, w2, …), wi merepresentasikan bobot dimensi xi.

10.2 Pemecahan Model

Kami menyelesaikan model kami dengan penurunan gradien. Mengambil estimasi rasio klik-tayang sebagai contoh, kumpulkan sampel terlebih dahulu. Variabel didefinisikan sebagai berikut:

nums menunjukkan jumlah sampel yang dikumpulkan.

(Xi,yi) mewakili data sampel pengguna, Xi mewakili karakteristik sampel, dan yi mewakili situasi klik (0 berarti tidak ada klik, 1 berarti klik).

Yi mewakili nilai prediksi model, yang merupakan variabel tentang w dan b.

Tentukan fungsi kehilangan lintas-entropi:

Selesaikan w dan b yang sesuai ketika los(w,b) diminimalkan dengan metode gradient descent, yang merupakan parameter model yang diperlukan.

10.3 Praktek Bisnis

Dalam industri sistem rekomendasi saat ini, algoritme LR adalah metode populer untuk mendiskritisasi fitur dalam skala besar (encoding satu-panas), dan kemudian membawanya ke dalam model LR. Mengambil model rasio klik-tayang iklan sebagai contoh, langkah-langkahnya adalah sebagai berikut:

Langkah1: Buat potret pengguna

Buat potret pengguna menurut kategori fitur, dan bedakan semua fitur di bawah kategori, seperti: catatan item penelusuran riwayat pengguna, atribut sosial pengguna, tag yang diberikan kepada pengguna melalui model, dan sebagainya.

Langkah 2: Buat potret item

Untuk membuat potret item, perlu juga membagi kategori fitur item, dan mendiskritisasi fitur di bawah kategori, seperti: ID item, label item, popularitas item, dan sebagainya.

Langkah 3: Buat potret pemandangan

Dalam praktik bisnis yang sebenarnya, model sering kali perlu menggunakan beberapa skenario, dan rasio klik-tayang rata-rata item dalam skenario yang berbeda sangat bervariasi.Untuk memecahkan masalah rasio klik-tayang rata-rata yang berbeda dalam skenario yang berbeda dengan lebih baik, seringkali diperlukan untuk menambahkan fitur adegan. Potret pemandangan umumnya hanya memiliki ID pemandangan, dan informasi lokasi dapat ditambahkan di beberapa pemandangan khusus (misalnya: daftar pencarian).

Langkah4: Kumpulkan data sampel

Kumpulkan data klik paparan historis Dimensi data yang dikumpulkan meliputi: ID pengguna, ID item, ID adegan, klik atau tidak. Kemudian kaitkan potret pengguna dan potret item untuk mendapatkan data sampel pelatihan model.

Langkah5: Bangun fitur model

Input model diperoleh dengan membangun fitur model dari data sampel. Fitur model dibagi menjadi dua kategori, satu adalah fitur silang, dan yang lainnya adalah fitur asli.

Fitur persimpangan: pilih fitur kategori pengguna, pilih fitur kategori item, dan lakukan persimpangan tiga dimensi dari ID pemandangan, misalnya: catatan klik historis pengguna adalah item1, item2, fitur ID item adalah I1, dan fitur scene adalah scene1, maka fitur interseksi yang dihasilkan adalah item1&I1&scene1, item2&I1&scene1.

Fitur asli: Fitur asli mengacu pada penggunaan langsung fitur potret sebagai fitur input model. Umumnya, fitur item yang digeneralisasikan digunakan sebagai fitur asli untuk fitur mulai dingin item atau fitur mulai dingin adegan, misalnya: RKPT item, panas barang, label barang, dll.

Langkah6: Pelatihan model

Lakukan one-hot encoding pada semua fitur dalam model. Dengan asumsi bahwa jumlah fitur model adalah N, pertama-tama berikan setiap fitur model pengkodean 1-N yang unik, kemudian vektor input model dari setiap sampel memiliki dimensi N dan a nilai 0/1 , 0 berarti sampel memiliki ciri bilangan yang sesuai, 1 berarti tidak, contoh: sampel 1 memiliki ciri bilangan 1 dan bilangan 3, maka vektor input model sampel 1 adalah (1,0, 1,0 ,0,…), lalu latih model melalui pelatih LR umum untuk melatih parameter model.

Langkah7: Penggunaan model

Diberikan pengguna u dan sekumpulan item kandidat, bagaimana cara merekomendasikan item ke pengguna u. Hitung skor model pengguna u untuk setiap item dalam kumpulan kandidat dengan metode di atas, dan rekomendasikan kepada pengguna dalam urutan menurun dari skor model.

Related Articles

Explore More Special Offers

  1. Short Message Service(SMS) & Mail Service

    50,000 email package starts as low as USD 1.99, 120 short messages start at only USD 1.00

phone Contact Us