Что такое машинное обучение? Зачем нам обучать машины?
Урок 1

Что такое машинное обучение? Зачем нам обучать машины?

· 3 мин чтения

Да, я решил попробовать написать что-то вроде "курса" по ML. Что из этого выйдет, я не знаю, но постараюсь сделать его полезным, простым и, самое главное, смешным. Надеюсь, вам понравится.

Об авторе

Я Путинцев Павел. Увлекаюсь ML и IT довольно долгое время. Закончил несколько курсов и сборов по машинному обучению и ИИ, являюсь участником заключительного этапа ВсОШ по ИИ, финалистом НТО по ИИ, финалистом множества проектных конкурсов и конференции. Ну и, самое главное, I am average CatBoost enjoyer. Мой сайт: https://pasha883.online/
Если вы заметите какую-нибудь неточность, недосказанность или просто вам что-то не понравится: пишите в комментариях, я постараюсь всё исправить. Приятного прочтения.

Зачем нам понадобилось учить машины?

Информатика в том виде, в котором мы её знаем сейчас зародилась относительно недавно, только в 20 веке, но даже тогда учёные-информатики задумывались над решением некоторых задач, написание точного алгоритма к которым невозможно. Примеров можно привести много: автоматическое обнаружение бракованных деталей на производстве, распознавание рукописного текста (да-да Apple Newton не справился с этой задачей) и огромное множество других задач.

Очевидно, что нельзя просто взять и написать программу на каком-нибудь C++, которая решает любую из вышеуказанных проблем (теоретически это возможно, но это будет очень сложно, долго и экономически невыгодно), но решать их всё же нужно... На помощь учёным пришла природа, а именно люди. Человек способен улучшать решения благодаря накопленному опыту. Исследователи захотели получить нечто похожее от компьютера: дать ему примеры и позволить самому обнаружить полезные закономерности.

Тогда учёные решили изменить подход: вместо того, чтобы писать программу, заточенную на конкретную задачу, нужно написать программу, которая на основе данных способна действовать самостоятельно, не имея чётких if-else конструкций. (Вернее, сам if-else ещё как есть (об этом я расскажу в уроке про решающие деревья), но человек эти условия сам не пишет) Звучит просто, но на деле это десятилетия исследований, прогресса, неудач и перерывов. Сейчас я не буду рассматривать именно историю ML, это можно сделать в отдельном уроке, если вы захотите.

Небольшой перерыв на МЭМчик

Что такое это ваше машинное обучение?

В разгаре век ИИ, поэтому некоторые путают ИИ и МО, иногда даже считая эти термины синонимами. На деле же это не так: искусственный интеллект это огромная научная ниша, которая зародилась очень давно, машинное обучение же есть лишь часть этой ниши. Если давать строгое определение, то оно звучит так:

МАШИННОЕ ОБУЧЕНИЕ — подход, при котором компьютер не получает все правила решения задачи напрямую, а учится находить закономерности на примерах (данных).

Если человек принимает решения на основе опыта и личного мнения, то компьютер это делает на основе огромного массива данных, находя в них закономерности. Именно поэтому есть мнение, что 2/3 успеха алгоритма МО состоит из хороших и качественных данных. (Источник - поверь мне, брат.)

Таким образом можно сформулировать задачу машинного обучения: создать алгоритм (модель), способный достаточно хорошо решать поставленную задачу на ранее не встречавшихся данных

Важный момент: модель должна работать не только на тех объектах, на которых она обучалась. Иначе вместо обучения получится очень дорогая зубрёжка. К этой проблеме мы ещё вернёмся, когда поговорим о переобучении.

МОДЕЛЬ — математическая функция или система правил, параметры которой были подобраны на данных и которая может делать предсказания для новых объектов.

ВНИМАНИЕ, МАТЕМАТИКА!

x→f(x)→y^x \to f(x) \to \hat{y}

Где
xx - входные данные
f()f() - наша модель (математическая функция)
y^\hat{y} - предсказание модели

(Здесь и далее по курсу это будут основные обозначения, данный символ читается как "Игрек с шапкой". Просто yy, без шапки будет обозначать истинные значения переменной для входных данных)

Мы используем данные, чтобы спроектировать модель, которая будет прогнозировать значения целевой переменной, получая на вход уже неизвестные ей данные

Заключение

На этом первый "урок" окончен. Надеюсь, вам понравилось. В следующем уроке мы рассмотрим подробнее, какими бывают данные и какие типы машинного обучения существуют. До встречи!

Мухехе
Оцените урок