RNA
aplicadas
Sistemas que aprendem sobre
tendências e regras de negócio
RNA aplicadas.
Agenda:
●
O que é RNA;
●
Onde e quando utilizar;
●
Como aplicar;
●
Exemplo de código;
●
Case;
●
Cuidados e observações.
RNA aplicadas.
O que é RNA?
Redes Neurais Artificiais são algoritmos de inteligência artificial inspirados no
Sistema Nervoso Central (cérebro), capazes de realizar aprendizado de
máquina e reconhecimento de padrões.
●
Geralmente dependem de treinamento;
●
Possui grande capacidade de generalização.
RNA aplicadas.
O que é RNA?
Ex: Reconhecer imagens de cachorro.
1. Fase de treino:
Sim
Não
RNA aplicadas.
O que é RNA?
Ex: Reconhecer imagens de cachorro.
2. Fase de classificação:
Sim
Não
RNA aplicadas.
O que é RNA?
Ex: Reconhecer imagens de cachorro.
2. Fase de classificação:
Sim
Não
RNA aplicadas.
O que é RNA?
Ex: Reconhecer imagens de cachorro.
2. Fase de classificação:
Sim
Não
Capacidade de
generalizar
RNA aplicadas.
Onde e quando usar uma RNA?
As RNA podem ser usadas para modelar relações complexas entre entradas e
saídas, ou para encontrar padrões em dados.
Exemplos:
●
●
Em uma instituição financeira, é possível mapear as transações em “fraude”
e “não-fraude”;
Para um sistema de recomendação de conteúdo, podemos mapear as
informações como “pouco-relevante”, “relevante” e “muito-relevante”;
●
Reconhecimento de imagens;
●
Processamento de linguagem natural.
RNA aplicadas.
Como aplicar?
Ex: Como mapear as transações de uma instituição financeira como “fraude” e
“não-fraude”?
1. Fase de treinamento:
RNA aplicadas.
Como aplicar?
Ex: Como mapear as transações de uma instituição financeira como “fraude” e
“não-fraude”?
2. Fase de classificação:
RNA aplicadas.
Como aplicar?
Ex: Como mapear as transações de uma instituição financeira como “fraude” e
“não-fraude”?
2. Fase de classificação:
O “Auditor” é parte
de um processo de
refinamento!
Extensão do
conceito
Exemplo com
WEKA API
Case:
Candidatos e
Vagas
Desafio:
Como treinar?
RNA aplicadas.
Case: Como treinar?
●
●
●
Não existia volume suficiente de dados para treinamento;
Definimos um conjunto de regras “estáticas” para relacionar os candidatos e
as vagas de emprego. Atribuímos um peso para cada informação do
currículo do candidato.
Também adicionamos um “fator de relevância”, que crescia de acordo o
“feedback” dos usuários. Essa informação foi utilizada para calcular a
“similaridade / aderência” do candidato a vaga.
RNA aplicadas.
Case: Como treinar?
Teste:
Como validar o
funcionamento?
Resultados
RNA aplicadas.
Case: Resultados
●
●
●
No início o sistema se baseava em regras estáticas para recomendação,
após um período de uso passou a recomendar candidatos de acordo com
as subjetividades / critérios de cada empresa;
Trouxe mais agilidade e assertividade ao processo de contratação.
Mesmo que as subjetividades / critérios de contratação mudem, o sistema
será capaz de se adaptar ao novo cenário.
Cuidados
RNA aplicadas.
Cuidados:
●
Treinamento:
●
●
●
●
Treinamento on-line nem sempre é possível;
Algumas API's não oferecem acesso ao conhecimento da rede neural
(vetores), neste caso é preciso serializar objetos para o repositório de
dados;
Importante separar seu conjunto de dados entre treino e teste (Cross
Validation). Essa é uma forma de avaliar a capacidade de generalização
da rede neural;
Tuning:
●
●
Eliminar redundâncias do conjunto de treino;
Algumas API's não permitem “parametrizar” variáveis internas do
algoritmo, que poderiam melhorar o desempenho e performance.
RNA aplicadas.
Observações:
●
●
●
●
Seu sistema pode começar com regras “estáticas” e “aprender” com os
usuários, dando mais relevância às regras “aprendidas”.
O “treinamento contínuo” trazido pelos mecanismos de feedback permite
que as aplicações acompanhem as tendências / mudanças do negócio. Isso
aumenta a efetividade do sistema e diminui o número de “chamados” ao TI
para acrescentar “regrinhas” :)
API's são estáveis bem documentadas, no entanto você pode “sofrer” com a
falta de parametrização e o acesso aos dados internos do algoritmo.
A escolha do algoritmo de aprendizado de máquina não precisa se restringir
às RNA. Existem outros algoritmos com melhor performance em problemas
específicos.
Obrigado!
[email protected]
#qconbigdata
Download

Slides