Машинное обучение: общие принципы и концепции

от автора

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

Это первая статья, с которой я начинаю деятельность по публикации материалов на различные темы, такие как: различные методы МО, основы глубокого обучения (ГО), дифференцирование в ГО, различные методы ГО, основы программирования, алгоритмы и структуры данных. Для каждой темы я буду делать теоретическую часть и реализацию (на чистом python), чтобы каждый мог разбираться с нуля, обучаться и развиваться в направлении создания цифрового интеллекта.

Вступление

Машинное обучение (МО) — это область знаний и исследований в области искусственного интеллекта, которая занимается разработкой алгоритмов и статистических моделей, которые могут аппроксимировать данные, обучаться на них, обобщать их на невидимые зависимости и, таким образом, выполнять задачи без явных инструкций.

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

Машинное обучение можно применять в решении различных задач. Предсказывать значения определенной величины на основе набора данных. Использовать на веб-сайтах для рекомендации контента или продуктов. Помогать выявлять аномалии в финансовых транзакциях и предсказывать рыночные тенденции. Распознавать какие-либо объекты и благодаря этому принимать решения.

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

Основные концепции.

Модель МО — совокупность алгоритмов, параметров и структур данных, которые обеспечивают работу и обучение модели путем изменения ее параметров определенным образом. Другими словами, это система, которая изменяет значения своих параметров, тем самым изменяя свое преобразование входных данных в выходные.

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

 Так можно представлять схематическое изображение модели в уме

Так можно представлять схематическое изображение модели в уме

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

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

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

Данные — примеры решений, какие-то «подсказки» и всё, что может помочь в процессе обучения: статистика, примеры текстов, расчеты, показатели, исторические события. Их представляют в виде таблицы или списка элементов вопрос-ответ, каждый элемент таких данных называется примером (объектом), каждый пример можно рассматривать как одно случайное независимое событие. Вопросом является вектор значений (вектор чисел, вектор независимых переменных), называемых признаками или их последовательность (список векторов признаков), или это может быть обычным числом. Ответом также является число или вектор признаков (вектор чисел, зависимые переменные). Данные собирают годами и объединяют в огромные массивы, которые есть у всех ИТ-корпораций. Примером сбора данных является «капча», которая просит выбрать все фото с автомобилями и запоминает правильные ответы.

Признаки — независимые (входные) или зависимые (выходные) переменные. Входные признаки подаются на вход модели, после обработки входных данных модель выдает выходные данные (выходные признаки) — ответ модели. Это свойства или характеристики данных, сами данные. Это то, на что должна обратить внимание модель в процессе обучения. Например, цена акций, изображение животного, частотность слов или пол человека. Чем меньше признаков и чем четче они обозначены и оформлены, тем проще модели обучаться. Важно не путать понятия зависимая переменная и зависимое событие. Один пример данных — это одно событие, а одна переменная — это одна характеристика, которая описывает часть одного события.

Типы обучения.

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

Обучение с учителем (supervised learning, наблюдаемое, контролируемое обучение). Модель имеет доступ к помеченным данных и обучается на них. Набор данных состоит из пар «входных» и «выходных» данных, в которых выходные данные помечены требуемым значением, каждому входному значению соответствует известный выходной результат. Примеры задач: классификация, регрессия. Учитель (человек) предоставляет примеры, которые модель использует для обучения и последующего применения к новым данным. Маркированные данные означают то, что эти данные имеют определенные метки, например, метка, что эти данные принадлежат к определенному классу объектов.

Обучение без учителя (unsupervised learning, ненаблюдаемое, неконтролируемое). Алгоритм работает с не маркированными данными. Примеры задач: кластеризация, предобучение нейросети. Модель на основе заданных алгоритмов выявляет закономерности или классифицирует данные. Этот тип обучения часто используется для выявления аномалий или группировки данных. В неконтролируемом обучении метки для ответов не предусмотрены, набор данных состоит только из входных данных. Модель изучает входные данные, большая часть которых и не структурирована, и начинает выявлять закономерности и корреляции.

Обучение с частичным привлечением учителя (semi-supervised learning, полунаблюдаемое, полуконтролируемое). Это комбинация обучения с учителем и без учителя, где часть данных помечена, а часть нет. Этот тип сочетает в себе элементы обоих предыдущих типов. Модель получает как помеченные, так и не помеченные данные и использует их для обучения. В идеальном случае все данные структурируются и помечаются перед передачей в модель. Однако, поскольку это явно невозможно в ситуации с огромными объемами данных, приемлемым решением становится полуконтролируемое обучение. Этот тип обучения подразумевает ввод небольших объемов помеченных данных для дополнения набора данных, не имеющего меток. Неразмеченные данные служат для общего обучения модели, выявления общих закономерностей в данных. Размеченные данные служат для целевого обучения и способны значительно повысить скорость и точность обучения. Методы полуконтролируемого обучения учат модель выявлять в помеченных данных корреляции, которые могут быть применены к неразмеченным данным.

