Buscar

MLDL-Apostila

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 54 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 54 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 54 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

MACHINE LEARNING E DEEP LEARNING 
 
 
 
 
Todos os direitos são reservados ao Grupo Prominas, de acordo com a convenção internacional de direitos autorais. Nenhuma 
parte deste material pode ser reproduzida ou utilizada, seja por meios eletrônicos ou mecânicos, inclusive fotocópias ou 
gravações, ou, por sistemas de armazenagem e recuperação de dados – sem o consentimento por escrito do Grupo Prominas. 
RESUMO DA UNIDADE 
 
Esta unidade analisará os princípios do Aprendizado de Máquina e do Aprendizado 
Profundo, inicialmente, analisando o importante histórico da Inteligência Artificial, 
bem como os principais algoritmos na ocasião, sendo trazida ao aluno a visão geral 
do que é, na prática, o Aprendizado de Máquina. No decorrer do curso também 
serão vistos, então, mais detalhes sobre alguns dos algoritmos clássicos, 
observações importantes acerca de características e parâmetros fundamentais para 
o correto desenvolvimento destes algoritmos, como a análise da capacidade e as 
relações de overfitting e underfitting, além de especificações acerca do uso de 
hiperparâmetros e dos possíveis processos de validação. Em seguida serão vistos 
os principais processos praticados para análise estatística no contexto, bem como 
para a realização de estimativas até que, por último, apresentam-se exemplos 
comuns de modelos com e sem supervisão, incluindo o método do gradiente 
descendente no contexto, com as principais premissas por trás do desenvolvimento 
de algoritmos dentro do Aprendizado de Máquina e os principais motivacionais 
destas estratégias. 
 
Palavras-chave: Machine Learning; Aprendizado de Máquina; Deep Learning; 
Aprendizado Profundo; Algoritmos Supervisionados; Inteligência Artificial. 
 
 
 
 
 
 
 
Todos os direitos são reservados ao Grupo Prominas, de acordo com a convenção internacional de direitos autorais. Nenhuma 
parte deste material pode ser reproduzida ou utilizada, seja por meios eletrônicos ou mecânicos, inclusive fotocópias ou 
gravações, ou, por sistemas de armazenagem e recuperação de dados – sem o consentimento por escrito do Grupo Prominas. 
SUMÁRIO 
RESUMO DA UNIDADE ............................................................................................. 2 
APRESENTAÇÃO DO MÓDULO ............................................................................... 4 
CAPÍTULO 1 - INTRODUÇÃO E VISÃO GERAL DO PROCESSO DE 
MACHINE LEARNING ................................................................................................ 5 
1.1 INTRODUÇÃO E HISTÓRICO ....................................................................... 5 
1.2 VISÃO GERAL DO PROCESSO DE MACHINE LEARNING ....................... 12 
1.3 PRINCIPAIS APLICAÇÕES ......................................................................... 18 
CAPÍTULO 2 - ALGORITMOS DE APRENDIZADO, CAPACIDADE, OVER E 
UNDERFITTING, HIPERPARÂMETROS E VALIDAÇÃO ........................................ 20 
2.1 ALGORITMOS DE APRENDIZADO............................................................. 20 
2.2 CAPACIDADE, OVERFITTING E UNDERFITTING ..................................... 26 
2.3 HIPERPARÂMETROS E VALIDAÇÃO ........................................................ 29 
CAPÍTULO 3 - ESTATÍSTICA E ESTIMATIVAS, MODELOS COM E SEM 
SUPERVISÃO, VISÕES PRÁTICAS E MOTIVACIONAIS ....................................... 36 
3.1 VISÃO GERAL DE ESTATÍSTICA E ESTIMATIVAS ................................... 36 
3.2 MODELOS SUPERVISIONADOS E NÃO SUPERVISIONADOS E MÉTODO 
DO GRADIENTE DESCENDENTE ........................................................................... 44 
3.3 CONSTRUINDO O ALGORITMO E MOTIVACIONAIS ................................ 50 
REFERÊNCIAS ......................................................................................................... 52 
 
 
 
 
 
 
 
Todos os direitos são reservados ao Grupo Prominas, de acordo com a convenção internacional de direitos autorais. Nenhuma 
parte deste material pode ser reproduzida ou utilizada, seja por meios eletrônicos ou mecânicos, inclusive fotocópias ou 
gravações, ou, por sistemas de armazenagem e recuperação de dados – sem o consentimento por escrito do Grupo Prominas. 
APRESENTAÇÃO DO MÓDULO 
 
O Aprendizado de Máquina, assim como o Aprendizado Profundo, vem da 
Inteligência Artificial e dadas as relevâncias das temáticas foram tomados como 
áreas distintas dentro da IA, com diversos tipos de avanços especialmente nos 
últimos anos. 
Assim, a este ponto o(a) estudante irá entender inicialmente uma visão geral do 
que é o Aprendizado de Máquina e, com isto, verá primeiro um histórico da área e 
também fatos históricos importantes da Inteligência Artificial como um todo, para 
que, em seguida, possa ver de forma geral o funcionamento dos algoritmos e as 
principais aplicações, denotando o quão interdisciplinar pode ser esta área. Em 
seguida são apresentados os principais algoritmos de aprendizado utilizados na 
prática, que podem ser classificados basicamente a partir do tipo do cenário no qual 
o aprendizado para o computador é desenvolvido. Tem-se então os algoritmos 
supervisionados, nos quais o processo ocorre considerando possíveis 
“direcionamentos”, a partir de informações classificatórias importantes dos dados; os 
algoritmos de aprendizado não supervisionados, onde torna-se também possível 
englobar outros tipos de estratégias e conjuntos de dados de diferentes 
características, ou nos quais não está disponível a informação correspondente à 
saída e, por último, tem-se os algoritmos de aprendizado semissupervisionados, nos 
quais este ocorre de forma combinada a partir das estratégias traçadas, para bancos 
de dados mistos. 
Outros pontos importantes que serão abordados são as capacidades acerca da 
ocorrência de overfitting e underfitting, de possíveis ajustes intrínsecos aos 
processos e indesejados e como lidar nestes casos. Além disso, serão tratados os 
principais mecanismos de validação, para a realização de estimativas e, por fim, 
abordar-se como pode ser construído o algoritmo e as principais etapas em geral, 
comuns à grande parte de algoritmos de aprendizado. 
 
 
 
 
5 
 
 
 
Todos os direitos são reservados ao Grupo Prominas, de acordo com a convenção internacional de direitos autorais. Nenhuma 
parte deste material pode ser reproduzida ou utilizada, seja por meios eletrônicos ou mecânicos, inclusive fotocópias ou 
gravações, ou, por sistemas de armazenagem e recuperação de dados – sem o consentimento por escrito do Grupo Prominas. 
CAPÍTULO 1 - INTRODUÇÃO E VISÃO GERAL DO PROCESSO DE MACHINE 
LEARNING 
 
1.1 INTRODUÇÃO E HISTÓRICO 
 
O Aprendizado de Máquina ou Aprendizado Automático, embora por vezes 
também seja referido pelo seu termo inglês, como Machine Learning, é um 
subcampo de grandes áreas como a Engenharia e a Ciência da Computação, sendo 
resultado da evolução de estudos de reconhecimento de padrões, a partir de 
análises e técnicas acerca do aprendizado computacional, dentro da grande e 
interdisciplinar área de Inteligência Artificial. O termo Aprendizado de Máquina, por 
si só, foi definido no final da década de 50, mais precisamente em 1959, pelo 
cientista da computação Arthur Samuel, como um campo de estudo para estipular-
se aos computadores a habilidade de aprendizado sem a necessidade de 
programação explícita. 
Antes então de introduzirmos o tema, vamos compreender o histórico por trás 
da Inteligência Artificial (IA), que possui ligação direta com os primórdios do 
Aprendizado de Máquina. Assim, é importante salientar que esta grande área 
interdisciplinar teve e continua sendo atribuída a vários falsos começos, bem como 
ações de interrupções e um dos principais possíveis motivos é que boa parte das 
pessoas não compreendem, de fato, o que é a IA e qual o seu papel interdisciplinar. 
Ora representada pela cultura em filmes, programas de TV ou até mesmo na 
literatura, a IA ganhou certas tendênciasde antropomorfização que contribuíram 
para tal histórico apresentado (MUELLER & MASSARON, 2018). 
 
IMPORTANTE! 
Áreas de estudo e análise importantes se beneficiam das técnicas de IA, como a 
detecção de fraudes, o agendamento de recursos, análises complexas como a 
realização de diagnósticos médicos, aplicações de automação em geral, serviços de 
atendimento ao cliente, sistemas de segurança e a melhoria na eficiência de 
equipamentos e máquinas. 
 
6 
 
 
 
Todos os direitos são reservados ao Grupo Prominas, de acordo com a convenção internacional de direitos autorais. Nenhuma 
parte deste material pode ser reproduzida ou utilizada, seja por meios eletrônicos ou mecânicos, inclusive fotocópias ou 
gravações, ou, por sistemas de armazenagem e recuperação de dados – sem o consentimento por escrito do Grupo Prominas. 
Adicionalmente, a relação de antropomorfização também pode ser explicada 
por outros dados importantes do contexto histórico da IA, como o fato de que desde 
a Grécia Antiga se discute a possibilidade de colocar um cérebro dentro de um corpo 
mecânico, o que derivou em mitos como o homem mecânico Talos, por exemplo. 
Além disso, somam-se a isso dispositivos gregos antigos ainda existentes como o 
Antikythera, acerca da construção de sonhos e foi então que durante o primeiro 
milênio todo, praticamente, povos gregos, indianos e chineses representados pela 
grande área da Filosofia, trabalharam em busca de tornar possível o pensamento 
mecanizado. Mais adiante, no século XVII Leibniz, Hobbes e Descartes discutiram a 
possibilidade da interpretação de todo tipo de pensamento através da simbologia 
matemática, algo ainda sonhado até os dias de hoje para uma série de aplicações 
práticas (MUELER & MASSARON, 2016). 
Por fim, ressalta-se que um dos grandes marcos do nascimento da IA, 
sobretudo, do ponto de vista do que hoje esta grande área representa, é a 
publicação de Alan Turing em 1950, nomeada como “Computing Machinery and 
Intelligence”, na qual explorou-se a ideia de determinar que as máquinas podem 
pensar chegando, posteriormente, à clássica teoria do “Jogo da Imitação”. 
 
