Активное обучение — различия между версиями
(→Uncertainty Sampling) |
|||
Строка 24: | Строка 24: | ||
* '''Синтез объектов''' (англ. ''Query synthesis''). Вместо использования заранее заданных объектов, алгоритм сам конструирует объекты и подает их на вход оракулу. Например, если объекты - это вектора в n-мерном пространстве, разделенные гиперплоскостью и решается задача бинарной классикации, имеет смысл давать оракулу на вход синтезированные вектора, близкие к границе. | * '''Синтез объектов''' (англ. ''Query synthesis''). Вместо использования заранее заданных объектов, алгоритм сам конструирует объекты и подает их на вход оракулу. Например, если объекты - это вектора в n-мерном пространстве, разделенные гиперплоскостью и решается задача бинарной классикации, имеет смысл давать оракулу на вход синтезированные вектора, близкие к границе. | ||
− | == Uncertainty Sampling == | + | == Метод Uncertainty Sampling == |
+ | |||
+ | Uncertainty Sampling - метод отбора объектов из выборки, где самыми информативными объектами считаются те, на которых текущий алгоритм меньше всего уверен в верности классификации. Для этого необходимо задать меру неуверенности в классификации на каждом объекте. | ||
+ | |||
+ | Зафиксируем модель на некотором этапе обучения и обозначим за $P(y | x)$ вероятность того, что объект x принадлежит классу y. Приведем основные меры неуверенности для текущей классификации: | ||
+ | |||
+ | * Максимальная энтропия | ||
+ | |||
+ | $\Phi_{ent}(x) = - \sum\limits_y{P(y | x) \log{P(y | x)}}$ - энтропия классификации на объекте x. Чем больше энтропия - тем больше неуверенность в классификации. | ||
+ | |||
+ | * Минимальный отступ | ||
+ | |||
+ | $\Phi_{M}(x) = P(y_1 | x) - P(y_2 | x)$ - отступ (англ. ''margin'') от $y_1$ - самого вероятного класса до $y_2$ - второго по вероятности класса. Очевидно, что если отступ велик, то велика и уверенность, потому что один класс заметно выигрывает у всех остальных. Поэтому имеет смысл запрашивать оракула на объектах с минимальным отступом. | ||
+ | |||
+ | * Минимальная уверенность | ||
+ | |||
+ | $\Phi(x) = 1 - P(y_1 | x)$, где $y_1$ - наиболее вероятный класс. Интересующие нас объекты - объекты с минимальной уверенностью. |
Версия 16:14, 2 февраля 2020
Активное обучение (англ. Active learning) - область машинного обучения, где в отличие от обучения с учителем имеется набор неразмеченных данных и оракул, способный размечать данные. Зачастую обращение к оракулу затратно по времени или другим ресурсам. Требуется решить задачу, минимизируя количество обращений к оракулу.
Постановка задачи классификации для активного обучения
Дано множество неразмеченных данных:
$X = \{x_1, ..., x_n\}$
Множество меток:
$Y = \{y_1, ..., y_m\}$
Оракул:
$O : X \rightarrow Y$ - функция, которая по объекту возвращает его метку.
Требуется восстановить функцию $a : X \rightarrow Y$, минимизируя количество обращений к оракулу.
Основные стратегии
- Отбор объектов из выборки (англ. Pool-based active learning). Имеется некоторая выборка, и алгоритм использует объекты из нее в качестве запросов к оракулу. В данной стратегии каждому объекту присваивается степень информативности - то есть сколько выгоды принесет информация об истинной метке объекта, и оракулу отправляются самые информативные объекты.
- Отбор объектов из потока (англ. Selective sampling). Алгоритм пользуется не статической выборкой, а потоком данных, и для каждого объекта из потока принимается решение, запрашивать оракула на этом объекте или самому присваивать метку согласно текущему классификатору.
- Синтез объектов (англ. Query synthesis). Вместо использования заранее заданных объектов, алгоритм сам конструирует объекты и подает их на вход оракулу. Например, если объекты - это вектора в n-мерном пространстве, разделенные гиперплоскостью и решается задача бинарной классикации, имеет смысл давать оракулу на вход синтезированные вектора, близкие к границе.
Метод Uncertainty Sampling
Uncertainty Sampling - метод отбора объектов из выборки, где самыми информативными объектами считаются те, на которых текущий алгоритм меньше всего уверен в верности классификации. Для этого необходимо задать меру неуверенности в классификации на каждом объекте.
Зафиксируем модель на некотором этапе обучения и обозначим за $P(y | x)$ вероятность того, что объект x принадлежит классу y. Приведем основные меры неуверенности для текущей классификации:
- Максимальная энтропия
$\Phi_{ent}(x) = - \sum\limits_y{P(y | x) \log{P(y | x)}}$ - энтропия классификации на объекте x. Чем больше энтропия - тем больше неуверенность в классификации.
- Минимальный отступ
$\Phi_{M}(x) = P(y_1 | x) - P(y_2 | x)$ - отступ (англ. margin) от $y_1$ - самого вероятного класса до $y_2$ - второго по вероятности класса. Очевидно, что если отступ велик, то велика и уверенность, потому что один класс заметно выигрывает у всех остальных. Поэтому имеет смысл запрашивать оракула на объектах с минимальным отступом.
- Минимальная уверенность
$\Phi(x) = 1 - P(y_1 | x)$, где $y_1$ - наиболее вероятный класс. Интересующие нас объекты - объекты с минимальной уверенностью.