0

Я столкнулся с проблемой с отображением, мне нужно отобразить N мерных векторов в одну группу/точку, например [0,1 .... N-1] до 1 | [1,2 .... N-1] до 2.Путь к отображению N мерного вектора в точку

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

Есть какой-то способ сопоставления записи с правильной точкой?

Существует некоторый алгоритм для сопоставления с правильной точкой?

Какую помощь или совет?

Я уже видел эту тему, но я не уверен, является ли решение Гильберта Кривой, мне нужно больше изучить его. Mapping N-dimensional value to a point on Hilbert curve

Я буду благодарен.

+0

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

+0

@andand, на самом деле я хочу реализовать «повторное использование функции», вместо вызова функции, которую я хочу повторно использовать некоторые данные, уже сохраненные в таблице, эта таблица имеет приблизительные результаты моего вызова функции, и я хочу повторно использовать это значение, проблема заключается в том, , как я могу сопоставить новую запись с результатом в моей таблице, ясно ли это сейчас? –

ответ

0

Сопоставление n-мерных данных с одномерными данными называется проекцией. Существует много способов проецирования n-мерных данных в более низкий размер, наиболее известными из которых являются PCA, SVD или использование радиальных базисных функций. Если у вас больше нет вашего метода проектирования, вы, вероятно, не сможете проецировать другую точку, если у вас нет хеш-таблицы предыдущих проецируемых точек. Если у вас точно такая же точка, вы можете сопоставить ее с той же точкой. Однако обратите внимание, что проекция не является однозначной, означающей, что могут существовать две точки, которые отображаются в одну и ту же точку в нижнем измерении. Примером такого случая является проекция трехмерных точек на экране, на которых многие точки могут отображаться в точно одинаковые точки на экране. В результате обратное проектирование точек обычно имеет неоднозначность. О ссылке, которую вы отправили по кривой Гильберта, это общий подход, чтобы проецировать точку в ND на точку на кривой заполнения пространства (SFC), такую ​​как Hilbert, Peano и т. Д. На этом веб-сайте MIT есть интересные материалы об уменьшении размера используя SFC: http://people.csail.mit.edu/jaffer/Geometry/MDSFC

+0

Спасибо за помощь, я посмотрю ваши предложения. @Удачи –