Xin Zhiyuan Rehberi E-ticaret web siteleri ve görsel-işitsel web siteleri, kullanıcıların yerel özel verilerini yüklemeden kullanıcıların tercihlerini nasıl öğrenir ve zevklerine uygun içerik önerir? Bırakın astrolog bir psikoloğa ihtiyaç yoktur. Bunun yerine, işbirlikçi bir filtreleme algoritması kullanarak kullanıcının beğenisini tahmin etmek için bir vektör matrisi kullanılır.
Yakın zamanda, JD Finance Uygulamasının, kullanıcının banka uygulamasının bir ekran görüntüsünü özel olarak yüklediği ve herkesin önünde özür dilemeye zorlandığı tespit edildi.
Jingdong uygulamasının kullanıcının varlık bilgilerini elde etme amacı bir , Belirli kullanıcılar için özelleştirilmiş önerilerde bulunmak istiyorum. Sadece böyle bir yaklaşımın kullanıcı gizliliğini ihlal ettiğinden ve büyük güvenlik riskleri oluşturduğundan şüpheleniliyor.
Genel olarak konuşursak, JD.com, Taobao, Amazon ve Netflix gibi e-ticaret şirketlerinin, öneri sisteminin yatırım yapabilmesi için belirli kullanıcı gizlilik bilgilerine hakim olması gerekir. Kullanıcı ne sever .
Amazon ve JD.com gibi erken basit öneri sistemleri, kullanıcının satın alma geçmişine dayalı olarak benzer etiketlere sahip ürünleri tavsiye ederdi.
Ancak tüketiciler için tekrar tekrar satın alınması gereken bir tüketim ürünü olmadığı sürece benzer işlevlere sahip ürünleri nadiren satın alacaklardır Böyle bir öneri sistemi elbette alışveriş ihtiyaçlarını karşılamaktan uzaktır.
İşbirlikçi filtreleme şimdiye kadarki en başarılı öneri algoritmalarından biridir ve e-ticaret, sosyal ağlar ve görsel-işitsel okuma gibi bilgi alma ile ilgili alanlarda yaygın olarak kullanılmaktadır.
Kişiselleştirilmiş öneri, öngörülemeyen psikolojiyi dahil etmeden mantıksal olarak açık bir matematik problemi haline getirilir, bu da öneri sisteminin tasarım maliyetini büyük ölçüde azaltır ve sağlamlığı artırır.
İşbirliğine dayalı filtrelemenin ilkesi, öncelikle tercihleriniz ve siparişlerinizle kesişen diğer kullanıcıları bulmaktır. Örneğin siparişinizde% 80'den fazla ürün örtüşme oranı var ve okuduğunuz kitapların 10'u beğeni olarak işaretleniyor vb.
Kullanıcıları birden çok boyutta kategorilere ayırarak, tek bir kullanıcı için önerilerde bulunmak için benzer grup kullanıcılarının verilerini kullanabilirsiniz.
İşbirliğine dayalı filtreleme algoritmaları iki kategoriye ayrılır: kullanıcı tabanlı işbirliğine dayalı filtreleme ve komşu tabanlı işbirliğine dayalı filtreleme (Komşu tabanlı İşbirliğine Dayalı Filtreleme). İlki, insanların türlerine göre toplanması, ikincisi ise şeylerin gruplara ayrılmasıdır.
İşbirliğine dayalı filtreleme algoritmasının büyük ölçüde iki faktöre dayandığı görülebilir: kullanıcı tercihleri hakkında büyük miktarda tarihsel veri ve büyük miktarda tek ürün değerlendirme verisi.
Kısacası, veriler ne kadar zenginse, öneri o kadar doğru olur. Ancak bu, az sayıdaki örnek için pek dostça değildir.Soğuk bir başlangıç sırasında (örneğin, yeni bir kullanıcı hiçbir geçmiş verisi oluşturmaz), bir öneri sistemi nasıl kurulur?
Yaygın çözümler, meta verileri analiz etmeyi veya yeni kullanıcılara ilk tercihlerini anlamaları için birkaç soru vermeyi içerir.
Örnek olarak film derecelendirmelerini kullanıyoruz. Filmi kullanıcının puanına göre görselleştirmek için bir kullanıcı tablosu oluşturun:
Yukarıdaki tabloda, her satır bir kullanıcıyı ve her sütun bir filmi temsil eder. Çapraz referanslar, kullanıcılar ve film reytingleri arasındaki yazışmaları gösterir (tam puan 5 puandır, 0 puan "izlenmedi" anlamına gelir).
Amacımız, bu filmi filmi görmemiş ve buna karşılık gelen oyu 0 olan kullanıcılara önerip önermeyeceğimizi tahmin etmektir. Tabloya karşılık gelen bu soru, "kullanıcının filmi kaç puan vereceğini tahmin et" e dönüştürülür.
Spesifik uygulamada, puan tabloya 0 puanla doldurulur ve bu puan, tahmin edilen kullanıcı puanıdır. Puan yüksek ise kullanıcıya tavsiye edin, yüksek değilse tavsiye edilmez.
Ardından, 2 gömme matrisi ayarlıyoruz: kullanıcı matrisi W_u ve film matrisi W_m. Her bir matris, e-boyutlu vektörlerle doldurulacaktır, burada e, dizinin boyutudur.
İki rastgele matris elde etmek için iki matriste tamamen rastgele sayılar kullanırız. Tamamen rastgele üçüncü bir matris elde etmek için ikisini çarpın.
Bir kayıp fonksiyonu bulmak için bu matrisi orijinal tabloyla karşılaştırın. Bu, temelde tahmin edilen derecelendirmenin gerçek derecelendirmeden ne kadar uzakta olduğunun bir ölçüsüdür. Ardından doğru değerleri elde etmek için iki matrisi optimize etmek için geri yayılım ve gradyan inişini kullanın.
Yukarıda oluşturulan matris temelde bir vektör yığınıdır. Her kullanıcı için bir vektör ve her film için bir vektör.
Her vektör, karşılık gelen kullanıcının ne tür bir kişi olduğunu temsil eder. Kullanıcının tercihlerini, düşüncelerini ve duygularını özetler, umutları ve korkuları duygu içermeyen bir numpy.array dizisine bağlar.
Bunu daha iyi anlamak için, e = 3 varsayarak belirli bir kullanıcı vektörüne yakınlaştıralım:
Burada vektörün üç bileşeni. Her bileşen, kullanıcının bazı özelliklerini temsil eder ve makine, ta'nın önceki derecelendirmelerine bakarak öğrenir.
Bu üç bileşenin aşağıdaki anlamlara sahip olduğunu varsayalım:
Bu kullanıcının tabii ki aksiyon filmlerini sevdiğini, romantik filmleri çok sevmediğini ve komedi filmlerini de sevdiğini ancak aksiyon filmleri kadar sevmediğini yorumlayabiliriz.
Makine öğrenimi modellerinin insan karmaşıklığını nasıl anladığı budur: onu e-boyutlu bir vektör uzayına gömün ve sonra çoğaltın.
E ne kadar büyükse, o kadar çok kullanıcı verisi yakalanır ve hesaplama o kadar uzun sürer.
Ardından, filmin özelliklerini bulmak için komşu tabanlı algoritmayı kullanabilir ve ardından bunu kullanıcı tercihleriyle karşılaştırabiliriz.
Diyelim ki bir m filmimiz var, matrisi şöyle
Yetişkinlere yönelik kelimelerin
Öyleyse m romantik bir komedi filmi olmalı ve kullanıcı bundan hoşlanmayabilir.
İşbirlikçi filtreleme, insan duygularımızı, sevdiğimiz, hoşlanmadığımız şeyler, korkularımızı, heyecanımızı vb. Tereddütsüz bir vektör matrisine dönüştürür.
Basitçe iki matrisi çarpmak bir kişinin tercihlerini tahmin edebilir. Bu inanılmaz! Bilmediğimiz yerde, hepimiz aynı doğrusal vektör uzayının öğeleriyiz.
O yerde güzellik var.