Buscar

Resumo Teórico de Machine Learning para concursos

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 132 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 132 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 132 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
🤖 
 
 
 
Resumo teórico de Machine 
Learning para concursos 
 
 
Autor: Sergio Souza Novak 
E-mail: serginhosnovak@hotmail.com 
 
 
2 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
2022 
SUMÁRIO 
 ................................................................................................................................................1 
Prefácio ........................................................................................................................................4 
Aprendizado Supervisionado........................................................................................................6 
Modelos de Aprendizado de Máquina .....................................................................................7 
Aprendizado Supervisionado ................................................................................................7 
Aprendizado Não Supervisionado ........................................................................................9 
Aprendizado Por Reforço ...................................................................................................11 
Tarefas de Machine Learning .................................................................................................13 
Tarefa de Classificação .......................................................................................................13 
Tarefa de Regressão ...........................................................................................................14 
Conjunto de Treinamento, Validação e Teste ........................................................................18 
Validação Cruzada ..............................................................................................................21 
Underfitting (sub-ajuste) e Overffiting (sobre-ajuste) ................................................................21 
Maldição da Dimensionalidade ..................................................................................................23 
Modelos de Classificação ...........................................................................................................24 
Métricas de avaliação de Classificadores ...................................................................................25 
Regularização .............................................................................................................................35 
Trade off entre Variância e Viés .................................................................................................37 
Regressão Logística ....................................................................................................................39 
Naive Bayes ................................................................................................................................44 
Máquina de Vetores de Suporte(SVM).......................................................................................45 
KNN ............................................................................................................................................49 
Classificadores paramétricos e não paramétricos ..................................................................52 
Árvores de Decisão .....................................................................................................................54 
 Ensembles e Random Forests ....................................................................................................61 
CONCEITOS DE OTIMIZAÇÃO DE HIPERPARÂMETROS................................................................66 
 Redução de dimensionalidade: Algoritmos ...............................................................................68 
Redução de dimensionalidade: PCA .......................................................................................69 
Aprendizado Não-supervisionado ..............................................................................................71 
Agrupamento K means ...........................................................................................................73 
Agrupamento Hierárquico ......................................................................................................76 
Mistura de Gaussianas(GMM) ................................................................................................77 
3 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
Regras de associação ..............................................................................................................81 
Redes neurais artificiais..............................................................................................................84 
O PERCEPTRON ......................................................................................................................85 
Algoritmo Backpropagation ...................................................................................................92 
Funções de ativação ...............................................................................................................94 
MLPs para Regressão .........................................................................................................97 
 MLPs para Classificação .......................................................................................................100 
Keras e Pytorch ....................................................................................................................104 
 REDES NEURAIS CONVOLUCIONAIS. ........................................................................................106 
Redes Neurais Recorrentes ......................................................................................................107 
Vanishing and Exploding Gradients ......................................................................................108 
Processamento Natural de Linguagem (PLN) ...........................................................................109 
Processo de PLN ...................................................................................................................111 
Etapa de Pré-processamento ...........................................................................................111 
Uso do dicionário Thesaurus (pré-processamento) ..........................................................113 
Semântica Vetorial ...........................................................................................................114 
Modelo de Espaço Vetorial (VSM) ........................................................................................115 
Modelo de Espaço Vetorial (VSM): Representações ........................................................116 
TF-IDF .......................................................................................................................................117 
CBOW e Skip Gram ...................................................................................................................119 
Manipulação de dataframes com Python Pandas ....................................................................120 
Métodos de regularização: penalização com normas L1 e L2, Dropout e Early Stopping ........127 
Ajustando o Modelo: REGULARIZAÇÃO ....................................................................................129 
Regularização L1 (Lasso) .......................................................................................................130 
Regularização L2 (Ridge) ......................................................................................................130 
 
 
 
 
 
 
 
 
 
4 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
 
 
 
 
 
PREFÁCIO 
 
Atenção! Esse Livro não será vendido! 
Escrevi esse texto a fim de ajudar concurseirosa estudar de forma teórica 
os principais tópicos de Machine Learning. Esse texto é fruto dos meus 
resumos para o concurso da Cebraspe 2021 da Petrobrás, ele pode te ajudar 
a estudar de forma teórica os algoritmos e métodos da área. Alguns outros 
tópicos, naquele concurso, como Séries Temporais aqui não são abordados, 
pois já possuem vasta bibliografia. 
Como autor escrevi esse livro de forma despretensiosa, não me 
preocupando em revisa-lo. Se você quiser revisar este livro e conversar 
sobre uma publicação dele: me contatar. 
Att. Sergio Souza Novak. 
 E-mail: serginhosnovak@hotmail.com 
 
mailto:serginhosnovak@hotmail.com
5 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
 
6 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
Aprendizado Supervisionado 
 
É a técnica onde as máquinas adquirem conhecimento, onde elas 
conseguem executar ações com base em aprendizado, não apenas entradas 
de instruções. Aprendizado de máquina é um método que automatiza a 
construção de modelos analíticos, onde os sistemas aprendem com os 
dados a identificar padrões e tomar decisões com mínimo de intervenção 
humana. 
Os tipos de algoritmos de aprendizado de máquina mais bem sucedidos são 
os que automatizam os processos de tomada de decisão generalizando a 
partir de exemplos conhecidos. 
A aprendizagem 
supervisionada o usuário 
fornece entradas e saídas 
desejadas e o algoritmo 
encontra uma maneira 
para produzir a saída 
desejada a partir de uma 
nova entrada. 
Eles são assim chamados 
porque um professor 
fornece supervisão aos 
algoritmos, oferecendo as 
saídas desejadas para 
cada exemplo. 
 
 
 
 
 
 
 
7 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
Modelos de Aprendizado de Máquina 
 
Aprendizado 
Supervisionado 
 
No aprendizado 
supervisionado se tem 
uma tarefa de 
aprendizado de máquina 
que consiste em aprender 
uma função f(x) que 
mapeia uma entrada para 
uma saída a partir de 
pares de entrada e saída. 
Tudo isso é possível 
graças a um professor ou 
supervisor que 
confecciona a relação 
simples entre as entradas 
e os rótulos. 
No processo de aprendizagem o 
agente através da função de 
aprendizado que ele criou pode 
apresentar erros de generalização. 
Exemplos de Aprendizado 
supervisionado são a Classificação e a 
Regressão. 
 
 
 
8 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
Na Classificação o Agente aprende 
segundo as entradas, de forma que 
os rótulos são as classes possíveis 
para cada uma entrada. Os 
algoritmos mais famosos são KNN, 
Native Bayes, Logistic Regression, 
Máquinas de Vetor de Suporte e 
Árvores de Decisão. 
 
Na Regressão buscamos prever 
valores. Um exemplo de Regressão é 
a Regressão linear que busca 
encontrar a função f(x) como uma 
reta linear que mais ajusta os pontos 
dos dados de treinamento. 
 
 
9 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
Aprendizado Não Supervisionado 
 
Consiste na técnica de treinar 
uma máquina a partir de 
dados que não estão 
rotulados. Esses algoritmos 
buscam descobrir 
informações ocultas sobre os 
dados, podendo agrupa-los 
de acordo com semelhanças 
ou diferenças. 
Por exemplo, se um agente 
fosse classificar via 
aprendizado não 
supervisionado, cães e gatos. 
A partir de uma característica 
oculta dos objetos, como por 
exemplo o formato do nariz, poderia agrupar esses objetos, nos grupos X, 
com nariz redondo e nos grupos y com nariz triangular. 
As técnicas mais comuns para aprendizado não supervisionado são 
Agrupamento, Regras de Associação e Redução da dimensionalidade. 
No Agrupamento consiste em agrupar dados não rotulados com base em 
suas semelhanças ou diferenças, como no exemplo anterior. Exemplos de 
agrupamento são agrupamentos exclusivos, sobrepostos, hierárquicos e 
probabilísticos. 
10 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
Nas Regras de associação/ coocorrência ocorre que procura-se encontrar 
relações entre os elementos. Tem como objetivo encontrar elementos que 
implicam na presença de outros elementos. Essa técnica de aprendizado 
não supervisionado é muito utilizada em cestas de compras. Exemplos de 
algoritmos desse tipo são: Apriori, Eclat e FP-Growth. Esse tipo de técnica é 
muito utilizada em grandes massas de dados, se baseiam em dados apriori, 
e tentam memorizar as relações entre objetos. 
 
Existe ainda no aprendizado supervisionado, técnicas como a Redução da 
dimensionalidade, que busca reduzir a dimensão dos dados, quando se têm 
muitos dados, porém a variância é preservada. Essa técnica é comum 
devido ao overfitting dos dados. Ocorre a redução de recursos, exemplos 
de algoritmos com essa técnica. Missing Values Ratio, Low Variance Filter, 
High Correlation Filter, Random Forests / Ensemble Trees, Principal 
Component Analysis (PCA), Backward Feature Elimination e Forward 
Feature Construction. 
 
 
 
 
11 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
Aprendizado Por Reforço 
No aprendizado por reforço inputs/outputs de entrada e saída não são 
apresentados, Ao invés disso tentam encontrar uma política que mapeia os 
estados do mundo às ações que o agente deve ter nesses estados. Essa 
técnica se preocupa com o como o agente deve agir em um ambiente de 
forma que maximize alguma noção de recompensa ao longo do tempo. 
 