SAIBA MAIS: 
Filme sobre o assunto: O Jogo da Imitação (The Weistein Company, 2014) 
Observação: Sobre a temática, é retratada a história de Alan Turing, considerado 
como o pai da Inteligência Artificial, responsável por diversos trabalhos de enorme 
relevância mundial, entre eles o artigo que levou ao Jogo da Imitação. 
 
Além disso, um dos possíveis pontos de partida do contexto histórico da IA se 
dá a partir da Lógica Simbólica em Dartmouth, no qual considerou-se que os 
primeiros computadores eram de fato dispositivos apenas para computar. Este fato 
histórico decorre de um período entre as décadas de 50 e 60, para que assim 
cheguemos ao ponto onde as máquinas conseguem realizar os raciocínios lógico e 
matemático, de forma tão eficaz quanto os humanos, incluindo fatores importantes 
como a evolução suficiente do ponto de vista de hardware das máquinas. Esta 
última ressalta a recente potência suficiente atingida para que a máquina suporte o 
7 
 
 
 
Todos os direitos são reservados ao Grupo Prominas, de acordo com a convenção internacional de direitos autorais. Nenhuma 
parte deste material pode ser reproduzida ou utilizada, seja por meios eletrônicos ou mecânicos, inclusive fotocópias ou 
gravações, ou, por sistemas de armazenagem e recuperação de dados – sem o consentimento por escrito do Grupo Prominas. 
número exigido de cálculos nos processos desejados (MUELER & MASSARON, 
2018). 
Mais adiante na linha cronológica, na década 70 e do ponto de vista geral da 
IA, é importante ressaltar o surgimento dos sistemas especialistas, que também 
ressurgiram nos anos 80 como forma de redução de requisitos computacionais, 
impostos pela IA (MUELER & MASSARON, 2018). Assim, surgem na ocasião 
diversos tipos de sistemas especialistas, geralmente baseados em regras na lógica 
“se... então” para a tomada de decisão, baseados em enquadramentos dos dados, 
de forma que estes estariam no contexto organizados em estruturas hierárquicas e, 
por último, sistemas baseados em lógica, onde as relações e a tomada de decisão 
se baseiam no estabelecimento de relações a partir da teoria de conjuntos. Por fim, 
com relação ainda a esta época, ressalta-se que foi nesta ocasião que foram obtidas 
as primeiras implementações de sucesso e úteis dentro da IA. 
 
IMPORTANTE! 
Embora não se fale atualmente em sistemas especialistas, de fato, estes sistemas 
ainda estão presentes na forma de ferramentas como o corretor gramatical do seu 
editor de texto. 
 
Ademais, atualmente a IA está em uma nova fase de evolução tecnológica, 
mas também em uma nova fase de “evolução sensacionalista”, por conta da 
evidência do Aprendizado de Máquina, área esta que envolve o aprendizado do 
computador por parte dos dados. Assim, após compreender o papel do contexto 
histórico na área de IA no contexto do Aprendizado de Máquina, serão vistos os 
principais fatos históricos relacionados a este tipo de aprendizado. 
Desta forma, entende-se que de fato o Aprendizado de Máquina evoluiu a partir 
da própria busca pela Inteligência Artificial, do ímpeto de pesquisadores em fazer 
com que as máquinas aprendessem a partir dos dados que manipulavam em seus 
processos. Entre tais formas de se fazer isto na prática, é possível citar métodos 
simbólicos como as redes neurais artificiais, além do uso de áreas como a Lógica 
Probabilística, embora tenham sido vistos problemas acerca da aquisição e 
representação dos dados dentro de sistemas probabilísticos, e é a este ponto da 
8 
 
 
 
Todos os direitos são reservados ao Grupo Prominas, de acordo com a convenção internacional de direitos autorais. Nenhuma 
parte deste material pode ser reproduzida ou utilizada, seja por meios eletrônicos ou mecânicos, inclusive fotocópias ou 
gravações, ou, por sistemas de armazenagem e recuperação de dados – sem o consentimento por escrito do Grupo Prominas. 
linha cronológica também que os sistemas especialistas surgem e ganham força, já 
mencionados no histórico da grande área de IA (LANGLEY, 1996; 2011). Um 
exemplo importante, também dentro do desenvolvimento da área de Aprendizado de 
Máquina, é o livro Learning Machines dos anos 60, de Nilsson, no qual relata-se 
experiências iniciais de classificação de padrões. Já na década de 70, o 
reconhecimento e a classificação de padrões continuam em evolução, como pode 
ser visto em trabalhos como o que fora proposto por Duda e Hart em 1973, e nos 
anos 80 é possível citar relatos da bibliografia, como o caso em que as estratégias 
de ensino foram utilizadas no contexto do aprendizado, por parte de uma rede 
neural, no reconhecimento de 40 caracteres em um computador terminal 
(BOZINOVSKI, 1981). 
Além disso, em contrapartida e continuando avançando na linha cronológica da 
IA, mas com foco no Aprendizado de Máquina, é possível perceber que foi nos anos 
90 que, de fato, o Aprendizado de Máquina consolidou-se e reafirmou-se como uma 
área separada dentro da IA, através de ocorrências como a mudança para a 
abordagem de problemas solucionáveis na prática, por exemplo, por meio de 
métodos estatísticos e derivados de teorias da probabilidade (LANGLEY, 2011). 
Observa-se que efeitos positivos ainda neste período foram vistos, por conta de 
avanços na digitalização das informações, além do próprio uso da internet e sua 
influência no compartilhamento não só de dados, mas também de estratégias. 
Assim, antes de analisarmos agora mais especificamente aspectos do 
Aprendizado de Máquina, torna-se necessário definir de forma conceitual e prática a 
IA, para que a área como um todo torne-se significativa e útil, como algo palpável. 
Uma destas possibilidades é formular que a inteligência está, de fato, relacionada a 
atividades como o aprendizado, raciocínio, compreensão, apreensão de verdades, 
visualização de relações, consideraçõesacerca de significados e separação entre 
fatos e crenças. Logo, é possível definir alguns passos gerais que são seguidos pela 
inteligência e que poderão ser imitados pelo computador, em um processo na 
simulação, por exemplo (Mueller & Massaron, 2018): 
Estabelecimento de objetivos com base nas necessidades e/ou desejos 
atribuídos; 
9 
 
 
 
Todos os direitos são reservados ao Grupo Prominas, de acordo com a convenção internacional de direitos autorais. Nenhuma 
parte deste material pode ser reproduzida ou utilizada, seja por meios eletrônicos ou mecânicos, inclusive fotocópias ou 
gravações, ou, por sistemas de armazenagem e recuperação de dados – sem o consentimento por escrito do Grupo Prominas. 
Avaliação do valor de qualquer informação conhecida no momento, de forma a 
suportar o(s) objetivo(s); 
Coleta de informações adicionais que também poderão apoiar o(s) objetivo(s); 
Manipulação dos dados, para que estes adquiram um formato consistente, 
considerando as informações já existentes; 
Definição de relações e valores verdade, entre informações já existentes e 
novas que possam surgir; 
Determinação se o objetivo foi alcançado; 
Modificação do objetivo a partir de informações trazidas por novos dados, 
considerando o efeito na probabilidade de sucesso do processo como um todo; 
Possível repetição dos passos de 2 a 7, mediante necessidade ao longo do 
processo, até que o objetivo seja alcançado ou até que as possibilidades existentes 
para alcançá-lo tenham sido esgotadas 
Além disso, um ponto importante a se ressaltar com relação aos passos gerais 
da inteligência é que, considera-se pela lógica booleana como verdadeiro o alcance 
do objetivo e como falso o esgotamento de possibilidades. Agora, após compreender 
as regras gerais da inteligência, meios possíveis de implementação prática, vamos 
entender o papel do Aprendizado de Máquina, propriamente dito, na Inteligência 
Artificial. Assim, de antemão é importante salientar que há, de fato, uma enorme 
quantidade de algoritmos para analisar os mais diversos tipos de conjuntos de 
dados, independente da dimensão destes conjuntos, sendo esta última característica 
conseguida especialmente nos últimos anos. Por outro lado, é importante também 
ressaltar que mesmo os melhores e mais desenvolvidos algoritmos não são capazes 
de expressar sentimentos e ações típicas do ser humano, tornando não executáveis 
na prática ações como pensar, sentir, apresentar autoconhecimento e também o 
exercício do livre-arbítrio. Desta forma, nota-se a tendência mais recente de se 
realizar análises, embora o ser humano ainda seja convocado à tomada de decisões 
éticas e morais, consolidando que, de fato, o aprendizado proporcionado não está 
nem perto ainda do que é relatado na antropomorfização (MUELLER & 
MASSARON, 2016). 
É necessário ressaltar ainda que, uma das principais confusões relacionadas 
ao aprendizado e à inteligência é que, por diversas vezes, as pessoas supõem que o 
10 
 
 
 
Todos os direitos são reservados ao Grupo Prominas, de acordo com a convenção internacional de direitos autorais. Nenhuma 
parte deste material pode ser reproduzida ou utilizada, seja por meios eletrônicos ou mecânicos, inclusive fotocópias ou 
gravações, ou, por sistemas de armazenagem e recuperação de dados – sem o consentimento por escrito do Grupo Prominas. 
fato de uma máquina ser melhor em seu trabalho também está ligado à melhor 
inteligência (consciência), algo errôneo, visto que não há nada suficientemente 
conclusivo que apoie tal visão do aprendizado de máquina (MUELER & 
MASSARON, 2016). Desta forma, é possível dizer que a verdadeira inteligência 
artificial estará executável na prática ao passo que áreas como a genética, o ensino 
e a exploração (no sentido do aprendizado espontâneo) sejam alcançados. Então, 
traça-se que atualmente a IA está, de fato, baseada no Aprendizado de Máquina e 
embora o aprendizado tenha base estatística é importante relacionar corretamente 
os diferentes objetivos, como mostra o quadro adiante, com alguns exemplos 
comuns: 
 
