Gekissimo.net - Opi ansaitsemaan rahaa webilläsi Internetissä!

Kuinka luoda suosituksia vahvistusoppimisen avulla?

Seuraava artikkeli auttaa sinua: Kuinka luoda suosituksia vahvistusoppimisen avulla?

Asiakkaat kärsivät kiinnostavien tuotteiden etsinnästä johtuen tiedon lisääntymisestä World Wide Webissä. Tämän ongelman välttämiseksi käytetään suositusjärjestelmiä auttamaan asiakkaita löytämään tyydyttäviä tuotteita. Suositusmoottorit ovat eräänlainen koneoppiminen, joka käsittelee tuotteiden tai kuluttajien luokittelua tai arviointia. Suositusjärjestelmä on järjestelmä, joka ennakoi käyttäjän antamat arvosanat tietylle tuotteelle. Nämä ennusteet arvostetaan ja palautetaan käyttäjälle. Tämä artikkeli keskittyy vahvistusoppimisalgoritmin käyttöön suositusjärjestelmän rakentamiseen. Seuraavassa on käsiteltävät aiheet.

Sisällysluettelo

  1. Tietoja vahvistusoppimisesta
  2. Miten vahvistusoppimista käytettiin suosituksessa
  3. Suositusjärjestelmän rakentaminen RL:n kanssa

Reinforcement Learningin tekoälyagentit käyttäytyvät erittäin dynaamisessa ympäristössä tiettyjen tehtävien suorittamiseksi. Ymmärretään lisää vahvistusoppimisesta (RL).

Tietoja vahvistusoppimisesta

Reinforcement Learning (RL) on koneoppimismenetelmä, jonka avulla agentti voi oppia interaktiivisessa ympäristössä yrityksen ja erehdyksen kautta toimistaan ​​ja kokemuksistaan ​​saadun palautteen perusteella. Ohjelmisto käyttää oppimisalgoritmeihin perustuvaa yritys-erehdysmenetelmää antaakseen palautetta vastustajalle rangaistusten tai kannustimien muodossa. Itseoppiva kone valitsee parhaan toiminnan parhaan tuloksen saavuttamiseksi.

Agentit käyttävät yritystä ja erehdystä tiettyjen tehtävien suorittamiseen tietyssä kontekstissa. Tämän oppimisprosessin tavoitteena on maksimoida ympäristön kumulatiiviset palkkiot. RL eroaa sekä ohjatuista että ohjaamattomista oppimismenetelmistä. Koska RL on verkko-oppimisen tekniikka. Dynaamisessa kontekstissa agentti oppii datasta. Muutokset olemassa olevissa toimintavaiheissa vaikuttavat välittömästi seuraavaan toimintaan.

Analytics India -lehti

Yllä kuvatun perusvahvistusmallin mukaan ensimmäinen askel on, että järjestelmä saa syöttötilan ympäristöstä. Toiminnan tulos tapahtuu sitten ympäristössä. Lopuksi ympäristö muuttuu vasteena toimintaan ja määrää palkintoja tai rangaistuksia uuden tilanteen perusteella. Ympäristöstä riippuen agentti voi vierailla rajoitetussa määrässä osavaltioita. Jokaisessa osavaltiossa käynnin jälkeen vastaanotetaan numeerinen palkinto. Rangaistukset esitetään negatiivisilla luvuilla. Älykkäät agentit pyrkivät maksimoimaan kumulatiiviset palkkiot ja minimoivat rangaistukset.

Etsitkö täydellistä arkistoa tietotieteessä käytettävistä Python-kirjastoista, katso tästä.

Miten vahvistusoppimista käytetään suosituksessa?

Tavoitteena on maksimoida kunkin tilan tulevien arvojen ennustettu summa. On-Policy TD -ohjaus, joka tunnetaan usein nimellä SARSA-tekniikka, on vahvistusalgoritmin avainkomponentti. Se koostuu tila-toiminto-pareista, ja voimme oppia muuttamalla arvotilaa Q(s, a) tilatoimintaparista toiseen.

🔥 Empfohlen:  Kuinka nopeasti perustaa oma yritys? | Vinkkejä Akatemian perustajalta - Alex Reinhardtilta

Q-oppiminen on yksi tärkeimmistä vahvistavan oppimisen strategioista. Vahvistusoppiminen on prosessi, jonka kautta agentit oppivat valitsemaan optimaalisen käyttäytymisen omassa ympäristössään.

