Hjem Personlig finansiering Maskine Læring med Mahout i Hadoop - dummies

Maskine Læring med Mahout i Hadoop - dummies

Indholdsfortegnelse:

Video: Lærende Maskiner 2024

Video: Lærende Maskiner 2024
Anonim

Maskinindlæring refererer til en gren af ​​kunstig intelligens teknikker, der giver værktøjer, der gør det muligt for computere at forbedre deres analyse baseret på tidligere begivenheder. Disse computersystemer udnytter historiske data fra tidligere forsøg på at løse en opgave for at forbedre præstationen af ​​fremtidige forsøg på lignende opgaver.

Med hensyn til forventede resultater kan maskinindlæring måske lytte meget til det andet buzzword "data mining"; Den tidligere fokuserer på forudsigelse gennem analyse af forberedt træningsdata, sidstnævnte vedrører videnopdagelse fra ubehandlede rådata. Af denne grund afhænger maskinindlæring kraftigt af statistiske modelleringsteknikker og trækker fra områder af sandsynlighedsteori og mønstergenkendelse.

Mahout er et open source-projekt fra Apache, der tilbyder Java-biblioteker til distribuerede eller ellers skalerbare algoritmer til maskinlæring.

Disse algoritmer dækker klassiske maskinindlæringsopgaver som klassificering, gruppering, associeringsregelanalyse og anbefalinger. Selvom Mahout-biblioteker er designet til at fungere i en Apache Hadoop-kontekst, er de også kompatible med ethvert system, der understøtter MapReduce-rammen. For eksempel leverer Mahout Java-biblioteker til Java-samlinger og almindelige matematiske operationer (lineær algebra og statistik), som kan bruges uden Hadoop.

Som du kan se, implementeres Mahout biblioteker i Java MapReduce og kører på din klynge som samlinger af MapReduce-job på enten YARN (med MapReduce v2) eller MapReduce v1.

Mahout er et udviklingsprojekt med flere bidragsydere. På tidspunktet for denne skrivning er samlingen af ​​algoritmer, der er tilgængelige i Mahout-bibliotekerne, slet ikke fuldstændig; Imidlertid fortsætter samlingen af ​​algoritmer implementeret til brug med tiden.

Der er tre hovedkategorier af Mahout-algoritmer til understøttelse af statistisk analyse: samarbejdsfiltrering, gruppering og klassificering.

Samarbejdsmæssig filtrering

Mahout var specielt designet til at fungere som en anbefalingsmotor, der anvender det, der kaldes en samarbejdsmæssig filtrering -algoritme. Mahout kombinerer rigdom af clustering og klassifikationsalgoritmer til rådighed for at producere mere præcise anbefalinger baseret på input data.

Disse henstillinger anvendes ofte imod brugernes præferencer under hensyntagen til brugerens adfærd. Ved at sammenligne en brugers tidligere valg er det muligt at identificere de nærmeste naboer (personer med en lignende beslutningshistorie) til den pågældende bruger og forudsige fremtidige valg baseret på naboernes adfærd.

Overvej en "smagsprofil" -motor som Netflix - en motor, der anbefaler vurderinger baseret på brugerens tidligere scoring og visningsvaner. I dette eksempel sammenlignes adfærdsmønstre for en bruger i forhold til brugerens historie - og udviklingen hos brugere med lignende smag, der tilhører det samme Netflix-fællesskab - for at generere en anbefaling til indhold, der endnu ikke er set af den pågældende bruger.

Clustering

I modsætning til den overordnede læringsmetode for Mahouts anbefalingsmotoregenskab er clustering en form for uovervåget læring - hvor etiketterne for datapunkter er ukendte før tiden og skal udledes af dataene uden menneskelig input ( overvåget del).

Generelt skal objekter i en klynge være ens; objekter fra forskellige klynger bør være forskellige. Afgørelser forud for tiden om antallet af klynger, der skal genereres, kriterierne for måling af "lighed" og repræsentation af objekter vil påvirke mærkning produceret af clusteringsalgoritmer.

Eksempelvis skal en klyngemotor, der er en liste over nyhedsartikler, definere klynger af artikler i den samling, der diskuterer lignende emner.

Antag, at et sæt artikler om Canada, Frankrig, Kina, skovbrug, olie og vin skulle grupperes. Hvis det maksimale antal klynger blev sat til 2, kan din algoritme producere kategorier som "regioner" og "industrier". "Justeringer af antallet af klynger vil producere forskellige kategoriseringer; for eksempel at vælge for 3 klynger kan resultere i parvise grupperinger af nationale industrikategorier.

Klassifikationer

Klassifikationsalgoritmer gør brug af menneskemærkede træningsdatasæt, hvor kategoriseringen og klassificeringen af ​​alle fremtidige input styres af disse kendte mærker. Disse klassifikatorer implementerer det såkaldte supervised learning i maskinlæringsverdenen.

Klassificeringsregler - fastsat af uddannelsesdata, der er blevet mærket forinden af ​​domæneeksperter - anvendes derefter på rå, uforarbejdede data for bedst at bestemme deres passende mærkning.

Disse teknikker bruges ofte af e-mail-tjenester, der forsøger at klassificere spam-e-mail, før de nogensinde krydser din indbakke. I betragtning af en e-mail, der indeholder et sæt sætninger, der er kendt for almindeligt at forekomme sammen i en bestemt klasse af spam-mail - leveret fra en adresse tilhørende et kendt botnet - din klassifikationsalgoritme er i stand til pålideligt at identificere e-mailen som skadelig.

Ud over den rigdom af statistiske algoritmer, som Mahout leverer indbygget, er der også en understøttelse Brugerdefineret algoritmer (UDA) -modul. Brugere kan tilsidesætte eksisterende algoritmer eller implementere deres egne gennem UDA-modulet. Denne robuste tilpasning giver mulighed for præstationsindstilling af native Mahout-algoritmer og fleksibilitet til at tackle unikke statistiske analyseproblemer.