Quadro 1 - Comparações entre técnica, ações do aprendizado de máquina e ações da 
estatística 
Técnica Aprendizado de Máquina Estatística 
Entrada de 
dados 
Amostragem, randomização e 
transformação destes para aumentar a 
precisão (especialmente em casos novos 
ou fora da amostra). 
São parâmetros que 
interpretam fenômenos do 
mundo real e fornecem uma 
ênfase, com relação à 
magnitude por exemplo. 
Manipulação 
de dados 
Exemplos: big data, dados de rede, 
gráficos, dados brutos de sensores, textos 
da web. 
Divisão mais comum: dados de 
treinamento e dados de teste. 
Certos modelos serão 
utilizados para criar certo 
poder preditivo, mesmo em 
pequenas amostras. 
Resultado 
Leva-se em conta aspectos como a 
probabilidade, para que assim seja 
possível comparar qual a melhor 
conjectura e/ou decisão no contexto 
analisado. 
A saída do sistema será 
capaz de capturar tanto a 
variabilidade quanto a 
incerteza do(s) parâmetro(s) 
Suposições 
Aprendizado do cientista a partir dos 
dados. 
Ato de se imaginar certa 
saída e tentativa de prová-la. 
Distribuição 
Desconhecida ou então ignorada, antes de 
se ter o conhecimento acerca dos dados 
do contexto 
Presume-se normalmente 
uma distribuição bem 
definida. 
Ajuste 
Criação de um modelo mais adequado, 
com boa capacidade de generalização 
Resultado obtido estará mais 
adequado para a distribuição 
dos dados atual deste 
sistema. 
Fonte: Adaptado de MUELER & MASSARON, 2016. 
 
Adicionalmente, como já brevemente citado, é primordial ter em mente os 
possíveis limites do Aprendizado de Máquina, definíveis a partir de características 
11 
 
 
 
Todos os direitos são reservados ao Grupo Prominas, de acordo com a convenção internacional de direitos autorais. Nenhuma 
parte deste material pode ser reproduzida ou utilizada, seja por meios eletrônicos ou mecânicos, inclusive fotocópias ou 
gravações, ou, por sistemas de armazenagem e recuperação de dados – sem o consentimento por escrito do Grupo Prominas. 
importantes da máquina como o hardware, sendo que em certos casos uma boa 
solução fornecida poderá demorar dias, por exemplo, e este tempo não poderá ser 
utilizado na prática. Assim, considerando tais possíveis problemas tem-se algumas 
sugestões, possivelmente genéricas, que podem ser levadas em conta para que a 
capacidade de hardware do sistema em questão não seja um empecilho, como: 
 Optar pela obtenção de um resultado útil; 
 Realização da pergunta correta; 
 Contar com a intuição; 
Estas sugestões implicam, na prática, em que o primeiro passo de qualquer 
algoritmo de Aprendizado de Máquina será fornecer um resultado útil, que será 
posteriormente refinado e, por outro lado, do ponto de vista prático é importante 
ressaltar a possibilidade de obtenção de um resultado mais frágil, após extensivos 
ajustes no programa, levando a soluções inúteis fora de um certo conjunto de dados 
específicos, algo indesejável. Além disso, fazer a pergunta correta implica retornar 
ao que já fora feito no algoritmo, muitas vezes, e recuar a ação desejada, visto que 
em muitos casos nem mesmo um poderoso hardware poderá realizar a entrega de 
uma solução plausível para certos problemas práticos. Ademais, contar com a 
intuição no contexto significa, na prática, de que todas as pergunta feita em 
algoritmos de Aprendizado de Máquina começam com uma hipótese e geralmente 
assim o cientista responsável utilizará a intuição para a criação do ponto de partida 
para a descoberta da resposta da pergunta. Por outro lado, deve-se considerar 
ainda que suposições erradas, obviamente, levarão a soluções erradas. 
A seguir você terá uma visão geral do que é o Aprendizado de Máquina, 
também estudando a este ponto, exemplos de alguns dos principais algoritmos 
utilizados ao longo do tempo e o estado da arte atual, para que, ao fim do capítulo,entenda quais são as possíveis principais aplicações desta grande área do 
conhecimento, considerada por muitos autores hoje a principal dentro da grande 
área interdisciplinar de Inteligência Artificial. 
 
 
 
12 
 
 
 
Todos os direitos são reservados ao Grupo Prominas, de acordo com a convenção internacional de direitos autorais. Nenhuma 
parte deste material pode ser reproduzida ou utilizada, seja por meios eletrônicos ou mecânicos, inclusive fotocópias ou 
gravações, ou, por sistemas de armazenagem e recuperação de dados – sem o consentimento por escrito do Grupo Prominas. 
1.2 VISÃO GERAL DO PROCESSO DE MACHINE LEARNING 
 
Começamos então partindo de uma possível definição, apontada pela 
literatura, na qual considera-se que o Aprendizado de Máquina pode ser definido 
como métodos computacionais que usam a experiência para promover a melhoria 
de performance ou então fazer predições bem assertivas, de forma que o 
Aprendizado de Máquina consistirá então no desenvolvimento de algoritmos de 
acurácia e eficiência na predição (MOHRI, ROSTAMIZADEH & TALWALKAR, 2018). 
Além disso, embora exista uma grande variabilidade de aplicações, a literatura em 
geral sugere quatro objetivos básicos principais, cada qual em suas próprias 
perspectivas metodológicas, bem como aproximações até avaliações e casos de 
algoritmos de sucesso. Um destes objetivos envolverá a modelagem de mecanismos 
que estão envolvidos no aprendizado humano, sendo possível citar o 
desenvolvimento de algoritmos de aprendizado consistentes com o conhecimento da 
arquitetura cognitiva humana, além de algoritmos desenvolvidos para explicar 
comportamentos específicos de aprendizado. É este tipo de aproximação que 
permitiu a existência de uma série de modelos computacionais, incluindo áreas 
como a resolução de problemas, o uso da linguagem natural, percepção e o controle 
motor (Langley, 1996). 
Adicionalmente, há uma outra vertente cujo objetivo principal é o estudo 
empírico, descobrindo-se princípios gerais que relacionam as características de 
algoritmos de aprendizado e do próprio domínio no qual estes operam, como o 
comportamento de aprendizado. Desta forma, neste caso existirão aproximações 
padrões que envolverão experimentos que variarão tanto o algoritmo, quanto o 
domínio, observando os impactos de tal manipulação realizada no aprendizado. 
Além disso, é possível citar certos estudos e algoritmos desenvolvidos que tratam o 
Aprendizado de Máquina como uma área de estudo da Matemática, formulando-se e 
provando teoremas acerca da tratabilidade de classes inteiras problemas de 
Aprendizado de Máquina e de algoritmos para resolvê-los. Um exemplo típico de tal 
tipo de abordagem envolverá realizar a definição do problema de aprendizado, 
conjecturando se este pode ou não ser resolvido com um número razoável de 
treinamentos e, após isso, provar que tais conjecturas também são válidas em 
13 
 
 
 
Todos os direitos são reservados ao Grupo Prominas, de acordo com a convenção internacional de direitos autorais. Nenhuma 
parte deste material pode ser reproduzida ou utilizada, seja por meios eletrônicos ou mecânicos, inclusive fotocópias ou 
gravações, ou, por sistemas de armazenagem e recuperação de dados – sem o consentimento por escrito do Grupo Prominas. 
condições gerais. Desta forma, perceba que neste caso o Aprendizado de Máquina 
se relacionará ao uso de ferramentas e conceitos de Estatística e Ciência da 
Computação (Langley, 1996). 
Por último, ressalta-se ainda que há um outro grande grupo de pesquisadores 
que focou na resolução de problemas do mundo real, através de técnicas de 
Aprendizado de Máquina, sendo conhecido pela própria literatura, em geral, que a 
maior parte de sistemas de IA aplicada, até o fim da década de 90, se referia a 
sistemas especialistas, por exemplo. Assim, com a evolução tecnológica atual 
entende-se que tal vertente de objetivos do Aprendizado de Máquina vem tomando 
força e sabe-se que, normalmente, existem alguns passos típicos como a 
formulação de um problema de interesse (prático) em termos do Aprendizado de 
Máquina, desenvolvimento da representação dos casos do treinamento e também 
do conhecimento adquirido nesta etapa do aprendizado. Além disso, deve-se 
realizar a coleta dos dados de treino, utilizar o algoritmo de Aprendizado de Máquina 
para gerar uma base de conhecimento e estruturar a base completa de 
conhecimentos acerca do sistema (Langley, 1996). 
 
FIQUE LIGADO! 
A aproximação do Aprendizado de Máquina, cujo objetivo centra-se na resolução de 
problemas reais, está diretamente relacionada a problemas práticos, como a 
realização de diagnósticos, o controle de processos industriais, problemas de 
cronograma, entre várias outras áreas do conhecimento e envolvendo diversos tipos 
de problemas práticos. 
 
Assim, ressalta-se que tais objetivos estarão, por vezes, associados a 
algoritmos de aprendizado em geral devido ao fato de que o Aprendizado de 
Máquina é um campo que realmente se fundamenta em algoritmos desenvolvidos e, 
desta forma, os estudos nesta área e, inclusive, ao longo de todo este curso, 
permearão em modelos psicológicos, modelos empíricos, teoremas matemáticos e 
aplicações de campo (práticas). 
Agora, dando continuidade à visão geral do Aprendizado de Máquina, existem 
ainda importantes conceitos a serem definidos para a área, que nos auxiliarão 
14 
 
 
 
Todos os direitos são reservados ao Grupo Prominas, de acordo com a convenção internacional de direitos autorais. Nenhuma 
parte deste material pode ser reproduzida ou utilizada, seja por meios eletrônicos ou mecânicos, inclusive fotocópias ou 
gravações, ou, por sistemas de armazenagem e recuperação de dados – sem o consentimento por escrito do Grupo Prominas. 
inclusive nos próximos passos, acerca das aplicações e dos estudos dos algoritmos 
propriamente ditos. Assim, o quadro a seguir apresenta alguns destes principais 
conceitos: 
 
