Prévia do material em texto
Modelos Preditivos e Séries Temporais Capítulo 1. Introdução Prof. Matheus Mendonça Modelos Preditivos e Séries Temporais Aula 1.1. Apresentação da disciplina Prof. Matheus Mendonça Nesta aula ❑ Apresentação. ❑ Tópicos abordados. Quem sou eu? ● Engenheiro eletricista (UFMG/University of Strathclyde); ● Mestre em Otimização (UFMG); ● Gerente de Otimização na ENACOM; ● Professor de Data Science. https://www.linkedin.com/in/matheusmendonca/ https://www.linkedin.com/in/matheusmendonca/ Alguns projetos... Alguns projetos... Alguns projetos... Iremos abordar ● Construção de modelo preditivos para: ○ Regressão; Iremos abordar ● Construção de modelo preditivos para: ○ Regressão; ○ Classificação de padrões; Iremos abordar ● Construção de modelo preditivos para: ○ Regressão; ○ Classificação de padrões; ○ Predição de séries temporais. Iremos abordar ● Construção de modelo preditivos para: ○ Regressão; ○ Classificação de padrões; ○ Predição de séries temporais. ● Pré-processamento e tratamento de dados: ○ Numéricos; ○ Categóricos. Parte prática ● Python 3+; ● Google Colab. Referências http://themlbook.com/wiki/doku.php http://www-bcf.usc.edu/~gareth/ISL/ Conclusão Apresentação da disciplina. Na próxima aula ❑ Introdução à modelagem preditiva. Modelos Preditivos e Séries Temporais Aula 1.2. Introdução à modelagem preditiva Prof. Matheus Mendonça Nesta aula ❑ Introdução à modelagem preditiva. Aprendizado de máquinas Arthur Samuel (1959): Machine Learning is the field of study that gives the computer the ability to learn without being explicitly programmed. Aprendizado de máquinas • O aprendizado de máquinas utiliza um conjunto de ferramentas para modelagem e análise de dados denominado Aprendizado Estatístico. • Abordagem estatística para o problema de Aprendizado de Máquina: • Desenvolvimento de modelos capazes de aprender a partir de dados. Abordagem simbólica • Abordagem simbólica para a classificação de dígitos: Abordagem simbólica • Abordagem simbólica para a classificação de dígitos: • Suponha que exista um algoritmo capaz de contar o número de retas e curvas em uma imagem de um dígito: Abordagem simbólica • Conhecimento do problema é representado por meio de regras (if/else); • Facilidade de entender o mecanismo de inferência que gerou o resultado; • Facilidade de alteração do conhecimento do problema. Abordagem simbólica • Dificuldade de modelagem de todo o problema; • Dificuldade de lidar com incertezas, informação imprecisas, etc. Aprendizado estatístico • Aprendizado a partir de dados; • Inferências a partir de experiências passadas: “Seu modelo é tão bom quanto forem os dados que o alimentam...” Exemplos de problemas • Reconhecimento de dígitos escritos a mão: Exemplos de problemas • Reconhecimento de dígitos escritos a mão: Exemplos de problemas • Detecção facial: Fonte: https://www.aimlmarketplace.com/technology/image-recognition?start=5 Exemplos de problemas • Geração automática de legendas de fotos: Fonte: https://arxiv.org/abs/1502.03044 Pipeline Fonte: https://towardsdatascience.com/workflow-of-a-machine-learning-project- ec1dba419b94 Referências An Introduction to Statistical Learning: With Applications in R: 103, por Gareth James. http://www-bcf.usc.edu/~gareth/ISL/ The Hundred-Page Machine Learning Book, por Andriy Burkov. http://themlbook.com/wiki/doku.php PAIM, André. Introdução à inteligência computacional: Apresentação da Disciplina. 01 jan. 2017, 01 jun. 2017. Notas de Aula. http://www-bcf.usc.edu/~gareth/ISL/ http://themlbook.com/wiki/doku.php Conclusão Aprendizado de máquinas: ❖ Diferença entre abordagem simbólica e o aprendizado estatístico; ❖ Resultados recentes; ❖ Pipeline de um projeto de dados. Na próxima aula ❑ Processos de amostragem de dados. Modelos Preditivos e Séries Temporais Aula 1.3. Introdução aos métodos de amostragem Prof. Matheus Mendonça Nesta aula ❑ Métodos de amostragem de dados. Pipeline Fonte: https://towardsdatascience.com/workflow-of-a-machine-learning-project- ec1dba419b94 Pipeline Fonte: https://towardsdatascience.com/workflow-of-a-machine-learning-project- ec1dba419b94 Coleta de dados Seu modelo é tão bom quanto forem os dados que o alimentam! Fonte: https://www.fuzzylogx.com.au/fuzzy-friday/fuzzy-friday-part-20/ População e Amostra Fonte: https://www.sigmamagic.com/blogs/online-sample-size-calculators/ População e Amostra Fonte: https://www.sigmamagic.com/blogs/online-sample-size-calculators/ ★ Sem viés ★ Representativa Como amostrar? Amostragem aleatória simples Prós: • Sem viés; • Representativa. Contras: • Pode ser difícil de ser obtida. Amostragem por conveniência Prós: • Conveniente; • Rápida. Contras: • Viés; • Não-representativa. Amostragem aleatória sistemática Prós: • Mais simples que a aleatória simples. Contras: • Falha na presença de algum padrão nos dados. Amostragem aleatória estratificada Prós: • Sem viés; • Representativa. Contras: • Definição dos estratos. Conclusão Coleta de dados é fundamental para um bom desempenho do modelo preditivo; Prós e Contras de alguns métodos de amostragem. Na próxima aula ❑ Tipos de dados. Modelos Preditivos e Séries Temporais Capítulo 2. Dados estatísticos e pré-processamento Prof. Matheus Mendonça Modelos Preditivos e Séries Temporais Aula 2.1. Tipos de dados Prof. Matheus Mendonça Nesta aula ❑ Tipos de dados. ❑ Importância do pré-processamento dos dados. Taxonomia dos dados Dados Categóricos (Qualitativos) Numéricos (Quantitativos) Discreto Contínuo Nominal Ordinal Dados numéricos ● Atributos discretos: ○ Exemplos: ▪ Contagem de elementos; ▪ Número de páginas de um livro; ▪ Tamanho de sapatos. Dados numéricos ● Atributos discretos: ○ Exemplos: ▪ Contagem de elementos; ▪ Número de páginas de um livro; ▪ Tamanho de sapatos. ▪ etc. ● Atributos contínuos: ○ Exemplos: ▪ Duração de um filme; ▪ Temperatura; ▪ Altura; ▪ Peso; ▪ etc. Dados categóricos ● Atributos nominais (não possuem ordem): ○ Exemplos: ▪ Cachorro - Gato - Coelho; ▪ Fumante - Não fumante; ▪ Comprou - Não comprou. Dados categóricos ● Atributos nominais (não possuem ordem): ○ Exemplos: ▪ Cachorro - Gato - Coelho; ▪ Fumante - Não fumante; ▪ Comprou - Não comprou. ● Atributos ordinais (possuem relação de ordem): ○ Exemplos: ▪ Avaliação de filmes (1 a 5); ▪ Em uma escala de (1-10), como você avalia… ▪ Péssimo - Ruim - Moderado - Bom – Ótimo. Por que tratar os dados? Os dados reais podem conter muitos erros! ● Dados incompletos. Ex.: falta de informação, dados apenas agregados. ○ Cargo = ” ” ● Ruído. Ex.: erros ou anomalias. ○ Salário = ”-1500” ● Inconsistência local. Ex.: dois atributos derivados não batem! ○ Idade = ”18”, data de nascimento=”18/09/1960” ● Inconsistência global. Ex.: dados indistinguíveis. ○ Todos possuem a mesma data de nascimento. Por que tratar os dados? Problemas de integração de dados. ● Redundância entre entidades: ○ Quando mesma entidade pode ter nomes diferentes na base de dados. ○ Minimizado através de técnicas de duplicação. ● Redundância entre atributos: ○ Normalmente ocorre quando um atributo é derivado do outro. ○ Minimizado através de análise de correlação entre variáveis. Conclusão 🗹 Tipos de dados existentes. 🗹 Importância do pré-processamento de dados. Na próxima aula ❑ Tratamento de dados numéricos. Modelos Preditivos e Séries Temporais Aula 2.2. Tratamento de dados numéricos Prof. Matheus Mendonça Nesta aula ❑ Lidando com dados faltantes. ❑ Normalização. ❑ Lidando com ruídos. Lidando com dados faltantes ● “Imputação” unidimensional: ○ Substituição pela média; ○ Substituição pela mediana. Nome Idade Sexo Matheus 26 M Letícia 22 F Terezinha 60 F José - M Substituição pela média da coluna: (26+22+60)/3= 36 Substituição pela mediana da coluna: 26 Lidando com dados faltantes ● “Imputação” unidimensional: ○ Substituição pela média; ○ Substituição pela mediana. ● “Imputação” multidimensional: ○ O atributo com dados faltantes é utilizado como target e os demais são preditores. ○ Processo interativo, pois mais de um atributo pode conter dados faltantes. Lidando com dados faltantes ● “Imputação” unidimensional: impute.SimpleImputer ○ Substituição pela média; ○ Substituição pela mediana. ● “Imputação” multidimensional: impute.IterativeImputer ○ O atributo com dados faltantes é utilizado como target e os demais são preditores. ○ Processo interativo, pois mais de um atributo pode conter dados faltantes. Lidando com dados faltantes ● “Imputação” unidimensional: impute.SimpleImputer ○ Substituição pela média; ○ Substituição pela mediana. ● “Imputação” multidimensional: impute.IterativeImputer ○ O atributo com dados faltantes é utilizado como target e os demais são preditores. ○ Processo interativo, pois mais de um atributo pode conter dados faltantes. QUAL ESCOLHER? TESTE!! Normalização Normalização min-max (entre 0 e 1): ● Os valores de um atributo são transformados de acordo com: ● Exemplo: imagine que o atributo salário varia de 900 a 32.000 e queremos transformar os valores para o intervalo [0.0, 1.0]: ○ o valor 10.000 seria transformado para: ▪ (10.000-900)/(32.000-900) = 0,292 Normalização Normalização z-score: ● Os valores de um atributo são transformados de acordo com sua média e desvio padrão: ● Exemplo: imagine que o atributo salário possua média 3.000 e desvio padrão 1.000: ○ o valor 10.000 seria transformado para: ▪ (10.000-3000)/1.000 = 7 Lidando com ruídos Binning: 1 1 4 7 9 12 21 30 90 1 1 4 7 9 12 21 30 90 1 1 1 9 9 9 30 30 30 Binning Média, Mediana, etc Conclusão 🗹 Vimos diferentes estratégias para: ❖ Lidar com dados faltantes; ❖ Normalização; ❖ Lidar com ruído. 🗹 Testes definem qual estratégia utilizar. Na próxima aula ❑ Visualização de dados numéricos - Prática. Modelos Preditivos e Séries Temporais Aula 2.3. Visualização de dados numéricos - Prática Prof. Matheus Mendonça Nesta aula ❑ Visualização de dados numéricos. Conclusão 🗹 Vimos diferentes formas de visualização de dados numéricos. Na próxima aula ❑ Tratamento de dados numéricos - Prática. Modelos Preditivos e Séries Temporais Aula 2.4. Tratamento de dados numéricos - Prática Prof. Matheus Mendonça Nesta aula ❑ Pré-processamento de dados numéricos. Conclusão 🗹 Lidando com dados faltantes. 🗹 Normalização. Na próxima aula ❑ Tratamento de dados categóricos. Modelos Preditivos e Séries Temporais Aula 2.5. Tratamento de dados categóricos Prof. Matheus Mendonça Nesta aula ❑ Lidando com dados faltantes. ❑ Codificação. Lidando com dados faltantes ● “Imputação” unidimensional: ○ Substituição pela moda (valor mais frequente); ○ Substituição por um valor constante. Nome Idade Classe Social Matheus 26 C Letícia 22 A Terezinha 60 - José 70 C Substituição pela moda da coluna: C Substituição por um valor constante: X Lidando com dados faltantes ● “Imputação” unidimensional: ○ Substituição pela média; ○ Substituição pela mediana. ● “Imputação” multidimensional: ○ O atributo com dados faltantes é utilizado como target e os demais são preditores. ○ Processo interativo, pois mais de um atributo pode conter dados faltantes. Lidando com dados faltantes ● “Imputação” unidimensional: impute.SimpleImputer ○ Substituição pela média; ○ Substituição pela mediana. ● “Imputação” multidimensional: impute.IterativeImputer ○ O atributo com dados faltantes é utilizado como target e os demais são preditores. ○ Processo interativo, pois mais de um atributo pode conter dados faltantes. Lidando com dados faltantes ● “Imputação” unidimensional: impute.SimpleImputer ○ Substituição pela média; ○ Substituição pela mediana. ● “Imputação” multidimensional: impute.IterativeImputer ○ O atributo com dados faltantes é utilizado como target e os demais são preditores. ○ Processo interativo, pois mais de um atributo pode conter dados faltantes. QUAL ESCOLHER? TESTE!! Codificação de variáveis categóricas Label Encoder A B A B C B B C C 1 2 1 2 3 2 2 3 3 Codificação de variáveis categóricas One-Hot-Encoder A B A B C B B C C 1 0 0 0 1 0 1 0 0 0 1 0 0 0 1 0 1 0 0 1 0 0 0 1 0 0 1 Codificação de variáveis categóricas Target Encoder y 1 1.5 2.1 4 10 12 9 -1 Atr B A B C B B C A Atr Média, Mediana, etc Codificação de variáveis categóricas Target Encoder y 1 1.5 2.1 4 10 12 9 -1 Atr B A B C B B C A Atr 6.275 6.275 6.275 6.275 Média, Mediana, etc Codificação de variáveis categóricas Target Encoder y 1 1.5 2.1 4 10 12 9 -1 Atr B A B C B B C A Atr 6.27 0.25 6.27 6.27 6.27 0.25 Média, Mediana, etc Codificação de variáveis categóricas Target Encoder y 1 1.5 2.1 4 10 12 9 -1 Atr B A B C B B C A Atr 6.27 0.25 6.27 6.5 6.27 6.27 6.5 0.25 Média, Mediana, etc Codificação de variáveis categóricas Qual codificação escolher? A escolha depende de alguns fatores, tais como: ● o algoritmo de ML que será utilizado. ○ Alguns modelos já lidam bem com variáveis categóricas (exemplo: tree ensembles). Codificação de variáveis categóricas Qual codificação escolher? A escolha depende de alguns fatores, tais como: ● o algoritmo de ML que será utilizado. ○ Alguns modelos já lidam bem com variáveis categóricas (exemplo: tree ensembles). ● cardinalidade (quantidade de categorias). ○ OHE pode inserir uma quantidade de atributos muito alta! Codificação de variáveis categóricas Qual codificação escolher? A escolha depende de alguns fatores, tais como: ● o algoritmo de ML que será utilizado. ○ Alguns modelos já lidam bem com variáveis categóricas (exemplo: tree ensembles). ● cardinalidade (quantidade de categorias). ○ OHE pode inserir uma quantidade de atributos muito alta! ● interação entre variáveis. ○ Target encoding pode falhar quando o efeito do atributo A em y é dependente do valor do atributo B. Codificação de variáveis categóricas Qual codificação escolher? A escolha depende de alguns fatores, tais como: ● o algoritmo de ML que será utilizado. ○ Alguns modelos já lidam bem com variáveis categóricas (exemplo: tree ensembles). ● cardinalidade (quantidade de categorias). ○ OHE pode inserir uma quantidade de atributos muito alta! ● interação entre variáveis. ○ Target encoding pode falhar quando o efeito do atributo A em y é dependente do valor do atributo B. TESTE!! Conclusão 🗹 Vimos diferentes estratégias para: ❖ Lidar com dados faltantes; ❖ Codificação da variável categórica. 🗹 Testes definem qual estratégia utilizar. Na próxima aula ❑ Visualização de dados categóricos - Prática. Modelos Preditivos e Séries Temporais Aula 2.6. Visualização de dados categóricos Prof. Matheus Mendonça Nesta aula ❑ Visualização de dados categóricos. Conclusão 🗹 Visualização de dados categóricos. Na próxima aula ❑ Tratamento de dados categóricos - Prática. Modelos Preditivos e Séries Temporais Aula 2.7. Tratamento de dados categóricos - Prática Prof. Matheus Mendonça Nesta aula ❑ Tratamento de dados categóricos. Conclusão 🗹 Tratamento de dados categóricos. Na próxima aula ❑ Regressão: fundamentos. Modelos Preditivos e Séries Temporais Capítulo 3. Regressão Prof. Matheus Mendonça Modelos Preditivos e Séries Temporais Aula 3.1. Regressão: fundamentos Prof. Matheus Mendonça Nesta aula ❑ Conceitos básicos de regressão linear. Regressão linear Problema: Dado um conjunto de pontos, queremos achar qual a função que melhor descreve esses pontos. Regressão linear Diversas possíveis soluções… Qual funçãoescolher? Regressão linear Diversas possíveis soluções… Qual função escolher? Regressão linear Diversas possíveis soluções… Qual função escolher? Regressão linear • A escolha da melhor função deve ser baseada em um critério. • Um critério comumente utilizada é o erro quadrático, que queremos minimizar: erro Regressão linear • A escolha da melhor função deve ser baseada em um critério. • Um critério comumente utilizada é o erro quadrático, que queremos minimizar; • Com o critério definido e, sabendo que a função linear possui o seguinte formato: y = f(x) = ax + b • O problema de regressão resume-se à determinação dos coeficientes a e b, visto que x e y são dados de entrada. Regressão linear • Matricialmente: • A solução fechada deste problema é dada por: Conclusão Conceitos de regressão linear. Na próxima aula ❑ Método dos mínimos quadrados. Modelos Preditivos e Séries Temporais Aula 3.2. Método dos mínimos quadrados Prof. Matheus Mendonça Nesta aula ❑ Método dos mínimos quadrados. Regressão linear Regressão linear 1 12 -1 1 13 0 1 10.5 4 𝛽0 Regressão linear resíduo Regressão linear Regressão linear Regressão linear Regressão linear Premissas de um modelo de regressão linear: • Relação linear entre as variáveis independentes X e a variável dependente y. Regressão linear Premissas de um modelo de regressão linear: ● Relação linear entre as variáveis independentes X e a variável dependente y. Possível solução: transformação não linear de X: [X, X2] Regressão linear Premissas de um modelo de regressão linear: ● Variância constante dos resíduos (homocedasticidade). Possível solução: transformação não linear na variável resposta: log(Y). Regressão linear Premissas de um modelo de regressão linear: • Distribuição normal dos resíduos. Conclusão Método dos mínimos quadrados. Premissas de um modelo linear. Referências PAIM, André. Introdução à inteligência computacional: Apresentação da Disciplina. 01 jan. 2017, 01 jun. 2017. Notas de Aula. Na próxima aula ❑ Regressão linear - Prática. Modelos Preditivos e Séries Temporais Aula 3.3. Regressão linear - Prática Prof. Matheus Mendonça Nesta aula ❑ Regressão linear - Prática. Conclusão Método dos mínimos quadrados - Prática. Na próxima aula ❑ Avaliando a qualidade de um modelo de regressão. Modelos Preditivos e Séries Temporais Aula 3.4. Avaliando a qualidade de um modelo Prof. Matheus Mendonça Nesta aula ❑ Métricas para regressão. ❑ Viés e Variância. ❑ Validação de modelos: ❖ Hold-out; ❖ Cross-Validation. ❑ Grid search. Métricas O primeiro passo para avaliar a qualidade de um modelo é definir um critério quantificável: uma métrica/nota. Métricas O primeiro passo para avaliar a qualidade de um modelo é definir um critério quantificável: uma métrica/nota. Na regressão, umas das métricas mais comuns é o MSE (Mean Squared Error), dado por: Métricas Na regressão linear, uma métrica muito utilizada é o coeficiente de determinação R2. Métricas Métricas Outras métricas: Fonte: https://scikit-learn.org/stable/modules/model_evaluation.html Validação de modelos • Queremos um modelo que tenha uma boa capacidade preditiva (generalização)! Validação de modelos • Queremos um modelo que tenha uma boa capacidade preditiva (generalização)! • Mas usamos uma amostra da população no treinamento (conjunto de treino). Validação de modelos • Queremos um modelo que tenha uma boa capacidade preditiva (generalização)! • Mas usamos uma amostra da população no treinamento (conjunto de treino). • Não queremos um modelo bom apenas nos dados de treino.... Validação de modelos Fonte: https://docs.aws.amazon.com/machine-learning/latest/dg/model-fit-underfitting-vs-overfitting.html Validação de modelos Precisamos estimar o comportamento do modelo em dados não vistos no treinamento. Fonte: https://docs.aws.amazon.com/machine-learning/latest/dg/model-fit-underfitting-vs-overfitting.html Dilema Viés e Variância Fonte: http://scott.fortmann-roe.com/docs/BiasVariance.html Dilema Viés e Variância Fonte: http://scott.fortmann-roe.com/docs/BiasVariance.html Dilema Viés e Variância Fonte: http://scott.fortmann-roe.com/docs/MeasuringError.html Validação de modelos Validação Hold-out Fonte: http://scott.fortmann-roe.com/docs/MeasuringError.html Validação de modelos Cross-Validation Fonte: http://scott.fortmann-roe.com/docs/MeasuringError.html Validação de modelos Cross-Validation e seleção de hiperparâmetros Fonte: https://scikit-learn.org/stable/modules/cross_validation.html Validação de modelos Cross-Validation e seleção de hiperparâmetros Fonte: https://scikit-learn.org/stable/modules/cross_validation.html Conclusão Métricas para regressão. Viés e Variância. Validação de modelos: ❖ Hold-out; ❖ Cross-Validation. Grid search. Na próxima aula ❑ Avaliando a qualidade de um modelo de regressão – Prática. Modelos Preditivos e Séries Temporais Aula 3.5. Avaliando a qualidade de um modelo de regressão - Prática Prof. Matheus Mendonça Nesta aula ❑ Métricas para regressão. ❑ Validação hold-out. Conclusão Métricas para regressão. Validação hold-out. Na próxima aula ❑ Regressão em problemas não lineares. Modelos Preditivos e Séries Temporais Aula 3.6. Regressão em problemas não lineares Prof. Matheus Mendonça Nesta aula ❑ Hold-out. ❑ Transformação de variáveis. Conclusão Hold-out. Transformação de variáveis. Na próxima aula ❑ Introdução às redes neurais artificiais. Modelos Preditivos e Séries Temporais Aula 3.7. Introdução às Redes Neurais Artificiais Prof. Matheus Mendonça Nesta aula ❑ Introdução às Redes Neurais Artificiais. As redes neurais • Modelos matemáticos inspirados na estrutura de organismos inteligentes; As redes neurais • Modelos matemáticos inspirados na estrutura de organismos inteligentes; • Capazes de realizar tarefas de reconhecimento de padrões e regressão; As redes neurais • Modelos matemáticos inspirados na estrutura de organismos inteligentes; • Capazes de realizar tarefas de reconhecimento de padrões e regressão; • Capazes de adquirir conhecimento através de aprendizagem. Motivação Como lidar com o problema de regressão abaixo? Motivação Solução clássica: utilização de uma função de base: • Mapeia-se o vetor de entrada para um novo espaço de características de forma a tornar o problema linearmente separável. Motivação • Por que foi utilizada a função de base polinomial no problema de regressão não linear? • Por que foi utilizada a função de base radial no problema de classificação não linear? Motivação • Por que foi utilizada a função de base polinomial no problema de regressão não linear? • Por que foi utilizada a função de base radial no problema de classificação não linear? Essas soluções de mapeamento são baseadas em conhecimento prévio ou através de uma etapa de extração de características. Motivação Para problemas mais complexos, a etapa de extração de características tende a ser mais complexa… As redes neurais • Uma rede neural de múltiplas camadas é um modelo não linear utilizado para resolver problemas de classificação e regressão; • Capaz de mapear o vetor de entrada em um vetor de características com o objetivo de tornar o problema linearmente separável; • Utiliza algoritmos de otimização similares aos vistos para a regressão linear. As redes neurais Uma rede neural (RN) é uma função matemática do tipo: em que a função fRN tem uma forma particular: são funções aninhadas. Para uma rede de 3 camadas, por exemplo: onde f1 e f2 são funções vetoriais da seguinte forma: As redes neurais As redes MLP (Multilayer Perceptron): Arquitetura das redes MLP • Formadas por neurônios do tipo Perceptron. • Uma ou mais camadas intermediárias.• Não existem conexões entre neurônios de uma mesma camada. • Totalmente conectada entre camadas. • Cada conexão possui um peso (parâmetro) associado. O neurônio Recebe, processa e transmite um sinal. A função de ativação As camadas intermediárias • As camadas intermediárias geram codificação interna para os padrões de entrada. • Uma rede com uma camada escondida intermediária pode aproximar qualquer função contínua (universal approximation theorem). • Uma rede com duas camadas intermediárias pode aproximar qualquer função! As Redes Neurais As camadas intermediárias • Número de neurônios determina a capacidade da rede (maior capacidade de representação de funções não lineares). • Não existe uma regra geral para determinação do número de neurônios. • Importante ter em mente o dilema Viés e Variância! Conclusão Introdução às Redes Neurais Artificiais. Na próxima aula ❑ Redes Neurais aplicadas à regressão. Modelos Preditivos e Séries Temporais Aula 3.8. Redes neurais aplicadas à regressão Prof. Matheus Mendonça Nesta aula ❑ Redes neurais aplicadas à regressão. ❑ Cross-validation. ❑ Grid search. Conclusão Redes neurais aplicadas à regressão. Cross-validation. Grid search. Na próxima aula ❑ Classificação de padrões: fundamentos. Modelos Preditivos e Séries Temporais Capítulo 4. Classificação de padrões Prof. Matheus Mendonça Modelos Preditivos e Séries Temporais Aula 4.1. Classificação de padrões: conceitos básicos Prof. Matheus Mendonça Nesta aula ❑ Classificação de padrões: conceitos básicos. Classificação ● Classificação: ○ Amanhã será um dia ensolarado, nublado ou chuvoso. ● Regressão: ○ Qual a temperatura média de amanhã? Classificação Classificação g(X): Fronteira de decisão Classificação Um classificador binário se resume a: Fronteira de decisão Fronteira de decisão Conclusão Classificação de padrões: conceitos básicos. Referências An Introduction to Statistical Learning: With Applications in R: 103, por Gareth James. http://www-bcf.usc.edu/~gareth/ISL/ The Hundred-Page Machine Learning Book, por Andriy Burkov. http://themlbook.com/wiki/doku.php PAIM, André. Introdução à inteligência computacional: Apresentação da Disciplina. 01 jan. 2017, 01 jun. 2017. Notas de Aula. http://www-bcf.usc.edu/~gareth/ISL/ http://themlbook.com/wiki/doku.php Na próxima aula ❑ Regressão logística e KNN. Modelos Preditivos e Séries Temporais Aula 4.2. Regressão logística e KNN Prof. Matheus Mendonça Nesta aula ❑ Regressão logística. ❑ KNN. Regressão logística Como estimar um modelo quando as saídas são classes? x y 1 Regressão logística 1ª Abordagem: regressão linear. x 0.5 y = 1, se f(x) > 0.5 0, caso contrário Regressão logística 1ª Abordagem: regressão linear. x 0.5 y = 1, se f(x) > 0.5 0, caso contrário Precisamos de um função que siga o comportamento dos dados! Regressão logística 2ª Abordagem: modificar o modelo. Função logística: Regressão logística 2ª Abordagem: modificar o modelo. Função logística: Aplicar no modelo: Regressão logística Regressão logística Regressão logística com dados bidimensionais (n=2): Regressão logística Pode se gerar uma saída binária definindo-se um limiar para a saída do modelo. Regressão logística Definindo o limiar igual a 0.5: Regressão logística ● Prós: ○ Simples e rápido; ○ Os parâmetros do modelo podem ser interpretados; ○ Convexidade (convergência da otimização). Regressão logística ● Prós: ○ Simples e rápido; ○ Os parâmetros do modelo podem ser interpretados; ○ Convexidade (convergência da otimização). ● Contras: ○ Não pode ser aplicada a problemas não lineares diretamente; ○ Seleção/extração de atributos é crucial; ○ Não consegue lidar bem com colinearidade e outliers. KNN Nearest Neighbour: Fonte: https://www.computersciencemaster.com.br/2019/02/aula-01-classificacao-com- knn.html KNN Nearest Neighbour: Fonte: https://www.computersciencemaster.com.br/2019/02/aula-01-classificacao-com- knn.html KNN ● Prós: ○ Facilmente interpretável; ○ Poucos parâmetros. KNN ● Prós: ○ Facilmente interpretável; ○ Poucos parâmetros. ● Contras ○ Escolha do k; ○ Custo computacional cresce com o tamanho da amostra; ○ Sofre com o mal da dimensionalidade (dimensão elevada). Conclusão Regressão logística e KNN. Referências An Introduction to Statistical Learning: With Applications in R: 103, por Gareth James. http://www-bcf.usc.edu/~gareth/ISL/ The Hundred-Page Machine Learning Book, por Andriy Burkov. http://themlbook.com/wiki/doku.php PAIM, André. Introdução à inteligência computacional: Apresentação da Disciplina. 01 jan. 2017, 01 jun. 2017. Notas de Aula. http://www-bcf.usc.edu/~gareth/ISL/ http://themlbook.com/wiki/doku.php Na próxima aula ❑ Regressão logística e KNN - Prática. Modelos Preditivos e Séries Temporais Aula 4.3. Regressão logística e KNN - Prática Prof. Matheus Mendonça Nesta aula ❑ Regressão logística. ❑ KNN. Conclusão Regressão logística e KNN. Na próxima aula ❑ Avaliando um modelo de classificação. Modelos Preditivos e Séries Temporais Aula 4.4. Avaliando um modelo de classificação Prof. Matheus Mendonça Nesta aula ❑ Métricas de classificação. ❑ Matriz de confusão. ❑ Curva ROC. Falso Positivo e Falso Negativo ● Falso Positivo (Erro Tipo I): ○ Predição: Classe 1 ○ Real: Classe 0 ● Falso Negativo (Erro Tipo II): ○ Predição: Classe 0 ○ Real: Classe 1 Falso Positivo e Falso Negativo Fonte: https://chemicalstatistician.wordpress.com/tag/false-positive/ Matriz de confusão Predição 0 1 Real 0 TN FP 1 FN TP ● TN: True Negative ● FP: False Positive ● FN: False Negative ● TP: True Positive Matriz de confusão Predição 0 1 Real 0 TN FP 1 FN TP Acurácia (Corretos/Total) : (TN + TP) / (TN + FP + FN + TP) Paradoxo da acurácia Predição 0 1 Real 0 990 5 1 1 4 Caso 1: Acurácia = Corretos/Total Acurácia = 994/1000 = 99.4% Paradoxo da acurácia Predição 0 1 Real 0 990 5 1 1 4 Caso 1: Acurácia = Corretos/Total Acurácia = 994/1000 = 99.4% Caso 2: Acurácia = Corretos/Total Acurácia = 995/1000 = 99.5% Predição 0 1 Real 0 995 0 1 5 0 Precision/Recall Predição 0 1 Real 0 TN FP 1 FN TP ● Precision: TP/(TP + FP) Informação sobre a qualidade da predição para a classe positiva. ● Recall: TP/(TP + FN) Informação sobre a qualidade da predição para os padrões que de fato são positivos. Precision/Recall Predição 0 1 Real 0 TN FP 1 FN TP ● Precision: TP/(TP + FP) ● Recall: TP/(TP + FN) F1-Score: 2*Precision*Recall / (Precision + Recall) Curva ROC ROC: Receiver Operating Characteristic Fonte: https://developers.google.com/machine-learning/crash-course/classification/roc-and-auc Curva ROC Gerada a partir de diferentes limiares de classificação: AUC - ROC AUC-ROC: Area Under the Curve Fonte: https://towardsdatascience.com/understanding-auc-roc-curve-68b2303cc9c5 Conclusão Avaliando um modelo de classificação. Atenção com a acurácia. Referências An Introduction to Statistical Learning: With Applications in R: 103, por Gareth James. http://www-bcf.usc.edu/~gareth/ISL/ The Hundred-Page Machine Learning Book, por Andriy Burkov. http://themlbook.com/wiki/doku.php PAIM, André. Introdução à inteligência computacional: Apresentação da Disciplina. 01 jan. 2017, 01 jun. 2017. Notas de Aula. http://www-bcf.usc.edu/~gareth/ISL/ http://themlbook.com/wiki/doku.php Na próxima aula ❑ Avaliando um modelo de classificação - Prática. Modelos Preditivos e Séries Temporais Aula 4.5. Avaliando um modelo de classificação - Prática Prof. Matheus Mendonça Nesta aula ❑ Métricas de classificação. ❑ Matriz de confusão. ❑ Curva ROC. Conclusão Avaliando um modelo de classificação no Python. Na próxima aula ❑ Classificação em problemas não lineares. ModelosPreditivos e Séries Temporais Aula 4.6. Classificação em problemas não lineares Prof. Matheus Mendonça Nesta aula ❑ Classificação em problemas não lineares: intuição. ❑ Redes neurais aplicadas à classificação. Motivação Como lidar com o seguinte problema de classificação? Motivação Como lidar com o seguinte problema de classificação? Problema não linearmente separável! Fonte: https://medium.com/analytics-vidhya/how-to-classify-non- linear-data-to-linear-data-bb2df1a6b781 Motivação Mapeamento do espaço de entrada em um espaço de características de dimensão superior: kernel trick! Fonte: https://medium.com/analytics-vidhya/how-to-classify-non- linear-data-to-linear-data-bb2df1a6b781 Motivação Mapeamento do espaço de entrada em um espaço de características de dimensão superior: kernel trick! Fonte: https://medium.com/analytics-vidhya/how-to-classify-non- linear-data-to-linear-data-bb2df1a6b781 SVM (Support Vector Machines) Motivação Mapeamento do espaço de entrada em um espaço de características de dimensão superior! Fonte: http://cs231n.github.io/neural-networks-1/ ● Dimensão superior ● Transformações não lineares RN aplicadas à classificação Mas como utilizar uma rede neural na classificação de padrões? RN aplicadas à classificação Mas como utilizar uma rede neural na classificação de padrões? Fonte: http://cs231n.github.io/neural-networks-1/ 1. Função de ativação apropriada na camada de saída. RN aplicadas à classificação Mas como utilizar uma rede neural na classificação de padrões? Fonte: http://cs231n.github.io/neural-networks-1/ 1. Função de ativação apropriada na camada de saída. 2. Função de custo apropriada (no MLPClassifier do scikit-learn não precisa) Funções de ativação para classificação ● Funções de ativação para classificação: ○ Binária: sigmoid, tanh Funções de ativação para classificação ● Funções de ativação para classificação: ○ Binária: sigmoid, tanh ○ Multiclasses: Fonte: https://towardsdatascience.com/softmax-activation-function-explained- a7e1bc3ad60 Conclusão Classificação em problemas não lineares: intuição. Redes neurais aplicadas à classificação. Referências An Introduction to Statistical Learning: With Applications in R: 103, por Gareth James. http://www-bcf.usc.edu/~gareth/ISL/ The Hundred-Page Machine Learning Book, por Andriy Burkov. http://themlbook.com/wiki/doku.php http://www-bcf.usc.edu/~gareth/ISL/ http://themlbook.com/wiki/doku.php Na próxima aula ❑ Árvores de decisão e florestas aleatórias (random forests). Modelos Preditivos e Séries Temporais Aula 4.7. Árvores de decisão e florestas aleatórias (random forest) Prof. Matheus Mendonça Nesta aula ❑ Árvores de decisão. ❑ Random forest. Árvore de decisão Uma árvore de decisão para classificação: Sensação térmica > 30ºC Quente Frio SIM NÃO Árvore de decisão Uma árvore de decisão para regressão: Ensolarado Temperatura entre 25 e 35 graus (média) Temperatura entre 18 e 24 (média) SIM NÃO Árvore de decisão Objetivo: Separar observações em grupos cada vez menores e homogêneos em relação ao output desejado. Árvore de decisão Como é o aprendizado das árvores de decisão? ● Qual atributo utilizar em cada nó e em qual hierarquia? ● Qual o limiar de decisão para atributos numéricos? ○ Exemplo: sensação térmica > 20, 28 ou 30? Árvore de decisão Como é o aprendizado das árvores de decisão? ● Qual atributo utilizar em cada nó e em qual hierarquia? ● Qual o limiar de decisão para atributos numéricos? ○ Exemplo: sensação térmica > 20, 28 ou 30? Critério: minimizar a “impureza” da classificação: nós terminais homogêneos! Random forest Random forest Random forest ● Prós: ○ Pode ser usado tanto para classificação como para regressão não linear. ○ Capaz de definir a importância relativa de cada feature. ○ Fácil de utilizar, pois possui um número razoável de parâmetros de fácil compreensão. ○ Em geral, retorna bons resultados de predição. ○ Pode evitar overfitting por conta da quantidade de árvores. Random forest ● Prós: ○ Pode ser usado tanto para classificação como para regressão não linear. ○ Capaz de definir a importância relativa de cada feature. ○ Fácil de utilizar, pois possui um número razoável de parâmetros de fácil compreensão. ○ Em geral, retorna bons resultados de predição. ○ Pode evitar overfitting por conta da quantidade de árvores. ● Contras: ○ Florestas grandes podem tornar o algoritmo lento e ineficiente para predições. ○ Alta acurácia requer mais árvores. Conclusão Árvores de decisão. Florestas aleatórias (random forest). Referências An Introduction to Statistical Learning: With Applications in R: 103, por Gareth James. http://www-bcf.usc.edu/~gareth/ISL/ The Hundred-Page Machine Learning Book, por Andriy Burkov. http://themlbook.com/wiki/doku.php http://www-bcf.usc.edu/~gareth/ISL/ http://themlbook.com/wiki/doku.php Na próxima aula ❑ Classificação em problemas não lineares - Prática. Modelos Preditivos e Séries Temporais Aula 4.8. Classificação em problemas não lineares Prof. Matheus Mendonça Nesta aula ❑ Classificação em problemas não lineares - Prática. Conclusão Vimos como alguns modelos se comportam em problemas não linearmente separáveis. Na próxima aula ❑ Séries temporais: fundamentos. Modelos Preditivos e Séries Temporais Capítulo 5. Séries temporais Prof. Matheus Mendonça Modelos Preditivos e Séries Temporais Aula 5.1. Séries temporais: fundamentos Prof. Matheus Mendonça Nesta aula ❑ Fundamentos de séries temporais e previsão. O que é uma série temporal? • É uma série de dados medidos em intervalos de tempo consistentes (horário, diário, semanal, mensal, etc.). • O que torna as séries temporais diferentes de outros dados é que cada ponto na série depende dos valores de pontos anteriores. O que é uma série temporal? Exemplo 1: nível diário de CO2 no ar é uma série temporal? O que é uma série temporal? Exemplo 1: nível diário de CO2 no ar é uma série temporal? SIM! O que é uma série temporal? Exemplo 2: histórico de empréstimos de um empresa é uma série temporal? O que é uma série temporal? Exemplo 2: histórico de empréstimos de um empresa é uma série temporal? NÃO! Previsão de séries temporais Previsão de séries temporais Previsão de séries temporais Previsão de séries temporais • ARIMA. • Redes Neurais Recorrentes. Previsão de séries temporais • ARIMA. • Redes Neurais Recorrentes. Mas antes, precisamos entender o que pode ser previsto... O que pode ser previsto? A previsibilidade de um determinado evento ou quantidade depende de diversos fatores, tais como: 1. quão bem entendemos os fatores que contribuem para ele? 2. temos dados disponíveis? 3. a previsão pode afetar o valor que estamos tentando prever? O que pode ser previsto? A previsibilidade de um determinado evento ou quantidade depende de diversos fatores, tais como: 1. quão bem entendemos os fatores que contribuem para ele? 2. temos dados disponíveis? 3. a previsão pode afetar o valor que estamos tentando prever? Exemplo: previsão de demanda de eletricidade vs previsão do preço de ações O que será previsto? Na etapa inicial do planejamento da previsão, algumas perguntas devem ser respondidas. Por exemplo, suponha que queiramos prever a quantidade de itens produzidos em uma indústria. É necessário saber se iremos prever: 1. cada produto da linha de produção ou grupos de produtos? 2. previsão semanal, mensal ou anual? 3. previsão discriminada por loja, lojas de uma região ou somente o total? 4. Qual o horizonte de previsão: dia seguinte, semana seguinte, mês ou ano seguinte? Planejamento O planejamento da previsão e o conhecimento dos dados é fundamental, pois isto irá responder: • se é possível realizar a previsão; • se algum ajuste no escopo inicial será necessário. E também irá direcionara escolha do método. Componentes de uma série temporal De maneira geral, uma série temporal é a composição de três fatores: 1. Sazonalidade: componentes responsável pelas variações periódicas dos dados; 2. Tendência: componente responsável por um comportamento de aumento ou diminuição ao longo do tempo (linear ou não); 3. Resíduo: sinal restante após a subtração dos dois anteriores. É também denominado componente aleatório. Neste curso, iremos focar no modelo aditivo: Série Temporal = Tendência + Sazonalidade + Resíduo Componentes de uma série temporal Sazonalidade = 0 Resíduo = 0 Tendência ≠ 0 Componentes de uma série temporal Sazonalidade ≠ 0 Resíduo = 0 Tendência ≠ 0 Componentes de uma série temporal Sazonalidade ≠ 0 Resíduo = 0 Tendência = 0 Componentes de uma série temporal Sazonalidade ≠ 0 Resíduo ≠ 0 Tendência ≠ 0 Conclusão O que é uma série temporal? Importância do planejamento da previsão. Componentes de uma série temporal. Referências Hyndman, R. J., & Athanasopoulos, G. (2018). Forecasting: principles and practice. OTexts. Na próxima aula ❑ Modelos ARIMA, ACF e PACF. Modelos Preditivos e Séries Temporais Aula 5.2. Modelos ARIMA, ACF e PACF Prof. Matheus Mendonça Nesta aula ❑ Modelos ARIMA. ❑ ACF e PACF. Modelos ARIMA No uso de modelos ARIMA, alguns conceitos básicos devem estar claros: ● Estacionariedade: Se o processo estocástico que gerou a série de observações é invariante com respeito ao tempo, diz-se que o mesmo é estacionário. Em outras palavras, a média, a variância e a autocorrelação não variam ao longo do tempo. Modelos ARIMA No uso de modelos ARIMA, alguns conceitos básicos devem estar claros: ● Estacionariedade: Se o processo estocástico que gerou a série de observações é invariante com respeito ao tempo, diz-se que o mesmo é estacionário. Em outras palavras, a média, a variância e a autocorrelação não variam ao longo do tempo. ● Diferenciação: A diferenciação é uma transformação aplicada aos dados de uma série temporal a fim de tornar esta série estacionária. Modelos ARIMA Estacionariedade (média) Fonte: https://www.analyticsvidhya.com/blog/2015/12/complete-tutorial-time-series- modeling/ Modelos ARIMA Estacionariedade (variância) Fonte: https://www.analyticsvidhya.com/blog/2015/12/complete-tutorial-time-series- modeling/ Modelos ARIMA Modelo AR(p): modelo de regressão onde uma observação no instante t é a combinação linear de p observações anteriores, isto é: Modelos ARIMA Modelo AR(p): modelo de regressão onde uma observação no instante t é a combinação linear de p observações anteriores, isto é: Modelo MA(q): também é um modelo de regressão linear que modela o impacto do erro/ruído de q observações anteriores na observação atual, isto é: Modelos ARIMA A combinação dos modelos AR e MA em uma série diferenciada, resulta no modelo ARIMA(p,d,q), onde d é a ordem da diferenciação aplicada: AR - I - MA (p) (d) (q) • p: ordem do modelo AR. • d: ordem da diferenciação. • q: ordem do modelo MA. Modelos ARIMA A sazonalidade de uma série pode ser considerada de forma análoga: m = número de pontos por período sazonal. Modelos ARIMA A escolha do m (número de pontos por período sazonal) depende de um conhecimento prévio e é muito importante! Fonte: https://robjhyndman.com/hyndsight/seasonal-periods/ ACF Autocorrelation Function: PACF Partial Autocorrelation Function: ACF e PACF MA(q) ACF Declínio acentuado após q PACF Decaimento gradual MA(2) ACF e PACF AR(p) ACF Decaimento gradual PACF Declínio acentuado após p AR(2) ACF e PACF ARMA(p,q) ACF Decaimento gradual PACF Decaimento gradual ACF e PACF AR(p) MA(q) ARMA(p,q) ACF Decaimento gradual Declínio acentuado após q Decaimento gradual PACF Declínio acentuado após p Decaimento gradual Decaimento gradual Passo a passo ARIMA 1. Pré-processamento; 2. Fazer a série virar estacionária: a. Escolha da ordem d de diferenciação. 3. Plots ACF e PACF; 4. Determinar os valores de p e q; 5. Treinar o modelo no conjunto de treino; 6. Avaliar a qualidade preditiva no conjunto de teste. Passo a passo ARIMA 1. Pré-processamento; 2. Fazer a série virar estacionária: a. Escolha da ordem d de diferenciação. 3. Plots ACF e PACF; 4. Determinar os valores de p e q; 5. Treinar o modelo no conjunto de treino; 6. Avaliar a qualidade preditiva no conjunto de teste. Auto-ARIMA Conclusão Estacionariedade e diferenciação; Análise ACF e PACF; Passo a passo de um modelo ARIMA. Referências Hyndman, R. J., & Athanasopoulos, G. (2018). Forecasting: principles and practice. OTexts. Na próxima aula ❑ Análise de séries temporais - Prática. Modelos Preditivos e Séries Temporais Aula 5.3. Análise de séries temporais - Prática Prof. Matheus Mendonça Nesta aula ❑ Análise de séries temporais - Prática. Conclusão Vimos decomposição e visualização ACF e PACF. Na próxima aula ❑ Seleção de parâmetros de um modelo ARIMA - Prática. Modelos Preditivos e Séries Temporais Aula 5.4. Seleção de parâmetros de um modelo ARIMA - Prática Prof. Matheus Mendonça Nesta aula ❑ Seleção de parâmetros de um modelo ARIMA - Prática. Conclusão Uso do Auto Arima para seleção de parâmetros. Na próxima aula ❑ Redes neurais recorrentes. Modelos Preditivos e Séries Temporais Aula 5.5. Introdução às redes neurais recorrentes Prof. Matheus Mendonça Nesta aula ❑ Redes Neurais Recorrentes. ❑ Redes LSTM. Dados sequenciais Dados que possuem uma ordem natural: • Séries temporais; • Reconhecimento de fala; • Análise de sentimento. Exemplo: “Não gostei do filme!” • Tradução automática de idiomas; • Vídeos; • etc. Por que não usar RN tradicionais? • Problemas: ○ Entrada e saída podem ter diferentes tamanhos em diferentes exemplos. Ex.: tradução de texto. ○ Não compartilhamento de regras aprendidas em diferentes posições da sequência. Redes neurais recorrentes Fonte: https://colah.github.io/posts/2015-08-Understanding-LSTMs/ Redes neurais recorrentes Fonte: https://colah.github.io/posts/2015-08-Understanding-LSTMs/ Mas as RNN tradicionais possuem “memória curta”. Exemplo: • O cachorro <texto longo> é <texto longo> • Os cachorros <texto longo> são <texto longo> A informação sobre o uso do plural pode ser perdida ao longo da rede... Redes neurais recorrentes Mas as RNN tradicionais possuem “memória curta”. Vanishing gradients: problema comum do Deep Learning. Fonte: https://colah.github.io/posts/2015-08-Understanding-LSTMs/ LSTM - Long Short Term Memory RNN LSTM LSTM - Long Short Term Memory Célula de estado: responsável por propagar informações aprendidas ao longo das unidades de processamento. Fonte: https://colah.github.io/posts/2015-08-Understanding-LSTMs/ LSTM - Long Short Term Memory Forget gate: responsável por decidir qual informação será descartada da célula de estado. Fonte: https://colah.github.io/posts/2015-08-Understanding-LSTMs/ LSTM - Long Short Term Memory Input gate: responsável por decidir qual informação será adicionada/atualizada na célula de estado. Fonte: https://colah.github.io/posts/2015-08-Understanding-LSTMs/ LSTM - Long Short Term Memory Atualização da célula de estado: Fonte: https://colah.github.io/posts/2015-08-Understanding-LSTMs/ ARIMA ou LSTM? Avaliação custo vs benefício: LSTM pode ter uma performance superior ao custo de uma complexidade elevada. Pontos a se considerar: • A diferença em performance; • A valor agregado da performance adicional; • O custo de implementação de modelos complexos; • O custo de manter modelos complexos; • Perda de interpretabilidade. Conclusão Intuição sobre modelos sequenciais. Na próxima aula ❑ LSTM - Prática. Modelos Preditivos e Séries Temporais Aula 5.6. Redes neurais recorrentes - Prática Prof. Matheus Mendonça Nesta aula ❑ Previsão com LSTM.Conclusão Vimos como realizar previsão utilizando o LSTM. Na próxima aula ❑ Fim! Muito obrigado!