Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Projetando interfaces inteligentes: Machine Lea...

Projetando interfaces inteligentes: Machine Learning como ferramenta de personalização

Pense em um mundo perfeito onde cada usuário tem uma experiência totalmente única e customizada para o seu próprio perfil; desde publicidade até conteúdo. Tão personalizada que a própria aplicação sabe das suas necessidades e objetivos a ponto de otimizar o tempo de navegação e taxa de conversão em sites de e-commerce. Impossível? Absolutamente não. Descubra como criar aplicações direcionadas a cada perfil de usuário de forma automatizada e, o melhor de tudo, usando nosso tão adorado Node.js.

Isabella Silveira

August 25, 2017
Tweet

More Decks by Isabella Silveira

Other Decks in Programming

Transcript

  1. Agenda. 1. Era da informação 2. Por que machine learning?

    3. Botando em prática 4. Próximos passos
  2. Isabella Silveira. Web Engineer @ Huge Beer lover, mãe de

    cachorro, maths freak, senso de humor peculiar @ vida 3
  3. 9

  4. 10

  5. 11

  6. 12

  7. 13

  8. 14

  9. 16

  10. 2005 - 130 EB 2010 - 1.200 EB 2015 -

    7.900 EB 2020 - ~40.900 EB
  11. 20

  12. 23

  13. 24

  14. 25

  15. Machine learning. Permite que a máquina aprenda. Com algoritmos de

    ML é possível parsear dados, aprender com eles e fazer classificações ou predições em massa. Ao invés de criarmos algoritmos cheios de regras específicas para executar uma tarefa, treinamos a máquina com datasets enormes para que ela aprenda como executar a tarefa por si só.
  16. Com machine learning, podemos usar dados para tirar conclusões sobre

    uma grande quantidade dados de forma automatizada.
  17. Tipos de algoritmos. Supervised learning. Existe a etapa de treinamento

    do algoritmo onde exemplos de entrada e saídas desejadas são apresentados à máquina e assim ela consegue fazer novos tipos de inferência em dados reais a partir desses exemplos. Reinforcement learning. O algoritmo interage com um ambiente dinâmico onde deve executar determinada tarefa. A partir disso são oferecidos feedbacks positivos ou negativos quanto ao desempenho frente à tarefa. Uma grande quantidade de dados é alimentada ao algoritmo que então trabalha para descobrir padrões e agrupar tipos similares de dados ou entidades. Unsupervised learning.
  18. Tipos de algoritmos. Supervised learning. Uma grande quantidade de dados

    é alimentada ao algoritmo que então trabalha para descobrir padrões e agrupar tipos similares de dados ou entidades. Reinforcement learning. O algoritmo interage com um ambiente dinâmico onde deve executar determinada tarefa. A partir disso são oferecidos feedbacks positivos ou negativos quanto ao desempenho frente à tarefa. Existe a etapa de treinamento do algoritmo onde exemplos de entrada e saídas desejadas são apresentados à máquina e assim ela consegue fazer novos tipos de inferência em dados reais a partir desses exemplos. Unsupervised learning.
  19. Etapas de desenvolvimento. 1. Escolha do algoritmo adequado. 2. Treinamento

    do algoritmo. 3. Validação do treinamento. 4. Uso em produção.
  20. Agrupar usuários em grupos de comportamentos e preferencias similares e

    realizar recomendações a partir do padrão do grupo.
  21. 47

  22. Situações onde temos um grande volume de dados e queremos

    categorizá-los de forma automatizada.
  23. 65

  24. 69

  25. 70

  26. 71

  27. Perfis de comportamento de cada aluno moldam o conteúdo e

    a forma como ele é exibido na plataforma.
  28. Valor de K 10 20 30 40 0,1 0,2 0,3

    0,4 0,5 0,6 0,7 0,8 0,9 1 1,1 Erro de treinamento Erro de classificação
  29. Valor de K 10 20 30 40 0,1 0,2 0,3

    0,4 0,5 0,6 0,7 0,8 0,9 1 1,1 Erro de validação Erro de classificação
  30. O resultado • Programei o algoritmo; • Prepararei o dataset;

    • Realizei o treinamento; • Achei k; • Colhi os resultados; • Usei em produção. Em 7 dias:
  31. $ node knnStudentClassify.js Tamanho dataset treinamento = 53 Erros de

    classificação = 4 ————————RESULTADO————————- Principiantes = 32 Experts = 21
  32. Com ML, a experiência de cada usuário pode se aproximar

    cada vez mais das suas necessidades.
  33. Machine learning não é rocket science e está ao nosso

    alcance para aprendizado e contribuição.
  34. Com o aumento do poder computacional, algoritmos de ML se

    tornarão cada vez mais acessíveis.