Quadro 2 - Principais conceitos dentro do Aprendizado de Máquina 
Exemplo 
Item ou instância dos dados, usado para aprendizado ou 
avaliação. 
Características 
Seleção de atributos, geralmente representada como um vetor, 
associada ao exemplo. 
Label Valor ou categoria do exemplo. 
Hiperparâmetro 
Parâmetro livre, que não é determinado pelo algoritmo de 
aprendizado, mas sim especificado como entrada deste. 
Amostra de treinamento Exemplo usado para treinar o algoritmo de aprendizado. 
Amostra de validação 
Exemplo usado para testar o algoritmo de aprendizado e é neste 
caso que se ajustam os parâmetros deste, para um algoritmo de 
aprendizado livre de parâmetros (hiperparâmetros) 
Amostra de teste 
Exemplo usado para avaliar a performance do algoritmo de 
aprendizado, sendo uma amostra separada da de treinamento e da 
de validação. 
Função de perda 
Função responsável pela medição da diferença (ou perda) entre o 
label previsto e o label real. 
Seleção de hipóteses 
Conjunto de funções mapeadas de características, frequentemente 
representadas como vetores de características do conjunto de 
labels. 
Fonte: Elaborado pela própria autora, baseado em (Langley, 1996). 
 
 Considere alguns exemplos práticos então para compreender, na prática, o 
que representa cada um dos conceitos apresentados. Assim, tem-se problemas 
como a detecção de spam, que pode ser modelada como um problema de 
aprendizado onde um determinado algoritmo irá selecionar da caixa de e-mails o 
que é ou não spam. Neste contexto os exemplos seriam e-mails, a serem usados 
como aprendizado ou teste do algoritmo; possíveis características seriam o 
comprimento da mensagem do e-mail, o nome de quem enviou, a presença de 
certas palavras-chave, entre outras. Adicionalmente, quanto às labels observa-se 
que em problemas de classificação elegem-se categorias possíveis, por exemplo, no 
caso do problema de detecção de spam teria uma classificação binária, entre spam 
e não spam, embora ressalta-seque em problemas de regressão, por exemplo, os 
itens normalmente são designados por labels com valores reais. O conjunto de 
treinamento, por sua vez, seria uma seleção de e-mails já com as labels e o de 
15 
 
 
 
Todos os direitos são reservados ao Grupo Prominas, de acordo com a convenção internacional de direitos autorais. Nenhuma 
parte deste material pode ser reproduzida ou utilizada, seja por meios eletrônicos ou mecânicos, inclusive fotocópias ou 
gravações, ou, por sistemas de armazenagem e recuperação de dados – sem o consentimento por escrito do Grupo Prominas. 
testes, um conjunto de e-mails, no qual o algoritmo deverá realizar a predição e 
comparar o resultado deste processo com as labels corretas, já previamente obtidas. 
 Agora vamos analisar, por último, a função de perdas e o conjunto de 
hipóteses. Para isto, considere que o conjunto de todas as labels em um dado 
problema genérico é denominado como Y e o conjunto das possíveis predições 
como 'Y , de forma que uma função de perdas ( L ) irá mapear tal como apresenta-se 
matematicamente adiante, dentro do conjunto dos números reais (Mohri, 
Rostamizadeh & Talwalkar, 2018): 
 
 ': YYL (1) 
 
 Na maior parte dos casos tem-se que o conjunto das labels e das possíveis 
predições será igual, ou seja 'YY  , logo a função de perdas é limitada, entretanto, é 
importante salientar que isto não representa sempre a realidade da predição, em 
problemas práticos, levando à seguinte formulação 
 
