Innehållsförteckning[Dölj][Visa]
Världen förändras snabbt på grund av artificiell intelligens och maskininlärning, som har en inverkan på alla aspekter av vårt vardagliga liv.
Från röstassistenter som använder NLP och maskininlärning till att boka möten, slå upp händelser i vår kalender och spela musik till enheter som är så exakta att de kan förutse våra behov innan vi överväger dem.
Datorer kan spela schack, operera sig och utvecklas till smartare, mer människoliknande maskiner med hjälp av maskininlärningsalgoritmer.
Vi befinner oss i en tid av ständiga tekniska framsteg, och genom att se hur datorer har utvecklats genom tiden, kan vi göra förutsägelser om vad som kommer att hända i framtiden.
Demokratiseringen av datorverktyg och -metoder är en av nyckelaspekterna av denna revolution som sticker ut. Datavetare har skapat kraftfulla datorer med dataknäppning under de senaste fem åren genom att enkelt implementera banbrytande metoder. Resultaten är häpnadsväckande.
I det här inlägget ska vi titta närmare på maskininlärning algoritmer och alla deras variationer.
Så, vad är maskininlärningsalgoritmer?
Tillvägagångssättet som används av AI-systemet för att utföra sin uppgift - i allmänhet att förutsäga utdata från givna indata - är känd som en maskininlärningsalgoritm.
En maskininlärningsalgoritm är en process som använder data och används för att skapa maskininlärningsmodeller som är redo för produktion. Om maskininlärning är tåget som utför ett jobb, så är maskininlärningsalgoritmer lokomotiven som för arbetet framåt.
Det bästa sättet för maskininlärning att använda kommer att avgöras av det affärsproblem du försöker lösa, vilken typ av datauppsättning du använder och de resurser du har tillgängliga.
Maskininlärningsalgoritmer är de som gör en datamängd till en modell. Beroende på vilken typ av problem du försöker besvara, tillgänglig processorkraft och vilken typ av data du har, kan övervakade, oövervakade eller förstärkningsinlärningsalgoritmer fungera bra.
Så vi pratade om övervakad, oövervakad och förstärkningsinlärning, men vad är de? Låt oss utforska dem.
Övervakad, oövervakad & förstärkningsinlärning
Övervakat lärande
Inom övervakat lärande utvecklas AI-modellen baserat på den input som har tillhandahållits och etiketten som representerar det förutsagda resultatet. Baserat på indata och utdata utvecklar modellen en mappningsekvation, och med den mappningsekvationen förutsäger den etiketten för ingångarna i framtiden.
Låt oss säga att vi måste skapa en modell som kan skilja mellan en hund och en katt. Flera bilder av katter och hundar matas in i modellen med etiketter som anger om de är katter eller hundar för att träna modellen.
Modellen försöker upprätta en ekvation som relaterar etiketterna på de ingående fotografierna till dessa bilder. Även om modellen aldrig har sett bilden innan, efter träning, kan den identifiera om det är en katt eller en hund.
Oövervakat lärande
Oövervakat lärande innebär att man tränar en AI-modell endast på indata utan att märka dem. Modellen delar in indata i grupper med relaterade egenskaper.
Ingångens framtida etikett prognostiseras sedan beroende på hur nära dess attribut matchar en av klassificeringarna. Tänk på situationen där vi måste dela upp en grupp röda och blå bollar i två kategorier.
Låt oss anta att bollarnas övriga egenskaper är identiska, med undantag för färg. Utifrån hur den kan dela upp bollarna i två klasser letar modellen efter de egenskaper som är olika mellan bollarna.
Två kulor – en blå och en röd – produceras när kulorna delas in i två grupper baserat på deras nyans.
Förstärkningslärande
I förstärkningsinlärning försöker AI-modellen maximera den totala vinsten genom att agera så bra som den kan under en viss omständighet. Feedback på tidigare resultat hjälper modellen att lära sig.
Tänk på scenariot när en robot instrueras att välja en rutt mellan punkterna A och B. Roboten väljer först någon av kurserna eftersom den inte har någon tidigare erfarenhet.
Roboten får input om vägen den tar och får kunskap från den. Roboten kan använda input för att åtgärda problemet nästa gång den stöter på en liknande omständighet.
Till exempel, om roboten väljer alternativ B och får en belöning, såsom positiv feedback, förstår den denna gång att den måste välja sätt B för att öka sin belöning.
Nu äntligen vad ni alla väntar på, är algoritmerna.
Major Machine Learning Algoritmer
1. Linjär regression
Den enklaste metoden för maskininlärning som avviker från övervakad inlärning är linjär regression. Med kunskapen från oberoende variabler används den mest för att lösa regressionsproblem och skapa förutsägelser om kontinuerligt beroende variabler.
Att hitta linjen för bästa passform, vilket kan hjälpa till att förutsäga resultatet för kontinuerligt beroende variabler, är syftet med linjär regression. Huspriser, ålder och löner är några exempel på kontinuerliga värden.
En modell som kallas enkel linjär regression använder en rak linje för att beräkna sambandet mellan en oberoende variabel och en beroende variabel. Det finns mer än två oberoende variabler i multipel linjär regression.
En linjär regressionsmodell har fyra underliggande antaganden:
- Linjäritet: Det finns ett linjärt samband mellan X och medelvärdet av Y.
- Homoscedasticitet: För varje värde på X är den kvarvarande variansen densamma.
- Oberoende: Observationer är oberoende av varandra när det gäller oberoende.
- Normalitet: När X är fast är Y normalfördelad.
Linjär regression fungerar utmärkt för data som kan separeras längs linjer. Den kan kontrollera överanpassning genom att använda tekniker för regularisering, korsvalidering och dimensionsreducering. Det finns dock tillfällen där omfattande funktionsteknik krävs, vilket ibland kan leda till övermontering och buller.
2. Logistisk regression
Logistisk regression är en annan maskininlärningsteknik som avviker från övervakad inlärning. Dess huvudsakliga användning är klassificering, medan den också kan användas för regressionsproblem.
Logistisk regression används för att prognostisera den kategoriskt beroende variabeln med hjälp av informationen från de oberoende faktorerna. Målet är att klassificera utdata, som bara kan falla mellan 0 och 1.
Den viktade summan av ingångarna bearbetas av sigmoidfunktionen, en aktiveringsfunktion som konverterar värden mellan 0 och 1.
Grunden för logistisk regression är maximal sannolikhetsuppskattning, en metod för att beräkna parametrarna för en antagen sannolikhetsfördelning givet specifik observerad data.
3. Beslutsträd
En annan maskininlärningsmetod som splittras av övervakad inlärning är beslutsträdet. För både klassificerings- och regressionsfrågor kan beslutsträdsmetoden användas.
Detta beslutsfattande verktyg, som liknar ett träd, använder visuella representationer för att visa åtgärders framtida resultat, kostnader och återverkningar. Genom att dela upp data i separata delar är idén analog med det mänskliga sinnet.
Uppgifterna har delats upp i distinkta delar så mycket som vi kunde granulera den. Ett beslutsträds huvudsakliga mål är att bygga en träningsmodell som kan användas för att förutse klassen för målvariabeln. Saknade värden kan hanteras automatiskt med hjälp av beslutsträdet.
Det finns inget krav på enstegskodning, dummyvariabler eller andra dataförbehandlingssteg. Den är stel i den meningen att det är svårt att lägga till färska data till den. Om du har ytterligare märkta data bör du träna om trädet på hela datamängden.
Som ett resultat är beslutsträd ett dåligt val för alla tillämpningar som kräver dynamisk modellbyte.
Baserat på typen av målvariabel klassificeras beslutsträd i två typer:
- Kategorisk variabel: Ett beslutsträd där målvariabeln är Kategorisk.
- Kontinuerlig variabel: Ett beslutsträd där målvariabeln är kontinuerlig.
4. Random Forest
Random Forest Method är nästa maskininlärningsteknik och är en övervakad maskininlärningsalgoritm som används flitigt i klassificerings- och regressionsfrågor. Det är också en trädbaserad metod, liknande ett beslutsträd.
En skog av träd, eller många beslutsträd, används av slumpmässiga skogsmetoden för att göra bedömningar. Vid hantering av klassificeringsuppgifter använde den slumpmässiga skogmetoden kategoriska variabler medan han hanterade regressionsuppgifter med datauppsättningar som innehåller kontinuerliga variabler.
En ensemble, eller blandning av många modeller, är vad den slumpmässiga skogsmetoden gör, vilket innebär att förutsägelser görs med hjälp av en grupp modeller snarare än bara en.
Möjligheten att användas för både klassificerings- och regressionsproblem, som utgör majoriteten av moderna maskininlärningssystem, är en viktig fördel med den slumpmässiga skogen.
Två olika strategier används av Ensemble:
- Bagage: Genom att göra detta produceras mer data för träningsdataset. För att minska variationen i prognoserna görs detta.
- Boosting är processen att kombinera svaga elever med starka elever genom att bygga successiva modeller, vilket resulterar i den slutliga modellen med maximal noggrannhet.
5. Naiva Bayes
Ett binärt (tvåklassigt) och flerklassigt klassificeringsproblem kan lösas med Naive Bayes-tekniken. När metoden förklaras med binära eller kategoriinmatade värden är den enklast att förstå. Ett antagande som gjorts av en naiv Bayes-klassificerare är att förekomsten av en egenskap i en klass inte har någon betydelse för närvaron av några andra egenskaper.
Ovanstående formel indikerar:
- P(H): Sannolikheten att hypotes H är korrekt. Den tidigare sannolikheten kallas denna.
- P(E): Sannolikheten för bevisen
- P(E|H): Sannolikheten att hypotesen stöds av bevisen.
- P(H|E): Sannolikheten att hypotesen är sann, givet bevisen.
En naiv Bayes-klassificerare skulle ta hänsyn till var och en av dessa egenskaper individuellt när man bestämmer sannolikheten för ett visst resultat, även om dessa attribut är kopplade till varandra. En naiv Bayesiansk modell är enkel att konstruera och effektiv för stora datamängder.
Det är känt att prestera bättre än till och med de mest komplexa kategoriseringsteknikerna samtidigt som det är grundläggande. Det är en samling algoritmer som alla är baserade på Bayes' teorem, snarare än en enda metod.
6. K-Närmaste grannar
Tekniken K-nearest neighbours (kNN) är en delmängd av övervakad maskininlärning som kan användas för att hantera klassificerings- och regressionsproblem. KNN-algoritmen förutsätter att jämförbara objekt kan hittas i närheten.
Jag minns det som en sammankomst av likasinnade individer. kNN drar fördel av tanken på likhet mellan andra datapunkter genom att använda närhet, närhet eller avstånd. För att märka osynliga data baserat på de närmast märkta observerbara datapunkterna, används en matematisk metod för att bestämma separationen mellan punkter på en graf.
Du måste bestämma avståndet mellan datapunkterna för att identifiera de närmaste jämförbara punkterna. Avståndsmätningar som det euklidiska avståndet, Hamming-avståndet, Manhattan-avståndet och Minkowski-avståndet kan användas för detta. K:et är känt som närmaste grannenummer, och det är ofta ett udda tal.
KNN kan tillämpas på klassificerings- och regressionsproblem. Förutsägelsen som görs när KNN används för regressionsproblem baseras på medelvärdet eller medianen av de mest lika K-förekomsterna.
Resultatet av en klassificeringsalgoritm baserad på KNN kan bestämmas som den klass med högst frekvens bland de K mest lika förekomsterna. Varje instans avger i huvudsak en röst på sin klass, och förutsägelsen tillhör den klass som får flest röster.
7. K-medel
Det är en teknik för oövervakat lärande som tar upp klustringsfrågor. Datauppsättningar är uppdelade i ett visst antal kluster – kalla låt oss det K – på ett sådant sätt att varje klusters datapunkter är homogena och skiljer sig från dem i de andra klustren.
K-means klustringsmetodik:
- För varje kluster väljer K-means-algoritmen k centroider, eller punkter.
- Med de närmaste tyngdpunkterna eller K-klustren bildar varje datapunkt ett kluster.
- Nu produceras nya centroider beroende på de klustermedlemmar som redan finns.
- Det närmaste avståndet för varje datapunkt beräknas med dessa uppdaterade tyngdpunkter. Fram tills tyngdpunkterna inte ändras, upprepas denna process.
Det är snabbare, mer pålitligt och enklare att förstå. Om det finns problem gör k-means anpassningsförmåga justeringar enkla. När datamängderna är olika eller väl isolerade från varandra är resultaten bäst. Den kan inte hantera oregelbundna data eller extremvärden.
8. Stöd vektormaskiner
När du använder SVM-tekniken för att klassificera data, visas rådata som punkter i ett n-dimensionellt utrymme (där n är antalet funktioner du har). Datan kan sedan enkelt klassificeras eftersom varje funktions värde sedan kopplas till en specifik koordinat.
För att separera data och placera dem på en graf, använd linjer som kallas klassificerare. Detta tillvägagångssätt plottar varje datapunkt som en punkt i ett n-dimensionellt utrymme, där n är antalet funktioner du har och varje objekts värde är ett specifikt koordinatvärde.
Vi kommer nu att hitta en rad som delar upp data i två uppsättningar data som har kategoriserats olika. Avstånden från de närmaste punkterna i var och en av de två grupperna kommer att vara längst ifrån varandra längs denna linje.
Eftersom de två närmaste punkterna är de som är längst bort från linjen i exemplet ovan, är linjen som delar upp data i de två grupper som kategoriserades olika mittlinjen. Vår klassificerare är denna linje.
9. Dimensionalitetsminskning
Genom att använda tillvägagångssättet med dimensionsreduktion kan träningsdata ha färre indatavariabler. Enkelt uttryckt hänvisar det till processen att krympa storleken på din funktionsuppsättning. Låt oss föreställa oss att din datauppsättning har 100 kolumner; dimensionsreduktion kommer att minska den mängden till 20 kolumner.
Modellen blir automatiskt mer sofistikerad och har en större risk att överanpassas när antalet funktioner ökar. Det största problemet med att arbeta med data i större dimensioner är det som kallas "dimensionalitetens förbannelse", som uppstår när din data innehåller ett för stort antal egenskaper.
Följande element kan användas för att uppnå dimensionsreduktion:
- För att hitta och välja relevanta egenskaper används funktionsval.
- Genom att använda redan befintliga funktioner skapar funktionsteknik manuellt nya funktioner.
Slutsats
Oövervakad eller övervakad maskininlärning är båda möjliga. Välj övervakat lärande om din data är mindre riklig och väl taggad för utbildning.
Stora datamängder skulle ofta prestera och ge bättre resultat med hjälp av oövervakat lärande. Djup lärning metoder är bäst om du har en betydande datainsamling som är lättillgänglig.
Förstärkningslärande och djup förstärkningsinlärning är några ämnen du studerat. Neurala nätverks egenskaper, användningar och begränsningar är nu tydliga för dig. Sist men inte minst funderade du på alternativen för olika programmeringsspråk, IDE:er och plattformar när det kom till att skapa dina egna maskininlärningsmodeller.
Nästa sak du behöver göra är att börja studera och använda var och en maskininlärning närma sig. Även om ämnet är brett kan vilket ämne som helst förstås på några timmar om du fokuserar på dess djup. Varje ämne står för sig från de andra.
Du måste tänka på en fråga i taget, studera den, omsätta den i praktiken och använda ett valfritt språk för att implementera algoritmen/algoritmerna i den.
Kommentera uppropet