Um bom exemplo disso é um jogo, onde o agente a cada vez que morre 
recebe uma penalidade, ou seja um função f(x) ruim, e quando passa para 
um quadrado sem fogo recebe um f(x) bom, dessa forma o aprendizado por 
reforço está aprendendo o que é bom e o que é ruim. O agente é aquele 
que toma decisões a partir 
de recompensas ou 
punições, esse agente pode 
vir a realizar uma ação, que 
irá variar conforme o 
contexto. O ambiente é o 
mundo físico ou virtual que 
o agente opera, o feedback 
é baseado no sistema de 
recompensa, uma 
recompensa gera a tomada 
12 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
de decisão, que é a mudança do estado do agente. No aprendizado por 
reforço, o sistema de inteligência artificial enfrenta uma situação. O 
computador utiliza tentativa e erro para encontrar uma solução para o 
problema. Para que a máquina faça o que o programador deseja, a 
inteligência artificial recebe recompensas ou penalidades pelas ações que 
executa. Seu objetivo é maximizar a recompensa total. Cabe ao modelo 
descobrir como executar a tarefa para maximizar. Exemplo disso são 
veículos autônomos. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
13 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
Tarefas de Machine Learning 
 
Tarefa de Classificação 
Na mineração de dados uma das tarefas mais comuns é analisar 
características de um objeto recém apresentado e atribuí-lo um conjunto 
de classes, predefinidas. Árvores de Decisão são um exemplo de 
classificação. 
14 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
 
Tarefa de Regressão 
44 
A tarefa de regressão consiste na busca por funções lineares que mapeiem 
registros de um banco de dados em valores reais. 
Na regressão linear a função a ser abstraída dos dados é uma função linear, 
por isso ela é o tipo mais simples de regressão. Têm-se y = alfa +betax 
 
15 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
 
O coeficiente angular beta é calculado pela covariância de X e Y dividido 
pela variância de x. O alpha é calculado pela substituição da média de x e y 
na função afim. 
O mesmo exemplo de regressão linear bivariada feito no pandas: 
 
16 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
 
 
 
 
 
 
 
 
 
Pode existir problemas em que os dados não apresentam dependêncialinear, nesses casos devem ser aplicadas técnicas de regressão não linear, 
aplicando por exemplo técnicas como a regressão polinomial, deposi 
resolvendo através de mínimos quadrados. Estatística, Redes Neurais 
oferencem implementações para a tarefa de regressão. 
Quando as variáveis não possuem dependência linear podemos avaliar isso 
através de métricas de regressão linear. 
 
17 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
Por exemplo, na figura ao lado, a 
regressão 2 é a que mais se 
encaixa nos dados. Para saber se a 
regressão é boa ou ruim podemos 
utilizar as métricas de Regressão. 
 
No Erro médio Absoluto (MAE) 
consiste em somar os desvios e 
dividir pelo número de amostras. 
 
O Erro Médio Absoluto não é muito interessante pois é sensível a outliers, 
para isso podemos utilizar outras métricas, como o Erro médio 
quadrado(MSE). 
No erro médio quadrado MSE ocorre a penalização dos outliers, utilizando: 
 
 
 
 
 
 
18 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
 
Conjunto de Treinamento, Validação e Teste 
 Separar os dados no momento de treinar o modelo é fundamental, a figura 
ilustra como particionar um conjunto de dados: 
 
 
 
O Dataset A é particionado apenas um com um conjunto de treinamento e 
um conjunto de teste. O conjunto de teste seria usado para testar o modelo 
treinado. Para o Dataset B temos uma partição de conjunto de validação e 
conjunto de teste. 
No dataset B o conjunto de validação seria usado para testar o modelo 
treinado enquanto que o conjunto de teste avalia o modelo final. 
 
 
 
 
19 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
 
 
20 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
O conjunto de dados de treinamento é responsável por ajustar os 
parâmetros (por exemplo, pesos de conexões entre neurônios) do modelo. 
O modelo é treinado utilizando aprendizado supervisionado. 
 