Hvis Mahout kan ses som en statistisk analyseforlængelse til Hadoop, bør UDA ses som en udvidelse til Mahouts statistiske evner.

Traditionelle statistiske analyseprogrammer (som SAS, SPSS og R) leveres med kraftfulde værktøjer til generering af arbejdsgange. Disse applikationer bruger intuitive grafiske brugergrænseflader, der muliggør bedre datavisualisering. Mahout scripts følger et lignende mønster som disse andre værktøjer til generering af statistiske analysearbejder.

Under det endelige dataudforsknings- og visualiseringstrin kan brugere eksportere til menneskeligt læsbare formater (JSON, CSV) eller drage fordel af visualiseringsværktøjer som Tableau Desktop.

Mahouts arkitektur sidder oven på Hadoop-platformen. Hadoop unburdens programmereren ved at adskille opgaven med at programmere MapReduce-job fra den komplekse bogføring, der er nødvendig for at styre parallelisme på tværs af distribuerede filsystemer. I samme ånd giver Mahout programmeringsvenlige abstraktioner af komplekse statistiske algoritmer, klar til implementering med Hadoop-rammen.

Maskine Læring med Mahout i Hadoop - dummies

Valg af editor

Hvordan man laver en hurtig hundehus model i SketchUp - dummies

Hvordan man laver en hurtig hundehus model i SketchUp - dummies

Efter at du har installeret SketchUp er klar til at lave din første hurtige model. Følg disse trin for at opbygge et hundhus. På din computerskærm skal du se en række værktøjer på toppen af ​​dit modelvindue, en lille person og tre farvede modelleringsakser - røde, grønne og blå linjer.

Sådan gør du trapper i Google SketchUp 8 Brug af en kopieret profil - dummier

Sådan gør du trapper i Google SketchUp 8 Brug af en kopieret profil - dummier

Når du bygger En model i Google SketchUp, hvor man laver en trappe ved hjælp af en kopieret profil, er afhængig af at bruge Push / Pull til at oprette en 3D-formular fra et 2D-ansigt. I en nøddeskal tegner du profilen - sidebilledet, slags - af et enkelt trin, og kopier så mange trin som du har brug for, opret en ...

Hvordan man laver ekstruderede figurer i Google SketchUp 8 - dummies

Hvordan man laver ekstruderede figurer i Google SketchUp 8 - dummies

, Når man tilføjer ekstruderede former, som rynker og rækværk til dine Google SketchUp-modeller, bruger du værktøjet Follow Me. Meget af tiden, du vil bruge Follow Me til at skabe geometri (kanter og ansigter), der er knyttet til en anden del af din model. Når du bruger Følg mig til at ekstrudere et ansigt langs en ...

Valg af editor

Planlæg dit nye QuickBooks 2012-system - dummies

Planlæg dit nye QuickBooks 2012-system - dummies

Hvis du forstår et par store billedpunkter - hvad regnskab gør og hvad regnskabssystemer gør - fra starten vil du opdage, at QuickBooks 2012 Setup-processen giver en hel del mere mening. Hvilke regnskaber tænker på, hvad regnskab gør. Folk kan argumentere om de små detaljer, men de fleste ville ...

Principper for regnskabsføring for QuickBooks 2012 - dummies

Principper for regnskabsføring for QuickBooks 2012 - dummies

Regnskaber hviler på et ret lille sæt grundlæggende forudsætninger og principper, som du skal forstå, når du arbejder med QuickBooks 2012. Folk henviser ofte til disse grundlæggende principper som almindeligt anerkendte regnskabsprincipper. Regnskabsprincippet om indtægter Omsætningsprincippet, også kendt som realiseringsprincippet, hedder, at indtægterne er optjent, når salget er ...

QuickBooks 2006 Tastaturgenveje - dummies

QuickBooks 2006 Tastaturgenveje - dummies

Tastaturgenveje gør næsten enhver opgave hurtigere og nemmere. Følgende tabel viser de tastaturgenveje, du kan bruge i QuickBooks 2006. Tryk på denne pc genvej og QuickBooks Gør dette Ctrl + A Viser vinduet Diagram over konti Ctrl + C Kopierer dit valg til udklipsholderen Ctrl + F Viser Find-vinduet Ctrl + G Går til ...

Valg af editor

Hive CLI Client-dummies

Hive CLI Client-dummies

Den første Hive-klient er Hive-kommandolinjegrænsefladen (CLI). For at beherske de finere punkter i Hive CLI-klienten, kan det hjælpe med at gennemgå den (lidt travle) Hive-arkitektur. I den anden figur er arkitekturen strømlinet for kun at fokusere på de komponenter, der kræves, når du kører CLI. Disse er komponenterne ...

HBase Client Ecosystem - dummies

HBase Client Ecosystem - dummies

HBase er skrevet i Java, et elegant sprog til opbygning af distribuerede teknologier som HBase, men ansigt det - ikke alle, der ønsker at udnytte HBase-innovationer, er en Java-udvikler. Derfor er der et rigt HBase klientekosystem derude, hvis eneste formål er at gøre den store Java løft for dig og ...

MapReduces betydning i Hadoop - dummies

MapReduces betydning i Hadoop - dummies

For det meste af Hadops historie har MapReduce været det eneste spil i byen når det kommer til databehandling. Tilgængeligheden af ​​MapReduce har været årsagen til Hadops succes og samtidig en vigtig faktor i begrænsningen af ​​yderligere adoption. MapReduce gør det muligt for dygtige programmører at skrive distribuerede applikationer uden at skulle bekymre sig om ...