Обучение с подкреплением (reinforcement learning, ОП). Модель обучается через «взаимодействие» со средой (окружающей средой), получая награды или штрафы за свои действия. Взаимодействие происходит через симуляцию деятельности объекта, которым модель управляет в среде или через управление объектом оператором. При контролируемом обучении модель получает метку к ответу и учится путем выявления корреляций между обучающими парами входных и целевых данных. Метод ОП не включает метку к ответу, а вводит набор допустимых действий, правил и потенциальных конечных состояний. Ко всем совершенным моделью действиям присваивается определенное значение награды — число, оно запрограммировано в среде как нечто, что система стремится собрать. Эти награды представляют собой целевые значения к входным данным. Во время симуляции собирается набор данных из таких помеченных примеров — действий модели (действие-награда) и дальше происходит обучение с учителем, без него или полуконтролируемое, используя информацию о награде за действие.

Классическое обучение применяется на простых и понятных данных. ОП, когда данных нет, но есть среда, с которой можно взаимодействовать. Если данные сложные и непонятно как выделять признаки, то используются методы глубокого обучения. Эти типы обучения позволяют алгоритмам (моделям) адаптироваться к различным задачам и типам данных, обеспечивая гибкость и эффективность в решении широкого спектра задач.

Типы задач.

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

Регрессия. Она представляет собой тип задачи, где цель состоит в предсказании непрерывного числового значения на основе входных данных.

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

Ранжирование. Это тип задачи, где цель состоит в упорядочении объектов по их релевантности или важности относительно определенного критерия (запроса).

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

Классификация. Это тип задачи, где цель состоит в определении принадлежности объекта к определенному классу объектов или категории на основе его характеристик (признаков).

Примеры задачи классификации. Классификация электронных писем на «спам» и «не спам» по признакам, таким как наличие определенных слов, длина письма и адрес отправителя. Определение вида цветка по его размерам, форме лепестков и чашелистиков, как в случае с набором данных ирисов Фишера. Медицинская диагностика, где по набору медицинских характеристик требуется поставить диагноз.

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

Примером может служить группировка клиентов интернет-магазина по их покупкам, демографическим характеристикам и поведению на сайте, чтобы персонализировать их предпочтения. Группировка новостных статей по темам без ручной разметки, где алгоритм может автоматически обнаружить кластеры статей, освещающих похожие события или относящихся к одной широкой теме.

Уменьшение размерности. Уменьшение размерности — это процесс сокращения количества признаков в данных, сохраняя при этом максимально возможное количество информации. Это делается для упрощения модели, уменьшения времени вычислений и борьбы с проблемой проклятия размерности — это проблема, связанная с экспоненциальным ростом необходимых экспериментальных данных в зависимости от размерности пространства признаков (от числа признаков).

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

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

Целью всех типов задач в МО является выведение зависимости в данных. Для простых задач, найти истинную зависимость просто, но для более сложных данных и задач найти истинную зависимость не всегда возможно, поэтому для них применяются методы глубокого обучения.

Постановка задачи машинного обучения.

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

Рассмотрим тип обучения с учителем. Пусть есть некоторый набор входных данных (входные векторы признаков)  X = \{X_i\}_{i = 1, ..., n}, n — число объектов в наборе данных, X_i = (x_1, ..., x_m), m — число признаков, описывающих каждый объект. И набор выходных данных (целевые векторы признаков) T = \{ T_i \}_{i = 1, ... , n}, T_i = (t_1, ..., t_k), k — число признаков, описывающих объект на выходе. Каждый объект описывается входными X_iи выходными T_iпризнаками. На основе этих данных нужно вывести зависимость — сделать модель, которая может выводить приемлемый ответ для любого нормального входного объекта, не участвующего в обучении модели.

Выбирается определенная модель МО, которая сможет отображать множество входных признаков в множество выходных признаков для данного набора данных. В результате отображения входного вектора каждого объекта из набора данных получается ответ модели Y_i. Этот ответ определенным образом сравнивается с выходным вектором T_iобъекта и получается оценка степени соответствия E_i. После этого начинается процесс обучения модели. Модель обучается до тех пор, пока суммарная ошибка по всем объектам не достигнет определенного минимального значения. Или она обучается определенное число итераций.

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

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

Заключение

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

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

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


ссылка на оригинал статьи https://habr.com/ru/articles/862704/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *