Aracılığıyla paylaş


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ı öğesi derecelendirme üçlülerinden oluşan bir veri kümesini okur. Eğitilmiş bir SVD önericisi döndürür. Ardından Puan SVD Önericisi 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 tercihleri olan 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 derecelendirmelerin (seyrek) matrisinden bu varlıklar hakkında örtük bilgiler alır. Derecelendirdikleri öğelerden ve aynı öğeleri derecelendirmiş diğer kullanıcılardan bir kullanıcı hakkında 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. İşbirliğine dayalı bir önericidir.

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

Train SVD Recommender'ı 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ümeleri ve ö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, öneride bulunanla kullanılacak faktörlerin sayısını belirtin.

    Her faktör, kullanıcının öğeyle ne kadar ilişkide 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üksekse, 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ü fazla 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 SVD Önericisi'ni SVD Önericisi'ni Puanlayacak Şekilde Eğiterek yeni giriş örneklerinin değerlerini tahmin edin.

Sonraki adımlar

Bkz. Azure Machine Learning için kullanılabilen bileşenler kümesi.