När jag började arbeta med maskininlärningsproblem fick jag panik över vilken algoritm jag skulle använda. Eller vilken är lätt att applicera? Om du är som jag kan den här artikeln hjälpa dig att lära dig om artificiell intelligens och maskininlärningsalgoritmer, metoder eller tekniker för att lösa eventuella oväntade eller förväntade problem.
Maskininlärning är en kraftfull AI-teknik som kan utföra en uppgift effektivt utan explicita instruktioner. En ML-modell kan lära av dina data och erfarenheter. Maskininlärningsapplikationer är automatiska, robusta och dynamiska. Olika algoritmer har utvecklats för att hantera denna dynamiska natur av verkliga problem. I stort sett finns det tre typer av maskininlärningsalgoritmer: övervakad inlärning, oövervakad inlärning och förstärkningsinlärning.
De bästa algoritmerna för artificiell intelligens och maskininlärning
Att välja lämplig maskininlärningsteknik eller metod är en av huvuduppgifterna för att utveckla ett artificiell intelligens- eller maskininlärningsprojekt. Eftersom det finns flera algoritmer tillgängliga, och alla har sina fördelar och användbarhet. Nedan berättar vi om 20 maskininlärningsalgoritmer för nybörjare och proffs. Så, låt oss ta en titt.
1. Naiv Bayesian
En Naiv Bayes klassificerare är en probabilistisk klassificerare baserad på Bayes teorem, med antagandet om oberoende mellan egenskaper. Dessa funktioner skiljer sig från applikation till applikation. Det är en av de mest bekväma maskininlärningsmetoderna för nybörjare att öva.
Naiv Bayes är en betingad sannolikhetsmodell. Givet en probleminstans som ska klassificeras, representerad av en vektor x = (xYo . . . xnorr) representerar vissa egenskaper n (oberoende variabler), tilldelar den aktuella instansen sannolikheter för vart och ett av de potentiella resultaten K:
Problemet med ovanstående formulering är att om antalet egenskaper n är signifikant eller om ett element kan ta ett stort antal värden, så är det inte möjligt att basera en sådan modell på sannolikhetstabeller. Därför utvecklar vi om modellen för att göra den mer hanterbar. Med Bayes sats kan den villkorade sannolikheten skrivas som,
Med Bayesiansk sannolikhetsterminologi kan ovanstående ekvation skrivas som:
Denna artificiella intelligensalgoritm används i textklassificering, dvs sentimentanalys, dokumentkategorisering, skräppostfiltrering och nyhetsklassificering. Denna maskininlärningsteknik fungerar bra om indata klassificeras i fördefinierade grupper. Dessutom kräver det mindre data än logistisk regression. Den har överlägsen prestanda inom flera domäner.
2. Stöd vektor maskin
Support Vector Machine (SVM) är en av de mest använda övervakade maskininlärningsalgoritmerna inom textklassificering. Denna metod används även för regression. Det kan också kallas Support Vector Networks.
Cortes & Vapnik utvecklade denna metod för binär klassificering. Modell för övervakad inlärning är en maskininlärningsmetod som härleder resultatet från märkta träningsdata.
En stödvektormaskin konstruerar ett hyperplan eller en uppsättning hyperplan i ett mycket högt eller oändligt dimensionellt område. Beräknar den linjära separationsytan med en maximal marginal för en given träningsuppsättning.
Endast en delmängd av ingångsvektorerna kommer att påverka valet av marginal (inringad i figuren); Sådana vektorer kallas stödvektorer. När det inte finns någon linjär separationsyta, till exempel i närvaro av brusiga data, är SVM-algoritmer med en slackvariabel lämpliga. Denna klassificerare försöker partitionera datautrymmet med hjälp av linjära eller icke-linjära avgränsningar mellan de olika klasserna.
SVM har använts i stor utsträckning i problem med icke-linjär regression och mönsterklassificering. Dessutom är det en av de bästa teknikerna för att utföra automatisk textkategorisering. Det bästa med den här algoritmen är att den inte gör starka antaganden om data.
För att implementera Support Vector Machine: datavetenskapsbibliotek i Python: SciKit Learn, PyML, SVMStruct Python, LIBSVM och datavetenskapsbibliotek i R: Klar, e1071.
3. Linjär regression
Linjär regression är ett direkt tillvägagångssätt som används för att modellera sambandet mellan en beroende variabel och en eller flera oberoende variabler. Om det finns en oberoende variabel kallas den enkel linjär regression. Om mer än en oberoende variabel är tillgänglig kallas detta multipel linjär regression.
Denna formel används för att uppskatta verkliga värden som priset på bostäder, antalet samtal och total försäljning baserat på kontinuerliga variabler. Här etableras sambandet mellan de oberoende och beroende variablerna genom att passa den bästa linjen. Denna linje med bästa passform är känd som regressionslinjen och representeras av en linjär ekvation
Y = a * X + b.
här,
- Y – beroende variabel
- en sluttning
- X – oberoende variabel
- b – korsning
Denna maskininlärningsmetod är enkel att använda. Springer snabbt. Detta kan användas i företag för försäljningsprognoser. Den kan också användas vid riskbedömning.
4. Logistisk regression
Här är en annan maskininlärningsalgoritm, logistisk regression eller logitregression, som används för att uppskatta diskreta värden (binära värden som 0/1, ja/nej, sant/falskt) baserat på en given uppsättning oberoende variabler. Uppgiften för denna algoritm är att förutsäga sannolikheten för en incident genom att anpassa data till en logitfunktion. Deras utgångsvärden är mellan 0 och 1.
Formeln kan användas inom olika områden som maskininlärning, vetenskaplig disciplin och medicinska områden. Den kan användas för att förutsäga risken för att en viss sjukdom uppstår baserat på observerade patientegenskaper.
Logistisk regression kan användas för att förutsäga en kunds önskan att köpa en produkt. Denna maskininlärningsteknik används i väderprognoser för att förutsäga sannolikheten för regn.
Logistisk regression kan delas in i tre typer:
- Binär logistisk regression
- Multinominell logistisk regression
- Ordinal logistisk regression
Logistisk regression är mindre komplicerad. Dessutom är den robust. Kan hantera icke-linjära effekter. Denna ML-algoritm kan dock överanpassa om träningsdatan är sparsam och högdimensionell. Du kan inte förutsäga pågående resultat.
5. K-närmaste granne (KNN)
K-närmaste granne (kNN) är ett välkänt statistiskt tillvägagångssätt för klassificering och har studerats flitigt genom åren och tillämpats tidigt på kategoriseringsuppgifter. Det fungerar som en icke-parametrisk metod för klassificerings- och regressionsproblem.
Denna AI- och ML-metod är ganska enkel. Bestämmer kategorin för ett testdokument t baserat på röstning från en uppsättning k dokument närmast t vad gäller avstånd, vanligtvis euklidiskt avstånd. Den väsentliga beslutsregeln för ett t-testdokument för kNN-klassificeraren är:
Där y(xi,c) är en binär klassificeringsfunktion för utbildningsdokumentet xi (returerar värdet 1 om xi är taggat med c, eller 0 annars), taggar denna regel med t den kategori som får flest röster i närmaste k -grannskap.
Vi kan kartläggas KNN till våra verkliga liv. Om du till exempel vill träffa några personer som du inte har någon information om, skulle du föredra att bestämma över dina nära vänner och därför i vilka kretsar du rör dig och få tillgång till deras information. Denna algoritm är beräkningsmässigt dyr.
6. K-medel
K-betyder klustring är en metod för oövervakat lärande som är tillgänglig för klusteranalys inom datautvinning. Denna algoritm syftar till att dela upp n observationer i k grupper där varje observation tillhör gruppens närmaste medelvärde. Denna algoritm används i marknadssegmentering, datorseende och astronomi, bland många andra domäner.
7. Beslutsträd
Ett beslutsträd är ett beslutsstödsverktyg som använder en grafisk representation, det vill säga en trädformad graf eller beslutsmodell. Det används ofta i beslutsanalys och är också ett populärt verktyg inom maskininlärning. Beslutsträd används i verksamhetsforskning och förvaltning.
Den har ett flödesschemaliknande struktur där varje intern nod representerar ett “test” på ett attribut, varje gren representerar testresultatet och varje lövnod representerar en klassetikett. Vägen från rot till blad kallas klassificeringsregler. Den består av tre typer av noder:
- Beslutsnoder: representeras vanligtvis av kvadrater,
- Chansnoder: vanligtvis representerade av cirklar,
- Slutnoder: vanligtvis representerade av trianglar.
Ett beslutsträd är enkelt att förstå och tolka. Använd en vit lådmodell. Dessutom kan den kombineras med andra beslutstekniker.
8. Random Forest
Random forest är en populär inlärningsteknik för ensemble som fungerar genom att konstruera en mängd beslutsträd vid träningstid och generera kategorin, vilket är läget för kategorierna (klassificering) eller medelförutsägelsen (regression) för varje träd.
Exekveringstiden för denna maskininlärningsalgoritm är snabb och kan fungera med saknade och obalanserade data. Men när vi använde det för regression misslyckades det med att förutsäga utanför intervallet i träningsdata och kan överpassa data.
9. VAGN
Klassificerings- och regressionsträdet (CART) är en typ av beslutsträd. Ett beslutsträd fungerar som en rekursiv partitioneringsmetod och CART delar upp var och en av ingångsnoderna i två underordnade noder. På varje nivå i ett beslutsträd identifierar algoritmen ett villkor: vilken variabel och nivå som kommer att användas för att dela upp ingångsnoden i två undernoder.
Stegen för CART-algoritmen ges nedan:
- Ta indata
- bästa divisionen
- bästa variabeln
- Dela indata i vänster och höger noder
- Fortsätt steg 2-4
- Beslutsträdbeskärning
10. A priori maskininlärningsalgoritm
Apriori-algoritmen är en kategoriseringsalgoritm. Denna maskininlärningsteknik används för att klassificera stora mängder data. Den kan också användas för att spåra hur relationer utvecklas och hur kategorier konstrueras. Denna algoritm är en oövervakad inlärningsmetod som genererar associationsregler från en given datamängd.
Den a priori maskininlärningsalgoritmen fungerar så här:
- Om en uppsättning artiklar förekommer ofta, förekommer också alla undergrupper av artiklarna ofta.
- Om en artikeluppsättning förekommer sällan, har alla superset i artikeluppsättningen också sällsynta förekomster.
Denna ML-algoritm används i en mängd olika applikationer, som att upptäcka biverkningar av läkemedel, analys av marknadskorg och automatiska kompletteringsapplikationer. Det är lätt att implementera.
11. Principal Component Analysis (PCA)
Principal component analysis (PCA) är en oövervakad algoritm. De nya funktionerna är ortogonala, vilket betyder att de är okorrelerade. Innan du utför PCA bör du alltid normalisera din datamängd eftersom omvandlingen är skalberoende. Om du inte gör det kommer funktionerna som är i den mest betydande skalan att dominera de nya kärnkomponenterna.
PCA är en mångsidig teknik. Denna algoritm är enkel och lätt att implementera. Den kan användas i bildbehandling.
12. Cat Boost
CatBoost är en maskininlärningsalgoritm med öppen källkod som kommer från Yandex. Namnet ‘CatBoost’ kommer från två ord, ‘Category’ och ‘Boosting’. Det kan kombineras med ramverk för djupinlärning, det vill säga Googles TensorFlow och Apples Core ML. CatBoost kan arbeta med många typer av data för att lösa olika problem.
13. Iterative Dichotomizer 3 (ID3)
Iterative Dichotomiser 3 (ID3) är en algoritmisk beslutsträdsinlärningsregel introducerad av Ross Quinlan som används för att tillhandahålla ett beslutsträd från en datamängd. Det är föregångaren till algoritmprogrammet C4.5 och används inom områdena maskininlärning och språklig kommunikation.
ID3 kan överanpassa träningsdata. Denna algoritmiska regel är svårare att använda på kontinuerliga data. Det garanterar inte en optimal lösning.
14. Hierarkisk gruppering
Hierarkisk klusterbildning är en form av klusteranalys. Ett klusterträd (ett dendrogram) utvecklas till hierarkiska kluster för att illustrera data. I hierarkisk klustring är varje grupp (nod) länkad till två eller flera efterföljande grupper. Varje nod i klusterträdet innehåller liknande data. Noder grupperas i grafen med andra liknande noder.
Algoritm
Denna maskininlärningsmetod kan delas in i två modeller, eller:
Bottom-up (Hierarchical Agglomerative Clustering, HAC)
- I början av denna maskininlärningsteknik tar du varje dokument som en enda grupp.
- Kombinera två objekt samtidigt i en ny grupp. Sättet som sammanfogningar slås samman innebär att man beräknar en skillnad mellan varje inkorporerat par och därför de alternativa proverna. Det finns många alternativ för att göra detta. Några av dem är:
till. fullständig länk: Likhet med det mest avlägsna paret. En begränsning är att extremvärden kan få närliggande kluster att slås samman senare än optimalt.
b. Enkel länk: Likheten mellan det närmaste paret. Det kan orsaka för tidig fusion, även om dessa grupper är ganska olika.
C. Gruppmedelvärde: likhet mellan grupper.
d. Centroid likhet: varje iteration slår samman grupperna med den mest lika mittpunkten.
- Matchningsprocessen fortsätter tills alla element är sammanslagna till en enda grupp.
Uppifrån och ner (delande gruppering)
- Datan börjar med ett kombinerat kluster.
- Gruppen är uppdelad i två distinkta delar baserat på någon grad av likhet.
- Grupperna delas i två om och om igen tills de bara innehåller en enda datapunkt.
15. Backpropagation
Backpropagation är en övervakad inlärningsalgoritm. Denna ML-algoritm kommer från området ANN (Artificial Neural Networks). Detta nätverk är ett flerlagers feed-forward-nätverk. Denna teknik syftar till att utforma en given funktion genom att modifiera de interna vikterna för ingångssignalerna för att producera den önskade utsignalen. Det kan användas för klassificering och regression.
Algoritmen för återförökning har vissa fördelar, det vill säga den är lätt att implementera. Den matematiska formeln som används i algoritmen kan appliceras på vilket nätverk som helst. Beräkningstiden kan minskas om vikterna är små.
Algoritmen för återförökning har vissa nackdelar, som att den är känslig för bullriga data och extremvärden. Det är ett helt arraybaserat tillvägagångssätt. Den faktiska prestandan för denna algoritm beror helt på indata. Utgången kan vara icke-numerisk.
16. AdaBoost
AdaBoost står för Adaptive Boosting, en maskininlärningsmetod representerad av Yoav Freund och Robert Schapire. Det är en metaalgoritm som kan integreras med andra inlärningsalgoritmer för att förbättra prestandan. Denna algoritm är snabb och enkel att använda. Fungerar bra med stora datamängder.
17. Djup inlärning
Deep learning är en uppsättning tekniker inspirerade av den mänskliga hjärnans mekanism. De två huvudsakliga djuplärande, dvs. konvolutionsneurala nätverk (CNN) och återkommande neurala nätverk (RNN), används i textklassificering.
Algoritmer för djupinlärning som Word2Vec eller GloVe används också för att erhålla högrankade vektorrepresentationer av ord och förbättra noggrannheten hos klassificerare som är tränade med traditionella maskininlärningsalgoritmer.
Denna maskininlärningsmetod kräver många träningsprov istället för traditionella maskininlärningsalgoritmer, det vill säga minst miljontals märkta exempel. Däremot når traditionella maskininlärningstekniker en exakt tröskel där att lägga till fler träningsprov inte förbättrar deras övergripande noggrannhet. Klassificerare för djupinlärning presterar bättre med mer data.
18. Gradientförstärkningsalgoritm
Gradientförstärkning är en maskininlärningsmetod som används för klassificering och regression. Det är ett av de mest kraftfulla sätten att utveckla en prediktiv modell. En gradientförstärkningsalgoritm har tre element:
- förlustfunktion
- svag lärling
- additiv modell
19. Red Hopfield
Ett Hopfield-nätverk är en typ av rekursiv artificiellt neuralt nätverk ges av John Hopfield 1982. Detta nätverk syftar till att lagra ett eller flera mönster och hämta de fullständiga mönstren baserat på den partiella inmatningen. I ett Hopfield-nätverk är alla noder in- och utgångar och är helt sammankopplade.
20. C4.5
C4.5 är ett beslutsträd som uppfunnits av Ross Quinlan. Det är en förbättrad version av ID3. Detta algoritmiska program täcker några basfall:
- Alla prover på listan tillhör en liknande kategori. Skapa en lövnod för beslutsträdet och säg åt det att bestämma den kategorin.
- Skapa en beslutsnod högre upp i trädet med klassens förväntade värde.
- Skapa en beslutsnod längre upp i trädet med det förväntade värdet.
slutgiltiga tankar
Det är mycket viktigt att använda rätt algoritm baserat på din data och domän för att utveckla ett effektivt maskininlärningsprojekt. Dessutom är det viktigt att förstå den kritiska skillnaden mellan varje maskininlärningsalgoritm för att ta itu med “när väljer jag vilken.”
Som i en maskininlärningsmetod har en maskin eller enhet lärt sig genom inlärningsalgoritmen. Jag är övertygad om att den här artikeln hjälper dig att förstå algoritmen. Om du har några förslag eller frågor, tveka inte att fråga. Fortsätt läsa.
