Quando queremos usar inteligência artificial para realizar alguma tarefa, devemos escolher várias conhecer algumas características do nosso problema para escolher a melhor implementação aqui eu vou falar sobre alguns usos de redes multilayer perceptron.
Tipos de problema
Os dois grandes usos de inteligência artificial são problemas de classificação e de regressão, problemas de classificação nós temos um conjunto de entradas e com base neles queremos dizer se as entradas pertencem a um grupo ou a outro, um exemplo disso é o dataset Íris, que utiliza medições colhidas de cerca de 200 espécimes dessa flor, para classifica-los em suas três variantes, veja abaixo uma amostra desse dataset:

Nesse tipo de aplicação um único neurônio artificial não seria capaz de classificar corretamente uma flor dadas as suas dimensões, para isso então deveremos usar uma rede mais complexa.
A rede deve ter na camada de entrada o mesmo número de entradas que o dataset possui, e o número de saídas condizente com o dataset utilizado, nesse dataset como separa-se as flores em três categorias, vamos usar três neurônios na camada de saída, e por ser um problema de classificação, podemos usar como função de ativação dos neurônios um degrau, ou uma sigmóide, que tem um formato similar ao degrau, mas com a diferença dessa ser diferenciavel, os valores dessas funções serão 0 para valores abaixo de um ponto, e 1 para valores acima, já sabemos como deve ser a entrada e a saída, mas é as camadas escondidas, temos como determinar quantos neurônios devem ter nela?
Não existe uma fórmula que defina quantos neurônios devemos usar, isso irá depender de como as amostras do dataset estão distribuídas, então fazemos vários testes com topologias, ou quantidades de neurônios diferentes nas camadas intermediárias e vemos qual resulta no melhor resultado, mas esse número não pode ser qualquer coisa, isso porque se houverem poucos, ou muitos neurônios artificiais, podem ocorrer problemas diferentes.
No caso da rede ser muito pequena, e a distribuição das amostras do dataset não possuir uma divisão clara, redes menores podem não ser capazes de classificar corretamente os dados, então a acurácia da rede, quantidade de acertos, será baixa.
Se a rede neural for grande demais pode ocorrer um problema bem diferente, a rede se torna ultra especializada no seu treinamento, e não generaliza o problema, ela acaba decorando o conjunto de treino, e terá uma acurácia alta com ele, mas se forem apresentados dados que não estavam no conjunto de treino, a rede não será capaz de classifica-lós corretamente e a acurácia na aplicação real será baixa, esse erro é chamado de overfitting.
Problemas de regressão
Diferentes dos de classificação que vimos acima, esse problemas não possuem a saída dividida em conjuntos definidos, mas a saída será um número real que pode assumir um valor dentro de um intervalo, por exemplo, podemos usar uma rede neural para determinar qual será a altura de uma planta, dadas as condições ambientes? Podemos, mas perceba que essa aplicação não pode ser atendida por uma função de ativação degrau, então podemos usar a função linear, que permite que a saída seja um valor no conjunto de números reais.
E os pesos iniciais podem ser de qualquer valor, com o tempo o ajuste de pesos irá levar eles para os pesos adequados que ajustarão o dataset.
Fonte:
Aulas de INART, no Instituto Federal de São Paulo, campus São Paulo, com
o professor Miguel Angelo de Abreu de Sousa, no periodo de 11/2020 até 03/2021
Assista à aula que mostra como utilizar problemas de classificação Aqui