Train Matchbox Recommender

Önemli

Machine Learning Stüdyosu (klasik) desteği 31 Ağustos 2024'te sona erecektir. Bu tarihe kadar Azure Machine Learning'e geçmenizi öneririz.

1 Aralık 2021'den başlayarak artık yeni Machine Learning Stüdyosu (klasik) kaynakları oluşturamayacaksınız. 31 Ağustos 2024'e kadar mevcut Machine Learning Stüdyosu (klasik) kaynaklarını kullanmaya devam edebilirsiniz.

ML Stüdyosu (klasik) belgeleri kullanımdan kaldırılacak ve gelecekte güncelleştirilmeyecektir.

Matchbox algoritmasını kullanarak Bir Bayes önerici eğitmesi

Kategori: Machine Learning / Eğit

Not

Uygulama: Machine Learning Studio (yalnızca klasik)

Benzer sürükle ve bırak modülleri tasarımcıda da Azure Machine Learning kullanılabilir.

Modüle genel bakış

Bu makalede, bir öneri modelini eğitmek için Machine Learning Studio'daki (klasik) Matchbox Öneri modülünü eğitin.

Bu Machine Learning algoritması, Microsoft Research tarafından geliştirilen Matchbox modelini temel alıyor. Algoritmayı ayrıntılı olarak açıklayan bir inceleme indirmek için Microsoft Research sitesinde bu bağlantıya tıklayın.

Train Matchbox Recommender modülü , kullanıcı-öğe derecelendirme üçlüsünün ve isteğe bağlı olarak bazı kullanıcı ve öğe özelliklerinin veri kümelerini okur. Eğitilmiş bir Matchbox önerici döndürür. Ardından Matchbox Recommender Puanla modülünü kullanarak öneriler oluşturmak, ilgili kullanıcıları bulmak veya ilgili öğeleri bulmak için eğitilen modeli kullanabilirsiniz .

İpucu

Bu öğreticide .NET geliştirme ekibinden bir öneri sistemi geliştirme deneyimi hakkında 20.000'den fazla bilgi edinin. Örnek kod ve bir uygulamanın nasıl çağrıl Machine Learning tartışma içerir.

Machine Learning kullanarak .NET uygulamaları için öneri altyapısı Machine Learning

Öneri modelleri ve Matchbox önerici hakkında daha fazla bilgi

Öneri sisteminin temel amacı, sistem kullanıcılarına bir veya daha fazlaöğe önerisinde bulunarak. Öğe örnekleri arasında film, restoran, kitap veya şarkı olabilir. Kullanıcı bir kişi, kişi grubu veya öğe tercihlerine sahip başka bir varlık olabilir.

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

  • Birincisi, hem kullanıcılar hem de öğeler için özellikleri kullanan içerik tabanlı yaklaşımdır. Kullanıcılar yaş ve cinsiyet gibi özelliklerle, öğeler ise yazar ve üretici gibi özelliklerle açıklanmıştır. İçerik tabanlı öneri sistemlerinin tipik örnekleri sosyal eşleştirme sitelerinde bulunabilir.
  • İkinci yaklaşım, yalnızca kullanıcıların ve öğelerin tanımlayıcılarını kullanan ve kullanıcılar tarafından öğelere verilen derecelendirmelerden (seyrek) bir matristen bu varlıklar hakkında örtülü bilgiler alan işbirliğine dayalı filtrelemedir. Bir kullanıcı hakkında, derecelendirilen öğelerden ve aynı öğeleri derecelendirilmiş diğer kullanıcılardan öğrenebilirsiniz.

Matchbox önerici, işbirliğine dayalı filtrelemeyi içerik tabanlı bir yaklaşımla kullanarak bu yaklaşımları birleştirir. Bu nedenle karma bir öneri olarak kabul edilir.

