Машинне навчання все більше і більше стає популярним і використовується практично у всіх сферах людської діяльності уже сьогодні. Навики в цій області будуть дуже корисними кожному розробнику, адже все йде до того що машини будуть робити більшість роботи за нас. Не хотілося б щоб мене замінила програма, тому вирішив більше зконцентруватись на вивченні machine learning i deap learning.

Для початку вирішив пройти курс на Прометеусі і хоча б в основному зрозуміти з чим потрібно буде мати справу.

Машинне навчання. Типи навчання. Задачі навчання.

Машинне навчання – це спрощена версія процесу навчання, яке відбувається з людиною. Як правило, в машинному навчанні наявний певний набір прикладів, спостережень, реакцій до цих спостережень. Задача полягає у тому, щоб сконструювати такі моделі, які будуть максимально ефективно описувати наявні дані і робити достовірні прогнози.

Машинне навчання відрізняється від звичного нам тим, що ми намагаємося навчити комп’ютер вчитися. Існує 2 типи навчання:

  1. Індуктивне навчання.
  2. Дедуктивне навчання.

Індуктивне навчання знайоме кожному, адже воно полягає у спостереженні за світом та побудові певних моделей, які пояснюють причини тих чи інших явищ.

Потім такі моделі неодноразово перевіряються, певні з них «виживають» і використовуються, покращуються. А деякі моделі згодом цілком відкидаються.

Дедуктивне навчання подібне до математики в школі, коли учню дають готові формули і розказують, як застосовувати їх на практиці.

Машинне навчання є індуктивним навчанням, оскільки в основному ми вчимо машину вчитися на прикладах, спостерігати велику кількість прикладів із реального життя, будувати на них моделі, перевіряти їх, застосовувати їх на подальших прикладах.

Машинне навчання (МН)– це підрозділ штучного інтелекту, який розглядає побудову алгоритмів, які можуть навчатися на наявних даних.

МН поділяється на 3 типи:

1) Навчання з вчителем

Є набір прикладів, до кожного прикладу є правильна відповідь. Задача системи – навчитися по прикладах надавати правильну відповідь, задану вчителем. Вчителями є ми.

2) Навчання без вчителя

Є великий набір даних. В цих даних є приховані закономірності. Задача системи – знайти закономірності, наприклад, розбивши дані на певні групи чи кластери.

3) Навчання з підкріпленням

Є певне середовище, в якому є певний агент, що контролюється комп’ютером. Агент може вчиняти певні дії. Певні дії приводять до позитивних відкликів чи негативних відкликів. Задача – максимізувати позитивні і мінімізувати негативні відклики. Приклад: гра, в якій треба максимізувати набрані очки, або виграти усю гру.

Задачі МН класифікуються ще на декілька типів по виду вирішуваної проблеми:

  • Задача кластеризації
  • Задача регресії
  • Задача зниження розмірності

Етапи розробки моделі машинного навчання

Процес розробки певної моделі МН складається із етапів:

  1. процес підготовки (представлення) даних
  2. процес конструювання алгоритму
  3. процес тренування алгоритму на наявних даних
  4. процес валідації алгоритму на тестових даних

Тренувальна вибірка – це набір прикладів, які ми показуємо системі, щоб вона на їх базі викрила певну приховану закономірність, яка відповідальна за розподіл даних в тренувальній вибірці. Завдяки віднайденою такої закономірності система зможе її використати для ефективного прогнозування відповідей на тестувальній вибірці.

Нейронна мережа – це певна комплексна функція, яка має величезну кількість параметрів. Кожен із цих параметрів (т.зв. ваги) адаптується для того, щоб наблизити функцію до стану, як розподілені дані у тестувальній вибірці. Дуже часто кількість цих параметрів набагато більша, ніж необхідно опису тестових даних.

Висновок

Після проходження першого тижня я зрозумів що для хорошого розуміння МН потрібно добре знати математику і її термінологію. Також зрозуміло що нічого тут складного немає, просто потрібно наполегливо займатися. Детальний конспект лекції (розширена весія цієї статті) можна знайти за посиланням тут.

Схожі статті