Afinal, o que é esse tal de Machine Learning?

Afinal, o que é esse tal de Machine Learning?

Palestra apresentada na Campus Party Brasil 12.

Nesta palestra, a ideia é desmistificar alguns conceitos sobre Inteligência participal e principalmente Machine Learning e refletir sobre como ele tem revolucionado as nossas vidas. Não à toa, empresas como Google, IBM, Microsoft, Amazon têm direcionado times inteiros para desenvolver tecnologias de análise de dados. Quais são as tecnologias e ferramentas por trás desse conceito? E qual o nosso papel em tudo isso? O objetivo é apresentar algumas aplicações reais de como essa tecnologia tem mudado o mercado e explicar alguns conceitos básicos dos algoritmos responsáveis por essas automações isso.

B6e0ee98a08a3863043dc3edc5789029?s=128

Carla Vieira

February 13, 2019
Tweet

Transcript

  1. Afinal, o que é esse tal de Machine Learning? Carla

    Vieira @carlaprvieira
  2. Quem sou eu? Graduanda de Sistemas de Informação - USP

    Apaixonada por Data Science e Business Intelligence @carlaprvieira @carlaprv
  3. Agenda 01 02 03 04 Big Data e Mineração de

    Dados IA X ML Ferramentas utilizadas Exemplo prático de mineração de textos Conclusão, carreira e dicas de estudo
  4. Zetta = 1021 Crescimento exponencial do volume de dados Tecnologias

    como celulares e o uso constante de aplicativos de redes sociais resultaram em um rápido crescimento no volume de dados
  5. Velocidade Variedade Volume

  6. O que é Mineração de Dados? Data Mining define o

    processo automatizado de captura e análise de grandes conjuntos de dados para extrair um significado, sendo usado tanto para descrever características do passado como para predizer tendências para o futuro.
  7. Sabedoria Conhecimento com contexto Conhecimento Informação com contexto Informação Dados

    com contexto Dados Representação de fatos Cadeia de Valor do Conhecimento (Davenport e Prusak - 1998)
  8. “Um dado não vira informação se você não souber o

    que ele significa; uma informação não vira conhecimento se você não enxergar relevância nela e conhecimento não serve pra nada se não aplicá-lo de maneira apropriada.”
  9. Processo Knowledge Discovery in Databases (KDD) -1989 Dados Dados de

    interesse Dados pré-processados Dados formados Padrões CONHECIMENTO Seleção Pré-processamento Formatação Mineração Interpretação
  10. O que é Aprendizado de Máquina? + = Big Data

    Algoritmos Aprendizado
  11. None
  12. “Um programa de computador aprende se ele é capaz de

    melhorar seu desempenho em determinada tarefa, sob alguma medida de avaliação, a partir de experiências passadas.” (Tom Mitchell)
  13. Google Smart reply e classificação de SPAM

  14. Netflix Sistema de recomendação Netflix Sistema de recomendação https://www.youtube.com/watch?v=AYv0ujDc_LY

  15. Classificação Aprendizagem Supervisionada Aprendizado Indutivo Aprendizagem não supervisionada Regressão Agrupamento

    Sumarização Métodos de Mineração de Dados Associação ➔ Árvores de decisão ➔ KNN ➔ Redes Neurais ➔ SOM ➔ K-means
  16. Ferramentas mais utilizadas de Data science (Fonte: O’Reily Data science

    Survey 2017)
  17. Mineração de textos github.com/carlaprv/k-means-clustering

  18. Objetivo Encontrar uma maneira de agrupar automaticamente estas notícias em

    grupos que são de alguma forma semelhantes ou relacionadas por diferentes variáveis.
  19. Método: algoritmo k-means Clusterização pelo algoritmo k-means Entradas: 2225 textos

    Saída: k grupos
  20. Seleção de dados Dados Dados de interesse Seleção Corpora BBC

    (2225 notícias em inglês) 20.246 termos distintos http://mlg.ucd.ie/howmanytopics/index.html
  21. Objetivo do pré-processamento Redução de dimensão dos dados 20.246 termos

    distintos ? termos distintos
  22. Etapas do pré-processamento Case Folding 1 Tokenização 2 Remoção de

    stop words 3 Redução ao radical 4 Corte de termos 5
  23. 1) Case Folding Converter todas as palavras para minúsculas ou

    maiúsculas Por quê? A mesma palavra seria contada muitas vezes por diferentes escritas Exemplo: Amor e amor (seriam consideradas palavras diferentes)
  24. 2) Tokenização 1) u.s foi transformado em usa; 2) palavras

    compostas com hífen foram unidas; 3) expressões que continham subtraço (_) foram separadas Tokens com menos de 3 caracteres foram retirados da lista from nltk import regexp_tokenize
  25. 3) Remoção de stop words O que são stop words

    (ou palavras vazias)? Lista de stop words da NLTK a, agora, ainda, alguém, algum, alguma, meus, minha, minhas, muita, muitas, muito, muitos, na, não, nas, nem, nenhum, a, able, about, across, after, all, almost, also, am, among, an, and, any, are, as, at, be, because, been, but, by, can, cannot,
  26. 4) Redução ao radical (Stemming) Playing Plays Played Play Play

    Play Radical comum é ‘play’ from nltk import SnowballStemmer
  27. 5) Corte de termos Termo aparece em menos de 3

    textos Termo aparece em mais de 35% dos textos Termo é excluído da lista
  28. Objetivo do pré-processamento Redução de dimensão dos dados 20.246 termos

    distintos 6997 termos distintos
  29. Mas, como iremos representar os textos para rodar o algoritmo?

  30. Representação dos dados pré-processados Dados pré-processado s Dados formados Formatação

    Tipos de representações: Binária TF
  31. Representação binária Texto 0 termo 0 termo 1 termo 2

    ….. termo n 1 0 1 1 1 0 0 1 1 0 1 1 0 1 0 0 0 1 0 0 1 1 1 0 1 Texto 1 Texto 2 Texto …. Texto 2225
  32. Representação binária

  33. Representação TF Texto 0 termo 0 termo 1 termo 2

    ….. termo n 2 0 5 0 15 7 0 1 1 0 1 1 0 1 0 0 0 1 0 0 1 1 1 0 1 Texto 1 Texto 2 Texto …. Texto 2225
  34. Representação TF

  35. Algoritmo k-means Algoritmo de aprendizado não supervisionado

  36. Algoritmo k-means (agrupamento) Algoritmo de aprendizado não supervisionado Objetivo: agrupar

    elementos em K grupos No nosso caso… iremos agrupar notícias da BBC
  37. None
  38. Qual o critério de agrupamento? O que determina que 2

    textos são semelhantes e deveriam pertencer ao mesmo grupo?
  39. Entradas do algoritmo Elementos (textos): 2225 textos Quantidade de grupos

    esperada (k): 5 grupos Tipo de distância utilizada: cosseno Número de iterações (condição de parada): 30 épocas
  40. Implementação do algoritmo

  41. Algoritmo k-means - Distâncias Distância Euclidiana Similaridade do cosseno

  42. Após a execução do algoritmo, como saber se obtivemos um

    bom resultado?
  43. Saídas do algoritmo Log de execução Para cada iteração do

    algoritmo, como os textos foram agrupados
  44. Saídas do algoritmo Silhouette - cálculo do quão bem representado

    aquele texto está no grupo dele 1 -1 0 Bem classificado no grupo Mal classificado no grupo
  45. Saídas do algoritmo Arquivos para pós-processamento Nuvem de palavras para

    cada grupo https://worditout.com/word-cloud/create
  46. Pós-processamento Grupo 0 Grupo 1

  47. Pós-processamento Grupo 2 Grupo 3

  48. Pós-processamento Grupo 4

  49. Carreira na área de dados

  50. None
  51. None
  52. Como começar?

  53. http://datahackers.com.br/

  54. https://serenata.ai/ #DesbloqueiaRosie

  55. Obrigada! @carlaprvieira @carlaprv bit.ly/52-guru-carla-slides bit.ly/52-guru-carla-fb

  56. Comunidades de Data Science https://www.meetup.com/pt-BR/R-Ladies-Sao-Paulo/ https://www.meetup.com/pt-BR/PyLadiesSP/ https://www.meetup.com/pt-BR/machine-learning-big-data-engenharia/ http://datahackers.com.br/

  57. Cursos https://www.alura.com.br/carreira-data-science https://www.datascienceacademy.com.br https://www.coursera.org/learn/google-machine-learning https://www.coursera.org/learn/ciencia-computacao-python-conceitos https://www.coursera.org/learn/google-machine-learning https://www.coursera.org/learn/ciencia-computacao-python-conceitos

  58. Referências Machine Learning • https://stanford.edu/~shervine/l/pt/teaching/cs-229/dicas-truques-aprendizado-maq uina • https://stanford.edu/~shervine/l/pt/teaching/cs-229/dicas-aprendizado-supervisiona do •

    https://stanford.edu/~shervine/l/pt/teaching/cs-229/dicas-aprendizado-nao-supervisi onado • https://hackernoon.com/best-machine-learning-libraries-for-java-development-4ecc b88e1348 • https://medium.com/nexo-ai/machine-learning-x-deep-learning-qual-a-diferen%C3% A7a-entre-eles-665c0739f78a
  59. Referências Python • https://www.cursoemvideo.com/course/curso-python-3/ • https://paulovasconcellos.com.br/10-bibliotecas-de-data-science-para-python-que-ni ngu%C3%A9m-te-conta-706ec3c4fcef • https://cappra.com.br/2018/12/27/data-thinking-2019/