Effekten av varierande datamängd vid filmbetygsprediktion

Storlek: px
Starta visningen från sidan:

Download "Effekten av varierande datamängd vid filmbetygsprediktion"

Transkript

1 EXAMENSARBETE INOM TEKNIK, GRUNDNIVÅ, 15 HP STOCKHOLM, SVERIGE 2016 Effekten av varierande datamängd vid filmbetygsprediktion En studie med en egenkonstruerad rekommendationsalgoritm ERIK LINDBOM ADAM PIELBUSCH KTH SKOLAN FÖR DATAVETENSKAP OCH KOMMUNIKATION

2

3 Effekten av varierande datamängd vid filmbetygsprediktion En studie med en egenkonstruerad rekommendationsalgoritm ERIK LINDBOM ADAM PIELBUSCH DD143X Examensarbete inom datalogi, grundnivå Handledare: Jens Lagergren Examinator: Örjan Ekeberg CSC, KTH

4

5 Referat Behovet av att kunna förutspå användares preferenser ökar i samhället. Då konsumtion i digitala butiker ökar är det viktigt för butikerna att kunna generera så träffsäkra produktrekommendationer som möjligt för att på så sätt kunna öka sin försäljning. Denna rapport tar upp frågan om hur träffsäkerheten förändras med olika mängd data. En egen algoritm som lånar teorier från både kollaborativ- och innehållsbaserad filtrering konstrueras. Algoritmen testades med en mängd olika testset hämtade från MovieLens. Testseten varierade i storlek från upp till betyg. Resultatet visar att vid väldigt lite data uppnås bästa prediktionen. Träffsäkerhetens förändring är relativt liten.

6 Abstract The effect of varying the amount of data in movie rating prediction The need to predict what users will like increase more and more in society. As we consume more in digital stores, the importance for these stores to deliver as accurate product recommendations as possible increase. This report addresses the question of how the accuracy change with different amount of data. An algorithm that borrows theories from both collaborative- and content-based filtering is constructed. The algorithm was tested with a variety of test sets retrieved from MovieLens. The test sets are ranged in size from up to ratings. The result shows that a very small amount of data makes the best predictions. However, the change in accuracy is relatively small.

7 Innehåll 1 Introduktion Syfte Frågeställning Bakgrund Kvadratisk medelvärdesavvikelse Netflix-tävlingen Kända algoritmer och tidigare forskning Kollaborativ filtrering Innehållsbaserad filtrering Hybrider Kallstart Metod Dataset från MovieLens Testdata Den aktuella algoritmen Resultat Mätningar med den konstruerade algoritmen Test av u1-u Test av u5-u Mätningar med filmens medelbetyg Diskussion Metodval Programmets prestanda och dataset Slutsats Litteraturförteckning 21

8

9 Kapitel 1 Introduktion Att med hög träffsäkerhet förutsäga specifika användares beteenden är något som har blivit allt viktigare på senare tid. Det beror på att vi konsumerar allt mer i digitala butiker. Då är det viktigt att dessa butiker kan generera träffsäkra produktrekommendationer, vilket görs med hjälp av rekommendationssystem som använder sig av historiska beteenden hos användaren. Det här är viktigt för företag som har som mål att sälja produkter på internet. Genom att snabbt ge besökaren bra produktrekommendationer kan försäljning och vinsten öka hos företaget. Under åren hade Netflix en tävling för att förbättra sin betygprediktionsalgoritm vilket är en form av rekommendationssystem. För dem handlar det om att kunna föreslå videomaterial som uppskattas av sina användare så att användare stannar och fortsätter att använda tjänsten. Denna tävling har bidragit till träffsäkrare rekommendationssystem [1]. 1.1 Syfte Syftet med rapporten är att jämföra hur träffsäkerheten påverkas med olika mängd data från MovieLens, en databas med information om användare och filmer. En egenkonstruerad algoritm som bygger på teorier från redan kända rekommendationsalgoritmer har konstruerats. Träffsäkerheten beräknas med RMSE (root mean sqaure error, se avsnitt 2.3). Betygen fördelas på en skala mellan 1 och 5 och tanken är att förutsäga vilket betyg en användare kommer att ge en film baserat på de betyg användaren har gett till andra filmer. För alla dataset gäller att användarna har betygsatt minst 20 filmer. Resultatet är intressant för att avgöra hur pass stor datamängd som behövs för att kunna ge en träffsäker produktrekommendation till användare av olika internetbaserade tjänster. 1.2 Frågeställning Hur förändras RMSE-värdet hos den egenkonstruerade algoritmen, på MovieLens dataset, genom att variera mängden data? 1

10

11 Kapitel 2 Bakgrund Här presenteras olika metoder som är vanliga inom betygsprediktion. Stycket går igenom förklaringar av vad rekommendationssystem är samt hur Netflix-tävlingen bidragit till bättre prediktionsalgoritmer. Här presenteras även de vanligaste algoritmerna för att lösa rekommendationsproblemet. 2.1 Kvadratisk medelvärdesavvikelse Kvadratisk medelvärdesavvikelse (eng. Root mean square error, RMSE) är ett mått på hur stor medelavvikelsen eller spridningen av de faktiska värdena och de förutspådda värdena är. RMSE-värdet räknas lättast ut genom att först kvadrera residualerna, summera dem, dividera summan med det totala antalet värden och därefter beräknas kvadratroten av kvoten enligt figur 2.1 [2]. n (y i ŷ i ) 2 i=1 RMSE = n Figur 2.1. Där y i är det förutspådda värdet, ŷ i är värdet från den i:te observationen och n är det totala antalet värden [2]. 2.2 Netflix-tävlingen Netflix publicerade en tävling i oktober år Tävlingen gick ut på att skapa en prediktionsalgoritm som var minst 10% bättre än deras befintliga algoritm. Netflix använde år 2006 en algoritm som kallades för CineMatch och hade ett RMSE-värde på 0.95, vilket betyder att ett betyg i snitt skiftar med 1 helt betygssteg. Hade medelbetyget av en användares alla betygsatta filmer tagits och sedan medelbetyget av alla användare för en specifik film, så hade algoritmen endast varit 3% sämre än CineMatch. Många försök gjordes, men till slut korades vinnaren år Vinnaren 3

12 KAPITEL 2. BAKGRUND hade lyckats skapa en algoritm med ett RMSE-värde på 0.85, vilket var den mest träffsäkra prediktionsalgoritmen år 2009 [1]. 2.3 Kända algoritmer och tidigare forskning Det finns idag en mängd olika webbapplikationer som använder sig av system för att försöka gissa hur deras användare kommer att ställa sig till vissa alternativ. Det är denna process som kräver ett så kallat rekommendationssystem. Sedan Netflix publicerade sin tävling år 2006 så har en hel del forskning och framsteg gjorts inom ämnet, där en del nya algoritmer har framkommit och där en del andra har fått sig vissa förbättringar med tiden. Nedan presenteras de mest använda algoritmerna för att lösa rekommendationsproblemet [1] Kollaborativ filtrering Kollaborativ filtrering är en metod där en mängd användares feedback samlas in i form utav olika betyg, för att sedan studera likheterna mellan dessa användare och jämföra hur de har betygsatt de olika föremålen. Därifrån kan det räknas ut hur en ny användare troligtvis skulle betygsätta ett föremål baserat på vad tidigare användare gjort. Kollaborativ filtrering kan delas in i två olika metoder: omgivningsbaserat, även kallad minnesbaserat tillvägagångssätt, eller modellbaserat tillvägagångssätt [3]. I det omgivningsbaserade tillvägagångssättet väljs en liten grupp användare ut som gjort liknande val som den användare betyget ska förutsägas för. Sedan används en algoritm som förutser betygsrankingen genom att vikta övriga användarnas kombinationer av betygssättning. Om ett stort antal användare och föremål används, så klarar inte ett vanligt omgivningsbaserat tillvägagångssätt att hantera komplexiteten som uppstår vid sökning efter den mindre gruppen användare som används till att förutspå en användares val. Då kan föremål-till-föremål-baserad kollaborativ filtrering användas. Istället för att matcha en användare med liknande användare, så försöker algoritmen att matcha en användares betygsatta föremål till ett liknande föremål [3]. Det modellbaserade tillvägagångssättet går ut på att modeller så som maskininlärnings- eller datautvinningsalgoritmer först utvecklas. Sedan används testdata för att lära modellen att hitta komplexa mönster och därigenom göra en intelligent och träffsäker prediktion [4]. Singulärvärdesuppdelning Singulärvärdesuppdelning (eng. Singular Value Decomposition, SVD) är en matrisfaktoriseringsmetod som gör det möjligt att representera en matris väldigt exakt genom att dela upp den i tre enklare matriser. Vid full rang på matrisen så kan den exakta matrisen återges. Vid lägre ordning så återges en ungefärlig matris från de rader och kolumners faktorer som finns. 4

13 2.3. KÄNDA ALGORITMER OCH TIDIGARE FORSKNING Figur 2.2. Visar en singulärvärdesuppdelning av en matris M. När matrisen M delas upp enligt figur 2.2, vilket är en m n matris med rangen r, erhålls matriserna U och V. Där U är en m r kolumn-ortogonal-normaliserad matris, och V är en n r kolumn-ortogonal-normaliserad matris, där V även är en diagonal matris. I U finns singulärvärdena till M i diagonalen [1]. I Netflix-tävlingen var det en algoritm som byggde på SVD:s principer som visade sig vara den mest träffsäkra lösningen och således blev det vinnande bidraget. Denna algoritm är även den bästa för det dataset som den här rapporten baseras på [5] Innehållsbaserad filtrering I den här metoden läggs fokus på föremålets egenskaper. Hur lika två föremål är baseras på hur många egenskaper som liknar varandra. Vid en jämförelse av exempelvis två filmer så används då egenskaper som skådespelare, regissör, år som filmen gavs ut och genre. För att sedan kunna jämföra två föremål, så görs först en vektor som fylls med nollor och ettor; etta om egenskapen förekommer, annars noll. Detta kräver dock att egenskapen är av boolesk typ. Vid numeriska värden går det inte skapa en komponent i vektorn för alla möjliga värden (tänk betygssnitt som kan innehålla flera decimaler), då används i stället det rena värdet. När det finns vektorer som beskriver föremålen, behövs vektorer som beskriver användarna. När dessa vektorer slås ihop bildas en matris som kan användas för att ta fram prediktioner [1] Hybrider För att kunna använda styrkorna i både kollaborativ- och innehållsbaserad-filtrering så finns hybrider av dessa. En enkel metod skulle vara att filtrera fram en lista för den kollaborativa och en för den innehållsbaserade för att sedan kombinera dessa två listor till ett slutligt resultat [3]. Men det finns oändligt med olika varianter på hybrider där det används delar av båda metoderna för att komma fram till ett så träffsäkert resultat som möjligt. 5

14 KAPITEL 2. BAKGRUND 2.4 Kallstart Ett vanligt problem för rekommendationssystem är ett fenomen som kallas kallstart (eng. cold start). Det träder i kraft när en ny användare eller produkt kommer in i systemet. En ny användare som inte har betygsatt någon film försvårar prediktionen då det inte finns någon personlig historik att använda. Ett system som använder sig av demografisk data om användarna kan fortfarande använda detta för att kunna förbättra resultatet. För en ny produkt är det i början relativt få som har betygsatt produkten, och därför kan medelbetyget vara missvisande [6]. 6

15 Kapitel 3 Metod Det här avsnittet tar upp de metoder som använts för att kunna generera de resultat som presenteras i nästa kapitel. 3.1 Dataset från MovieLens I rapporten används ett dataset som innehåller betyg från 943 användare på totalt 1682 olika filmer. Datan samlades in under en 7-månadersperiod från september 1997 till april 1998 via MovieLens webbsida [7]. Varje användare har betygsatt minst 20 filmer. De uppgifter som finns att tillgå om användarna är kön, ålder, sysselsättning och postkod. I rapporten används alla dessa uppgifter förutom sysselsättning och postkod. De uppgifter som finns att tillgå om filmerna är titel, släppdatum, IMDb URL samt 19 fält för de olika genrer som filmen kan ha. En film kan ha flera olika genrer, och då markeras detta med en 1:a i fältet för respektive genre den har. I rapporten används ej IMDb URL och genre. Alla uppgifter som användes i rapporten lades in i en databas för att enkelt kunna komma åt datan. 3.2 Testdata Testen gjordes med färdig testdata som delats upp i fem disjunkta delmängder, vardera mängd bestod av betyg. Dessa var namngivna u1.test upp till u5.test och kommer i rapporten att refereras som testset. Det första testet kördes enbart med u1.test. Det andra testet kördes med unionen av u1.test och u2.test. Denna process upprepades till det fanns en union av alla fem testseten innehållande alla betyg. Noterbart är att dessa testset var för sig inte innehåller alla användare, och att antalet filmer som användarna har betygsatt inte har någon undre gräns. Ytterligare ett test gjordes där testseten lades ihop åt andra hållet för att se om ordningen av unionerna hade någon påverkan. Först testades enbart u5.test. Därefter testades unionen av u5.test och u4.test. Denna process upprepades likt testet ovan. Slutligen gjordes ett test där den konstruerade algoritmen inte användes 7

16 KAPITEL 3. METOD utan där prediktionen enbart var filmens avrundade medelbetyg. Detta gjordes för att erhålla ett referensvärde att jämföra den egenkonstruerade algoritmen med. 3.3 Den aktuella algoritmen Algoritmen som skapades har två in-parametrar: användare X och film Y. Det som resulteras är en prediktion för vilket betyg användare X kommer att ge filmen Y. För att göra detta togs tre olika faktorer i åtanke: medelbetyget på filmen Y ( ˆM Y ), snittavvikelsen för användare X (ÛX) och snittbetyget för filmen Y av användare som klassas som liknande till användare X (ŜX,Y ). Medelbetyget för filmen Y räknades ut redan vid skapandet av databasen och är utgångspunkten i algoritmen. Användning av medelbetyget kommer från den innehållsbaserade filtreringens teorier. Û X (se figur 3.1 och 3.2) är ett flyttal mellan 0 och 4 vilket är ett mått på hur långt ifrån filmens medelbetyg användaren har varit på de tidigare filmerna användaren har betygsatt. Detta är ett mått som förändras efter varje film som användaren har betygsatt. Algoritmen tar hänsyn till om användaren gett ett betyg som är över eller under ˆM Y. Användaren har därmed två olika snittavvikelser. Den positiva snittavvikelsen ÛXpos (figur 3.1) används till filmer där ŜX,Y ˆM Y. Annars används den negativa snittavvikelsen ÛXneg (figur 3.2). Positiv snittavvikelse, ÛXpos = n ˆM Y r Y Figur 3.1. Visar snittavvikelsen ÛXpos, där ry är det faktiska betyget användaren gav film Y och n + är antalet filmer som användare har betygsatt med ett högre betyg än filmens medelbetyg. Y =1 n + Negativ snittavvikelse, ÛXneg = n ˆM Y r Y Figur 3.2. Visar snittavvikelsen ÛXneg, där ry är det faktiska betyget användaren gav film Y och n är antalet filmer som användare har betygsatt med ett lägre betyg än filmens medelbetyg. Y =1 n Ŝ X,Y beräknas från en lista med de användare som klassas som liknande till användaren. Användare med samma kön och i samma åldersgrupp kommer väljas att vara med i denna lista. Åldersgruppen är ett intervall som är +/- 5 från åldern på användare X. Specialfall har gjorts för personer som är över 60 samt för personer som är under 18. Detta görs för att det är väldigt få personer som ingår i dessa grupper, vilket gör att sannolikheten är stor att inte tillräckligt många liknande användare kommer att hittas. Minst fyra användare måste därför ingå i denna grupp för att minimera risken att ge felaktiga prediktioner. Hittas inte minst fyra liknande användare kommer ŜX,Y att tilldelas samma värde som ˆM Y. Användning av liknande användare kommer från den kollaborativa filtreringens teorier. Då 8

17 3.3. DEN AKTUELLA ALGORITMEN algoritmen använder sig av delar från både kollaborativ filtrering och innehållsbaserad filtrering så klassas algoritmen som en hybrid. Nedan visas hur beräkning av betygsprediktionen går till. ˆM Y +ŜX,Y Betygsprediktion = 2 + ÛXpos om ŜX,Y ˆM Y ˆM Y +ŜX,Y 2 ÛXneg om ŜX,Y < ˆM Y Figur 3.3. Såhär tas den slutgiltiga prediktionen fram. Prediktionen avrundas till närmaste heltal. Då det finns en liten chans att närmaste heltal skulle vara mindre än 1 eller större än 5 görs ett sista test som kollar detta. Den avrundade prediktionen jämförs sedan med användarens faktiska betyg på filmen. Det är den eventuella differensen mellan dessa som sedan används för att beräkna RMSE-värdet. Om den avrundade prediktionen överensstämmer med användarens faktiska betyg räknas detta som en korrekt prediktion. 9

18

19 Kapitel 4 Resultat Här presenteras resultaten för de olika prediktionerna, med olika mängd data. Resultaten är baserade på upp till betyg på filmer som de olika användarna har betygsatt. 4.1 Mätningar med den konstruerade algoritmen Nedan presenteras tester med respektive testset var för sig. Vid mätning av RMSEvärdet för alla testset med betyg erhålls det bästa värdet med testset u3 och det sämsta RMSE-värdet erhålls med testset u1. Figur 4.1. RMSE-värdet från prediktioner med respektive testset bestående av betyg. 11

20 KAPITEL 4. RESULTAT Dataset Antal betyg RMSE Korrekta pred. Korrekta pred. (%) u u u u u Tabell 4.1. RMSE-värdet och antalet korrekta prediktioner hos de olika testseten vid körning av den konstruerade algoritmen Test av u1-u5 I detta avsnitt presenteras en mängd tester där testseten går från u1 till och med u5. Antalet korrekta prediktioner ökar näst intill linjärt med antalet betyg. Bäst antal korrekta prediktioner erhålls vid betyg, där även det bästa RMSE-värdet erhålls. Det sämsta antalet korrekta prediktioner erhålls vid betyg medan det sämsta RMSE-värdet erhålls vid betyg. Figur 4.2. Antalet korrekta betygsprediktioner med olika antal betyg. Dataset Antal betyg RMSE Korrekta pred. Korrekta pred. (%) u u1-u u1-u u1-u u1-u Tabell 4.2. RMSE-värdet från prediktioner med olika antal betyg. 12

21 4.1. MÄTNINGAR MED DEN KONSTRUERADE ALGORITMEN Figur 4.3. Antalet korrekta betygsprediktioner (i procent) med olika antal betyg. Figur 4.4. RMSE-värdet från prediktioner med olika antal betyg Test av u5-u1 I detta avsnitt presenteras en mängd tester där testseten går från u5 till och med u1. RMSE-värdet ökar fram till och med betyg där det sämsta värdet erhålls, därefter förbättras värdet en aning. Likt testet ovan (figur 4.4) erhålls det bästa RMSE-värdet vid betyg medan det sämsta nu erhålls vid betyg, till skillnad från betyg i testet ovan (tabell 4.2). I detta avsnitt är alla test bättre än motsvarande test från föregående avsnitt. 13

22 KAPITEL 4. RESULTAT Figur 4.5. Antalet korrekta betygsprediktioner (i procent) med olika antal betyg. Figur 4.6. RMSE-värdet från prediktioner med olika antal betyg. Dataset Antal betyg RMSE Korrekta pred. Korrekta pred. (%) u u5-u u5-u u5-u u5-u Tabell 4.3. RMSE-värdet och antalet korrekta prediktioner vid olika antal betyg. 14

23 4.2. MÄTNINGAR MED FILMENS MEDELBETYG 4.2 Mätningar med filmens medelbetyg Nedan presenteras de resultat som erhålls om enbart filmens avrundade medelbetyg används som prediktion. Det går att se att både RMSE-värdet och antal korrekta prediktioner är bättre med de avrundade medelbetygen som prediktion än hos den konstruerade algoritmen (tabell 4.1 och 4.4). Förändringen av RMSE-värdet är väldigt lågt sett över de fem testseten. Unionen av alla fem testseten erhåller ett sämre RMSE-värde än testseten var för sig. Dataset Antal betyg RMSE Korrekta pred. Korrekta pred. (%) u u u u u u1-u Tabell 4.4. Antalet korrekta prediktioner med respektive testset och RMSE-värdet när enbart filmens avrundade medelbetyg används. 15

24

25 Kapitel 5 Diskussion I följande avsnitt diskuteras resultatet, samt möjliga orsaker till hur och varför det blev som det blev. Möjliga förbättringar av algoritmen tas även upp. 5.1 Metodval Algoritmen som konstruerades är baserad på tidigare kända algoritmer och hämtar delar från både den kollaborativa- och den innehållsbaserade filtreringens teorier. Att använda sig av filmens medelbetyg, medelbetyget hos liknande användare samt användarens snittavvikelse visade sig ge ett sämre RMSE-värde än att bara använda filmens medelbetyg för att utföra prediktionen (se tabellerna 4.2, 4.3 och 4.4). Vetskapen om att RMSE-värdet för datasetet är strax över 1 om enbart filmens avrundade medelbetyg utgör prediktionen (tabell 4.4), gjorde att valet av metod gick till att konstruera en egen algoritm. Ett RMSE-värde på 1 betyder att det i snitt är 1 betygssteg fel på alla prediktioner. Därifrån är det önskvärt att i snitt gå ett steg åt rätt håll för att erhålla en så bra prediktion som möjligt. Därför var filmens medelbetyg den konstruerade algoritmens utgångspunkt. Det hade varit möjligt att gruppera in användarna i fler grupper, till exempel yrke och postnummer. Detta skulle kunna ge en mer korrekt prediktion men risken är även att resultatet blir sämre. Eftersom det endast finns 943 stycken användare i datasetet skulle det kunna leda till att det bara finns ett fåtal användare i varje grupp, något som eventuellt kan försämra resultatet. Datan som fanns att tillgå till filmerna saknade egenskaper som regissör och skådespelare. Därför skulle det ha varit svårt att göra algoritmen helt utifrån den innehållsbaserade filtreringens teorier. Det går även att argumentera för att användning av genre skulle vara något negativt. Genre är ett rätt vagt begrepp och om en film är klassad som till exempel en komedi så innebär inte det att den kommer att vara rolig. En framtida eventuell förbättring till algoritmen skulle vara att spara användarens X senaste filmbetyg i en lista, och sedan leta upp användare som gav exakt eller väldigt lika betyg till dessa filmer. Utifrån dessa användare kan sedan ett snittbetyg 17

26 KAPITEL 5. DISKUSSION tas fram på nästa film som ska betygsättas. Det skulle även vara möjligt att använda sig av matrisfaktorisering i framtiden, för att på så sätt kunna återskapa SVD-algoritmen (figur 2.2) vilket är bevisat att vara en bra metod genom bland annat Netflixtävlingen. Dessa utökningar skulle kunna ge ett mer precist resultat. 5.2 Programmets prestanda och dataset Resultatet kan anses svårtolkat då det vid mindre datamängd visar sig vara bättre än med stor datamängd. Andelen korrekta prediktioner minskar med ökad datamängd. Förändringen av antalet prediktioner som den misslyckas med visar sig avta i hastighet och i slutändan kan antalet korrekta prediktioner tänkas konvergera mot 34% (figur 4.3 och 4.5). RMSE-värdet är inte helt beroende av hur många korrekta prediktioner som gjordes. Utan det beror på hur många betygssteg fel som prediktionen resulterade i. Det betyder att vid många korrekta prediktioner, och att de som är fel, ligger många betygssteg från det faktiska betyget så visar RMSE-värdet på ett dåligt resultat. Om antalet korrekta prediktioner är få och de som är fel ligger väldigt nära de korrekta betygen, resulterar det i ett litet antal korrekta betyg men ett bättre RMSE-värde, vilket kan vara missvisande i längden. Detta visar att det inte går att enbart betrakta det ena måttet för att kalla algoritmen för framgångsrik utan båda måtten bör tas med i beräkningarna. Att avgöra hur pass bra den egenkonstruerade algoritmens RMSE-värde egentligen är kan anses svårt då resultatet skulle kunna bli bättre med mer mängd data. I nuläget med betyg som mest, så sjunker RMSE-värdet efter ungefär hälften av betygsdatan, vilket skulle kunna förbättras ju mer data som finns att tillgå. Detta är inte något som går att säga klart, men ju mer betyg som finns att tillgå desto mindre kommer kallstarten att påverka, vilket kan resultera i bättre prediktioner. Kallstarten verkar ha en kraftig påverkan på den egenkonstruerade algoritmen då RMSE-värdet för testfallen u1-u5 (tabell 4.2) och u5-u1 (tabell 4.3) initialt försämras när mängden data ökar. Användarens snittavvikelse är det mått som den konstruerade algoritmen använder för att minska kallstartens påverkan. Det är först vid användning av hela testsetet på betyg som användarna är garanterade att ha betygsatt minst 20 filmer vardera. Detta betyder att de mindre testseten kan få en väldigt liten nytta av användarnas snittavvikelser. Som det ser ut nu så är trenden att efter resultatet stabiliserats, blir RMSE-värdet aningen bättre ju mer data som finns. Detta skulle kunna bero på att användarens snittavvikelse ökar i precision ju fler filmer användaren har betygsatt. 18

