Baixe o app para aproveitar ainda mais
Prévia do material em texto
Algoritmos de Machine Learning 09/2021 O que é Machine Learning? Machine Learning “… [machine learning é] uma área de Inteligência Artificial que tem como objetivo desenvolver técnicas computacionais que permitam a predição e o aprendizado de determinados comportamentos ou padrões...” (Mitchell, 1997). Principais tarefas e tipos de aprendizado 4 Supervisionado ● Aprende a partir de observações anteriores; ● Para cada observação, a saída esperada é conhecida. ● Foco em minimizar o erro entre o valor predito pelo modelo e as saídas esperadas; ● Principais tarefas: ○ Classificação: saída esperada é uma classe (ex: classificar se usuário vai churnar ou não) ○ Regressão: saída esperada é um valor contínuo (ex: prever receita). Principais tarefas e tipos de aprendizado 5 Não supervisionado ● Conjunto de técnicas de aprendizado para quando não se conhece a saída esperada; ● O algoritmo baseia-se somente nos dados de entrada; ● Principais tarefas: clusterização, detecção de anomalias e redução de dimensionalidade. Vamos ver alguns algoritmos? Modelos Lineares Generalizados Principais Características ● É um grupo de modelos estatísticos; ● São algoritmos supervisionados; ● Têm parâmetros interpretáveis; ● São relativamente simples; ● Supõe relação linear entre as variáveis. Regressão Linear (convencional) ● Exemplo: Prever o salário de um funcionário (y): ○ x1: anos de estudo (além do E.M); ○ x2: anos de experiência; ○ regressão: y = 600 + 100*x1 + 50*x2 ● Interpretando: ○ β₀: a média salarial de funcionários sem experiência sem nenhum ano de estudo adicional após o E.M é 600. ○ β₁: cada ano de estudo adicional gera um incremento médio de 100 no salário. ○ β₂: cada ano de experiência na área gera um incremento médio de 50 no salário. Observação: Se a relação entre as variáveis não for originalmente linear você pode tentar transformá-las. Modelo: - Relação linear entre as variáveis; - A resposta é um número real. Regressão Logística ● Exemplo: Estimar a probabilidade de morrer em um acidente (p): ○ x1: idade (normalizada / média=25); ○ x2: sexo (1 se homem e 0 c.c). ○ regressão: logit(p) = 0,2 + 0,015*x1 -0,1*x2 ● Interpretando: ○ Baselines: sexo=mulher / idade=25 anos; ○ exp(β₀) = 1,22: chance média de óbito para uma uma mulher de 25 anos; ○ exp(β₁) = 1,015: em média, a cada ano extra após os 25 anos de idade, as chances de óbito aumentam em 1,5%; ○ exp(β₂) = 0,90: em média, as chances de óbito são 10% menores para homens em comparação às mulheres (mesma idade). Observações: ● Você pode transformar as variáveis caso não haja relação linear; ● A relação linear acontece através de uma função de ligação (logit); ● Chance ≠ probabilidade. . Modelo: - Relação linear entre as variáveis (função de ligação); - A resposta é um número real (entre zero e 1). - Usado para problemas de classificação. Vantagens e Desvantagens Prós ● Excelente ponto de partida antes de uma abordagem mais complexa; ● Os parâmetros são interpretáveis; ● Há uma variedade de testes de hipótese que podem ser usados para avaliar os parâmetros e a qualidade do modelo; Contras ● Podem ser simples demais; ● Necessidade de haver relação linear; ● Por ser um modelo estatístico, deve-se estar bem atento aos pressupostos. K-means Principais Características ● Método para a construção de clusters; ● É um algoritmo não supervisionado (99% dos casos); ● Método muito popular; ● É uma técnica de agrupamento não hierárquica; K-means Passos: 1. Escolhe-se os k-centróides iniciais aleatoriamente; 2. Mede-se a distância de todos os elementos em relação a todos os centróides e cada elemento é alocado ao cluster onde essa distância for menor; 3. Os centróides são atualizados com base no valor médio (daí o nome k-means); 4. Os passos 2 e 3 são repetidos até que não haja realocação de elementos entre os clusters (convergência). Algoritmo: - Especifica-se o número de clusters desejados. - O algoritmo vai iterando até convergir. Qual quantidade de clusters usar? ● Testar diferentes quantidades; ● Comparar os resultados: coef. silhueta e método do cotovelo. Há diferentes tipos de distância, a mais popular é a euclidiana Vantagens e Desvantagens Prós ● Simples e funciona bem. ● Método não hierárquico: mesmo depois de ser atribuído a um grupo, o elemento pode ser realocado. Contras ● É preciso especificar a quantidade de clusters. ● Não permite o uso de variáveis categóricas (ver k-modes). ● Os clusters precisam ser linearmente separáveis. Árvores de Decisão e Random Forest Árvores de Decisão ● Algoritmo supervisionado; ● Busca a divisão ótima dos dados a partir dos valores das features; ● Uma vez encontrada a melhor divisão, o algoritmo busca novas divisões nos "galhos" da árvore (recursivo); ● Método muito popular e simples; Árvores de Decisão #Páginas >= 300 Com copyright #Páginas >= 100 Produtor Verificado? Tem ISBN? Com copyright Sem copyright Sem copyrightSim Não Sim Sim Não Não Sim Não Vantagens e Desvantagens Contras ● Muito sensível a variações nos dados. ● Inacurado comparado a outros algoritmos com os mesmos dados. ● Tempo de treinamento pode ser grande dependendo da profundidade. Prós ● Fácil de interpretar. ● Parâmetros intuitivos. ● Não exige tanta preparação dos dados. ● Bom baseline. ● Lida com dados faltantes. Random Forest (Floresta Aleatória) ● "Floresta" de árvores de decisão, cuja saída é a combinação do resultado obtido por cada árvore; ● Cada árvore é treinada com uma amostra aleatória (“random”) do dataset de treinamento ➞Técnica chamada “bagging”. Random Forest (Floresta Aleatória) Vantagens e Desvantagens Prós ● Melhor desempenho que uma única árvore. ● Parâmetros intuitivos. ● Não exige tanta preparação dos dados. ● Menos sensível a outliers. ● Lida com dados faltantes. Contras ● Perda de interpretabilidade ao combinar várias árvores. ● Alto custo computacional ao se utilizar muitas árvores, apesar de paralelizável. ● Treinamento pode ser demorado com o volume de dados e número de árvores. Redes Neurais Principais Características ● Inspirado no funcionamento do cérebro; ● Serve para problemas de praticamente qualquer natureza; ● Mais usadas para problemas complexos. Neurônio ● Unidade mais básica de uma rede neural; ● Cada entrada tem um peso associado(w); ● Realiza uma soma ponderada de suas entradas, aplica uma função f (função de ativação) e entrega a saída. Redes Neurais As Redes Neurais possuem a seguinte estrutura: ● Camada de Entrada: cada neurônio da camada de entrada recebe uma feature; ● Camadas Ocultas: se comunicam com todos os neurônios da camada anterior e atribui um peso a cada informação que recebe: info₁*peso₁ + info₂*peso₂ + … +infon*peson; ● Camada de Saída: é o output do nosso modelo. camada neurônio função de ativação deixa o output no “formato” desejado. Como a rede “aprende”? Os resultados produzidos são comparados com os valores reais e pouco a pouco (a cada iteração) ela vai ajustando seus pesos e melhorando a predição. Flores Íris Tipos de flores Íris: Setosa Versicolor Virgínica Features (características): ● largura da sépala; ● comprimento da sépala; ● largura da pétala; ● comprimento da pétala. Redes Neurais 1. Camada de entrada: fornecemos as características da flor... ● sepal_l = 0,3 ● sepal_w= 0,4 ● petal_l = 0,6 ● petal_w= 0,2 2. Camada oculta: os neurônios fazem alguns cálculos… ● soma = 0,3*peso₁+0,4*peso₂+0,6*peso₃+0,4*peso₄ ● saída = f(soma) 3. Camada de saída: faz o mesmo que a camada oculta, mas no final fornece o output do modelo... ● probab(setosa) = 0,23% ● pobab(versicolor) = 0,65% ● probab(virgínica) = 0,12% Rede para classificar uma flor Íris: Vantagens e Desvantagens Prós ● Versátil. ● Produz resultados excelentes. ● Funciona bem em problemas complexos (desde que haja volume de dados).Contras ● Pouco interpretável (“caixa preta”). ● Relativamente complexo. ● Pode consumir muitos recursos computacionais. ● Em muitos casos, pode ser um canhão para matar uma abelha. ● Exige um grande volume de dados. Obrigado! :)
Compartilhar