Aprendizagem de Máquina

Modelos e dados

Prof. Jodavid Ferreira

UFPE

Lista de Notação



  • \(X\) ou \(Y\)
  • \(x\) ou \(y\)
  • \(\mathbf{x}\) ou \(\mathbf{y}\)
  • \(\dot{\mathbf{x}}\) ou \(\dot{\mathbf{y}}\)
  • \(\mathbf{X}\) ou \(\mathbf{Y}\)
  • \(\dot{\mathbf{X}}\) ou \(\dot{\mathbf{Y}}\)

  • \(p\)
  • \(n\)
  • \(i\)
  • \(j\)

representam variáveies aleatórias (v.a.);

representam realizações da variáveis aleatórias;

representam vetores aleatórios;

representam realização de vetores aleatórios;

representam matrizes aleatórios;

representam realização de matrizes aleatória;


dimensão das \(features\), variáveis, parâmetros

tamanho da amostra

\(i\)-ésima observação, instância

\(j\)-ésima \(feature\), variável, parâmetro

Machine Learning



Machine Leaning (ML) ou Aprendizado de máquina (AM) é um subcampo da Inteligência Artificial que estuda, desenvolve e analisa os algoritmos de aprendizado. Através de utilização dos métodos de AM, modelos baseado em dados podem ser criados para solucionar um determinado tipo de problema específico que de IA, dentre eles, aprendizados supervisionados, não supervisionados e aprendizagem por reforço.

Machine Learning


Inicialmente, as aplicações que eram consideradas de AM eram apenas as desenvolvidas estritamente pela comunidade da computação, contudo, no final dos anos 90, as aplicações de AM começaram a ter intersecções com as de estatística.

Atualmente, a comunidade de AM é bastante interdisciplinar, sendo a estatística uma das áreas. Enquanto que até os anos 90, métodos criados pela estatística começavam a ser incorporados em AM, atualmente a direção oposta está cada vez mais comum: métodos desenvolvidos por AM começaram a ser usados em estatística.

Dessa forma, hoje os algoritmos existentes em Machine Learning e Inteligência Artificial possuem como base em sua maioria conceitos da Estatística e Computação.

Machine Learning



O machine learning assume muitas formas e é conhecido por muitos nomes:

  • reconhecimento de padrões
  • modelagem estatística
  • mineração de dados
  • descoberta de conhecimento
  • análise preditiva
  • ciência de dados
  • sistemas adaptativos
  • sistemas auto-organizados

Alguns terão vida longa, outros durarão menos.

Machine Learning


O machine learning às vezes é confundido com IA, mas como já sabem, ele é um subcampo da IA, entretanto, cresceu tanto e foi tão bem-sucedido que ofusca sua orgulhosa mãe.

Inteligência Artificial
Machine Learning
Deep Learning
IA Generativa

Machine Learning


O machine learning às vezes é confundido com IA, mas como já sabem, ele é um subcampo da IA, entretanto, cresceu tanto e foi tão bem-sucedido que ofusca sua orgulhosa mãe.

Inteligência Artificial
Machine Learning
Deep Learning
IA Generativa

Componentes Fundamentais



Aprendizado de Máquina combina dados, modelos e otimização e aprendizado.

Três elementos essenciais:

  1. Dados: Representações numéricas de features e variáveis
  2. Modelos: Podem ser funções determinísticos ou funções probabilísticas
  3. Otimização e Aprendizagem: Ajuste dos parâmetros do modelo com objetivo de minimizar erro


Objetivo central:

“O que define um bom modelo?”
Performance em dados não vistos + métricas objetivas

Machine Learning



Formulação Geral

  • A função \(f\) é desconhecida. Representa a solução IDEAL.

  • Os algoritmos de ML buscan uma função \(g \approx f\).

Dados estruturados


Os dados são organizados em uma matriz \(\dot{\mathbf{X}} \in \mathbb{R}^{n \times p}\), onde:

  • \(n\) é o tamanho da amostra;
  • \(p\) é o número de atributos (\(features\)), variáveis;

Exemplo:

ID Idade Salário
1 25 3000
2 40 5000
3 60 7000
4 30 3500
5 40 8000

em que, cada linha é um vetor \(\dot{\mathbf{x}}_i \in \mathbb{R}^p\), \(i = 1, \ldots, n\), denominado instância, observação, ou até mesmo amostra.

