Изменения

Перейти к: навигация, поиск

Мета-обучение

465 байт добавлено, 18:44, 22 марта 2020
Нет описания правки
<b>Мета-обучение</b>(англ. Meta-learning) {{---}} подход, позволяющий определять наиболее подходящий алгоритм (иногда, вместе с параметрами к нему) для конкретной задачи из портфолио алгоритмов. Основная идея мета-обучения {{---}} свести задачу выбора алгоритма к задаче [[Общие понятия#Классификация задач машинного обучения|обучения с учителем]]: задачи описываются мета-признаками. Мета-признак описывает свойство задачи {{---}} например, разрежен ли датасет или нет, число категориальных или численных признаков объеков объектов в датасете, число возможных меток, размер датасета и многое другое.
От хорошей модели ожидается высокая адаптируемость к новым задачам и окружениям, на небольшом количестве примеров. Примеры задач мета-обучения:
\end{aligned}
Очень похоже на обычную задачу машинного обучения, только один датасет принимается за один сэмпл образец данных.
Ограничения {{---}} no free lunch (NFL) theorem<ref>[https://www.researchgate.net/publication/221997149_No_Free_Lunch_Theorems_for_Search Wolpert and Macready, 1996]</ref><ref>[https://www.researchgate.net/publication/228671734_Toward_a_justification_of_meta-learning_Is_the_no_free_lunch_theorem_a_show-stopper Giraud-Carrier and Provost, 2005]</ref> , доказанная в 1996 году.
Пусть $P(d_{m}^{y}| f, m, a)$ {{---}} условная вероятность получения частного решения $d_m$ после $m$ итераций работы алгоритма $a$ при целевой функции $f$. Для любой пары алгоритмов $a_1$ и $a_2$ иммет имеет место равенство
\begin{aligned}
\end{aligned}
Общая идея такая: для каждого набора данных $d \in \mathcal{D}$ вычисляется вектор мета-признаков, которые описывают свойства этого набора данных. Ими могут быть: число категориальных или численных признаков объеков в $d$, число возможных метокИными словами, размер $d$ и многие другие<ref>[https://www.fruct.org/publications/ainl-fruct/files/Fil.pdf Datasets meta-feature description for recommending feature selection algorithm]</ref>. Каждый алгоритм запускается на всех наборах данных из $\mathcal{D}$. После этого вычисляется эмпирический рискесли встречается задача, которая не похожа на основе которого формируются метки классов. Затем мета-классификатор обучается на полученных результатах. В качестве описания набора данных выступает вектор мета-признаковто, а в качестве метки — алгоритмчто решалось ранее, оказавшийся самым эффективным с точки зрения заранее выбранной меры качествато мы не сможем сразу придумать для него эффективное решение.
Кажддый Общая идея мета-обучения: для каждого набора данных $d \in \mathcal{D}$ вычисляется вектор мета-признаков, которые описывают свойства этого набора данных. Ими могут быть: число категориальных или численных признаков объектов в $d$, число возможных меток, размер $d$ и многие другие<ref>[https://www.fruct.org/publications/ainl-fruct/files/Fil.pdf Datasets meta-feature description for recommending feature selection algorithm]</ref>. Каждый алгоритм запускается на всех наборах данных из $\mathcal{D}$. После этого вычисляется эмпирический риск, на основе которого формируются метки классов. Затем мета-классификатор обучается на полученных результатах. В качестве описания набора данных выступает вектор мета-признаков, а в качестве метки — алгоритм, оказавшийся самым эффективным с точки зрения заранее выбранной меры качества.  Каждый датасет $d \in \mathcal{D}$ содержит пары признаков и меток, $\{(\mathbf{x}_ix_i, y_i)\}$, каждая метка принадлежит известному множеству меток $\mathcal{T}$.
Датасет $d$ делится на две части: $d=\langle S, B\rangle$, обучающую $S$ и тестовую $B$ выборки. Часто принимается k-shot N-class задача {{---}} обучающая выборка содержит $k$ размеченных примеров для каждого из $N$ классов.
Скажем, наш классификатор $f_\theta$ с параметром $\theta$ показывает вероятность принадлежности точки из данных к классу $y$ при векторе признакопризнаковпризнаков, $P_\theta(y|x)$.
Оптимальные параметры должны максимизировать вероятность получения верных меток среди нескольких обучающих выборок $B⊂\mathcal{D}$:
В пристрелочной (few-shot) классификации цель {{---}} уменьшить ошибку предсказания на неразмеченных данных. Чтобы его ускорить, сделаем следующее:
# возьмем Возьмем подмножество меток, $T\subset\mathcal{T}$# возьмем Возьмем обучающее множесто множество $S^T⊂D$ и обучающую выборку $B^T⊂D$. Оба содержат только данные с метками из подмножества с пункта 1: $L, y \in L, \forall (x, y) \in S^T, B^T$
# Множество $S^T$ подается на вход модели
# Конечная оптимизация использует множество $B^T$, чтобы посчитать функцию потерь и обновить параметры модели через обратное распространение, так же, как это делается в обучении с учителем.
Пусть модель ученика будет $M_\theta$, параметризованной $\theta$, и meta-learner как $R_\theta$ с параметром $\theta$, и функция потерь $\mathcal{L}$.
Обновление параметров learner'a во время $t$ со скоростью обучения $\alpha_t$ (шаг градиентного спуска):
\begin{aligned}
<h2>Определение множества конфигураций</h2>
Предшествующие вычисления могут быть также использованы для изучения пространства более успешных конфигураций $\theta\star$. Более подходящие под задачу конфигурации могут серьезно ускорить поиск оптимальных моделей, это важно при ограниченных вычислительных рессурсахресурсах.
Альтернативный подход сперва узнать оптимальные гиперпараметры, а потом через приращение производительности определить важность каждого из гиперпараметров. Это и было сделано в лабе лаборатории OpenML, провели около 500 000 экспериментов на 6 алгоритмах и 38 датасетах. Стандартные значения изучались вместе для всех гиперпараметров алгоритма посредством обучения суррогатных моделей на большом числе задач. После того, как уже проверены многие варианты конфигураций, выбирается такая, которая минимизирует ??? средний риск для всех задач, и становится стандартной.Далее определяется важность каждого из гиперпараметров. Чем больше меняется приращение производительности, тем более важный гиперпараметр мы изменяем.
Если мы хотим предоставить рекомендации для конкретной задачи $t_{new}$, нам нужна дополнительная информация о том, насколько $t_{new}$ похожа на предыдущие задачи $t_j$. Первый способ {{---}} посчитать число рекомендованных конфигураций для $t_newt_{new}$, yielding новый эвиденс получая новое докозательство $\mathbf{P}_{new}$. Если позже мы будем наблюдать, что вычисления $P_{i,new}$ соответствуют $P_{i, j}$, то $t_{j}$ и $t_{new}$ могут быть очень похожими. Мы можем применить это знания для обучения meta-learner'a который предсказывает множество рекомендуемых конфигураций $\Theta^{*}_{new}$ for $t_{new}$.Более того, можно пойти дальше и добавить $\Theta^{*}_{new}$ в $P_newP_{new$ и перейти к следующей итерации и выяснять какие еще задачи схожи друг с другом.
<h3>Суррогатные модели</h3>
Более гибкий способ передать информацию {{---}} построить суррогатную модель $s_{j}(\theta_{i}) = P_{i,j}$ для всех предшествующих задач $t_{j}$, обученную с использованием всех доступных $\mathbf{P}$. Можно определить "похожесть" задач в терминах ошибок между $s_{j}(\theta_{i})$ и $P_{i,new}$: если суррогатная модель для $t_{j}$ может генерировать точные предсказания для $t_{new}$, тогда такие задачи весьма похожи. Обычно это делается в комбинации с Байесовской оптимизацией для определения следующей $\theta_{i}$.
Так же можно обучать суррогатные модели на Гауссовских процессах (GP) для каждой предыдущей задачи и еще одну для $t_{new}$ и объединить их во взвешенную и нормализованную сумму, с медианой $\mu$ определенной как взвшеннаявзвешаннаясумма $\mu_{j}$ полученных из задач $t_{j}$. Веса $\mu_{j}$ считаются методом Надарая-УотсонВатсона<ref>[http://www.maths.manchester.ac.uk/~peterf/MATH38011/NPR%20N-W%20Estimator.pdf Nadaraya-Watson estimator]</ref>, где каждая задача представлена вектором относительных ориентиров (англ. relative landmarks ) илиядром Епанечникова<ref>[https://epubs.siam.org/doi/10.1137/1114019 V. A. Epanechnikov, Non-Parametric Estimation of a Multivariate Probability Density]</ref>, используется для определения похожести между векторами relative landmarks относительных ориентиров для $t_{j}$ и $t_{new}$.
Чем больше $t_{j}$ похожа на $t_{new}$, тем больше получится вес $s_{j}$, увеличивающий влияние суррогатной модели для $t_{j}$.
Суррогатные модели обучаются только на $P_{i, new}$, а следующий $\theta_{i}$ получается путем нахождения средневзвешенного expected improvement $P_{i, new}$ и предсказанных улучшений на всех предшествующих $P_{i, j}$.
Веса предшествующих задач могут быть переопределены через точность суррогатной модели или через relative landmarksотносительных ориентиров.
Вес ожидаемого улучшения (expected improvement) постепенно возрастает с каждой итерацией (с увеличением собранного эвиденса $P_{i, new}$).
<h3>Обучение на свойствах задачи (learning on task properties)</h3>
Каждая задача $t_{j} \in T$ может быть описана вектором $m(t_j) = (m_{j,1}, ...,m_{j,K})$ из $K$ мета-признаков $m_{j, k} \in M$ ,где $M$ {{---}} множество мета-признаков. Можно определить меру "похожести" задач, основанную, например, на Евклидовом расстоянии между $m(t_i)$ и $m(t_j)$, тогда можно будет использовать информацию из наиболее похожей задачи на новую задачу $t_{new}$. Более того, используя предшествующие вычисления $\textbf{P}$ можно обучить meta-learner'a $L$ предсказывать производительность $P_{i, new}$ конфигураций $\theta_{i}$ на новых задачах $t_{new}$.
$L: \Theta \times M \rightarrow \textbf{P}$
| colspan="4" align="center" | '''простые'''
|-
| # instances || $n$ || Speed, Scalability<ref>[https://www1.maths.leeds.ac.uk~charlesstatlogwhole.pdf Donald Michie, David J. Spiegelhalter, Charles C. Taylor, and John Campbell. Machine Learning, Neural and Statistical Classification, 1994]</ref> || $p/n$, $log(n)$, log(n/p)
|-
| # features || $p$ || Curse of dimensionality || $log(p)$, % categorical
|-
| # classes || $c$ || Complexity, imbalance || ratio min/maj class
|-
| # of missing values || $m$ || Imputation effects <ref>A. Kalousis. Algorithm Selection via Meta-Learning. PhD thesis, University of Geneva, Department of Computer Science, 2002</ref> || % missing
|-
| # outliers || $o$ || Data noisiness <ref>Peter J. Rousseeuw and Mia Hubert. Robust statistics for outlier detection. Wiley Interdisciplinary Reviews: Data Mining and Knowledge Discovery, 2011.</ref> || $o/n$
|-
| colspan="4" align="center" | '''статистические'''
| Information gain || || Feature importance || min,max,$\mu$,$\sigma$, gini
|-
| colspan="4" align="center" | '''лэндмарки ориентиры (landmarks)'''
|-
| Landmarker(1NN) || $P(\theta_{1NN},t_{j})$ || Data sparsity <ref>Bernhard Pfahringer, Hilan Bensusan, and Christophe G. Giraud-Carrier. Meta-learning by landmarking various learning algorithms.In \emph{17th International Conference on Machine Learning (ICML)}, pages 743 -- 750, 2000.</ref> ||
Во время вычисления похожести задач важно нормализовать все мета-признаки, использовать отбор признаков <ref>L Todorovski and S Dzeroski. Experiments in meta-level learning with ILP. Lecture Notes in Computer Science, 1704:98–106, 1999.</ref> или использовать [[уменьшение размерности | уменьшение размерности]] (например, principal component analisys {{---}} [[Метод главных компонент (PCA)| PCA]]).
<h2> Лэндмарки Ориентиры (англ. landmarks) </h2>Лэндмарки Ориентиры {{---}} один из подходов для описания задач мета-обучения. В отличие от предшетсвенниковпредшественников, использовавших только статистические метрики, лэндмарки ориентиры стараются
определить расположение конкретной задачи мета-обучения в пространстве всех задач обучения, измеряя производительность некоторых простых и эффективных алгоритмов.
Таким образом, можно сказать, что алгоритм обучения сам характеризуют задачу.
<h3> Относительные лэндмарки ориентиры </h3>
Первая мера для вычисления "похожести" задач вычисляла попарно разницу в производительности, так же называемую "relative landmarks" $RL_{a,b,j} = P_{a,j} - P_{b,j}$ между двумя конфигурациями $\theta_{a}$ и $\theta_{b}$ на конкретной задаче $t_{j}$.
<h3> Линейный дискриминант </h3>
Линейный дискриминант (англ. linear discriminant) $P(\theta_{Lin},t_{j})$ можно понимать как группировка и разделение категорий соответсвующих соответствующих конкретным признакам. Линейный дискриминантобычно ищет линейную комбинацию признаков, которая лучше всего разделеит разделит классы. Результат {{---}} линия, плоскость или гиперплоскость, зависит от числа комбинированных признаков.
<h3> Наивный Байесовский лэндмарк </h3>
16
правок

Навигация