Machine learning e Inteligência Artificial 5 dicas na visão de um desenvolvedor.

  1. Qual é o primeiro passo para um desenvolvedor iniciar em Inteligência Artificial e Machine Learning?

Estudar. É importante compreender fundamentalmente os algoritmos que você estará usando, caso contrário, cada método de Machine Learning é uma caixa preta. Então tente fazer projetos ML, como competições Kaggle, onde você tem uma definição clara do que você está tentando aprender – como um algoritmo específico ou kit de ferramentas. Você vai falhar, muitas vezes, mas é assim que melhor aprender ML técnicas.

 

  1. Quais são os principais processos de criação para o Machine Learning?

O primeiro e mais importante passo é entender o problema que você está tentando resolver. Quais são as entradas e saídas desejadas? Quais são os dados? Completamente compreender os dados, antes de experimentar com algoritmos. Caso contrário, você pode ter nenhuma confiança realista na qualidade do resultado ou confiabilidade. Você provavelmente também precisará pré-processar e transformar os dados, e talvez obter mais dados. O próximo passo no processo ML é considerar os algoritmos e métodos que você tem à sua disposição. Para os algoritmos que são adequados para o seu problema e dados, existem muitos critérios a considerar, tais como fiabilidade, eficiência, escalabilidade, e assim por diante.

 

Os principais pontos são:

  • Defina o problema;
  • Analisar e preparar os dados;
  • Selecionar algoritmos;
  • Execute e avalie os algoritmos;
  • Melhore os resultados com experimentos focalizados;
  • Finalizar resultados com ajuste fino.

 

  1. Quais são as melhores ferramentas ou plataformas de machine learning para desenvolvedores?

Isso realmente depende de quais problemas você está tentando resolver, especificamente os dados que você está lidando. Dito isto, open-source reina supremo. Existem muitos kits de ferramentas de alta qualidade e de código aberto para aprendizado de máquinas para que os desenvolvedores aproveitem e as comunidades são ativas e úteis. No mundo Python, eu realmente gosto Scikit-learn para a sua ampla gama de aprendizagem de máquinas e ferramentas de análise de dados. Pela mesma razão que eu gosto mlpack para C + + desenvolvedores. O NLTK é um go to para métodos e dados de processamento de linguagem natural (PNL), embora os pacotes de aprendizagem profunda implementem algoritmos de PNL de alta qualidade. Se você está tentando fazer análises de streaming, NuPIC é melhor. É o estado da arte da AI, com um incrível repositório e comunidade, e implementado em Python, C ++, Java e Flink. Especificamente para aprendizagem profunda, estamos vendo um monte de estruturas boas e rápidas: confira Theano, Neon ou TensorFlow do Google. Em Java, eu recomendo altamente deeplearning4j.  É aprendizagem profunda de ferramentas de machine learning, escrito por alguns engenheiros muito espertos. 🙂

 

  1. Qual seria atualmente a linguagem de programação recomendada para ML para desenvolvedores?

Python, sem dúvida. A maioria dos kits de ferramentas de aprendizado e análise de dados estão em Python e tem uma comunidade enorme e útil. Os métodos avançados, como HTM e aprendizagem profunda são muitas vezes implementados em Python.

 

  1. Como o machine learning é diferente da machine intelligence?

ML está construindo sistemas de software que visam melhorar com experiência. Algoritmos de ML executam tarefas específicas e estreitas, como jogar um determinado jogo. Um exemplo é a aprendizagem profunda ou algoritmos de clustering. MI é a manifestação de software da inteligência: não a capacidade de realizar uma tarefa específica, mas sim a capacidade de descobrir a estrutura no mundo através da interação sensório-motor e, em seguida, usar esse conhecimento para atingir objetivos. Talvez uma definição mais clara de MI seja através de seus requisitos: a máquina deve aprender a partir de fluxos de dados sem rótulos, continuamente, ao fazer previsões, detectar anomalias e fazer classificação, ou seja, o que o cérebro humano faz.

 

Grande abraços e até a próxima.

Luiz Eduardo

 

Luiz Eduardo Severino

Com mais de 10 anos de experiência em vendas e marketing direto, Luiz Eduardo é Bacharel em Economia pela PUC de São Paulo, com MBA em Marketing pela Universidade Anhembi Morumbi e especializações nas áreas de gestão de projeto, design, marketing digital, social media, inbound marketing, webmetrics e web. Atualmente é Delivery Manager no UOLDIVEO.