Minden, amit a kollaboratív szűrésről tudni kell
- vegyen egy Demo osztályt
- az együttműködő szűrés típusai
- memória alapú vagy legközelebbi szomszédsági algoritmus
- modellalapú kollaboratív szűrés
- hibrid kollaboratív szűrés
- Collaborative Filtering Example
- adatkészlet
- az együttműködő szűrési algoritmus létrehozása
- memória alapú kollaboratív szűrési algoritmus
- a minősítés kiszámítása
- az együttműködési szűrés korlátai
- Alkalmazások kollaboratív szűrés ajánló rendszerek
vegyen egy Demo osztályt
(adja meg elérhetőségeit, a letöltési linket néhány másodpercen belül e-mailben elküldjük Önnek)
mielőtt belevágnánk az olyan alapfogalmakba, mint az együttműködő szűrési ajánló rendszerek és az együttműködő szűrési algoritmusok, értsük meg az ajánló rendszereket.
az ajánlórendszer célja, hogy előre jelezze a felhasználó preferenciáját, annak érdekében, hogy ‘ajánljon’ egy terméket, amely lehet termék, például ruha, vagy film, szolgáltatás stb., az ajánlórendszerek ma nagyon fontossá váltak, mivel minden területen többlet van az opciókban, és segítenek a vállalatoknak jobban elhelyezni termékeiket vagy szolgáltatásaikat a nagyobb mozgás érdekében.
az ajánlórendszer felépítésének két módja van: az egyik tartalomalapú, a másik pedig az együttműködésen alapuló szűrés. Ebben a cikkben részletesen megvizsgáljuk az együttműködési szűrést, az együttműködési szűrési példákkal együtt.
35% vagy Amazon.com a bevételt az ajánlási motorja generálja.
kétféle módon, vagy érzékek, amelyben együttműködő szűrés fut ajánló rendszerek, és ez egy szűk és egy általánosabb.
szűkebb értelemben a kollaboratív szűrés úgy működik, hogy megjósolja egy felhasználó preferenciáit, összegyűjtve és tanulmányozva sok más hasonló felhasználó preferenciáit.
töltse le a részletes tantervet és ingyenes hozzáférést kapjon Az Orientációs munkamenethez
idő: 10:30 AM – 11: 30 AM (IST / GMT + 5:30)
például, ha az A és a b felhasználó ugyanazt a mosógépet részesíti előnyben, akkor a b felhasználó Egyéb preferenciái érdekelhetik az a felhasználót, mivel ízlésük és igényeik hasonlóak. Ez természetesen úgy történik, hogy figyelembe vesszük a sok különböző felhasználót és számos preferenciát és reakciót, ezért a kollaboratív szűrés kifejezés.
együttműködő szűrési forrás – ajánló rendszer
általánosabb értelemben az együttműködő szűrés a felhasználó preferenciájának előrejelzésének folyamata azáltal, hogy tanulmányozzák tevékenységüket a minták levezetésére.
például a lájkok, nem tetszések, kihagyások és nézetek tanulmányozásával egy ajánlórendszer megjósolhatja, hogy a felhasználó mit szeret és mit nem.
a kollaboratív szűrés és a tartalomalapú szűrés közötti különbség az, hogy az előbbinek nincs szüksége eleminformációkra, hanem a felhasználói preferenciák alapján működik.
az együttműködő szűrés típusai
memória alapú vagy legközelebbi szomszédsági algoritmus
Recommender System Source-Towards Data Science
ez a módszer egy minősítési rendszert használ egy felhasználó preferenciáinak előrejelzésére, figyelembe véve egy hasonló felhasználó vagy a ‘szomszéd’preferenciáit. Itt kétféle módon lehet kiszámítani a preferenciákat, a felhasználó alapú kollaboratív szűrést és az elemalapú kollaboratív szűrést.
először nézzük meg a felhasználó alapú kollaboratív szűrést. Tegyük fel, hogy van egy mátrixa értékelés n x m, a felhasználó u 6, i = 1,…n és tétel P 6, j=1,…m. tegyük fel, hogy meg kell megjósolni a minősítés tétel r, egy tétel j, hogy a felhasználó nem néztem/eddig. A módszer lényege, hogy kiszámítja az I. felhasználó preferenciáit, és összehasonlítja azokat más felhasználókkal, kiválasztja a legjobb X hasonló felhasználót, felveszi az R tételre vonatkozó értékelésüket, és megtalálja a súlyozott átlagot, hogy megjósolja az I. felhasználó lehetséges értékelését/preferenciáját.
figyelembe véve azt a tényt, hogy egyes felhasználók általában túl engedékenyek, magas minősítést adnak azoknak a tárgyaknak, amelyeket nem igazán élveznek, míg egyes felhasználók általában túl szigorúak, alacsony minősítést adnak még a nekik tetsző elemeknek is, ez az együttműködési szűrési módszer kijavítja a képletet, hogy megszabaduljon az elfogultságtól. Ennek kijavításához kivonjuk az egyes felhasználók átlagos értékelését az összes elemről a súlyozott átlag kiszámításakor, majd hozzáadjuk a célfelhasználóhoz:
a hasonlóság 2 módon számítható ki: Pearson-korreláció és koszinusz hasonlóság.
Összefoglalva ezt a módszert, az ötlet az, hogy megtaláljuk a célfelhasználónkhoz leginkább hasonló felhasználókat a preferenciák szempontjából, megmérjük egy elem értékelését, és megjósoljuk, hogy a célfelhasználó potenciális értékelése a kiválasztott elem számára.
az Elemalapú kollaboratív szűrésben két elemet hasonlítunk össze, és feltételezzük, hogy hasonlóak, ha egy felhasználó hasonló minősítést ad a két elemnek. Ezután megjósolni, hogy a felhasználó értékelése egy elemet kiszámításával súlyozott átlaga alapján a legtöbb X hasonló elemeket a felhasználó. Lásd az alábbi képet példaként.
Elemalapú szűrési forrás-közeg
modellalapú kollaboratív szűrés
a kollaboratív szűrési ajánlórendszerek ezen módszerében különböző adatbányászati és gépi tanulási algoritmusokat használnak egy olyan modell kifejlesztésére, amely megjósolja egy nem minősített elem felhasználói értékelését. Néhány példa ezekre a modellekre Bayes-hálózatok, klaszterezési modellek, szinguláris értékbomlás, valószínűségi látens szemantikai elemzés, többszörös multiplikatív tényező, látens Dirichlet-allokáció és Markov döntési folyamat-alapú modellek.
hibrid kollaboratív szűrés
ez a módszer egyesíti a memória alapú és a modell alapú kollaboratív szűrőrendszereket, hogy kiküszöbölje az olyan korlátokat, mint a ritkaság és az információvesztés. Ez a módszer azonban összetettebb.
töltse le a részletes tantervet és ingyenes hozzáférést kapjon Az Orientációs munkamenethez
idő: 10:30 AM – 11: 30 AM (IST / GMT + 5:30)
Collaborative Filtering Example
ahhoz, hogy jól megértsük az együttműködő szűrést ajánló rendszereket, Vegyünk egy valós idejű kollaboratív szűrési példát, és építsünk egy kollaboratív szűrési algoritmust Pythonban. Az első lépés az adatkészlet meghatározása. Ha kezdő vagy a Pythonban, nézd meg ezt a tudás cikket:
adatkészlet
ehhez az együttműködő szűrési példához először össze kell gyűjtenünk azokat az adatokat, amelyek elemeket tartalmaznak, valamint azokat a felhasználókat, akik reagáltak ezekre az elemekre. Ez a reakció lehet explicit, mint egy minősítés vagy egy hasonló vagy nem tetszik, vagy lehet implicit, mint megtekinteni egy elemet, hozzátéve, hogy egy kívánságlistát, vagy olvasni egy cikket.
ezeket az adathalmazokat általában mátrixként ábrázolják, amely felhasználók, elemek halmazából, valamint a felhasználók által ezekre az elemekre adott reakciókból áll. Íme egy példa:
a mátrix öt felhasználó és öt elem forrás – valódi Python
ez a mátrix képviseli öt felhasználó u1-u5, akik eddig öt elem i1-i5 között értékelés 1-5 (szintén nincs értékelés). A legtöbb esetben ezeknek a mátrixoknak több üres cellája van, mint a teljesek, mert sok felhasználó számára nagyon valószínűtlen, hogy a lista sok elemét értékelje. Ezt ritka mátrixnak nevezik.
használhatja ezt a listát a kiváló minőségű adatforrásokról az együttműködő szűrési algoritmus projektekhez. Jó kiindulópont a MovieLens 100k adatkészlet, amely 100 000 értékelést tartalmaz 1682 filmhez, amelyet 943 felhasználó adott, minden felhasználó legalább 20 filmet értékelt.
míg az adatkészletnek sok hasznos mezője van, az egyikre különösen összpontosítunk:
u.item: the list of moviesu.data: the list of ratings given by users
az u. data fájl külön listát tartalmaz az értékelésekről és a felhasználói AZONOSÍTÓKRÓL, az elemazonosítóról, a minősítésről és az időbélyegről. Íme egy példa:
első 5 sor MovieLens 100k adatforrás-valódi Python
a teljes fájl 100 000 ilyen értékelés adatait tartalmazza.
az együttműködő szűrési algoritmus létrehozása
a projekt végrehajtásának ötlete az 1. Azonosítsa a hasonló preferenciákkal rendelkező felhasználókat, majd 2. Jósolja meg a film értékelését egy felhasználó által, aki még nem értékelte. Figyelembe kell vennünk az eredmények pontosságát is.
1 és 2 különböző algoritmusok segítségével érhető el. Fontos megjegyezni, hogy nem aggódunk a minta felhasználók életkora, demográfiája stb. vagy a filmek műfaját stb. Csak az érintett implicit és / vagy explicit értékelés ezeket a filmeket ezek a felhasználók.
az eredmény pontosságának méréséhez olyan opciókat használhatunk, mint a gyökér átlag Négyzethiba vagy az átlagos abszolút hiba.
memória alapú kollaboratív szűrési algoritmus
ebben a módszerben megpróbáljuk megjósolni az R besorolást, amelyet egy U felhasználó esetleg megadna egy elemnek (a filmnek) I.
az első lépés az U felhasználóhoz hasonló preferenciákkal rendelkező felhasználók megkeresése, majd az R besorolás kiszámítása.
íme egy példa arra, hogyan találunk hasonló preferenciákkal rendelkező felhasználókat. Tekintsük a kis adatkészletet:
ezek 2 film értékelései, amelyeket 4 felhasználó adott A, B, C és D. az értékeléseket ábrázolva a grafikon így néz ki:
a minősítési forrás ábrázolása-valódi Python
a telekpontok közötti távolság az egyik módja annak, hogy képet kapjunk az érdeklődésre számot tartó hasonlóságokról. A távolság kiszámításához a következő programot használhatjuk:
a scipy import térbeli
a scipy-t használjuk.térbeli.távolság.euklideszi függvény a távolság kiszámításához. Kiszámítjuk a C és a, B és D közötti távolságot. Az eredményből és magából a táblázatból is láthatjuk, hogy C áll a legközelebb B-hez.de azt is szeretnénk tudni, hogy A és D közül ki áll a legközelebb C-hez. a távolságot tekintve D-t mondhatnánk, de az asztalt nézve azt mondhatjuk, hogy A és C jobban igazodik egymáshoz, mert mindkettő kétszer annyira szereti a movie 2-t, mint az 1-et (figyelembe véve az arányokat és nem a tényleges besorolást), míg D felhasználó szinte egyformán szereti mindkét filmet, jelezve, hogy preferenciájuk eltérő lehet. Amit az euklideszi távolság nem tud megjósolni, azt a felhasználókat összekötő vonal szögéből származtathatjuk. A felhasználókhoz csatlakozva a grafikon így néz ki:
láthatjuk, hogy minél kisebb a szög két vonal között, annál hasonlóbbak a referenciáik. Ennek megtalálásához a programban a következőket futtathatjuk:
láthatjuk, hogy az A és b közötti koszinusz hasonlóság 0, ami szoros hasonlóságot jelez. Az euklideszi távolság és a koszinusz hasonlóság használata 2 a különböző módszerek közül, amelyeket a hasonlóság kiszámításához használhat.
a minősítés kiszámítása
miután azonosítottuk azokat a felhasználókat, akik hasonló preferenciákkal rendelkeznek, mint az U felhasználó, elkezdjük megjósolni, hogy az R U milyen minősítést adna egy filmnek, ha még nem értékelték. Újra, számos módja van ennek.
az egyik egyszerű módszer az, hogy megtaláljuk a hasonló legnépszerűbb felhasználók által az adott filmre adott értékelések átlagát. A matematikai kifejezés a következő lenne:
a matematikai képlet az átlagos értékelés által adott n felhasználó forrás – valódi Python
akkor is megy a súlyozott megközelítés, ha a felső hasonló felhasználók van egy csomó különbség a véleményben. Ez azt jelentené, hogy a legközelebbi hasonló felhasználónak nagyobb súlyt, majd csökkenő súlyokat adna. A kifejezés a következő lenne:
az együttműködési szűrés korlátai
egy lény, nem veszi figyelembe a metaadatokat. A felhasználók értékelhetnek egy filmet például a benne szereplő színész iránti preferenciájuk alapján, de az együttműködő szűrés ezt nem veszi figyelembe.
további hátrány, hogy az együttműködő szűrés nem túl hatékony, hacsak sok felhasználó nem értékelt sok elemet. Csak akkor lehet a legjobban megfelelni egy hasonló közönségnek, majd megjósolni a minősítést.
mivel az együttműködő szűréshez hatalmas adatkészletekre van szükség, ahhoz, hogy közeli hasonlóságú felhasználókat lehessen elérni, gyakran felmerül az adatok ritkaságának problémája. Mint korábban láttuk, a ritka mátrix több üres cellával rendelkezik, mint a teljes, ami szinte mindig így van.
a skálázhatóság egy másik kérdés, mivel az együttműködő szűrési algoritmust általában n felhasználó figyelembevételével írják. Az adatkészlet növekedésével a teljes program masszívvá válhat.
Alkalmazások kollaboratív szűrés ajánló rendszerek
kollaboratív szűrés ajánló rendszerek forrás – valódi Python
kollaboratív szűrés találja a legnagyobb haszna a szociális web. Látni fogja az együttműködő szűrést az olyan alkalmazásokban, mint a YouTube, a Netflix és a Reddit, többek között. Ezek az alkalmazások együttműködési szűrést használnak olyan videók/bejegyzések ajánlására, amelyek a prediktív algoritmusuk alapján a felhasználó számára valószínűleg tetszeni fognak.
az együttműködő szűrés a korlátozások ellenére népszerű módszer a programok ajánlására. Az e-kereskedelmi platformokon is használják termékek ajánlására, hasonló preferenciájú vagy ízlésű felhasználók vásárlásai alapján.
programozóként algoritmusokat kell kevernie, hogy pontosabbá tegye az együttműködési szűrést, valamint kevernie kell a módszereket vagy az előrejelzést a legpontosabb eredmények elérése érdekében. A bányászati masszív adatkészlet könyv ajánló rendszerek fejezete szintén nagyszerű információforrás az együttműködési szűrésről.
töltse le a részletes tantervet és ingyenes hozzáférést kapjon Az Orientációs munkamenethez
idő: 10:30 AM – 11: 30 AM (IST / GMT + 5:30)
van egy teljes útmutatónk arról is, hogyan lehet Adattudóssá válni, amire a legtöbb gépi tanulási rajongó törekszik.
a megfelelő adattudományi készség megszerzéséhez be kell jelentkeznie egy adattudományi tanfolyamra. Ez segít, hogy emelje fel a karrierjét, mint egy adat tudós.