Modelos como Funções



Um modelo pode ser representado por uma função matemática \(f: \mathbb{R}^p \rightarrow \mathbb{R}\):

\[f(\dot{\mathbf{x}}) = \boldsymbol{\theta}^\top \dot{\mathbf{x}} + \theta_0\]

em que:

  • \(\boldsymbol{\theta}\) são os parâmetros do modelo;
  • \(\dot{\mathbf{x}}\) é um vetor de entrada;
  • \(\theta_0\) é um termo de viés;

Modelos como Funções


  • Exemplo: Regressão Linear

  • Função (linha diagonal sólida preta) e sua predição em \(x = 60\), ou seja, \(f(60) = 100\).

Modelos Probabilísticos



Em modelos probabilísticos, associamos uma distribuição de probabilidade aos dados, e assim, incorporamos incerteza através das distribuições.

No exemplo abaixo, de uma regressão com ruído Gaussiano é assumido que o valor \(y_i\) segue uma distribuição normal centrada em \(\boldsymbol{\theta}^T \dot{\mathbf{x}}_i\),

\[p(y_i|\dot{\mathbf{x}}_i, \boldsymbol{\theta}) = \mathcal{N}(y_i|\boldsymbol{\theta}^\top \dot{\mathbf{x}}_i, \sigma^2)\]

Modelos Probabilísticos


\[p(y_i|\dot{\mathbf{x}}_i, \boldsymbol{\theta}) = \mathcal{N}(y_i|\boldsymbol{\theta}^\top \dot{\mathbf{x}}_i, \sigma^2)\]

Machine Learning



Conceitos importantes incluem:


  • Aprendizado supervisionado - algoritmos treinados com dados rotulados, mapeando entradas para saídas desejadas.


  • Aprendizado não supervisionado - algoritmos que clusterizam e fazem inferências sobre conjuntos de dados não rotulados.


  • Aprendizado por reforço - algoritmos que aprendem com tentativa e erro interagindo com um ambiente dinâmico.

Machine Learning



Conceitos importantes incluem:


  • Aprendizado supervisionado - algoritmos treinados com dados rotulados, mapeando entradas para saídas desejadas.


  • Aprendizado não supervisionado - algoritmos que clusterizam e fazem inferências sobre conjuntos de dados não rotulados.


  • Aprendizado por reforço - algoritmos que aprendem com tentativa e erro interagindo com um ambiente dinâmico.

Aprendizado supervisionado - ML



Aprendizado supervisionado

O aprendizado supervisionado é o tipo mais comum de aprendizado de máquina. Ele é usado para prever um resultado com base em um conjunto de variáveis de entrada.

O aprendizado supervisionado é chamado assim porque o algoritmo aprende a partir de um conjunto de dados rotulados, ou seja, um conjunto de dados que contém entradas e saídas desejadas.

O aprendizado supervisionado é usado em uma ampla variedade de aplicações, geralmente com algoritmos de classificação e regressão.

Aprendizado supervisionado - ML


Quando a saída desejada é uma variável qualitativa \((y \in \mathbb{N})\), o problema é chamado de CLASSIFICAÇÃO.

  • Obtém um modelo otimizado por meio de treinamento e aprendizado baseado em observações \(\mathbf{x}_i\), com \(i = 1, 2, \ldots, n\), para as quais se tem a respectiva resposta \(y_i\) desejada.

  • Cada observação \(\mathbf{x}_i\) pode ser formada por \(p\) variáveis (features) independentes \(\mathbf{x}_i = x_{i1}, x_{i2}, \ldots, x_{ip}\), com \(p \geq 1\).

Aprendizado supervisionado - ML


  • O objetivo é usar o modelo criado para mapear novas entradas.

Por exemplo:

\[\mathbf{x}_{new} = [\text{Weather = 'Rainy', Temperature = 'Warm', Wind Speed = 'Weak'}] \rightarrow y_{new}= ?\]

Aprendizado supervisionado - ML



Quando a saída desejada é referentes a uma variável quantintativa seja essa, pertencente aos números inteiros \((y \in \mathbb{Z})\) ou aos números reais \((y \in \mathbb{R})\)1, o problema é chamado de REGRESSÃO2.


