Baixe o app para aproveitar ainda mais
Prévia do material em texto
Aula 02: Regressão linear e logística Prof. Me. Lucas da Silva Assis Módulo 03 - Machine Learning Módulo 03 - Machine Learning Professor: Me. Lucas da Silva Assis Aula 02- Regressão Linear e Logística ● Sobre mim: 2 Engenheiro Eletricista pela EMC - Universidade Federal de Goiás. Durante a graduação co-fundou o Núcleo de Robótica Pequi Mecânico - UFG e tornou-se coordenador da equipe de futebol de robôs (categoria IEEE Very Small Size Soccer). Mestre em Ciência da Computação pelo INF - Universidade Federal de Goiás, sendo bolsista CAPES. Durante o mestrado continuou a pesquisa com a temática de futebol de robôs, com o foco na movimentação e geração de trajetórias para robôs móveis. Atualmente é Doutorando em Ciência da Computação pela Universidade Federal de Goiás. Possui experiência nas áreas de Robótica, Eletrônica Embarcada, Internet das Coisas, Inteligência Computacional, Computação Evolutiva e Aprendizado de Máquina. Também é Instrutor certificado pelo NVIDIA’s Deep Learning Institute para os cursos de Visão Computacional Inteligente. Módulo 03 - Machine Learning Professor: Me. Lucas da Silva Assis Aula 02- Regressão Linear e Logística 3 ● Plano de hoje: ○ Aprendizado Supervisionado ○ Regressão x Classificação ■ Regressão Linear ● Função Objetiva ● Gradiente ● Otimização ■ Regressão Logística ● Linear x Logística ● Contínuo x Discreto ● Função Objetiva ● Gradiente ● Otimização Módulo 03 - Machine Learning Professor: Me. Lucas da Silva Assis Aula 02- Regressão Linear e Logística 4 ● Motivação : ○ A ideia principal deste módulo é a familiarização com funções objetivas, computar seus gradientes e otimizar os objetivos em um conjunto de parâmetros. ○ Essas ferramentas básicas formarão a base para algoritmos mais sofisticados posteriormente! Módulo 03 - Machine Learning Professor: Me. Lucas da Silva Assis Aula 02- Regressão Linear e Logística 5 ● Os pilares da Inteligência Artificial Módulo 03 - Machine Learning Professor: Me. Lucas da Silva Assis Aula 02- Regressão Linear e Logística 6 ● Aprendizado Supervisionado ○ Problemas de aprendizagem supervisionados são agrupados em problemas de “regressão” ou “classificação”. ○ Em um problema de regressão, estamos tentando prever os resultados em uma saída contínua, o que significa que estamos tentando mapear variáveis de entrada para alguma função contínua. ○ Em um problema de classificação, estamos tentando prever os resultados em uma saída discreta. Em outras palavras, estamos tentando mapear variáveis de entrada em categorias distintas. Módulo 03 - Machine Learning Professor: Me. Lucas da Silva Assis Aula 02- Regressão Linear e Logística 7 ● Regressão x Classificação ○ Exemplos ? ■ Módulo 03 - Machine Learning Professor: Me. Lucas da Silva Assis Aula 02- Regressão Linear e Logística 8 Regressões ● Regressões são ferramentas importantíssimas na ciência de dados. O seu uso principal, em Estatística, é predizer o valor de uma ou mais variáveis em função de outras. ● Formalizado matematicamente, o objetivo é prever um valor-alvo y ∈ R a partir de um vetor de valores de entrada x∈ Rn. ● Portanto, podemos dizer que técnicas de regressão tentam explicar a correlação entre as variáveis de entrada e uma saída. Módulo 03 - Machine Learning Professor: Me. Lucas da Silva Assis Aula 02- Regressão Linear e Logística 9 Regressão Linear ● Como em toda regressão, nosso objetivo na regressão linear também é prever um valor-alvo y ∈ R a partir de um vetor de valores de entrada x∈ Rn. ● Por exemplo, podemos querer fazer previsões sobre o preço de uma casa para que y represente o preço da casa em dólares e os elementos xj de x representem “características” que descrevem a casa (como seu tamanho e o número de quartos) ). Suponha que nos sejam dados muitos exemplos de casas onde os recursos para a casa são denotados x (i) e o preço é y (i) ● Módulo 03 - Machine Learning Professor: Me. Lucas da Silva Assis Aula 02- Regressão Linear e Logística 10 Regressão Linear ● Como em toda regressão, nosso objetivo na regressão linear também é prever um valor-alvo y ∈ R a partir de um vetor de valores de entrada x∈ Rn. ● Por exemplo, podemos fazer previsões sobre o preço de uma casa (y) se baseando em características que descrevem a casa (como seu tamanho e o número de quartos) (x∈ Rn). ● Suponha que nos sejam dados muitos exemplos de casas onde os recursos para a casa são denotados x(i) e o preço é denotado por y(i) ● Nosso objetivo, portanto, é encontrar a função y = h(x) para que tenhamos y(i) ≈ h(x(i)) para cada exemplo de treinamento. Módulo 03 - Machine Learning Professor: Me. Lucas da Silva Assis Aula 02- Regressão Linear e Logística 11 Regressão Linear ● Se conseguirmos encontrar a função h(x), dado que exemplos suficientes de casas e seus preços foram usados para criação do modelo de regressão, esperamos que a função h(x) também seja um bom indicador do preço da casa, mesmo quando nos é dado as características para uma nova casa e deseja-se estimar o preço. ● Para encontrar h(x) devemos primeiro decidir como representá-la. Para começar, usaremos funções lineares, portanto, formalizando: hθ(x) = ∑j (θj xj) = θ ⊤x ● Aqui, hθ(x) representa uma grande família de funções parametrizadas pela escolha de θ. Com essa representação para h, nossa tarefa é encontrar um valor de θ para que hθ(x (i)) seja o mais próximo possível de y(i). Módulo 03 - Machine Learning Professor: Me. Lucas da Silva Assis Aula 02- Regressão Linear e Logística 12 Regressão Linear ● Escolhendo um valor de θ: ○ O melhor valor possível de θ é aquele em que hθ(x (i)) é igual a y(i) para todos os casos i. ○ Para identificar o quão próximo um valor de θ está do ideal, temos que propor uma métrica de “custo”, “perda” ou “distância”. ○ Em situações de regressão a métrica é o “segredo do negócio”. Para este caso podemos escolher a seguinte métrica J(θ) : ○ J(θ) = 0,5 * ∑i(hθ(x (i)) − y(i))2 , substituindo hθ(x (i)) para explicitar θ temos : ○ J(θ)= 0.5 * ∑i(θ ⊤x(i) − y(i))2 Módulo 03 - Machine Learning Professor: Me. Lucas da Silva Assis Aula 02- Regressão Linear e Logística 13 Regressão Linear ● Agora queremos encontrar a escolha de θ que minimize a função de custo J (θ). ○ Existem vários algoritmos para minimizar funções como esta. Um dos mais conhecidos e “temidos” é o famoso Gradiente Descendente. Essa beleza matemática permite a atualização de θ usando a seguinte matemágica : ■ θ = θ − α∇θJ(θ) ● Onde α é a taxa de atualização (ou “aprendizado). ● E ∇θJ(θ) é o gradiente de J dado θ. Como formalizado abaixo : Módulo 03 - Machine Learning Professor: Me. Lucas da Silva Assis Aula 02- Regressão Linear e Logística 14 Regressão Linear ● Lembre-se que o gradiente ∇θJ(θ) de uma função diferenciável J é um vetor que aponta na direção de maior aumento de J. Então é fácil ver como um algoritmo de otimização poderia usar isso para fazer uma pequena mudança em θ que diminua ou aumente J(θ). ● Vamos implementar ! ● Baixem os dados em : ● https://drive.google.com/open?id=1G-DTgQaBxUTbeErh3oQI85mzCLlQqgZP Módulo 03 - Machine Learning Professor: Me. Lucas da Silva Assis Aula 02- Regressão Linear e Logística 15 Regressão Linear Multivariada ● O que vai mudar ? ● Vamos implementar ! ● Baixem os dados em : ● https://drive.google.com/open?id=1vDGd4fr12aByI10PesixjbEKj6IG8EEd Módulo 03 - Machine Learning Professor: Me. Lucas da Silva Assis Aula 02- Regressão Linear e Logística 16 ● Exercício 1 : Predição de preços de casas ○ Dados de Preços (csv): https://drive.google.com/open?id=1vDGd4fr12aByI10PesixjbEKj6IG8EEd ○ Dataset : Boston Housing Data (a) Origem:Este conjunto de dados foi retirado da biblioteca StatLib, que é mantida pela Carnegie Mellon University (b) Fonte : Harrison, D. and Rubinfeld, D.L. 'Hedonic prices and the demand for clean air', J. Environ. Economics & Management, vol.5, 81-102, 1978. (c) Data da criação do dataset : 7 de Julho de 1993 Módulo 03 - Machine Learning Professor: Me. Lucas da Silva Assis Aula 02- Regressão Linear e Logística 17 ○ Boston Housing Data ■ Tamanho do Dataset : 506 entradas ■ Número de atributos: 13 (Incluindo o preço final da casa) 1. CRIM per capita crime rate by town 2. ZN proportion of residential land zoned for lots over 25,000 sq.ft. 3. INDUS proportion of non-retail business acres per town 4. CHAS Charles River dummy variable (= 1 if tract bounds river; 0 otherwise) 5. NOX nitric oxides concentration (parts per 10 million) 6. RM average number of rooms per dwelling 7. AGE proportion of owner-occupied units built prior to 1940 8. DIS weighted distances to five Boston employment centres 9. RAD index of accessibility to radial highways 10. TAX full-value property-tax rate per $10,000 11. PTRATIO pupil-teacher ratio by town 12. B 1000(Bk - 0.63)^2 where Bk is the proportion of blacks by town 13. LSTAT % lower status of the population 14. MEDV Median value of owner-occupied homes in $1000's Módulo 03 - Machine Learning Professor: Me. Lucas da Silva Assis Aula 02- Regressão Linear e Logística 18 ● Exercício 2 : Predição de vendas baseando na publicidade ○ Dados de Preços (csv): http://www-bcf.usc.edu/~gareth/ISL/Advertising.csv Quais são as características? ● TV: publicidade em dólares gastos na TV para um único produto em um determinado mercado (em milhares de dólares) ● Rádio: publicidade em dólares gastos em rádio ● Jornal: publicidade em dólares gastos em jornais Qual é a saída? ● Vendas: vendas de um único produto em um determinado mercado (em milhares de dólares) Módulo 03 - Machine Learning Professor: Me. Lucas da Silva Assis Aula 02- Regressão Linear e Logística 19 Regressão Logística ● Aprendemos a prever grandezas de valor contínuo (por exemplo, preços de casas) como uma função linear dos valores de entrada (por exemplo, o tamanho da casa) com regressão linear. ● Mas, às vezes, queremos prever uma variável discreta, ou classificar entradas em determinadas classes. A regressão logística é um algoritmo de classificação simples para automatizar a tomada dessas decisões. ● Na regressão linear, tentamos prever o valor de y(i) para o exemplo x(i) usando uma função linear y = hθ(x) = θ ⊤x . Mas esta é uma péssima solução para predizer valores discretos. Porquê ? Módulo 03 - Machine Learning Professor: Me. Lucas da Silva Assis Aula 02- Regressão Linear e Logística 20 Regressão Logística ● Na regressão logística, usaremos uma hipótese diferente para tentar prever a probabilidade de um determinado exemplo pertencer à classe “1” versus a probabilidade de pertencer à classe “0” e assim por diante. ● Para simplificar a matemática, vamos partir para um problema binário, desta forma as funções seriam : ● P(y=1|x) = hθ(x) = 1 / (1+exp(−θ ⊤x)) ≡ σ(θ⊤x), ● P(y=0|x) =1 − P(y=1|x) = 1 − hθ(x). A função σ(z) ≡ 1 / (1 + exp (−z)) é freqüentemente chamada de função “sigmóide” ou “logística”. Essa é uma função que “modela” o valor de θ⊤x para o intervalo [0, 1], de modo que possamos interpretar hθ (x) como uma probabilidade. Módulo 03 - Machine Learning Professor: Me. Lucas da Silva Assis Aula 02- Regressão Linear e Logística 21 Regressão Logística ● Na regressão logística, usaremos uma hipótese diferente para tentar prever a probabilidade de um determinado exemplo pertencer à classe “1” versus a probabilidade de pertencer à classe “0” e assim por diante. ● Para simplificar a matemática, vamos partir para um problema binário, desta forma as funções seriam : ● P(y=1|x) = hθ(x) = 1 / (1+exp(−θ ⊤x)) ≡ σ(θ⊤x), ● P(y=0|x) =1 − P(y=1|x) = 1 − hθ(x). A função σ(z) ≡ 1 / (1 + exp (−z)) é freqüentemente chamada de função “sigmóide” ou “logística”. Essa é uma função que “modela” o valor de θ⊤x para o intervalo [0, 1], de modo que possamos interpretar hθ (x) como uma probabilidade. Módulo 03 - Machine Learning Professor: Me. Lucas da Silva Assis Aula 02- Regressão Linear e Logística 22 Regressão Logística ● Nosso objetivo é achar um valor de θ para que a probabilidade P(y = 1 | x) = h(x) seja grande quando x pertence à classe “1” e pequena quando x pertence à classe “0”. Para um conjunto de exemplos de treinamento com rótulos binários {(x(i), y(i)): i = 1,…, m} a seguinte função de custo pode medir o quão bem um determinado hθ se ajusta: ● J (θ) = - ∑i ( y (i) log(h(x(i))) + (1 − y (i)) log (1 − hθ(x (i))) ). (A derivada disso fica pra casa !) ● Observe que apenas um dos dois termos na soma é diferente de zero para cada exemplo de treinamento (dependendo se o rótulo y(i) é 0 ou 1). Ou seja, quando y (i) = 1 minimizar a função custo significa que precisamos fazer hθ(x (i)) grande, e quando y (i) = 0 queremos fazer (1 − hθ). ● O gradiente ficaria : Módulo 03 - Machine Learning Professor: Me. Lucas da Silva Assis Aula 02- Regressão Linear e Logística 23 Regressão Logística ● Exercício: ○ Dado artificial ! Como gerar ? ● Mão na massa ! Módulo 03 - Machine Learning Professor: Me. Lucas da Silva Assis Aula 02- Regressão Linear e Logística 24 Regressão Logística ● MNIST : http://yann.lecun.com/exdb/mnist/ ○ 7000 imagens 28x28 P&B Módulo 03 - Machine Learning Professor: Me. Lucas da Silva Assis Aula 02- Regressão Linear e Logística 25 Regressão Logística ● Como prever uma traição ? ○ https://drive.google.com/open?id=1NCrBTzmSkP-ao1Q5XiZlMA_imVDcmkeY ○ Mão na massa ! ○ Créditos para Kevin Markham@justmarkham
Compartilhar