Maskininlärningsalgoritmer
En introduktion till matematiken och logiken bakom maskininlärning.
Vad är maskininlärningsalgoritmer?
Maskininlärningsalgoritmer är delar med kod som hjälper människor att utforska, analysera och hitta innebörd i komplexa datauppsättningar. Varje algoritm är en begränsad uppsättning entydiga steg-för-steg-instruktioner som en dator kan följa för att uppnå ett visst mål. I en maskininlärningsmodell är målet att skapa eller identifiera mönster som personer kan använda för att göra förutsägelser eller kategorisera information. Vad är maskininlärning?
I maskininlärningsalgoritmer används parametrar som är baserade på träningsdata – en delmängd av data som representerar den större mängden. Eftersom träningsdata hela tiden utökas och motsvarar en mer korrekt bild av verkligheten blir också algoritmernas beräkningar alltmer exakta.
Olika algoritmer analyserar data på olika sätt. De är ofta grupperade efter de maskininlärningstekniker som de används för: övervakat lärande, oövervakat lärande och kunskapsförmedling. I de algoritmer som används oftast används regression och klassificering för att förutsäga målkategorier, hitta ovanliga datapunkter, förutsäga värden och upptäcka likheter.
Maskininlärningstekniker
När du använder maskininlärningsalgoritmer kommer du att märka att de vanligtvis tillhör en av tre maskininlärningstekniker:
Övervakat lärande
I övervakat lärande gör algoritmer förutsägelser baserat på en uppsättning exempel med etiketter som du anger. Den här metoden är användbar när du vet hur resultatet ska se ut.
Du kan till exempel ange en datauppsättning som innehåller stadsbefolkningar per år under de senaste 100 åren och sedan ta reda på hur stor befolkning en viss stad kommer att ha om fyra år. I resultatet används de etiketter som redan finns i datauppsättningen: befolkning, stad och år.
Oövervakat lärande
I oövervakat lärande har datapunkterna inga etiketter – algoritmen ger dem etiketter åt dig genom att strukturera data eller beskriva strukturen. Den här metoden är användbar när du inte vet hur resultatet kommer att se ut.
Exempel: Du tillhandahåller kunddata och vill skapa segment med kunder som gillar liknande produkter. De data som du tillhandahåller har inga etiketter, och etiketterna i resultatet genereras baserat på likheter som identifierats mellan datapunkter.
Kunskapsförmedling
Inom kunskapsförmedling används algoritmer som lär sig från resultat och avgör vilken åtgärd som ska vidtas härnäst. Efter varje åtgärd får algoritmen feedback som hjälper den att avgöra om det val som gjordes var korrekt, neutralt eller felaktigt. Det är en bra teknik att använda för automatiserade system som måste fatta många små beslut utan mänsklig vägledning.
Du kanske till exempel skapar en autonom bil och vill vara säker på att den lyder lagar och skyddar människor. Allt eftersom bilen får mer erfarenhet och historik kan den lära sig att hålla sig inom körfältet, respektera hastighetsbegränsningarna och bromsa för att släppa förbi fotgängare.
Saker du kan göra med maskininlärningsalgoritmer
Med maskininlärningsalgoritmer kan du besvara frågor som är för komplexa för att besvara med manuella analyser. Det finns många olika typer av maskininlärningsalgoritmer, men användningen av dem faller vanligtvis inom någon av dessa kategorier.
Förutsäga en målkategori
Klassificering med två klasser (binärt) delar upp data i två kategorier. De är användbara för frågor som bara har två möjliga svar som är ömsesidigt uteslutande, inklusive ja/nej-frågor. Exempel:
- Kommer det här däcket att hålla i 10 000 km: ja eller nej?
- Vilket leder till fler referenser: 10 USD i kredit eller en rabatt på 15 %?
Klassificeringsalgoritmer med flera klasser (multinomial) delar in data i tre eller fler kategorier. De är användbara för frågor som har tre eller fler möjliga svar som är ömsesidigt uteslutande. Exempel:
- I vilken månad köper majoriteten av resenärerna sina flygbiljetter?
- Vilken känsla visar personen på det här fotot?
Hitta ovanliga datapunkter
Algoritmer för avvikelseidentifiering identifierar datapunkter som faller utanför de definierade parametrarna för vad som är ”normalt”. Du kan till exempel använda algoritmer för avvikelseidentifiering för att besvara frågor som:
- Var finns de defekta delarna i den här batchen?
- Vilka kreditkortsinköp kan vara bedrägliga?
Förutsäga värden
Regressionsalgoritmer förutsäger värdet för en ny datapunkt baserat på historiska data. De hjälper dig att besvara frågor som:
- Hur mycket kommer en trerums bostadsrätt att kosta i genomsnitt i min stad nästa år?
- Hur många patientbesök kommer vi att ha på läkarmottagningen på tisdag?
Se hur värden ändras över tid
Algoritmer för tidsserier visar hur ett angivet värde ändras över tid. Med tidsserieanalyser och tidsserieprognoser samlas data in med jämna mellanrum över tid och används för att göra förutsägelser och identifiera trender, säsongsmönster, återkommande cykler och oregelbundenhet. Tidsseriealgoritmer används för att besvara frågor som:
- Är det sannolikt att priset för en viss aktie kommer att öka eller minska under det kommande året?
- Hur kommer mina utgifter att se ut nästa år?
Upptäcka likheter
Klustringsalgoritmer delar upp data i flera grupper genom att fastställa graden av likhet mellan datapunkter. Klustringsalgoritmer fungerar bra för frågor som:
- Vilka tittare gillar samma typer av filmer?
- Vilka skrivarmodeller fungerar på samma sätt?
Klassificering
Klassifikationsalgoritmer använder förutsägande beräkningar för att tilldela data till förinställda kategorier. Klassificeringsalgoritmer tränas med indata och används för att besvara frågor som:
- Är det här skräppost?
- Vad är sentimentet (positivt, negativt eller neutralt) i en viss text?
Vad är maskininlärningsbibliotek?
Ett maskininlärningsbibliotek är en uppsättning funktioner, ramverk, moduler och rutiner som skrivits på ett specifikt språk. Utvecklare använder koden i maskininlärningsbibliotek som byggstenar för att skapa maskininlärningslösningar som kan utföra komplexa uppgifter. I stället för att manuellt koda varje algoritm och formel i en maskininlärningslösning kan utvecklare hitta de funktioner och moduler som de behöver i något av många tillgängliga maskininlärningsbibliotek och använda dem för att bygga en lösning som uppfyller deras behov.
Läs mer om Machine Learning
Börja experimentera med Azure Machine Learning
Se hur olika algoritmer analyserar data genom att skapa och distribuera dina egna maskininlärningsmodeller med hjälp av Azure Machine Learning.