Как отформатировать буквенно-цифровые категориальные данные для ввода в нейронную сеть? - PullRequest
0 голосов
/ 08 июля 2019

В настоящее время я работаю над проектом искусственного интеллекта, в котором входные данные состоят из вектора букв фиксированной длины, A, B, C или D. Я хотел бы иметь возможность вводить, какая буква существует в каждойположение в векторе в нейронной сети.Например, в каждой позиции есть массив, в котором буква в этой позиции имеет 1 в соответствующем входном массиве, а все остальные позиции в массиве равны 0. Например, если буква в десятой позиции буквенного вектораэто A, «вектор ввода» для входного нейрона будет выглядеть примерно так:

[A B C D]
[1 0 0 0]

Конечно, это может происходить из буквенного вектора вот так:

[A B C D D B A A B C A A]

Однаковходные нейроны не могут принимать векторы в качестве входных данных.Следовательно, каков наилучший способ отформатировать этот ввод для ввода в нейронную сеть?

1 Ответ

0 голосов
/ 08 июля 2019

Я думаю, то, о чем вы говорите, называется «горячим кодированием».Если вы выполните эту операцию на своем примере [A B C D], вы получите следующее:

[[1 0 0 0]
 [0 1 0 0]
 [0 0 1 0]
 [0 0 0 1]

Где первый столбец указывает, является ли он A, второй - если B и так далее.

Вы не можете вставлять векторы в один вход NN, но вместо четырех входов вы можете изменить форму матрицы кодера и вместо этого иметь 16 входов.

...