Share via


SVD Önerenini Eğitme

Bu makalede, Azure Machine Learning tasarımcısında Train SVD Recommender bileşeninin nasıl kullanılacağı açıklanmaktadır. Tek Değer Ayrıştırma (SVD) algoritmasına dayalı bir öneri modeli eğitmek için bu bileşeni kullanın.

Train SVD Recommender bileşeni, kullanıcı öğe derecelendirme üçlüsünün veri kümesini okur. Eğitilmiş bir SVD önerisini döndürür. Ardından Score SVD Recommender bileşenini bağlayarak derecelendirmeleri tahmin etmek veya öneriler oluşturmak için eğitilen modeli kullanabilirsiniz.

Öneri modelleri ve SVD önericisi hakkında daha fazla bilgi

Bir öneri sisteminin temel amacı, sistem kullanıcılarına bir veya daha fazla öğe önermektir. Bir öğeye örnek olarak film, restoran, kitap veya şarkı verilebilir. Kullanıcı bir kişi, bir grup kişi veya öğe tercihlerine sahip başka bir varlık olabilir.

Önerilen sistemlere yönelik iki temel yaklaşım vardır:

  • İçerik tabanlı bir yaklaşım, hem kullanıcılar hem de öğeler için özellikleri kullanır. Kullanıcılar yaş ve cinsiyet gibi özelliklerle tanımlanabilir. Öğeler, yazar ve üretici gibi özelliklerle açıklanabilir. Sosyal eşleştirme sitelerinde içerik tabanlı öneri sistemlerinin tipik örneklerini bulabilirsiniz.
  • İşbirliğine dayalı filtreleme yalnızca kullanıcıların ve öğelerin tanımlayıcılarını kullanır. Kullanıcılar tarafından öğelere verilen bir (seyrek) derecelendirme matrisinden bu varlıklar hakkında örtük bilgiler alır. Bir kullanıcı hakkında derecelendirdikleri öğelerden ve aynı öğeleri derecelendirmiş diğer kullanıcılardan bilgi edinebiliriz.

SVD önericisi, kullanıcıların ve öğelerin tanımlayıcılarını ve kullanıcılar tarafından öğelere verilen derecelendirme matrisini kullanır. Bu , işbirliğine dayalı bir öneridir.

SVD önericisi hakkında daha fazla bilgi için ilgili araştırma makalesine bakın: Öneren sistemler için matris çarpanlarına ayırma teknikleri.

SVD Önerisini Eğitmeyi Yapılandırma

Verileri hazırlama

Bileşeni kullanmadan önce, giriş verilerinizin öneri modelinin beklediği biçimde olması gerekir. Kullanıcı-öğe derecelendirme üçlülerinden oluşan bir eğitim veri kümesi gereklidir.

  • İlk sütun kullanıcı tanımlayıcılarını içerir.
  • İkinci sütun öğe tanımlayıcılarını içerir.
  • Üçüncü sütun, kullanıcı öğesi çiftinin derecelendirmesini içerir. Derecelendirme değerleri sayısal türde olmalıdır.

Azure Machine Learning tasarımcısındaki Film Derecelendirmeleri veri kümesi ( Veri kümelerive örnekler'i seçin) beklenen biçimi gösterir:

Film Derecelendirmeleri

Bu örnekte, tek bir kullanıcının birkaç filmi derecelendirdiğini görebilirsiniz.

Modeli eğitme

  1. Tasarımcıdaki işlem hattınıza Train SVD Recommender bileşenini ekleyin ve eğitim verilerine bağlayın.

  2. Faktör sayısı için, önerilenle kullanılacak faktörlerin sayısını belirtin.

    Her faktör, kullanıcının öğeyle ne kadar ilişki olduğunu ölçer. Faktörlerin sayısı aynı zamanda gizli faktör uzayının boyutsallığıdır. Kullanıcı ve öğe sayısı arttıkça, daha fazla sayıda faktör ayarlamak daha iyidir. Ancak sayı çok büyükse performans düşebilir.

  3. Öneri algoritması yineleme sayısı, algoritmanın giriş verilerini kaç kez işlemesi gerektiğini gösterir. Bu sayı ne kadar yüksek olursa tahminler o kadar doğru olur. Ancak, daha yüksek bir sayı daha yavaş eğitim anlamına gelir. Varsayılan değer 30’dur.

  4. Öğrenme oranı için, öğrenme için adım boyutunu tanımlayan 0,0 ile 2,0 arasında bir sayı girin.

    Öğrenme hızı, her yinelemedeki adımın boyutunu belirler. Adım boyutu çok büyükse, en uygun çözümü aşırı kullanabilirsiniz. Adım boyutu çok küçükse, en iyi çözümü bulmak için eğitim daha uzun sürer.

  5. İşlem hattını gönderin.

Sonuçlar

İşlem hattı işi tamamlandıktan sonra, modeli puanlama için kullanmak üzere yeni giriş örneklerinin değerlerini tahmin etmek için SVD Önerisini SVD Önerisini Puanlayacak ŞekildeEğitin'i bağlayın.

Sonraki adımlar

Azure Machine Learning'in kullanabileceği bileşenler kümesine bakın.