AI 101

Vad Àr maskinlÀrning?

mm

Maskinlärning är ett av de snabbast växande tekniska områdena, men trots hur ofta orden “maskinlärning” används, kan det vara svårt att förstå vad maskinlärning är, exakt. Maskinlärning hänvisar inte till bara en sak, det är ett paraplybegrepp som kan tillämpas på många olika koncept och tekniker. Att förstå maskinlärning innebär att vara bekant med olika former av modellanalys, variabler och algoritmer. Låt oss ta en närmare titt på maskinlärning för att bättre förstå vad det omfattar.

Vad är maskinlärning?

Medan begreppet maskinlärning kan tillämpas på många olika saker, i allmänhet hänvisar termen till att möjliggöra för en dator att utföra uppgifter utan att få explicita instruktioner för att göra det. En maskinlärningsspecialist behöver inte skriva ut alla steg som krävs för att lösa problemet eftersom datorn kan “lära” genom att analysera mönster inom data och generalisera dessa mönster till ny data. Maskinlärningssystem har tre grundläggande delar:

  • Inmatningar
  • Algoritmer
  • Utmatningar

Inmatningarna är de data som matas in i maskinlärningssystemet, och indata kan delas in i etiketter och funktioner. Funktioner är de relevanta variablerna, variablerna som kommer att analyseras för att lära mönster och dra slutsatser. Samtidigt är etiketterna klasser/beskrivningar som ges till enskilda instanser av data. Funktioner och etiketter kan användas i två olika typer av maskinlärningsproblem: övervakad inlärning och oövervakad inlärning.

Oövervakad vs. övervakad inlärning

I övervakad inlärning åtföljs indata av en grundläghet. Övervakade inlärningsproblem har de korrekta utmatningsvärdena som en del av datamängden, så de förväntade klasserna är kända i förväg. Detta gör det möjligt för datavetenskaparen att kontrollera algoritmens prestanda genom att testa data på en testdatamängd och se vilken procent av objekten som klassificerades korrekt. I kontrast saknar oövervakad inlärning grundläghetsetiketter. En maskinlärningsalgoritm som tränas för att utföra oövervakade inlärningsuppgifter måste kunna härleda de relevanta mönstren i data för sig själv. Övervakade inlärningsalgoritmer används vanligtvis för klassificeringsproblem, där man har en stor datamängd fylld med instanser som måste sorteras in i en av många olika klasser. En annan typ av övervakad inlärning är en regressionsuppgift, där värdet som algoritmen producerar är kontinuerligt till sin natur snarare än kategorisk. Samtidigt används oövervakade inlärningsalgoritmer för uppgifter som täthetsuppskattning, kluster och representationsinlärning. Dessa tre uppgifter behöver maskinlärningsmodellen för att härleda datans struktur, det finns inga fördefinierade klasser som ges till modellen. Låt oss ta en kort titt på några av de vanligaste algoritmerna som används i både oövervakad inlärning och övervakad inlärning.

Typer av övervakad inlärning

Vanliga övervakade inlärningsalgoritmer inkluderar:

  • Naiv Bayes
  • Stödvektor maskiner
  • Logistisk regression
  • Slumpmässiga skogar
  • Artificiella neuronnät

Stödvektor maskiner är algoritmer som delar upp en datamängd i olika klasser. Datapunkter grupperas i kluster genom att rita linjer som skiljer klasserna från varandra. Punkter som finns på ena sidan av linjen kommer att tillhöra en klass, medan punkterna på den andra sidan av linjen är en annan klass. Stödvektor maskiner syftar till att maximera avståndet mellan linjen och punkterna som finns på båda sidor av linjen, och ju större avståndet är, desto mer säker är klassificeringen att punkten tillhör en klass och inte en annan klass. Logistisk regression är en algoritm som används i binära klassificeringsuppgifter när datapunkter behöver klassificeras som tillhörande en av två klasser. Logistisk regression fungerar genom att märka datapunkten antingen 1 eller 0. Om det uppfattade värdet av datapunkten är 0,49 eller lägre, klassificeras den som 0, medan om det är 0,5 eller högre, klassificeras den som 1. Beslutsstruktur algoritmer fungerar genom att dela upp datamängder i allt mindre fragment. De exakta kriterierna som används för att dela data är upp till maskinläringsingenjören, men målet är att slutligen dela upp data i enskilda datapunkter, som sedan kommer att klassificeras med en nyckel. En slumpmässig skogs algoritm är i princip många enskilda beslutsstruktur klassificerare länkade samman till en mer kraftfull klassificerare. Den naive Bayes-klassificeraren beräknar sannolikheten att en given datapunkt har inträffat baserat på sannolikheten för en tidigare händelse som inträffat. Den baseras på Bayes sats och den placerar datapunkterna i klasser baserat på deras beräknade sannolikhet. När man implementerar en naive Bayes-klassificerare, antas det att alla förutsägarna har samma inflytande på klassresultatet. En artificiell neuronnät, eller multi-lagers perceptron, är maskinlärningsalgoritmer inspirerade av strukturen och funktionen hos den mänskliga hjärnan. Artificiella neuronnät får sitt namn från det faktum att de består av många noder/neuroner länkade samman. Varje neuron manipulerar data med en matematisk funktion. I artificiella neuronnät finns det inmatningslager, dolda lager och utmatningslager. Det dolda lagret i neuronnätet är där data faktiskt tolkas och analyseras för mönster. Med andra ord, det är där algoritmen lär. Ju fler neuroner som är sammankopplade, desto mer komplexa nätverk kan lära sig mer komplexa mönster.

Typer av oövervakad inlärning

Oövervakade inlärningsalgoritmer inkluderar:

  • K-medel kluster
  • Autoencoders
  • Principal Component Analysis

K-medel kluster är en oövervakad klassificeringsteknik, och den fungerar genom att separera datapunkter i kluster eller grupper baserat på deras funktioner. K-medel kluster analyserar funktionerna som finns i datapunkterna och känner igen mönster i dem som gör datapunkterna i en given klass kluster mer lika varandra än de är för kluster som innehåller andra datapunkter. Detta uppnås genom att placera möjliga centra för klustret, eller centroider, i en graf av data och omfördela centroidens position tills en position hittas som minimerar avståndet mellan centroiden och punkterna som tillhör centroidens klass. Forskaren kan ange det önskade antalet kluster. Principal Component Analysis är en teknik som minskar stora antal funktioner/variabler till en mindre funktionell utrymme/färre funktioner. De “primära komponenterna” i datapunkterna väljs för bevarande, medan de andra funktionerna pressas ner till en mindre representation. Relationen mellan de ursprungliga data delarna bevaras, men eftersom komplexiteten i datapunkterna är enklare, är data lättare att kvantifiera och beskriva. Autoencoders är versioner av neuronnät som kan tillämpas på oövervakade inlärningsuppgifter. Autoencoders kan ta obetalda, fria data och omvandla dem till data som ett neuronnät kan använda, i princip skapar de sin egen märkta träningsdata. Målet med en autoencoder är att omvandla indata och återuppbygga den så exakt som möjligt, så det ligger i nätverkets intresse att avgöra vilka funktioner som är viktigast och extrahera dem.

Blogger och programmerare med specialomrÄden inom Machine Learning och Deep Learning Àmnen. Daniel hoppas pÄ att hjÀlpa andra att anvÀnda kraften frÄn AI för socialt vÀl.