[Música] Olá pessoal tudo bem seja bem-vindos novamente a nossa semana 5 da disciplina de processamento de linguagem natural na aula de hoje a gente vai trabalhar com o aprendizado Bezerra Então a gente vai aprender inicialmente uma introdução né sobre como funciona o aprendizado baseado a gente já deu vocês já leu bastante sobre a teoria de probabilidade etc não vai dar tempo da gente ficar trabalhando essa parte básica aqui de probabilidades Mas você já já sabem né então acho que não vai ter problema em relação a isso vamos falar sobre o classificador na ivbais que é
o que a gente vai apresentar alguns exemplos né de utilização dele para fazer classificação de dados e por fim fazer uma análise do algoritmo para entender algumas vantagens desvantagens que a gente tem desse classificador tá bom para mostrar aqui para vocês né onde que a gente está situado né voltando a nosso processo aqui de completo de classificação nosso pipeline né em que a gente tem aqui a ideia Relembrando né dos dados de entrada com os rótulos já conhecidos A ideia é aplicar um algoritmo de aprendizado de máquina para poder aprender né o relacionamento entre essas
variáveis essas entradas em relação a saída que a saída vai ser a nossa classe né fazer a representação do conhecimento por meio desse modelo para que então depois a gente possa utilizar novos dados né fazer a previsão de qual é a classe Qual é a saída esperada para esses dados que não foram utilizados durante a construção do modelo né e na aula de hoje mas especificamente Então a gente vai ver isso aqui ó que é o algoritmo de aprendizado para poder construir um modelo preditivo né que é o nosso na evidência nosso classificador tá bom
antes de tudo a gente precisa lembrar né do nosso teorema de base né que que é o nosso teorema de base essa forma que a gente tá vendo aqui né Quer tentar basicamente encontrar a probabilidade posteriori né de um conjunto de valores de algumas variáveis que são as nossas variáveis preditivas né Aquelas nossas entradas que a gente tem Nossa conect dados e qual é a probabilidade de dar desses valores para essas variáveis de ser de uma determinada classe nosso exemplo aqui seria o CJ seria uma determinada classe CJ que que é isso né a nossa
probabilidade condicional né ó vamos supor que a gente tem um problema de duas classes então dado um um exemplo do nosso conjunto de dados os valores tais vitais vitais que a gente tá vendo aqui X1 = a X2 = B assim etc dado essas informações aqui qual é a probabilidade de ser a classe 1 qual é a probabilidade de ser da Classe 2 e aqui a forma de o teorema de base que a gente consegue fazer né fazer esse cálculo dessa probabilidade posterior e aquela valor de probabilidade se for maior para classe 1 em relação
à Classe 2 A gente vai dizer então que esse cara é da classe 1 né porque a probabilidade dele ser da classe é maior em relação a ser da Classe 2 né só que a gente tem um problema aqui né para fazer essa estimativa né da nossa da nossa probabilidade condicional né demandaria uma quantidade mínima de exemplos de cada combinação possível dos valores dos atributos a gente não tem como ter Principalmente quando essa nossa dimensionalidade dimensão aumenta né Quanto mais atributos a gente não tem como ter todas os valores possíveis né daqueles atributos né então
acaba sendo em praticado a gente utilizar esse teorema de base da sua forma original né da forma correta vamos dizer assim né porque a gente não vai conseguir né aplicar ele utilizando a teoria da probabilidade condicional né então o que que a gente acaba fazendo uma possível solução né uma possível solução é assumir a independência entre os atributos se a gente assumir que todos os atributos são independentes aqui na prática nunca quase nunca vai ser verdade mas se a gente fizer isso a gente consegue estimar essas probabilidades aqui pelo simples multiplicação né Pedro o p
de X1 X2 xm vai ser o p de X1 vezes P de X2 vezes três pontinhos P de xm faz a multiplicação direta que é o que acontece quando a gente joga um dado por exemplo né que são cada evento cada lançamento do dado ele é independente do outro lançamento não vai ser o caso dos atributos porque os atributos eles têm correlações entre eles né eles não são independentes mas é uma solução e essa solução a gente vai ver que ela tá bom os resultados tá então se a gente fizer isso a gente assume essa
Independência a gente consegue fazer esses cálculos que a gente tá vendo aqui né e acaba montando reescrevendo o teorema de base né com essa hipótese é uma essa fórmula que a gente tá vendo aqui esse teorema de base reescrito ele é o nosso classificador o nosso classificador que é o que a gente vai ver agora aqui no nosso nos nossos próximos slides né então classificador na evidência ele é um classificador bem simples e bem difundido né e baseado no teorema de base ele foi proposto por Thomas bens lá em 19 que não lembro o ano
né mas aqui tá o período em que ele foi foi vivo né e ele é conhecido como também é conhecido como Idiot Bass né porque ou Simple base né porque porque esse termo na Ivi vem do tema ingênuo né Por que que ele é que o nariz Ele é considerado ingênuo Por que que ele recebeu esse nome né justamente porque ele assume ingenuamente né que os atributos são independentes né o que na prática não não acontecem em 99% dos casos né mas ele se mostra bastante competitivo né Se a gente for analisar né então agora
a gente vai ver um exemplinho de como que a gente pode aplicar esse cara aqui como classificador né então a gente teria que esse conjunto de dados Originalmente aqui né com esses atributos que a gente tá vendo aqui é um conjunto de dados bastante utilizado em termos didáticos nos livros vocês vão ver bastante né que a ideia é verificar as condições do tempo estão propícias para jogar tênis né então a classe seria jogar tênis sim ou não né tá em inglês aqui eso novo né mas se está propício para jogar tênis ou não então aqui
a gente tem alguns atributos né como o Outlook a temperatura a umidade o vento e aqui o final o atributo clássico é para saber se vai jogar tênis ou não então o que que a gente quer fazer aqui vamos pegar esse nosso conjunto de dados que a gente tem aqui baseado nos valores vão começar a preencher a quantidade que a gente tem aqui né o quantos exemplos aqui a nossa a gente tem alguns exemplos aqui no nosso conjunto de dados né quantos deles tem o valor Sunny por exemplo para Outlook e é da classe Yes
e quantos deles era classe novo e assim por diante a gente preenchendo essa tabela aqui a gente vai conseguir baseado só nessa nessa tabela que a gente tá preenchendo os valores da sequências das ocorrências né desses exemplos do nosso conjunto de dados a gente consegue agora fazer o cálculo e tentar fazer a previsão de um conjunto novo né então por exemplo a gente tem aqui esse cara agora que é um é um dado novo que a gente não sabe né Qual é o qual é a classe dele mas a gente chegou aqui a gente sabe
os valores dos atributos preditivos que nem a gente sempre conversou nos exemplos de classificação que a gente viu né então eu sei que o dia tá ensolarado eu sei que a temperatura tá tá tá fria eu sei que a umidade é alta e eu sei que tá ventando E aí eu quero saber se eu vou jogar tênis ou não como que a gente utiliza o teorema de base para fazer esse cálculo que que a gente vai fazer vai tentar calcular a probabilidade de uma posterior do valor desse atributo Play que é o valor da nossa
classe c e as que ou seja tá propício para jogar tênis e também vai calcular posteriori para cenoura ou seja não tá propício para jogar tênis vamos calcular as duas probabilidades usando teorema de base então aqui a probabilidade a posteriori né dado que o nosso dia tá ensolarado o tempo a temperatura tá fria a umidade relativa tá alta e tá ventando E aí eu vou pegar e vou fazer os cálculos tudo aqui baseado nessa tabela que a gente tá vendo aqui que são aquelas multiplicações as probabilidades de ocorrência justamente de ser digitar ensolarados está frio
etc vamos fazer todas essas multiplicações né E a gente vai verificar qual é a probabilidade de ser da classe s tá aplicando teorema de base e vamos fazer a mesma coisa para ser da classe novo e aí a gente vai pegar a maior e vai dizer ó esse cara aqui tá sendo classificado como sendo ó tá o dia tá bom o yes ou não dependendo do resultado né então a gente vai fazer nos cálculos eu não vou entrar em detalhes dos cálculos aqui vocês podem ver depois né senão a gente levar muito tempo a gente
vê que a probabilidade de ser da classe não é maior né 0.02 é maior que 0.053 Então Significa o quê que não tá um dia propício para poder jogar tênis de acordo com né então a gente viu que é um algoritmo fácil de ser utilizado né a gente faz a varredura do nosso conjunto de dados preenche uma tabela com os valores das ocorrências e a partir dali a gente calcula todas as probabilidades que a gente tem só baseado nessas probabilidades a gente consegue inferir né calcular a probabilidade a posteriori para qualquer exemplo que vai chegar
depois né O que que seria o nosso modelo aqui né basicamente né Essa até esse momento aqui seria essa nossa tabela que a gente tem aqui que é o que a gente vai utilizar depois para fazer os cálculos para das probabilidades de exemplos que ainda não foram usados né do treinamento né bom a gente tem algumas probleminhas assim que mais que a gente pode resolver né o problema da frequência zero né então só para exemplificar para vocês o que que vai acontecer se um determinado valor de atributo não aparece no treino mas aparece no teste
então um exemplinho do nosso do nosso slide anterior seria o seguinte o Outlook igual overcast pela classe novo não tinha nenhum outro louco pra cássionou em que que aconteceria a probabilidade de ocorrência vai ser sempre zero né esse cara aqui vai ser sempre zero zero multiplicando por qualquer coisa vai dar zero eu nunca ia conseguir existir mais esse cara aqui ele sempre dá um valor zero né então não importa a probabilidade dos demais atributos sempre vai ser igual a zero porque zero multiplicando qualquer coisa É zero né então seria muito radical né especialmente considerando que
a gente nunca vai ter uma base de dados que tem todas as combinações possíveis né todos os dados né e com uma solução para a gente resolver esse problema né uma possível solução é usar o estimadores de La place né quer fazer o quê adicionar uma unidade fictícia para cada combinação é de valor clássico Então se a gente não tiver todos os valores possíveis para todas as classes de todos os atributos a gente adiciona um bom outra questão interessante aqui quando eu trabalho com variável numérica a gente viu ali só variadas categóricas né que é
para calcular as probabilidades eu vou lá e divido né o número de ocorrências dividido pelo o número de exemplos né mas quando for valores numéricos né como é que eu vou fazer porque eu não vou ter todos os números ali né então a gente pode utilizar algumas das alternativas uma ia fazer decretização o que que é discretização é transformar atributos numéricos em atributos categóricos discretiza outra alternativa é assumir ou estimar alguma função de probabilidade geralmente a distribuição glauciana por exemplo então a gente pega calcula a média dizia o padrão quando a gente tá vendo aqui
o variância né O desvio padrão a raiz da variância E aí usando essa distribuição da glauciana e estimo o valor né Vamos estimular o valor aqui para saber qual o valor que vai ser Qual o valor que seria a probabilidade de ser de um valor de temperatura por exemplo que não tá na nossa tabela então para isso que que eu teria que a gente assumiu que a gente fez algumas alterações a temperatura e a umidade agora passada para numérica então a gente calcularia as médias e os desvio padrão para cada uma daqueles valores que nós
tinha lá a gente não tem mais a probabilidade porque não é só pegar e dividir que nem a gente fazia né de vídeo número de valores discretos dividido pelo Total a gente tem a probabilidade mas quando tem o valor numérico não tem isso mas a gente tem só os valores então a gente consegue tirar a média de desvio e na hora de estimar a probabilidade a gente usa aquela forma que a gente viu lá da distribuição de oceano por exemplo ó chegou um exemplo novo aqui a temperatura é 66 bom beleza vamos ver da classe
Yes qual é o valor da probabilidade que eu vou usar né aí tá aqui o aplico aquela forma ele me dá esse valor de probabilidade aqui para a hora que eu usar a forma utilizar o classificador na evidência tá então são algumas formas de contornar a gente pode representar né uma evidência dessa forma que a gente tá vendo aqui né Ele é frequentemente representado assim com um gráfico né E a gente vai ter as direções aqui apontando né da para cada classe A gente vai ter as direções apontando aqui para as probabilidades dos atributos né
então ela vai ela vai a gente diz que que cada classe causa certas combinações de atributos com uma determinada probabilidade né é uma forma de representar na RBS né então aqui a gente tem alguns exemplos né ele é rápido e eficiente em termos de memória né porque porque a gente vai pode calcular essas probabilidades que a gente viu aqui no exemplo com uma única varredura né no nosso conjunto de dados e depois armazenar uma tabela então basicamente conhecimento adquirido tá nessas probabilidades que a gente tem armazenado nessa tabela né esse é a forma que o
nave vezes representa o conhecimento né e o que que a gente pode concluir né analisar Desse nosso algoritmo né bom uma coisa importante característica importante na evidez né ele lida bem ele não é sensível a tributo ser relevantes e aqui a gente tem um exemplo mostrando para vocês O porquê disso porque se o atributo é relevante ele vai ser relevante para uma classe e vai ser relevante para outra classe também então com a hora que a gente for utilizar lá um atributo e relevante no nosso no meio das nossas multiplicações ele vai ser relevante para
os dois quase o mesmo valor não vai fazer diferença nenhuma então ele acaba não sendo é sensível a esse tipo de problema né como alguns outros algoritmos são né a gente tiver atributos relevantes e a gente vai acabar tendo esse é acabar atrapalhando muito no processo de aprendizado né O que não sempre é ruim né se a gente souber antes que é relevante é melhor a gente eliminar mas o na evidência não é aquele cara que vai ser prejudicar tanto assim como alguns outros pode pode acontecer com alguns outros né outra questão interessante da evidez
é que ele forma uma fronteira quadrática aqui né de decisão né então aqui um exemplinho né dessa distribuição de dados né a gente tivesse um classificador linear eles seria uma reta aqui por exemplo na evidência ele faz uma fronteira quadrática o que pode ser interessante para muitos problemas porque ele acaba cobrindo alguma alguns acaba resolvendo alguns problemas um pouco mais difíceis que os lineares teriam um pouco mais de dificuldade né então para finalizar pessoal algumas vantagens desvantagens desse classificador né ele é rápido para treinar que a gente viu que basicamente é preencher aqueles valores de
probabilidade da tabela né rápido para classificar também fazer aquelas multiplicações uma forma basicamente uma forma né insensível tributo se relevantes lida bem com dados discretos e contínuos como a gente viu ali dá a gente consegue trabalhar com os dois né e lida bem com o fluxo de dados né que são os dentes né porque porque é rápido né tem que ser bom tem que ser rápido tem que treinar rápido Tem que classificar rápido para destruindos é muito bom né algumas desvantagens a sua independência dos atributos né que a gente sabe que não é verdade na
grande maioria dos casos né Caso haja redundância entre atributos a gente vai ter problema com atributos redundantes Mas a gente pode utilizar algoritmos de seleção de atributos que a ideia de uma das ideias não algoritmo de seleção de atributos é remover eliminar redundância né não só como também atributos relevantes e tal mas é eliminar redundância se não for o caso também a gente pode trabalhar com uma abordagem mais robusta como por exemplo as redes bezianas que também o algoritmo baseado no aprendizado besiano Mas ele tem uma estrutura um pouco diferente mas com mais elaborada Tá
bom então na aula de hoje a gente aprendeu um pouquinho sobre aprendizado baseando teorema de base como que a gente pode utilizar para construir aí o nosso classificador na evidez né que é o classificador que a gente aprendeu na aula de hoje né e a gente viu também fez uma análise desse algoritmo enviou que ele tem algumas vantagens mais vantagens inclusive que desvantagens né e ele se apresenta Apesar de muito simples né de ser ingênuo ele tem resultados muito bons é um excelente base line pelo menos né quando a gente for trabalhar com não só
problemas de PLN a gente trabalha bastante com problemas probabilística como trabalha com textos né mas com outros problemas também de aprendizado de máquina em Outras aplicações tá bom na próxima aula então a gente vai ter uma aula prática sobre aprendizado de máquina e aí a gente vai estudar um pouco né como que a gente pode fazer treinamento e aplicação de algoritmos de de aprendizagem de máquina de modelos classificadores que são construídos a partir desses algoritmos Tá bom então pessoal até a próxima [Música] [Música]