yyyyL  '1)',(}1,1{}1,1{ (2) 
 
 ou, ainda (Mohri, Rostamizadeh & Talwalkar, 2018): 
 
)²'()',( yyyyL  (3) 
 
Sendo que na relação da Equação 3 define-se para  , com um intervalo 
tipicamente limitado. Já com relação ao conjunto de hipóteses, por sua vez, 
entende-se que existe um conjunto de funções capazes de mapear características 
para um conjunto diferente, definido por 'Y , que pode ser formado por funções 
lineares ou até números reais, caso interprete-se os labels através de scores, por 
exemplo, onde scores mais altos seriam maiores indicativos de spam e o contrário 
não: 
 
'Y (4) 
 
16 
 
 
 
Todos os direitos são reservados ao Grupo Prominas, de acordo com a convenção internacional de direitos autorais. Nenhuma 
parte deste material pode ser reproduzida ou utilizada, seja por meios eletrônicos ou mecânicos, inclusive fotocópias ou 
gravações, ou, por sistemas de armazenagem e recuperação de dados – sem o consentimento por escrito do Grupo Prominas. 
Outra definição importante, do ponto de vista geral do Aprendizado de 
Máquina, é entender os diferentes conceitos dos cenários de aprendizado. Desta 
maneira, o quadro adiante apresenta, de forma breve tais cenários, que serão 
explorados ao longo dos exemplos apresentados neste curso, assim como nos 
algoritmos apresentados, com referências à literatura: 
 
Quadro 3 - Os possíveis cenários de aprendizado 
Aprendizado 
supervisionado 
O aprendiz recebe um conjunto de exemplos com labels, como dados 
de treinamento e faz as predições para todos os pontos não vistos. 
Aprendizado não 
supervisionado 
O aprendiz recebe, exclusivamente, dados de treinamento sem label e 
faz as predições para todos os pontos não vistos. 
Aprendizado 
semissupervisionado 
O aprendiz recebe uma amostra de treinamento com dados com ou 
sem label e faz a predição em todos os pontos não vistos. 
Inferência 
transdutiva 
Como em um cenário semissupervisionado, entretanto recebe-se 
dados de treinamento com label e de teste sem, sendo que o objetivo 
neste caso é prever labels somente para estes pontos de teste, em 
particular. 
Treinamento on-line 
Múltiplas etapas nas quais as fases de treinamento e de teste estarão 
misturadas. A cada fase o aprendiz recebe um ponto de treinamento 
sem label, faz a predição, recebe a label correta e executa a função de 
perdas. 
Aprendizado de 
reforço 
Neste caso, os dados de treinamento e de teste também estão 
misturados e, para coletar informação o aprendiz interage de forma 
ativa com o ambiente, sendo inclusive que em certos casos esta 
interação afeta o ambiente e pode-se receber uma recompensa 
imediata por esta interferência, em certos casos. 
Aprendizado ativo 
O aprendiz coleta, de forma adaptativa ou interativa, exemplos de 
treinamento, sendo que o objetivo neste tipo de cenário é alcançar um 
certo desempenho, comparável ao cenário padrão supervisionado de 
aprendizado, embora utilize-se neste caso menos amostras com label 
Fonte: Elaborado pela autora, baseado em (Langley, 1996). 
 
O cenário de aprendizado supervisionado é o mais comum, na classificação, 
regressão e problemas de ranking. Tomando novamente como exemplo o problema 
de detecção de spam, para analisarmos mais alguns exemplos práticos no contexto 
dos diferentes tipos de cenários, observa-se que este tipo de problema poderia ser 
tranquilamente estruturado em um cenário de aprendizado supervisionado, por 
exemplo (MOHRI, ROSTAMIZADEH & TALWALKAR, 2018). Por outro lado, 
analisando o cenário de aprendizado não supervisionado é importante ressaltar que, 
como geralmente exemplos sem label estão disponíveis, pode se tornar difícil avaliar 
de forma quantitativa como foi a performance do aprendiz do contexto. 
17 
 
 
 
Todos os direitos são reservados ao Grupo Prominas, de acordo com a convenção internacional de direitos autorais. Nenhuma 
parte deste material pode ser reproduzida ou utilizada, seja por meios eletrônicos ou mecânicos, inclusive fotocópias ou 
gravações, ou, por sistemas de armazenagem e recuperação de dados – sem o consentimento por escrito do Grupo Prominas. 
Adicionalmente, no aprendizado semissupervisionado observa-se que é comum 
nesses tipos de configurações que dados sem label são bem mais fáceis de se 
acessar, enquanto, por outro lado, as labels, normalmente, só podem ser obtidas 
através de processos dispendiosos para o algoritmo. Além disso, observa-se que 
neste caso, a maior esperança para o sucesso do algoritmo é vista no cenário em 
que a distribuição de dados sem label acessível ao aprendiz poderá auxiliá-lo a 
melhorar sua performance, melhor do que o que ocorreria em um cenário 
supervisionado, em boa parte dos casos práticos (MOHRI, ROSTAMIZADEH & 
TALWALKAR, 2018). 
 
IMPORTANTE! 
Observa-se que a análise das condições que estão por trás dessa relação de 
melhoria de performance no cenário semissupervisionado é um dos principais 
assuntos de pesquisas aplicada e teórica dentro do cenário de Aprendizado de 
Máquina. 
 
Com relação agora à inferência transdutiva é possível ressaltar que, embora 
este tipo de cenário pareça ser mais adaptável para a maior parte das aplicações 
modernas, como em um cenário semissupervisionado tem-se que a melhoria de 
performance poderá não ser uma realidade no contexto e inviabilizar a aplicação. 
Em contrapartida, no cenário on-line o principal objetivo é minimizar o valor 
acumulativo da perda em todas as etapas ou então minimizar o que se denomina 
como regret, um valor para estimar a diferença da perda acumulativa e do melhor 
expert em caso de incurácia (ausência de predição). O treinamento de reforço, por 
sua vez, possui como objetivo principal que o aprendiz maximize sua recompensa 
através de uma série de ações e interações com o ambiente. Contudo, não há 
retorno a longo prazo da recompensa para o ambiente e, com isto, o aprendiz 
geralmente irá se deparar com um dilema clássico da computação, de “exploration 
versus exploitation”. Isto ocorre pensando-se que o algoritmo deverá se decidir entre 
explorar ações desconhecidas em prol de ganhar mais informações, ou então 
explorar as informações já coletadas. Por último, quanto ao aprendizado ativo, 
observa-se que o algoritmo atua normalmenteconsultado uma espécie de oracle 
18 
 
 
 
Todos os direitos são reservados ao Grupo Prominas, de acordo com a convenção internacional de direitos autorais. Nenhuma 
parte deste material pode ser reproduzida ou utilizada, seja por meios eletrônicos ou mecânicos, inclusive fotocópias ou 
gravações, ou, por sistemas de armazenagem e recuperação de dados – sem o consentimento por escrito do Grupo Prominas. 
(oráculo) para buscar informações acerca de labels requisitadas, para novos pontos 
em avaliação (MOHRI, ROSTAMIZADEH & TALWALKAR, 2018). 
Adiante você verá, para encerrar esta parte introdutória, quais são os principais 
cenários de aplicação do Aprendizado de Máquina, entendendo o papel do algoritmo 
e qual ou quais são usados no contexto. 
 
1.3 PRINCIPAIS APLICAÇÕES 
 
Tomando como exemplo novamente os diferentes cenários de aprendizado, 
tem-se que, como já mencionado, o cenário supervisionado normalmente está 
relacionado a problemas que envolverão a classificação de padrões, como é o caso 
de problemas reais de reconhecimento de padrões, por exemplo. Além disso, 
observou-se ainda que o cenário supervisionado também estará, na prática, 
relacionado a problemas de ranking, onde torna-se necessário elencar um dado 
conjunto de dados para organização destes ou em problemas de regressão, por 
exemplo. Adicionalmente, normalmente problemas como a clusterização e a redução 
de dimensionalidade estão relacionados a cenários de aprendizado não 
supervisionado e semissupervisionado, podem ser observados também vários tipos 
de aplicações práticas, semelhantes às práticas do cenário supervisionado, como 
classificação, regressão e tarefas de ranking. Por último, ainda com relação aos 
cenários, observa-se que o cenário de aprendizado ativo frequentemente está 
relacionado a aplicações nas quais os labels são difíceis de se obter, em processos 
dispendiosos para o algoritmo, como é o caso de aplicações de Biologia 
Computacional. 
Além disso, é importante se ter em mente que existem dois aspectos 
fundamentais dos problemas práticos em geral, cuja experiência e melhoria 
proporcionadas pelo algoritmo de aprendizado poderão atuar de forma a entregar 
resultados ainda mais completos e de forma eficiente, pela complexidade do 
problema e a necessidade de adaptação. Entre estas duas vertentes principais, 
destacam-se as tarefas que podem ser executadas por animais e humanos e 
aquelas que estão além da capacidade humana, como é o caso de tarefas 
19 
 
 
 
Todos os direitos são reservados ao Grupo Prominas, de acordo com a convenção internacional de direitos autorais. Nenhuma 
parte deste material pode ser reproduzida ou utilizada, seja por meios eletrônicos ou mecânicos, inclusive fotocópias ou 
gravações, ou, por sistemas de armazenagem e recuperação de dados – sem o consentimento por escrito do Grupo Prominas. 
executadas de forma rotineira e a análise de complexos conjuntos de dados, 
respectivamente (SHALEV-SHWART & BEN-DAVID, 2014). 
Ademais, pode-se citar outras aplicações práticas como o reconhecimento 
óptico de caracteres (popularmente conhecido como OCR), processamento de 
linguagem natural, realização de diagnósticos médicos, reconhecimento e 
processamento da fala, reconhecimento e processamento da escrita, visão 
computacional, utilização de motores de busca, locomoção robótica, entre outras. 
 
20 
 
 
 
Todos os direitos são reservados ao Grupo Prominas, de acordo com a convenção internacional de direitos autorais. Nenhuma 
parte deste material pode ser reproduzida ou utilizada, seja por meios eletrônicos ou mecânicos, inclusive fotocópias ou 
gravações, ou, por sistemas de armazenagem e recuperação de dados – sem o consentimento por escrito do Grupo Prominas. 
CAPÍTULO 2 - ALGORITMOS DE APRENDIZADO, CAPACIDADE, OVER E 
UNDERFITTING, HIPERPARÂMETROS E VALIDAÇÃO 
 
2.1 ALGORITMOS DE APRENDIZADO 
 
Como já apontado anteriormente, o Aprendizado de Máquina promove, de 
forma resumida, que o computador aprenda através dos dados e este aprendizado é 
feito pelo algoritmo de aprendizado (LANGLEY, 1996; 2011; MOHRI, 
ROSTAMIZADEH e TALWALKAR, 2018). O filtro de spam de e-mails, como também 
já citado no começo, envolve o uso de um algoritmo de aprendizado para o 
reconhecimento automático de possíveis ameaças à integridade não só do e-mail, 
dos dados pessoais, mas do computador como um todo. Por outro lado, considere 
agora o seguinte exemplo: você baixa uma cópia de um artigo científico e, com isto, 
logicamente seu computador terá mais dados. Pois bem, entretanto como estes 
dados não foram “trabalhados” com a máquina não haverá nenhuma melhoria 
repentina de desempenho, em nenhum tipo de tarefa executada por ela e, assim, 
não se trata de uma situação de aplicação de Aprendizado de Máquina. 
Além disso, antes de analisarmos mais especificamente os algoritmos 
relembraremos o porquê de se utilizar o Aprendizado de Máquina, como em casos já 
citados, de problemas mais complexos, especialmente quando consideramos as 
abordagens tradicionais já existentes. Uma outra possibilidade é utilizar o 
Aprendizado de Máquina para algoritmos não conhecidos ou, ainda, para auxiliar 
aos seres humanos a aprender algo, além de possibilidades como a descoberta de 
padrões que até então não eram aparentes ou que podiam ser identificados mas 
para automatizar tal identificação (MOHRI, ROSTAMIZADEH & TALWALKAR, 2018; 
SEJNOWSKI, 2020). Ademais, ressalta-se que o Aprendizado de Máquina é ótimo 
para (GÉRON, 2019): 
- Problemas nos quais as soluções exigirão mais configurações manuais ou 
listas extensas de regras; 
- Problemas mais complexos, que não possuem soluções efetivas por 
abordagens tradicionais; 
21 
 
 
 
Todos os direitos são reservados ao Grupo Prominas, de acordo com a convenção internacional de direitos autorais. Nenhuma 
parte deste material pode ser reproduzida ou utilizada, seja por meios eletrônicos ou mecânicos, inclusive fotocópias ou 
gravações, ou, por sistemas de armazenagem e recuperação de dados – sem o consentimento por escrito do Grupo Prominas. 
- Ambientes flutuantes, visto que o sistema com Aprendizado de Máquina 
poderá se adaptar aos novos dados; 
- Compreensão de problemas de maior complexidade e que utilizem grandes 
quantidades de dados. 
A Figura 1 a seguir traz um exemplo de representação da capacidade de 
adaptação geral de um algoritmo de Aprendizado de Máquina: 
 
Figura 1 - Capacidade de adaptação do algoritmo de aprendizado 
 
Fonte: GÉRON, 2019. p. 6. 
 
No caso de listas extensas de regras ou de configurações manuais estima-se 
que o Aprendizado de Máquina normalmente será capaz não só de simplificar o 
código, mas também de melhorá-lo. Assim, também é importante relembrarmos 
antes de analisar exemplos de algoritmos de aprendizado e estruturas gerais destes, 
que o Aprendizado de Máquina pode ser ainda dividido do ponto de vista prático do 
algoritmo, em algumas categorias distintas que poderão inclusive combinar entre si 
(GÉRON, 2019): 
- Treinamento com ou sem supervisão humana; 
- Aprendizado rápido ou não, de forma incremental; 
- Funcionamento por comparação de novos pontos dos dados com outros já 
conhecidos ou pela detecção de padrões a partir de dados de treinamento e criação 
de um modelo preditivo. 
Com relação ao treinamento com e sem supervisão tem-se, como já 
apresentado, os algoritmos supervisionados, não supervisionados, 
semissupervisionados e com aprendizado por reforço. Por outro lado, com relação à 
incrementação e agilidade de aprendizado tem-se os algoritmos de aprendizado 
22 
 
 
 
Todos os direitos são reservados ao Grupo Prominas, de acordo com a convenção internacional de direitos autorais. Nenhuma 
parte deste material pode ser reproduzida ou utilizada, seja por meios eletrônicos ou mecânicos, inclusive fotocópias ou 
gravações, ou, por sistemas de armazenagem e recuperação de dados – sem o consentimento por escrito do GrupoProminas. 
online ou de aprendizado por lotes. Por último, quanto à comparação ou à detecção 
tem-se os algoritmos de aprendizado baseados em instâncias ou aqueles baseados 
em modelos. 
A Figura 2 a seguir traz um exemplo de como o Aprendizado de Máquina 
poderá contribuir no ensino dos humanos: 
 
Figura 2 - Papel do Aprendizado de Máquinas no ensino de humanos 
 
Fonte: GÉRON, 2019. p. 7. 
 
Assim, especificamente com relação aos diferentes tipos de algoritmos, tem-se 
que os que são classificados conforme o tipo de supervisão realizado, serão 
inclusive melhor explorados adiante, no capítulo 3, entretanto, a este ponto você 
verá alguns detalhes importantes destes. Começando então pelos algoritmos de 
aprendizado supervisionado, observa-se que, como já brevemente mencionado no 
começo, possuirá dados de treinamento com as soluções desejadas (labels, que 
também são comumente chamadas pelo termo em português rótulos). A 
classificação, por sua vez, é um exemplo típico de tarefa que normalmente utiliza-se 
o aprendizado supervisionado, assim como a previsão de um alvo de valor 
numérico, por exemplo, que é comumente referida como tarefa de regressão 
(SHALEV-SHWARTZ & BEN-DAVID, 2014; MOHRI, ROSTAMIZADEH & 
TALWALKAR, 2018). A previsão de um preço de um carro, dado um conjunto de 
características como quilometragem, idade, marca, entre outros, é possível 
fornecendo dados de outros carros e também incluindo os labels (que no contexto 
são os preços). Além disso, observa-se que certos tipos de algoritmos de regressão 
também podem ser utilizados em problemas de classificação e vice-versa. Um 
23 
 
 
 
Todos os direitos são reservados ao Grupo Prominas, de acordo com a convenção internacional de direitos autorais. Nenhuma 
parte deste material pode ser reproduzida ou utilizada, seja por meios eletrônicos ou mecânicos, inclusive fotocópias ou 
gravações, ou, por sistemas de armazenagem e recuperação de dados – sem o consentimento por escrito do Grupo Prominas. 
exemplo disso é o algoritmo de Regressão Logística e além deste tem-se o k-
Nearest Neighbours, a Regressão Linear, a Máquina de Vetores de Suporte (mais 
conhecida pela sigla em inglês SVM - Suport Vector Machine), a Árvore de Decisão 
e Florestas Aleatórias (também conhecidas como Decision Tree e Random Forest, 
respectivamente) e, por último, tem-se ainda as famosas Redes Neurais (Géron, 
2019). 
Tomando como exemplo agora a implementação de algoritmos 
supervisionados, vamos analisar como isto pode ser feito, através de alguns 
exemplos e utilizando o MATLAB. Maiores detalhes também serão vistos acerca dos 
modelos, no capítulo 3. 
Nos algoritmos de aprendizado não supervisionado tem-se o “aprender 
autodidata”, visto que não haverá os rótulos dos dados no treinamento. Alguns dos 
principais exemplos destes algoritmos são divididos em algoritmos de clustering, de 
visualização e redução da dimensionalidade dos dados e de aprendizado da regra 
da associação, como mostra o quadro a seguir: 
 
Quadro 4 - Tipos de algoritmos de aprendizado não supervisionado 
Clustering k-Means 
Clustering Hierárquico 
Maximização de expectativa 
Visualização e redução de dimensionalidade Análise de componentes principais (mais 
conhecido pelo termo inglês PCA - Principal 
Component Analysis) 
Kernel PCA 
Locally-Linear Embedding (LLE) 
t-distributed Stochastic Neighbour 
Embedding (t-SNE) 
Aprendizado da regra da associação Apriori 
Eclat 
Fonte: elaborado pela autora, adaptado de GÉRON (2019) 
 
Na realização de clustering o principal objetivo é detectar grupos semelhantes 
entre si, ou não e realizar a separação. No caso do Clustering Hierárquico, mais 
especificamente, tem-se a possibilidade ainda de dividir cada grupo em outros 
grupos menores. Já nos algoritmos de visualização de dados tem-se a máxima 
preservação da estrutura destes, para a identificação de padrões ignorados e para 
que possa ser compreendida, de fato, a organização destes dados. Por outro lado, a 
24 
 
 
 
Todos os direitos são reservados ao Grupo Prominas, de acordo com a convenção internacional de direitos autorais. Nenhuma 
parte deste material pode ser reproduzida ou utilizada, seja por meios eletrônicos ou mecânicos, inclusive fotocópias ou 
gravações, ou, por sistemas de armazenagem e recuperação de dados – sem o consentimento por escrito do Grupo Prominas. 
redução da dimensionalidade tem como principal objetivo simplificar uma grande 
massa de dados sem perder uma parte expressiva das informações contidas, como 
na mesclagem de características correlacionando-as em uma única. Assim, perceba 
que para este tipo de análise do algoritmo de aprendizado é fundamental a extração 
de características. A detecção de anomalias, como o processo de detecção de 
transações incomuns para a visualização de possíveis fraudes em cartões de 
crédito, por exemplo, é um tipo de tarefa não supervisionada (GÉRON, 2019). Por 
último, com relação ainda ao aprendizado não supervisionado tem-se a classe do 
aprendizado de regras de associação, que é feito basicamente pelo aprofundamento 
em grandes quantidades de dados e busca de relações entre estes para a 
visualização de possíveis atributos existentes, apontando tendências existentes. 
Agora vamos analisar como implementar alguns destes algoritmos tomando 
como base o MATLAB. Assim como para os algoritmos de aprendizado 
supervisionado, maiores detalhes serão vistos no capítulo 3, onde analisaremos com 
maior aprofundamento as principais premissas do modelo não supervisionado. 
Tomando como exemplo então o algoritmo k-means, é possível utilizar a função já 
pronta k-means, introduzida antes da versão do software 2006a. Neste caso é 
possível implementar o processo de clusterização e partições de uma dada matriz x 
n por p em um número k de clusters diferentes, sendo que a função em sua 
configuração mais básica retorna um vetor (idx) contendo os índices dos clusters 
para cada observação. Este vetor terá a dimensão n por 1. 
Continuando nossos exemplos acerca da codificação dos algoritmos e 
possíveis implementações com o MATLAB, um outro algoritmo não supervisionado 
que possui função pronta é a análise de componente principal. Para tal implementa-
se a função pca, disponível desde antes da versão 2012b do programa, que 
retornará os coeficientes das componentes principais, também conhecidos na 
prática como cargas, a partir de uma entrada que será uma matriz de dados de 
ordem n por p, seguindo o seguinte padrão: 1) as colunas de x corresponderão às 
observações e 2) as linhas corresponderão às variáveis. A matriz de coeficientes 
retornada pela função é quadrada e de dimensão p, sendo que cada coluna desta 
contém os coeficientes para um componente principal e as colunas estarão em 
ordem decrescente da variância do componente. Além disso, imposto como padrão 
25 
 
 
 