Por exemplo:

  • Qual o peso médio dos jogadores de futebol?
  • Qual a temperatura média em Recife no último mês?
  • Quanto vale um apartamento de \(100m^2\) em Boa Viagem?

Aprendizado não supervisionado - ML



Aprendizado não supervisionado

O aprendizado não supervisionado é o tipo de aprendizado de máquina que é usado para fazer inferências a partir de conjuntos de dados não rotulados.

O aprendizado não supervisionado é chamado assim porque o algoritmo não é treinado com dados rotulados. Em vez disso, o algoritmo aprende com os dados de treinamento e é capaz de fazer inferências sobre novos dados.

O aprendizado não supervisionado é usado em uma ampla variedade de aplicações, com algoritmos de clusterização, redução de dimensionalidade.

Aprendizado não supervisionado - ML



  • Obtém um modelo otimizado processando diretamente os dados de entrada, sem conhecer a saída desejada. Novamente, temos um conjunto de observações \(\mathbf{x}_i\), com \(i = 1, 2, \ldots, n\) e \(p \geq 1\) features.

Aprendizado não supervisionado - ML


  • Clusterização é a técnica de aprendizado não supervisionado mais comum. Ela é usada para agrupar dados em grupos com base em suas características (variáveis, features)

Geralmente é utilizada para um conjunto de dados sendo os grupos formados o objetivo final, entretanto, é possível alocar novas observações para os grupos formados através das semelhanças entre novas observações e os elementos dos grupos.

Aprendizado não supervisionado - ML


Aprendizado por reforço - ML


  • No lugar da amostra, temos uma sequência de ações que são tomadas em um ambiente, e o algoritmo aprende a melhor sequência de ações para maximizar uma recompensa.

  • Para cada ação, há um feedback que indica se a ação foi boa ou ruim.

Por exemplo: Após várias jogadas, ganhou o jogo de damas.

Aprendizado por reforço - ML


  • Objetivo é o algoritmo controlar o braço robótico e aprender a chegar no ponto vermelho.

ML: Processo de Aprendizagem



Figure 1


Observe que o processo é iterativo, ou seja, é necessário voltar a etapas anteriores para ajustar o modelo.

ML: Processo de Aprendizagem



Organização dos dados

  • Dataset: designa amplamente os dados usados no aprendizado de máquina. Cada registro é nomeado de observação, exemplo, instância ou amostra (sample), a qual é formada por variáveis ou características (features). “Features” são partes relevantes para caracterizar as observações.

  • Conjunto de treinamento (training set): é o conjunto de dados usado para treinar o modelo (aprendizado). É formado por um conjunto de observações e suas respectivas saídas desejadas.

  • Conjunto de teste (test set): é o conjunto de dados usado para avaliar o modelo treinado. Simula a situação real, onde o modelo é aplicado a novos dados. É formado por um conjunto de observações de entrada.

ML: Processo de Aprendizagem


Exemplo de “dataset” (dados rotulados):

ML: Processo de Aprendizagem


Exemplo de “dataset” (dados rotulados):

ML: Processo de Aprendizagem


Importância dos Dados

  • Se os dados forem bons, não há como garantir que o modelo será bom

  • Se os dados não são bons, podemos garantir que o modelo será ruim


Etapas de Pré-processamento

  • Limpeza \(\rightarrow\) Remoção de dados duplicados, outliers, dados faltantes, evitar incosisntências e erros na leitura dos dados;

  • Redução dimensional \(\rightarrow\) evitar explosão dimensional, reduzindo o número de variáveis;

  • Normalização \(\rightarrow\) padronização dos dados, evitando que variáveis com escalas diferentes influenciem o modelo, reduz ruídos e melhora a performance do modelo;

ML: Processo de Aprendizagem


O Processo começa pela limpeza dos dados, mas observe a divisão do trabalho utilizando dados reais, dados brutos

ML: Processo de Aprendizagem


Limpeza dos Dados

  • Geralmente, os modelos de aprendizado de máquina não funcionam bem com dados faltantes, duplicados ou inconsistentes.

  • É comum ter dados coletados que só podem ser usados após uma etapa de preparação, que pode incluir:

    • Remoção de dados duplicados;
    • Tratamento de dados faltantes;
    • Tratamento de outliers;
    • Normalização dos dados;
    • Redução de dimensionalidade;
    • Transformação de variáveis categóricas em numéricas;
    • Balanceamento de classes;