Bunun nasıl çalıştığını: Bir kullanıcı sistemde görece yeni olduğunda, tahminler kullanıcıyla ilgili özellik bilgilerden kullanarak geliştirerek iyi bilinen "soğuk başlangıç" sorununu çözüyor. Ancak, belirli bir kullanıcıdan yeterli sayıda derecelendirme topladığı zaman, tek başına özelliklerine değil, belirli derecelendirmelerine göre onlar için tamamen kişiselleştirilmiş tahminler yapmak mümkündür. Bu nedenle, içerik tabanlı önerilerden işbirliğine dayalı filtrelemeye dayalı önerilere sorunsuz bir geçiş vardır. Kullanıcı veya öğe özellikleri kullanılamıyor olsa bile Matchbox, işbirliğine dayalı filtreleme modunda çalışmaya devam ediyor.

Matchbox önerisini ve temel alınan olasılıksal algoritma hakkında daha fazla ayrıntıyı ilgili araştırma makalesinde bulunabilir: Matchbox: Large Scale Bayesian Öneriler Öneriler. Ayrıca, Machine Learning Blog'da öneri algoritmaları için üst düzey bir giriş sağlayan Öneriler Everywhere başlıklı bir makale vardır.

Train Matchbox Recommender'i yapılandırma

Verileri hazırlama

Modülü kullanmaya çalışmadan önce verilerinizin öneri modeli tarafından beklenen biçimde olması önemlidir. Üçlü kullanıcı-öğe derecelendirmesi eğitim veri kümesi gereklidir, ancak kullanıcı özelliklerini ve öğe özelliklerini (varsa) ayrı veri kümelerini de dahilebilirsiniz.

Kaynak verileri eğitim ve test veri kümelerine bölmek için Verileri Bölme modülünde Recommender Splitseçeneğini kullanın.

Kullanıcı-öğe derecelendirmelerinin gerekli veri kümesi

Eğitim için kullanılan giriş verilerinin doğru biçimde doğru veri türünü içermesi çok önemlidir:

  • İlk sütunda kullanıcı tanımlayıcıları olmalıdır.
  • İkinci sütunda öğe tanımlayıcıları olmalıdır.
  • Üçüncü sütun, kullanıcı öğesi çifti için derecelendirmeyi içerir. Derecelendirme değerleri sayısal veya kategorik olmalıdır.

Eğitim sırasında derecelendirme değerlerinin hepsi aynı olamaz. Ayrıca, sayısal ise minimum ve maksimum derecelendirme değerleri arasındaki fark 100'den az olmalı ve ideal olarak 20'den büyük değildir.

Machine Learning Studio'daki Restaurant derecelendirmeleri veri kümesi (klasik) (Kaydedilmiş Veri Kümeleri'ne ve ardından Örnekler'e tıklayın) beklenen biçimi gösterir:

userID placeID rating
U1077 135085 2
U1077 135038 2

Bu örnekte, tek bir kullanıcının iki ayrı restorana derecelendirilmiş olduğunu görüyorsunuz.

Kullanıcı özellikleri veri kümesi (isteğe bağlı)

Kullanıcı özelliklerinin veri kümesi , kullanıcılar için tanımlayıcılar içermeli ve users-items-ratings veri kümesinde ilk sütunda sağlanan tanımlayıcıları kullanlanmalıdır. Kalan sütunlar, kullanıcıları açıklayan herhangi bir sayıda özellik içerebilir.

Örneğin, Machine Learning Studio'da (klasik) Restaurant müşteri veri kümesine bakın. Tipik bir kullanıcı özellikleri kümesi şöyledir:

userID Ortam Dress_preference taşıma Sigara içen
U1004 aile Gayri resmi Yaya olarak FALSE
U1005 Arkadaşlar Tercih yok Araba sahibi TRUE

Öğe özellikleri veri kümesi (isteğe bağlı)

Öğe özelliklerinin veri kümesi, ilk sütununda öğe tanımlayıcılarını içermeli. Kalan sütunlar öğeler için herhangi bir sayıda açıklayıcı özellik içerebilir.