No conjunto de dados de validação ocorre a validação imparcial de um 
modelo ajustado do conjunto de dados de treinamento, são ajustados os 
hiperparâmetros do modelo (por exemplo, o número de unidades ocultas, 
camadas e larguras de camadas em uma rede neural. Também nessa 
técnica de dados de validação pode ter a regularição ou parar cedo que é 
parar de treinar se o erro no conjunto de dados aumentar (overffiting). Um 
exemplo disso é quando tem mínimos locais, então através de regras ad-
hoc pode-se decidir quando o overfitting realmente começou. 
 No conjunto de dados de teste são feitos testes de análise, na validação 
cruzada, que é quando os dados de teste não foram usados no treinamento. 
Para reduzir problemas de overffiting os dados de validação e teste não 
devem ser usados para treinar o modelo. 
 
Há uma confusão na términologia, invertendo validação e teste. 
21 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
Fazer o seguinte nesse ponto: Se o particionamento do dataset tiver só 
dois conjuntos assumir validação=teste. 
 
 
Validação Cruzada 
Ainda tratando-se de particionamento do conjunto de dados, a validação 
cruzada é a técnica que separa do conjunto de dados total, um conjunto 
para treinamento e teste, por exemplo, utilizar 80% dos dados para 
treinamento e outros 20% para teste, ou ainda 70% para treinamento e 30% 
para teste. 
Na validação cruzada os mesmos dados dos testes não são usados para 
treinamento. Podem ser feitos testes, medindo a acurácia dos dados no 
conjunto de dados de teste, por exemplo. 
 
 
 
UNDERFITTING (SUB-AJUSTE) E OVERFFITING 
(SOBRE-AJUSTE) 
Um bom modelo não pode sofrer underffiting e nem overffiting. 
22 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
Ocorre o overffiting quando nos dados de 
treino o modelo é excelente, porém no 
conjunto de dados de teste o resultado é 
ruim. Nesse caso o modelo não aprendeu 
bem as relações no treino e acabou apenas 
decorando o que deveria ser feito. Nesse 
caso do overffiting(sobreajuste) o modelo 
não tem capacidade de generalização. 
No caso do 
underffiting(Subajuste/superajuste), o 
modelo se ajusta muito pouco ao conjunto 
de treinamento, nesse caso pode ser por 
exemplo, poucos neurônios em uma rede 
neural ou uma tolerância de erros muito alta. O underffiting é o caso em 
que há parametrizações inadequadas. O modelo se ajustou pouco ao 
conjunto de treinamento, esse modelo já pode ser descartado. 
 
 
Comparação entre 
overffiting e 
underffiting: 
 
 
 
23 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
MALDIÇÃO DA DIMENSIONALIDADE 
Esse problema ocorre quando o modelo têm muitas dimensões, como por 
exemplo vaca(peso, altura, área, volume) ocorre que o modelo fica com a 
maldição da dimensionalidade. 
 
Quando maior for a dimensionalidade, mais dados serão necessários para 
o aprendizado do modelo. Alguns algoritmos como o KNN é enganado 
quando o número de atributos é muito grande, o desempenho do algoritmo 
pode ser prejudicado... 
 
Esse Fenômeno ocorre quando o 
desempenho do modelo diminui quando 
sobe o número de atributos. 
 
 
 
 
Na redução da dimensionalidade procura-se utilizar um modelo com menos 
atributos. Para isso utiliza-se a composição e a seleção de atributos. 
Agregar os atributos é construir atributos novos a partir de dois ou mais 
atributos, por exemplo, densidade = massa/volume. Nesse caso não há 
perda de informação. A seleção de atributos é quando alguns atributos são 
irrelevantes ou redundantes. 
 
24 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
MODELOS DE CLASSIFICAÇÃO 
Em aprendizado supervisionado quando se deseja obter dos dados como 
saída uma variável quantitativa deve-se usar modelos de regressão. Porém 
quando se deseja ter como saída uma variável qualitativa deve-se usar 
Classificação. 
 
 
 
Inicialmente tem a base de dados, depois é separado o conjunto de dados 
de teste e treino, então o classificador é treinado com os dados de treino. 
Então dos dados de teste são retirados os rótulos, a base de teste sem 
rótulos é enviada ao classificador treinado. Por fim a Acurácia avalia os 
rótulos dos dados de teste com as classes preditas, a fim de medir a 
qualidade do classificador. 
 
 
 
25 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
 
MÉTRICAS DE AVALIAÇÃO DE 
CLASSIFICADORES 
Um classificador têm duas métricas que são interessantes, que é a precisão 
e acurácia. 
A precisão é quando o modelo prediz o valor de forma precisa, ou seja os 
valores preditos estão próximos a sua própria média, não há alta 
variabilidade nos valores. Uma forma de lembrar disso é lembrar de 
precision em programação. 
A acurácia(Acc) é quando o modelo 
prediz valores próximos ao valor 
ótimo. 
Para calcular a acurácia deve-se 
calcular o erro. 
O erro é calculado somando todas 
as ocorrências de classes que deram 
26 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
errado dividido pelo número de ocorrências. A acurácia é então 1- erro. 
 
Quando o erro no teste é muito maior que o erro no treinamento é um 
indicativo que está acontecento overfitting, pois o modelo não está 
conseguindo generalizar o que foi aprendido. 
Quando o erro é grande ainda no conjunto de dados de treino dizemos que 
o modelo está sofrendo underfitting. 
A acurácia é o método mais usado para medir o desempenho em problemas 
de classificação, ela serve de base para medir quando o classificador deve 
parar de treinar. 
 
 
 
 
 
 
 
27 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
 
 
Exemplo de treinamento e avaliação de 
acurácia do dataset Iris com scikit-learn 
 
 
Primeiro é feito o carregamento do dataset utilizando scikitlearn do 
dataset. Em iris.data fica a parte das dimensões, enquantoque em 
iris.target ficam os alvos, ou seja, os rótulos dos dados(supervisor 
preencheu). 
Depois é feito o processo de validação cruzada utilizando train_test_split 
do pacote model_selection. Nesse caso foi usado 40% dos dados para o 
conjunto de teste. 
Depois disso é feito o treinamento com um classificador, que no caso é o 
KNN, através da função fit. 
28 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
Por fim através do pacote metrics é feita a medida de acurácia, que avalia 
os y reais do conjunto de teste juntamente com os y predizidos pelo 
modelo. Nesse caso o modelo teve 98% de acurácia, o que é bom. 
 Matriz de Confusão 
Em um exame de gravidez a maioria das vezes dá verdadeiro positivo, 
quando há bebê e o exame dá positivo, e verdadeiro negativo, quando não 
há bebê e o exame dá negativo. Contudo pode haver casos em que o exame 
falhou, nesse caso podem haver casos de falso negativo, ou seja, quando o 
exame não consegue detectar que há bebê. 
Contudo, quando o exame der positivo pode saber, existe um bebê na 
barriga, ou seja, não há casos em que dá falso positivo. 
 
29 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
No caso de modelos de classificação podem sim haver falsos positivos e 
falsos negativos, eles são avaliados na matriz de confusão. 
 
Suponha que queremos classificar animais em duas classes vaca e não 
vaca . A tabela de confusão que um classificador produziu pode ser algo 
como: 
 
 
 
 
 
 
 
30 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
Essa tabela de confusão pode ser 
numéricamente expressa como uma 
matriz de confusão: 
 
 
 
Para mais de uma classe podemos generalizar essa matriz de confusão para 
algo como: 
 
De forma que a diagonal principal da matriz contém todos os valores em 
que o modelo acertou e as outras posições quando o modelo errou. 
 
A taxa de verdadeiros positivos/sensibilidade RECALL é a capacidade do 
modelo de identificar corretamente os objetos. 
 
 
A especificidade é a porcentagem de verdadeiros negativos: 
31 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
 
A F1-Score é a média harmônica entre o Recall e Precision, ou seja, ela 
resume as informações dessas duas métricas. 
 
 
 
 
 
 
 
32 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
 
 
 
 
Questões 
 
 
33 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
 
34 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
Matriz de confusão e métricas Aprendizado 
Supervisionado no Sklearn com pandas 
 
 
 
35 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
 
REGULARIZAÇÃO 
Quando ocorre o overfitting podemos inicialmente fazer o seguinte: 
 
 
 
 
 
 
 
Se chama regularização o processo de restringir um modelo para simplificar 
e reduzir o risco de overfitting. É feita a regularização através de 
hiperparâmetros do algoritmo implementado, e não do modelo. 
36 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
Por exemplo, no gráfico acima a equação tem 2 variáveis livres, se o modelo 
tivesse apenas uma variável livre ele não conseguiria prever bem os dados. 
O hiperparâmetro não é afetado pelo próprio algoritmo e permanece 
constante durante todo o treinamento, esse hiperparâmetro controla o 
segundo grau de liberdade do algoritmo. 
 
 
37 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
 
TRADE OFF ENTRE VARIÂNCIA E VIÉS 
 
38 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
Viés(Bias) é o erro com relação ao valor real que o modelo deveria assumir. 
O Viés é o erro devido à diferença entre as previsões médias e os valores 
corretos que estamos 
tentando prever. 
A Variância(Variance) é 
o erro com relação a 
variabilidade de uma 
previsão do modelo para 
um determinado 
conjunto de dados. 
Matemáticamente: 
(essa não é a única 
maneira de estimar) 
 
No cálculo do Bias e 
variância é testado n treinamentos, por isso é bom fazer muitos 
treinamentos, comumente se usa n = 30, mas isso não é regra. 
Existe ainda outro erro que pode ser associado ao modelo, que é o erro 
independente ou ruído, esse erro é inerente ao treinamento, sobre o 
modelo escolhido. 
 
Logo, o erro total(E_total) do modelo é igual a: 
 
39 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
 
REGRESSÃO LOGÍSTICA 
Apesar do nome, a regressão logística é um método de aprendizado 
supervisionado de CLASSIFICAÇÃO. 
40 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
Quando usado a regressão linear para métodos de classificação com um 
ponto de corte, os modelos não tem um bom resultado, isso porque são 
muito sensíveis a outliers. Como ilustrado na figura: 
 Observe que a adição com outlier deslocou a reta, fazendo com que 
houvesse muita alteração no modelo. Seria muito bom se o nosso modelo 
pudesse dedicar mais atenção ás fronteiras dos dados ao invés dos outliers. 
Nesse sentido podemos alterar o modelo de Regressão linear utilizando 
uma sigmóide. 
Na Regressão Logística ocorre o 
mapeamento de qualquer valor real para 
um número entre 0 e 1: 
Internamente a função calcula a 
probabilidade de um evento ajustando os dados a uma função logit, 
descrita por: 
41 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
 
A regressão logística modela a probabilidade da classe padrão do problema, 
por exemplo a probabilidade de ser homem ou mulher. 
Os coeficientes da Regressão logística são estimados através do método de 
estimação de máxima verossimilhança. 
Exemplo feito no scikitlearn: 
 
A regressão logística é muito utilizada na indústria de crédito para prever 
inadimplência de empréstimos. 
 
Questões 
 
42 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
O erro da questão está em dizer que a regressão logística aceita apenas 
variáveis categóricas, quando em seu domínio aceita qualquer variável. A 
saída da regressão logística que é categórica. 
43 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
44 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
 
NAIVE BAYES 
O classificador Naive Bayes é um algoritmo de aprendizado que usa o 
modelo matemático de probabilidade para resolver problemas de 
classificação. A classificação Naive Bayes parte da suposição de que as 
variáveis envolvidas em machine learning são independentes entre si. 
Ele precisa de um pequeno número de dados de treinamento e é um dos 
métodos mais utilizados, pois é rápido computacionalmente . 
45 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
O Naive Bayes é um classificador que é ótimo para a detecção de SPAMS e 
também para descrever o conteúdo de um texto. No Scikit Learn têm três 
classes de algoritmos Naive Bayes: GaussianNB, MultinomialNB e 
BernoulliNB. 
O GaussianNB pressupõe como entrada uma distribuição normal, 
Multinomial contador de ocorrências Discreto e a segunda para atributos 
booleandos discretos. 
 
MÁQUINA DE VETORES DE SUPORTE(SVM) 
É um dos métodos de classificação mais poderosos e mais utilizados e 
resolve problemas lineares e não lineares. 
O SVM encontra o hiperplano (em azul) de forma que a margem M entre os 
vetores suportes seja máxima, pode-se utilizar o método de multiplicadores 
de Lagrange para encontrar esse hiperplano. 
46 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
No caso da imagem há um problema linearmente separável, contudo 
vamos ver como o SVM funciona para um problema que não é linearmente 
separável: 
 
Os pontos mais próximos das classes estão nos vetoresde suporte. 
Para encontrar o hiperplano o SVM terá que projetar os pontos para a 
terceira dimensão. Através dos kernels o SVM consegue corretamente 
mapear para as outras dimensões os dados. As funções de kernel é um dos 
hiperparâmetros mais importantes em SVM. Os kernels também vão dizer 
quais os tipos de hiperplano. 
Os kernels reduzem a complexidade de encontrar a função de 
mapeamento. Esse exemplo acima pode ser resolvido utilizando o kernel da 
função de base Radial(RBF), exemplos de kernel são Polinomial, Gaussian, 
Sigmoid e RBF. O scikit learn possui todos esses kernels e também permite 
que você defina o próprio kernel. 
O Parâmetro C é um parâmetro de Regularização de SVM, ele cria um trade-
off entre precisão do treinamento e largura de margem, se C for pequeno 
terá margens maiores e menor precisão no treinamento. 
O Parâmetro Gama é a influência dos pontos de treinamento. 
O Grau é um hiperparâmetro usado em kernels polinomiais, m grau mais 
altor significa um limite de decisão mais flexível, se grau 1 resulta um kernel 
linear. 
 
47 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
 
 
Os SVN são bastante dependentes do espaço dimensional. Muitas vezes não é 
possível separar como uma reta duas classes. Para resolver esse problema, cria-se 
uma nova dimensão (uma terceira) possibilitando a separação. 
48 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
 
 
 
 
 
 
 
 
 
 
 
 
49 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
 
KNN 
O k-vizinhos mais próximos é um algoritmo muito popular na comunidade, 
e pode ser aplicado em classificação, regressão e detecção de outlier. 
 
O KNN assume que pontos semelhantes estão próximos. Nesse algoritmo 
cada um dos pontos encontra um registro K vizinhos mais próximos, a 
50 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
distância entre os vizinhos pode ser calculado com a distância Euclidiana e 
também com distância de Manhattan. 
Ao treinar o modelo os pontos são simplesmente armazenados, o custo 
para treinamento é O(1), isso é muito bom... Mas para fazer a predição da 
classe de um novo ponto se faz: 
1. Calcula a distância Euclidiana ou de Manhattan entre o ponto e todos 
os outros. 
2. Ordena essas distâncias 
3. Escolhe a classe modal entre os k primeiros elementos. 
 
 
 
 
 
A escolha do hiperparâmetro k se dá por experimentação, de forma que 
quanto maior k menor o efeito de eventuais ruídos no conjunto de 
referência, mas Valores de k altos tornam mais difusas as fronteiras entre 
as classes. Geralmente é boa prática escolher k ímpar para evitar empate 
na moda. 
 
51 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
 
 
 
 
 
Os hiperparâmetros do algoritmo são: 
• Número K vizinhos mais próximos: Esse parâmetro é o mais 
importante, é um inteiro positivo que decide o número de amostras 
rotuladas do conjunto de dados do treinamento. Um grande número 
de vizinhos suaviza os limites das classificações. 
 
• Pesos: No momento de escolher a classe modal podemos ter 
também pesos que podem influenciar essa escolha, esses pesos 
podem ser o inverso das distâncias entre os vizinhos e o ponto. 
 
• Algoritmo de indexação: São algoritmos usados para mapear os 
pontos mais próximos, para não precisar calcular a distância entre 
todos os pontos. Usa-se algoritmos de indexação baseados em 
árvores, como kd-tree e ball tree. Quando se tem muitas dimensões 
o ball tree é melhor que o kd-tree. 
 
• Métrica de Distância: Uma métrica para calcular a distância entre 
cada ponto. 
 
 
52 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
 
 
Uma desvantagem desse algoritmo é quando ele apresenta muitas 
dimensões nas entradas os vetores do knn ficam muito grandes 
atrapalhando na localização de padrões, para melhorar isso pode-se utilizar 
um algoritmo para reduzir a dimensionalidade, como o PCA. 
Quando o algoritmo é utilizado para a Regressão: 
Um valor de k grande leva a um bias alto porém um modelo com baixa 
variância, por sua vez um modelo com baixo k leva um estimador com bias 
baixo, porém variância alta. 
Classificadores paramétricos e não paramétricos 
Os classificadores paramétricos são aqueles que partem da premissa que 
os dados seguem uma distribuição conhecida, como a distribuição normal, 
por exemplo. Os classificadores não paramétricos não tem informação 
sobre a distribuição de probabilidade dos dados, não se conhece o 
comportamento estatístico dos dados. 
53 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
O knn é um classificador não paramétrico. 
 
 
 
 
 
 
 
 
 
54 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
 
ÁRVORES DE DECISÃO 
São algoritmos não paramétricos de aprendizado supervisionado que 
podem realizar tarefas de classificação e regressão. 
 
 
O objetivo da Árvore de Decisão é particionar o problema em problemas 
menores, particionar o conjunto de dados. Por exemplo, no conjunto de 
dados acima, o algoritmo particionou o conjunto em três regiões, essas 
regiões serão usadas para montar uma árvore com regras com relação às 
linhas de corte. 
 
 
 
 
 
55 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
 
O algoritmo criou uma árvore a partir do hiperparâmetro max_depth, ou 
seja controlamos o número de níveis da árvore. Os nós folhas são os 
elementos que determinam a classificação daquele conjunto parte do todo. 
Um nó qualquer pode possuir os atributos: 
• Samples: quantas instâncias de treinamento o 
nó se aplica. 
• Value: indica quantas instÂncias de 
treinamento de cada classe esse nó se aplica. 
• Gini: indica a impureza de um nó, se gini=0 
todas as instâncias de treinamento pertencem 
a mesma classe. A árvore de decisão é um 
algoritmo preditivo, nem sempre acerta nas 
previsões. Pode-se utilizar a entropia para 
medir gini. 
 
 
Figura 1Exemplo de Classificação 
56 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
 
 
Na maioria dos algoritmos há duas fases de 
treinamento: Construção da árvore de decisão 
e simplificação da árvore(poda). 
Na etapa de construção da árvore de decisão os dados são particionados 
em duas ou mais partições, até que todas as regiões pertençam a uma 
classe. 
Na etapa da poda é feito a regulação da árvore, o objetivo é tornar a árvore 
de regressão menos complexa, de modo a diminuir a variância do 
estimador. As árvores de decisão possuem significativa dependência dos 
dados, portanto, são instáveis, pois pequenas alterações nos dados de 
treino produzem novas árvores. 
57 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
 
 
58 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
 
 
 
 
 
59 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
 
 
 
60 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
 
 
 
 
 
 
Para o exemplo dos empregos 
61 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
 
 
 
 
 ENSEMBLES E RANDOM FORESTS 
O uso de ensembles é quando utilizamos múltiplos 
modelos um uma mesma tarefa de aprendizado. O tipo 
mais comum de ensemble é treinar vários modelos 
distintos sobre todos os dados disponíveis no 
treinamento, depois aplicar todos eles em cada exemplo 
de teste. 
Em tarefas de classificação o Ensemble pode fazer com 
que cada modelo vote na classe escolhida, enquanto que 
em modelos de regressão pode-se usar a média como 
saída do ensemble. 
A técnica de baggin consiste em escolher aleatoriamente 
os conjuntos de exemplo de treinamento para ser 
utilizado, de forma que os modelos tenham visões 
diferentes dos dados. 
62 
Resumo teórico de Machine Learningpara concursos 
Sergio Souza Novak 
A técnica de baggin faz com que os modelos 
tenham visões diferentes dos dados, isso faz 
com que melhore o desempenho dos 
algoritmos. 
 
A técnica de votação 
ponderada é quando o 
voto de cada modelo é 
ponderado pela sua 
acurácia em um conjunto 
de validação. É como se 
cada modelo tivesse 
diferentes pesos diferentes e o número de votos fosse proporcional a sua 
acurácia, fazendo com que modelos ruins pesassem menos na resposta. 
É interessante pensar que o classificador de votação tenha mais acurácia 
que o melhor classificador ensemble, isso devido a lei dos grandes números. 
Os métodos Ensembles funcionam melhor quando os preditores são mais 
independentes quanto possível. Uma forma de se obter classificadores 
diversos é treina-los usando algoritmos diferentes , isso aumenta a 
chance de eles cometerem erros diferentes, melhorando a acurácia do 
agrupamento. 
 
63 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
 
 
 
 
 
 
 
64 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
O Baggin é a técnica de 
treinar o mesmo algoritmo 
de treinamento para todos os 
preditores e treina-los em 
diferentes conjuntos 
aleatórios do conjunto de 
treinamento. 
 
Quando ocorre a substituição 
na amostragem chama-se 
Baggin(Bootstrap) e quando 
não ocorre chama-se pasting. 
 
 
65 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
Florestas Aleatórias 
4Uma floresta aleatória é um agrupamento de árvores de decisão,são 
treinadas geralmente por baggin ou pasting e possui os mesmos 
hiperparâmetros das Árvores de Decisão juntamente com os parâmetros de 
BagginClassifier para controlar o agrupamento. 
RandomForests são mais otimizadas que utilizar BagginClassifier com 
DecisionTree. Em vez de procurar a melhor característica para dividir o nó 
ele procura a melhor característica em um conjunto aleatório de 
características. Ele troca um viés maior por uma variância menor. 
Boosting (originalmente chamado de hipótese de boosting) diz respeito 
a qualquer método 
ensemble que pode combinar diversos aprendizes fracos em um 
aprendiz forte. 
 
 
 
 
66 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
 
 
Na técnica boosting consiste em atribuir pesos nos exemplos, um exemplo 
dessa técnica é o AdaBoost. Na técnica de Random Forests é criado um 
ensemble com várias árvores de decisão, o índice gini irá prever qual a 
melhor árvore para compor o nó raiz. 
CONCEITOS DE 
OTIMIZAÇÃO DE 
HIPERPARÂMETROS 
Os parâmetros são os parâmetros 
que o algoritmo ajusta de acordo 
com o conjunto de dados 
fornecidos, enquanto que os 
hiperparâmetros são os parâmetros 
que o você define manualmente 
antes de iniciar o treinamento, se baseiam em propriedades como 
características dos dados e capacidade de aprendizado do algoritmo. É 
67 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
importante ajustar esses hiperparâmetros, esse processo se chama tunning 
de parâmetros. 
No scikit learn existe uma forma de encontrar os melhores hiperparâmetros 
para o modelo. Isso através de GridSearchCV, 
 
 
Ainda é possível que o espaço de pesquisa de hiperparâmetros seja muito 
grande, por isso pode-se usar RandomizedSearchCV, que testa um número 
de combinações aleatórias. 
 
 
 
 
 
 
 
 
 
 
68 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
 
 REDUÇÃO DE DIMENSIONALIDADE: 
ALGORITMOS 
Sempre que se aumenta o número de dimensões de um espaço, a distância 
qualquer entre dois pontos tende a ser maior, diante disso quando 
assumimos um conjunto de dados com mais dimensões os dados tendem a 
ficar mais esparsos, ou seja com muitas dimensões um modelo tende a ter 
overfitting, a solução para isso é aplicar a técnica de redução de 
dimensionalidade. Para fazer o ajuste de dimensionalidade se utiliza 2 
abordagens, a projeção e aprendizado de 
variedades(manifold). Na maioria dos 
problemas as instâncias de treinamento 
não estão distribuídas em todas as 
dimensões. Alguns recursos são constantes 
e outros são correlacionados. Com efeito, 
todas as instâncias estão próximas a um 
subespaço muito inferior(2D). O nome 
desse processo é projeção. 
69 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
Pode ocorrer que a projeção não seja muito 
adequada pra alguns casos, como é o caso do rolo 
suíço: 
Nesses casos precisa usar o Aprendizado Múltiplo, 
ou manifold learning, que se trata de desenrolar 
esse rolo, no mainifold desenrolado. 
 
Redução de dimensionalidade: 
PCA 
O PCA é o algoritmo de redução de dimensionalidade mais popular. Ele 
identifica o plano mais próximo dos dados e em seguida projeta os dados 
nele. No PCA é feito a escolha do hiperplano correto, de forma que ele 
tenha a maior variância 
No exemplo o primeiro 
hiperplano foi escolhido, 
pois a variância é maior 
nesse caso, outra forma de 
justificar essa escolha é que 
ele minimiza a distância 
quadrática média entre o 
conjunto de dados. 
No caso de 2 dimensões o 
algoritmo reduziu para uma dimensão, mas se tivesse três reduziria para 
duas assim por diante. Os eixos encontrados são chamados de eixo i-ésimo 
componente principal(PC) dos dados. 
O PCA assume que o 
conjunto de dados 
está centrado em 
torno da origem, o 
scikit learn cuida de 
centralizar esses 
dados. 
70 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
É possível passar para o PCA uma forma de 
preservar a variância dos dados, passando 
um valor float no lugar do número de 
componentes. 
 No geral a melhor forma de decidir o número 
de dimensões é usar uma função para plotar 
e encontrar o ponto de Elbow, nesse caso não 
perderia muito os dados, reduzindo o 
número de dimensões para algo em torno de 100. 
 
Principais algoritmos de redução de dimensionalidade: 
• Análise de componente principal (PCA) : Encontra a transformação 
linear que captura a maior parte da variação no conjunto de dados 
existente. 
• Aprendizagem múltipla: identifica uma transformação não linear que 
produz uma representação dimensional inferior dos dados. 
• Autoencoders: usa uma rede neural para compactar dados de forma não 
linear com perda mínima de informações 
 
 
 
 
 
 
 
 
 
 
 
 
71 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
 
 
 
 
 
APRENDIZADO NÃO-SUPERVISIONADO 
Em alguns problemas têm-se apenas dados de treinamento sem rótulos. 
Dessa forma os algoritmos de predição tentam descobrir grupos de 
exemplos semelhantes dentro dos dados (agrupamento), ou tentam 
determinar como os dados são distribuídos no espaço (estimativa de 
densidade). 
As tarefas do aprendizado supervisionado são mais difíceis que do 
aprendizado supervisionado e também é mais difícil testar os dados que 
foram previstos. Uma forma e deixar o especialista ver os resultados, outra 
é definir uma função objetivo no agrupamento(avaliação interna). 
O aprendizado não supervisionado é necessário quando é muito caro 
rotular os dados, por exemplo no reconhecimento da fala. Também pode 
haver o caso em que não conhecemos as classes em que os dados estão 
divididos. 
 
Quanto a classificação: 
• Aprendizado paramétrico Não supervisionado: Assume-se uma 
distribuição paramétrica dos dados. Os dados assume-se que vêm 
de uma distribuição de probabilidade baseada em um conjunto fixo 
de parâmetros. Envolve construção de modelos de Mistura 
Gaussianas e o algoritmo de Expectativa-maximização para prever a 
classe da amostra em questão. 
• Aprendizado não paramétrico não supervisionado: Nesse caso os 
dados são agrupados em clusters, onde cada cluster diz algo sobre 
categorias e classes dos dados. Método usado geralmente para 
dados pequenos. 
72 
Resumo teórico de MachineLearning para concursos 
Sergio Souza Novak 
Usos: Segmentação de clientes; Análise de dados(rodar algoritmo 
antes de analisar os dados, e analisar os clusters); redução de 
dimensionalidade; Detecção de anomalias; Mecanismos de busca 
(busca por imagem); Segmentação de imagens 
 
 
 
Alguns exemplos de tarefas de aprendizado não supervisionado são: 
• Clusterização: Agrupar dados em grupos chamados clusters, serve 
para segmentação de clientes, sistemas de recomendação, 
mecanismos de busca e até redução da dimensionalidade. 
• Detecção de anomalias: Trata do sistema aprender como são os 
dados certos e então buscar por anomalias, serve para detecção de 
defeitos em fábricas e analisar uma tendência nova em uma série 
temporal. 
• Estimativa de densidade: Encontrar a função de densidade de 
probabilidade do processo aleatório que gerou o conjunto de 
dados. Isso ajuda na visualização dos dados. 
 
No caso do clustering ocorre a agregação de dados conforme sua medida 
de proximidade, várias formulas de distância podem ser utilizadas, como a 
73 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
distância do cosseno , distância de Jaccard e a 
distância euclidiana. 
 
 
Agrupamento K means 
O algoritmo K means é um algoritmo não paramétrico de aprendizado não 
supervisionado do tipo clusterização. O k means é um tipo de agrupamento 
exclusivo isso significa que se um ponto pertencer a um cluster ele não vai 
pertencer a outro. Ele também é um algoritmo guloso. 
 
No algoritmo inicialmente 
1. ESCOLHA DOS K CENTROIDES: é escolhido k centroides, um para 
cada cluster. Esses centroides devem estar o mais longe possível 
um do outro. 
2. ASSOCIAR A CADA PONTO O CENTRÓIDE MAIS PRÓXIMO 
3. RECALCULAR OS K CENTROIDES. 
4. ENQUANDO OS CENTROIDE SE MOVIMENTAR REPETIR 1-3 
5. RETORNAR 
74 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
 
 
 
75 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
Exemplo de implementação em scikit learn: 
 
O algoritmo busca minimizar a distância entre o centroide e cada ponto, 
minimizando J, tal que .. 
Há alguns problemas relacionados a k means: 
1. Se o conjunto de pontos próximos ao centroide qualquer seja vazio 
esse centroide pode não ser atualizado. 
2. Não há uma maneira ótima para descrever o melhor k. 
Aumentar muito k pode levar a overfitting. No scikit learn a inicialização de 
centroides é inicialmente aleatória e o algoritmo é treinado por padrão dez 
vezes e então feito a classificação. Para selecionar o melhor modelo ele 
busca minimizar a inércia J. 
76 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
 
O kmeans não se comporta 
muito bem quando os 
clusters tem tamanhos 
variados (não esféricos), 
por exemplo nesses blobs 
elipsoidais: 
É fundamental escalonar as características de entrada antes de executar 
o K-Means, ou os clusters podem ser muito achatados e o K-Means terá 
um desempenho precário. O escalonamento das características não 
garante que todos os clusters sejam bonitos e esféricos, mas 
normalmente melhora as coisas. 
 
 
Agrupamento Hierárquico 
No agrupamento hierárquico ocorre a sobreposição de clusters: 
77 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
 
Inicialmente: 
1. Crie um cluster para cada item. 
2. Encontre o par de cluster mais próximo e mescle-o em um único 
cluster. 
3. Calcule a distância entre o novo cluster e repita o processo 2-3 até 
que se tenha um cluster único. 
Esse algoritmo usa o gráfico de representação chamado dendrograma, e 
seu hiperparâmetro principal é o número de clusters. 
 
Mistura de Gaussianas(GMM) 
 
 
 
 
 
 
 
 
 
78 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
O método estatístico de Mistura de Gaussianas resolve a tarefa de 
classificação em uma abordagem baseada em modelo, que consiste em 
determinar modelos para clusters e otimizar o ajuste entre os dados. 
Cada cluster é representado por uma distribuição paramétrica, como uma 
gaussiana. Todo o conjunto de dados é representado por uma mistura 
dessas distribuições. Esse modelo é sensível a outliers então é preciso 
limpar bem os dados antes de utilizar. 
Esse algoritmo também existe o centroide, que é a média de cada uma das 
distribuições, nesse método o agrupamento não é tão rígido quanto 
kmeans. 
Uma mistura gaussiana é uma função composta por várias Gaussianas 
cada uma identificada por k, onde k é o número de clusters do conjunto de 
dados. 
A cada uma dessas gaussianas existe uma probabilidade pi de forma 
que a soma de todas as probabilidades das distribuições é 1. 
79 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
O algoritmo utilizado para esse modelo estatístico é o Expectativa-
Maximização nele a função de verossimilhança é maximizada. 
 
 
 
 
 
 
80 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
Infelizmente, assim como o K-Means, o EM pode acabar 
convergindo para soluções ruins, logo, é necessário executá-lo 
diversas vezes, mantendo apenas a melhor solução. Por esse 
motivo, definimos n_init para 10. Tenha cuidado: por padrão, o 
n_ini é definido como 1. 
Ao lado uma função para conferir se o algoritmo convergiu ou não. 
 
É possível utilizar esse algoritmo para detectar anomalias, de forma que os 
dados com anomalia estão situados nas regiões de baixa densidade, por 
exemplo se considerarmos anomalias como sendo 4% de percentil: 
 
No momento de identificar o número de clusters você pode utilizar inércia, 
ou pode utilizar um modelo de informação Bayesiano. Existe uma classe no 
scikit learn que implementa esse modelo junto com mistura gaussiana 
BayesianGaussianMixture. 
 
 
 
 
 
81 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
Regras de associação 
As regras de associação são muito 
comuns na análise de cestas de compras. 
O objetivo das regras de associação é 
descobrir regras que ocorram com alta 
frequência em um banco de dados, por exemplo se leite e pão são 
frequentemente comprados juntos. Um algoritmo muito usado é o 
algoritmo Apriori, esse algoritmo busca por regras do tipo , 
onde A é chamado de antecedente e b consequente. 
Existem duas estatísticas que são usadas pelo algoritmo para avaliar uma 
relação de consequência: 
 
Na confiança é avaliado a 
probabilidade de consequentes 
já dado que o carrinho já possua 
antecedentes. O algoritmo 
Apriori têm um valor fixado, por 
exemplo 20% como sendo para 
considerar que o produto A está 
relacionado com B. 
 
No Suporte temos a métrica da probabilidade de 
A e B, ou também o número de A e B sobre o total 
de ocorrências. Essa medida diz respeito de quão 
frequente é um conjunto de itens em todas as 
transações 
 
 
 
 
 
82 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
 
Lift (quanto o usuário ter comprado A aumenta a probabilidade dele 
comprar B). 
O algoritmo a priori não usa a 
força bruta e sim constrói um 
grafo contendo todos os 
conjuntos candidatos, de forma 
que se um conjunto é frequente 
todos os subconjuntos também 
são, dessa forma o conjunto de 
itens não frequentes pode ser 
podado(principio apriori). 
Exemplo de saída do algoritmo: 
 
 
 
processo de extração dessas regras de um determinado conjunto de dados 
por regras de associação é chamado Mineração de Regras de 
associação(ARM), o algoritmo apriori não está implementado no scikitlearn 
 
83 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
 Suporte => Frequência; 
Confiança => Probabilidade/Certe 
 
 
84 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
 
REDES NEURAIS ARTIFICIAIS 
Nas redes neurais artificiais (RNA) são modelos baseados nas redes neurais 
biológicas. As aplicaçõesvariam, como sistemas de recomendação, 
classificação de imagens, reconhecimento de fala, etc... 
A biblioteca do Keras é responsável por lidar com a implementação. 
Deep Learning é uma classe de algoritmo de aprendizado de máquina que 
usa várias camadas de unidades computacionais onde cada camada 
aprende sua própria representação dos dados de entrada. 
O primeiro modelo de neurônio artificial criado foi O PERCEPTRON, que 
demonstrou como um sistema pode aprender o comportamento desejado 
isso deu origem a primeira onda das redes neurais. 
Porém o perceptron tem algumas limitações fundamentais, apesar dessas 
limitações poderem serem resolvidas com perceptron multicamadas, o 
algoritmo não se estendeu a essas redes. 
Depois veio a segunda onda com a criação do algoritmo de 
retropropagação para treinamento automático, superando as limitações do 
perceptron, depois houve o desenvolvimento da Lenet que é uma rede 
neural convolucional que é capaz de reconhecer códigos postais feitos a 
mão, que foi usada comercialmente em bancos nos EUA para ler cheques 
manuscritos. 
A terceira onda veio graças a disponibilidade massiva de recursos e 
capacidade de processamento gráfico (GPU) para computação de propósito 
geral, em 2012 com AlexNet uma Rede neural Convolucional que venceu 
desafios de visão computacional. 
 
 
 
 
85 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
 
 O PERCEPTRON 
 
 O perceptron também chamado de unidade lógica de limite (TLU) ou limite 
linear, é uma das arquiteturas mais simples de neurônio artificial. 
 
A TLU é um neurônio onde as entradas x1,x2,x3,...,xn são números e cada 
conexão de entrada está associado a um peso w1,w2,w3,..,wn. 
Então na TLU é feita a soma ponderada de: 
, de forma que esse valor será passado 
para uma função de ativação que vai dizer como o modelo vai se 
comportar, é mais comum utilizar a função Headviside ou função sinal: 
86 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
 
 
A saída e 
resumo de todo o processo pode ser visto como: 
 
87 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
Normalmente se fixa uma taxa de aprendizado e a cada vez que o algoritmo 
calcula uma saída e erra todos os pesos são recalculados: 
Acima foi descrito uma época, de forma que época é uma iteração que 
percorre todos as amostras (linhas da tabela). O algoritmo para assim que 
os pesos param de se alterar. O recalculo do peso i é feito através da 
fórmula: 
88 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
 
 
 
Dessa forma os pesos (inicialmente escolhidos aleatoriamente) são 
ajustados sempre que o algoritmo erra uma previsão. é uma constante 
e significa a taxa de aprendizado, no exemplo numérico foi usado 0,5. 
Pode-se utilizar um bias, que é um peso a mais 
no algoritmo de forma que dê mais um grau de 
liberdade para o modelo, isso faz com que o 
algoritmo tenha um desempenho melhor: 
 
 
 
 
Podemos definir então 
PERCEPTRON como sendo 
uma ÚNICA CAMADA de 
TLUs, e cada TLU está 
conectada a todas as 
entradas: 
Implementação de um Perceptron no Scikit learn: 
89 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
No Scikit Learn um perceptron 
equivale a um Gradiente 
Descendente Estocástico, a classe 
Perceptron da ScikitLearn é 
equivalente ao uso de um 
SGDClassifier com os seguintes 
hiperparâmetros: 
 
loss=”perceptron”, learning_rate =”constant”, eta0=1 (taxa de 
aprendizado) e penalty=None (sem regularização) 
Normalmente se prefere Regressão Logística a Perceptrons, pois eles não 
geram uma saída de probabilidade de classe. 
 
O perceptron não consegue resolver a tarefa de classificação quando os 
dados não são linearmente separáveis. Isso pode ser exemplificado na 
tabela XOR 
 
 
Para resolver problemas onde os dados não são linearmente separáveis é 
preciso usar perceptron multicamada(MLP): 
 
90 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
 
Tanto no perceptron quanto na MLP as arquiteturas são feedforward(FNN), 
ou seja, o sinal circula em apenas uma direção. O MLP é um exemplo de 
rede neural artificial. Quando uma Rede Neural Artificial tem muitas 
camadas é chamada de Rede Neural Profunda(DNN). 
Beeem depois uns 20 anos foi descoberto o algoritmo backpropagation 
que utiliza a técnica de gradiente descendente, em apenas duas passagens 
pela rede, uma para frente e outra para trás, o algoritmo de 
retropropagação é capaz de calcular o gradiente do erro da rede em relação 
a cada parâmetro do modelo. Ele pode descobrir como cada peso de 
conexão e cada termo de polarização devem ser ajustados para reduzir o 
erro. 
91 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
 fds 
 
 
 
 
 
 
92 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
Algoritmo Backpropagation 
A síntese desse algoritmo é o gradiente descendente que calcula 
automaticamente os gradientes, bastam duas passagens pela rede que o 
algoritmo consegue calcular o gradiente do erro com relação a cada 
parâmetro do modelo único, identificando cada peso e cada viés adequado 
para reduzir o erro. 
Se chama autodiff a diferenciação automática, que é o calculo automático 
dos gradientes. Existem várias técnicas de autodiff, e a técnica da 
retropropagação é a do autodiff de modo reverso. 
1. Inicializar pesos de forma aleatória. 
• Passo forward: 
1. Manipula um mini batch por 
vez, cada passagem é chamada 
de época. 
2. Cada mini batch é passado para 
a camada de entrada da rede 
para a primeira camada oculta. 
Fazendo as predições. 
 
• Cálculo de Erro da Rede: 
1. Faz o cálculo do erro da rede: 
Saída desejada – saída 
esperada 
 
 
 
 
 
 
 
 
 
93 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
• Calcula o quanto cada conexão de saída contribuiu para o erro faz 
isso utilizando a REGRA DA CADEIA. 
• Passo backward: 
1. Calcula, utilizando a regra da cadeia, cada contribuição 
de erro, conseguindo o gradiente de erro em todos os 
pesos de conexão. 
 
 
 
 
 
 
 
 
• Etapa do Gradiente descendente para ajustar os pesos de conexão 
da rede, utilizando gradientes de erro que acabou de calcular. 
 
 
Resumo do Algoritmo: 
 
1. Para cada instância de Treinamento calcular fazer uma predição e 
calcular o erro (forward). 
2. Passar pelas camadas no sentido inverso a fim de encontrar as 
contribuições de erro de cada conexão (backward). 
3. Ajustar os pesos para reduzir o erro (gradiente descendente). 
4. Repetir o processo até não atualizar os pesos. 
 
 
Nesse algoritmo não se pode utilizar a função de ativação degrau pois o 
gradiente descendente não pode se deslocar em uma superfície plana. 
Dessa forma adota-se comumente a função logística sigmoide. O algoritmo 
de retropropagação funciona bem com outras funções de ativação 
também: 
94 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
Funções de ativação 
Existe a Função Sigmoide ou logística descrita por: 
 
 
 
 
 
 
A função essencialmente tende a empurrar os valores de Y para os 
extremos 
 
 
Ela é muito utilizada quando precisamos classificar os valores para uma 
classe específica. Os problemas dessa função é quando os gradientes ficam 
muito pequenos, assim a rede não aprende. Outro problema é que seus 
valores variam apenas entre 0 e 1. Nem sempre desejamos que os valores 
enviados ao próximo neurônio sejam todos do mesmo sinal. Ela também 
não é simétrica em torno da origem. 
95 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
Existe ainda a função tangente hiperbólica (tanh). Essa função tem forma 
de S, porém seu valor de saída varia entre -1 e 1. Essa função pode acelerar 
a convergência pois seus valores tendem a centrar as saídas em 0 noinício 
do treinamento, isso ajuda a acelerar a convergência. 
 
 
 
 
A tangente hiperbólica é feita pelo escalonamento entre duas sigmóides 
 
 
96 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
Existe também a função ReLU, que é a mais amplamente utilizada para 
projetar redes neurais, isso porque a função ReLU não é linear, facilitando 
copiar os erros. A principal vantagem de ReLU é que ela não ativa todos os 
neurônios ao mesmo tempo. 
 
Como seu resultado é zero para valores negativos, ela tende a “apagar” 
alguns neurônios durante um passo forward, o que aumenta a velocidade 
do treinamento, mas por outro pode fazer com que esses neurônios 
“morram” e não aprendam nada se eles só receberem valores negativos. 
 
Quando utilizar cada função de ativação? 
Atualmente, dado o desempenho maior, a função ReLU é a mais utilizada. 
Mas se ela não for eficiente utilizar as outras funções. 
Para problemas de classificação binária pode-se utilizar tangente 
hiperbólica ou sigmóide. Para classificação não binária utilizar softmax, para 
problemas de regressão utilizar ativação linear. 
97 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
e 
MLPs para Regressão 
MLPs podem ser usadas para resolver problemas de regressão, de forma 
que se quiser prever um único valor deve usar um único neurônio de saída. 
98 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
Um exemplo de regressão univariada é prever a altura de uma pessoa dado 
o quanto ela dorme por dia (em média) e dado a idade da pessoa, nesse 
caso teríamos apenas um neurônio de saída. 
Um exemplo de regressão multivariada é prever as coordenadas de um 
ponto dados outros pontos. Na regressão os neurônios de saída não 
devem ter nenhuma função de ativação, eles devem ficar livres para 
produzir qualquer valor. Porém se você quiser que a saída sempre seja 
positiva utilizar a função ReLU na camada de saída. Porém pode-se utilizar 
a função de ativação softplus, que é uma variante de relu: 
 
 
 
 
 
 
 
 
A função de perda utilizada pode ser: 
Utilizar Erro médio quadrático (MSE) se não tiver outliers e Erro médio 
absoluto (MAE) se tiver outliers. 
99 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
Hiperparâmetros de uma MLP: 
Hiperparâmetro Valor Típico 
 
Neurônios de entrada 
 
Um neurônio por entrada 
 
 
 
Camadas ocultas 
 
 
Depende do problema, 
normalmente 1 a 5. 
 
 
Neurônios por camada oculta 
 
 
Depende, mas normalmente 10 a 
100 
 
 
Neurônios de Saída 
 
 
1 por dimensão de previsão 
 
 
Ativação Oculta 
 
 
ReLU ou SELU 
 
Ativação de Saída 
 
 
 
Nenhum ou ReLU/softplus(se 
saídas positivas) ou logística/tanh 
(se saídas limitadas). 
 
 
Função de Perda 
 
 
MSE ou MAE/Huber (Se valores 
discrepantes). 
 
 
 
 
 
 
100 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
 
 MLPs para Classificação 
As MLP também podem ser usadas para classificação, no caso da 
classificação binária sempre têm como ativação a função sigmoide ou 
logística. No caso de uma classificação binária comum a rede vai ter apenas 
um neurônio de saída, de forma que esse neurônio vai dar uma 
probabilidade de ter aquele rótulo. Na classificação binária multi rótulo têm 
se um neurônio de saída para cada rótulo, também com a função sigmoide. 
A soma das probabilidades não vai ser 1 nesse caso. 
No caso da classificação multiclasse terá um neurônio de saída para cada 
classe, e na camada de saída terá a função softmax. A função softmax vai 
garantir que a soma das probabilidades das classes seja um, pois nesse caso 
as classes são exclusivas. 
101 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
 
Para todas essas 
tarefas de 
classificação utilizar a 
função de perda 
logarítma, chamada 
de ENTROPIA 
CRUZADA. 
Hiperparâmetros para 
tarefa de classificação 
utilizando MLP: 
 
Hiperparâmetro 
 
 
Classificação 
Binária 
 
Classificação 
binária 
multirótulo 
 
 
Classificação 
multiclasse 
 
 
Camadas de 
entrada e 
ocultas 
 
 
Mesmo que 
regressão 
 
Mesmo que 
regressão 
 
Mesmo que 
regressão 
 
Neurônios de 
saída 
 
 
1 
 
1 por rótulo 
 
1 por classe 
 
 
Ativação da 
camada de saída 
 
 
 
Logística 
 
 
 
Logística 
 
 
Softmax 
 
 
102 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
 
Método do gradiente 
O método do gradiente é um método numérico de otimização que encontra 
um mínimo local de uma função. 
 
TensorFlow 
103 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
Biblioteca para inteligência de máquina, ele suporta arquiteturas de redes 
neurais e suporta opção GPU/CPU. O TensorFlow funciona com todas as 
linguagens populares como Python, C++, JAVA,R e Go. 
Nesse sentido ele tem o Keras que é uma api de alto nível que interage com 
o TensorFlow. 
O TensorFlow permite que o usuário crie grafos de fluxo de dados, eles 
descrevem como os dados se movem, ou uma série de nódulos de 
processamento. Cada nó do grafo é uma operação matemática e cada 
aresta é um array de dados multidimensional. 
No TensorFlow os binários (bibliotecas) são compilados em C++, para 
prover otimização de performance. O Python apenas direciona o tráfego 
entre as partes. 
As aplicações do TensorFlow podem ser executadas em muitos ambientes, 
como máquina local, cluster da nuvem, em celulares ios e android, ou 
processamento em CPU e GPU. 
Cada nó do grafo no TensorFlow é uma computação, essas computações 
fluem de nó para nó produzindo resultados e transformando os dados. As 
computações são chamadas de operators e as arestas que ligam um 
operator a outro são chamadas de Tensor, sendo um array 
multidimensional contendo os dados. 
104 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
 
O que o TensorFlow oferece para o 
desenvolvedor e a abstração. O modo 
eager execution permite depurar 
cada tensor de uma forma 
transparente. O TensorFlow board 
permite inspecionar e analisar a 
forma com que os grafos são 
executados em um painel web 
iterativo. 
 
 
Keras e Pytorch 
O Keras é uma api para composição de blocos para criar e treinar modelos 
de aprendizagem profunda. Ele pode ser integrado com TensorFlow, 
Microsoft CNTK, Amazon MxNet e Theano. Depois do TensorFlow o Keras 
foi adotado como api padrão de alto nível. 
105 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
 
O Pytorch é uma biblioteca usado para aplicativos como processamento de 
linguagem natural, foi inicialmente desenvolvido pelo Facebook. 
 
 
 
 
 
 
 
106 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
 REDES NEURAIS CONVOLUCIONAIS. 
 
São muito utilizadas na percepção 
visual e processamento de 
linguagem natural. O bloco mais 
importante é a camada 
convolucional, os neurônios na 
primeira camada não estão 
conectados a cada pixel, e sim nos 
seus pixels em seus campos 
receptivos. 
A característica mais importante 
das redes convolucionais é a invariância de translação. Se um objeto for 
transladado a rede ainda será capaz de reconhece-lo. Isso é obtido fazendo 
o compartilhamento de peso entre os neurônios e também tornando-os 
escassamente conectados. 
 
 
Os neurônios são agrupados em canais, de forma que todos os neurônios 
de um mesmo canal tem o mesmo peso. Os neurônios de um mesmo canal 
são cópias idênticas uns dos outros mas recebem entradas diferentes. 
107 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
A região de pixel que um neurônio recebe é chamado de campo receptivo, 
para uma imagem colorida o valor de pixel consiste nos valores de canais 
de cores. 
 
A rede aprenderá quais recursos procurar durante o processo de 
treinamento, não precisamos definir as linhashorizontais verticais e 
diagonais. 
 
REDES NEURAIS RECORRENTES 
Elas são muito utilizadas para séries temporais, são parecidas com redes 
MLP normais, mas tem também pesos nas voltas. As Redes neurais 
recorrentes são um tipo de rede neural projetada para reconhecer padrões 
em sequências de dados, como textos, genomas e caligrafia. 
Essas redes consideram tempo e sequência, elas têm uma dimensão 
temporal. 
 
 
 
 
 
 
 
 
108 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
 
Vanishing and Exploding 
Gradients 
 
Em redes neurais artificiais com 
backpropagation a atualização dos pesos 
é feita com base na derivada parcial 
referente a contribuição que aquele peso 
fez a função final de custo. Pode 
acontecer dessa derivada parcial ser 
muito pequena no vetor de contribuições 
(gradiente) isso causa o problema dos 
Vanishing Gradients, ou gradientes sumindo/dissipação de gradiente em 
português. 
No gráfico ao lado temos três camadas, a camada 3 está demorando muito 
para aprender, pode ter acontecido o problema da dissipação de gradiente. 
Nesse caso o gradiente pode estar muito pequeno, o que faz com que o 
modelo demore a aprender ou não calcule corretamente os pesos, fazendo 
com que o modelo fique ruim. Esse problema é muito frequente em Redes 
Neurais Recorrentes. 
Uma forma de resolver o problema do gradiente é substituir a função de 
ativação, trocando por exemplo, a função de tanh que tem como resultado 
um número entre [0,1) por outra função, como ReLU, que sofre menos com 
o problema de vanishing gradientes, outra forma é fazendo outro tipo de 
inicialização de pesos(pesos muito pequenos podem fazer com que o 
gradiente não consiga calcular, pesos muito grandes estouram o gradiente). 
Outra solução é usar outra arquitetura como ResNet. 
Considerações gerais 
o otimizador Adam para ser responsável pela atualização dos pesos. Este 
algoritmo é exemplo de um método de gradiente descendente estocástico 
desenvolvido para ser computacionalmente eficiente. 
 
109 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
 
 
 
PROCESSAMENTO NATURAL DE LINGUAGEM 
(PLN) 
 
A diferença entre análise de textos e processamento de linguagem natural 
é que: 
Análise de texto analisa apenas o texto, contendo informações vindos da 
fala humana, ou informações como xmls. O processamento de linguagem 
natural envolve reconhecimento de texto e voz. 
O Processamento de Linguagem Natural pode ser dividido em: 
• Natural Language Understanding (NLU): refere-se a um processo 
no qual um objeto inanimado, com poder de computação, é capaz 
de compreender a linguagem falada. 
• Natural Language Generation (NLG): processo de um objeto 
inanimado capaz de manifestar seus pensamentos, em linguagem 
que os humanos são capazes de entender. 
110 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
No processamento de linguagem natural podemos citar um exemplo, como 
quando se envia para a loja Magalu uma mensagem de áudio. O sistema irá 
reconhecer o que foi dito e traduzir para uma linguagem formal, em seguida 
vai compreender o que foi dito (PLU). Depois disso o sistema irá devolver a 
resposta correta para o usuário, essa resposta precisa ser convertida para a 
linguagem natural ( através do NLG). 
Tudo isso trata-se de processar, compreender e gerar uma resposta para a 
linguagem humana. Uma das aplicações da PLN é a detecção de fala, 
programas de fala para texto (speed to text), tradução automática de texto, 
análise de sentimento, detecção de palavras-chave, extração e sumarização 
de texto. 
Chama-se sumarização o ato de resumir o assunto fonte, de forma que o 
autor dispense o texto existente. A utilização dos sumários é vasta, como 
servindo por indexadores do texto original. Nesse caso os sumários são lidos 
para saber qual o assunto do texto. 
A sumarização é dividida entre extrativa(seleciona-se elementos inteiros) 
e abstrativa (execução de operações de reescrita). A abstrativa é mais 
difícil. 
Na sumarização extrativa é gerado um sumário com os elementos mais 
representativos, abordando as sentenças com mais novidades, ocorre o 
ranqueamento para obter sentenças com maior pontuação. 
A sumarização abstrativa seleciona sentenças mais importantes e também 
analisa os documentos, gerando novas sentenças. Essa sumarização pode 
solucionar o problema da falta de coesão da sumarização extrativa. 
Ferramentas para sumarização: 
Sumarização Extrativa Sumarização Abstrativa 
 
Grafos, Aprendizado de Máquina 
Supervisionado, Métodos 
Estatísticos. 
 
 
Modelos LSTM, BERT e Google T5 
transformer. 
 
Um problema da PLN é a ambiguidade sintática, de forma que uma frase 
pode ser interpretada de várias formas. 
111 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
 
Processo de PLN 
Inicialmente os dados são coletados, depois são limpos, e então convertidos 
em um formato canônico (pré-processamento). Depois é executado um 
algoritmo de modelagem, de forma que a máquina compreenda. Em 
seguida vem a fase de avaliação do modelo e depois é feito o 
monitoramento dele. 
Etapa de Pré-processamento 
As etapas a seguir nem sempre estão em todos os pipelines, porém as duas 
primeiras são as mais vistas. 
1. Preliminares 
Inicialmente no pré-processamento ocorre a divisão do texto em 
palavras, chamadas de tokens e sentenças. Primeiro ao texto é 
dividido em sentenças (segmentação de sentenças), depois dividido 
em palavras (tokenização de palavras). 
 
Na etapa de segmentação de sentenças, as frases são divididas em 
sentenças a partir da pontuação (ponto final), contudo deve-se fazer 
o tratamento de siglas, endereços e reticências, que podem gerar 
112 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
problemas. Contudo, já tem muitas bibliotecas que tratam disso, 
como o Natural Language Tool Kit (NLTK). 
 
2. Remoção de stopwords e case folding 
Palavras como on, it, was na língua inglesa não carregam consigo 
muito significado, por isso são chamadas de stopwords, pois 
raramente contribuem para o significado da sentença. Elas podem ou 
não serem removidas. 
A remoção de stopwords deve ser realizada antes da indexação. 
São removidos artigos, preposições, conjunções e alguns pronomes. 
A remoção de stopwords diminui o tamanho de uma estrutura de 
índice, em até 40%, e também evita índices falsos. A transformação 
de todas as palavras para maiúscula ou minúscula consiste no case 
folding 
 
 
3. Stemming e lemmatization 
 
O processo de stemming reduz a 
palavra a seu radical, isso elimina 
tempos verbais, sulfixos e plurais. 
Algoritmos de stemming dependem 
do idioma, casos em que analisar o 
contexto melhora o processo não 
são muito frequentes. 
Ocorre o overstemming quando é removido uma parte da palavra 
erroneamente, pois era parte do steam, isso resulta na conflação de 
termos não relacionados. Ocorre 
understemming quando o sufixo não é 
removido, isso causa falha na conflação de 
palavras relacionadas. 
 
O processo de lematização (lemmatization) é 
mapear as diferentes formas de uma palavra 
para sua base ou lema. Construir bons 
lematizadores é um problema ainda não 
resolvido. 
 
113 
Resumo teórico de Machine Learning para concursos 
Sergio Souza Novak 
4. Marcação PoS (part of speech) 
 
Nessa etapa é feita a marcação e rotulação das classes gramaticais 
das palavras. Por exemplo: [('O', 'DT'), ('céu', 'NN'), ('é', 'VBZ'), ('azul', 'JJ')] 
 
Todas essas etapas geram uma redução dimensional. 
 
Uso do dicionário Thesaurus (pré-
processamento) 
Pode ser utilizado um dicionário para representar sinônimos, hierarquias e 
relacionamentos entre os termos. Dicionários são muito utilizados então na 
indexação das palavras. 
A revocação é o número de documentos recuperados pelo número de 
documentos relevantes.

Continue navegando