Saavuttaakseen tavoitetilan agentit suorittavat toiminnon “a” kussakin tilassa tullakseen uudeksi tilaksi. Jokainen agentin suorittama toimenpide tulisi tehdä tavoitetilan saavuttamiseksi mahdollisimman tehokkaasti. Jokainen agenttitila siirtyy toiseen seuraavalla toiminnolla. Agentin politiikkaa kuvataan sarjana toimintoja, joita agentti suorittaa valtion puolesta. Q-Learning on yksi muunnelma tästä lähestymistavasta. Sen sijaan, että laskettaisiin eksplisiittisiä arvoja kullekin tilalle, tämä tekniikka laskee arvofunktion Q(s, a) edustamaan tiloissa toimineita arvoja.

Muodollisesti Q(s, a) arvo on diskontattu kokonaissumma tulevista palkkioista, jotka saadaan tekemällä toiminto an in s ja valitsemalla sitten optimaaliset toiminnot. Jotta voimme käsitellä suositusongelmia Q-oppimisen lähestymistapojen avulla, meidän on ensin määriteltävä asiaankuuluvat toimet, tilat sekä palkitsemis- ja rankaisumenettelyt.

Tämä tekniikka keskittyy ensisijaisesti kunkin toiminnan suorituskyvyn analysointiin kussakin tilassa, jota kutsutaan Q-arvoiksi. Suositusjärjestelmät käyttävät tätä Q-oppimislähestymistapaa seuraavan työn todennäköisyyden määrittämiseksi ja korkean suorituskyvyn saavuttamiseksi; useimmat ehdotukset perustuvat esimerkiksi asiakkaan hyväksyntään/hylkäämiseen tai tiettyyn toimintaan käytettyyn aikaan.

Q-oppimisen lähestymistapa antaa sopivat puitteet yksilöllisille suosituksille, joita voidaan hyödyntää suoraan minkä tahansa tyyppisiin suositusongelmiin. Jokainen palkkion/toiminnan/tilan arvo on arvio siitä, kuinka tarkka ennuste voi olla. Ongelman epädeterminististä luonnetta käytetään ongelmasääntöjen päivittämiseen.

Tämä sääntö ottaa huomioon sen tosiasian, että saman toiminnon tekeminen samassa tilassa voi johtaa erilaisiin palkkioihin. Kun n:n arvo pienenee, palkkioarvojen vaikutus pienenee jatkuvasti.

Ehdotuksessa on useita huolenaiheita muiden tavanomaisten suositustapojen ohella. Jotkut eivät ole kovin tehokkaita. Suurin haittapuoli on, että henkilökohtaisia ​​suosituksia ei ole saatavilla; sen sijaan ne luottavat sisällön suodatukseen tai käyttäjätyyppiin perustuvaan suodatukseen. Yhteiskunta ja teknologia keskittyvät kuitenkin yhä enemmän oikean tuotteen tai palvelun esittämiseen oikeille markkinoille tai kuluttajille.

🔥 Empfohlen:  Natalie M. Engler Aloituspainikkeen painaminen: San Diegossa asuvan isän matka yrittäjyyteen Lue artikkeli

Suositusjärjestelmän rakentaminen RL:n kanssa

Tässä artikkelissa käytetään Deep Deterministic Policy Gradientia (DDPG), eräänlaista vahvistusoppimista, joka yhdistää Q-oppimisen käytäntögradienteihin. Näyttelijä-kriitikkona DDPG:llä on kaksi mallia: näyttelijä ja kriitikko. Toimija on toimien todennäköisyysjakauman sijaan politiikkaverkosto, joka ottaa tilan syötteeksi ja tuottaa tarkan toiminnan (jatkuva). Kriitikko on Q-arvon verkko, joka hyväksyy tilan ja toiminnan syötteenä ja palauttaa Q-arvon ulostulona. DDPG-tekniikka on “pois”-politiikan lähestymistapa. Sana “deterministinen” DDPG:ssä viittaa siihen tosiasiaan, että toimija laskee toiminnan suoraan sen sijaan, että käyttäisi toimien todennäköisyysjakaumaa.

Suositusjärjestelmä rakentuu kuuluisalle IMDb-elokuvaluokitustietojoukolle. DDPG-mallin harjoittamisen aikarajoitusten vuoksi käyttämällä esikoulutettua DDPG-mallia, joka tunnetaan nimellä RecNN.

RecNN:n asentaminen

osoitteesta IPython.display tuonti clear_output ! git-klooni https://github.com/awarebayes/RecNN! pip install -r ./RecNN/requirements.txt ! pip asennus ./RecNN ! pip install gdown clear_output()

Kloonataan GitHub-arkisto vahvistusoppimiseen perustuvan RecNN-suositustyökalupaketin asentamiseksi.

Tietojen lukeminen

Tämä artikkeli käyttää IMDB-elokuvien luokitustietojoukkoa. Seuraavalla koodilla ladataan ja puretaan metatiedot ja esikoulutettu malli.

! wget http://files.grouplens.org/datasets/movielens/ml-20m.zip ! gdown https://drive.google.com/uc?id=1EQ_zXBR3DKpmJR3jBgLvt-xoOvArGMsL ! unzip ml-20m.zip clear_output()