Örneğin, Machine Learning Studio'da (klasik) sağlanan Restaurant özelliği veri veri kümesine bakın (Kaydedilen Veri Kümeleri'ne ve ardından Örnekler'e tıklayın). Tipik bir öğe özellikleri kümesi (bu durumda öğe bir restorandır) şöyle olabilir:

placeID Alkol Smoking_area price Rambience
135106 Wine-Beer yok Düşük aile
132667 No_Alcohol_Served Izin verilen orta Rahat

Modeli eğitme

  1. Train Matchbox Recommender modülünü Studio'daki (klasik) denemenize ekleyin ve eğitim verilerine ekleyin.

  2. Kullanıcı özellikleri ve/veya öğe özelliklerinden ayrı bir veri kümenizi varsa, bunları Train Matchbox Recommender modülüne bağlanabilirsiniz.

    • Kullanıcı özellikleri veri kümesi: Bağlan ikinci girişi açıklayan veri kümesine sahiptir.

    • Öğe özellikleri veri kümesi: Bağlan üçüncü girişe açıklayan veri kümesine sahiptir.

  3. Eğitim toplu işlerinin sayısı için, eğitim sırasında verileri bölmek için toplu iş sayısını yazın.

    Bu değere bağlı olarak, kullanıcı-öğe derecelendirme üçlülerinin veri kümesi eğitim sırasında birden çok parçaya veya toplu işleme bölündü.

    Train Matchbox Recommender toplu işleri paralel olarak çalıştıracak olduğundan, tüm eğitim verileri belleğe sığıyorsa, eğitim toplu işlerinin sayısının kullanılabilir çekirdek sayısına ayarlanmış olması önerilir. Aksi takdirde, eğitim toplu işlerinin sayısı, eğitim verileri belleğe sığan kullanılabilir çekirdek sayısının en düşük katlarına ayarlayıcıdır.

    Varsayılan olarak, eğitim verileri dört (4) toplu işleme ayrılır. Yalnızca kullanıcı öğe derecelendirmesi üçlüslerinin veri kümesi bölünüyor. Özelliklerin bölünmesi gerekmay olduğundan kullanıcı veya öğe özellikleri bölünmez.

  4. Nitelik sayısı için, her kullanıcı ve öğe için öğrenilen gizli nitelik sayısını yazın.

    Nitelik sayısı ne kadar yüksek ise tahminler genellikle o kadar doğru olur; ancak, eğitim daha yavaş olacaktır. Nitelik sayısı genellikle 2 - 20 aralığındadır.

  5. Öneri algoritması yineleme sayısı için, algoritmanın giriş verilerini kaç kez işlemesi gerektiğini belirtir.

    Matchbox önerici, giriş verileri üzerinde birden çok kez tekrarlana bir ileti geçirme algoritması kullanılarak eğitilmiş olur. Bu sayı ne kadar yüksek ise tahminler o kadar doğru olur; ancak, eğitim daha yavaştır. Yineleme sayısı genellikle 1 - 10 aralığındadır.

  6. Denemeyi çalıştırın veya yalnızca Train Matchbox Recommender modülünü ve ArdındanÇalıştır'ı seçin.

Örnekler

Öneri modellerinin verilerde nasıl Machine Learning örnekler için aşağıdaki örnek denemelere Azure Yapay Zeka Galerisi:

Teknik notlar

Bu bölümde uygulama ayrıntıları, ipuçları ve sık sorulan soruların yanıtları yer almaktadır.

Kullanım ipuçları

  • Özellik sütununda eksik değerler varsa, eksik değerlerin yerine eksik olmayan değerlerin modu kullanılır.

  • Tüm kullanıcı ve öğe özellikleri birim uzunluğuna sahip olacak şekilde yeniden ölçeklendirildi. Böylece maksimum mutlak değer 1 olur. Özellik değerlerine çeviri uygulanmaz; bu nedenle, bunların sparsitesini korumak için.

