Vše, co Potřebujete Vědět O Kolaborativní Filtrování

Než se dostaneme do základních pojmů, jako je kolaborativní filtrování doporučující systémy a kolaborativní filtrování algoritmy, pojďme se pochopit, doporučující systémy.

doporučující systém si klade za cíl předvídat preference uživatele, aby mohl “doporučit” položku, která by mohla být produktem, jako je oblečení, nebo filmy, služby atd., doporučující systémy se staly velmi důležité, dnes, protože přebytek možnosti v každé doméně, a pomáhají společnostem lépe umístit své výrobky nebo služby pro větší pohyb.

existují dva způsoby, jak vytvořit doporučující systém; jeden je založený na obsahu a druhý je kolaborativní filtrování. V tomto článku se budeme podrobně zabývat Kolaborativním filtrováním spolu s příklady kolaborativního filtrování.

35% z Amazon.com příjmy jsou generovány jeho doporučovacím motorem.

existují dva způsoby, nebo smysly, ve kterých kolaborativní filtrování běží doporučující systémy, a to je úzký a obecnější.

v užším slova smyslu funguje kolaborativní filtrování tak, že předpovídá preference jednoho uživatele, shromažďuje a studuje preference mnoha dalších podobných uživatelů.

Stáhněte si Podrobné Osnovy a Získejte Bezplatný přístup k Orientaci Relace

Datum: 13. Února, 2021 (sobota)
Čas: 10:30 – 11:30 (IST/GMT +5:30)
(poskytnout své kontaktní údaje, odkaz ke stažení vám bude zaslán e-mailem během několika sekund)

například, pokud uživatel A a uživatel B oba preferují stejné pračka, další preference uživatel B může být něco, uživatel bude mít zájem, protože jejich vkus a potřeby jsou podobné. To se samozřejmě provádí s přihlédnutím k mnoha různým uživatelům a četným preferencím a reakcím, odtud termín, kolaborativní filtrování.

Collaborative Filtering Source-Recommender System

v obecnějším smyslu je kolaborativní filtrování proces předpovídání preferencí uživatele studiem jejich aktivity za účelem odvození vzorů.

například studiem lajků, nelibostí, přeskakování a zobrazení může doporučující systém předpovědět, co se uživateli líbí a co se mu nelíbí.

rozdíl mezi kolaborativní filtrování a filtrování založené na obsahu je, že bývalý nepotřebuje položku informace, ale místo toho pracuje na preferencích uživatele.

Typy Kolaborativní Filtrování

Memory-Based nebo Nejbližší Okolí Algoritmus

Doporučující Systém Zdroj – K Data Science

Tato metoda používá systém hodnocení předvídat preference jednoho uživatele tím, že vezme v úvahu preference podobné uživatele, nebo v ‘souseda’. Existují dva způsoby výpočtu předvoleb, filtrování založené na uživateli a filtrování založené na položkách.

podívejme se nejprve na uživatelské filtrování založené na spolupráci. Řekněme, že máme matice hodnocení n x m, pro uživatele uᵢ, i = 1,…n a položku pⱼ, j=1,…m. Řekněme, že potřebujeme předpovědět hodnocení produktu rᵢⱼ, položky j, že uživatelská jsem se nedíval/jmenovitý. Jak tato metoda funguje, je pro výpočet uživatelská jsem preference a zápas je s ostatními uživateli, vyberte horní X podobných uživatelů, jejich hodnocení pro položku rᵢⱼ, a najít vážený průměr předvídat uživatele je možné klientů/preference položky.

Brát v úvahu skutečnost, že někteří uživatelé mají tendenci být příliš shovívavý, dávat vysoké hodnocení pro předměty, které si to opravdu vychutnat, zatímco někteří uživatelé mají tendenci být příliš přísný, dává nízké hodnocení, i pro předměty, které mají rádi, tento způsob Kolaborativní Filtrování opravuje vzorec, jak se zbavit předsudků. K nápravě této, odečteme každý uživatel je průměrné hodnocení všech položek při výpočtu váženého průměru a pak jej přidat zpět pro cílového uživatele:

Podobnost lze vypočítat 2 způsoby: Pearson Korelace a Kosinové Podobnosti.

Shrneme-li tuto metodu, myšlenka je najít uživatelé nejvíce podobná naší cílové uživatele, pokud jde o preference, váží jejich hodnocení pro položku, a předpovídají, že jako potenciálních klientů pro naše cílové uživatele, pro vybrané položky.

v filtrování založené na položkách porovnáváme dvě položky a předpokládáme, že jsou podobné, když jeden uživatel dá oběma položkám podobné hodnocení. Poté předpovídáme hodnocení uživatele pro položku výpočtem váženého průměru hodnocení na většině podobných položek X od tohoto uživatele. Viz obrázek níže jako příklad.

