Fundamentos de Probabilidade para Machine Learning

Conceitos básicos para o entendimento dos modelos de IA

Guilherme Fernandes
Turing Talks
12 min readAug 18, 2019

--

Escrito por Guilherme Fernandes, Fernando Matsumoto e Camila Lobianco

https://unsplash.com/photos/gvGlAAIvIBg

Bem vindos a mais um Turing Talks, essa semana vamos interromper a sequência de modelos de predição para aprender a matemática que fundamenta os modelos de machine learning que veremos nos próximos meses. Sem mais delongas, vamos lá!

Uma dose de energia

“Quais são as chances?” — Kevin Richardson, Backstreet Boys

Já notaram que a maioria das situações em que nos dispomos na vida possuem características aleatórias? Seja jogando cartas, esperando um ônibus no terminal ou o resultado de jogos de futebol, não é possível contar todos esses eventos. Pra nossa felicidade existe uma ciência que estuda isso, a probabilidade; não poderíamos desejar nada melhor, afinal isso nos permite raciocinar efetivamente diante dessas situações em que ter certeza é impossível.

A compreensão dessa área envolve muitos conceitos, então se quiser ir diretamente a algum em específico, sinta-se a vontade.

Eventos

O primeiro ponto a ser compreendido em teoria de probabilidades são os eventos. Eles nada mais são do que o conjunto dos resultados que desejamos obter.

Exemplos
Suponha que lancemos dois dados, dessa situação podemos definir vários eventos, tais como:

  • Evento de ambos saírem o mesmo valor, para isso definimos o conjunto A
    A = {(1,1),(2,2),(3,3),(4,4),(5,5),(6,6)}
  • Evento da soma dos valores ser igual a 2
    B = {(1,1)}

Aos eventos estão relacionados o que chamamos de espaço amostral, que é o conjunto de todos os resultados possíveis.

Probabilidade

Beleza, mas o que é probabilidade?

É um valor numérico associado a um evento, informalmente denotamos por P(evento). Por definição é:

P(evento) = Número de resultados desejados / Número de resultados possíveis

Ou seja, é o número de elementos do evento dividido pelo número de elementos do espaço amostral.

Exemplos
Para os exemplos já apresentados, os resultados são:

  • P(A) = 6/36 = 1/6
  • P(B) = 1/36

Em que, 36 é o número de resultados possíveis no lançamento dos dados.

Algumas propriedades básicas

  1. P(evento) ≥ 0, não existe evento com probabilidade negativa
  2. P(espaço amostral) = 1

Como interpretar?

A probabilidade, por ser conceitualmente abstrata assume alguns tipos de interpretação. Aqui citaremos brevemente duas:

Frequencista

Imagine que lancemos um dado n vezes e realizemos uma contagem do número de ocorrências de determinado valor. Se fizermos n=1 vez, o número observado não é suficiente para definir com grau de certeza o valor de probabilidade. Mas a medida que n aumenta tendemos ao valor exato da probabilidade.

Logo, os que se dizem frequencistas enxergam probabilidade por meio da contagem dos acontecimentos em um grande número de realizações da experiência aleatória, sendo portanto, uma frequência relativa das observações.

Note que essa forma não admite valores exatos.

Bayesiana

Quando não se dispõe da possibilidade de repetir o mesmo experimento nas mesmas condições, ou em grandes quantidades se torna insignificante observar um fenômeno um grande número de vezes.

Assim, temos uma alternativa pra compreensão de probabilidade. Essa se dá como um grau de confiança que atribuímos a uma observação. Nesse caso a probabilidade está associada a hipóteses; sendo assim, os valores confirmam ou refutam as hipóteses.

Eventos Independentes

Dois eventos são independentes quando a ocorrência de um evento não influencia na ocorrência do outro?
Matematicamente a igualdade P(A ∩ B) = P(A).P(B) indica independência de A e B.

Exemplo
Em uma prova de múltipla escolhe existem duas perguntas, a primeira contém 4 alternativas e a segunda contém 3 alternativas. Qual a probabilidade de adivinhar aleatoriamente a resposta certa nas duas perguntas?

O ponto chave da questão é entender que acertar na primeira pergunta não influencia no acerto da segunda. Logo, são independentes e

P(acertar 1ª ∩ acertar 2ª)= P(acertar 1ª).P(acertar 2ª) = (1/4).(1/3) = 1/12

Variáveis Aleatórias (VAs)

Uma variável aleatória X é uma função que associa cada valor do espaço amostral a um número. Em outras palavras é uma regra para descrever os eventos desejados.

Ainda mais simplificadamente, é uma variável que assume diferentes valores a cada vez que é executado o experimento associado a mesma.

Exemplo
Vamos novamente lançar dois dados, assim temos um espaço amostral S:

S = {(1,1),(1,2),(1,3),…,(6,6)}

Podemos definir X, por exemplo, como X(a,b) = máx(a,b), ou seja, para cada (a,b) no espaço amostral S a variável aleatória X está associada ao maior valor entre os dois números.

P(X = 1) = P({(1,1)}) = 1/36
P(X = 2) = P({(2,1), (2,2), (1,2)}) = 3/36
P(X = 3) = P({(3,1), (3,2), (3,3), (2,3), (1,3)}) = 5/36
P(X = 4) = P({(4,1), (4,2), (4,3), (4,4), (3,4), (2,4), (1,4)}) = 7/36

Da mesma forma, P(X = 5) = 9/36 e P(X = 6) = 11/36.

Assim, determinamos a probabilidade para todos os resultados possíveis de X, e portanto, agora sabemos como a variável aleatória está distribuída. Perceba que podem existir infinitas distribuições de variáveis aleatórias, mas existem algumas mais importantes, as quais veremos a seguir.

É muito mais comum, ao longo de um curso de probabilidade, pensarmos em como as variáveis estão distribuídas ao invés de pensar na sua regra; isso acontece porque na prática temos acesso aos dados, e analisar a distribuição é tarefa fácil analisando as frequências relativas, ou seja, contando aparecimento de valores. Além disso, existem algumas distribuições com características singulares, e que aparecem frequentemente em problemas.

  • Esperança: também conhecida como valor esperado, é o número que representa o valor médio de uma variável aleatória. Ela não necessariamente é o valor mais provável, mas uma medida que estuda a tendência central da variável.
  • Variância: é uma medida do espalhamento dos valores da variável aleatória. Ela mensura quão longe os valores da variável estão da média.

Tipos de VAs

Classificamos as variáveis aleatórias em discretas e contínuas, esses termos podem não ser muitos familiares aos leitores, portanto explicaremos a seguir.

Vamos supor que você queira contar o número de vacas em uma fazenda. Eu posso ter três, quatro, ou sete, mas não posso ter quatro e meio. Isso porque, para contar uma vaca, nós estamos supondo que existe um intervalo de uma unidade entre uma vaca e outra.

Se eu fosse fazer um conjunto que servisse para diferenciar minhas vacas, entre uma e outra eu sempre teria um intervalo aberto de uma unidade de medida, com uma vaca em cada extremo. Certo, isso pode parecer um palavreado matemático demais para uma coisa tão trivial, mas é que, no fundo, esse processo de contar vacas só é desse jeito porque ele segue um modelo matemático de dados discretos, que são definidos exatamente dessa forma.

Por outro lado, se eu quiser contar a quantidade de tempo que eu passo em uma viagem de avião, existem infinitos valores de horas exatas que eu posso chegar.

Isso só é possível porque o tempo é uma unidade de dado contínuo. Ou seja, entre um milésimo de segundo e outro existem outros “milionésimos” de segundo. E entre os milésimos de milésimos de segundo existem “bilionésimos” de segundo. Essa lógica valerá para qualquer intervalo possível que você quiser pegar, pois entre cada intervalo de tempo existe um intervalo de tempo ainda menor que dá a esse fator uma sensação de continuidade infinita.

Para sintetizar essa ideia, podemos dizer que o conjunto dos inteiros é um que possui uma estrutura de dados discretos e o dos reais, contínuos.

Existem infinitas variáveis aleatórias, veremos a seguir as mais importantes.

VAs Discretas

Bernoulli
Imagine que você faça um experimento com dois resultados possíveis: sucesso ou falha. Sucesso acontece com probabilidade p, enquanto falha acontece com probabilidade 1-p. Uma variável aleatória que obtém valor 1 em caso de sucesso e 0 em caso de falha é chamada de Bernoulli.

No que segue, usaremos frequentemente a escrita X ~ Bernoulli(p), que dispensa dizer a frase “a variável aleatória X tem distribuição de Bernoulli de parâmetro p”.

Esta variável modela o resultado de lançamento de moedas ou qualquer evento binário aleatório.

Binomial

Essa distribuição modela uma série de acontecimentos de Bernoulli.

