As RNA são um sistema adaptativo capaz de aprender relações entre variáveis através dos dados a ela disponibilizados e realizar generalizações para outros dados ainda novos para a rede. Este processo é feito ao se disponibilizar uma série de dados de entrada com as respectivas saídas desejadas. A rede busca então aprender as relações entre os dados de entrada e de saída variando seus parâmetros. No caso da pesquisa desta dissertação, a rede a ser criada será utilizada com o objetivo de classificação de casos entre os dois grupos de empresas definidos. Será adotado como
saída da rede um valor entre zero e um, que representará a probabilidade de cada caso pertencer a um grupo ou outro.
A seleção de uma arquitetura de rede é muito importante. As RNA são basicamente divididas em dois grandes grupos: redes feed-forward e redes feed-
backward. Uma rede neural se constitui de um conjunto de nós interligados, e a diferença básica entre esses dois métodos é na forma pela qual esses nós se interligam. As redes feed-backward possuem apenas uma camada de neurônios e todos são interligados entre si. As redes feed-forward possuem várias camadas organizadas horizontalmente, e cada neurônio conecta-se e envia informação para os demais da camada posterior. Os neurônios de uma mesma camada não são interligados entre si.
As redes feed-forward são freqüentemente compostas de três camadas: uma de entrada, uma intermediária e uma de saída. No entanto, mais camadas intermediárias podem ser definidas dependendo da complexidade dos dados do problema em questão. Os neurônios da camada de entrada introduzem a informação na rede e os de saída transmitem as respostas.
Nesta dissertação será usado o método de redes do tipo feed-forward com três camadas, baseada no experimento de Odom e Sharda (1993) descrito na seção 2.4.4.1. A figura a seguir apresenta a estrutura da rede a ser usada nesta pesquisa.
Figura 8: Arquitetura da rede a ser utilizada neste estudo.
Em uma rede como a mostrada na figura acima, há duas importantes características. Em primeiro lugar, os elementos de processamento não são lineares, e são definidos por funções de transformação que devem ser suaves, como uma função logística, por exemplo. Em segundo lugar, eles são intensamente interconectados, de forma que todos os elementos de uma camada se conectam a todos os elementos da camada seguinte.
No processo de criação de uma RNA a primeira etapa é a de aprendizado da rede. Nesta etapa, os casos a serem usados como dados de treinamento serão apresentados à rede por um determinado número de ciclos (epochs), e em cada ciclo de apresentação dos dados, a rede ajusta seus parâmetros de forma que consiga classificar corretamente o maior número de casos possíveis.
Para começar o processo de retro-propagação, um valor inicial será atribuído para cada peso de conexão e o processo de ajustamento continuará até que o critério de parada seja atendido. Há três critérios possíveis de serem adotados: número
máximo de iterações, erro quadrado médio19 do conjunto de dados de treinamento e o
erro quadrado médio do conjunto de dados de validação20. O método mais poderoso é
sem dúvidas o baseado no erro quadrado médio do conjunto de dados de validação, pois ele interrompe o treinamento da rede no ponto de generalização ótima, minimizando o erro do conjunto de validação. O uso do conjunto de dados de validação também se justifica pela tentativa de evitar excesso de treinamento da rede, que faria com que ela memorizasse os dados de treinamento, mas que não fosse útil para aplicações em dados que não aqueles (generalização).
A função mais importante das RNA é a de aprender a partir dos dados disponíveis. Assim, os pesos de conexão entre cada elemento de processamento sofrem mudanças a partir de seus valores anteriores por meio de um termo de correção, que é especificado de acordo com a regra de aprendizagem. O foco da regra de aprendizagem é minimizar as diferenças entre os dados de saída obtidos através da passagem dos dados pela rede e os dados reais conhecidos a priori. O processo de aprendizagem leva em consideração a taxa de aprendizagem, que se for muito baixa faz com que o processo se torne demorado. Do contrário, se a taxa for muito alta, o processo de adaptação não converge adequadamente e os pesos passam a não ser calculados de forma útil à solução do problema.
19 O erro quadrado médio é obtido a partir da média dos quadrados das diferenças entre os dados de
saída obtidos no processamento da rede e os dados de saída esperados.
20 Neste caso, o termo validação se refere a uma porção dos dados não utilizados no conjunto de
treinamento (normalmente cerca de 10% dos casos disponíveis), para servir como critério de parada. Além do conjunto de validação, há ainda o conjunto de teste, que serve como validação do modelo treinado originalmente. Não é conveniente utilizar os dados de teste como critério de parada, pois a rede criada será adequada para estes dados, e o intuito de uma validação seria perdido.
Outro aspecto importante a ser considerado na etapa de aprendizagem da rede é que não há garantias de que a solução final dos pesos das conexões será obtida. Uma RNA pode obter diferentes soluções para o mesmo conjunto de dados quando diferentes valores são usados inicialmente para os pesos de conexão. Assim, com vistas a se obter uma boa rede, ela deve ser treinada múltiplas vezes. O objetivo aqui é criar uma rede onde cada uma das rodadas de treinamento convirja para o mesmo erro quadrado médio.
Após a etapa de aprendizagem, a rede está pronta para a etapa de teste usando novos dados ainda desconhecidos pela rede. Usando os parâmetros obtidos na etapa anterior, a rede busca classificar novos dados em um dos grupos de interesse. Nesta etapa, os resultados alcançados pela rede são de vital importância, pois são eles que comprovam a capacidade de generalização da rede.
No processo de criação da rede, a definição de alguns parâmetros é importante para seu bom desempenho como uma ferramenta de generalização. Em primeiro lugar deve-se definir a quantidade de camadas intermediárias a serem usadas. Foi definida a utilização de uma camada intermediária, suficiente para fornecer um caráter não linear ao problema. O segundo passo é definir quantos elementos de processamento (ou neurônios) devem ser usados nesta camada. Para responder a esta pergunta, ainda durante a etapa de aprendizagem, foram treinadas diversas redes variando-se a quantidade de neurônios na camada intermediária a fim de encontrar o número de elementos de processamento mais adequado para o problema.
Foi realizada também uma análise de sensibilidade para identificar variáveis que acrescentaram pouca informação ao modelo. Esta etapa é semelhante a qualquer
outro método de seleção de variáveis em um modelo de regressão, como o método
stepwise ou de melhores sub-conjuntos, e foi de grande importância na redução das
variáveis iniciais do estudo.