Активное обучение - это класс задач машинного обучения, при котором размеченные данные недоступны для контролируемых алгоритмов.
Возьмем для примера классическую установку. Допустим, у нас есть изображения птиц, и мы хотим классифицировать их по типу, но на изображениях нет ярлыков, указывающих, какие птицы на каждом из них. В этой ситуации мы полагаемся на людей, которые аннотируют информацию и сообщают машине тип каждого выбранного ею примера.
А пока мы сосредоточимся на одной из наиболее распространенных проблем активного обучения в этой области: выборке на основе пула.
Что такое выборка на основе пула?
В каждой активной задаче обучения машина имеет доступ к некоторым немаркированным примерам, которые затем запрашивают у «оракула» метку. (Oracle - это общий термин для объекта, идентифицирующего метки, обычно это человек-пользователь). Пользователь обновляет параметры и оттачивает правильную конфигурацию на основе прогнозов машины на этих этикетках.
Выборка на основе пула - одна из многих вариаций этой темы, но также одна из самых многообещающих. При выборке на основе пула машина имеет доступ к большому количеству примеров и выборок, основанных на «информативности». Информативность оценивается количественно на основе выбранной пользователем метрики, которую пользователи выбирают в зависимости от требований своего приложения. Мы кратко рассмотрим некоторые из этих вариантов, а пока у нас есть функция, которая оценивает, какие примеры лучше всего расскажут о нашей проблеме.
Как это работает?
Мы начинаем с разделения набора данных на пул и наборы тестов. Они должны соответствовать типичному распределению 80–20, наблюдаемому в большинстве тренировочных задач. Затем пул разбивается на наборы для обучения и проверки. Мы можем выбрать только k примеров для использования в обучающей выборке; остальные переходят в набор для проверки. Мы обучаем (игнорируя набор для проверки), а затем оцениваем нашу модель на тестовом наборе. Все идет нормально.
Здесь все становится странно. Вместо получения меток и для проверочного, и для обучающего наборов мы только получаем ярлыки для элементов обучающего набора. Для этого есть несколько причин, самая очевидная из которых состоит в том, что нам не нужно так много консультироваться с нашим оракулом в отношении ярлыков. Другая причина в том, что мы не будем использовать ярлыки во время проверки.
В этом контексте проверка - это этап, на котором наш алгоритм пытается предсказать метки примеров проверки и выдает значение того, насколько он был уверен в своем решении. Мы не будем слишком беспокоиться о том, как измеряется эта уверенность - просто знайте, что это непрерывная переменная, которая измеряет уверенность в принятии решений.
Мы сравниваем нашу меру информативности с нашим набором проверки и выбираем k дополнительных примеров из набора проверки, в которых мы были наиболее не уверены. Затем мы удаляем эти примеры из набора для проверки и помещаем их в обучающий набор. Когда они попадают в наш обучающий набор, мы просим у оракула их ярлыки. После этого мы перенормируем наш обучающий набор с новой информацией и повторяем, пока не будем удовлетворены результатами нашего теста.
Как мы измеряем информативность?
Информативность можно количественно оценить как те примеры, в отношении которых модель наиболее неуверенна. Итак, примеры, которые ему труднее всего классифицировать.
Один из самых популярных способов решения этой проблемы - использование информационной энтропии (IE). IE - это метод определения того, сколько информации содержит конкретный пример из стохастического источника. Разработчики могут добиться этого, измерив энтропию образца относительно по отношению ко всем другим примерам в наборе данных.
Существует ряд других методов, которые разработчики могут использовать в зависимости от требований их проблемы, включая случайную и маржинальную выборку. Разработчик должен решить, какую меру использовать в своем приложении.
— — — — — — — — — — — — — — — — — —
Прочтите больше статей по науке о данных на OpenDataScience.com, включая учебные пособия и руководства от новичка до продвинутого уровня! Подпишитесь на нашу еженедельную рассылку здесь и получайте последние новости каждый четверг.