Visar inlägg med etikett Maskininlärning. Visa alla inlägg
Visar inlägg med etikett Maskininlärning. Visa alla inlägg

2012-09-27

Trail and Error

Rätt så ofta springer man på personer som är rätt så väl bevandrade inom BI och DW och som har läst en del om predektiv analys och data mining. De har ganska bra koll på begreppen och uttrycker sig i ord som om de vet precis vad det handlar om. Om de aldrig har suttit med ett riktigt data mining problem saknar de dock insikten i vad som faktiskt krävs för att nå framgång i ett data mining projekt.

Först och främst kommer arbetet med att förbereda data för uppgiften som skall lösas. Har man bara läst lite data mining literatur så har man ganska snabbt insett att det inte hjälper mycket att ha en gedigen ETL process som modellerat datat i sitt DW i en stjärnmodell eller liknande. Mer än halva data mining processen består ändå i att förbereda data för att kunna bygga modeller. Här kommer första insikten som är svår att få utan att ha praktisk erfarenhet. Det är otroligt svårt att veta i förväg vilka variabler som är bra prediktorer för sin målvariabel. Ofta "vet" man det i förväg, men när man börjar ställa motfrågor visar sig dock snabbt motsatsen.

Gällande målvariabeln kan det vara lika svårt att veta hur den ska representeras. Låt säga att uppgiften är att ta fram en modell som predikterar vinsten. Det är lätt att tro att målvariabeln är "given" i uppgiften, men det kan visa sig att det är lättare att prediktera logaritmen av vinsten, eller vinsten i förhållande till omsättningen, eller att transformera om vinsten till en nominell variabel. Ett annat exempel kan vara att använda en overlay variabel om man t.ex. vet att man kommer att öka utbudet med 20% nästa år. Att använda en stegfunktion som går från 1 till 1.2 för att få in den informationen i modellen, tillför ofta inte mycket. Ofta är det bättre att t.ex. multiplicera den med någon annan variabel för att uppnå önskat resultat.

Slutsatsen jag vill komma till är att den största insikten är nog att det enda sättet att hitta en bra representation är att testa sig fram, och det tar tid. Det är lätt att framställa data mining som en svart låda där man slänger in lite siffror och får ut svar, men det är inte konstigare än trail-and-error i många fall. Med lite erfarenhet hittar man så klart rätt fortare, men det är fortfarande en stor del av mining processen.

2012-05-21

Maskininlärnings- och data mining kurs

Det är svårt att hitta utbildningar inom data mining om man vill utbilda sig parallellt med sitt arbete. De flesta utbildningar inom data mining är vanliga universitetskurser som löper under en hel termin med föreläsningar dagtid och är för de allra flesta väldigt svåra att närvara på. Köpenhamns universitet bryter dock den trenden till hösten då de kommer att erbjuda en 5-dagars intensiv kurs i tillämpning av maskininlärning, mönsteringenkänning och data mining. Kursen kommer kräver förkunskaper i C++ då de kommer att använda Shark för alla praktiska övningar. Kursen verkar förvisso vara en introduktionskurs till området, men med detta upplägg kan man i alla fall locka alla som arbetar 9 till 5 och vill lära sig mer om data mining. Läs mer på kursens hemsida.

2012-05-18

Weka 3.7.6

Förra veckan släpptes Weka 3.7.6. Det är inga stora förändringar utan mest bugg fixar och förbättringar av befintliga algoritmer och funktioner. Mark Hall skrev ett inlägg på Pentaho's wiki som listar nyheterna.

2012-04-06

Data Science Hackathon

Min gode vän Mr. Moritz kommer att delta i Data Science Hackathon i London i slutet på april. På 24 timmar ska man i grupp skapa en analytisk modell på ett stort dataset med hjälp av ett antal analysverktyg för att lösa ett givet problem. Finns fortfarande 7 platser kvar för de som är intresserade. Jag håller tummarna för Mr. Moritz =)

2012-02-15

Hadoop World 2011 presentationer

Har börjat se några av presentationerna från Hadoop World som gick av stapeln i slutet av 2011. Alla presentationer är filmade och finns tillgängliga här. En riktigt intressant presentation är Abhishek Gupta och Adil Aijaz från LinkedIn som presenterar hur de använder Hadoop som en byggsten i deras rekommendationssystem. Efter att ha forskat inom detta område och varit med och utvecklat ett rekommendationssystem själv inser man vilket ofantligt arbete som ligger bakom deras plattform. Imponerande och mycket intressant!

2012-01-16

ML demonstration

Maskininlärningsstudenter på Carnegie Mellon som demonstrerar på G20 mötet i Pittsburg 2009. Foto: Arthur Gretton

2012-01-11

Search, plus Your World

Igår lanserade Google sin nya söktjänst "Search, plus Your World" där de inte längre bara rangordnar sidor på innehållet utan lyfter fram Google+ innehåll från ditt personliga nätverk. De har tidigare lanserat Social Search som söker efter innehåll i ditt personliga nätverk. Dessa tjänster är ännu inte integrerade med varandra, men som de själva säger i deras blogginlägg så är detta bara början. Potentialen är oändlig med allt data som Google sitter på och det blir spännande att se hur detta spår utvecklas. Den nya söktjänsten kommer endast att fungera om man är inloggad på Google och söker på engelska på https://www.google.com. Det fungerar ännu inte för mig, men förhoppningsvis blir det tillgängligt inom några dagar så man får testa.

2012-01-07

Mer av Stanford 2012

Stanford University har utökat antalet online kurser som ges gratis under våren 2012. Kursstart varierar beroende på vilken kurs man är intresserad av, men allt kör igång under januari och februari. Nedan är de kurser som ges inom datavetenskap. Intressant att notera är att av de tre kurser som gavs under hösten är det endast maskininlärningskursen som ges igen. Kul med stort intresse för just det området...

2011-11-21

Stanford drop-out

Det blir nog ingen fortsättning på Stanford kursen för min del. Tiden räcker inte till och det var inte nog hög nivå för att prioritera den högre. Kommer förmodligen att fortsätta kolla på några av videolektionerna i mån av tid, men när julen nalkas blir det sällan mer tid över...

2011-10-31

Stanford vecka 3

Förra veckan handlade om klassificering och framför allt logistisk regression och konceptet regularisering för att hantera overfitting. Inlämningsuppgifterna var väldigt lika veckan innan med implementaioner av kostnadsfunktioner och gradienter. Denna vecka användes dock Octaves funktion fminunc för iterativ optimering av parametrarna istället för någonting egen implementerat. Denna vecka blir det artificiella neuronnät, vilket blir lite mer intressant.

2011-10-21

R och Hadoop


Revolution Analytics har utvecklat tre paket som integrerar R med Hadoop.
  • rmr - integrerar Hadoop MapReduce funktionalitet in i R
  • rhdfs - integrerar filhantering i HDFS in i R
  • rhbase - integrerar den distribuerade databasen HBase in i R
Bilden är tagen från en presentation över RHadoop som man hittar här.

2011-10-18

Stanford vecka 2

Andra veckans uppgifter handlar om multipel regression. Algoritmerna som gås igenom är en iterativ och en exakt lösningsmetod, brantaste lutningsmetoden respektive normalekvationen. De första inlämningsuppgifterna var följande:
  1. Uppvärmningsövning
  2. Kostnadsfunktion (för en variabel)
  3. Brantaste lutningsmetoden (för en variabel)
  4. Variabelnormalisering
  5. Kostnadsfunktion (för multipla variabler)
  6. Brantaste lutningsmetoden (för multipla variabler)
  7. Normalekvationen
Alla uppgifterna var väldigt mycket tillrättalagda och krävde inte speciellt mycket implementering. Både brantaste lutningsmetoden och normalekvationen är förvisso relativt lätt att implementera i ett verktyg som Octave. Intressantast var hur de har löst inlämningsförfarandet. Med uppgifterna kommer ett Octave script som innehåller en submit funktion. När man kör den submitfunktionen för en inlämningsuppgift så anropas funktionen som man själv har implementerat med testdata, och det som returneras postas upp för rättning till deras server. Man får omgående feedback huruvida man blivit godkänd eller inte, då svaret man skickar in automatiskt verifieras. Snyggt gjort! Hoppas på något mer spännande nästa vecka...