27 5.3. SLUTSATS 5.3 Slutsats Hur förändras RMSE-värdet hos den egenkonstruerade algoritmen, på MovieLens dataset, genom att variera mängden data? Med den egenkonstruerade algoritmen så förändras RMSE-värdet väldigt lite när mängden data varieras. Skillnaden mellan högsta och lägsta RMSE-värdet är (tabell 4.2) respektive (tabell 4.3). Resultatet visar att testet som enbart hade betyg gav det bästa RMSE-värdet, medan testet med respektive betyg gav det sämsta RMSE-värdena. Algoritmen visar således att ordningen som datan i testseten arrangeras i, har påverkan på hur resultatet av RMSE-värdena blir. Generellt sett försämras RMSE-värdet hos den egenkonstruerade algoritmen med ökad datamängd. 19

28

29 Litteraturförteckning [1] Anand Rajaraman, Jeffrey D Ullman, Jeffrey David Ullman, and Jeffrey David Ullman. Mining of massive datasets, volume 1. Cambridge University Press Cambridge, [2] Susan Holmes. Rms error. s60/split/node60.html, Hämtad: [3] Prem Melville and Vikas Sindhwani. Recommender systems. In Encyclopedia of machine learning, pages Springer, [4] Xiaoyuan Su and Taghi M Khoshgoftaar. A survey of collaborative filtering techniques. Advances in artificial intelligence, 2009:4, [5] Librec examples on real data sets. Hämtad: [6] Al Mamunur Rashid, George Karypis, and John Riedl. Learning preferences of new users in recommender systems: an information theoretic approach. ACM SIGKDD Explorations Newsletter, 10(2):90 100, [7] Grouplens. movielens Hämtad:

30

SÅ BLIR DIN NETFLIX- UPPLEVELSE BÄTTRE. En litteraturstudie om Netflixs rekommendationssystem

SÅ BLIR DIN NETFLIX- UPPLEVELSE BÄTTRE. En litteraturstudie om Netflixs rekommendationssystem SÅ BLIR DIN NETFLIX- UPPLEVELSE BÄTTRE En litteraturstudie om Netflixs rekommendationssystem Sammanfattning Studien fokuserar på Latent Factor Model som var ett stort genomslag under Netflix Prize tävlingen

Läs mer

Rekommendationer på nätet

Rekommendationer på nätet Linköpings universitet Rekommendationer på nätet Kollaborativa rekommendationssystem Cornelia Böhm 2017-01-12 Abstrakt Rekommendationssystem är algoritmer som används för att filtrera ut de produkter som

Läs mer

Rekommendationssystem. med fördjupning på collaborative filtering

Rekommendationssystem. med fördjupning på collaborative filtering Rekommendationssystem med fördjupning på collaborative filtering, majsc331 870325-1929 729G11 Artificiell Intelligens II Linköpings Universitet HT 2009 Innehållsförteckning Inledning... 1 Bakgrund...

Läs mer

Rekommendationssystem med begränsad data

Rekommendationssystem med begränsad data EXAMENSARBETE INOM TEKNIK, GRUNDNIVÅ, 15 HP STOCKHOLM, SVERIGE 2016 Rekommendationssystem med begränsad data Påverkan av gles data och cold start på rekommendationsalgoritmen Slope One ANNA-KARIN EVERT

Läs mer

En praktisk implementation av ett rekommendationssystem

En praktisk implementation av ett rekommendationssystem Konsten att välja En praktisk implementation av ett rekommendationssystem Projektarbete Artificiell intelligens Patricia Lindblad 729G43 729G43 patli010!1 1. Introduktion 3 1.1. Vad är ett rekommendationssystem?

Läs mer

TiVo ett rekommendationssystem. TiVo ett rekommendationssystem

TiVo ett rekommendationssystem. TiVo ett rekommendationssystem Sammanfattning I dagens informationssamhälle kan det ibland vara svårt att sortera ut relevant information från mängden. Vi får då förlita oss till rekommendationer och omdömen från andra i allt från vilken

Läs mer

Colloborative filtering ett rekommendationssystem

Colloborative filtering ett rekommendationssystem Colloborative filtering ett rekommendationssystem 1 Innehållsförteckning 2 1. Inledning Dagens samhälle är idag uppbyggt till stor del av internet. Vi kan i princip sköta det mesta av våra liv via nätet.

Läs mer

LINKÖPINGS UNIVERSITET. Rekommendationssystem

LINKÖPINGS UNIVERSITET. Rekommendationssystem LINKÖPINGS UNIVERSITET Rekommendationssystem, julho969 900728-5969 729G11 Artificiell Intelligens II Linköpings universitet HT 2010 Innehållsförteckning Introduktion Vad är ett rekommendationssystem?...

Läs mer

Personifierad Netflix

Personifierad Netflix Linköpings universitet Personifierad Netflix Lisa Rönnqvist 2016-08-24 Sammanfattning INNEHÅLLSFÖRTECKNING 1. Inledning... 1 1.1 Bakgrund... 1 1.2 Syfte... 2 2. Netflix... Fel! Bokmärket är inte definierat.

Läs mer

Ökat personligt engagemang En studie om coachande förhållningssätt

Ökat personligt engagemang En studie om coachande förhållningssätt Lärarutbildningen Fakulteten för lärande och samhälle Individ och samhälle Uppsats 7,5 högskolepoäng Ökat personligt engagemang En studie om coachande förhållningssätt Increased personal involvement A

Läs mer

Institutionen för datavetenskap Department of Computer and Information Science

Institutionen för datavetenskap Department of Computer and Information Science Institutionen för datavetenskap Department of Computer and Information Science Examensarbete Smarta receptförslag algoritmutvärdering och implementationsförslag av Bernhard Hahn LIU-IDA/LITH-EX-G--12/032--SE

Läs mer

Inlämningsuppgift : Finn. 2D1418 Språkteknologi. Christoffer Sabel E-post: csabel@kth.se 1

Inlämningsuppgift : Finn. 2D1418 Språkteknologi. Christoffer Sabel E-post: csabel@kth.se 1 Inlämningsuppgift : Finn 2D1418 Språkteknologi Christoffer Sabel E-post: csabel@kth.se 1 1. Inledning...3 2. Teori...3 2.1 Termdokumentmatrisen...3 2.2 Finn...4 3. Implementation...4 3.1 Databasen...4

Läs mer

Kapitel 4: SAMBANDET MELLAN VARIABLER: REGRESSIONSLINJEN

Kapitel 4: SAMBANDET MELLAN VARIABLER: REGRESSIONSLINJEN Kapitel 4: SAMBANDET MELLAN VARIABLER: REGRESSIONSLINJEN Spridningsdiagrammen nedan representerar samma korrelationskoefficient, r = 0,8. 80 80 60 60 40 40 20 20 0 0 20 40 0 0 20 40 Det finns dock två

Läs mer

Lågrangsapproximation exempel. Singulärvärden och tillämpningar

Lågrangsapproximation exempel. Singulärvärden och tillämpningar och tillämpningar och tillämpningar A m n - matris B = A t A n n - matris B t = (A t A) t = A t (A t ) t = A t A = B B symmetrisk Spektralsatsen finns ON-bas v,..., v n för R n av egenvektorer till B.

Läs mer

Regression med Genetiska Algoritmer

Regression med Genetiska Algoritmer Regression med Genetiska Algoritmer Projektarbete, Artificiell intelligens, 729G43 Jimmy Eriksson, jimer336 770529-5991 2014 Inledning Hur många kramar finns det i världen givet? Att kunna estimera givet

Läs mer

732G71 Statistik B. Föreläsning 8. Bertil Wegmann. IDA, Linköpings universitet. Bertil Wegmann (IDA, LiU) 732G71, Statistik B 1 / 23

732G71 Statistik B. Föreläsning 8. Bertil Wegmann. IDA, Linköpings universitet. Bertil Wegmann (IDA, LiU) 732G71, Statistik B 1 / 23 732G71 Statistik B Föreläsning 8 Bertil Wegmann IDA, Linköpings universitet Bertil Wegmann (IDA, LiU) 732G71, Statistik B 1 / 23 Klassisk komponentuppdelning Klassisk komponentuppdelning bygger på en intuitiv

Läs mer

Rekommendationssystem för livestreamingtjänster

Rekommendationssystem för livestreamingtjänster EXAMENSARBETE INOM DATATEKNIK, GRUNDNIVÅ, 15 HP STOCKHOLM, SVERIGE 2016 Rekommendationssystem för livestreamingtjänster HENRIK SUNMARK KTH SKOLAN FÖR INFORMATIONS- OCH KOMMUNIKATIONSTEKNIK Handledare:

Läs mer

5.7. Ortogonaliseringsmetoder

5.7. Ortogonaliseringsmetoder 5.7. Ortogonaliseringsmetoder Om man har problem med systemets kondition (vilket ofta är fallet), lönar det sig att undvika normalekvationerna vid lösning av minsta kvadratproblemet. En härtill lämplig

Läs mer

TMV166 Linjär Algebra för M. Tentamen

TMV166 Linjär Algebra för M. Tentamen MATEMATISKA VETENSKAPER TMV66 6 Chalmers tekniska högskola 6 8 kl 8:3 :3 (SB Multisal) Examinator: Tony Stillfjord Hjälpmedel: ordlistan från kurshemsidan, ej räknedosa Telefonvakt: Olof Giselsson, ankn

Läs mer

FÖRELÄSNING 3:

FÖRELÄSNING 3: FÖRELÄSNING 3: 26-4-3 LÄRANDEMÅL Fördelningsfunktion Empirisk fördelningsfunktion Likformig fördelning Bernoullifördelning Binomialfördelning Varför alla dessa fördelningar? Samla in data Sammanställ data

Läs mer

2 Matrisfaktorisering och lösning till ekvationssystem

2 Matrisfaktorisering och lösning till ekvationssystem TANA21+22/ 5 juli 2016 LAB 2. LINJÄR ALGEBRA 1 Inledning Lösning av ett linjärt ekvationssystem Ax = b förekommer ofta inom tekniska beräkningar. I laborationen studeras Gauss-elimination med eller utan

Läs mer

Hemuppgift 1, SF1861 Optimeringslära, VT 2017

Hemuppgift 1, SF1861 Optimeringslära, VT 2017 Hemuppgift 1, SF1861 Optimeringslära, VT 2017 Examinator: Krister Svanberg, tel: 790 7137, krille@math.kth.se. Labassistent: David Ek, daviek@kth.se, Lämnas i Matematiks svarta postlåda (SF) för inlämningsuppgifter,

Läs mer

VILKET REKOMMENDATIONSSYTEM SKA EN INTERAKTIV MEDIETJÄNST VÄLJA?

VILKET REKOMMENDATIONSSYTEM SKA EN INTERAKTIV MEDIETJÄNST VÄLJA? VILKET REKOMMENDATIONSSYTEM SKA EN INTERAKTIV MEDIETJÄNST VÄLJA? Med Spotify som praktiskt fall.se 12 januari 2017 729G43 Kognitionsvetenskapliga programmet, LiU. Sammanfattning Rekommendationssystem är

Läs mer

Föreläsning 12: Regression

Föreläsning 12: Regression Föreläsning 12: Regression Matematisk statistik David Bolin Chalmers University of Technology Maj 15, 2014 Binomialfördelningen Låt X Bin(n, p). Vi observerar x och vill ha information om p. p = x/n är

Läs mer

Block 2 Algebra och Diskret Matematik A. Följder, strängar och tal. Referenser. Inledning. 1. Följder

Block 2 Algebra och Diskret Matematik A. Följder, strängar och tal. Referenser. Inledning. 1. Följder Block 2 Algebra och Diskret Matematik A BLOCK INNEHÅLL Referenser Inledning 1. Följder 2. Rekursiva definitioner 3. Sigmanotation för summor 4. Strängar 5. Tal 6. Övningsuppgifter Referenser Följder, strängar

Läs mer

Introduktion Schenker-BTL AB, Stab IT Beskrivning över informationsintegreringmed Schenker, metodbeskrivning version 1.

Introduktion Schenker-BTL AB, Stab IT Beskrivning över informationsintegreringmed Schenker, metodbeskrivning version 1. Schenker har interna system som handhar information som är av intresse för våra kunder/partners. Idag finns ett flertal av dem tillgängliga via Internet, sk Online-tjänster. Dessa erbjuder inte bara hämtning

Läs mer

Bildbehandling i frekvensdomänen

Bildbehandling i frekvensdomänen Uppsala Tekniska Högskola Signaler och system Handledare: Mathias Johansson Uppsala 2002-11-27 Bildbehandling i frekvensdomänen Erika Lundberg 800417-1602 Johan Peterson 790807-1611 Terese Persson 800613-0267

Läs mer

MMA132: Laboration 2 Matriser i MATLAB

MMA132: Laboration 2 Matriser i MATLAB MMA132: Laboration 2 Matriser i MATLAB Introduktion I den här labben skall vi lära oss hur man använder matriser och vektorer i MATLAB. Det är rekommerad att du ser till att ha laborationshandledningen

Läs mer

Hemuppgifter till fredagen den 16 september Exercises to Friday, September 16

Hemuppgifter till fredagen den 16 september Exercises to Friday, September 16 Introduction to Semigroups Hemuppgifter till fredagen den 16 september Exercises to Friday, September 16 Övningsuppgifterna lämnas in senast onsdagen 14.9. till David Stenlund, per e-post den 16 september.

Läs mer

Bisektionsalgoritmen. Kapitel Kvadratroten ur 2

Bisektionsalgoritmen. Kapitel Kvadratroten ur 2 Kapitel 4 Bisektionsalgoritmen Vi ska konstruera lösningar till algebraiska ekvationer av formen f(x) = 0 med hjälp av bisektionsalgoritmen (intervallhalveringsmetoden). På samma gång ska vi se hur man

Läs mer

Regressions- och Tidsserieanalys - F8

Regressions- och Tidsserieanalys - F8 Regressions- och Tidsserieanalys - F8 Klassisk komponentuppdelning, kap 7.1.-7.2. Linda Wänström Linköpings universitet November 26 Wänström (Linköpings universitet) F8 November 26 1 / 23 Klassisk komponentuppdelning

Läs mer

Structured Query Language (SQL)

Structured Query Language (SQL) Structured Query Language (SQL) Christer Stuxberg christer.stuxberg@im.uu.se Institutionen för Informatik och Media Översikt Introduktion Enkla frågor (queries) Hämta en specifik kolumn Sök Sammanfattning

Läs mer

Basbyten och linjära avbildningar

Basbyten och linjära avbildningar Föreläsning 11, Linjär algebra IT VT2008 1 Basbyten och linjära avbildningar Innan vi fortsätter med egenvärden så ska vi titta på hur matrisen för en linjär avbildning beror på vilken bas vi använder.

Läs mer

Uppgift 1 ( Betyg 3 uppgift )

Uppgift 1 ( Betyg 3 uppgift ) 2009-12-16.kl.14-19 Uppgift 1 ( Betyg 3 uppgift ) Skriv funktionen create_diagonal som tar emot de två parametrarna R och N. R markerar hur många rader den resulterande matrisen skall få och N markerar

Läs mer

Tentamen i matematisk statistik

Tentamen i matematisk statistik Sid (7) i matematisk statistik Statistik och kvalitetsteknik 7,5 hp Tillåtna hjälpmedel: Miniräknare. Studenterna får behålla tentamensuppgifterna. Skrivtid: 4.00-7.00 ger maximalt 24 poäng. Betygsgränser:

Läs mer

Olika typer av variabler och skalor. 1. Nominalskala 2. Ordinalskala 3. Intervallskala 4. Kvotskala. Intervallskala. Nominalskala.

Olika typer av variabler och skalor. 1. Nominalskala 2. Ordinalskala 3. Intervallskala 4. Kvotskala. Intervallskala. Nominalskala. Olika typer av variabler och skalor Kvalitativ variabel -variabeln antar inte numeriska värden utan bara olika kategorier. vis olika bilmärken, eller man, kvinna. Kvantitativ variabel Antar numeriska värden

Läs mer

LAB 1. FELANALYS. 1 Inledning. 2 Flyttal. 1.1 Innehåll. 2.1 Avrundningsenheten, µ, och maskinepsilon, ε M

LAB 1. FELANALYS. 1 Inledning. 2 Flyttal. 1.1 Innehåll. 2.1 Avrundningsenheten, µ, och maskinepsilon, ε M TANA21+22/ 5 juli 2016 LAB 1. FELANALYS 1 Inledning I laborationerna används matrishanteringsprogrammet MATLAB. som genomgående använder dubbel precision vid beräkningarna. 1.1 Innehåll Du ska 1. bestämma

Läs mer

Datoraritmetik. Från labben. Från labben. Några exempel

Datoraritmetik. Från labben. Från labben. Några exempel Datoraritmetik Beräkningsvetenskap I Från labben Två huvudtyper av fel: diskretiseringsfel och avrundningsfel Olika sätt att mäta fel: relativt fel, absolut fel Begreppen ε M, Inf, NaN, overflow, underflow,