Imagine que você lance uma moeda 10 vezes e deseja saber quantas vezes o resultado é cara. Aqui, lidamos com 10 eventos distribuídos conforme uma variável de Bernoulli.

Multinomial

Até aqui só temos modelado eventos binários, ou seja, os quais admitem chance de acontecer ou de não acontecer. Mas se quiséssemos modelar a distribuição de resultados em uma série de lançamento de um dado por exemplo.
Nesse caso estamos tratando de 6 resultados possíveis, cada um com uma probabilidade associada.

Quando essas características estão presentes, podemos modelar o problema por meio de uma distribuição multinomial.

VAs Contínuas

Quando lidamos com variáveis aleatórias contínuas, sua distribuição pode ser descrita por uma função, a qual chamamos de função densidade de probabilidade.

Distribuição Uniforme

Como o próprio nome indica, é uma distribuição com probabilidade constante. Ela modela os eventos que tem a característica de ser igualmente prováveis.

X ~ Unif(a,b)

Distribuição Normal, ou Gaussiana

Suponha que você esteja esperando um ônibus em um terminal e você queira saber quanto tempo será necessário esperar para o ônibus chegar. Sabemos que em São Paulo, por exemplo, os ônibus saem de acordo com um intervalo de tempo fixo, mas o tempo de chegada até você é variável, pois podem ocorrer eventos que influenciem esse fator ao longo do caminho.

O tempo de chegada do ônibus é uma VA contínua, isso porque os valores possíveis são resultados numéricos de um fenômeno aleatório.

Este exemplo pode ser modelado por uma distribuição Normal, ou Gaussiana.

A função densidade de probabilidade de uma Normal tem a característica de ser simétrica em relação a média, e indica que os dados próximos a média ocorrem com mais frequência que os mais longes. Ou seja, existe um tempo médio de chegada do ônibus, que é o valor mais provável, a medida que se distância do valor esperado a probabilidade de acontecimento é diminui.

A imagem abaixo é a função densidade de probabilidade de uma Normal, é fácil percebê-la pelo seu formato de sino.

Esta assume dois parâmetros, μ e σ², que representam respectivamente a média e a variância. Veja o que acontece quando seus parâmetros são alterados.

X ~ 𝒩(μ,σ²)

Note que ao mudarmos o valor da média, a função é deslocada para a esquerda, isso se deve ao fato de ser centrada na média. Quanto à variância é interessante notar que para baixos valores “espremem” a curva, isso porque os valores de x estão concentrados próximos a média.

Distribuições Conjuntas

Comumente podemos encontrar problemas que envolvem mais de uma variável aleatória, contínuas ou discretas. Quando elas estão relacionadas, ou seja, as variáveis não são independentes podemos modelá-las por uma distribuição conjunta.

Quando as variáveis são dependentes, podemos definir alguns outros termos, tais como,

  • Covariância (Cov(X, Y)): é equivalente a variância para duas variáveis;
  • Correlação (Corr(X, Y)): é basicamente uma medida entre -1 e 1, que representa se é possível descrever X e Y por uma relação linear da forma Y = aX + b. Quando a correlação é próxima de -1 dizemos que as variáveis são negativamente correlacionadas, positivamente caso contrário.

Teorema do Limite Central

Esse teorema diz que a soma de variáveis aleatórias converge para uma distribuição normal — O quê??

Isso foi muito rápido eu sei, ainda não tratamos de soma de variáveis, mas é importante elucidar esse tópico, pois é um problema que se encontra frequentemente.

Note que pode ser a soma de diversas variáveis aleatórias, independente de sua distribuição.

Suponha que você saia de casa para ir a faculdade. Existe uma VA que define a existência de trânsito ou não, mas também existe uma que mede o tempo de vida do pneu do seu carro, assim como uma para a existência de vaga no estacionamento. Essas e muitas outras VAs definem o seu tempo de chegada a faculdade, que pode ser modelada como uma Normal.

Probabilidade Condicional

Agora imagine que escolhamos uma pessoa aleatoriamente no mundo. Todos tem a mesma chance de ser selecionados. Consideremos A o evento de a pessoa ser um estudante da USP e B o de uma pessoa que mora em São Paulo. Qual a probabilidade desses eventos? Isso já sabemos calcular.

P(A) = Número de Estudantes da USP / Número de Pessoas no Mundo

P(B) = Número de Moradores de São Paulo / Número de Pessoas no Mundo

