Hem Personliga finanser Maskininlärning: Skapa egna egenskaper i data - dummies

Maskininlärning: Skapa egna egenskaper i data - dummies

Innehållsförteckning:

Video: Camels, Code & Lab Coats: How AI Is Advancing Science and Medicine 2025

Video: Camels, Code & Lab Coats: How AI Is Advancing Science and Medicine 2025
Anonim

Ibland har de otillräckliga uppgifterna du erhåller från olika källor inte de funktioner som behövs för att utföra maskininlärningsuppgifter. När detta händer måste du skapa egna funktioner för att få önskat resultat. Att skapa en funktion betyder inte att man skapar data från tunn luft. Du skapar nya funktioner från befintliga data.

Förstå behovet av att skapa funktioner

En stor begränsning av maskininlärningsalgoritmer är att det inte går att gissa en formel som kan koppla ditt svar till de funktioner du använder. Ibland händer detta oförmåga att gissa eftersom du inte kan kartlägga svaret med hjälp av den information du har tillgänglig (vilket innebär att du inte har rätt information). I andra fall hjälper inte informationen du algoritmen lär dig ordentligt.

Till exempel, om du modellerar priset på fastighetsfastigheter är markytan ganska förutsägbar eftersom större fastigheter tenderar att kosta mer. Men om du istället för ytan ger din maskininlärningsalgoritm med längden på sidorna på marken (latitud och longitud koordinater av dess hörn), kan din algoritm inte räkna ut vad man ska göra med informationen du gav. Vissa algoritmer klarar av att hitta förhållandet mellan funktionerna, men de flesta algoritmer kommer inte att göra det.

Svaret på det här problemet är att skapa funktion. Funktionsskapande är den del av maskininlärning som anses vara mer en konst än en vetenskap, eftersom det innebär mänskligt ingripande vid kreativ blandning av befintliga funktioner. Du utför denna uppgift med addition, subtraktion, multiplikation och förhållande för att generera nya härledda funktioner med mer förutsägande effekt än originalet.

Att veta problemet väl och ta reda på hur ett människa skulle lösa det är en del av funktionsskapande. Så, att ansluta till föregående exempel är det faktum att markytan ansluter till fastighetspriset allmänt känt. Om en yta saknas från dina funktioner när du försöker gissa värdet på en egendom kan du återställa sådan information från befintliga data - och därmed ökar prestandan av förutsägelserna.

Oavsett om du lita på sunt förnuft, vanligt kunnande eller specialiserad expertis kan du göra mycket för din maskinalgoritm om du först räknar ut vilken information som ska fungera bäst för problemet och sedan försök att få den tillgänglig eller härleda den bland dina funktioner.

Skapa funktioner automatiskt

Du kan skapa några nya funktioner automatiskt.Ett sätt att uppnå automatisk funktionsskapande är att använda polynomial expansion. Specifika sätt är tillgängliga för att uppnå polynomial expansion så att du skapar funktioner automatiskt i både R och Python. För tillfället måste du förstå begreppen bakom polynomial expansion.

I polynomial expansion skapar du automatiskt interaktioner mellan funktioner och skapar makter (till exempel beräkning av torget för en funktion). Interaktionerna är beroende av multiplicering av funktionerna. Att skapa en ny funktion med multiplikation hjälper till att hålla reda på hur funktioner tenderar att verka som en helhet. Därför hjälper det att kartlägga komplexa relationer mellan dina funktioner som kan leda till speciella situationer.

Ett bra exempel på en interaktion är ljudet från en bil och priset på bilen. Konsumenter uppskattar inte bullriga bilar såvida de inte köper en sportbil, i vilket fall motorbullret är ett plus som påminner ägaren till bilens kraft. Det gör också medståndare märker den coola bilen, så ljud spelar en stor roll för att visa sig, eftersom brus säkert kommer att locka andras uppmärksamhet. Å andra sidan är buller när du kör en familjebil inte allt så coolt.

I en maskininlärningsapplikation försöker man förutse preferenshastigheten för en viss bil, så som egenskaper som buller och bilens pris är självprediktiva. Att multiplicera de två värdena och lägga till dem i uppsättningen funktioner kan emellertid tydligt ange en inlärningsalgoritm att målet är en sportbil (när du multiplicerar höga ljudnivåer med ett högt pris).

Stödjer hjälp genom att skapa olinjära relationer mellan svaret och funktionerna, som antyder specifika situationer.

Som ett annat exempel, tänk dig att du måste förutsäga en persons årliga utgifter. Ålder är en bra förutsägelse, för som människor blir gamla och mogna förändras också deras livs- och familjesituation. Eleverna börjar fattiga men hitta jobb och bygga en familj. Utifrån en allmän synvinkel tenderar utgifterna att växa som ålder till en viss punkt. Pensionering markerar vanligen en punkt där kostnaderna tenderar att minska. Ålder innehåller sådan information, men det är en egenskap som tenderar att växa, och kostnader som relaterar till tillväxten bidrar inte till att beskriva inversionen som uppträder vid en viss ålder.

Att lägga till kvadratfunktionen bidrar till att skapa en counter-effekt för att åldra sig själv, vilket är liten i början men växer snabbt med åldern. Den slutliga effekten är en parabol, med en initial tillväxt som kännetecknas av en topp i utgifterna vid en viss ålder och sedan en minskning.

