Geniş ve Derin Öneren Puanlandırması

Bu makalede, Azure Machine Learning tasarımcısında Score Wide ve Deep Recommender bileşenini kullanarak Google'ın Geniş ve Derin öğrenmesini temel alan eğitilmiş bir öneri modeline dayalı tahminler oluşturma açıklanmaktadır.

Geniş ve Derin önericisi iki farklı tür tahmin oluşturabilir:

İkinci tür tahminleri oluştururken üretim modunda veya değerlendirme modunda çalışabilirsiniz.

  • Üretim modu tüm kullanıcıları veya öğeleri dikkate alır ve genellikle bir web hizmetinde kullanılır. Yalnızca eğitim sırasında görülen kullanıcılar için değil, yeni kullanıcılar için puan oluşturabilirsiniz.

  • Değerlendirme modu , değerlendirilebilen azaltılmış bir kullanıcı veya öğe kümesinde çalışır ve genellikle deneme sırasında kullanılır.

Geniş ve Derin önericisi ve temel teorisi hakkında daha fazla ayrıntı, ilgili araştırma makalesinde bulunabilir: Önerilen Sistemler için Geniş ve Derin Öğrenme.

Score Wide ve Deep Recommender'ı yapılandırma

Bu bileşen, her biri farklı gereksinimlere sahip farklı öneri türlerini destekler. Sahip olduğunuz veri türüne ve oluşturmak istediğiniz öneri türüne ilişkin bağlantıya tıklayın.

Derecelendirmeleri tahmin et

Derecelendirmeleri tahmin ettiğinizde model, eğitim verileri göz önünde bulundurulduğunda belirli bir kullanıcının belirli bir öğeye nasıl tepki verdiğini hesaplar. Bu nedenle, puanlama için giriş verilerinin hem bir kullanıcı hem de puanlanması gereken öğeyi sağlaması gerekir.

  1. Denemenize eğitilmiş bir Geniş ve Derin öneri modeli ekleyin ve bunu Eğitilmiş Geniş ve Derin öneri modeline bağlayın. Modeli Train Wide ve Deep Recommender kullanarak oluşturmanız gerekir.

  2. Önerilen tahmin türü: Derecelendirme Tahmini'ne tıklayın. Başka parametre gerekmez.

  3. Tahminde bulunmak istediğiniz verileri ekleyin ve puan almak için Veri Kümesi'ne bağlayın.

    Derecelendirmeleri tahmin etmek için giriş veri kümesinin kullanıcı öğesi çiftleri içermesi gerekir.

    Veri kümesi, birinci ve ikinci sütunlarda kullanıcı öğesi çifti için isteğe bağlı üçüncü bir derecelendirme sütunu içerebilir, ancak tahmin sırasında üçüncü sütun yoksayılır.

  4. (İsteğe bağlı). Kullanıcı özelliklerinden oluşan bir veri kümeniz varsa bunu Kullanıcı özelliklerine bağlayın.

    Kullanıcı özelliklerinin veri kümesi, ilk sütundaki kullanıcı tanımlayıcısını içermelidir. Kalan sütunlar, kullanıcıları cinsiyetleri, tercihleri, konumları vb. niteleyen değerler içermelidir.

    Eğitim veri kümesindeki öğeleri derecelendirmiş kullanıcıların özellikleri, eğitim sırasında zaten öğrenilmiş olduklarından Score Wide ve Deep Recommender tarafından yoksayılır. Bu nedenle, veri kümenizi yalnızca soğuk başlangıç kullanıcılarını veya herhangi bir öğeyi derecelendirmemiş kullanıcıları içerecek şekilde önceden filtreleyin.

    Uyarı

    Model kullanıcı özellikleri kullanılmadan eğitildiyse, puanlama sırasında kullanıcı özelliklerini tanıtamazsınız.

  5. Öğe özelliklerinden oluşan bir veri kümeniz varsa öğe özelliklerine bağlayabilirsiniz.

    Öğe özellikleri veri kümesi, ilk sütunda bir öğe tanımlayıcısı içermelidir. Kalan sütunlar öğeleri niteleyen değerler içermelidir.

    Eğitim veri kümesindeki derecelendirilmiş öğelerin özellikleri, eğitim sırasında zaten öğrenildiği için Score Wide ve Deep Recommender tarafından yoksayılır. Bu nedenle, puanlama veri kümenizi soğuk başlangıç öğeleriyle veya herhangi bir kullanıcı tarafından derecelendirilmemiş öğelerle kısıtlayın.

    Uyarı

    Model öğe özellikleri kullanılmadan eğitildiyse, puanlama sırasında öğe özelliklerini tanıtamazsınız.

  6. Denemeyi çalıştırın.

