Технология машинного обучения стала частью повседневной жизни: мы пользуемся голосовыми помощниками, получаем рекомендации от стриминговых платформ, генерируем разные форматы контента.
В статье GigaChat расскажем, какие типы и алгоритмы машинного обучения бывают, выделим плюсы и минусы технологии, а также ее перспективы.
Машинное обучение — это класс методов, которые позволяют научить компьютер решать разные задачи не по заранее запрограммированным правилам.
В традиционном программировании человек разрабатывает алгоритм решения той или иной задачи, а затем объясняет его компьютеру на языке программирования. То есть разработчик говорит компьютеру: «если это — сделай то-то». Машинное обучение основано на другой концепции: специалист учит систему думать (как это делает человек) и принимать решения самостоятельно. Для обучения машине показывают подготовленные данные, а далее она сама выявляет закономерности (правила), которые можно применить к неизвестным ей ранее задачам.
Чтобы принцип работы стал яснее, приведем пример из жизни. Обычно родители дают детям первые знания об окружающем мире с помощью картинок. Это могут быть изображения животных, растений или других объектов. Взрослый человек описывает и называет объекты с каждой картинки, а ребенок постепенно находит закономерности, например, собаки говорят «гав-гав», кошки — «мяу-мяу», коровы — «му-му». Впоследствии ребенок сможет сам определять изученные объекты на других картинках. В машинном обучении компьютер также получает огромный объем данных (это могут быть не только изображения) с пояснениями, ищет в них закономерности и использует их для решения новых задач.
Чтобы обучить компьютер думать самостоятельно, разработчики используют разные методы:
Так, типы машинного обучения отличаются по степени участия человека в процессе.
Это статистический метод, который используется для моделирования взаимосвязи между зависимой и одной или несколькими независимыми переменными. Другими словами, линейная регрессия позволяет понять, как изменение каких-то факторов влияет на результат. Например, так можно найти взаимосвязь между интенсивностью физической нагрузки и какими-то показателями здоровья человека. В дальнейшем это позволит прогнозировать значения показателей на основе данных о физической нагрузке.
В реальной жизни линейная регрессия применяется в маркетинге для предсказания цен, спроса, оттока клиентов, в психологии (социологии) — с целью оценки влияния разных факторов на человека (общество) и так далее.
Плюсы линейной регрессии заключаются в простоте и интерпретируемости, но есть большой недостаток: взаимосвязь между зависимыми и независимыми переменными должна быть линейной. В противном случае эта модель не подойдет, поскольку выявить закономерность не удастся.
Это также статистический метод, применяемый для решения задач классификации. Если линейная регрессия позволяет прогнозировать значения, то логистическая оценивает вероятность принадлежности объекта к определенному классу. Например, она может вычислить вероятность своевременных выплат заемщика на основе его кредитной истории.
Логистическую регрессию используют в медицине для оценки вероятности заболевания на основе симптомов, в финансовой сфере, маркетинге.
Алгоритм простой, хорошо интерпретируемый, может работать с небольшим объемом информации. Минус логистической регрессии аналогичен недостатку линейной: если зависимости нелинейные, ее точность падает.
Это один из самых простых алгоритмов машинного обучения. Чтобы классифицировать новый объект, он находит группу наиболее похожих объектов из обучающей выборки и на основе этого относит новый объект к какому-то классу. То есть если ближайшие соседи нового объекта — это объекты класса B, то метод отнесет его к этому классу.
Метод k-ближайших соседей используют для классификации текстов, распознавания изображений, создания рекомендательных систем.
Плюсы метода: интерпретируемость, простота реализации, высокая точность при определенных условиях. Минусы: большое потребление памяти, неустойчивость к шуму и выбросам.
Алгоритм применяется для решения задач регрессии, классификации, поиска аномалий. Принцип работы SVM простой: представьте, что есть несколько точек, относящихся к разным классам информации (например, картинки рыб и птиц). Метод опорных векторов разделяет эти точки на две группы по признакам: у птиц есть крылья и клюв, рыбы имеют вытянутую форму тела и блестящую чешую.
Сейчас метод опорных векторов применяется для распознавания фото и видео, анализа поведения потребителей, обнаружения подозрительных финансовых операций в банках.
Плюс в том, что SVM очень точно распределяет по группам разные классы данных — это повышает точность работы модели и делает ее более надежной. Среди минусов — длительность обучения, а также чувствительность метода к шуму.
Деревья решений используют для прогнозирования, классификации, описания и поиска зависимостей между данными. Каждый узел дерева решений — это простой вопрос (например, «возраст пользователя больше 18 лет?»), а ветви — это варианты ответа: «да» или «нет». Алгоритм двигается по дереву сверху вниз и последовательно выбирает правильные ветви, пока не дойдет до конечного решения.
Деревья решений используют банки для оценки рисков оказания услуг конкретным клиентам и медицинские системы для первичной диагностики заболеваний по симптомам.
Преимущество алгоритма в его простоте: человек может легко понять, почему было принято то или иное решение. При этом такие модели часто переучиваются и не пригодны для работы со сложными зависимостями.
Метод использует множество деревьев решений: вместо того чтобы полагаться на одно дерево, алгоритм пропускает данные через сотни деревьев. Самый популярный результат становится результатом работы случайного леса — ошибки или переобучение одного (или нескольких) дерева не снизят точность итогового решения. Другими словами, деревья голосуют за разные варианты ответа, а результат определяется большинством голосов.
Также такие модели могут работать с большим набором признаков, чем деревья решений, и не настолько склонны к переобучению. Но есть и минус: сложность случайного леса снижает его интерпретируемость относительно отдельного дерева решений.
Здесь объединяется множество деревьев решений, но, в отличие от случайного леса, бустинг обучает каждое следующее дерево на основе ошибок предыдущего. То есть много деревьев, которые ошибаются по отдельности, становятся единым механизмом с высокой точностью прогнозирования.
Бустинг справляется с более сложными закономерностями, чем случайный лес или одно дерево решений, но риск переобучения снова возрастает.
Метод основан на теории Байеса. Он оценивает, насколько часто тот или иной признак встречается в каком-то классе данных, и на основе этого определяет вероятность принадлежности нового объекта к одному из классов.
Наивный байесовский классификатор чаще всего используют для классификации писем по признаку «спам/не спам», а также для анализа настроения (например, позитивный отзыв или негативный).
Алгоритм простой и быстрый, а его недостаток состоит в предположении о независимости признаков объекта друг от друга — если связь между признаками сильная, точность наивного байесовского классификатора снижается.
Это класс моделей, который работает по тому же принципу, что человеческий мозг: есть много нейронов, соединенных слоями. Нейросети обучаются на огромных объемах данных, самостоятельно выявляют признаки объектов и умеют находить даже очень сложные, нелинейные, скрытые закономерности. В результате обучения они формируют собственное представление о мире.
Нейронные сети применяются широко: от распознавания речи (например, для голосовых помощников) до анализа данных в реальном времени (например, для отслеживания состояния оборудования на производствах).
Из-за того, что нейросети могут работать со сложными данными, учитывать сразу много факторов и дообучаться, их решения более точные. Минус таких моделей в плохой интерпретируемости: никто не знает, почему нейронная сеть выдала тот или иной результат.
Это вид нейросетей, которые занимаются обработкой изображений и видео. Как следует из названия, у них есть сверточные слои — они помогают машине выделить особенности визуальных данных: края, текстуры, формы и другие признаки.
CNN используют для создания беспилотных автомобилей, умных систем видеонаблюдения и в прочих сферах, где требуется решать задачи распознавания объектов.
Сверточные нейронные сети отличаются высокой точностью, но имеют стандартные для нейросетей недостатки: плохая интерпретируемость, потребность в больших объемах данных для обучения.
Для обучения компьютеров нужны качественные данные: они не должны содержать ошибок и шумов. Это важно, ведь модель — это буквально отражение того, что в нее вложили. Поэтому, если обучающие данные плохие, такой же получится разрабатываемая система — ее нельзя будет применять для решения реальных задач из-за низкой точности и объективности ответов. Помимо качества, роль играет количество: данных должно быть очень много, а их сбор может быть усложнен финансовыми, юридическими и другими факторами.
Существует явление переобучения, когда модель настолько хорошо «запомнила» обучающую выборку, что не может обобщать данные. Также есть недообучение, когда модель слишком простая и не способна улавливать закономерности.
Проблема черного ящика: даже создатели нейросети не могут объяснить, почему она принимает те или иные решения. Соответственно, человек не может предсказать ответ системы — скорее всего, он будет верным, но риск ошибки остается. Проблема интерпретируемости ограничивает развитие ML в медицине, финансовой и правовой сфере.
Этика. Модель может воспроизводить информацию, которая поддерживает стереотипы или дискриминацию людей по какому-то признаку (полу, возрасту, национальности и т. д.), если она фигурировала в обучающей выборке. Также до сих пор открыт вопрос о том, какие данные можно использовать для обучения машин, не нарушая личную приватность людей.
Разберем будущее ML с нескольких сторон: