Пример использования Gaussian Progress Regression

при чтении статьи: «Тактильное различение активных объектов и поиск целевого объекта в неизвестном рабочем пространстве» есть кое-что, чего я никак не могу понять:

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

  1. Используя пример из раздела 4.1.2, входные данные (x,z), а выходные данные y.
  2. Всякий раз, когда есть контакт, соответствующее значение y сохраняется.
  3. Эта процедура повторяется несколько раз.
  4. Этот обученный георадар используется для оценки следующей точки исследования, то есть точки, в которой дисперсия максимальна.

По следующей ссылке вы также можете увидеть демонстрацию: https://www.youtube.com/watch?v=ZiLq3i-BJcA&t=177s . В первой части видео (0:24-0:29) происходит первая инициализация, когда робот делает 4 выборки. Затем в течение следующих 25 секунд робот исследует объекты с соответствующего направления. Я не понимаю, как эта крошечная инициализация георадара может управлять исследовательским процессом. Может кто-нибудь объяснить, как можно оценить входные точки (x, z) из первой части исследования?


person joee    schedule 22.01.2020    source источник


Ответы (1)


Любой алгоритм регрессии просто сопоставляет входные данные (x,z) с выходными данными y каким-то образом, уникальным для конкретного алгоритма. Для нового входа (x0,z0) алгоритм, скорее всего, предскажет что-то очень близкое к истинному результату y0, если в обучение было включено много точек данных, подобных этому. Если бы в совершенно другом регионе были доступны только обучающие данные, прогнозы, вероятно, были бы очень плохими.

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

Если цель состоит в том, чтобы полностью исследовать все входное пространство, вы можете нарисовать множество случайных значений (x,z) и оценить дисперсию этих значений. Затем вы можете провести дорогостоящий эксперимент в той точке ввода, где вы больше всего не уверены в y. Затем вы можете переобучить георадар со всеми исследованными данными и повторить процесс.

Для проблем с оптимизацией (это не вопрос ОП)

Если вы хотите найти наименьшее значение y во входном пространстве, вы не заинтересованы в проведении эксперимента в областях, которые, как вы знаете, дают высокие значения y, но вы просто не уверены, насколько эти значения высоки. значения будут. Поэтому вместо выбора (x,z) точек с наибольшей дисперсией вы можете выбрать прогнозируемое значение y плюс одно стандартное отклонение. Минимизация значений таким образом называется байесовской оптимизацией, а эта конкретная схема называется верхней доверительной границей (UCB). Ожидаемое улучшение (EI) — вероятность улучшения предыдущего лучшего результата — также широко используется.

person user2653663    schedule 22.01.2020
comment
Если я вас правильно понял, метод из статьи использует тот факт, что регионы, в которых робот не был на этапе обучения/исследования, имеют более высокое значение дисперсии и ведут робота в эти регионы. - person joee; 23.01.2020
comment
Затем проигнорируйте последнюю половину последнего абзаца (см. редактирование). Я включил это для завершения. - person user2653663; 23.01.2020
comment
Извините, что задаю дополнительный вопрос, но что, если моя цель состоит в том, чтобы проверить, что среда обучения похожа на сейчас. Таким образом, после обучения у меня будет модель георадара, которую я обучил с несколькими (x, z) точками и в соответствии с окружающей средой будет оцениваться обучающая метка (выход) y. Как я мог после этого вести робота? Задав новую точку (x1,z1), я мог бы проверить с помощью (y1-y) отклонение, но мог бы я как-то сделать это более систематически, используя, например, дисперсию? - person joee; 23.01.2020
comment
Для данной новой точки (x1,z1) ваш врач выдаст ожидаемую дисперсию. Если вы таким образом оцениваете дисперсию, скажем, 1000 случайных точек, вы можете провести фактический эксперимент в точке, которая, по мнению терапевта, будет иметь наибольшую дисперсию (затем переобучиться, получить следующую точку и т. д.). Дисперсия прогнозируется GP, поэтому вам не нужно проводить дополнительные эксперименты для ее оценки. Не путать с расхождением между вашими прогнозами и результатами эксперимента. - person user2653663; 23.01.2020
comment
В случае, который я описал в комментарии выше, GPR_1 обучается в среде_1. А в среде_2 я хочу измерить, насколько разные эти среды. Если я оцениваю отклонение точки (x2,z2) от среды_2 с помощью GPR_1, я могу автоматически измерить разницу между этими двумя средами. Но, например, когда я переобучаю GPR_1 для следующей точки (x2,z2)_2, GPR_1 будет изменен (изменится моя эталонная модель среды). Или это не имеет значения, так как я просто наблюдаю max_variances с GPR_1 и точками (x2,z2). - person joee; 23.01.2020
comment
Если я правильно понимаю, это два разных случая. 1) Вы исследуете обе среды. 2) Вы уже изучили environment_1 и теперь изучаете environment_2. В 1) вы бы подогнали только один GP к разнице между выходами обоих экспериментов из одного и того же входа. В 2) вы должны подогнать GP или другой алгоритм регрессии к входным и выходным данным первого эксперимента (назовем это R1), а затем обучить GP на разнице между выходными данными второго эксперимента и выходными данными R1. В обоих случаях вы будете исследовать входные данные с наибольшей дисперсией GP. - person user2653663; 23.01.2020