2011-10-11

Stanford vecka 1

Såg den första veckans videoföreläsningarna och gjorde övningarna från maskininlärningskursen idag. Första veckan går igenom enkel linjär regression och både föreläsningarna och materialet var väldigt grundläggande. I och för sig ganska förväntat med tanke på att det inte krävs några förkunskaper även om jag kan tycka att det behövs för att kunna tillgodo göra sig vissa delar. Innehållet verkar i alla fall vara väldigt likt deras YouTube kurs (http://www.youtube.com/playlist?list=PLA89DCFA6ADACE599) med lite anpassningar för att bli interaktivt. Alla inlämningsuppgifter ska implemeteras i Octave och första uppgiften kommer nästa vecka. Med tanke på den låga nivån på kursen får jag se hur mycket tid jag orkar lägga, även om jag är lite nyfiken på inlämningsuppgifterna längre fram.

2011-10-10

Maskininlärning på Stanford

Idag börjar maskininlärningskursen på Stanford. Veckornas upplägg verkar vara följande

1. Introduction to Machine Learning. Univariate linear regression. (Optional: Linear algebra review.)
2. Multivariate linear regression. Practical aspects of implementation. Octave tutorial.
3. Logistic regression, One-vs-all, Regularization.
4. Neural Networks, backpropagation, gradient checking.
5. Support Vector Machines (SVMs) and intuitions. Quick survey of other algorithms: Naive Bayes, Decision trees, Boosting.
6. Practical advice for applying learning algorithms: How to develop, debugging, feature/model design, setting up experiment structure.
7. Unsupervised learning: Agglomerative clustering, K-means, PCA, when to use each. (Optional/extra credit: ICA).
8. Anomaly detection. Combining supervised and unsupervised.
9. Other applications: Recommender systems. Learning to rank (search).
10. Large-scale/parallel machine learning and big data. ML system design/practical methods. Team design of ML systems.

2011-10-09

Watson

Måndagen den 3 oktober sändes dokumentären "Världens smartaste dator" i SVTs Vetenskapens Värld. Den handlar om IBMs program Watson som med hjälp av maskininlärning lär sig spela Jeopardy och till slut slår de mänskliga stormästarna. Det är en ganska bra populärvetenskaplig dokumentär som övergripande beskriver maskininlärning och artificiell intelligens. Dokumentären finns tillgänlig på SVT Play t.o.m. 10 oktober med svensk textning efter det kan man se den på YouTube i klippen nedan, då tyvärr uppdelad i fyra delar.



2011-08-26

Plugga maskininlärning på Stanford i höst

Signade precis upp på Andrew Ng's webbaserade maskininlärningskurs på Stanford i höst. Jag har tidigare plöjt igenom de flesta av hans lektioner som ligger uppe på YouTube (http://www.youtube.com/playlist?list=PLA89DCFA6ADACE599) så det kanske inte är så mycket nytt som tas upp, men det blir intressant att se hur man håller en kurs för över 37 000 (antal anmälda just nu) deltagare med inlämningsuppgifter och allt. Den är i alla fall gratis och det går att signa upp på http://ml-class.org/.

2011-08-21

GraphLab: alternativ till MapReduce

Det finns alternativ till MapReduce för parallella machine learning algoritmer. GraphLab på Carnegie Mellon står bakom GraphLab ramverket som visats sig prestera riktigt bra på visa typer av problem. För er som är intresserade av rekommendationssystem och collaborative filtering så finns det implementerat ett bibliotek för probabilistiska matris- och tensorfaktoriseringar i GraphLab, som för övrigt kom 5:a i Yahoo KDD cup 2011. Implementeringen innehåller bland annat algoritmer som Alternating Least Squares och Koren's SVD++. Läs mer på www.graphlab.org.