Coletânea Python do ZERO às Redes Neurais Artificiais

Fernando Feltrin · Capítulo 259 de 287

Páginas do PDF

Coletânea Python do ZERO às Redes Neurais Artificiais

Rotinas de uma Rede Neural Artificial

 

Independentemente da área que estivermos falando sempre costumamos dividir nossas atribuições em rotinas que executaremos ao longo de um período de tempo, é assim em nossa rotina de trabalho, de estudos, até mesmo de tentar estabelecer padrões de como aproveitar melhor o pouco tempo que temos longe destes… Sendo assim, uma rotina basicamente será aquela sequência de processos que estaremos executando sempre dentro de uma determinada atividade. Em machine learning, no âmbito profissional, teremos diversos tipos de problemas a serem contextualizados para nossas redes neurais e sendo assim teremos uma rotina a ser aplicada sobre esses dados, independente de qual seja o resultado esperado.

No primeiro dataset que usaremos de exemplo para apresentar uma rede

neural mais robusta, estaremos executando uma rotina bastante completa que visa extrair o máximo de informações a partir de um banco de dados pré-estabelecido, assim como estaremos criando nossa rede neural em um modelo onde determinados processos serão divididos em blocos que poderão ser reutilizáveis se adaptados para outros contextos posteriormente. Tenha em mente que uma vez criadas nossas ferramentas não há necessidade de cada vez criá-las a partir do zero, estaremos elucidando quais rotinas de processos melhor se adaptam de acordo com os tipos de problema computacional apresentado e dessa forma, uma vez entendido os conceitos e codificadas suas ferramentas, posteriormente você poderá simplesmente as reajustar de acordo com a necessidade.

Trabalhando sobre a Breast Cancer Dataset, primeira rede neural mais

robusta que estaremos criando e entendendo seus conceitos passo a passo a seguir, estaremos executando uma determinada rotina que não necessariamente se aplica a todos os demais problemas computacionais, mas já servirá de exemplo para criar uma boa bagagem de conhecimento sobre o processo de importação e tratamento dos dados, criação e aplicação de uma rede neural artificial assim como a configuração da mesma a fim de obter melhores resultados. Raciocine que posteriormente em outros datasets estaremos trabalhando e usando outros modelos e ferramentas que não se aplicariam no contexto da Breast Dataset, porém começar por ela promoverá um entendimento bom o suficiente para que você entenda também de acordo com o problema, a rotina de processamento a ser aplicada.

 

Toda rede neural pode começar a ser contextualizada por um algoritmo

bastante simples, onde entre nossas entradas e saídas temos:

Em algumas literaturas ainda podemos encontrar como rotina: Fase de criação e modelagem da rede > Fase supervisionada de reajustes da mesma > Fase de aprendizado de máquina > Fase de testes de performance da rede e dos resultados > Saídas.

Como mencionado nos capítulos anteriores, aqui usaremos de uma abordagem progressiva e bastante didática. Estaremos sim executando esses modelos de rotinas mencionados acima, porém de uma forma mais natural, seguindo a lógica a qual estaremos criando e aplicando linha a linha de código em nossa rede neural.

Sendo assim, partindo para prática estaremos com base inicial no Breast Cancer Dataset entendendo e aplicando cada um dos passos abaixo:

 

Rotina Breast Cancer Dataset

 

Rede neural simples:

Importação da base de dados de exemplo

Criação de uma função sigmoide de forma manual

Criação de uma função Sigmoide Derivada de forma manual

Tratamento dos dados, separando em atributos previsores e suas saídas

Criação de uma rede neural simples, camada a camada manualmente com aplicação de pesos aleatórios, seus reajustes em processo de aprendizado de máquina para treino do algoritmo.

Rede neural densa:

Importação da base de dados a partir de arquivo .csv

Tratamento dos dados atribuindo os mesmos em variáveis a serem usadas para rede de forma geral, assim como partes para treino e teste da rede neural.

Criação de uma rede neural densa multicamada que irá inicialmente classificar os dados a partir de uma série de camadas que aplicarão funções pré-definidas e parametrizadas por ferramentas de bibliotecas externas e posteriormente gerar previsões a partir dos mesmos.

Teste de precisão nos resultados e sobre a eficiência do algoritmo de rede neural.

Parametrização manual das ferramentas a fim de obter melhores resultados

Realização de técnicas de validação cruzada, e tuning assim como seus respectivos testes de eficiência.

Teste de viés de confirmação a partir de uma amostra.

Salvar o modelo para reutilização.

 

Posteriormente iremos trabalhar de forma mais aprofundada em outros modelos técnicas de tratamento e processamento de dados que não se aplicariam corretamente na Breast Cancer Dataset mas a outros tipos de bancos de dados.

Tenha em mente que posteriormente estaremos passo-a-passo trabalhando em modelos onde serão necessários um polimento dos dados no sentido de a partir de um banco de dados bruto remover todos dados faltantes, errôneos ou de alguma forma irrelevantes para o processo.

Estaremos trabalhando com um modelo de abstração chamado de variáveis do tipo Dummy onde teremos um modelo de classificação com devidas particularidades para classificação de muitas saídas.

Também estaremos entendendo como é feito o processamento de imagens por uma rede neural, neste processo, iremos realizar uma série de processos para conversão das informações de pixel a pixel da imagem para dados de uma matriz a ser processado pela rede.

Enfim, sob a sintaxe da linguagem Python e com o auxílio de algumas funções, módulos e bibliotecas estaremos abstraindo e contextualizando problemas da vida real de forma a serem solucionados de forma computacional por uma rede neural artificial.