Сверточная нейронная сеть для разреженного однопользового представления
-
16-10-2019 - |
Вопрос
У меня есть несколько основных функций, которые я закодировал в один горячий вектор.
Длина вектора функций равна 400. Это редкий.
Я видел, что Conv Nets применяется к плотным векторам.
Есть ли какие -либо проблемы для применения конвертации к редким векторам функций?
Решение
Я бы не стал применять сверточные нейронные сети к вашей проблеме (по крайней мере, из того, что я могу собрать из описания).
Сильные и слабые стороны сверточных сетей связаны с основным предположением в классе моделя: регулярное перевод характеристик либо оказывает незначительное влияние на результат, либо имеет особое полезное значение. Итак, шаблон 1 0 1
В каком -то смысле, видно из функций 9,10,11 с той же схемой, наблюдаемой в элементах 15,16,17. Наличие этого предположения, встроенного в модель, позволяет вам обучать сеть с гораздо меньшим количеством свободных параметров при работе с данными, например, изображением, где это ключевое свойство данных, полученных сканерами и камерами.
Благодаря однопольнуемому кодированию функций вы назначаете индекс вектора функций из значения или категории, по сути, случайно (через некоторую функцию хэширования). Нет смысла для переводов между индексами векторов признаков. Шаблоны 0 0 1 0 1 0 0
а также 0 0 0 1 0 1 0
может представлять совершенно разные вещи, и любые ассоциации между ними случайно. Вы можете относиться к редкому однокайному кодированию как изображение, если хотите, но нет веских причин для этого, и модели, которые предполагают переводы, могут быть сделаны, в то время как сохранение значения не преуспеет.
Для такого небольшого редкого вектора функций, предполагая, что вы хотите попробовать модель нейронной сети, используйте простую полностью подключенную сеть.
Другие советы
Хотя я согласен с ответом Нила Слейтера, вы должны помнить о паре вещей.
1) "Ты никогда не знаешь!" В исследовании данных вы никогда не знаете, что можете найти. Если у вас есть тонна данных, возможно, поиграть с Conv Net 20x20 даст вам приличные результаты. Конечно, было бы полезно, если бы у него было больше, чем несколько функций, которые они должны были выучить ... если ваш вектор длины 400 является результатом 4-го ходу 4 разных функций, то, вероятно, можно с уверенностью сказать, что конвейная сеть выиграла ' ТАКОЙ МНОГО.
2) Если вы ищете причину для реализации конверта, то сделайте это. Даже если ваши показатели точности ужасны, вы, по крайней мере, узнаете, как создавать свою сеть, тренироваться и предсказать, используя свои собственные данные ... нельзя недооценивать этот опыт обучения! Гораздо более ценно, что запустить еще один пример MNIST из коробки.
3) Сравнение. Сделайте обычную сеть и конвревую сеть ... затем вы можете сравнить их. Мало того, сравните его с случайным лесом, логистической регрессией и т. Д.
Я говорю, сделай это! (Если кто -то не платит вам ... в этом случае попробуйте сначала обычный NN)