Derecelendirme tahminleri için sonuçlar

Çıkış veri kümesi, kullanıcı, öğe ve her giriş kullanıcısı ve öğesi için tahmin edilen derecelendirmeyi içeren üç sütun içerir.

Ayrıca, puanlama sırasında aşağıdaki değişiklikler uygulanır:

  • Sayısal bir kullanıcı veya öğe özellik sütunu için eksik değerler otomatik olarak eksik olmayan eğitim kümesi değerlerinin ortalamasıyla değiştirilir. Kategorik özellik için eksik değerler, bu özelliğin olası değerleri dışında aynı kategorik değerle değiştirilir.
  • Özellik değerlerine, sparsity'lerini korumak için çeviri uygulanmaz.

Öğeleri öner

Kullanıcılara öğe önermek için, giriş olarak kullanıcıların ve öğelerin listesini sağlarsınız. Bu verilerden model, mevcut öğeler ve kullanıcılar hakkındaki bilgilerini kullanarak her kullanıcıya uygun bir öğe listesi oluşturur. Döndürülen önerilerin sayısını özelleştirebilir ve öneri oluşturmak için gereken önceki önerilerin sayısı için bir eşik ayarlayabilirsiniz.

  1. Denemenize eğitilmiş bir Geniş ve Derin öneri modeli ekleyin ve bunu Eğitilmiş Geniş ve Derin öneri modeline bağlayın. Modeli Train Wide ve Deep Recommender kullanarak oluşturmanız gerekir.

  2. Belirli bir kullanıcı listesi için öğeleri önermek için, Önerilen tahmin türünü Öğe Önerisi olarak ayarlayın.

  3. Önerilen öğe seçimi: Aşağıdaki değerlerden birini seçerek puanlama bileşenini üretimde mi yoksa model değerlendirmesi için mi kullandığınızı belirtin:

    • Derecelendirilmiş Öğeler'den (model değerlendirmesi için) : Bir model geliştiriyor veya test ediyorsanız bu seçeneği belirleyin. Bu seçenek değerlendirme modunu etkinleştirir ve bileşen yalnızca derecelendirilmiş giriş veri kümesindeki öğelerden önerilerde bulunur.
    • Tüm Öğelerden: Bir Web hizmetinde veya üretimde kullanmak üzere bir deneme ayarlıyorsanız bu seçeneği belirleyin. Bu seçenek üretim modunu etkinleştirir ve bileşen eğitim sırasında görülen tüm öğelerden önerilerde bulunur.
    • Derecelendirilmemiş Öğeler'den (kullanıcılara yeni öğeler önermek için): Bileşenin yalnızca eğitim veri kümesindeki derecelendirilmemiş öğelerden önerilerde bulunmasını istiyorsanız bu seçeneği belirleyin.
  4. Tahminde bulunmak istediğiniz veri kümesini ekleyin ve puanlamak için Veri Kümesi'ne bağlayın.

    • Tüm Öğelerden seçeneğini belirlerseniz, giriş veri kümesi öneride bulunacak kullanıcıların tanımlayıcılarını içeren bir ve yalnızca bir sütundan oluşmalıdır.

      Veri kümesinde fazladan iki öğe tanımlayıcısı ve derecelendirme sütunu bulunabilir, ancak bu iki sütun yoksayılır.

    • Derecelendirilmiş Öğelerden (model değerlendirmesi için) seçeneğini belirlerseniz, giriş veri kümesi kullanıcı öğesi çiftlerinden oluşmalıdır. İlk sütun kullanıcı tanımlayıcısını içermelidir. İkinci sütun, ilgili öğe tanımlayıcılarını içermelidir.

      Veri kümesi üçüncü bir kullanıcı öğesi derecelendirme sütunu içerebilir, ancak bu sütun yoksayılır.

    • Eşitlenmemiş Öğelerden (kullanıcılara yeni öğeler önermek için) için, giriş veri kümesi kullanıcı öğesi çiftlerinden oluşmalıdır. İlk sütun kullanıcı tanımlayıcısını içermelidir. İkinci sütun, ilgili öğe tanımlayıcılarını içermelidir.

      Veri kümesi üçüncü bir kullanıcı öğesi derecelendirme sütunu içerebilir, ancak bu sütun yoksayılır.

  5. (İsteğe bağlı). Kullanıcı özelliklerinden oluşan bir veri kümeniz varsa bunu Kullanıcı özelliklerine bağlayın.

    Kullanıcı özellikleri veri kümesindeki ilk sütun kullanıcı tanımlayıcısını içermelidir. Kalan sütunlar, kullanıcıyı cinsiyeti, tercihleri, konumu vb. niteleyen değerler içermelidir.

    Öğeleri derecelendiren kullanıcıların özellikleri Score Wide ve Deep Recommender tarafından yoksayılır çünkü bu özellikler eğitim sırasında zaten öğrenilmiştir. Bu nedenle, veri kümenizi önceden yalnızca soğuk başlangıç kullanıcılarını veya herhangi bir öğeyi derecelendirmemiş kullanıcıları içerecek şekilde filtreleyebilirsiniz.

    Uyarı

    Model kullanıcı özellikleri kullanılmadan eğitildiyse puanlama sırasında uygulama özelliklerini kullanamazsınız.

  6. (İsteğe bağlı) Öğe özelliklerinden oluşan bir veri kümeniz varsa öğe özelliklerine bağlayabilirsiniz.

    Öğe özellikleri veri kümesindeki ilk sütun öğe tanımlayıcısını içermelidir. Kalan sütunlar öğeleri niteleyen değerler içermelidir.

    Derecelendirilmiş öğelerin özellikleri, Score Wide ve Deep Recommender tarafından yoksayılır, çünkü bu özellikler eğitim sırasında zaten öğrenilmiştir. Bu nedenle, puanlama veri kümenizi soğuk başlangıç öğeleriyle veya herhangi bir kullanıcı tarafından derecelendirilmemiş öğelerle kısıtlayabilirsiniz.

    Uyarı

    Model öğe özellikleri kullanılmadan eğitildiyse puanlama sırasında öğe özelliklerini kullanmayın.

  7. Kullanıcıya önerecek en fazla öğe sayısı: Her kullanıcı için döndürülecek öğe sayısını yazın. Varsayılan olarak, 5 öğe önerilir.

  8. Kullanıcı başına öneri havuzunun en küçük boyutu: Önceki öneri sayısını gösteren bir değer yazın. Varsayılan olarak, bu parametre 2 olarak ayarlanmıştır; bu da öğenin en az iki kullanıcı tarafından önerilmiş olması gerektiği anlamına gelir.

    Bu seçenek yalnızca değerlendirme modunda puanlama yaptığınız durumlarda kullanılmalıdır. Tüm Öğelerden veya Eşitlenmemiş Öğelerden seçeneğini belirlerseniz (kullanıcılara yeni öğeler önermek için) bu seçenek kullanılamaz.

  9. Derecelendirilmemiş Öğelerden için (kullanıcılara yeni öğeler önermek için) tahmin sonuçlarından derecelendirilmiş öğeleri kaldırmak için Eğitim Verileri adlı üçüncü giriş bağlantı noktasını kullanın.

    Bu filtreyi uygulamak için özgün eğitim veri kümesini giriş bağlantı noktasına bağlayın.

  10. Denemeyi çalıştırın.

