Funktionskonstruktion

Funktionsteknik är processen att använda en datadomän för att skapa funktioner som behövs för maskininlärning . Funktionsteknik är grunden för maskininlärningsapplikationer och är både svårt och kostsamt. Behovet av manuell funktionsteknik kan undvikas genom att automatisera tillämpad funktionsinlärning .

Funktionsteknik är ett informellt område men anses väsentligt inom maskininlärning.

Det är svårt att komma på tecken, det tar mycket tid och djup kunskap. "Applied Machine Learning" är i grunden funktionsteknik.

—  Andrew Eun [1]

Tecken

Ett tecken är en egenskap eller egenskap som är inneboende i alla oberoende objekt, vars analys eller prognos vi gör. Vilken kvalitet som helst kan vara användbar om den är användbar för modellen.

Innebörden av en egenskap och hur den skiljer sig från kvalitet skulle vara lättare att förstå i samband med problemet. Ett tecken är en egenskap som kan hjälpa till att lösa ett problem [2] .

Vikten av funktioner

Funktionerna i dina data är viktiga för de prediktiva modeller du använder och påverkar resultatet du kommer att få. Kvaliteten och kvantiteten av funktioner har stor inverkan på kvaliteten på modellen, om den blir bra eller inte [3] .

Vi kan säga att ju bättre tecknen är, desto bättre blir resultatet. Detta är inte helt sant, eftersom resultatet kommer att bero på modellen och data, inte bara på de valda funktionerna. Men valet av rätt egenskaper är fortfarande en mycket viktig fråga. Bättre funktioner kan ge en enklare och mer flexibel modell, och ofta ge bättre resultat [2] .

De tillämpade algoritmerna är mycket standard bland medlemmar i Kaggle- communityt . […] Vi lägger större delen av vår ansträngning på funktionsteknik. [...] Vi är också mycket noga med att kassera funktioner som kan riskera att överanpassa vår modell.

—  Xavier Conort [4]

…vissa maskininlärningsprojekt lyckas och andra misslyckas. Vad leder till detta? De viktigaste faktorerna är de funktioner som används.

—  Pedro Domingos [5]

Processen att konstruera funktioner

Funktionskonstruktionsprocessen är [6]

  1. Brainstorming eller funktionskontroll ;
  2. Besluta vilka skyltar som ska skapas;
  3. Skapande av skyltar;
  4. Kontrollera vilka funktioner som fungerar med din modell;
  5. Förbättring av skyltar vid behov;
  6. Återgå till brainstorming-metoden/skapa andra funktioner tills arbetet är klart.

Betydelsen av funktioner

En egenskap kan vara strikt signifikant (har information som inte finns i andra funktioner), signifikant, svagt signifikant (innehåller information som kan finnas i andra funktioner) eller obetydlig [7] . Det är viktigt att skapa många funktioner, även om några av dem är obetydliga kan du inte bara kassera dem. Då kan funktionsval användas för att förhindra övermontering [8] .

Explosion av skyltar

En explosion av funktioner kan orsakas av en kombination av funktioner eller mönster av funktioner, vilket leder till en snabb ökning av det totala antalet funktioner.

Det finns flera lösningar för att stoppa funktionsexplosionen, såsom regularisering , kärnmetod , funktionsval [9] .

Automatisk funktionskonstruktion

Feature engineering automation har blivit ett nytt forskningsämne inom den akademiska världen. 2015 introducerade MIT- forskare algoritmen "Deep Feature Synthesis" och demonstrerade dess prestanda i en online datavetenskapstävling där algoritmen slog 615 av 906 mänskliga team [10] [11] . Algoritmen Deep Feature Synthesis är tillgänglig som ett bibliotek med öppen källkod som heter Featuretools . Detta arbete har fortsatt av andra forskare, inklusive IBMs OneBM [12] och Berkeleys ExploreKit [13] . IBM-forskarna säger att automatisering av funktionsteknik "hjälper forskare att minska datautforskningstiden genom att möjliggöra försök och felexperiment på kort tid. Å andra sidan gör det det möjligt, utan att vara expert, det vill säga utan att vara bekant med dataanalysmetoder, att snabbt välja ett värde från datan med liten ansträngning, tid och pengar.

Kommersiella produkter har uppstått från nya företag som fokuserar på maskininlärning, som H20.ai [14] och Feature Labs [15] .

Se även

Anteckningar

  1. Maskininlärning och AI via hjärnsimuleringar . Stanford University . Hämtad 3 augusti 2017. Arkiverad från originalet 22 december 2018.
  2. ↑ 1 2 Upptäck funktionsteknik, hur man konstruerar funktioner och hur man blir bra på det - behärskning av maskininlärning . Behärskning av maskininlärning . Hämtad 11 november 2015. Arkiverad från originalet 4 mars 2016.
  3. Feature Engineering: Hur transformerar man variabler och skapar nya? . Analytics Vidhya (12 mars 2015). Hämtad 12 november 2015. Arkiverad från originalet 5 mars 2016.
  4. Frågor och svar med Xavier Conort . www.kaggle.com (2015). Hämtad 1 november 2015. Arkiverad från originalet 27 november 2015.
  5. Domingos, Pedro Några användbara saker att veta om maskininlärning . Hämtad 12 november 2015. Arkiverad från originalet 23 januari 2016.
  6. Big Data: Vecka 3 Video 3 - Feature Engineering . youtube.com . Hämtad 30 oktober 2018. Arkiverad från originalet 16 mars 2016.
  7. Feature Engineering (22 april 2010). Hämtad 12 november 2015. Arkiverad från originalet 6 september 2015.
  8. Funktionsteknik och urval . Alexandre Bouchard-Côte. Hämtad 12 november 2015. Arkiverad från originalet 14 mars 2016.
  9. Funktionsteknik i maskininlärning (nedlänk) . Zdenek Zabokrtsky. Hämtad 12 november 2015. Arkiverad från originalet 4 mars 2016. 
  10. Automatisera stordataanalys . Hämtad 30 oktober 2018. Arkiverad från originalet 14 september 2019.
  11. Deep Feature Synthesis: Towards Automating Data Science Endeavors . Hämtad 30 oktober 2018. Arkiverad från originalet 18 augusti 2019.
  12. Enknappsmaskin för automatisering av funktionsteknik i relationsdatabaser . Hämtad 30 oktober 2018. Arkiverad från originalet 4 oktober 2019.
  13. ExploreKit: Automatisk funktionsgenerering och val . Hämtad 30 oktober 2018. Arkiverad från originalet 4 oktober 2019.
  14. H2O.AI fångar $40 miljoner serie C-investeringar ledd av Wells Fargo och Nvidia . Hämtad 30 oktober 2018. Arkiverad från originalet 1 november 2018.
  15. Feature Labs lanseras från MIT för att påskynda utvecklingen av maskininlärningsalgoritmer . Hämtad 30 oktober 2018. Arkiverad från originalet 1 december 2018.

Litteratur