Машинне навчання

Сучасний стан систем і бібліотек машинного навчання

Кількість алгоритмів ML, а також їх різних програмних реалізацій, надзвичайно велика. Багато програмних інструментів для DM, що використовують методи ML, активно розроблювались протягом останніх 25 років [Jovic 2014]. Їх загальна мета – полегшити складний процес аналізу даних і запропонувати інтегровані середовища на основі стандартних мов програмування. Крім того інструменти призначені для різних цілей: аналітичні платформи, прогнозувальні системи, рекомендаційні системи, процесори (від зображення, звуку або мови). Ряд з них орієнтований на великомасштабні дані, швидку обробку або потокову передачу. Інші спеціалізуються на NN і DL. Не існує єдиного інструменту, відповідного для кожної проблеми, і часто для їх вирішення потрібно комбінація з них. На рис. 5 представлений повний огляд фреймворків і бібліотек ML.

Рис. 5 Огляд структур та бібліотек машинного навчання

У наступних розділах коротко описані і оцінені найбільш відомі інструменти з їх основними властивостями, такими як мова реалізації, ліцензія, охоплення методів ML, а також підтримка останніх передових тем DM, тобто поточної потреби обробки великомасштабних даних. Більшість сучасних інструментів DM мають архітектуру потоків даних (конвеєр або потік роботи). Деякі з них мають графічні інтегровані середовища (GUI), інші вважають за краще підхід API або реалізують обидва одночасно. Розробка програмного забезпечення в напрямку ML/DL є дуже динамічною з різними рівнями абстракції реалізацій, як показано на рисунку 6.

Рис. 6 Структури машинного навчання і глибокого навчання і розшарування бібліотек на основі рівнів реалізації абстракцій

Детальна інформація про ці інструменти представлена ​​в частині фреймворки і бібліотеки DL з підтримкою GPU і в частині (фреймворки і бібліотеки ML/DL, інтегровані з MapReduce. Наступна частина сконцентрована на сучасних платформах і бібліотеках ML/NN, які не вимагають спеціального апаратного забезпечення або підтримки інфраструктури. Проте, ці інструменти можуть використовувати багатопроцесорну потужність для роботи з великомасштабними даними. Короткий огляд розділів 3.1, 3.2 і 3.3 представлений в таблицях 4, 5 і 6 відповідно. Ці таблиці підсумовують можливості фреймворків і бібліотек, щоб користувачі могли вибирати відповідні продукти для вирішення своїх проблем. Кожен інструмент також описаний і оцінений окремо пізніше більш детально.