Machine Learning: Код, продукт или облак? Изберете вашия сценарий!

С всеки изминал ден машинното обучение се прилага все по-масово във всички сектори на бизнеса, винаги с нови и по-мощни инструменти и резултати, като основната му задача е да подпомага процеса на взимане на решения.

Машинното обучение позволява извличане на информация от данни и е една от важните теми, дискутирани от организациите, които желаят да оптимизират бизнеса си, като подобрят процесите и намерят иновативни начини за достигане до отговори на определени бизнес въпроси. Това е област с много широко приложение, като има най-различни алгоритми, които могат да се използват при изграждане на модели в зависимост от нуждите на фирмата.

В тази статия ще разгледаме кои са трите типични сценария за използване на машинното обучение, като ще видим какви инструменти се прилагат, за какви цели, както и какви знания са необходими.

Разделение в зависимост от нуждите

По какъв начин ще се използват моделите за машинно обучение зависи от нуждите на самата организация. Понякога е необходимо да се извършват сложни операции, които изискват специалисти със специфични познания, но в други случаи подходящи инструменти могат да улеснят решението на задачите.

Задачите, в които се използва машинното обучение са много, но някои от често срещаните са:

  • Сегментиране на клиенти
  • Определяне на кредитен рейтинг
  • Прогнозиране на продажби
  • Откриване на измами чрез алгоритми за разпознаване на самоличност, локация, начин на плащане и др.

Решението на задачите в машинното обучение е цикличен процес, в който се използват множество инструменти и подходи с цел да се постигнат оптимални резултати.

ML за програмисти

Програмистите, занимаващи се с машинно обучение, интегрират нови функционалности чрез моделите в приложения. Също така могат да разработват специфични за компанията инструменти и решения, за да подпомогнат работата на другите специалисти. Например в софтуера за управление на продажби могат да се добавят възможности за сегментиране на покупки, прогнозиране на цени и др.

Какви инструменти се използват?

Езиците за програмиране на ML решенията до голяма степен зависят от това софтуерът на какъв език е написан. Най-популярен в машинното обучение е Python с множеството библиотеки за обработка и анализ на данни:

  • NumPy
  • Pandas
  • Scikit-Learn
  • SciPy и др.

Има и голям брой аналогични библиотеки написани на C++, Java, JavaScript и др. В идеалния случай езикът, на който е написана системата, и библиотеката съвпадат.

Какви знания са необходими?

Важно е програмистите да имат силни познания в езика, който използват при създаване на определените решения, както и знания за алгоритмите за машинно обучение, които са им необходими.

Приложение

Програмистите, занимаващи се с машинно обучение, вграждат функционалности в съществуващи системи или създават нови такива продукти.

Вижте повече за популярните езици за програмиране при машинното обучение (Python, R, JavaScript), кои библиотеки се използват, в кои среди, плюсовете и минусите на всеки език в тази статия.

ML за специалисти в конкретна предметна област (непрограмисти)

Нужно ли ми е програмиране? е един често задаван въпрос, когато става дума за машинно обучение.

Програмирането на Python в съчетание с интерактивните тетрадки (Jupyter Notebooks) дават най-голям контрол и гъвкавост в решението на задачите, свързани с машинно обучение, и когато става дума за специалисти в дадена област (икономика, маркетинг, медицина и др.), можем спокойно да ги оставим тези средства в ръцете на малцината ентусиасти.

За специалистите са създадени продукти с графичен интерфейс, които им позволяват да изграждат модели за решаване на задачи без да се налага да са запознати с езици за програмиране.

Какви инструменти се използват?

KNIME, RapidMiner и Orange например са част от популярните продукти за машинно обучение. Освен че имат графичен интерфейс, те обхващат целия работен процес от обработката на данните до изграждане на готови модели.

Какви знания са необходими?

Нужни са знания за статистически методи за изследване на данни, възможностите на самите алгоритми за машинно обучение и сферата им на приложение.

Приложение

Специалистите в конкретна предметна област използват продуктите за машинно обучение с графичен интерфейс за анализи, които позволяват съчетаването на експертните знания от областта и възможностите, които дава машинното обучение.

Повече информация за инструментите с графичен интерфейс (KNIME, RapidMiner и Orange), в кои области се използват, както и какви са предимствата и недостатъците им, можете да прочетете в тази статия.

ML в облака

Обработка на данни с моделите за машинно обучение се предлага и като услуга, която предоставя голяма част от възможностите на машинното обучение в облачно пространство, отвъд ограниченията на персоналния компютър. Например при огромни обеми от данни, тежки изчислителни процеси или необходимост от свързаност с приложения в Интернет. Обхваща се целият процес от избора и настройката на модела през уеб интерфейс до неговото внедряване.

Какви инструменти се използват?

Платформи, които дават възможност да се използва машинното обучение като услуга, са например BigML, IBM Watson и Microsoft Azure Machine Learning. Уеб интерфейсът на услугата води специалиста през поредица от определени стъпки, за да получи желаните резултати, като има и възможности за автоматизираното им изпълнение (AutoML).

Какви знания са необходими?

Не са необходими задълбочени познания по програмиране, но има възможност да се добавят скриптове на Python или R. По сравнение с предишните два сценария, контролът над това, което се случва зад компонентите, е силно ограничен. Платформата препоръчва кой метод да се използва и ако той не е подходящ, специалистът може да избере друг, но трябва да познава добре кой алгоритъм за машинно обучение кога се използва.

Приложение

Машинното обучение като услуга позволява да се преодолеят ограниченията на персоналните компютри при огромни обеми от данни, тежки изчислителни процеси, необходимост от свързаност с приложения в Интернет или някаква комбинация от изброените.

Ако искате да научите по-подробно за машинното обучение като облачна услуга и кои са добрите и лошите страни на някои от по-популярните платформи (Azure ML, IBM Watson и BigML), можете да прочетете в следната статия.

Кое от всичките решения да използваме?

Изборът на решение зависи от това как ще се използва машинното обучение, като свободата и оргиналността на решенията в целия процес на работа са намаляващи от сценария за програмисти до този, който е като услуга. Независимо от това кой от сценариите е подходящ за вас, със сигурност работата с алгоритмите за машинно обучение и цялостният процес ще бъдат вълнуващо изживяване.

Искате да научите повече за машинното обучение?

Включете се в курса по машинно обучение и анализ на данни с Python.

Научете повече

Автор: Десислава Христова