Mas e se desejássemos saber a probabilidade de escolher uma pessoa que é aluno da USP, sabendo que ele é um morador de São Paulo? Ou em outra forma: qual a probabilidade de escolher um aluno USP, dado que a pessoa é residente de São Paulo?

É necessário se atentar as duas palavras em destaque: sabendo e dado, ambas nos dizem que já possuímos informação sobre o problema a ser resolvido, ou seja, que já sabemos que algo aconteceu.

A pergunta que estamos fazendo é chamada de probabilidade condicional, isto é, a probabilidade de um evento acontecer dado que outro evento aconteceu. Usamos uma notação especial para representá-la: P(A|B) — que denota a probabilidade de A acontecer, dado que B aconteceu. Esse termo é calculado por:

Como sabemos que a pessoa escolhida aleatoriamente é de São Paulo, estão contidas no evento B, todas as pessoas que estão fora dessa região são irrelevantes para a resolução do problema. E intuitivamente a resposta deve incluir a parte dos moradores de São Paulo que são alunos da USP, e é exatamente o que a intersecção entre A e B fornece. Dessa forma, a razão desses termos fornece a probabilidade condicional.

Teorema de Bayes

Esse teorema nos fornece uma relação entre as probabilidades condicionais. Utilizando a interpretação bayesiana, podemos considerar A uma hipótese e P(A) a nossa certeza acerca dessa hipótese. Se obtivermos uma nova evidência B, a nossa certeza acerca de A mudará, tornando-se assim P(A|B), conforme dado pelo teorema de Bayes.

Onde em tudo isso, entra Machine Learning?

A teoria de probabilidade fundamenta diversos algoritmos de machine learning. Se enxergarmos as features de um dataset como variáveis aleatórias, podemos pensar nos algoritmos como modelos probabilísticos. Por exemplo, suponha que o nosso objetivo seja predizer a espécie Y de uma flor com base em suas características X (como no dataset Iris). Nesse caso, podemos simplesmente predizer P(Y/X), ou seja, a probabilidade condicional de cada espécie dadas as características da flor, e escolher a espécie mais provável. Tal modelo é chamado de discriminativo, dado que ele nos permite discriminar entre as espécies. Um exemplo é o modelo de regressão logística que vimos na semana passada. Outra possibilidade é predizer P(X/Y) e, usando o teorema de Bayes, converter esse valor para P(Y/X). Esse segundo modelo é chamado de generativo, pois modela o modo como os dados X são gerados.

Também podemos utilizar probabilidade para estimar os parâmetros de um modelo. Ao invés de definir uma função de custo e minimizá-la, podemos nos perguntar: quais parâmetros poderiam ter gerado esses dados? Ou seja, queremos encontrar os parâmetros que maximizam a probabilidade condicional dos dados: L = P(dados/parâmetros). Esse termo L é usualmente chamado de verossimilhança. Essa nova visão nos ajuda a justificar as funções de custo que escolhemos em alguns dos algoritmos de IA. Por exemplo, a regressão linear com erro quadrático médio encontra os parâmetros que maximizam a verossimilhança. O mesmo ocorre com a regressão logística com entropia cruzada.

Por último, temos uma aplicação um pouco diferente, na qual não temos um dataset. Nesse caso, temos uma situação análoga ao que ocorre em nossas vidas. Por exemplo, quando aprendemos a andar, não temos um dataset com exemplos de como devemos fazê-lo. Ao contrário, aprendemos por tentativa e erro como andar. Será que um robô consegue fazer o mesmo? Veremos daqui a algumas semanas que a resposta é sim. De forma simplificada, o robô precisa descobrir quais ações o levarão até seu destino em menor tempo e sem cair. A ideia mais simples seria simular todas as sequências de ações possíveis e selecionar a melhor. No entanto, isso pode ser computacionalmente caro demais. Para resolver esse problema, o robô pode simplesmente se perguntar: qual ação provavelmente será melhor? O que eu espero que essa ação cause no futuro? Essas duas perguntas já destacam a presença da teoria de probabilidade nessa área de estudo, denominada aprendizado por reforço.

Conclusão

Apresentamos muitas informações no texto de hoje as quais são essenciais para compreender melhor o que fundamenta diversos modelos de Machine Learning.

Nas próximas semanas continuam as Turing Talks com mais modelos de predição! Se estiver interessado em mais conteúdo de IA, siga nossa página do Medium e do Facebook, e acompanhe nossas postagens!

Por hoje é só. Até uma próxima!

--

--

Guilherme Fernandes
Turing Talks

Electric engineering student, AI researcher and investments enthusiast.