Programavimas

Mėgaukitės mašininiu mokymusi su Mahout „Hadoop“

„Mahout“ yra hindi kalbos terminas asmeniui, kuris joja drambliu. Šiuo atveju dramblys yra Hadoopas - o Mahoutas yra vienas iš daugelio projektų, galinčių sėdėti ant Hadoopo viršaus, nors norint jį paleisti ne visada reikia „MapReduce“.

Mahoutas suteikia galingus matematinius įrankius tik mirtingųjų kūrėjų, kurie rašo „InterWebs“, rankose. Tai populiariausių ir svarbiausių mašininio mokymosi algoritmų diegimo paketas, kuriame dauguma diegimų yra sukurti būtent tam, kad būtų galima naudoti „Hadoop“, kad būtų galima apdoroti didelių duomenų rinkinių mastelį. Kai kurie algoritmai dėl algoritmo pobūdžio yra prieinami tik neprilygstama „nuosekliąja“ forma, tačiau visi gali pasinaudoti HDFS teikiamais pranašumais, kad būtų patogu pasiekti duomenis „Hadoop“ apdorojimo vamzdyne.

[Žinok tai dabar apie Hadoopą Dirbkite protingiau, o ne sunkiau - atsisiųskite kūrėjų išgyvenimo vadovą, kuriame rasite visus patarimus ir tendencijas, kurias programuotojai turi žinoti. | Sužinokite, kas naujo verslo programose, naudodamiesi „Technology: Applications“ naujienlaiškiu. ]

Mašininis mokymasis yra bene praktiškiausias dirbtinio intelekto (AI) pogrupis, daugiausia dėmesio skiriant tikimybinėms ir statistinėms mokymosi technikoms. Visiems jums dirbtiniams intelekto žmonėms čia yra keletas mašininio mokymosi algoritmų, įtrauktų į „Mahout“: K reiškia klasterizaciją, neryškią K - klasterizaciją, K reikšmę, latentinį „Dirichlet“ paskirstymą, vienaskaitos vertės skaidymą, logistinę regresiją, naivią „Bayes“ ir atsitiktinę miškai. Mahoutas taip pat pasižymi aukštesnio lygio abstrakcijomis „rekomendacijoms“ generuoti (populiarios elektroninės prekybos svetainės ar socialiniai tinklai).

Žinau, kai kas nors pradeda kalbėti apie mašininį mokymąsi, dirbtinio intelekto ir „Tanimoto“ koeficientus, jūs tikriausiai gaminate spragėsius ir atgaivinate, tiesa? Aš irgi ne. Keista, nepaisant matematikos sudėtingumo, Mahoutas turi lengvai naudojamą API. Štai skonis:

// kažkaip įkelti mūsų duomenų failą

„DataModel“ modelis = naujas „FileDataModel“ (naujas failas („data.txt“));

„ItemSimilarity sim“ = naujas „LogLikelihoodSimilarity“ (modelis);

GenericItemBasedRecommender r = naujas GenericItemBasedRecommender (modelis, sim);

„LongPrimitiveIterator“ elementai = dm.getItemIDs ();

while (items.hasNext ()) {

ilgas itemId = items.nextLong ();

Išvardykite rekomendacijas = r.mostSimilarItems (itemId, 10);

// ką nors padaryti su šiomis rekomendacijomis

}

Tai, ką šis mažas fragmentas padarytų, yra įkelti duomenų failą, prakeikti daiktus, tada gauti 10 rekomenduojamų elementų, atsižvelgiant į jų panašumą. Tai yra įprasta elektroninės prekybos užduotis. Tačiau vien todėl, kad du daiktai yra panašūs, dar nereiškia, kad noriu jų abiejų. Tiesą sakant, daugeliu atvejų aš tikriausiai nenoriu pirkti dviejų panašių daiktų. Noriu pasakyti, kad neseniai nusipirkau dviratį - nenoriu panašiausio daikto, kuris būtų kitas dviratis. Tačiau kiti dviračius įsigiję vartotojai taip pat pirko padangų siurblius, todėl „Mahout“ siūlo ir naudotojų rekomenduotojus.

Abu pavyzdžiai yra labai paprasti rekomenduotojai, o „Mahout“ siūlo pažangesnius rekomenduotojus, kurie atsižvelgia į daugiau nei kelis veiksnius ir gali suderinti vartotojų skonį su produkto savybėmis. Nė vienam iš jų nereikia išplėstinio paskirstytojo skaičiavimo, tačiau Mahoutas turi ir kitų algoritmų.

Be rekomendacijų

„Mahout“ yra kur kas daugiau nei puošni el. Prekybos API. Iš tikrųjų kiti algoritmai teikia prognozes, klasifikacijas (pavyzdžiui, paslėpti Markovo modeliai, kurie valdo didžiąją dalį kalbos ir kalbos atpažinimo internete). Tai netgi gali padėti surasti grupes arba, tiksliau, sugrupuoti daiktus, pvz., Žmonių ląsteles ... ar pan., Kad galėtumėte jiems nusiųsti .... dovanų krepšelius į vieną adresą.

Žinoma, velnias yra detalėse, o aš apžvelgiau tikrai svarbią dalį, kuri yra pati pirmoji eilutė:

„DataModel“ modelis = naujas „FileDataModel“ (naujas failas („data.txt“));

Ei, jei galėtumėte gauti keletą matematikos geekų, kurie atliktų visus darbus ir sumažintų visą skaičiavimą iki maždaug 10 eilučių, sudarančių algoritmą, mes visi neturėtume darbo. Tačiau kaip tie duomenys buvo gauti rekomendacijoms reikalingu formatu? Kūrėjai uždirba didelius pinigus, kad galėtų suprojektuoti šio algoritmo įgyvendinimą, ir net jei „Mahout“ nereikia „Hadoop“, kad įdiegtų daugelį mašininio mokymosi algoritmų, jums gali prireikti „Hadoop“, kad duomenis būtų galima įdėti į tris stulpelius. reikalingas rekomendatorius.

„Mahout“ yra puikus būdas panaudoti daugybę funkcijų, pradedant rekomendacijų varikliais, baigiant modelių atpažinimu ir baigiant duomenų gavyba. Kai mes, kaip pramonė, padarysime darbą su dideliu ir riebiu „Hadoop“ diegimu, susidomėjimas mašininiu mokymusi ir galbūt AI padidės, kaip pastebėjo vienas įžvalgus mano „Hadoop“ straipsnio komentatorius. Mahoutas padės.

Šis straipsnis „Mėgaukitės mašininiu mokymusi su Mahout„ Hadoop ““ iš pradžių buvo paskelbtas .com. Sekite naujausias programų kūrimo naujienas ir skaitykite daugiau Andrew Oliverio strateginio kūrėjo tinklaraščio .com. Norėdami sužinoti naujausias verslo technologijų naujienas, sekite .com „Twitter“.

$config[zx-auto] not found$config[zx-overlay] not found