ML: Processo de Aprendizagem


Exemplos de problemas vistos em dados brutos:

ML: Processo de Aprendizagem


Conversão de dados

  • A etapa de conversão ocorre entre o pré-processamento e a etapa de selação de variáveis e consiste em converter os dados para o formato adequado para o modelo.

  • Por exemplo:

    • Conversão de variáveis categóricas em numéricas;
    • Conversão de variáveis numéricas em categóricas;
    • Conversão de variáveis temporais em numéricas;
    • Conversão de variáveis textuais em numéricas (word embedding, word2vec, BERt, etc.);
    • Conversão de imagens em numéricas;
    • Conversão de áudio em numéricas;

ML: Processo de Aprendizagem


Conversão de dados

  • Dados de imagens podem ser transformados…
    • Espaço de cores;
    • Escala de cinza;
    • Histograma de cores;
    • Transformada de Fourier;


  • Feature Engineering: criação de novas variáveis a partir das variáveis originais.
    • Normalização de características para igualar “range” de valores;
    • Expansão de características: combinar ou converter variáveis para gerar novas características;

ML: Processo de Aprendizagem


Após limpeza e conversão…

Seleção de características (Feature Selection) \(\rightarrow\) Motivações

  • Geralmente, há um grande número de “features” nas bases de dados. Algumas podem ser rendundantes ou irrelevantes para a predição que se deseja fazer, podendo ser desprezadas.

  • Essa etapa independe do algorito de aprendizagem de máquina.

  • Há quatro motivações para implementar a seleção de “features”.

ML: Processo de Aprendizagem


Seleção de características (Feature Selection) \(\rightarrow\) Métodos


Destacamos três conjuntos de métodos:

  • Filtros: métodos que selecionam “features” com base em métricas estatísticas, como correlação, entropia, etc.


  • Wrappers: métodos que selecionam “features” com base no desempenho de um modelo de aprendizado de máquina.


  • Embedded: métodos que selecionam “features” durante o treinamento do modelo.

ML: Processo de Aprendizagem


Seleção de características (Feature Selection) \(\rightarrow\) Filtro


  • Engloba técnicas baseadas na correlação entre as “features” e a variável alvo.

  • Geralmente, usam parâmetros estatísticos para selecionar as “features” mais relevantes, através de um limiar, ou seja, um “rank” das “features”.

ML: Processo de Aprendizagem


Seleção de características (Feature Selection) \(\rightarrow\) Filtro

  • Métodos Comuns:

    • Correlação de Pearson: mede a relação linear entre duas variáveis contínuas.
    • Correlação de Spearman: mede a relação monotônica entre duas variáveis contínuas ou ordinais.
    • Correlação de Kendall: mede a relação ordinal entre duas variáveis ordinais.
    • Teste Qui-Quadrado: mede a relação entre duas variáveis categóricas.
  • Limitações:

    • Não considera a relação entre as “features”;
    • Não considera a relação não linear entre as “features” e a variável alvo;
    • Não considera a relação entre as “features” e a variável alvo.

ML: Processo de Aprendizagem


Seleção de características (Feature Selection) \(\rightarrow\) Wrapper


  • Engloba técnicas que usam um modelo de aprendizado de máquina para avaliar a importância das “features”.

  • Geralmente, usam um modelo de aprendizado de máquina para avaliar a importância das “features” e selecionar as mais relevantes.

ML: Processo de Aprendizagem


Seleção de características (Feature Selection) \(\rightarrow\) Wrapper

  • Métodos Comuns:

    • Seleção para Frente (Forward): começa com um modelo vazio e adiciona uma “feature” por vez, avaliando o desempenho do modelo a cada iteração.
    • Seleção para Trás (Backward): começa com todas as “features” e remove uma “feature” por vez, avaliando o desempenho do modelo a cada iteração.
    • Seleção para Frente e para Trás (Stepwise): combina as duas técnicas anteriores.
    • Eliminação Recursiva de “Features” (RFE): remove “features” de acordo com a importância atribuída pelo modelo.
  • Limitações:

    • Alto custo computacional;
    • Pode ser sensível a ruídos;
    • Pode ser sensível a overfitting.

