Algoritmos Autodidatas: Fazendo Computadores Mais Espertos

Algoritmos Autodidatas

Computadores já não são burros. Com o avanço na tecnologia artificial e em campos de estudos mais específicos, como algoritmos autodidatas, programas são criados e conseguem suportar tomatas de decisões em ambientes complexos. Usando ferramentas como, sistemas complexos, redes neurais artificiais e algoritmos genéticos, computadores agora conseguem fazer tarefas suportando um vasto leque de atividades humanos desde jogos de celulares até análises de previsão de mercado.

Algoritmos Autodidatas

O Que é a Máquina Autodidata?

A origem dos algoritmos de maquinas autodidatas vem do tempo quando os primeiros computadores foram construídos. A ideia de computadores com a habilidade de aprender sem ser explicitamente programado foi realizado pela primeira vez por Arthur Samuel em 1952, que escreveu um programa que conseguiu jogar xadrez depois de ganhar experiência jogando dezenas de milhares de vezes sozinho. Entretanto um programa de computador muito mais conhecido desenvolvido nos 60 foi ELIZA, um sistema a base de regras capaz de conversas com  um humano sobre sua vida. Mesmo que a performance geral da ELIZA foi desapontante, alguns realmente confundiram-na com um humano. Depois de mais de 50 ano de pesquisa, aprendizado automático evoluiu no campo de estudos com algumas aplicações práticas. Muitos desses usamos no dia a dia, como filtrar spam nas caixas de entradas do e-mail.

Como Fazer uma Máquina Autodidata?

Para permitir que um computador aprenda, existem várias abordagens conectadas com inteligência artificial, como sistemas especialistas, redes neurais artificiais, algoritmo genético e muitos outros. Todas essas especializações funcionam com a ideia básica de evolução constante do algoritmo baseado na experiência prévia do computador, mas ainda cada um é diferente do outro.

Suplementando um Especialista

Sistemas especialistas são a aplicação mais antiga do autodidata. Os elementos chave de um sistema especialista (como ELIZA por exemplo) são os dados base de sabedoria, consistindo em regras que atribuem decisões a variadas circunstâncias, e um mecanismo de dedução para fazer decisões e aprender. O propósito de um sistema assim é suplementar a habilidade de decisão do sistema especialista em situações complexas, como diagnosticar doenças. Geralmente também é capaz de interagir com o usuário, perguntando-o para esclarecer o problema e para achar a solução certo no banco de dados. O fato de que o programa pode ajustar seu conhecimento de acordo com os dados novos de casos recentes dá a habilidade de aprender. Entretanto, os algoritmos que estão aprendendo não são rápidos suficientes para trocar de ambientes e necessita direções de humanos. Sistemas especialistas são mesmo assim utilizados amplamente em maquinofatura e empresas em geral.

Aprendendo como Humanos

Redes neurais artificiais funcionam com um princípio similar ao do cérebro humano. O programa consiste em processar unidades interconectadas, parecidas com os neurônios do sistema nervoso central. Cada unidade, “neurônio” pode produzir uma saída baseada em várias saídas. Isso significa que é capaz de fazer certas tarefas, mas a inteligência do sistema é emergente da complexidade da estrutura e da interação entre os neurônios. Essa rede não tem uma base de conhecimento pré-programada parecido com o sistema especialista, mas ao invés é baseado em um algoritmo autodidata sub-simbólico de baixo nível, que leva o conhecimento diretamente para a estrutura do programa. Uma rede neural passa por uma fase de treinamento, onde adquire conhecimento em uma grande mostra de dados. O aprendizado de uma rede neural pode ser supervisionado ou não. A vantagem de um algoritmo autodidata é a independência da bias humanas, que pode levar a decisões mais precisas do que a oferecida por um especialista. Redes neurais são adequadas para programas focados em reconhecimento de padrões e classificação de entidades, como reconhecimento de face no Facebook, o que agora pode com 97.25% de certeza falar se duas imagens mostram a mesma pessoa ou não.

Abordagens Evolutiva

Algoritmos genéticos também são inspirados pelo mundo da natureza, mas de uma maneira diferente, eles são baseados na ideia da evolução e da seleção natural. O programa gera um set de soluções possíveis. Para cada solução a capacidade é avaliada em certos critérios e a solução “fraca” com baixas avaliações são eliminadas. Novas soluções são derivadas de mutações (que é raro, similar a mutação de genomas humanos) e crossover, onde a cria de duas soluções é criada baseado na permutação de pedaços. Essa abordagem permite o desenvolvimento do algoritmo que não pode ser gerado por processos usais e é muito vantajoso para a simulação e ambientes complexos, como ecossistemas e mercados. Algoritmos genéticos são poderosos para problemas barulhentos multi-dimensionais e não contínuos, onde o algoritmo determinista padrão falha. Aplicações comuns do algorismo autodidata cobre design de produtos automatizados, hardware evolutivo ou rotas de tráfico.