Öğe önerisinin sonuçları

Score Wide ve Deep Recommender tarafından döndürülen puanlanmış veri kümesi, her kullanıcı için önerilen öğeleri listeler.

  • İlk sütun kullanıcı tanımlayıcılarını içerir.
  • Kullanıcıya önerecek öğe sayısı üst sınırı için ayarladığınız değere bağlı olarak bir dizi ek sütun oluşturulur. Her sütun önerilen bir öğe içerir (tanımlayıcıya göre). Öneriler, kullanıcı-öğe benzitesine göre sıralanır ve en yüksek benanslı öğe Öğe 1 sütununa konur.

Teknik notlar

Bu bölüm, tahmin oluşturmak için Geniş ve Derin önerisini kullanmayla ilgili bazı yaygın soruların yanıtlarını içerir.

Soğuk başlangıç kullanıcıları ve öneriler

Genellikle, öneriler oluşturmak için Score Wide ve Deep Recommender bileşeni, modeli eğitirken kullandığınız kullanıcı kimliği dahil olmak üzere aynı girişleri gerektirir. Bunun nedeni, algoritmanın eğitim sırasında bu kullanıcı hakkında bir şey öğrenip öğrenmediğini bilmesi gerekir.

Ancak yeni kullanıcılar için kullanıcı kimliğiniz olmayabilir, yalnızca yaş, cinsiyet gibi bazı kullanıcı özelliklerine sahip olabilirsiniz.