Läs mer

1 De fyra fundamentala underrummen till en matris

1 De fyra fundamentala underrummen till en matris Krister Svanberg, mars 2012 1 De fyra fundamentala underrummen till en matris 1.1 Definition av underrum En given delmängd M av IR n säges vara ett underrum i IR n om följande gäller: För varje v 1 M,

Läs mer

Matematisk modellering fortsättningskurs Visuell variation

Matematisk modellering fortsättningskurs Visuell variation Matematisk modellering fortsättningskurs Visuell variation Johan Hedberg, Fredrik Svensson, Frida Hansson, Samare Jarf 12 maj 2011 1 1 Sammanfattning I denna rapport undersöker vi en modell för att beskriva

Läs mer

Laboration 2: Styrkefunktion samt Regression

Laboration 2: Styrkefunktion samt Regression Lunds Tekniska Högskola Matematikcentrum Matematisk statistik Laboration 2 Styrkefunktion & Regression FMSF70&MASB02, HT19 Laboration 2: Styrkefunktion samt Regression Syfte Styrkefunktion Syftet med dagens

Läs mer

Statistik B Regressions- och tidsserieanalys Föreläsning 1

Statistik B Regressions- och tidsserieanalys Föreläsning 1 Statistik B Regressions- och tidsserieanalys Föreläsning Kurskod: 732G7, 8 hp Lärare och examinator: Ann-Charlotte (Lotta) Hallberg Lärare och lektionsledare: Isak Hietala Labassistenter Kap 3,-3,6. Läs

Läs mer

Projekt i programmering 1 (ver 2)... 2 Projektidé... 2 Planering... 2 Genomförande... 2 Testning och buggar... 3 Utvärdering... 3 Planering...

Projekt i programmering 1 (ver 2)... 2 Projektidé... 2 Planering... 2 Genomförande... 2 Testning och buggar... 3 Utvärdering... 3 Planering... Projekt i programmering 1 (ver 2)... 2 Projektidé... 2 Planering... 2 Genomförande... 2 Testning och buggar... 3 Utvärdering... 3 Planering... 4 Bussen (projektförslag)... 5 Bakgrund... 5 Klassen Buss

Läs mer

Kursplan. AB1029 Introduktion till Professionell kommunikation - mer än bara samtal. 7,5 högskolepoäng, Grundnivå 1

Kursplan. AB1029 Introduktion till Professionell kommunikation - mer än bara samtal. 7,5 högskolepoäng, Grundnivå 1 Kursplan AB1029 Introduktion till Professionell kommunikation - mer än bara samtal 7,5 högskolepoäng, Grundnivå 1 Introduction to Professional Communication - more than just conversation 7.5 Higher Education

Läs mer

6.1 Skalärprodukt, norm och ortogonalitet. TMV141 Linjär algebra E VT 2011 Vecka 6. Lärmål 6.1. Skalärprodukt. Viktiga begrepp

6.1 Skalärprodukt, norm och ortogonalitet. TMV141 Linjär algebra E VT 2011 Vecka 6. Lärmål 6.1. Skalärprodukt. Viktiga begrepp 6.1 Skalärprodukt, norm och ortogonalitet TMV141 Linjär algebra E VT 2011 Vecka 6 Skalärprodukt Norm/längd Normerad vektor/enhetsvektor Avståndet mellan två vektorer Ortogonala vektorer Ortogonala komplementet

Läs mer

Introduktion till frågespråket SQL (v0.91)

Introduktion till frågespråket SQL (v0.91) DD1370: Databaser och Informationssystem Hösten 2014 Petter Ögren Introduktion till frågespråket SQL (v0.91) 13:e November Disclaimer: Dessa anteckningar har producerats under viss tidspress, och kan därför

Läs mer

Module 6: Integrals and applications

Module 6: Integrals and applications Department of Mathematics SF65 Calculus Year 5/6 Module 6: Integrals and applications Sections 6. and 6.5 and Chapter 7 in Calculus by Adams and Essex. Three lectures, two tutorials and one seminar. Important

Läs mer

Introduktion till algoritmer - Lektion 4 Matematikgymnasiet, Läsåret 2014-2015. Lektion 4

Introduktion till algoritmer - Lektion 4 Matematikgymnasiet, Läsåret 2014-2015. Lektion 4 Introduktion till algoritmer - Lektion 4 Matematikgymnasiet, Läsåret 014-015 Denna lektion ska vi studera rekursion. Lektion 4 Principen om induktion Principen om induktion är ett vanligt sätt att bevisa

Läs mer

Syns du, finns du? Examensarbete 15 hp kandidatnivå Medie- och kommunikationsvetenskap

Syns du, finns du? Examensarbete 15 hp kandidatnivå Medie- och kommunikationsvetenskap Examensarbete 15 hp kandidatnivå Medie- och kommunikationsvetenskap Syns du, finns du? - En studie över användningen av SEO, PPC och sociala medier som strategiska kommunikationsverktyg i svenska företag

Läs mer

reella tal x i, x + y = 2 2x + z = 3. Här har vi tre okända x, y och z, och vi ger dessa okända den naturliga

reella tal x i, x + y = 2 2x + z = 3. Här har vi tre okända x, y och z, och vi ger dessa okända den naturliga . Lösningsmängden till homogena ekvationssystem I denna första föreläsning börjar vi med att repetera det grunnläggande begreppet inom linjär algebran. Linjär algebra är studiet av lösningsmängden till

Läs mer

Handledare: Mikael Goldmann

Handledare: Mikael Goldmann 2012-02- 23 Jacob Rydh Robert Hedin Sudoku Solver Projektspecifikation Handledare: Mikael Goldmann Introduktion Vi ska studera och utforma olika algoritmer för att lösa Sudoku puzzel. Vi kommer testa olika

Läs mer

1 Duala problem vid linjär optimering

1 Duala problem vid linjär optimering Krister Svanberg, april 2012 1 Duala problem vid linjär optimering Detta kapitel handlar om två centrala teoretiska resultat för LP, nämligen dualitetssatsen och komplementaritetssatsen. Först måste vi

Läs mer

Att planera bort störningar

Att planera bort störningar ISRN-UTH-INGUTB-EX-B-2014/08-SE Examensarbete 15 hp Juni 2014 Att planera bort störningar Verktyg för smartare tidplanering inom grundläggning Louise Johansson ATT PLANERA BORT STÖRNINGAR Verktyg för smartare

Läs mer

Ansiktsigenkänning med MATLAB

Ansiktsigenkänning med MATLAB Ansiktsigenkänning med MATLAB Avancerad bildbehandling Christoffer Dahl, Johannes Dahlgren, Semone Kallin Clarke, Michaela Ulvhammar 12/2/2012 Sammanfattning Uppgiften som gavs var att skapa ett system

Läs mer

Patientutbildning om diabetes En systematisk litteraturstudie

Patientutbildning om diabetes En systematisk litteraturstudie Institutionen Hälsa och samhälle Sjuksköterskeprogrammet 120 p Vårdvetenskap C 51-60 p Ht 2005 Patientutbildning om diabetes En systematisk litteraturstudie Författare: Jenny Berglund Laila Janérs Handledare:

Läs mer

Laboration 3. Övningsuppgifter. Syfte: Syftet med den här laborationen är att träna på att analysera enkätundersökningar. MÄLARDALENS HÖGSKOLA

Laboration 3. Övningsuppgifter. Syfte: Syftet med den här laborationen är att träna på att analysera enkätundersökningar. MÄLARDALENS HÖGSKOLA MÄLARDALENS HÖGSKOLA Akademin för ekonomi, samhälle och teknik Statistik och kvantitativa undersökningar, A 15 p Höstterminen 2016 Laboration 3 Övningsuppgifter Baserade på datasetet energibolag.rdata

Läs mer

Datastrukturer. Erik Forslin. Rum 1445, plan 4 på Nada

Datastrukturer. Erik Forslin. Rum 1445, plan 4 på Nada Datastrukturer Vad är en datastruktur? Vad är en datatyp? Primitiva datatyper i Java Icke-primitiva datatyper i Java Minnesexempel med datastrukturer Vektorer i Java Erik Forslin efo@nada.kth.se Rum 1445,

Läs mer

Ladokkod: Studenter i lärarprogrammet GF 11GF20 vt17 tillfälle 1 och vt16 tillfälle 4