Jos käytät colab-kannettavaa, varmista, että laitteistokiihdytin on asetettu GPU:lle, koska se vaaditaan mallin kouluttamiseen.

Tuo tarvittavat kirjastot

tuonti pandat pd-muodossa tuonti numpy-muodossa np osoitteesta scipy.spatial tuontietäisyys tuonti matplotlib.pyplot-muodossa plt tuonti recnn kohteesta tqdm.auto tuonti tqdm tuonti suolakurkku tuonti gc tuonti json tuonti taskulamppu osoitteesta torch.utils.data tuonti Dataset, DataLoader tuonti torch.nn as nn import torch.nn.functional as F import torch.optim as optim

Kirjaston tärkein abstraktio aineistoille on nimeltään ympäristö, joka on samanlainen kuin muut vahvistusoppimiskirjastot nimeävät sen. FrameEnv tarjoaa staattisen pituuden, kun taas SeqEnv toteuttaa dynaamisen pituuden sekä peräkkäisen tilan esityskooderin. Katsotaanpa ensin FrameEnv. Sinun on määritettävä upotukset ja luokitushakemistot env:n alustamiseksi. Välimuisti on toinen vaihtoehto.

cuda = torch.device(‘cuda’) frame_size = 10 meta = json.load(open(‘/content/drive/MyDrive/Datasets/omdb.json’)) tqdm.pandas() frame_size = 10 eräkoko = 1 dirs = recnn.data.env.DataPath( base=””, embeddings=”ml20_pca128.pkl”, ratings=”ml-20m/ratings.csv”, cache=”cache_frame_env.pkl”, use_cache=True ) env = recnn.data .env.FrameEnv(dirs, frame_size, batch_size)

🔥 Empfohlen:  Amazon Flex -arvostelu
Analytics India -lehti

Tallenna nyt TensorFlow GPU:hun.

Koska DDPG on näyttelijäkritiikkitekniikka, siinä on kaksi mallia: näyttelijä ja kriitikko. Tässä artikkelissa käytetään näyttelijämallia. Yritä käyttää kriitikkomallia ja jätä se sinulle.

ddpg = recnn.nn.models.Actor(1290, 128, 256).to(cuda) test_batch = next(iter(env.test_dataloader)) tila, toiminta, palkinto, seuraava_tila, tehty = recnn.data.get_base_batch(test_batch)

Luo mukautettu funktio

Suosituspisteiden tallentamiseksi luo mukautettu funktio, joka ottaa syötteen metatiedoista ja käsittelee sen mallin läpi ja tallentaa lopuksi tulokset panda-tietokehykseen.

def rank_score(gen_action, metriikka): pisteet = []
i:lle env.base.key_to_id.keys(): jos i == 0 tai i == ‘0’: jatka scores.append([i, metric(env.base.embeddings[env.base.key_to_id[i]], gen_action)]) tulokset = lista(lajiteltu(pisteet, avain = lambda x: x[1])) pisteet = pisteet[:10]
ids = [i[0] for i in scores]for i in range(10): pisteet[i].extend([meta[str(scores[i][0])][‘omdb’][key] avainta varten [‘Title’,
‘Genre’, ‘Language’, ‘Released’, ‘imdbRating’]]) indeksit = [‘id’, ‘score’, ‘Title’, ‘Genre’, ‘Language’, ‘Released’, ‘imdbRating’]
table_dict = sanelu([(key,[i[idx] for i in scores]) idx, näppäile enumerate(indexes)]) table = pd.DataFrame(table_dict) return table

Luo suosituksia

ddpg_malli = ddpg(tila) ddpg_malli = ddpg_malli[np.random.randint(0, state.size(0), 1)[0]].detach().cpu().numpy()

Mukautetun toiminnon käyttäminen eri etäisyyslaskentatekniikoiden kanssa saadaksesi parhaat suositukset joidenkin satunnaisten näytteiden avulla.

sijoitus_pisteet(ddpg_malli, etäisyys.euklidinen)

Analytics India -lehti

sijoitus_pisteet(ddpg_malli, etäisyys.korrelaatio)

Analytics India -lehti

Johtopäätös

Vahvistusoppimisen tarkoituksena on kehittää asianmukainen toimintamalli, joka maksimoi agentin kumulatiivisen kokonaispalkkion. Suurin haittapuoli on, että räätälöityjä suosituksia ei ole saatavilla; ne koskevat sisällön suodatusta tai käyttäjätyyppipohjaista suodatusta. Tämän artikkelin avulla olemme ymmärtäneet vahvistusoppimisen toteuttamisen suositusjärjestelmän rakentamiseksi.

Viitteet

Table of Contents