Hem Personliga finanser Maskin Lärande med Mahout i Hadoop - dummies

Maskin Lärande med Mahout i Hadoop - dummies

Innehållsförteckning:

Video: 31. Ny teknik för supereffektivt lärande 2024

Video: 31. Ny teknik för supereffektivt lärande 2024
Anonim

Maskininlärning avser en gren av artificiell intelligenssteknik som ger verktyg som gör att datorer kan förbättra sin analys utifrån tidigare händelser. Dessa datorsystem utnyttjar historiska data från tidigare försök att lösa en uppgift för att förbättra prestationen för framtida försök till liknande uppgifter.

När det gäller förväntade resultat kan maskininlärning låta mycket som det andra ordet "data mining"; Den tidigare fokuserar emellertid på prediktering genom analys av utarbetad träningsdata, den senare handlar om kunskapsupptäckt från obearbetad rådata. Av denna anledning beror maskininlärning kraftigt på statistisk modelleringsteknik och drar sig från områden av sannolikhetsteori och mönsterigenkänning.

Mahout är ett open source-projekt från Apache, som erbjuder Java-bibliotek för distribuerade eller annars skalbara maskinlärningsalgoritmer.

Dessa algoritmer täcker klassiska maskininlärningsuppgifter som klassificering, gruppering, associeringsregelanalys och rekommendationer. Även om Mahout-bibliotek är utformade för att fungera inom ett Apache Hadoop-sammanhang, är de också kompatibla med alla system som stöder MapReduce-ramen. Till exempel tillhandahåller Mahout Java-bibliotek för Java-samlingar och vanliga matematiska operationer (linjär algebra och statistik) som kan användas utan Hadoop.

Som du kan se implementeras Mahout-biblioteken i Java MapReduce och kör på ditt kluster som samlingar av MapReduce-jobb på antingen YARN (med MapReduce v2) eller MapReduce v1.

Mahout är ett utvecklingsprojekt med flera bidragsgivare. Vid tidpunkten för denna skrivning är samlingen av algoritmer tillgängliga i Mahout-biblioteken inte alls fullständig; Samlingen av algoritmer som implementeras för användning fortsätter dock att expandera med tiden.

Det finns tre huvudkategorier av Mahout-algoritmer för att stödja statistisk analys: samarbetsfiltrering, gruppering och klassificering.

Samarbetande filtrering

Mahout var speciellt utformad för att fungera som en rekommendationsmotor, med hjälp av vad som kallas en samverkande filtrering -algoritm. Mahout kombinerar rikedom med klustrings- och klassificeringsalgoritmer till sitt förfogande för att producera mer exakta rekommendationer baserat på inmatningsdata.

Dessa rekommendationer tillämpas ofta mot användarinställningar, med beaktande av användarens beteende. Genom att jämföra en användares tidigare markeringar är det möjligt att identifiera närmaste grannar (personer med liknande beslutshistoria) till den användaren och förutse framtida val baserat på grannarnas beteende.

Tänk på en "smakprofil" -motor som Netflix - en motor som rekommenderar betyg baserat på användarens tidigare poäng och beteendevanor. I det här exemplet jämförs beteendemönstren för en användare mot användarens historia - och trenderna för användare med liknande smaker som tillhör samma Netflix-community - för att generera en rekommendation för innehåll som ännu inte visats av användaren i fråga.

Clustering

Till skillnad från den övervakade inlärningsmetoden för Mahouts rekommendationsmotorfunktion är clustering en form av obesvarad lärande - där etiketterna för datapunkter är okända före tid och måste utläsas från data utan mänsklig inmatning (den övervakade delen).

Generellt bör objekt inom ett kluster vara likartade; Objekt från olika kluster bör vara olika. Beslut som fattas i förväg om antalet kluster som ska genereras, kriterierna för mätning av "likhet" och representationen av objekt kommer att påverka märkningen som produceras av klustringsalgoritmer.

Till exempel, en klustermotor som tillhandahålls en lista med nyhetsartiklar bör kunna definiera kluster av artiklar i den samlingen som diskuterar liknande ämnen.

Antag att en uppsättning artiklar om Kanada, Frankrike, Kina, skogsbruk, olja och vin skulle vara sammanslagna. Om det maximala antalet kluster sattes till 2, kan din algoritm producera kategorier som "regioner" och "industrier". "Justeringar av antalet kluster kommer att producera olika kategoriseringar; till exempel, att välja för 3 grupper kan resultera i parvisa grupperingar av nationindustrinskategorier.

Klassificeringar

Klassificeringsalgoritmer använder sig av mänskliga märkta träningsdatasatser, där kategoriseringen och klassificeringen av all framtida inmatning styrs av dessa kända etiketter. Dessa klassificatorer implementerar vad som är känt som övervakat lärande i maskininlärningsvärlden.

Klassificeringsregler - fastställd av träningsdata, som tidigare har blivit märkta av domänexperter - tillämpas sedan på obehandlad, obehandlad data för att bäst bestämma sin lämpliga märkning.

Dessa tekniker används ofta av e-posttjänster som försöker klassificera spam e-post innan de någonsin korsar din inkorg. Specifikt, med tanke på ett e-postmeddelande som innehåller en uppsättning fraser som är kända för att gemensamt förekomma tillsammans i en viss klass av skräppost - levereras från en adress som tillhör en känd botnät - kan din klassificeringsalgoritm på ett pålitligt sätt identifiera e-postmeddelandet som skadligt.

Förutom den rikedom av statistiska algoritmer som Mahout tillhandahåller, finns också en modul med stöd för Användardefinierad algoritmer (UDA). Användare kan åsidosätta befintliga algoritmer eller genomföra egna via UDA-modulen. Denna robusta anpassning möjliggör prestandatestning av inhemska Mahout-algoritmer och flexibilitet när det gäller att hantera unika statistiska analysutmaningar.

Om Mahout kan ses som en statistisk analysförlängning till Hadoop, bör UDA ses som en förlängning till Mahouts statistiska kapacitet.

Traditionella statistiska analysapplikationer (som SAS, SPSS och R) kommer med kraftfulla verktyg för att generera arbetsflöden. Dessa applikationer använder intuitiva grafiska användargränssnitt som möjliggör bättre datavisualisering. Mahout skript följer ett liknande mönster som dessa andra verktyg för att generera statistiska analys arbetsflöden.

Under det slutgiltiga datautforsknings- och visualiseringssteget kan användare exportera till läsbara format (JSON, CSV) eller utnyttja visualiseringsverktyg som Tableau Desktop.

Mahouts arkitektur sitter på toppen av Hadoop-plattformen. Hadoop unburdens programmeraren genom att skilja upp uppgiften att programmera MapReduce-jobb från den komplexa bokhållningen som behövs för att hantera parallellitet över distribuerade filsystem. I samma anda ger Mahout programmerarvänliga abstraktioner av komplexa statistiska algoritmer, redo för implementering med Hadoop-ramverket.

Maskin Lärande med Mahout i Hadoop - 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 ...