Rede Neural de propagação traseira multicamada para classificação

8

Alguém pode me explicar, como classificar dados como MNIST com rede MLBP-Neural se eu fizer mais de uma saída (por exemplo, 8), ou seja, se eu apenas usar uma saída, posso classificar facilmente os dados, mas se eu usar mais de um, qual saída devo escolher?

Aldy syahdeini
fonte
Por favor, adicione informações / link de referência nesses dados do MNIST , para tornar sua publicação independente. Obrigado.
Rubens

Respostas:

5

Suponha que você precise classificar algo em K classes, em que K> 2. Nesse caso, a configuração mais frequentemente usada é uma codificação quente. Você terá K colunas de saída e, no conjunto de treinamento, definirá todos os valores como 0, exceto aquele que possui o índice de categoria, que pode ter o valor 1. Portanto, para cada instância do conjunto de dados de treinamento, todas as saídas serão com valores. 0 ou 1, todas as saídas somam 1 para cada instância.

Isso parece uma probabilidade, o que me lembra uma técnica usada frequentemente para conectar algumas saídas que são modeladas como probabilidade. Isso é chamado de função softmax, mais detalhes na Wikipedia . Isso permitirá que você coloque algumas restrições nos valores de saída (é basicamente uma generalização da função logística) para que os valores de saída sejam modelados como probabilidades.

Finalmente, com ou sem softmax, você pode usar a saída como uma função discriminante para selecionar a categoria apropriada.

Outro pensamento final seria evitar codificar suas variáveis ​​de maneira conectada. Por exemplo, você pode ter a representação binária do índice de categoria. Isso induziria ao aluno uma conexão artificial entre algumas saídas arbitrárias. A única codificação a quente tem a vantagem neutra de como os rótulos são indexados.

rapaio
fonte
2

O algoritmo usado neste caso é chamado de classificador one-vs-all ou multiclass classifier.

No seu caso, você deve ter uma aula, por exemplo, número 1, marque-a como positiva e combine as demais sete classes em uma classe negativa. A rede neural produzirá a probabilidade de esse caso ser a classe número 1 versus o restante das classes.

Depois, você deve atribuir como positiva outra classe, por exemplo, número 2, atribuir todas as outras classes como uma grande classe negativa e obter a probabilidade prevista da rede novamente.

Após repetir esse procedimento para todas as oito classes, atribua cada caso à classe que teve a probabilidade máxima de todas as classes geradas na rede neural.

tomaskazemekas
fonte