Do Aprendizado a Previsão

Um número significativo de aplicações de algoritmos autodidatas é para fazer previsões do futuro. Entretanto, é uma tarefa muito difícil de assegurar que o algoritmo autodidata possa gerar a situação analisada para o estado futuro mais ou menos parecido. O problema principal conhecido como “overfitting” é o fato de que o algoritmo presta muita atenção ao barulho caótico dos dados. Para detectar o “overfiting”, dois setes de dados são usados durante o processo de aprendizado – um sete de treinamento e um de validação. Quando o erro sobre o sete de validação aumenta enquanto o erro no de treinamento diminui, o algoritmo fica “overfitted” e perde a habilidade de gerar previsões. A tarefa de encontrar o conjunto de regras mais adequado para o algoritmo é portanto definida como um problema de encontrar o mínimo global do erro da função sobre o sete de dados de validação. Para assegurar que isso ocorra, uma variedade de técnicas estíticas podem ser usadas, como validação de permuta, para mais cedo, regularização e probabilidades de Bayesin. Entretanto, em situações na qual existem uma grande quantidade de dados disponíveis, como em aprendizado online contínuo, o problema de “overfitting” tem menos probabilidades de ocorrer.

Autodidata na Prática

The use of machine learning algorithms spans from handwriting recognition and computer vision to queue modeling in emergency waiting rooms and customer profiling. It can be used for various applications in medicine, environmental protection, robotics, device design, pattern recognition, pipeline control, and systems simulations.

O uso de span algorítmicos autodidatas pode ser usado para reconhecimento de escrita a mão e visão computadora para organizar salas de esperas de emergência e perfis de clientes. Existem várias aplicações na medicina, proteção ambiental, robótica, design, reconhecimento de padrões, controle de canos e simulação de sistemas.

GEOPLAY – Easier Fazendo Análises de Execuções mais Fácil

Agora falaremos de um sistema especialista chamado GEOPLAY, com missão de ajudar geologistas a explorar execuções de petróleo e a realizar execuções de análises relacionadas. Explorar petróleo traz muita incerteza, o que dificulta o trabalho com especialistas humanos. GEOPLAY define um valor numérico para cada pedaço de dado baseado na sua chance de erro e calcula dentro da análise de performance. Ademais, conecta os dados com uum sistema de regras e objetovos prédefinidos – uma base de conhecimento. Para encontrar a solução mais adequada para o problema, o mecanismo de inferir mecanismos funciona com com os fatos e objetivos do conhecimento base – se existirem, também regras levam ao diálogo com o usuário para conseguir a maior quantidade de dado possível. O programa pode aprender, ajustando seu conhecimento a novos dados de casos recentes.

I Know First – Previsões Inteligentes da Bolsa de Valores

Outro exemplo específico do uso de algoritmo autodidatas é o algoritmo da I Know First pra previsões da bolsa de valores, projetado pelo Dr. Lipa Roitman. O algoritmo usa anos de dados do mercado diário para identificar padrões e criar previsões futuras sem a influência de crenças e opiniões humanas. Entretanto, é único não só por sua combinação de algoritmos genéticos e redes neurais, mas também graças a implementações de princípios da teoria do caos e dos fractais. O resultado do algoritmo é uma previsão da tendência da ação (sinal) junto com a confiança (indicador de previsibilidade), que ajuda o investidor a decidir em que direção fazer o trade e em que ponto entrar e sair. Como o algoritmo melhora se desenvolve continuamente, ele oferece previsões cada vez melhores.

Algoritmos Autodidatas Espalhando Rapidamente

Aprendizado da máquina é um novo campo de estudo, mesmo assim já desenvolveu um grande número de soluções para problemas que anteriormente não podiam ser resolvidos. Mais além, o número de aplicações rapidamente cresceu e cobrem uma porção maior de conhecimento humano sobre o mundo a nossa volta. Portanto, é muito provável que algoritmos autodidatas serão parte crucial em melhorar a vida diária das pessoas e no avanços em geral do futuro da sociedade.

I Know First Research é um braço da I Know First, uma Start-up financeira especializada em previsões quantitativas da bolsa de valores. Esse artigo foi escrito por Alice Pekova, uma das nossas estagiárias Não recebemos compensações pelo artigo, e não temos relações com nenhuma empresa das quais as ações são mencionadas neste artigo.