Машинното обучение днес се превърна в център на дискусии в областта на изкуствения интелект. Той засяга всички области, включително инженерството, медицината, бизнеса, социалните науки и др.
Използвайки няколко налични библиотеки за машинно обучение, машинното обучение с Python, C ++, Java, Julia и R, наред с други, е по -лесно от всякога. Ето някои популярни библиотеки за машинно обучение, с които можете да започнете, ако искате да се впуснете в този обещаващ път на кариера.
1. Керас
Керас е част от обширните помощни програми за машинно обучение на TensorFlow. Но той е различен с това, че е API от по-високо ниво, което се доставя с TensorFlow. Освен това е по-удобен за хората и е написан с Python. Така че е по-приложимо, тъй като предлага кратка документация, която е лесна за начинаещите в машинното обучение да стеснят.
Keras обаче предлага широка гама от функции за машинно обучение, идеални за обучение както на структурирани данни, така и на сурови носители. Библиотеката обаче обхваща алгоритми, базирани на текст и изображения, за обучение и тестване на вашия набор от данни.
Уникална характеристика на Keras е, че ви държи фокусирани върху библиотеката, тъй като предоставя всичко необходимо за вашия проект в едно парче. Така че едва ли ще се наложи да се разклонявате, за да заемате помощни програми от други библиотеки. Настройка на хиперпараметри, избор на функции, богати слоеве за предварителна обработка на данни и почистване на данни са някои от ефектно вградените му функции.
С Keras можете да четете изображения и текстове директно от разделени папки в родителска директория и да получавате обозначен набор от данни от тях. И ако вашите данни са големи и не се намират в паметта на вашата машина, Keras предлага опция за високопроизводителен набор от данни. Винаги можете да преминете към това.
Свързани: Как да надстроите уменията си за Python и AI с библиотеки за машинно обучение на Python
Освен това, той предлага различни графични процесори (GPU) за обработка на голям набор от данни. Така че ви позволява едновременно да изпълнявате изчисления на процесора заедно с асинхронна обработка на графичния процесор.
2. TensorFlow
Представен от Google през 2015 г., TensorFlow е по -скоро рамка, отколкото библиотека. Това е библиотека с отворен код, изградена с C ++ и работи чрез проследяване на графики на потока от данни.
TensorFlow е много гъвкав и обширен, предлагащ множество други вградени, унитарни библиотеки за извършване на изчисления за машинно обучение. По същество TensorFlow предлага мащабируема платформа за изграждане на концепции за машинно обучение като изкуствени невронни мрежи (ANN), дълбоки невронни мрежи и дълбоко обучение.
Свързани: Какво е TensorFlow Lite и как е рамка за задълбочено обучение?
Tensorflow също поддържа Java, C ++, Julia, Rust, Ruby и JavaScript, наред с други в допълнение към Python. Докато използването на TensorFlow с езици за програмиране, различни от Python, може да предложи лесна интеграция на проекти, използването на неговите ядра с Python е по -лесно, тъй като напълно поддържа внедряването на TensorFlow.
Освен това, конвейерите за разработка на други езици могат да създадат проблеми със съвместимостта на версиите на API, ако трябва да превключите версии по -късно. Въпреки че документите на TensorFlow са изчерпателни, за разлика от Keras, те може да са твърде разнообразни, за да разберат начинаещите. Въпреки това, той има солидна подкрепа на общността и вие също ще намерите много примери с отворен код TensorFlow там.
Предимство на TensorFlow пред Keras е, че можете да използвате TensorFlow директно без Keras. Разбира се, не можете да кажете същото за Keras, тъй като това е разклонен клас на самия TensorFlow.
3. Mlib Spark
Ето нещо доста удобно от Apache Spark. Издаден и направен с отворен код през 2010 г., Mlib Spark използва итеративни изчисления за изпълнение на алгоритми за машинно обучение. Поради итеративния си характер, Mlib може да използва Hadoop или локални източници на данни и работни потоци. Плюс това, той може да изпълнява сложна логика за кратък период от време.
В крайна сметка това все още е една от най -бързите библиотеки за машинно обучение. Той изпълнява широк спектър от алгоритми за машинно обучение, включително модели на регресия, групиране, класификация и препоръки. Той също така се отличава по отношение на предварителната обработка на данни и извличането на модели.
Свързани: Какво представляват алгоритмите за машинно обучение? Ето как работят
Библиотеката е динамична и предлага здрав API, който се свързва със Scala, Python, R и Java. Mlib Spark е вграждане на самия Spark, така че се надгражда с всяко издание на Spark.
Mlib Spark има обяснителна документация, така че начинаещият може лесно да го вземе. Но малко предимство е, че се интегрира само с няколко езика за програмиране, така че това може да е проблем, ако не сте запознати с езиците, които поддържа в момента.
4. mlpack
mlpack беше издаден през 2008 г. и разработен с C ++, използвайки библиотека с линейна алгебра, наречена Armadillo. Подобно на Mlib Spark, той ви позволява да приложите повечето от наличните алгоритми и концепции за машинно обучение директно към вашия набор от данни, като използвате кратки и четими редове код.
Освен че е достъпен в езици за програмиране като Python, C ++, Go и Julia, той поддържа и CLI изпълнение, което ви позволява да стартирате кода си и да получавате незабавни отговори. Въпреки че поддържа обвързване с тези други езици, изпълнението на mlpack на големи набори от данни, които изискват сложни изчисления, може да не е добра идея, когато го използвате с друг език за програмиране. По този начин мащабируемостта с други езици освен C ++ често е проблем с mlpack.
Ако сте начинаещ в машинното обучение и познавате C ++, все още можете да го изпробвате. Документацията има лесни за следване ръководства и примери, които са достъпни за различни езици за програмиране. Тъй като изпълнява изчисления на C ++ концепции, mlpack използва код на ниско ниво за бързо изпълнение на сложни до прости задачи за машинно обучение.
5. Питорх
Facebook се разви Питорх и го пусна официално през 2016 г. Известен с широкото си използване в компютърното зрение, дълбокото обучение и обработката на естествен език, Pytorch е библиотека с отворен код, изградена от рамката на Torch.
Подобно на Keras и Tensorflow, Pytorch поддържа процесорната обработка на набори от данни. И ако вашият набор от данни е голям, той разполага с графичен процесор, който да обработва вашите изчисления. Освен това е базиран на тензор.
В допълнение към Python, библиотеката поддържа свързване както за C ++, така и за Java. Pytorch, в допълнение към други помощни програми, предлага помощни библиотеки, включително факел, torchtext, torchaudio, и TorchServe.
Тези библиотеки са част от функционалностите на машинното обучение на Pytorch и ще ги срещнете, докато пишете вашите модели на Pytorch. С подробна и изчерпателна документация, базирана на уроци, Pytorch е лесен за разбиране, стига да сте запознати с концепциите за машинно обучение.
Pytorch също ви позволява да трансформирате вашите набори от данни в удобен за машини формат. Така че това също е перфектна библиотека за предварителна обработка на данни. Неизменно извличането на функции, почистването на данни, разделянето на данни и настройката на хиперпараметри са възможни с Pytorch.
6. Scikit-Learn
Потапящо изграден с Python, scikit-научете, също наричан sklearn, бе публикуван публично през 2010 г. Библиотеката обаче обслужва широк спектър от приложения за машинно обучение, включително моделиране на представени и неподдържани набори от данни.
Scikit-learn предлага познати контролирани алгоритми, включително линейни и логистични регресионни модели, поддържаща векторна машина (SVM), Naive Bayes, дървета за вземане на решения, най -близките съседи, наред с други, точно извън кутия. Той също така е богат източник на неконтролирани методи на обучение като клъстериране, гаусов модел, заедно с модели на невронни мрежи и др.
По същество scikit-learn поддържа както контролирани, така и без надзор модели. Това е чудесна отправна точка, ако все още сте нов в Python или машинното обучение като цяло, защото е изцяло базиран на Python. И ако тепърва започвате с машинно обучение или наука за данни, може да искате да започнете с контролираните функции за обучение на scikit-learn.
Като цяло, той е по-удобен за начинаещи от други библиотеки в списъка. За разлика от другите библиотеки, споменати по-рано, scikit-learn е масово зависим от Numpy и Scipy за провеждане на високопроизводителни математически изчисления. Той също така използва Matplotlib за представяне на завладяващи визуализации за разказване на истории.
7. Теано
Ако имате библиотека, която да ви помогне да разбиете сложни проблеми в гъвкави алгоритми, тогава Теано може да е това, което искате. Създадена през 2007 г. от Yoshua Bengio в Монреал, Канада, Theano е мощна библиотека за работа с малки до високопроизводителни изчисления.
Подобно на Scikit-Learn, Theano зависи от Numpy за изпълнение на числени изчисления. Библиотеката поддържа GPU-базирани изчисления, плюс генерира C код на ниско ниво. Това ускорява математическите оценки с Theano, без значение колко големи са те. Освен това неговите модели за дълбоко обучение работят върху тензори.
С Theano можете да конвертирате вашия набор от данни в четими плаващи, двоични или цели числа, независимо от първоначалния му тип данни. Възможно е обаче да не получите достатъчно подкрепа от общността. Това е така, защото Theano не е толкова популярен, колкото другите библиотеки, които споменахме по -рано. Това не го прави по-малко удобен за начинаещи.
Урокът в документите е лесен за разбиране. Способността му да опростява сложни масиви и да оптимизира безкрайни изчисления го прави идеален за създаване на мащабируеми модели за машинно обучение.
Коя библиотека трябва да използвате за следващия си проект за машинно обучение?
Въпреки че споменахме някои от най-широко използваните библиотеки за машинно обучение, излизането на най -добрият може да бъде труден, тъй като всички те служат за много сходни цели, само с няколко разлики в тях Характеристика.
Разбира се, започването с по-удобна за начинаещи библиотека като Scikit-Learn или Keras е полезно, ако просто прониквате в полето. Освен това, избирането на библиотека целенасочено за даден проект ще ви помогне да стесните сложностите по своя конвейер за развитие. Но въпреки това запознаването с основите на машинното обучение чрез курсове и уроци е полезно.
Алгоритмите за машинно обучение са предназначени да улеснят живота и да подобрят системите, но могат да се объркат с лоши последици.
Прочетете Напред
- Програмиране
- Машинно обучение
- Програмиране
Idowu е страстен за всичко умно технология и производителност. В свободното си време той играе с кодиране и превключва на шахматната дъска, когато му е скучно, но също така обича да се откъсва от рутината от време на време. Страстта му да показва на хората пътя около съвременните технологии го мотивира да пише повече.
Абонирайте се за нашия бюлетин
Присъединете се към нашия бюлетин за технически съвети, рецензии, безплатни електронни книги и изключителни оферти!
Щракнете тук, за да се абонирате