Найти в Дзене
SL Soft

Разбираемся в ИИ #4: ML-алгоритмы и нейросети

В машинном обучении выделяют два ключевых направления: классические алгоритмы и нейронные сети. Сегодня рассказываем, из чего они состоят, чем отличаются друг от друга и для каких задач подходят больше всего. Простыми словами, это методы, которые позволяют обучать модель на основе анализа данных. Работают они так: сначала человек выбирает, какие параметры важны для задачи (например, площадь квартиры, этаж, район) и обозначает их в системе. Затем алгоритм анализирует эти признаки и учится находить закономерности. Благодаря этому после обучения он может самостоятельно делать прогнозы на основе новых данных. Главная сложность, с которой сталкиваются специалисты, разрабатывая модель, в том, что этот подход требует ручной подготовки признаков для анализа данных (feature engineering). Важно: основная особенность классических алгоритмов в том, что их решения можно объяснить — то есть понять, какие признаки данных оказались наиболее значимыми и почему был сделан тот или иной вывод. Такие метод
Оглавление

В машинном обучении выделяют два ключевых направления: классические алгоритмы и нейронные сети. Сегодня рассказываем, из чего они состоят, чем отличаются друг от друга и для каких задач подходят больше всего.

Классические ML-алгоритмы

Простыми словами, это методы, которые позволяют обучать модель на основе анализа данных. Работают они так: сначала человек выбирает, какие параметры важны для задачи (например, площадь квартиры, этаж, район) и обозначает их в системе. Затем алгоритм анализирует эти признаки и учится находить закономерности. Благодаря этому после обучения он может самостоятельно делать прогнозы на основе новых данных. Главная сложность, с которой сталкиваются специалисты, разрабатывая модель, в том, что этот подход требует ручной подготовки признаков для анализа данных (feature engineering).

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

Классические ML-алгоритмы широко применяются в бизнесе: они могут определить, к какому классу относится объект, а также эффективны для прогнозирования числовых значений и для группировки похожих объектов.

Вот несколько примеров алгоритмов, обученных на данных:

  • Линейная регрессия — предсказывает числовое значение.

Она применяется для определения линейных зависимостей и трендов. Например, с ее помощью можно спрогнозировать доход от определенного продукта или цену квартиры по параметрам.

  • Логистическая регрессия — предсказывает вероятность события.

Ее активно используют в FinTech — например, для оценки кредитоспособности клиентов: она анализирует все риски на основе данных о заемщике.

  • Деревья решений — строят «дерево» вопросов для классификации или прогнозов.

Они также применяются для оценки рисков — например, в ситуации, когда руководство компании рассматривает новый инвестиционный проект, алгоритмы анализируют вероятные доходы и риски — дерево решений наглядно показывает все варианты развития событий.

  • Методы ближайших соседей — ищут похожие объекты в данных для предсказания ответа.

Они используются в маркетинге для определения когорт целевых аудиторий. Допустим, у компании есть база клиентов с уже выделенными группами. Когда появляется новый покупатель, алгоритм берёт его характеристики — возраст, пол, город, доход, частота покупок — и находит в базе несколько наиболее похожих по этим признакам клиентов. Анализируется, к каким когортам относятся эти «соседи». Если большинство из них состоят в одной группе, нового клиента тоже отнесут к этой когорте.

Нейронные

Название они получили за свою структуру и функциональность, схожую с принципами работы человеческого мозга. Нейронная сеть — это компьютерная система, состоящая из множества взаимосвязанных элементов, называемых «нейронами», которые соединены между собой и организованы в слои. Каждый нейрон получает входные данные, обрабатывает их и передает результат следующему в цепочке, позволяя сети обучаться и решать различные задачи.

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

Входной — принимает данные и передает их на обработку скрытым слоям.

Скрытый (их может быть несколько) — анализирует выходные данные предыдущего слоя, обрабатывает их и передает на следующий.

Выходной — выдает окончательный результат после обработки всех данных.

-2

Обучение нейросети — это процесс настройки «весов» связей между нейронами. Изначально веса устанавливаются случайно. Во время обучения нейронная сеть много раз пробует решать задачи, сравнивает свои ответы с правильными и постепенно меняет веса связей между нейронами, чтобы делать все меньше ошибок и лучше справляться с задачей. Этот процесс повторяется до тех пор, пока нейросеть не начнет стабильно выдавать правильные результаты. Такой подход позволяет нейросетям выявлять сложные закономерности в данных, которые трудно заметить человеку или классическим алгоритмам.

В первой статье мы сравнивали ИИ с обучением ребенка, здесь можно сделать то же самое, ведь нейросеть учится почти так же, как малыш: делает попытку, видит ошибку, немного «подправляет» себя и снова пробует. С каждым разом попытки становятся лучше, а результат — ближе к ожидаемому.

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

Важно: у нейросетей есть интересная особенность — из-за того, что они обучаются на большом количестве примеров, а также самостоятельно и многократно поднастраивают свои связи («веса» связей) для получения правильного ответа, они не могут объяснить, какие именно признаки или шаги привели их к такому решению.

Виды нейросетей

Существует 3 основных типа нейронных сетей, которые отличаются друг от друга своей архитектурой. В зависимости от того, какие именно задачи придется выполнять модели, выбирается одна из нижеперечисленных:

Полносвязные нейронные сети (Fully Connected Networks, FCN) — это базовый тип, где каждый нейрон соединен со всеми нейронами следующего слоя. Из-за подобного строения можно учитывать все входные данные целиком. Полносвязные нейросети широко используются в компаниях для задач, где нужно классифицировать или предсказывать результаты на основе фиксированного набора признаков, а также обрабатывать сигналы — например, их используют для анализа данных с датчиков и IoT-устройств.

Рекуррентные нейронные сети (Recurrent Neural Network, RNN) применяются для работы с последовательными данными, такими как текст или речь, так как они «помнят» информацию о предыдущих шагах, что важно для понимания контекста. К ним относятся нейросети для машинного перевода (онлайн-переводчики), распознавания речи, составления описания к картинкам и т.д.

Сверточные нейронные сети (Convolutional Neural Network, CNN) специализируются на анализе изображений: они выделяют важные особенности, такие как формы, текстуры, и эффективно работают с визуальной информацией. Их используют для классификации и распознавания объектов на фото, сканах документов и т.д., для биометрической аутентификации, а также в медицине — для поиска опухолей на рентгеновских и МРТ-снимках.