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

Jewish Funeral Traditions - dummies

Jewish Funeral Traditions - dummies

Judiska begravningar sker vanligen i en synagoge, begravningshem eller på en kyrkogård. Med tradition är judiska begravningar enkla (symboliserar tron ​​att människor är alla lika i döden), men de varierar mycket och har ingen uppsättning liturgi. Att skicka blommor till ett begravnings- eller sorgshem är starkt avskräckt i judendomen. Inte bara kommer ...

Identifiera komplicerade grävande dummies

Identifiera komplicerade grävande dummies

Komplicerat roende är det tekniska namnet som sorgproffs ger till en sorgprocess som sitter fast vid något tillfälle , vilket gör det omöjligt för de förlorade att framgångsrikt starta eller avsluta sorgprocessen. Komplicerat sorg är ofta ett tecken på olösta problem i förhållandet mellan de förlorade och den avlidne som gör det ...

Redaktörens val

Hur man ställer in kartkontroller i Main_iPad. Storyboard i din iOS App - dummies

Hur man ställer in kartkontroller i Main_iPad. Storyboard i din iOS App - dummies

När du har en anpassad vy för MapController i din iOS-app, måste du berätta för iPad-storyboardet att du laddar in din anpassade vy i stället för en UIViewController. Följ dessa steg: Välj Projekt navigator genom att välja Main_iPad. storyboard och välj sedan View Controller i View Controller - Map Scene i dokumentutskriften. ...

Hur man roterar objekt i din iOS-app - dummies

Hur man roterar objekt i din iOS-app - dummies

Här hittar du hur man rotera en vy (i så fall vrid bilen runt) i din iOS-app. För att göra det uppdaterar du den roterande kodstuben du startade med och ersätter den med den fetstilta koden. - (void) rotera {CGAffineTransform transform = CGAffineTransformMakeRotation (M_PI); void (^ animation) () = ^ () {self. bil. transformera = transformera; ...

Hur man ställer in en WeatherController i Main_iPad. storyboard-fil för din iOS-app - dummies

Hur man ställer in en WeatherController i Main_iPad. storyboard-fil för din iOS-app - dummies

Bör du lägga till en ny anpassad vykontroll till din iOS-app innan du fortsätter till dessa steg. Du behöver fortfarande berätta för storyboardet att du vill att den ska ladda den nya anpassade vykontrollen istället för en UIViewController. Följ dessa steg:

Redaktörens val

Spara en grafisk stil i Adobe CS5 Illustrator - dummies

Spara en grafisk stil i Adobe CS5 Illustrator - dummies

Adobe Creative Suite 5 (Adobe CS5) Illustrator tillåter Du sparar en grafisk stil. En grafisk stil är en kombination av alla inställningar du väljer för ett visst filter eller en effekt i Utseendepanelen. Genom att spara informationen i en grafisk stil lagras du dessa attribut så att du snabbt och enkelt kan tillämpa ...

Välj som ett transformationsverktyg i Adobe CS5 Illustrator - dummies

Välj som ett transformationsverktyg i Adobe CS5 Illustrator - dummies

I Adobe Creative Suite 5 (Adobe CS5 ) Illustratör du kan använda markeringsverktyget för att skala och rotera ett valt objekt. Dra begränsningsboxens handtag för att ändra storlek på objektet, eller flytta dig utanför ett handtag och sedan, när markören ändras till en flippig pil (en böjd pil med pilhuvud i båda ändarna), dra till ...

Objekttransformation i Adobe CS5 Illustrator - dummies

Objekttransformation i Adobe CS5 Illustrator - dummies

Verktygen Rotate, Reflect, Scale och Shear i Adobe Creative Suite 5 (Adobe CS5) Illustrator använder alla samma grundläggande steg för att utföra transformationer. Här är fem sätt att transformera ett objekt: en för en godtycklig omvandling och fyra andra för exakta omvandlingar baserat på en numerisk mängd som du anger. Vilkårlig omvandlingsmetod Eftersom detta ...