Som tidigare nämnts kan man i förväg veta att dynamiken (ljud och sportbil, förbrukning och äldre ålder) kan hjälpa dig att skapa rätt egenskaper. Men om du inte känner till dessa dynamik i förväg, kommer polynomial expansion automatiskt att skapa dem för dig, eftersom det med en viss ordning kommer att skapa interaktioner och befogenheter i den ordningen. Ordern pekar på antalet multiplikationer och den maximala effekten som ska tillämpas på de befintliga funktionerna.

Så en polynomiell expansion av ordning 2 höjer alla funktioner till den andra kraften och multiplicerar varje enskild funktion av alla andra. (Du får multiplikationen av alla kombinationer av två funktioner.) Ju högre antal, desto fler nya funktioner kommer att skapas, men många av dem kommer att vara överflödiga och bara bidra till att din maskininlärningsalgoritm överfit data.

När du använder polynomial expansion måste du vara uppmärksam på explosionen av funktioner du skapar. Kraften ökar linjärt, så om du har fem funktioner och du behöver en expansion av ordning 2, ökar varje funktion upp till den andra effekten. Att öka ordern på en lägger bara till en ny strömfunktion för varje originalfunktion. Istället ökar interaktionen baserat på kombinationer av funktionerna upp till den ordningen.

Faktum är att med fem funktioner och en polynomial expansion av ordning 2 skapas alla tio unika kombinationer av funktionernas koppling. Att öka ordern till 3 kräver att alla unika kombinationer av två variabler skapas, plus de unika kombinationerna av tre variabler, det vill säga 20 funktioner.

Maskininlärning: Skapa egna egenskaper i data - dummies

Redaktörens val

Vad är en Java-karta? - dummies

Vad är en Java-karta? - dummies

Arrays och specialiserade listor gör det möjligt att utföra en fantastisk uppsättning uppgifter med Java. Det finns dock situationer där en Java-applikation behöver något som är mer relaterat till en databas, utan att egentligen ha allt databasbagage (som att behöva köpa en separat applikation). Till exempel kanske du vill kunna ...

Några få saker om Java Math - dummies

Några få saker om Java Math - dummies

Tro det eller inte, datorer - även de mest kraftfulla - Ha vissa begränsningar när det gäller att utföra matematiska beräkningar. Dessa begränsningar är vanligtvis obetydliga, men ibland slår de sig och biter på dig. Här är de saker du behöver se upp för när du gör matte i Java. Helhetsflöde Det grundläggande problemet ...

Vad är recursion i Java Programmering? - dummies

Vad är recursion i Java Programmering? - dummies

Rekursion är en grundläggande programmeringsteknik som du kan använda i Java, där en metod kallar sig för att lösa ett problem. En metod som använder denna teknik är rekursiv. Många programmeringsproblem kan lösas endast genom rekursion, och vissa problem som kan lösas med andra tekniker löses bättre genom rekursion. En av ...

Redaktörens val

4 Måste-inkludera i din blogg sidobardesign - dummies

4 Måste-inkludera i din blogg sidobardesign - dummies

Din bloggens sidofält är viktig fastighet som bör innehålla de element du vill ha mest. När du utformar din blogg sidofält kan du dra från en nästan oändlig lista över sidospårelement. Genom att välja noggrant vad som ska inkluderas (och vad som inte ska inkluderas) kan du ställa in din blogg från andra.

5 Användbara Wordpress Plugins - dummies

5 Användbara Wordpress Plugins - dummies

Om du bloggar på en självhävd plattform med WordPress-programvara, är det dags att anpassa din blogg med plug-ins - programvara som kan "anslutas" till din befintliga WordPress bloggprogramvara. Plug-ins gör det möjligt för dig att göra allt från funktionsbildspel i dina blogginlägg för att ansluta sociala medier till din webbplats. Här är fem användbara ...

7 Sätt att erövra Writer's Block som en Blogger - dummies

7 Sätt att erövra Writer's Block som en Blogger - dummies

Varje bloggare möter författarens block i ett tid eller annan. Om du är den typ av bloggare som sköter innehåll varje dag, kan författarens block vara stäverande. Kan du inte ta en paus för att få ditt skrivande mojo tillbaka? Prova en (eller flera) av dessa sju sätt att slå författarens block för att få dig tillbaka ...

Redaktörens val

10 Stora elektronikkomponentkällor - dummies

10 Stora elektronikkomponentkällor - dummies

Letar du efter några bra källor till dina elektroniska delar? Denna lista ger dig några fleråriga favoriter, både inom och utanför Nordamerika. Denna lista är inte uttömmande. Du hittar bokstavligen tusentals specialutbud för ny och begagnad elektronik. Plus, Amazon och eBay ger virtuella marknadsplatser för alla sorters säljare - ...

Elektronik Basics: Resistance - dummies

Elektronik Basics: Resistance - dummies

I elektronikvärlden är motståndet inte meningslöst. Faktum är att motstånd kan vara mycket användbart. Utan motstånd skulle elektronik inte vara möjligt. Elektronik handlar om att manipulera strömmen av ström, och ett av de mest grundläggande sätten att manipulera strömmen är att minska det genom resistans. Utan motstånd strömmar strömmen oreglerad och där ...

Digital elektronik: Så här installerar du BASIC Stamp Editor och Anslut till Stämpeldummorna

Digital elektronik: Så här installerar du BASIC Stamp Editor och Anslut till Stämpeldummorna

För att berätta för BASIC Stamp vad du vill göra i ditt digitala elektronikprojekt måste du programmera det. BASIC Stamp Windows Editor är den programvara som du använder på din dator för att skapa program som kan laddas ner till en BASIC Stamp-mikrokontroller. Denna programvara är tillgänglig gratis från Parallax webbplats. ...