Strojno učenje danas je postalo središte rasprave u umjetnoj inteligenciji. Dotiče sva područja, uključujući inženjering, medicinu, poslovanje, društvene znanosti i još mnogo toga.

Koristeći nekoliko danas dostupnih knjižnica strojnog učenja, strojno učenje s Pythonom, C ++, Javom, Julijom i R, među ostalima, lakše je nego ikad. Evo nekoliko popularnih knjižnica za strojno učenje s kojima možete započeti ako se želite upustiti u ovaj obećavajući put u karijeri.

1. Keras

Keras dio je opsežnih pomoćnih programa za strojno učenje tvrtke TensorFlow. Ali razlikuje se po tome što je to API više razine koji se isporučuje s TensorFlow-om. Osim toga, više je prilagođen ljudima i napisan je Pythonom. Stoga je primjenjivije jer nudi sažetu dokumentaciju koju je početnicima strojnog učenja lako suziti.

Keras, međutim, nudi širok raspon funkcionalnosti strojnog učenja, savršen za obuku strukturiranih podataka i sirovih medija. Knjižnica se, međutim, proteže preko tekstualnih i slikovnih algoritama za obuku i testiranje vašeg skupa podataka.

instagram viewer

Jedinstvena značajka Kerasa je da vas drži usredotočenima na biblioteku jer pruža sve što vam je potrebno za vaš projekt u jednom komadu. Dakle, teško da ćete se morati račvati kako biste posudili komunalije iz drugih knjižnica. Podešavanje hiperparametara, odabir značajki, slojevi bogate predprocesiranja podataka i čišćenje podataka neke su od njegovih spektakularno ugrađenih značajki.

Pomoću Kerasa možete čitati slike i tekstove izravno iz podijeljenih mapa u nadređenom direktoriju i od njih dobiti označeni skup podataka. A ako su vaši podaci veliki i ne sjedaju u memoriju vašeg stroja, Keras nudi opciju objekta sa skupom podataka visokih performansi. Na to se uvijek možete prebaciti.

Povezano: Kako nadograditi svoje Python i AI vještine s Python knjižnicama za strojno učenje

Osim toga, nudi različite grafičke procesorske jedinice (GPU -ove) za obradu velikog skupa podataka. Dakle, omogućuje vam istodobno pokretanje izračunavanja procesora zajedno s asinkronom obradom grafičkog procesora.

2. TensorFlow

Google je predstavio 2015. TensorFlow više je okvir nego knjižnica. To je biblioteka otvorenog koda izgrađena sa C ++, a radi tako da prati grafikone protoka podataka.

TensorFlow je vrlo svestran i opsežan, nudi mnoštvo drugih ugrađenih, jedinstvenih knjižnica za izvođenje izračuna strojnog učenja. U osnovi, TensorFlow nudi skalabilnu platformu za izgradnju koncepata strojnog učenja poput umjetnih neuronskih mreža (ANN), dubokih neuronskih mreža i dubokog učenja.

Povezano: Što je TensorFlow Lite i kako je to okvir za duboko učenje?

Tensorflow također podržava Java, C ++, Julia, Rust, Ruby i JavaScript, između ostalih, osim Pythona. Iako korištenje TensorFlow -a s programskim jezicima koji nisu Python može ponuditi jednostavnu integraciju projekta, korištenje njegovih jezgri s Pythonom lakše je jer u potpunosti podržava implementaciju TensorFlow -a.

Osim toga, razvojni kanali na drugim jezicima mogu predstavljati probleme s kompatibilnošću verzija API -ja ako kasnije morate promijeniti verzije. Iako su dokumenti TensorFlow opsežni, za razliku od Kerasa, mogu biti previše raznoliki da bi ih početnici razumjeli. No, ima solidnu podršku zajednice, a pronaći ćete i mnoge primjeri otvorenog koda TensorFlow Tamo vani.

Prednost TensorFlow -a nad Kerasom je ta što možete koristiti TensorFlow izravno bez Kerasa. Naravno, ne možete reći isto za Keras, jer je to razgranata klasa samog TensorFlow -a.

3. Mlib Spark

Evo nešto prilično zgodno od Apache Sparka. Objavljeno i otvoreno otvoreno 2010. Mlib Spark koristi iterativne izračune za pokretanje algoritama strojnog učenja. Zbog svoje iterativne prirode, Mlib može koristiti Hadoop ili lokalne izvore podataka i tijekove rada. Osim toga, sposoban je pokrenuti složenu logiku u kratkom razdoblju.

U konačnici, to je još uvijek jedna od najbržih knjižnica za strojno učenje. Pokreće širok raspon algoritama strojnog učenja, uključujući modele regresije, grupiranja, klasifikacije i preporuke. Također se ističe u smislu predprocesiranja podataka i rudarenja uzoraka.

Povezano: Što su algoritmi strojnog učenja? Evo kako oni rade

Knjižnica je dinamična i nudi robustan API koji se povezuje sa Scalom, Pythonom, R -om i Javom. Mlib Spark ugrađen je u sam Spark, pa se nadograđuje sa svakim Spark izdanjem.

Mlib Spark ima dokumentaciju s objašnjenjima, pa je početnici lako mogu pokupiti. No, mali je nedostatak to što se integrira samo s nekoliko programskih jezika, pa bi to mogao biti problem ako niste upoznati sa jezicima koje trenutno podržava.

4. mlpack

mlpack objavljen je 2008. godine i razvijen s C ++ pomoću biblioteke linearne algebre pod nazivom Armadillo. Kao i Mlib Spark, omogućuje vam primjenu većine dostupnih algoritama i koncepata strojnog učenja izravno na vaš skup podataka koristeći sažete i čitljive retke koda.

Osim što je dostupan u programskim jezicima kao što su Python, C ++, Go i Julia, on podržava i CLI izvršavanje, što vam omogućuje pokretanje koda i primanje trenutnih odgovora. Iako podržava povezivanje s tim drugim jezicima, pokretanje mlpack -a na velikim skupovima podataka koji zahtijevaju složeno računanje možda nije dobra ideja kada ga koristite s drugim programskim jezikom. Stoga je skalabilnost s drugim jezicima osim C ++ često problem s mlpack -om.

Ako ste početnik strojnog učenja i dobro poznajete C ++, ipak ga možete isprobati. Dokumentacija ima upute i primjere koje je lako slijediti za različite programske jezike. Budući da izvodi izračune na C ++ konceptima, mlpack koristi kôd niske razine za brzo izvršavanje složenih do jednostavnih zadataka strojnog učenja.

5. Pytorch

Facebook se razvio Pytorch i službeno ga objavili 2016. Poznat po širokoj upotrebi u računalnom vidu, dubokom učenju i obradi prirodnog jezika, Pytorch je biblioteka otvorenog koda izgrađena iz okvira Torch.

Kao i Keras i Tensorflow, Pytorch podržava CPU obradu skupova podataka. A ako je vaš skup podataka velik, ima GPU procesor za rukovanje vašim izračunima. Osim toga, temelji se na tenzorima.

Osim Pythona, knjižnica podržava vezivanje i za C ++ i za Java. Pytorch, uz ostale uslužne programe, nudi i pomoćne knjižnice uključujući bakljada, bakljetekst, torchaudio, i TorchServe.

Ove su knjižnice dio Pytorch funkcionalnosti strojnog učenja i na njih ćete naići dok pišete svoje Pytorch modele. Uz detaljnu i opsežnu dokumentaciju temeljenu na vodičima, Pytorch je lako razumjeti, sve dok ste upoznati s konceptima strojnog učenja.

Pytorch vam također omogućuje pretvaranje vaših skupova podataka u format prilagođen strojevima. Dakle, to je također savršena knjižnica za predprocesiranje podataka. Uz Pytorch je uvijek moguće izdvajanje značajki, čišćenje podataka, cijepanje podataka i podešavanje hiperparametara.

6. Scikit-Learn

Impresivno izgrađen s Pythonom, scikit-learn, također nazvan sklearn, javno je objavljen 2010. Knjižnica, međutim, služi širokom rasponu aplikacija za strojno učenje, uključujući modeliranje istaknutih i nepotpunih skupova podataka.