Ladokkod: Studenter i lärarprogrammet GF 11GF20 vt17 tillfälle 1 och vt16 tillfälle 4 11GF20 MaI Provmoment: Ladokkod: Tentamen ges för: Matematik 0,5 hp 15 högskolepoäng Studenter i lärarprogrammet GF 11GF20 vt17 tillfälle 1 och vt16 tillfälle 4 TentamensKod: Tentamensdatum: 17-05-12 Tid:

Läs mer

Föreläsning 2. Kap 3,7-3,8 4,1-4,6 5,2 5,3

Föreläsning 2. Kap 3,7-3,8 4,1-4,6 5,2 5,3 Föreläsning Kap 3,7-3,8 4,1-4,6 5, 5,3 1 Kap 3,7 och 3,8 Hur bra är modellen som vi har anpassat? Vi bedömer modellen med hjälp av ett antal kriterier: visuell bedömning, om möjligt F-test, signifikanstest

Läs mer

Tentamen i Beräkningsvetenskap I/KF, 5.0 hp,

Tentamen i Beräkningsvetenskap I/KF, 5.0 hp, Uppsala universitet Institutionen för informationsteknologi Teknisk databehandling Tentamen i Beräkningsvetenskap I/KF, 5. hp, 215-3-17 Skrivtid: 14 17 (OBS! Tre timmars skrivtid!) Hjälpmedel: Bifogat

Läs mer

Laboration 5: Regressionsanalys. 1 Förberedelseuppgifter. 2 Enkel linjär regression DATORLABORATION 5 MATEMATISK STATISTIK FÖR I, FMS 012, HT-08

Laboration 5: Regressionsanalys. 1 Förberedelseuppgifter. 2 Enkel linjär regression DATORLABORATION 5 MATEMATISK STATISTIK FÖR I, FMS 012, HT-08 LUNDS TEKNISKA HÖGSKOLA MATEMATIKCENTRUM MATEMATISK STATISTIK Laboration 5: Regressionsanalys DATORLABORATION 5 MATEMATISK STATISTIK FÖR I, FMS 012, HT-08 Syftet med den här laborationen är att du skall

Läs mer

Styrteknik: Binära tal, talsystem och koder D3:1

Styrteknik: Binära tal, talsystem och koder D3:1 Styrteknik: Binära tal, talsystem och koder D3:1 Digitala kursmoment D1 Boolesk algebra D2 Grundläggande logiska funktioner D3 Binära tal, talsystem och koder Styrteknik :Binära tal, talsystem och koder

Läs mer

kl Tentaupplägg

kl Tentaupplägg Tentaupplägg TIPS 1: Läs igenom ALLA uppgifterna. Välj den du känner är lättast först. Det kan gärna ta 10-20 minuter. Försök skriva saker som kan vara problem i uppgifterna. Är det något du absolut kommer

Läs mer

Migrering av applikationen AMM till molnet

Migrering av applikationen AMM till molnet Datavetenskap Opponenter: Erik Andersson och Marcus Larsson Respondenter: Anders Nguyen och Linus Svensson Migrering av applikationen AMM till molnet Oppositionsrapport, C-nivå 2010:06 1 Sammanfattat omdöme

Läs mer

Datorlaboration :: 1 Problembeskrivning ::

Datorlaboration :: 1 Problembeskrivning :: Datorlaboration :: Ett hyrbilsföretags problem Laborationen går ut på att lösa Labbuppgift 1 till 5. Laborationen redovisas individuellt genom att skicka laborationens Mathematicafil till Mikael Forsberg

Läs mer

Betygskriterier för examensarbete/självständigt arbete

Betygskriterier för examensarbete/självständigt arbete Fastställt av BIG: s institutionsstyrelse 2008-10-22 Betygskriterier för examensarbete/självständigt arbete 1. Bedömningsgrunder och innehåll Ett examensarbete eller självständigt arbete ska bedömas inom

Läs mer

Klustring av svenska tidningsartiklar

Klustring av svenska tidningsartiklar Klustring av svenska tidningsartiklar Magnus Rosell rosell@nada.kth.se http://www.nada.kth.se/ rosell/ Klustring Kategorisering eller klassificering att föra texter till på förhand bestämda kategorier

Läs mer

Material till kursen SF1679, Diskret matematik: Lite om kedjebråk. 0. Inledning

Material till kursen SF1679, Diskret matematik: Lite om kedjebråk. 0. Inledning Matematik, KTH Bengt Ek november 207 Material till kursen SF679, Diskret matematik: Lite om kedjebråk 0 Inledning Talet π (kvoten mellan en cirkels omkrets och dess diameter) är inte ett rationellt tal

Läs mer

Föreläsning 4. Kap 5,1-5,3

Föreläsning 4. Kap 5,1-5,3 Föreläsning 4 Kap 5,1-5,3 Multikolinjäritetsproblem De förklarande variablerna kan vara oberoende (korrelerade) av varann men det är inte så vanligt. Ofta är de korrelerade, och det är helt ok men beroendet

Läs mer

Konvergens för iterativa metoder

Konvergens för iterativa metoder Konvergens för iterativa metoder 1 Terminologi Iterativa metoder används för att lösa olinjära (och ibland linjära) ekvationssystem numeriskt. De utgår från en startgissning x 0 och ger sedan en följd

Läs mer

Blockkedjor. en introduktion för datavetare. Rikard Hjort, 24 maj 2019

Blockkedjor. en introduktion för datavetare. Rikard Hjort, 24 maj 2019 Blockkedjor en introduktion för datavetare Vem är jag? Varför ska ni lära er om blockkedjor? Alla ska gå härifrån och kunna... förklara Bitcoin är uppbyggt bygga en egen blockkedja läsa på själva om blockkedjeprojekt

Läs mer

F13 Regression och problemlösning

F13 Regression och problemlösning 1/18 F13 Regression och problemlösning Måns Thulin Uppsala universitet thulin@math.uu.se Statistik för ingenjörer 4/3 2013 2/18 Regression Vi studerar hur en variabel y beror på en variabel x. Vår modell

Läs mer

Googles sidrankning - linjär algebra värt en förmögenhet

Googles sidrankning - linjär algebra värt en förmögenhet Googles sidrankning - linjär algebra värt en förmögenhet Outline 1 Sökmotorer 2 Grafteori Linjär algebra 3 Målet Utifrån användarens sökord lista de mest relevanta webbsidorna. Dessutom i en ordning som

Läs mer

Second handbook of research on mathematics teaching and learning (NCTM)

Second handbook of research on mathematics teaching and learning (NCTM) Second handbook of research on mathematics teaching and learning (NCTM) The effects of classroom mathematics teaching on students learning. (Hiebert & Grouws, 2007) Inledande observationer Undervisningens

Läs mer

z = min 3x 1 2x 2 + y Fixera y, vilket ger subproblemet

z = min 3x 1 2x 2 + y Fixera y, vilket ger subproblemet Bendersdekomposition Blandade heltalsproblem med ett stort antal kontinuerliga variabler och få heltalsvariabler. Mycket lättare att lösa om heltalsvariablerna fixeras. Bendersdekomposition (primal dekomposition)

Läs mer

CTL302, Svenska som andraspråk III inom ämneslärarprogrammet, för arbete i gymnasieskolan och vuxenutbildningen, 30 hp

CTL302, Svenska som andraspråk III inom ämneslärarprogrammet, för arbete i gymnasieskolan och vuxenutbildningen, 30 hp Betygskriterier CTL302, Svenska som andraspråk III inom ämneslärarprogrammet, för arbete i gymnasieskolan vuxenutbildningen, 30 hp Fastställda av institutionsstyrelsen 2017-06-07. Gäller fr.o.m. ht 2017.

Läs mer

Lapp på luckan? En liten analys av vad som lockade publik på Reflexen år 2013 och 2014

Lapp på luckan? En liten analys av vad som lockade publik på Reflexen år 2013 och 2014 Lapp på luckan? En liten analys av vad som lockade publik på Reflexen år 2013 och 2014 Skrivet av: Mats Åberg matsemilaberg@gmail.com 073-738 67 85 Varmfrontsgatan 6 128 34 Skarpnäck Innehåll Bakgrund...

Läs mer

http://www.youtube.com/watch?v=jpenfwiqdx8

http://www.youtube.com/watch?v=jpenfwiqdx8 http://www.youtube.com/watch?v=jpenfwiqdx8 1 Sökmotoroptimering SEO En introduktion för webbredaktörer 2 Agenda Var är vi på väg? Hur fungerar sökmotorer? Hur går det till när jag söker? Hur hänger det

Läs mer

Uppgift 1 ( Betyg 3 uppgift )