Todos os direitos são reservados ao Grupo Prominas, de acordo com a convenção internacional de direitos autorais. Nenhuma 
parte deste material pode ser reproduzida ou utilizada, seja por meios eletrônicos ou mecânicos, inclusive fotocópias ou 
gravações, ou, por sistemas de armazenagem e recuperação de dados – sem o consentimento por escrito do Grupo Prominas. 
da função pca, observa-se que esta centrará os dados e utilizará um algoritmo de 
decomposição em valores únicos (também conhecido como algoritmo SVD, de 
Single Value Decomposition). 
 
IMPORTANTE! 
Assim como para a função kmeans, existe uma página com uma série de dicas e 
exemplos acerca da função PCA no MATLAB, a partir da central de ajuda do 
programa. 
“Auxílio de como utilizar a função PCA no MATLAB”: 
Disponível em: <https://www.mathworks.com/help/stats/pca.html>. 
Acesso em: 17 de set. 2020 
 
Tomando agora por último, como exemplo nesta parte os algoritmos de 
aprendizado semissupervisionado, tem-se o treinamento a partir de uma grande 
quantidade de dados sem labels contra outra pequenade dados rotulados. A Figura 
3 adiante ilustra como pode funcionar na prática tal tipo de estratégia para a 
estruturação do algoritmo: 
 
Figura 3 - Aprendizado semissupervisionado 
 
Fonte: GÉRON, 2019. p. 14. 
 
Desta forma como é estabelecido, o algoritmo semisupervisionado será fruto da 
combinação de algoritmos supervisionados e não supervisionados, além de ser 
possível citar as redes neurais de crenças profundas (mais conhecidas pelo termo 
em inglês DBNs - deep brain networks), que se baseiam em componentes como a 
máquina restrita de Boltzmann. Neste caso, treina-se as RBMs de forma sequencial 
https://www.mathworks.com/help/stats/pca.html
26 
 
 
 
Todos os direitos são reservados ao Grupo Prominas, de acordo com a convenção internacional de direitos autorais. Nenhuma 
parte deste material pode ser reproduzida ou utilizada, seja por meios eletrônicos ou mecânicos, inclusive fotocópias ou 
gravações, ou, por sistemas de armazenagem e recuperação de dados – sem o consentimento por escrito do Grupo Prominas. 
e não supervisionada e o ajuste do sistema é feito por técnicas do aprendizado 
supervisionado (GÉRON, 2019). 
Assim como foi feito para os algoritmos de aprendizado supervisionado e não 
supervisionado, analisaremos a este ponto que há de instruções acerca de 
algoritmos semisupervisionados para o MATLAB. Desta forma, em uma rápida busca 
percebe-se que existem dicas dos próprios usuários do software sobre 
implementações de algoritmos como DBN e demais algoritmos de Aprendizado 
Profundo. Para isto, sugere-se ao aluno(a) utilizar uma toolbox do MATLAB, que é 
estabelecida como um conjunto de funções e ferramentas específicas, 
desenvolvidas dentro de uma temática e, neste caso, sugere-se a toolbox 
DeepLearn. 
 
IMPORTANTE! 
Outro possível exemplo de algoritmo de aprendizado profundo e também de 
algoritmos de aprendizado semissupervisionado poderá ser explorado através do 
link que permite inclusive implementações do algoritmo DBN, instalando-se este 
pacote desenvolvido à parte, que suporta a partir da versão 2012a: 
Link: https://www.mathworks.com/matlabcentral/fileexchange/42853-deep-neural-
network Acesso em: 17 de set. 2020 
 
A seguir você verá aspectos importantes para os algoritmos de aprendizado em 
geral, antes de ver maiores detalhes sobre os modelos obtidos, no capítulo 3. 
Começaremos esta parte do estudo então pela análise do papel da capacidade e 
compreendendo o que é o overfitting e o underfitting. 
 
2.2 CAPACIDADE, OVERFITTING E UNDERFITTING 
 
A capacidade está, neste contexto, diretamente relacionada a parâmetros 
como a visualização de erros entre o modelo e o que se espera de obtenção, ao final 
do algoritmo de aprendizado. Desta forma, a capacidade possui relação direta com o 
que o modelo é capaz de fornecer para o problema (GOODFELLOW, BENGIO & 
COURVILLE, 2016; MOHRI, ROSTAMIZADEH & TALWALKAR, 2018). Pode-se 
https://www.mathworks.com/matlabcentral/fileexchange/42853-deep-neural-network
https://www.mathworks.com/matlabcentral/fileexchange/42853-deep-neural-network
27 
 
 
 