ML: Processo de Aprendizagem


Seleção de características (Feature Selection) \(\rightarrow\) Embedded


  • Engloba técnicas em que a seleção de “features” é incorporada ao treinamento do modelo.

  • A forma mais comum de seleção de “features” incorporada é a regularização.

ML: Processo de Aprendizagem


Seleção de características (Feature Selection) \(\rightarrow\) Embedded

  • Métodos Comuns:

    • Lasso (Least Absolute Shrinkage and Selection Operator): adiciona um termo de penalização L1 à função de custo.
    • Ridge: adiciona um termo de penalização L2 à função de custo.
    • Random Forest, XGBoost, LightGBM, CatBoost: avalia a importância das “features” com base na redução da impureza, ou seja, a importância das “features” é avaliada durante o treinamento do modelo.
  • Limitações:

    • Pode ser sensível a overfitting;
    • Pode ser sensível a ruídos.

ML: Processo de Aprendizagem


Seleção de características (Feature Selection) \(\rightarrow\) Embedded

  • Regularização L1 (Lasso):

    • São também nomeados de métodos de penalização L1, pois adicionam um termo de penalização L1 à função de custo. Este método, introduz restrições no processo de otimização do modelo, forçando os coeficientes de algumas “features” a zero, eliminando-as do modelo.
  • Por exemplo: pesos de features redundantes se anulam naturalmente…

ML: Processo de Aprendizagem


Resumo geral da construção de um Modelode 1 até 6… Observe 2!

ML: Processo de Aprendizagem


Um exemplo de Aprendizado Supervisionado \(\rightarrow\) Etapa de Aprendizado

ML: Processo de Aprendizagem


Um exemplo de Aprendizado Supervisionado \(\rightarrow\) Etapa de Aprendizado

ML: Processo de Aprendizagem


Um exemplo de Aprendizado Supervisionado \(\rightarrow\) Etapa de Predição

ML: Processo de Aprendizagem


O que define um modelo como bom?

Quais são as perguntas certas?

  • Precisão: o modelo está prevendo corretamente? ou seja, a acurácia do modelo é alta.
  • Interpretabilidade: o modelo é compreensível? ou seja, é possível entender como o modelo chegou a uma determinada predição.
  • Robustez: o modelo é resistente a ruídos? isto é, o modelo é capaz de generalizar para novos dados.
  • Escalabilidade: o modelo é escalável? isto é, o modelo é capaz de lidar com grandes volumes de dados.
  • Generalização: o modelo é generalizável? isto é, o modelo é capaz de prever corretamente para novos dados.
  • Eficiência: o modelo é eficiente? isto é, o modelo é capaz de prever em tempo hábil.

ML: Processo de Aprendizagem


Validade do Modelo - Definições

  • Capacidade de generalização: capacidade do modelo de prever corretamente para novos dados.

  • Erro: diferença entre o valor previsto e o valor real. Há dois tipos:

    • Erro de treinamento: erro entre o valor previsto e o valor real no conjunto de treinamento.
    • Erro de teste: erro entre o valor previsto e o valor real no conjunto de teste.
  • Capacidade do modelo: capacidade do modelo de se ajustar aos dados de treinamento e generalizar para novos dados.

Conclusões



Processo de Aprendizagem

  1. Pré-processamento: Codificação de features, Normalização (quando necessário)

  2. Treinamento: Através de métodos de otimizações

  3. Avaliação: Através de métricas e validação cruzada


Ética em Machine Learning

  • Privacidade: Anonimização de dados (ex: remoção de nomes)
  • Viés: Avaliação crítica de features e resultados
  • Transparência: Interpretabilidade de modelos

Referências



Básicas

  • Aprendizado de Máquina: uma abordagem estatística, Izibicki, R. and Santos, T. M., 2020, link: https://rafaelizbicki.com/AME.pdf.

  • An Introduction to Statistical Learning: with Applications in R, James, G., Witten, D., Hastie, T. and Tibshirani, R., Springer, 2013, link: https://www.statlearning.com/.

  • Mathematics for Machine Learning, Deisenroth, M. P., Faisal. A. F., Ong, C. S., Cambridge University Press, 2020, link: https://mml-book.com.

Referências



Complementares




OBRIGADO!


Slide produzido com quarto