Item-Based Filtrování Zdroj – Medium

Model-Based Kolaborativní Filtrování

V této metodě kolaborativního filtrování doporučující systémy, různé dolování dat a strojového učení algoritmy jsou použity k vytvoření modelu předpovědět uživatele ratingu bez ratingu položky. Některé příklady těchto modelů jsou Bayesovské sítě, klastrování modely, singulární rozklad, pravděpodobnostní latentní sémantická analýza, více multiplikativní faktor, latentní Dirichletova alokace a Markov decision process-based modely.

Hybridní Kolaborativní Filtrování

Tato metoda kombinuje memory-based a model-based Kolaborativní Filtrování systémy k odstranění omezení, jako řídkosti a ztrátě informací. Tato metoda je však složitější.

Stáhněte si Podrobné Osnovy a Získejte Bezplatný přístup k Orientaci Relace

Datum: 13. Února, 2021 (sobota)
Čas: 10:30 – 11:30 (IST/GMT +5:30)
(poskytnout své kontaktní údaje, odkaz ke stažení vám bude zaslán e-mailem během několika sekund)

Kolaborativní Filtrování Příklad

získat dobré pochopení toho, kolaborativní filtrování doporučující systémy, pojďme se real-time spolupracovní filtrování příklad a vytvořili kolaborativní filtrování algoritmus v Pythonu. Prvním krokem je definování datové sady. Pokud jste začátečník v Pythonu, podívejte se na tento článek znalostí:

Dataset

Pro tento kolaborativní filtrování příkladu, musíme nejprve hromadí data, která obsahuje soubor položek a uživatelů, kteří reagovali na tyto položky. Tato reakce může být explicitní, jako hodnocení nebo jako nebo nelíbí, nebo to může být implicitní, jako prohlížení položky, přidání do seznamu přání, nebo čtení článku.

tyto datové sady jsou obvykle reprezentovány jako matice, která se skládá ze sady uživatelů, položek a reakcí daných těmito uživateli na tyto položky. Zde je příklad:

matice s pěti uživateli a pět položek Zdroj – Real Python

Tato matice představuje pět uživatelů u1-u5, kteří hodnotili pět položek i1-i5, mezi hodnocení 1-5 (také bez hodnocení). Ve většině případů mají tyto matice více prázdných buněk než plné, protože je velmi nepravděpodobné, že by mnoho uživatelů hodnotilo mnoho položek v seznamu. Toto je známé jako řídká matice.

můžete použít tento seznam vysoce kvalitních zdrojů dat pro vaše projekty algoritmů filtrování ve spolupráci. Dobrým místem pro začátek je MovieLens 100k dataset, který obsahuje 100,000 hodnocení pro 1682 filmy dané 943 uživatelé, přičemž každý uživatel má hodnocené alespoň 20 filmy.

Zatímco dataset má mnoho užitečných polí, na ty se zaměřujeme zejména jeden, jsou:

u.item: the list of moviesu.data: the list of ratings given by users

u.datový soubor obsahuje samostatný seznam hodnocení a ID uživatele, ID položky, hodnocení a časové razítko. Zde je příklad:

Prvních 5 Řádků MovieLens 100k Zdroje Dat – v Reálném Python

celý soubor obsahuje údaje za 100.000 takové hodnocení.

vytvoření kolaborativního filtračního algoritmu

myšlenka provedení tohoto projektu je 1. Identifikujte uživatele s podobnými preferencemi a poté 2. Předpovídejte hodnocení filmu uživatelem, který jej dosud nehodnotil. Budeme také muset vzít v úvahu přesnost našich výsledků.

1 a 2 jsou dosaženy pomocí různých sad algoritmů. Důležitým bodem k zapamatování je, že nejsme znepokojeni věkem uživatelů vzorku, demografie, atd. nebo žánr filmů atd. Jediné, co nás zajímá, je implicitní a / nebo explicitní hodnocení těchto filmů těmito uživateli.

abychom mohli měřit přesnost našeho výsledku, můžeme použít možnosti jako Root Mean Square Error nebo Mean Absolute Error.

Memory-based Kolaborativní Filtrování Algoritmus

V této metodě, se snažíme předvídat rating R, které uživatel U by mohla dát položku (film).

první krok je najít uživatele, kteří mají podobné preference uživatele U, pak výpočet hodnocení R.

Tady je příklad toho, jak jsme se najít uživatelů s podobnými preferencemi. Zvažte malý datový soubor:

Tyto jsou pro hodnocení, 2 filmy, vzhledem k tomu, do 4 uživatelé A, B, C a D. Vynesením hodnocení, graf vypadá takto:

Vynesením hodnocení Zdroje – Skutečný Python

vzdálenost mezi body spiknutí, je jeden způsob, jak získat představu o podobnosti v zájmu. Pro výpočet vzdálenosti můžeme použít následující program:

z SciPy import spatial

používáme scipy.prostorový.vzdálenost.euklidovská funkce pro výpočet vzdálenosti. Počítáme vzdálenost C od A, B A D. Můžeme vidět, že z výsledku a také z tabulky sám, že C je nejblíže k B. Ale také jsme chtěli vědět, z a D, který je nejblíže k C. pokud jde o vzdálenost, můžeme říci, že D, ale při pohledu na tabulku můžeme říci, že a a C jsou více v souladu, protože mají oba rádi film 2 dvakrát tolik jako film 1 (s ohledem na poměry, a nikoli skutečné hodnocení), zatímco uživatelská D rád oba filmy téměř rovnoměrně, s uvedením jejich preference mohou být různé. Co euklidovská vzdálenost nedokáže předpovědět, můžeme případně odvodit z úhlu čáry spojující uživatele. Spojování uživatelů, graf bude vypadat:

můžeme vidět, že menší úhel mezi dvěma čarami, tím více se podobají jejich odkazy. Najít to v programu, můžeme spustit následující:

můžete vidět, že kosinové podobnosti mezi a a b je 0, což znamená, blízko podobnosti. Použití euklidovské vzdálenosti a kosinové podobnosti je 2 z různých metod, které můžete použít k výpočtu podobnosti v preferenci.

Výpočet Hodnocení

Jakmile jsme identifikovali uživatelů s podobnými preferencemi, aby se naše uživatel U, jsme se jít o předpovídání hodnocení R U by dal za film pokud se dosud ohodnoceno. Opět existuje mnoho způsobů, jak to udělat.

jedním z jednoduchých způsobů je zjistit průměr hodnocení daného filmu podobnými nejlepšími uživateli. Matematický výraz by byl:

matematický vzorec pro průměrné hodnocení dané n uživatelům Zdroje – Skutečný Python

můžete také jít pro vážené přístup, pokud v horní podobný uživatele, tam je hodně rozdíl v názoru. To by znamenalo dát nejbližšímu podobnému uživateli větší váhu a pak sestupné váhy. Výraz by byl:

omezení kolaborativního filtrování

jedna bytost nebere v úvahu metadata. Uživatelé mohou hodnotit film na základě svých preferencí pro herce v něm, například, ale kolaborativní filtrování to nezohlední.

další nevýhodou je, že kolaborativní filtrování není příliš efektivní, pokud mnoho uživatelů nehodnotilo mnoho položek. Teprve pak může udělat nejlepší zápas pro podobné publikum a poté předpovědět hodnocení.

vzhledem k tomu, že kolaborativní filtrování vyžaduje obrovské datové sady, aby bylo možné získat uživatele s blízkými podobnostmi, často dochází k problému řídkosti dat. Jak jsme viděli dříve, řídká matice je jedna s více prázdnými buňkami než plnými, což je téměř vždy případ.

škálovatelnost je dalším problémem, protože algoritmus kolaborativního filtrování je obvykle psán s ohledem na uživatele n. Jak datová sada roste, celkový program může být masivní.

Aplikace Kolaborativní Filtrování Doporučující Systémy

Kolaborativní Filtrování Doporučující Systémy Zdroj – Real Python

Kolaborativní Filtrování najde největší využití v sociální síti. Uvidíte kolaborativní filtrování v akci v aplikacích, jako je YouTube, Netflix a Reddit, mezi mnoha dalšími. Tyto aplikace používají Kolaborativní Filtrování doporučit videa/příspěvky, že uživatel je s největší pravděpodobností, jako na základě jejich prediktivní algoritmus.

kolaborativní filtrování je populární metoda pro doporučující programy, navzdory omezením. Používá se také v platformách elektronického obchodování k doporučení produktů na základě nákupů uživatelů podobných preferencí nebo chutí.

jako programátor budete muset kombinovat algoritmy, aby bylo filtrování spolupráce přesnější, a také kombinovat metody nebo predikce, abyste získali co nejpřesnější výsledky. Kapitola Recommender Systems v knize Mining Massive Dataset book je také skvělým zdrojem informací o Kolaborativním filtrování.

Stáhněte si Podrobné Osnovy a Získejte Bezplatný přístup k Orientaci Relace

Datum: 13. Února, 2021 (sobota)
Čas: 10:30 – 11:30 (IST/GMT +5:30)
(poskytnout své kontaktní údaje, odkaz ke stažení vám bude zaslán e-mailem během několika sekund)

Máme také Kompletní Návod, Jak se Stát Údaje Vědec, což je něco, co většina strojového učení nadšenci usilují, aby se stal.

Chcete – li získat správnou sadu dovedností v oblasti datové vědy, měli byste se zapsat do kurzu datové vědy. To vám pomůže zvýšit vaši kariéru datového vědce.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.