Todos os direitos são reservados ao Grupo Prominas, de acordo com a convenção internacional de direitos autorais. Nenhuma 
parte deste material pode ser reproduzida ou utilizada, seja por meios eletrônicos ou mecânicos, inclusive fotocópias ou 
gravações, ou, por sistemas de armazenagem e recuperação de dados – sem o consentimento por escrito do Grupo Prominas. 
controlar o tempo através de um dado modelo a partir da alteração de sua 
capacidade, por exemplo, sendo que formalmente é possível definir a capacidade de 
um dado modelo como a habilidade de conter/caber uma grande variedade de 
funções. Com isto, modelos com baixa capacidade poderão de fato “lutar” para 
caber dentro de um dado conjunto de dados de treinamento e, por outro lado, um 
modelo com alta capacidade poderá se sobreajustar, além do esperado, realizando 
assim na verdade a memorização do conjunto de dados, memorizando as principais 
propriedades deste conjunto de treinamento. Assim, este modelo não servirá e nem 
se ajustará de forma efetiva aos dados do conjunto de teste (GOODFELLOW, 
BENGIO & COURVILLE, 2016). É a partir destas colocações acerca da capacidade 
que surgem os conceitos de underfitting e overfitting, essenciais para o bom 
desenvolvimento de um algoritmo de aprendizado. 
Por outro lado, uma maneira de se controlar a capacidade de aprendizado do 
algoritmo é delegar um dado espaço de hipóteses, uma seleção de funções que o 
algoritmo de aprendizado é permitido de selecionar como uma possível solução do 
problema (GOODFELLOW, BENGIO & COURVILLE, 2016). Considere como 
exemplo o algoritmo de Regressão Linear, que possui um conjunto de funções 
lineares como entrada, em seu espaço de hipóteses e o que pode ser feito é 
generalizar a regressão para a inclusão de polinômios, ao invés de somente funções 
lineares e, com isto, aumentando-se a capacidade do modelo. 
O que ocorre no Aprendizado de Máquina na prática é que geralmente os 
algoritmos irão performar melhor quando sua capacidade é apropriada para a real 
complexidade da tarefa que estes precisarão realizar, além da relação adequada de 
preparo do algoritmo, mediante o conjunto de treino fornecido para a obtenção do 
modelo. Modelos de capacidade insuficiente serão incapazes de resolver tarefas 
mais complexas e já os modelos de capacidade maior poderão resolver tais tarefas 
mas também, como já mencionado, sua capacidade poderá ser maior quando eles 
precisam resolver estas tarefas e o modelo poderá sobreajustar (ou overfit, como é 
comumente referido em inglês) (GOODFELLOW, BENGIO & COURVILLE, 2016). 
Ademais, ressalta-se que há uma infinidade meios de se alterar a capacidade 
de um dado modelo, intencionalmente ou não e a capacidade de predição, por outro 
lado, não é determinada somente pela escolha do tipo de modelo, visto que o 
28 
 
 
 
