2016-05-23 4 views
1

У меня есть коллекция объектов со свойствами, которые я измеряю. Для каждого объекта я получаю вектор действительных чисел, описывающих этот объект. Вектор всегда неполный: обычно есть числа, отсутствующие в начале или конце того, что было бы полным вектором, а иногда в середине отсутствует информация. Следовательно, каждый объект приводит к вектору другой длины. Я также измеряю, скажем, массу каждого объекта, и теперь я хочу связать вектор вещей, которые я измерил для массы.Машина обучения с переменным размером реального вектора входов?

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

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

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

Есть ли какие-либо исследования в этой области?

+2

Правильно ли я понимаю, что вы не знаете, какая функция * находится в положении X в вашем вектор-функции? Если вы знаете, вы не имеете дело с векторами признаков различной длины в классическом смысле, но, вероятно, у вас есть много неизвестной («NA») информации в вашем вектор-функции. Если вы не знаете: упорядочены ли ваши функции (аналогично измерениям временных рядов) или вы, например, «перетасовать» их? – geekoverdose

+0

@geekoverdose интересные вопросы! Я измеряю физическую вещь, где иногда информация просто отсутствует («NA»), но в других случаях информация нефизическая - она ​​не может существовать, как у человека, который стоит, нет круга, поэтому Я не уверен, что это материал «NA».Информация может рассматриваться как упорядоченная, т. Е. Можно пометить их в последовательности, но это не совсем необходимо сделать, и иногда бывает сложно выполнить маркировку. Я был бы рад услышать о последовательных или не последовательных решениях этой проблемы. – rhombidodecahedron

+0

Тогда я бы подумал, что «недостающее свойство» является самой информацией (например, бинарные/фиктивные переменные). Вы можете использовать эту информацию в своих задачах прогнозирования прямо с определенными типами моделей, но вы также можете использовать ее, например. древовидные модели, где они могут быть использованы, автоматически образуют более однородные группы, для которых, например, другие модели могли бы предсказать целевую переменную. – geekoverdose

ответ

1

Рекуррентные нейронные сети (RNN) способны принимать входной вектор переменной длины длиной n и производить выходной вектор переменной длины длиной m.

Существует много способов заставить RNN работать. Наиболее распространенные типы ячеек называются Long short-term memory (LSTM) и Gated Recurrent Unit (GRU).

Вы можете прочитать:

Однако обучение RNNs занимает много обучающих данных. Возможно, вам будет лучше с вычислением вектор-функции фиксированного размера. Но вы никогда не знаете, когда вы этого не сделаете ;-)

+0

Я могу генерировать произвольное количество учебных данных (я работаю из симуляций!), Поэтому я обязательно попробую. Благодаря! – rhombidodecahedron

+0

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

+0

Да, RNN могут использоваться для обозначения последовательности. Обычно он используется, когда у вас есть несколько классов в одной последовательности, и вы не знаете, где разделить, но я уверен, что иметь только один класс для последовательности должен быть возможен. Тем не менее, я не знаю хорошей бумаги для этого прямо сейчас. –