Vowpal Wabbit

Vowpal Wabbit
Utvecklare Yahoo! Research & senare Microsoft Research
Stabil frisättning
9.6.0 / 8 november 2022 ; 4 månader sedan ( 2022-11-08 )
Förvar github .com /VowpalWabbit /vowpal _wabbit
Skrivet i C++
Operativ system Linux , macOS , Microsoft Windows
Plattform Cross-plattform
Typ Maskininlärning
Licens BSD-licens
Hemsida vowpalwabbit .org

Vowpal Wabbit ( VW ) är ett snabbt online interaktivt maskininlärningssystembibliotek med öppen källkod utvecklat ursprungligen på Yahoo! Research , och för närvarande på Microsoft Research . Det startades och leds av John Langford . Vowpal Wabbits interaktiva inlärningsstöd är särskilt anmärkningsvärt inklusive Contextual Bandits , Active Learning och former av guidad förstärkningsinlärning . Vowpal Wabbit tillhandahåller en effektiv skalbar out-of-core- implementering med stöd för ett antal minskningar av maskininlärning, viktning av vikt och ett urval av olika förlustfunktioner och optimeringsalgoritmer.

Anmärkningsvärda funktioner

VW-programmet stöder:

  • Flera övervakade (och semi-övervakade) inlärningsproblem:
    • Klassificering (både binär och multi-klass)
    • Regression
    • Aktivt lärande (delvis märkt data) för både regression och klassificering
  • Flera inlärningsalgoritmer (modelltyper/representationer)
  • Flera förlustfunktioner :
    • kvadratfel
    • kvantil
    • gångjärn
    • logistisk
    • gift
  • Flera optimeringsalgoritmer
  • Regularisering ( L1 - norm , L2 - norm och elastisk nettoreglering )
  • Flexibel inmatning - inmatningsfunktioner kan vara:
    • Binär
    • Numerisk
    • Kategorisk (via flexibel funktionsnamn och hash-tricket )
    • Kan hantera saknade värden/glesa-funktioner
  • Andra funktioner
    • Generering av funktionsinteraktioner i farten (kvadratisk och kubisk)
    • N-gram i farten med valfria överhopp (användbart för ord-/språkdatauppsättningar)
    • Automatisk testuppsättning och tidig avslutning vid flera pass
    • bootstrapping
    • Användarinställbar onlinelärande lägesrapport + revision av modellen
    • Hyperparameteroptimering

Skalbarhet

Vowpal wabbit har använts för att lära sig en tera-funktion (10 12 ) datauppsättning på 1000 noder på en timme. Dess skalbarhet stöds av flera faktorer:

  • Out-of-core onlineinlärning: du behöver inte ladda all data i minnet
  • Hashingtricket : funktionsidentiteter konverteras till ett viktindex via en hash (använder 32-bitars MurmurHash 3 )
  • Utnyttja flerkärniga CPU: er: analys av input och inlärning görs i separata trådar.
  • Kompilerad C++-kod

externa länkar