Todos os direitos são reservados ao Grupo Prominas, de acordo com a convenção internacional de direitos autorais. Nenhuma 
parte deste material pode ser reproduzida ou utilizada, seja por meios eletrônicos ou mecânicos, inclusive fotocópias ou 
gravações, ou, por sistemas de armazenagem e recuperação de dados – sem o consentimento por escrito do Grupo Prominas. 
modelo especifica geralmente uma possível família de funções que o algoritmo de 
aprendizado poderá escolher para quando variam-se os parâmetros, reduzindo-se o 
objetivo do treinamento. Isto é chamado de capacidade representacional e em 
muitos casos encontrar a melhor função desta família torna-se um difícil problema de 
otimização (GOODFELLOW, BENGIO & COURVILLE, 2016). 
Agora vamos analisar de fato o que é o underfitting e o overfitting. Assim, 
traduzindo-se literalmente observa-se que underfit significa subajustar algo e overfit 
sobreajustar e trazendo para a realidade do Aprendizado de Máquina tais situações 
poderão configurar em problemas para a obtenção do modelo e também no 
funcionamento do algoritmo em si, como já brevemente mencionado. Como um 
possível exemplo prático de como controlar a tendência do modelo de subajustar ou 
sobreajustar, tem-se a técnica de decaimento de pesos, onde demonstra-se a 
possibilidade de treinar um modelo de regressão expresso por um polinômio de grau 
alto com diferentes valores de  . Além disso, de forma mais genérica é possível 
ajustar o modelo que aprende uma dada função ),( xf adicionando-se uma 
penalidade chamada de regularizador, referente à função de custo. No caso de o 
peso diminuir, o regularizador será definido como: 
 
www T )( (5) 
A Figura 4 adiante mostra como estas diferentes relações de pesos expressam 
o comportamento do modelo, sendo que um valor excessivo de  representa o 
underfitting, um valor médio deste o decaimento apropriado do peso e um valor de 
 tendendo a zero implica em overfitting: 
Figura 4 - Relaçõesentre os diferentes tipos de peso e a ocorrência de underfitting, overfitting 
ou comportamento desejável 
 
Fonte: GOODFELLOW, BENGIO & COURVILLE, 2016. p. 116. 
 
29 
 
 
 
Todos os direitos são reservados ao Grupo Prominas, de acordo com a convenção internacional de direitos autorais. Nenhuma 
parte deste material pode ser reproduzida ou utilizada, seja por meios eletrônicos ou mecânicos, inclusive fotocópias ou 
gravações, ou, por sistemas de armazenagem e recuperação de dados – sem o consentimento por escrito do Grupo Prominas. 
Adiante você verá o principal papel dos hiperparâmetros no contexto e como a 
validação do modelo obtido é feita, na maior parte dos casos. 
 
2.3 HIPERPARÂMETROS E VALIDAÇÃO 
 
A maior parte dos algoritmos de Aprendizado de Máquina possui 
hiperparâmetros, que são configurações utilizadas para o controle do 
comportamento do algoritmo, basicamente. Além disso sabe-se que os valores 
destes não são adaptáveis pelo processo de aprendizado do algoritmo, o que 
significa na prática que, normalmente, possa se projetar algoritmos aninhados, em 
um cenário no qual um dado algoritmo de aprendizagem aprenderá quais são os 
melhores hiperparâmetros para o outro (GOODFELLOW, BENGIO & COURVILLE, 
2016). Para compreender melhor como isto é estabelecido na prática considere 
novamente o exemplo do algoritmo de Regressão Linear, implementado para a 
regressão polinomial. Este algoritmo possui apenas um único hiperparâmetro: o 
degrau do polinômio. No contexto, este hiperparâmetro age ainda como um 
hiperparâmetro de capacidade. Além disso, o valor de  poderá ser usado para 
controlar a força do decaimento de peso e, neste contexto, funciona ainda como 
outro exemplo de hiperparâmetro para o problema. 
Adicionalmente, observa-se que às vezes uma configuração do algoritmo é 
escolhida para ser um hiperparâmetro e, então, o algoritmo não consegue 
implementar, de fato, o aprendizado porque este hiperparâmetro escolhido é de 
difícil otimização e ajuste. Assim, com frequência tem-se que se o aprendizado foi 
efetivo no conjunto de treinamento, tais hiperparâmetros obtidos poderão ser sempre 
escolhidos, resultando em um problema, visto que a máxima possibilidade de 
capacidade resultará em um overfitting (GOODFELLOW, BENGIO & COURVILLE, 
2016). Um exemplo prático disso é que sempre é possível ajustar o conjunto de 
treinamentos de forma mais efetiva com um grau polinomial maior e uma 
configuração de decaimento de peso igual a zero do que poderia ser feito para um 
modelo, cuja função polinomial possui grau menor e, ainda, um possível positivo 
decaimento de peso. 
30 
 
 
 
Todos os direitos são reservados ao Grupo Prominas, de acordo com a convenção internacional de direitos autorais. Nenhuma 
parte deste material pode ser reproduzida ou utilizada, seja por meios eletrônicos ou mecânicos, inclusive fotocópias ou 
gravações, ou, por sistemas de armazenagem e recuperação de dados – sem o consentimento por escrito do Grupo Prominas. 
Além disso, vamos analisar agora mais uma dica prática através de um 
exemplo, para a compreensão especialmente das diferenças entre os parâmetros e 
hiperparâmetros no Aprendizado de Máquina, lembrando que ambos fazem parte 
dos algoritmos de aprendizado em geral, incluindo técnicas do Aprendizado 
Profundo. Assim, imagine a seguinte situação: você estava em casa e resolveu que 
queria aprender a tocar violão. Neste contexto simples de análise, os 
hiperparâmetros poderiam ser quantas horas você poderá praticar, se você terá ou 
não um(a) professor(a) para auxiliá-lo no processo, entre outros. Por outro lado, os 
parâmetros neste contexto seriam os aspectos com relação à adaptação do seu 
próprio corpo no processo de aprendizado desejado, como o fortalecimento de 
certos músculos envolvidos, por exemplo. 
Assim, perceba que à medida que se altera as horas e/ou a qualidade do 
aprendizado (como contratar uma boa professora para auxiliá-lo, por exemplo) torna-
se possível mudar, de fato, o seu aprendizado. Ou seja, caso sua professora seja 
ótima e você também se adapte à forma como ela ensina, você poderá aprender 
mais rápido, embora a este ponto seja necessário reforçar que, assim como também 
ocorreria com um computador, o aprendizado varia de “pessoa para pessoa”. A 
conclusão que se tira com este exemplo simples é: dependendo de como são 
estabelecidos os hiperparâmetros do seu problema, o aprendizado poderá ocorrer 
de forma mais fácil ou não. Quanto aos parâmetros, o que ocorre na prática é que 
estes são ajustados pelas máquinas de formas adversas (ou por você, como você 
pôde perceber no exemplo). 
Mais ainda, considerando o exemplo dado e transportando este de fato para o 
aprendizado computacional, é constantemente apontado por diversos projetistas e 
pesquisadores da área que, raramente os hiperparâmetros ideais para o 
contexto/problema analisado são conhecidos, independente da importância (maior 
ou menor) destes na resolução do problema. Além disso, como você pode imaginar, 
independentemente de ser fácil ou não obter os hiperparâmetros, tal obtenção 
envolverá pesquisas e análises menos ou até mais avançadas. Em contrapartida, 
existem ferramentas que permitirão encontrar com maior facilidade os 
hiperparâmetros do problema, como as próprias técnicas de otimização, que 
poderão ser implementadas através de algoritmos em prol da obtenção dos 
31 
 
 
 
Todos os direitos são reservados ao Grupo Prominas, de acordo com a convenção internacional de direitos autorais. Nenhuma 
parte deste material pode ser reproduzida ou utilizada, seja por meios eletrônicos ou mecânicos, inclusive fotocópias ou 
gravações, ou, por sistemas de armazenagem e recuperação de dados – sem o consentimento por escrito do Grupo Prominas. 
hiperparâmetros, algo que traz como crucial vantagem a diminuição do tempo total 
gasto na obtenção do modelo final. Mas, caso tal algoritmo de auxílio, por alguma 
forma, não seja necessário ou mesmo caso o projetista desconheça tal solução, é 
importante salientar que, de fato, é possível encontrar os hiperparâmetros por 
tentativa e erro, mesmo que isto seja bem mais oneroso na maior parte dos casos. 
Ademais, na prática orienta-se a divisão do conjunto de dados de treinamento 
em dois conjuntos distintos e um destes será utilizado para o aprendizado de 
parâmetros, ao passo que o outro será utilizado para a validação, sendo usado para 
estimar a generalização do erro durante ou após o treinamento, permitindo que os 
hiperparâmetros sejam atualizados de acordo com isto (GOODFELLOW, BENGIO & 
COURVILLE, 2016; MOHRI, ROSTAMIZADEH & TALWALKAR, 2018). O 
subconjunto de dados de treinamento utilizado para o aprendizado de parâmetros é 
ainda assim frequentemente chamado de conjunto de treinamento, embora possa 
ser confundido com a grande quantidade de dados disponíveis para tal. Por outro 
lado, é o subconjunto de dados de treinamento utilizados nos hiperparâmetros que é 
denominado de conjunto de validação. Tipicamente utiliza-se 80% dos dados totais 
para o treinamento e 20% para a validação e usando-se o treino de hiperparâmetros 
o erro de validação irá subestimar o erro de generalização, algo semelhante ao que 
é feito durante o treinamento propriamente dito. Entretanto, depois de completar-se 
a otimização dos hiperparâmetros a generalização do erro poderá ser estimada 
através do conjunto de dados de teste (GOODFELLOW, BENGIO & COURVILLE, 
2016). 
Antes ainda de entender processos de validação largamente utilizados, vamos 
compreender como pode ser calculado o erro de generalização do modelo obtido a 
partir de um dado algoritmo de aprendizado. Assim, dada a hipótese de que Hh , 
um alvo conceito é definido tal que Cc e tem-se ainda uma distribuição subjacente 
D, o erro de generalização (ou risco) de h é definido como 
 
]1[)]()([Pr)( )()(
~~
xcxh
DxDx
ExcxhhR  (6) 
 
sendow1 um indicador de função do evento w² (MOHRI, ROSTAMIZADEH & 
TALWALKAR, 2018). Além disso, com relação ainda a este importante parâmetro 
32 
 
 
 
Todos os direitos são reservados ao Grupo Prominas, de acordo com a convenção internacional de direitos autorais. Nenhuma 
parte deste material pode ser reproduzida ou utilizada, seja por meios eletrônicos ou mecânicos, inclusive fotocópias ou 
gravações, ou, por sistemas de armazenagem e recuperação de dados – sem o consentimento por escrito do Grupo Prominas. 
ressalta-se que a generalização do erro vinculado a uma dada hipótese não está 
diretamente acessível para o aprendiz, caso tanto a distribuição D, quanto o alvo 
conceito c sejam desconhecidos. Contudo, o aprendiz poderá mensurá-lo, através 
de um erro empírico de uma hipótese, analisado no conjunto de amostras com label 
S. Este erro empírico pode ser calculado como, considerando uma hipótese Hh , 
similarmente um alvo conceito Cc e um conjunto de amostras dado por 
 mxxxS ...21 , tem-se que este erro é (MOHRI, ROSTAMIZADEH & 
TALWALKAR, 2018): 
 



m
i
xcxh iim
hR
1
)()(1
1
)(ˆ (7) 
 
Assim, perceba que o erro empírico da hipótese h, sendo Hh como 
previamente fora considerado, tem-se o erro médio em torno das amostras S, ao 
passo que a generalização do erro é um erro esperado com base na distribuição D. 
Ademais, fazendo algumas considerações acerca destes dois erros e comparando-
se as equações anteriores, ao final, obtém-se a seguinte relação: 
 
)(]1[]1[)](ˆ[ )}()({
~
)}()({
~~
hREEhRE xcxh
Dx
xcxh
DSDS mm
  (8) 
 
Agora vamos analisar as possibilidades, de fato, de validação do modelo. Entre 
estas, destaca-se a validação cruzada, por exemplo, que pode ser expressa em 
função de um parâmetro de erro, neste caso definido como erro de validação 
cruzada, cuja quantidade é calculada conforme visto adiante (GOODFELLOW, 
BENGIO & COURVILLE, 2016; MOHRI, ROSTAMIZADEH & TALWALKAR, 2018): 
 
 
 

n
i
m
j
ijiji
i
CV
i
yxhL
mn
R
1 1
)),((
11
)(ˆ  (9) 
 
A escolha adequada de n, por exemplo, é um dos principais objetivos de 
pesquisa dentro do Aprendizado de Máquina. Por outro lado, observa-se que em 
33 
 
 
 
Todos os direitos são reservados ao Grupo Prominas, de acordo com a convenção internacional de direitos autorais. Nenhuma 
parte deste material pode ser reproduzida ou utilizada, seja por meios eletrônicos ou mecânicos, inclusive fotocópias ou 
gravações, ou, por sistemas de armazenagem e recuperação de dados – sem o consentimento por escrito do Grupo Prominas. 
várias situações práticas de aplicação de técnicas de Aprendizado de Máquina tem-
se que o parâmetro n é tipicamente escolhido para ser 5 ou 10, além do fato de que 
a validação cruzada n-fold (que recebe este nome por dividir os dados em n 
conjuntos) é usada como seguimento em uma seleção de modelo. Os dados com 
label são primeiramente divididos em um conjunto de treino e outro de teste, sendo 
que o de treino tem tamanho m e é usado para computar o erro de validação 
cruzada n-fold, apresentado na Equação 6, para um número pequeno de 
possibilidades de valores de  . Além disso,  é o próximo conjunto até o valor de 
0
, para o qual o erro é o menor e o algoritmo é treinado com o parâmetro de ajuste 
0 
ao longo de todo o conjunto de dados de treinamento, de tamanho m. Por último, 
esta performance é avaliada no conjunto de dados de teste (MOHRI, 
ROSTAMIZADEH & TALWALKAR, 2018). 
Já no caso particular, no qual a validação apresentada ocorre onde n = m, tem-
se o caso especial denominado como validação cruzada “leave-one-out”, desde que 
a cada iteração exatamente uma instância é retirada do treinamento. Neste caso 
ainda se observa que o erro médio correspondente será um estimador 
aproximadamente imparcial do erro médio de um algoritmo e, neste contexto, pode 
ainda ser utilizado para entregar algumas garantias simples por parte de certos tipos 
de algoritmos (MOHRI, ROSTAMIZADEH & TALWALKAR, 2018). 
Entretanto, ressalta-se ainda que, no geral, este tipo de situação leva a um 
processo de validação difícil de ser computado pela máquina, visto que é requerido 
um tempo de treinamento n em amostras de dimensão m - 1, embora de fato 
existam algumas exceções. 
Por outro lado, como você pode imaginar, existem outras técnicas e estratégias 
dentro da Estatística que possibilitam, como desejado, analisar o comportamento do 
modelo diante do “ideal” de predição, por exemplo, inclusive de maneiras mais 
simplistas. Assim, mais especificamente, com relação a modelos de predição, é 
comum o uso de ferramentas como a Curva ROC (do inglês Characteristic Operator 
Receptor, ou curva Característica de Operação do Receptor). Esta curva permite a 
análise do desempenho de um sistema classificador binário, considerando-se ainda 
como parâmetro de análise a variação de um limiar de discriminação (FAWCETT, 
2006; KRZANOWSKI & HAND, 2009). Pode-se analisar a curva em si e também 
34 
 
 
 
Todos os direitos são reservados ao Grupo Prominas, de acordo com a convenção internacional de direitos autorais. Nenhuma 
parte deste material pode ser reproduzida ou utilizada, seja por meios eletrônicos ou mecânicos, inclusive fotocópias ou 
gravações, ou, por sistemas de armazenagem e recuperação de dados – sem o consentimento por escrito do Grupo Prominas. 
parâmetros escalares desta, como a área sob a curva, que expressará uma média 
de acertos, basicamente. 
Tomando como exemplo um dado classificador, um possível meio de obter a 
curva ROC é calcular as quantidades de falsos positivos da predição e a quantidade 
de predições feitas corretamente (denominadas como verdadeiros positivos no 
contexto). Tais medidas são tomadas pela matriz de confusão, que pode ser vista na 
figura adiante: 
 
Figura 5 - Matriz de confusão 
 
Fonte: Elaborado pela autora, 2020. 
 
A curva ROC é traçada então a partir do espaço ROC, considerando-se um 
classificador padrão, também conhecido como “flip a coin”, visto que a chance de 
acerto é de 50% e de erro também (FAWCETT, 2006). A curva ROC será traçada a 
partir do espaço, como mostra a figura a seguir: 
 
Figura 6 - Espaço ROC 
 
 Fonte: Elaborado pela autora, baseado em (Langley, 1996). 
35 
 
 
 
Todos os direitos são reservados ao Grupo Prominas, de acordo com a convenção internacional de direitos autorais. Nenhuma 
parte deste material pode ser reproduzida ou utilizada, seja por meios eletrônicos ou mecânicos, inclusive fotocópias ou 
gravações, ou, por sistemas de armazenagem e recuperação de dados – sem o consentimento por escrito do Grupo Prominas. 
Além disso, como já mencionado, caso deseje-se analisar a área sob a curva 
(mais conhecida como AUC por Area Under the Curve), deve-se calcular a área 
aproximada da curva ROC obtida, com ferramentas como o método trapezoidal. No 
MATLAB este tipo de cálculo é inclusive facilitado, por conta de funções que 
permitem aproximações. A área do classificador “flip a coin” resulta em 0,5, ao passo 
que um classificador com AUC acima deste valor pode ser considerado um bom 
preditor e abaixo deste como ruim, de maneira geral. 
 
IMPORTANTE! 
Para calcular a área sob a curva no MATLAB é possível baixar uma função, 
separadamente, que realiza este cálculo aproximado de forma automática. Esta 
função pode ser baixada pelo link e está disponível a partir do MATLAB 2014b. 
Link: https://www.mathworks.com/matlabcentral/fileexchange/50962-fast-auc Acesso 
em: 17 de set. 2020 
 
 
 
 
https://www.mathworks.com/matlabcentral/fileexchange/50962-fast-auc
36 
 
 
 
Todos os direitos são reservados ao Grupo Prominas, de acordo com a convenção internacional de direitos autorais. Nenhuma 
parte deste material pode ser reproduzida ou utilizada, seja por meios eletrônicos ou mecânicos, inclusive fotocópias ou 
gravações,

Outros materiais