Kısıtlamalar

Bir öneri modelinin çevrimiçi güncelleştirmesi (veya sürekli eğitimi) şu anda Machine Learning. Önerilere kullanıcı yanıtlarını yakalamak ve modeli geliştirmek için bunları kullanmak için tam modeli düzenli aralıklarla yeniden eğitmanızı öneririz. Artımlı eğitim mümkün değildir, ancak en son veriler kullanılırken veri hacminin en aza indirilmesi için eğitim verilerine kayan bir pencere uygulayabilirsiniz.

Önerilen bellek kullanımını tahmin etmek

Şu anda Matchbox'ın bellek ayak izinin alt sınırı bayttır. Burada N, eğitim veri kümesinde kullanıcı öğe derecelendirmesi üçlü sayısına, T'nin gizli nitelik sayısına ve R'nin16 * N\(4\T + 2\R) en düşük ve en yüksek derecelendirme (eğitim veri kümesinde) arasındaki farka başvurduğu bayttır.

Serileştirilmiş Bir 16 * T\(U\R + I + X + Y) Eşleşme Kutusu öneri modelinin boyutu yaklaşık bayttır; burada U , kullanıcı sayısını ifade eder, I öğe sayısına, X kullanıcı özellikleri sayısına ve Y öğe özellikleri sayısına başvurur.

Beklenen girişler

Ad Tür Description
Kullanıcı öğe derecelendirme üçlülerinin eğitim veri kümesi Veri Tablosu Kullanıcıların üç kez ifade eden öğe derecelendirmeleri (Kullanıcı, Öğe, Derecelendirme)
Kullanıcı özelliklerinin eğitim veri kümesi Veri Tablosu Kullanıcıları açıklayan özellikler içeren veri kümesi (isteğe bağlı)
Öğe özelliklerinin eğitim veri kümesi Veri Tablosu Öğeleri açıklayan özellikler içeren veri kümesi (isteğe bağlı)

Modül parametreleri

Name Aralık Tür Varsayılan Description
Nitelik sayısı >=0 Tamsayı 10 Öneriyle birlikte kullanmak istediğiniz nitelik sayısını belirtin (isteğe bağlı)
Öneri algoritması yineleme sayısı >=1 Tamsayı 5 Öneri modelini eğitirken gerçekleştirecek en fazla yineleme sayısını belirtin (isteğe bağlı)
Eğitim toplu işlerinin sayısı >=1 Tamsayı 4 Öneriyle birlikte kullanmak üzere eğitim toplu işlerinin sayısını belirtin (isteğe bağlı)

Çıkışlar

Ad Tür Description
Eğitilen Matchbox önerici ILearner arabirimi Eğitilen Matchbox önerici

Özel durumlar

Özel durum Description
Hata 0022 Giriş veri kümesinde seçilen sütun sayısı beklenen sayıya eşit yoksa özel durum oluşur.
Hata 0036 Bir kullanıcı veya öğe için birden çok özellik vektörü sağlandı ise özel durum oluşur.
Hata 0018 Giriş veri kümesi geçerli değilse özel durum oluşur.
Hata 0035 Özel durum, verilen bir kullanıcı veya öğe için hiçbir özellik sağlanamıyorsa oluşur.
Hata 0034 Bir kullanıcı öğesi çifti için birden fazla derecelendirme varsa özel durum oluşur.
Hata 0053 Matchbox önerileri için kullanıcı özellikleri veya öğeleri yoksa özel durum oluşur.
Hata 0003 Bir veya daha fazla giriş null veya boşsa özel durum oluşur.

Studio (klasik) modüllerine özgü hataların listesi için bkz. Machine Learning kodları.

API özel durumlarının listesi için bkz. Machine Learning REST API Kodları.

Ayrıca bkz.

Modeli Çapraz Doğrulama
Önereni Değerlendirme
Eğitim
Puan Eşleşme Kutusu Önerici