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 2024

Video: Camels, Code & Lab Coats: How AI Is Advancing Science and Medicine 2024
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

Hur man lägger till text i en sätter () Funktion i C Programmering

Hur man lägger till text i en sätter () Funktion i C Programmering

När du behöver visa en annan textrad, använd C-programmeringsfärdigheterna för att skapa en annan puts () -funktion i källkoden, som visas i Visa två textlinjer. VISA TILL TEXTFINER # inkludera int main () {sätter ("Hickory, Dickory, Dock,"); sätter ("musen sprang klockan."); returnera (0);} Den andra ...

Förklarar variabler i C-dummies

Förklarar variabler i C-dummies

Variabler är det som gör dina program zooma. Programmering kan bara inte bli gjort utan dem. Så om du inte har introducerats till variabler än, här går du. Valerie Variable är en numerisk variabel. Hon älskar att hålla nummer - vilket nummer som helst; det spelar ingen roll. När hon ser ett lika tecken tar hon ett värde och ...

Redaktörens val

Gör rädsla för din vän - dummies

Gör rädsla för din vän - dummies

Rädsla är lika verklig som mod. Även om värdet av rädsla inte är lika uppenbart som modets värde, har det dess fördelar. Rädsla är din instinkt som säger att du är obehaglig - även om situationen inte kommer att skada dig. Alla har haft den känslan när man hellre drar locket ...

Hur man ökar din självmedvetenhet - dummies

Hur man ökar din självmedvetenhet - dummies

Du kommer att vara med dig själv under en livstid. Ingenting kommer att förändra det faktum. Att lära känna, som att lyssna på och uppskatta själv är avgörande för din sanity. Kanske kommer du till att älska, acceptera och omfamna alla du är, är svår för dig att föreställa dig just nu, men du kan göra ...

Hur man ökar din mentala flexibilitet - dummies

Hur man ökar din mentala flexibilitet - dummies

ÄR flexibel i arbete och relationer är ett tecken på en högpresterande. Medan perfektionister är styva och obehagliga i sitt arbete och hur de interagerar med andra, är högpresterande mer öppna och tillmötesgående. Att vara mer flexibel på jobbet gav Ralph aldrig förslag under brainstorming vid gruppmöten. Han kände att hans lag ...

Redaktörens val

Nätverksadministration: Linux-installation och virtuella konsoler - dummies

Nätverksadministration: Linux-installation och virtuella konsoler - dummies

Linux är i sig ett kommandoradsorienterat operativsystem. Grafiska användargränssnitt - inklusive installationsprogrammets GUI - tillhandahålls av en valfri komponent som heter X Window System. Men medan du arbetar med det grafiska användargränssnittet för installationsprogrammet, håller Linux flera ytterligare kommandorads-konsoler öppna. Normalt behöver du inte ...

Nätverksadministration: Linux-loggning, logg och systemavstängning - dummies

Nätverksadministration: Linux-loggning, logg och systemavstängning - dummies

Alla användare som åtkomst ett Linux-system, lokalt eller över ett nätverk, måste verifieras av ett giltigt användarkonto på systemet. I det följande får du veta hur du loggar in och ut på ett Linux-system och hur du stänger av systemet. Logga in När Linux startar upp visas det ...

Nätverksadministration: Licensserver - Dummies

Nätverksadministration: Licensserver - Dummies

I vissa program kan du köpa nätverkslicenser som gör att du kan installera programvaran på många datorer som du vill, men reglera antalet personer som kan använda programvaran vid en viss tidpunkt. För att styra hur många som använder programvaran, är en särskild licensserver inrättad. När en användare börjar ...