Coloquei este tutorial no blog do LAMFO. Confira lá!
O LAMFO (Laboratório de Aprendizado de Máquina para Finanças e Organizações) é um time de pesquisadores sensacionais, vinculado à Universidade de Brasília e liderado pelo professor Pedro Albuquerque.
Monte-Carlo Dropout
Recentemente, decidi dar um passo atrás e encarar os meus modelos sob uma perspectiva mais crítica. Como saber se meu modelo está aprendendo algo estatisticamente razoável? Quão confiável é o meu modelo? Mais importante ainda, como saber se meu modelo não vai quebrar diante de algo muito diferente de tudo que ele já viu? E como proceder diante dessas situações inusitadas? Este post fala principalmente sobre incerteza e sobre como injetá-la em modelos de redes neurais. Trata-se de um tópico ainda bastante obscuro, mesmo para a comunidade de aprendizado de máquina, mas que acredito que deveria ser encarado com mais atenção.
Posted on
9/11/2017
Transferência de Estilo
Uma forma de entender arte é como a percepção que o artista tem do mundo. Assim, arte se manifesta na sobreposição de um estilo, particular a cada autor, e de um fenômeno da realidade, tais como uma paisagem, um copo d’água ou um sonho. Arte pode então ser uma espécie de filtro ou lente, através da qual o artista nos apresenta o mundo. Com um pouco de inteligência artificial e matemática, é possível explorar essa ideia e transferir estilos de imagens para imagens, fazendo com que fotos de viagem se assemelhem a quadros ou tornando alguns personagens ainda mais assustadores. O algoritmo de transferência de estilo apresentado aqui é um dos melhores exemplos que há das possíveis integrações entre aprendizado de máquina e as ciências humanas!
Posted on
6/07/2017
Análise de Clientes com Aprendizado de Máquina Não Supervisionado
Aprendizado de máquina não supervisionado pode ser utilizado para achar uma representação dos dados que seja mais informativa. Aqui, com registros de consumidores de um atacado, foi usada uma técnica de redução de dimensionalidade, seguida de um algoritmo de clusterização. Com isso, foi possível identificar, estatística e visualmente, a presença de dois padrões de consumo. Esse tipo de informação pode ser explorado pelo vendedor para estratégias de marketing direcionadas às particularidades de cada grupo de consumidor.
Posted on
1/06/2017
Análise de Sentimentos do Jeito Certo
Análise de sentimento é um termo geral para se referir à tarefa de perceber emoções a partir de dados gerados por pessoas. Dentre esses dados, os mais comuns estão na forma de texto. A partir de comentários nas mídias sociais, podemos ver como as pessoas reagem a uma postagem ou notícia, como estão avaliando um restaurante ou se aprovam ou não um político. Neste post, faço um breve resumo sobre as formas de realizar análise de sentimentos. Em seguida, mostro como Deep Learning (particularmente, redes neurais recorrentes) pode ajudar nessa tarefa.
Posted on
26/05/2017
Aprendizado Semi-Supervisionado para Detecção de Fraudes
A capacidade de reconhecer anomalias tem aplicações como detectar falhas de um avião ou usina nuclear, ou até mesmo perceber gastos ilícitos de um deputado e apontar sonegação no imposto de renda. Um desafio comum a esses problemas é que, embora tenhamos vários exemplos da situação normal, conseguir observações da anomalia é extremamente difícil ou até mesmo impossível. Para lidar com isso, podemos usar técnicas semi-supervisionadas, que aprendem uma noção de normalidade para então contrastá-la com as anomalias. Aqui, listo alguns dessa técnicas e vejo como elas se saem para detectar transações bancarias fraudulentas.
Posted on
19/05/2017
Deep Dream para Interpretar Redes Neurais
Sabe aquelas imagens psicodélicas que vira e meche aparecem na internet? Elas são na verdade uma técnica chamada Deep Dream, desenvolvida para entender os que as redes neurais aprendem.
Posted on
9/05/2017
Aprendendo Representações de Palavras
A ideia aqui é representar texto em uma linguagem matemática que as máquinas consigam entender. Uma vez que tenhamos feito isso, uma série de análises interessantes podem ser feitas observando a similaridade entre as representações aprendidas e realizando operações matemáticas com palavras. Por exemplo, descobrimos que o resultado de "Roma - Itália + França" é aproximadamente "Paris"; também comparamos as palavras mais próximas de "homem" e "mulher" para ver como a linguagem das TED talks, por mais progressistas que sejam as palestras, ainda contém uma boa dose de machismo.
Posted on
20/03/2017
Resolvendo CAPTCHAs com Redes Neurais Convolucionais
Em 2014 alguns pesquisadores do Google fizeram uma rede neural para numerar casas automaticamente com as imagens do Street View. Com uma rede neural similar, também é possível quebrar CAPTCHAs com mais de 98% de precisão.
Posted on
12/03/2017
Avaliando um Modelo de Aprendizado de Máquina
Explorei dados imobiliários para mostrar como avaliar, otimizar e validar um modelo de aprendizado de máquina. Assim, podemos entender melhor as noções de capacidade e generalização, abordando os problemas de viés e variância e mostrando a importância de validação cruzada.
Posted on
4/03/2017
O Poder de Algoritmos Lineares para Prever Renda
Modelos complexos de aprendizado de máquina são ótimos, mas, às vezes, modelos lineares simples bastam e apresentam inúmeras vantagens. Neste post, mostro como a técnica de regressão logística se compara com ferramentas mais poderosas, como o algoritmo de k-vizinhos mais próximos e um Ensemble AdaBoost de árvores de decisão.
Posted on
20/02/2017
Escrevendo Poesia com Redes Neurais
Inteligência artificial já chegou em um estágio em que consegue escrever pequenas frases poéticas. Embora ainda seja extremamente difícil gerar um contexto longo e coeso, neste posto mostro como podemos usar redes neurais recorrentes para simular o estilo de uma escrita e até escrever pequenos poemas.
Posted on
16/02/2017
Estimação de Demanda com Redes Neurais
Redes neurais recorrentes são especialmente boas para modelar sequências. Me inspirando livremente no experimento feito pelo time AzureML, onde os autores mostram a efetividade de criar novas variáveis para alavancar o poder preditivo de algoritmos de Aprendizado de Máquina Clássico. Aqui, por outro lado, proponho uma alternativa com modelos de aprendizado de representações, no qual podemos dispensar completamente qualquer forma de engenharia de variáveis e delegamos também essa etapa do aprendizado à máquina..