Uppgift 1 ( Betyg 3 uppgift ) 2008-03-25.kl.14-19 Uppgift 1 ( Betyg 3 uppgift ) Du skall skriva ett program (en funktion), my_plot_figure, som läser in ett antal sekvenser av koordinater från tangentbordet och ritar ut dessa till en

Läs mer

DD1350 Logik för dataloger. Vad är logik?

DD1350 Logik för dataloger. Vad är logik? DD1350 Logik för dataloger Fö 1 - Introduktion Vad är logik? Vetenskapen som studerar hur man bör resoneraoch dra slutsatser utifrån givna påståenden (=utsagor, satser). 1 Aristoteles (384-322 f.kr) Logik

Läs mer

What Is Hyper-Threading and How Does It Improve Performance

What Is Hyper-Threading and How Does It Improve Performance What Is Hyper-Threading and How Does It Improve Performance Ali Muthanna, Lunds Universitet, IDA2, EDT621 Abstract Hyper-Threading (HT) is Intel s version of simultaneous multi-threading (SMT). Hyper-Threading

Läs mer

Tentamen i Beräkningsvetenskap I och KF, 5.0 hp,

Tentamen i Beräkningsvetenskap I och KF, 5.0 hp, Uppsala universitet Institutionen för informationsteknologi Avdelningen för beräkningsvetenskap Tentamen i Beräkningsvetenskap I och KF, 5.0 hp, 017-0-14 Skrivtid: 14 00 17 00 (OBS! Tre timmars skrivtid!)

Läs mer

Mobil streckkodsavläsare

Mobil streckkodsavläsare Avdelningen för datavetenskap Martin Persson Jan Eriksson Mobil streckkodsavläsare Oppositionsrapport, D-nivå 2005:xx 1 Generell utvärdering av projektet Projektet gick ut på att undersöka hur bra olika

Läs mer

Arbeta med normalfördelningar

Arbeta med normalfördelningar Arbeta med normalfördelningar I en större undersökning om hur kvinnors längd gjorde man undersökning hos kvinnor i ett viss åldersintervall. Man drog sedan ett slumpmässigt urval på 2000 kvinnor och resultatet

Läs mer

Statistiska analyser C2 Bivariat analys. Wieland Wermke

Statistiska analyser C2 Bivariat analys. Wieland Wermke + Statistiska analyser C2 Bivariat analys Wieland Wermke + Bivariat analys n Mål: Vi vill veta något om ett samband mellan två fenomen n à inom kvantitativa strategier kan man undersöka detta genom att

Läs mer

CDC en jämförelse mellan superskalära processorer. EDT621 Campus Helsingborg av: Marcus Karlsson IDA

CDC en jämförelse mellan superskalära processorer. EDT621 Campus Helsingborg av: Marcus Karlsson IDA CDC6600 - en jämförelse mellan superskalära processorer av: Marcus Karlsson Sammanfattning I denna rapport visas konkret information om hur den första superskalära processorn såg ut och hur den använde

Läs mer

Tentamen i Matematik 2: M0030M.

Tentamen i Matematik 2: M0030M. Tentamen i Matematik 2: M0030M. Datum: 203-0-5 Skrivtid: 09:00 4:00 Antal uppgifter: 2 ( 30 poäng ). Examinator: Norbert Euler Tel: 0920-492878 Tillåtna hjälpmedel: Inga Betygsgränser: 4p 9p = 3; 20p 24p

Läs mer

DN1212/numpm Numeriska metoder och grundläggande programmering Laboration 1 Introduktion

DN1212/numpm Numeriska metoder och grundläggande programmering Laboration 1 Introduktion Staffan Romberger 2008-10-31 DN1212/numpm Numeriska metoder och grundläggande programmering Laboration 1 Introduktion Efter den här laborationen ska du kunna hantera vektorer och matriser, villkorssatser

Läs mer

Laboration 2. Artificiell Intelligens, Ht 2004 2004-10-19 Lärare: Christina Olsén Handledare: Therese Edvall Daniel Ölvebrink

Laboration 2. Artificiell Intelligens, Ht 2004 2004-10-19 Lärare: Christina Olsén Handledare: Therese Edvall Daniel Ölvebrink Artificiell Intelligens, Ht 2004 2004-10-19 Lärare: Christina Olsén Handledare: Therese Edvall Daniel Ölvebrink Laboration 2 Laboranter: Johan Bystedt (dit02lbt) Alexander Pettersson (dit02apn) Stefan

Läs mer

Kapitel 17: HETEROSKEDASTICITET, ROBUSTA STANDARDFEL OCH VIKTNING

Kapitel 17: HETEROSKEDASTICITET, ROBUSTA STANDARDFEL OCH VIKTNING Kapitel 17: HETEROSKEDASTICITET, ROBUSTA STANDARDFEL OCH VIKTNING När vi gör en regressionsanalys så bygger denna på vissa antaganden: Vi antar att vi dragit ett slumpmässigt sampel från en population

Läs mer

Kapitel 15: INTERAKTIONER, STANDARDISERADE SKALOR OCH ICKE-LINJÄRA EFFEKTER

Kapitel 15: INTERAKTIONER, STANDARDISERADE SKALOR OCH ICKE-LINJÄRA EFFEKTER Kapitel 15: INTERAKTIONER, STANDARDISERADE SKALOR OCH ICKE-LINJÄRA EFFEKTER När vi mäter en effekt i data så vill vi ofta se om denna skiljer sig mellan olika delgrupper. Vi kanske testar effekten av ett

Läs mer

Fixpunktsiteration. Kapitel Fixpunktsekvation. 1. f(x) = x = g(x).

Fixpunktsiteration. Kapitel Fixpunktsekvation. 1. f(x) = x = g(x). Kapitel 5 Fixpunktsiteration 5.1 Fixpunktsekvation En algebraisk ekvation kan skrivas på följande två ekvivalenta sätt (vilket innebär att lösningarna är desamma). 1. f(x) = 0. En lösning x kallas en rot

Läs mer

2 Dataanalys och beskrivande statistik

2 Dataanalys och beskrivande statistik 2 Dataanalys och beskrivande statistik Vad är data, och vad är statistik? Data är en samling fakta ur vilken man kan erhålla information. Statistik är vetenskapen (vissa skulle kalla det konst) om att

Läs mer

Collaborative Product Development:

Collaborative Product Development: Collaborative Product Development: a Purchasing Strategy for Small Industrialized House-building Companies Opponent: Erik Sandberg, LiU Institutionen för ekonomisk och industriell utveckling Vad är egentligen

Läs mer

Titel Mall för Examensarbeten (Arial 28/30 point size, bold)

Titel Mall för Examensarbeten (Arial 28/30 point size, bold) Titel Mall för Examensarbeten (Arial 28/30 point size, bold) SUBTITLE - Arial 16 / 19 pt FÖRFATTARE FÖRNAMN OCH EFTERNAMN - Arial 16 / 19 pt KTH ROYAL INSTITUTE OF TECHNOLOGY ELEKTROTEKNIK OCH DATAVETENSKAP

Läs mer

Hur skriver man statistikavsnittet i en ansökan?

Hur skriver man statistikavsnittet i en ansökan? Hur skriver man statistikavsnittet i en ansökan? Val av metod och stickprovsdimensionering Registercentrum Norr http://www.registercentrumnorr.vll.se/ statistik.rcnorr@vll.se 11 Oktober, 2018 1 / 52 Det

Läs mer

Introduktion till statistik för statsvetare

Introduktion till statistik för statsvetare och enkäter "Det finns inget så praktiskt som en bra teori" September 2011 och enkäter Inledning Inledning Om vi vill mäta en egenskap hos en population individer (individer kan vara personer, företag

Läs mer

TANA17 Matematiska beräkningar med Matlab

TANA17 Matematiska beräkningar med Matlab TANA17 Matematiska beräkningar med Matlab Laboration 1. Linjär Algebra och Avbildningar Namn: Personnummer: Epost: Namn: Personnummer: Epost: Godkänd den: Sign: Retur: 1 Introduktion I denna övning skall

Läs mer

SF1624 Algebra och geometri

SF1624 Algebra och geometri Föreläsning 16 Institutionen för matematik KTH 5 december 2017 Modul 6 Veckans arbete 1. Idag: Ortonormalt, kap 7.1-7.2 a. Ortogonala och ortonormala baser b. Gram-Schmidts metod c. Ortogonala matriser

Läs mer

Förslag den 25 september Matematik

Förslag den 25 september Matematik Matematik Matematiken har en flertusenårig historia med bidrag från många kulturer. Den utvecklas såväl ur praktiska behov som ur människans nyfikenhet och lust att utforska matematiken som sådan. Matematisk

Läs mer