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

Afinal, o que é esse tal de Machine Learning?

Carla Vieira
February 13, 2019

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.

Carla Vieira

February 13, 2019
Tweet

More Decks by Carla Vieira

Other Decks in Technology

Transcript

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

    View Slide

  2. Quem sou eu?
    Graduanda de Sistemas de Informação - USP
    Apaixonada por Data Science e Business Intelligence
    @carlaprvieira @carlaprv

    View Slide

  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

    View Slide

  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

    View Slide

  5. Velocidade
    Variedade
    Volume

    View Slide

  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.

    View Slide

  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)

    View Slide

  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.”

    View Slide

  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

    View Slide

  10. O que é Aprendizado de
    Máquina?
    + =
    Big Data Algoritmos Aprendizado

    View Slide

  11. View Slide

  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)

    View Slide

  13. Google
    Smart reply e classificação de SPAM

    View Slide

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

    View Slide

  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

    View Slide

  16. Ferramentas mais utilizadas de Data science (Fonte: O’Reily Data science Survey 2017)

    View Slide

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

    View Slide

  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.

    View Slide

  19. Método: algoritmo k-means
    Clusterização pelo algoritmo k-means
    Entradas: 2225 textos
    Saída: k grupos

    View Slide

  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

    View Slide

  21. Objetivo do pré-processamento
    Redução de dimensão dos dados
    20.246
    termos distintos
    ?
    termos distintos

    View Slide

  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

    View Slide

  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)

    View Slide

  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

    View Slide

  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,

    View Slide

  26. 4) Redução ao radical (Stemming)
    Playing
    Plays
    Played
    Play
    Play
    Play
    Radical comum é ‘play’
    from nltk import SnowballStemmer

    View Slide

  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

    View Slide

  28. Objetivo do pré-processamento
    Redução de dimensão dos dados
    20.246
    termos distintos
    6997
    termos distintos

    View Slide

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

    View Slide

  30. Representação dos dados pré-processados
    Dados
    pré-processado
    s
    Dados formados
    Formatação
    Tipos de representações:
    Binária
    TF

    View Slide

  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

    View Slide

  32. Representação binária

    View Slide

  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

    View Slide

  34. Representação TF

    View Slide

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

    View Slide

  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

    View Slide

  37. View Slide

  38. Qual o critério de agrupamento?
    O que determina que 2 textos são semelhantes e deveriam
    pertencer ao mesmo grupo?

    View Slide

  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

    View Slide

  40. Implementação do algoritmo

    View Slide

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

    View Slide

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

    View Slide

  43. Saídas do algoritmo
    Log de execução
    Para cada iteração do algoritmo, como os
    textos foram agrupados

    View Slide

  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

    View Slide

  45. Saídas do algoritmo
    Arquivos para pós-processamento
    Nuvem de palavras para cada grupo
    https://worditout.com/word-cloud/create

    View Slide

  46. Pós-processamento
    Grupo 0 Grupo 1

    View Slide

  47. Pós-processamento
    Grupo 2 Grupo 3

    View Slide

  48. Pós-processamento
    Grupo 4

    View Slide

  49. Carreira na área de dados

    View Slide

  50. View Slide

  51. View Slide

  52. Como começar?

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  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/

    View Slide

  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

    View Slide

  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

    View Slide

  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/

    View Slide