Десетте програмни езика за машинно обучение в рейтинга на GitHub
През януари 2019 година популярната компания за хостинг и допълнителни ИТ услуги за уеб сайтове, GitHub, публикува материал, включващ детайлен рейтинг на най-популярните програмни езици, използвани за машинно обучение (machine learning или накратко МО). Списъкът е изграден на база количеството хранилища, чиито автори сами уточняват за използваните МО алгоритми в техните приложения. За разработването на програми, базирани на алгоритмите за машинно обучение, най-често се използват Python и C++.
Python
Най-популярният програмен език в средите на разработчиците на МО програми според GitHub е Python предимно поради факта, че в него са заложени предварително настроени инструменти за внедряването на МО модели и алгоритми. Благодарение на тези настройки програмистите могат да използват Python за реализиране на различни машинни обучения без задълбочени познания в сферата, както и за създаване на чат ботове от нулата например.
Всичко това става възможно след появата на отлично документираната библиотека Scikit-Learn, предоставяща голямо количество алгоритми за машинно обучение. Отбелязва се и наличието на библиотеката ChatterBot, предназначена за обработка на речта и цялостното обучение посредством набори от данни в диалогов формат.
C++
C ++ се нарежда на второ място сред езиците за програмиране, използвани от потребителите на GitHub. Високата позиция се дължи на създадената МО библиотека Google TensorFlow, в която акцентът е изграден на базата на невронни мрежи. Въпреки че по-голяма част от разработчиците и експертите, използващи TensorFlow, работят с Python, често им се налага да се откажат от този програмен език – например, когато е необходимо използването на обучаващия модел през мобилно устройство или от робот.
Популярността на C++ в общността на GitHub разработчиците се обуславя и от развитието на разпределената високопроизводителна платформа за градиентно повишаване на Microsoft LightGBM (подобрява скоростта и ефективността на обучението през MO модел), както и от наличието на Turi Create библиотеката, която опростява разработването на потребителски модели за машинно обучение от напълно начинаещи програмисти.
JavaScript
JavaScript е третият сред програмните езици в класацията на GitHub. Той разполага с WYSIWYG редактор, който позволява създаването на модели за машинно обучение чрез просто плъзгане (влачене) и пускане на обектите. В полза на рейтинга за JavaScript се появява и проектът ml5.js, станал популярен с призванието си да превърне машинното обучение възможно за художниците и студенти, обучаващи се извън техническите специалности, предлагайки достъп до алгоритми и МО модели директно в браузъра.
Java
На Java е създаден популярният проект Smile (Statistical Machine Intelligence and Learning Engine). Тази бърза комплексна система е предназначена за създаване на машинно обучение, невролингвистично програмиране, обучение по линейна алгебра, изграждане на големи графики, интерполация и визуализация в Java и Scala.
Друго популярно хранилище, поддържано в GitHub и създадено с Java е H20. Тази библиотека е предназначена както за локални изчисления, така и за приложение на клъстери, създавани директно в системата на H20 или вече работещи такива в Spark и Hadoop. С наличен достъп до такъв тип библиотеки разработването на основните МL програми на какъвто и да е програмен език става далеч по-просто.
C#
Един от най-популярните МО проекти, написани на C#, в GitHub е ML Agents. Това е плъгинът с отворен код, представляващ движещата сила в Unity, чиято система позволява на симулации и моделирани пространства да се използват оптимално за целите на машинното обучение, създадено за нуждите на конкретни интелектуални агенти.
Julia
Най-популярните проекти са MachineLearning.jl, MLKernels.jl и LightML.jl.
Shell
Относно този програмен език е важен акцентът върху неговите Dl-machine скриптове. Те са предназначени за настройване на графичния процесор при изчисления с CUDA и различни библиотеки за по-детайлно обучение.
R
Програмният език R е ценен за създаване на МО проекти най-вече благодарение на своята обширна общност от девелопъри и използваните от тях библиотеки за анализ на данни.
TypeScript
TypeScript е подобрена версия на JavaScript, тоест всеки код на JS е съвместим с TypeScript. Предимството на TypeScript е, че пристига с немалък набор от допълнителни възможности, неналични в JavaScript.
Scala
Примерите за Scala в GitHub съвсем не са малко, а и всички те увеличават общата популярност на този програмен език. Такъв пример е и Microsoft Machine Learning for Apache Spark.