2

У меня есть набор данных обучения, каждый элемент в этом наборе состоит из 4 числовых значений и 1 номинального значения, которое является именем метода, с которым были рассчитаны эти значения. (Есть 8 методов)Номинальные значения для нейронной сети

Я тренируюсь с нейронной сетью. Чтобы избавиться от номинального значения, я просто назначил значение от 1 до 8 для каждого метода и использовал один вход для передачи его в Neural Network и 4 других входа для числовых значений. Это своего рода работа, но результат не такой потрясающий, как я хочу.

Итак, мой вопрос заключается в том, что это связано с этим простым присвоением чисел номинальным значениям? или, возможно, из-за смешивания двух разных категорий входов, которые на самом деле не находятся на одном уровне (номера и типы методов)

ответ

6

Поскольку вы не предоставляете подробностей, мой ответ не может быть очень конкретным.

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

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

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

7

Как правило, лучшим способом кодирования номинальных значений будет двоичный вектор. В вашем случае в дополнение к 4 входам с непрерывной оценкой у вас будет 8 бинарных входных нейронов, в которых активируется только один (1), а остальные 7 неактивны.

То, как вы это сделали, подразумевает искусственную связь между методами вычислений, что почти наверняка является артефактом. Например, 1 и 2 численно (и с точки зрения вашей сети!) Ближе 1 и 8. Но являются ли методы nr. 1 и 2 действительно более похожие или связанные, чем методы 1 и 8?

4

Категоризация категорий для численных значений не является хорошей практикой в ​​статистике. Особенно в случае нейронных сетей. Имейте в виду, что нейронные сети имеют тенденцию сопоставлять аналогичные входы с аналогичными результатами. Если вы перечислите категории A в 1 и категорию B в 2 (как в качестве входов), NN попытается вывести аналогичные значения для обеих категорий, даже если они не имеют ничего общего друг с другом.

Предпочтительным является более редкое представление. Если у вас есть 4 категории, картировать их, как это:

A -> 0001

B -> 0010

и т.д.

Посмотрите на «Тема: Как категории должны быть закодированы? " в этой связи: ftp://ftp.sas.com/pub/neural/FAQ2.html#A_cat

Смежные вопросы