Formålet med dette forløb er at få en forståelse for, hvordan streamingtjenester og sociale medier kan lave individualiserede anbefalinger til sine brugere. Herunder hvordan samarbejds- og indholdsbaserede algoritmer virker.
Anbefalet til dig
Læs indledningen i noten Anbefalet til digindtil afsnittet "En samarbejdsbaseret algoritme".
NoteOpgave 1: Samarbejds- og indholdsbaserede algoritmer
Beskriv med dine egne ord, hvad forskellen er på samarbejds- og indholdsbaserede algoritmer.
En online elektronikbutik har 1.000.000 kunder. Heraf har 235.476 købt en computer, 423.517 har købt en mus og 114.237 købt et tastatur, 23.127 har købt både computer og mus, mens 51.633 har købt både computer og tastatur.
Beregn frekvensen af \(H_{\{\text{computer}\}}\), \(H_{\{\text{mus}\}}\), \(H_{\{\text{tastatur}\}}\), \(H_{\{\text{computer,mus}\}}\) og \(H_{\{\text{computer, tastatur}\}}\). Hvilken vare var mest populær?
Beregn \(\hat{P}( H_{\{\text{mus}\}} \mid H_{\{\text{computer}\}})\) og \(\hat{P}(H_{\{\text{tastatur}\}} \mid H_{\{\text{computer}\}} )\). Hvilken vare ville du anbefale til en bruger, der lige har købt en computer?
Beregn frekvenserne af \(H_{\{\text{Blinkende Lygter}\}}\), \(H_{\{\text{Olsen-banden}\}}\) og \(H_{\{\text{Blinkende Lygter, Olsen-banden}\}}\).
Beregn \(\hat{P}(H_{\{\text{Olsen-banden}\}}\mid H_{\{\text{Blinkende lygter}\}} )\) og \(\hat{P}( H_{\{\text{Hævnen}\}}\mid H_{\{\text{Blinkende lygter}\}})\). Hvilken film ville du foreslå en bruger, der lige har set "Blinkende lygter"?
Brugernummer
"Blinkende lygter"
"Olsen-banden"
"Hævnen"
1
1
0
0
2
1
0
1
3
1
1
1
4
0
0
1
Tabel 1: Eksempel på et datasæt med \(p=3\) film og \(n=4\) brugere. Hver række svarer til en bruger, hvor 1 angiver at brugeren har set filmen, mens 0 angiver at brugeren ikke har set filmen.
Betragt den multiple regressionsmodel for brugeren i eksempel 3 i afsnittet, som du lige har læst. Altså
\[\hat{r}= 2 - 0.02x_1 + 0.05x_2 \tag{1}\]
Lad os se på film med \(x_2=0\), det vil sige film uden action.
Redegør for, at hvis vi sætter \(x_2=0\) i (1), så får vi, at \(\hat{r}\) er en lineær funktion af \(x_1\).
Hvad er hældning og skæring i modellen?
Tegn den rette linje ind i et koordinatsystem.
Hvad sker der med ratings, når indholdet af romantik stiger?
Prøv i stedet at sætte \(x_2=50\) i modellen.
Hvad er hældning og skæring nu?
Tegn den tilhørende rette linje ind i samme koordinatsystem som linjen for \(x_2=0\).
Hvad er forskellen på de to linjer?
Vi gør nu det samme for fastholdt \(x_1\).
Sæt \(x_1=10\), og tegn den tilhørende linje ind i et koordinatsystem med \(x_2\) på \(x\)-aksen.
Gør det samme for \(x_1=60\).
Hvad sker der med ratings, når andelen af action stiger?
NoteOpgave 5: Ratings af film
Vi betragter 3 features, nemlig varighed, produktionsår (regnet i forhold til år 2000), og vurdering på IMDb. Tre film har følgende features:
"Titanic"
"Olsen-banden ser rødt"
"Jagten"
\(x_1\)
Varighed (min)
194
105
115
\(x_2\)
År - 2000
-3
-24
12
\(x_3\)
IMDb rating
7.9
7.7
8.3
En bruger, som foretrækker gamle film, men hader lange film, har vægtene \(a_1=-0.01\), \(a_2=-0.1\) og \(a_3= 0.1\) samt \(b=2.8\). Prædiktér brugerens ratings af de tre film. Hvilken film ville du anbefale brugeren?
En anden bruger foretrækker film af god kvalitet, men går ikke op i varighed og alder. Vedkommende har derfor præferencerne \(b=-4\), \(a_1=0\), \(a_2=0\), \(a_3=1\). Prædiktér brugerens ratings og anbefal en film.
NoteOpgave 6: Multipel regressionsmodel med én variabel
Den mulitiple regressionsmodel med \(k\) variable \(x_1,\ldots,x_k\) har formen \[ \hat{r}=b + a_1x_1 + a_2x_2 + \dotsm + a_kx_k \]
Gør rede for, at en multipel regressionsmodel med én variabel (\(k=1\)), er det samme som en almindelig regressionsmodel, som I kender det fra gymnasieundervisningen.
Betragt igen datasættet fra opgave 5. En bruger har givet filmene følgende ratings:
"Titanic"
"Olsen-banden ser rødt"
"Jagten"
Rating
2
5
4
Betragt vægtene \(b=3.8\), \(a_1=-0.02\), \(a_2=-0.05\) og \(a_3=0.3\). Beregn værdien af tabsfunktionen ved at følge nedenstående trin:
Beregn de prædikterede ratings for hver af de tre film ved hjælp af formlen \[ \hat{r}=b + a_1x_1 + a_2x_2 + a_3x_3 \]
For hver af de tre film beregnes prædiktionsfejlen \(r-\hat{r}\), hvor \(r\) er den faktiske rating.
Beregn tabsfunktionen som \[
\begin{aligned}
E = &(r_{\text{Titanic}}-\hat{r}_{\text{Titanic}})^2 + \\ &(r_{\text{Olsen-banden}}-\hat{r}_{\text{Olsen-banden}})^2 + \\ &(r_{\text{Jagten}}-\hat{r}_{\text{Jagten}})^2
\end{aligned}
\]
Gentag udregningen med vægtene \(b=1.8\), \(a_1=0.01\), \(a_2=-0.1\) og \(a_3=0\).
Jo mindre tabsfunktionen er, desto bedre er vægtene til at prædiktere de faktiske ratings. Hvilket af de to sæt af vægte, du har regnet på, er bedst?
Hvis du sammenligner de prædikterede ratings for de to sæt af vægte med de faktiske ratings, kan du så også ud fra denne sammenligning se, hvilket sæt af vægte der er bedst? Og stemmer det overens med det, du fandt ovenfor?
For at finde de vægte, der minimerer tabsfunktionen, får man brug for at finde de partielle afledede af tabsfunktionen. Hvis du ikke ved, hvad partielle afledede er, kan du med fordel starte med at se videoen Funktioner af to variable 1: Introduktion og partielle afledede.
Vis, at de partielle afledede er som givet i (2). Bemærk, at da \(E\) er en sum, kan den differentieres ledvist. Det er altså nok at vise, at \[
\begin{aligned}
&\frac{\partial (r_j-\hat{r}_j)^2}{\partial a_1} = -2x_{1j}(r_j-\hat{r}_j)\\
&\frac{\partial (r_j-\hat{r}_j)^2}{\partial a_2} = -2x_{2j}(r_j-\hat{r}_j) \\
&\frac{\partial (r_j-\hat{r}_j)^2}{\partial b} = - 2(r_j-\hat{r}_j)
\end{aligned}
\]
Vi forstiller os, at vi har valgt, hvad vægtene i modellen skal være. De tre film har featurevægtene:
"Titanic"
"Ringenes Herre"
"Jurassic park"
\(x_1\)
0
0
3
\(x_2\)
2
1
1
De tre brugere har præferencevægtene:
\(a_1\)
\(a_2\)
Bruger 1
1
1
Bruger 2
2
1
Bruger 3
0
3
Lav en tabel over alle de prædikterede ratings \(\hat{r}_{ij}\).
Beregn prædiktionsfejlen \(r_{ij}-\hat{r}_{ij}\) for alle de film, der faktisk er blevet ratet af brugerne (det vil sige, hvor \(r_{ij}\neq NA\) i tabellen over ratings i punkt 1).
Beregn tabsfunktionen \(E\).
NoteOpgave 11: Partielle afledede
Vis, at de partielle afledede af \((r_{ij}-\hat{r}_{ij})^2\) med hensyn til vægtene er givet ved formlerne (5), (6) og (7) her under.