Nyheter, Prylar, Android, Mobiler, Appnedladdningar, Android

En snabb introduktion till maskininlärning. Del-3 (Beslutsträd) – Mot AI

Följande artikel hjälper dig: En snabb introduktion till maskininlärning. Del-3 (Beslutsträd) – Mot AI

Ursprungligen publicerad på Mot AI.

I den här artikeln kan vi se hur ett beslutsträd är en användbar maskininlärningsmetod. Jag rekommenderar dig att läsa del-1 och del-2 för att få en grundläggande idé om maskininlärning.

Foto av Subtle Cinematics på Unsplash

Hittills har vi sett regressionsmetoder för att hitta sambandet mellan de olika variablerna. Här kommer vi att använda ett trädbaserat tillvägagångssätt. De flesta av er kanske vet vad en träddatastruktur är. Om du inte gör det, ja, det är en datastruktur som ser ut så här.

Var och en av de blå ellipserna är en nod. Noder bär informationen. Varje nod (förutom rotnoden) har en överordnad nod, och en nod kan ha noll eller fler underordnade noder. Om en nod inte har några barn kallas de bladnoder.

Nog om träddatastrukturen. Nu kan vi titta på hur träd är användbara i maskininlärning.

Beslutsträd kan användas i både kontinuerliga och diskreta utmatningsproblem. Låt oss ta ett litet exempel, där en person köper en bil baserat på hans lön och ålder.

Genom att ha en grov titt kan vi se att en person sannolikt kommer att köpa om hans ålder och lön är hög. Nu kan vi lägga in dessa data i ett beslutsträd. I ett beslutsträd ställer en nod (annan än en lövnod) en fråga och en länk besvarar den. En lövnod gör en slutgiltig förutsägelse.

I det här problemet kan vi först dela upp åldern i två, ålder under 30 och ålder inte mindre än 30. När åldern är mindre än 30 är utdata alltid NEJ. när åldern är 30 år eller äldre beror resultatet på lönen. Vi kan se att om lönen är högre än 35 000 så är resultatet JA, och annars är resultatet NEJ.

Med hjälp av detta träd kan vi enkelt lösa det givna problemet. Vi kan använda olika algoritmer för att träna ett beslutsträd. Men du kanske har några frågor nu.

  • Varför valde vi ålder först?
  • Varför valde vi ålder

Här valde vi slumpmässigt ålder

ID-3 algoritm

Iterativ Dichotomizer-3-algoritm, aka ID-3, är en vanlig metod för att träna ett beslutsträd. För att riktigt förstå algoritmen kan vi ta ett exempel på en elev som åker på resor ibland. Om han åker på en resa eller inte beror på klimatet, hans humör, om det är en tenta den kommande veckan och om han har tillräckligt med pengar. Detta är uppgifterna för de senaste 14 veckorna.

Nu ska vi skapa ett beslutsträd för dessa data. Den första frågan som kommer till oss är, vilken variabel ska jag överväga först???

För att svara på det introducerar jag dig för en ny term som kallas renhet. Data är ren om de flesta raderna har samma utdata. I ovanstående data har utgångsvariabeln ‘Trip’ värdet ‘JA’ 9 gånger och ‘NEJ’ 5 gånger. Så uppgifterna är orena. Vårt tillvägagångssätt är att välja den variabel som minskar föroreningen.

Orenheten i data kvantifieras med en term som kallas entropi. Entropin av data kan beräknas med hjälp av formeln.

Där p är antalet gånger ‘JA’ matas ut och n är antalet gånger ‘NEJ’ matas ut.

Genom att tillämpa formeln ovan, beräknar vi entropin för vår datauppsättning till 0,940

Nu måste vi dela upp datasetet baserat på en variabel så att denna entropin minskar. För det måste vi välja den variabel som har minsta entropin, så att divisionen kommer att minska entropin med stor marginal.

Ta fallet med variabeln ‘Klimat’. Denna variabel har tre möjliga värden. För att beräkna den totala föroreningen som variabeln bidrar med delar vi först in data i tre grupper, baserat på variabeln klimat.

Nu kan vi beräkna entropierna för varje grupp separat. Vi finner att soligt har en entropi på 0,971, och regnigt har en entropi på 0,971, medan entropin för snö är 0 (eftersom vi kan se att utdatavariabeln är densamma för alla datapunkter). Den totala entropin för variabeln ‘klimat’ kan hittas genom att ta den viktade summan av entropier för alla grupper.

Med den här formeln fick vi ett entropivärde på 0,693 för ‘klimat’. På samma sätt hittade vi entropin som genereras av alla variabler.

Här kan vi se att klimatet har minst entropi. Så att dela upp data efter klimat kan minska den totala entropin avsevärt.

När vi delar upp data baserat på klimat kan vi se att snöigt klimat alltid har ett “JA”. Men “soligt” och “regnigt” klimat är fortfarande orent. Så ta de två uppsättningarna av data separat och upprepa processen. Vi kan se att när klimatet är soligt har ‘examen’ den lägsta entropin, medan när klimatet är regnigt har pengar den lägsta entropin. Så uppgifterna är uppdelade i enlighet med detta. Detta är beslutsträdet som gjorts från ovanstående process.

Detta är ett effektivt beslutsträd för att göra förutsägelser i det givna problemet. Nu under den kommande veckan, om klimatet är soligt, hans humör är glad, provet är där och pengarna inte finns, kan vi använda det här beslutsträdet för att förutse att han inte kommer att åka på en resa.

I ovanstående fall har rotnoden tre undernoder, eftersom det variabla klimatet har tre möjliga värden. I många fall, för att förbättra beräkningseffektiviteten, är det bättre att ha högst 2 underordnade noder för en överordnad nod. (Ett sådant träd kallas ett binärt träd). Men hur kan vi uppnå det? I det här fallet bör de tre värdena delas in i två grupper och varje grupp kommer att leda till en viss barnnod. Men vad är den optimala uppdelningen av värdena?

Ta en annan situation där en indatavariabel är kontinuerlig. Kom ihåg föregående exempel där vi förutspår ett köp baserat på lön och ålder. Vi delade upp åldern vid 30 och lönen till 35 000. Men hur kan vi hitta den bästa punkten att dela upp dessa variabler?

Med ID-3 är det svårt att lösa dessa problem. Olika andra algoritmer används för att lösa dessa problem. I del-4 kan vi se hur de tas upp. Följ mig för att få de kommande delarna. Ge dina tvivel och förslag i svaret så kommer de att beaktas i de kommande delarna. Glad läsning!!!

Foto av JJ Ying på Unsplash

Publicerad via Mot AI

Table of Contents

Toggle