Aanbevelingsfunctie van SVD-training

In dit artikel wordt beschreven hoe u het onderdeel SVD-aanbeveling trainen gebruikt in de Azure Machine Learning-ontwerpfunctie. Gebruik dit onderdeel om een aanbevelingsmodel te trainen op basis van het SVD-algoritme (Single Value Decomposition).

Het onderdeel SVD-aanbeveling trainen leest een gegevensset met driemaal de classificatie van gebruikersitems. Er wordt een getrainde SVD-aanbevelingsfunctie geretourneerd. Vervolgens kunt u het getrainde model gebruiken om beoordelingen te voorspellen of aanbevelingen te genereren door het onderdeel Score SVD Recommender te verbinden.

Meer informatie over aanbevelingsmodellen en de SVD-aanbevelingsfunctie

Het belangrijkste doel van een aanbevelingssysteem is om een of meer items aan te bevelen aan gebruikers van het systeem. Voorbeelden van een item kunnen een film, restaurant, boek of nummer zijn. Een gebruiker kan een persoon, een groep personen of een andere entiteit met itemvoorkeuren zijn.

Er zijn twee hoofdmethoden voor aanbevelingssystemen:

  • Een op inhoud gebaseerde benadering maakt gebruik van functies voor zowel gebruikers als items. Gebruikers kunnen worden beschreven door eigenschappen zoals leeftijd en geslacht. Items kunnen worden beschreven door eigenschappen zoals auteur en fabrikant. U vindt typische voorbeelden van op inhoud gebaseerde aanbevelingssystemen op sociale matchmaking-sites.
  • Bij het filteren voor samenwerking worden alleen id's van de gebruikers en de items gebruikt. Hiermee wordt impliciete informatie over deze entiteiten opgehaald uit een (sparse) matrix van beoordelingen die door de gebruikers aan de items zijn gegeven. We kunnen meer te weten komen over een gebruiker uit de items die ze hebben beoordeeld en van andere gebruikers die dezelfde items hebben beoordeeld.

De SVD-aanbevelingsfunctie maakt gebruik van id's van de gebruikers en de items, en een matrix van beoordelingen die door de gebruikers aan de items worden gegeven. Het is een aanbevelingsfunctie voor samenwerking.

Zie voor meer informatie over de SVD-aanbevelingsfunctie het relevante onderzoeksdocument : Matrixfactorisatietechnieken voor aanbevelingssystemen.

SvD-aanbevelingsfunctie voor trainen configureren

Gegevens voorbereiden

Voordat u het onderdeel gebruikt, moeten uw invoergegevens de indeling hebben die het aanbevelingsmodel verwacht. Er is een trainingsgegevensset met drie keer zoveel beoordeling van gebruikersitems vereist.

  • De eerste kolom bevat gebruikers-id's.
  • De tweede kolom bevat item-id's.
  • De derde kolom bevat de classificatie voor het paar gebruiker en item. Classificatiewaarden moeten een numeriek type zijn.

De gegevensset Movie Ratings in azure Machine Learning Designer (selecteer Gegevenssets en vervolgens Voorbeelden) toont de verwachte indeling:

Filmbeoordelingen

In dit voorbeeld ziet u dat één gebruiker verschillende films heeft beoordeeld.

Het model trainen

  1. Voeg het onderdeel Train SVD Recommender toe aan uw pijplijn in de ontwerpfunctie en verbind het met de trainingsgegevens.

  2. Geef bij Aantal factoren het aantal factoren op dat moet worden gebruikt met de aanbevelingsfunctie.

    Elke factor meet hoeveel de gebruiker met het item te maken heeft. Het aantal factoren is ook de dimensionaliteit van latente factorruimte. Nu het aantal gebruikers en items toeneemt, is het beter om een groter aantal factoren in te stellen. Maar als het aantal te groot is, kunnen de prestaties afnemen.

  3. Het aantal iteraties van aanbevelingsalgoritmen geeft aan hoe vaak het algoritme de invoergegevens moet verwerken. Hoe hoger dit getal is, hoe nauwkeuriger de voorspellingen zijn. Een hoger getal betekent echter een tragere training. De standaardwaarde is 30.

  4. Voer bij Leersnelheid een getal in tussen 0,0 en 2,0 waarmee de stapgrootte voor leren wordt gedefinieerd.

    De leersnelheid bepaalt de grootte van de stap bij elke iteratie. Als de stapgrootte te groot is, kunt u de optimale oplossing overslaan. Als de stap te klein is, duurt het trainen langer om de beste oplossing te vinden.

  5. Verzend de pijplijn.

Resultaten

Nadat de pijplijntaak is voltooid, koppelt u de TRAIN SVD Recommender aan Score SVD Recommender om waarden voor nieuwe invoervoorbeelden te voorspellen om het model voor scoren te gebruiken.

Volgende stappen

Bekijk de set onderdelen die beschikbaar zijn voor Azure Machine Learning.