Yine de sisteminizde yeni olan kullanıcılar için, bunları soğuk başlangıç kullanıcıları olarak işleyerek öneriler oluşturabilirsiniz. Bu tür kullanıcılar için öneri algoritması geçmiş geçmişi veya önceki derecelendirmeleri kullanmaz, yalnızca kullanıcı özelliklerini kullanır.

Tahmin amacıyla, soğuk başlangıç kullanıcısı eğitim için kullanılmamış kimliği olan bir kullanıcı olarak tanımlanır. Kimliklerin eğitimde kullanılan kimliklerle eşleşmediğinden emin olmak için yeni tanımlayıcılar oluşturabilirsiniz. Örneğin, belirli bir aralık içinde rastgele kimlikler oluşturabilir veya soğuk başlangıç kullanıcıları için önceden bir dizi kimlik ayırabilirsiniz.

Ancak, kullanıcı özelliklerinin vektörü gibi işbirliğine dayalı filtreleme verileriniz yoksa sınıflandırma veya regresyon öğrenicisi kullanmanız daha iyi olur.

Geniş ve Derin önericisi üretim kullanımı

Geniş ve Derin önerisini denediyseniz ve ardından modeli üretime taşıdıysanız, öneriyi değerlendirme modunda ve üretim modunda kullanırken bu önemli farklara dikkat edin:

  • Değerlendirme, tanım gereği, bir test kümesinde zemin gerçeğine karşı doğrulanabilir tahminler gerektirir. Bu nedenle, öneriyi değerlendirirken yalnızca test kümesinde derecelendirilmiş öğeleri tahmin etmesi gerekir. Bu, tahmin edilen olası değerleri kısıtlar.

    Ancak modeli kullanıma hazır hale getirdiğinizde, en iyi tahminleri elde etmek için tahmin modunu genellikle tüm olası öğelere göre önerilerde bulunmak üzere değiştirirsiniz. Bu tahminlerin birçoğu için buna karşılık gelen bir gerçek yoktur, bu nedenle önerinin doğruluğu deneme sırasında olduğu gibi doğrulanamaz.

  • Üretimde bir kullanıcı kimliği sağlamaz ve yalnızca bir özellik vektörünü sağlarsanız, tüm olası kullanıcılar için tüm önerilerin bir listesini yanıt olarak alabilirsiniz. Bir kullanıcı kimliği sağladığıdan emin olun.

    Döndürülen öneri sayısını sınırlamak için, kullanıcı başına döndürülen en fazla öğe sayısını da belirtebilirsiniz.

Sonraki adımlar

Bkz. Azure Machine Learning'in kullanabileceği bileşenler kümesi.