Scikit-learn nudi poznate nadzirane algoritme, uključujući linearne i logističke modele regresije, stroj za podržavanje vektora (SVM), Naive Bayes, Drveće odluka, Najbliži susjedi, između ostalih, odmah izvan kutija. Također je bogat izvor nenadziranih metoda učenja poput klasteriranja, Gaussova modela, zajedno s modelima neuronskih mreža i drugih.

U biti, scikit-learn podržava i modele s nadzorom i bez nadzora. To je izvrsno polazište ako ste tek početnik u Pythonu ili strojno učenje općenito jer se u potpunosti temelji na Pythonu. A ako tek počinjete sa strojnim učenjem ili znanošću o podacima, možda biste htjeli početi s nadziranim značajkama učenja scikit-learna.

Sveukupno je prilagođenije početnicima od ostalih knjižnica na popisu. Za razliku od drugih prethodno spomenutih knjižnica, scikit-learn je u velikoj mjeri ovisan o Numpyju i Scipyu za izvršavanje matematičkih izračuna visokih performansi. Također koristi Matplotlib za predstavljanje uvjerljivih vizualizacija pričanja priča.

7. Theano

Ako ste u potrazi za knjižnicom koja će vam pomoći razbiti složene probleme u fleksibilne algoritme, onda Theano mozda je ono sto zelis. Theano, koji je 2007. godine osnovao Yoshua Bengio u Montrealu u Kanadi, moćna je knjižnica za izvršavanje malih do visokih performansi.

Kao i Scikit-Learn, Theano ovisi o Numpyju za izvršavanje numeričkih izračuna. Knjižnica podržava izračunavanja temeljena na GPU-u, plus generira C kod niske razine. To ubrzava matematičke procjene s Theanom, bez obzira na to koliko su velike. Osim toga, njegovi modeli dubokog učenja rade na tenzorima.

Pomoću Theana možete pretvoriti svoj skup podataka u čitljive plutajuće, binarne ili cjelobrojne točke, bez obzira na početnu vrstu podataka. Ipak, možda nećete dobiti dovoljnu podršku zajednice. To je zato što Theano nije toliko popularan kao ostale knjižnice koje smo ranije spomenuli. To ga ne čini manje pogodnim za početnike.

Vodič u dokumentima lako je razumljiv. Njegova sposobnost pojednostavljivanja složenih nizova i optimiziranja beskonačnih izračuna čini ga savršenim za stvaranje skalabilnih modela strojnog učenja.

Koju knjižnicu trebate koristiti za svoj sljedeći projekt strojnog učenja?

Iako smo spomenuli neke od najčešće korištenih knjižnica strojnog učenja, dolazi se do najbolje može biti teško jer svi služe vrlo sličnim svrhama s samo nekoliko razlika u svojim obilježja.

Naravno, ako započnete s bibliotekom koja je prilagođenija početnicima, poput Scikit-Learna ili Kerasa, bit će vam od pomoći ako tek probijate polje. Osim toga, odabir biblioteke namjerno za projekt pomoći će vam da suzite složenosti u svom razvojnom planu. No, rečeno je da je korisno upoznati se s osnovama strojnog učenja putem tečajeva i vodiča.

UdioCvrkutE -pošta
Što su algoritmi strojnog učenja? Evo kako oni rade

Algoritmi strojnog učenja osmišljeni su kako bi olakšali život i poboljšali sustave, ali mogu poći po zlu s lošim posljedicama.

Pročitajte Dalje

Povezane teme
  • Programiranje
  • Strojno učenje
  • Programiranje
O autoru
Idowu Omisola (Objavljen 91 članak)

Idowu je strastven u bilo čemu pametnom tehnologiji i produktivnosti. U slobodno vrijeme igra se kodiranjem i prebacuje na šahovsku ploču kad mu je dosadno, ali također voli povremeno odustati od rutine. Njegova strast prema prikazivanju ljudi suvremene tehnologije motivira ga da piše više.

Više od Idowua Omisole

Pretplatite se na naše obavijesti

Pridružite se našem biltenu za tehničke savjete, recenzije, besplatne e -knjige i ekskluzivne ponude!

Kliknite ovdje za pretplatu