Aula 13: Introdução ao Machine Learning
Aula 13: Introdução ao Machine Learning
Diego
Carvalho e Emannuelle
Gouveia
Concursos da Área Fiscal - Curso
Completo de Tecnologia da Informação
Autor:
Diego Carvalho, Equipe
Informática e TI, Paolla Ramos
08 de Outubro de 2025
Índice
1) Machine Learning - Teoria
..............................................................................................................................................................................................3
APRESENTAÇÃO
Seus lindos, a aula de hoje é sobre Machine Learning! Eu não vou mentir para vocês: essa é uma das
aulas mais difíceis que eu já fiz nada vida. E olha que eu já dou aula há quase 10 anos e já escrevi
mais de 12.000 páginas sobre os mais diversos assuntos relacionados à tecnologia da informação.
Aqui veremos o estado da arte da tecnologia atual, que se mistura bastante com matemática e
estatística, mas juro que tentei facilitar ao máximo a vida de vocês. Legal? Fechou...
Galera, todos os tópicos da aula possuem Faixas de Relevância, que indicam se o assunto cai
muito ou pouco em prova. Diego, se cai pouco para que colocar em aula? Cair pouco não significa
que não cairá justamente na sua prova! A ideia aqui é: se você está com pouco tempo e precisa ver
somente aquilo que cai mais, você pode filtrar pelas relevâncias média, alta e altíssima; se você tem
tempo sobrando e quer ver tudo, vejam também as relevâncias baixas e baixíssimas. Fechado?
Além disso, essas faixas não são por banca – é baseado tanto na quantidade de vezes que caiu em
prova independentemente da banca e também em minhas avaliações sobre cada assunto...
MACHINE LEARNING
Contextualização Inicial
RELEVÂNCIA EM PROVA: Altíssima
Vamos começar falando sobre Inteligência Artificial (IA)! Nós – humanos – decidimos denominar
a nossa própria espécie como Homo Sapiens (Homem Sábio). Vocês sabem o porquê? Porque nós
consideramos que a nossa inteligência é o que nos diferencia de outros animais. Aliás, a inteligência
sempre foi motivo de grande curiosidade em nossa espécie. Durante milhares de anos, nós
procuramos entender como funcionava o pensamento e a inteligência humana.
De fato, esse é um tópico muito intrigante! Vocês já pararam para pensar como um mero punhado de
matéria orgânica pode perceber, compreender, prever e manipular um mundo muito maior e mais
complicado que ela própria? Pois é! Após a segunda guerra mundial, esse estudo se intensificou com
o surgimento do campo de inteligência artificial, que buscava não apenas compreender, mas
também construir coisas inteligentes.
Seu estudo começou após o fim da 2ª guerra mundial por meio do genial Alan Turing (sim, aquele
encenado no filmaço The Imitation Game), que estava fascinado com a ideia de que um computador
poderia eventualmente se tornar inteligente. Professor, um computador não é inteligente? Não,
longe disso! Albert Einstein dizia que computadores são incrivelmente rápidos, precisos e burros!
Quando era criança, eu achava que bastava falar para o computador fazer algo que ele faria...
Ora, não é bem assim! Ele não faz absolutamente nada se alguém não o programar detalhadamente
sobre o que ele deve que fazer. Cada coisinha que você vê em um computador/smartphone, alguém
teve que criar para o computador tão somente processar. Por que, Diego? Porque computadores são
ótimos em processar dados de maneira absurdamente rápida, mas tudo que ele faz, alguém teve
que programá-lo para fazer!
Alan Turing não parava de se perguntar como as gerações futuras iriam saber se um computador
havia adquirido inteligência ou não. Ele, então, propôs um teste projetado para fornecer uma
definição satisfatória sobre a inteligência de um computador. Ele dizia que um computador passaria
em um teste de inteligência se um interrogador humano fizesse um conjunto de perguntas por
escrito e as passasse para um computador e para um humano responder.
Ambos responderiam as perguntas também por escrito e repassariam de volta para o interrogador.
Se ele não conseguisse distinguir se as respostas escritas vinham de uma pessoa ou de um
computador, poderíamos dizer que o computador adquiriu inteligência. Trazendo para os dias
atuais, acho que todos vocês já tiveram que tratar com chatbots (robôs de chat). Aliás, o próprio
Estratégia Concursos tem o seu...
Se esse teste ocorresse nos dias atuais, poderíamos dizer que finalmente chegamos à era dos
computadores inteligentes quando tentássemos resolver algum problema ou tirar alguma dúvida
via chatbot e não conseguíssemos mais diferenciar se estamos falando com um robô ou com um
humano. Legal, né? Ainda estamos bem longe disso visto que os chatbots podem ser bem irritantes
e, por vezes, não resolverem nossos problemas!
Agora chegamos no tema principal dessa aula: Machine Learning. Note que se trata de apenas um
dos diversos subcampos da inteligência artificial. Vamos ver um pouquinho do histórico...
Já o aprendizado de máquina trata de algoritmos cujo desempenho melhoram à medida que eles
são expostos a mais dados no decorrer do tempo. Por fim, o aprendizado profundo é um
subconjunto do aprendizado de máquina em que um software é capaz de treinar a si mesmo para
executar diversas tarefas por meio da utilização de redes neurais para aprender algo a partir de uma
quantidade massiva de dados. O foco dessa aula é especificamente Aprendizado de Máquina!
Os dados de entrada são nome/nota dos alunos; as regras são escritas por um programador capaz
de entender o problema e decompô-lo em passos que um computador entenda utilizando uma
linguagem de programação; e o resultado será o ranking de notas. Simples, não? Ocorre que, para
alguns casos, essa abordagem apresenta diversos problemas. Imaginem um software que recebe
uma imagem de entrada qualquer e identifica se há um gato nela ou não. É bem complexo...
Humanos conseguem fazer isso em frações de segundos, mas uma máquina teria bem mais
dificuldades. Utilizando a programação tradicional, teríamos diversos gargalos: em primeiro lugar,
seria necessário ter um ou mais programadores; em segundo lugar, não basta que ele entenda de
programação, ele também deve entender do problema e sugerir uma maneira de resolvê-lo. Ora,
criar um conjunto de passos para identificar um gato em uma imagem não é uma tarefa simples...
Uma forma de tentar resolver esse problema é por meio do aprendizado de máquina. Ocorre que
ele funciona de uma maneira praticamente inversa à programação tradicional. Nós continuamos
entrando com dados, mas – em vez de um programador criar manualmente as regras – são inseridos
exemplos de resultados passados. Já a saída de um algoritmo de aprendizado de máquina são
justamente as regras. Note que as entidades mudaram de lugar...
Trata-se de uma etapa custosa porque idealmente nós temos que inserir quantidades massivas de
exemplos de resultados para que o modelo fique o mais ajustado possível. Após essa fase, nós
temos a etapa de Inferência, que é bem menos custosa. Ela ocorre quando utilizamos uma
programação bem próxima à programação tradicional com regras aprendidas na etapa anterior e
novos dados para gerar inferir resultados.
O cientista de dados será responsável pela etapa de treinamento a fim de gerar regras aprendidas
e outros softwares as utilizam como entrada e com novos dados para processar e gerar novos
resultados. Vocês se lembram do exemplo do gato? Após o cientista de dados treinar o algoritmos e
chegar a um conjunto de regras (modelo), outros softwares podem utilizar esse modelo na
programação clássica para inferir se uma imagem possui ou não um gato.
É claaaaaro que nem tudo é perfeito! Lembra da estatística? Pois é, a inferência é probabilística e,
não, determinística. Isso significa que ela identificará uma alta ou uma baixa probabilidade de ter
um gato em uma imagem – ela não vai cravar que existe ou não um gato em uma imagem. Querem
um exemplo? As quatro imagens a seguir possuem um gato! Ora, se nós temos dificuldades,
imaginem uma máquina...
Veja que a máquina não funciona tão diferente dos humanos: nós só sabemos o que é um gato
porque já vimos vários exemplos de gatos e de não-gatos. Dessa forma, nosso cérebro consegue
abstrair e generalizar o que seria um gato. Agora se fizéssemos esse experimento quando nós
fôssemos bem pequenos, nós provavelmente não saberíamos diferenciar porque ainda não fomos
bem treinados com vários exemplos e não-exemplos. Querem ver uma prova?
para identificar gatos em uma imagem, provavelmente teríamos que contratar zoólogos/biólogos
– além dos programadores. O aprendizado de máquina supre esse gargalo, não sendo necessária a
atuação de zoólogos/biológicos – a máquina aprenderá apenas por meio de dados de treinamento.
Por fim, vamos falar um pouquinho sobre o vocabulário utilizado no contexto de aprendizado de
máquina que veremos intensamente na aula a partir das próximas páginas. É importante para que
vocês tenham uma base de conhecimento sobre o assunto, mas infelizmente (ou não) as questões
de prova costumam intercambiar esses termos. Logo, eu coloquei mais para vocês terem uma
noção, mas não sejam rigorosos na hora da prova. Fechado?
TERMO DESCRIÇÃO
Definição genérica daquilo que se deseja produzir como resultado do modelo preditivo. Ex:
TAREFA classificar um documento em três possíveis categorias ou prever o valor de determinada medida.
Conjunto de procedimentos que permite melhorar resultados preditivos. Ex: regularização é uma
TÉCNICA técnica para prevenir o overfitting; hold-out é uma técnica de separação de dados para medir o
desempenho em generalização de um modelo.
Fórmula no sentido lato, que permite relacionar as variáveis independentes para prever a variável
ALGORITMO dependente. Quando aplicamos (ou treinamos) um algoritmo, temos um modelo treinado.
Exemplo: Regressão Linear ou Árvores de Decisão.
MODELO Objeto computacional que efetivamente transforma uma observação (variáveis independentes)
em uma previsão utilizando um algoritmo específico, instanciado e treinado.
(treinado)
Responsible AI
RELEVÂNCIA EM PROVA: baixíssima
OBJETIVOS DO RESPONSIBLE AI
Garantir que os sistemas de IA sejam desenvolvidos e utilizados de forma ética e legalmente responsável,
respeitando os direitos e privacidade das pessoas e minimizando os impactos negativos sobre a sociedade.
Promover a transparência e explicabilidade das decisões tomadas por sistemas de IA, permitindo que as pessoas
entendam como as decisões foram tomadas e possam contestá-las se necessário.
Promover a equidade e inclusão, considerando aspectos sociais e garantindo que os sistemas de IA não
discriminem ou prejudiquem grupos ou indivíduos e promovam a diversidade e a inclusão na IA.
Garantir a segurança e confiabilidade dos sistemas de IA, minimizando o risco de prejuízos para as pessoas ou a
sociedade em geral.
Uma IA pode ser responsável, mas ainda ser opaca e não explicável, tornando difícil para os usuários
entenderem como as decisões são tomadas.
Princípios e Práticas
A Inteligência Artificial Responsável é um conceito muito recente, logo não existe uma
consolidação acadêmica sobre seus principais princípios e práticas. Logo, eu compilei alguns
princípios e práticas listados por diversas organizações como a UNESCO, OECD, IEEE, Microsoft,
Google, European Commission, entre outros. Esse assunto já começou a cair em prova e acredito
que se tornará cada vez mais comum:
Transparência
Naturalmente será mais difícil para as pessoas confiarem em algoritmos se eles funcionarem como
“caixas-pretas” que fazem recomendações que elas não conseguem compreender como foram
feitas ou que parecem contrariar o senso comum. Vale ressaltar que em muitos cenários os
profissionais de diversos domínios terão que confiar nos algoritmos acima de suas próprias
intuições, como o piloto de avião que precisa poder confiar no piloto automático.
Uma boa prática de transparência é que além de simplesmente tornar a aplicação disponível para
uso, o responsável por seu desenvolvimento disponibilize também informações sobre as
capacidades, funcionalidades e limitações da solução. Os dados, o sistema e os modelos de
negócios de IA devem ser transparentes e os mecanismos de rastreabilidade podem ajudar a
alcançar isso.
Além disso, os sistemas de IA e as suas decisões devem ser explicados de uma forma adaptada às
partes interessadas em causa – seres humanos precisam saber que estão interagindo com uma IA.
Explicabilidade/Interpretabilidade
Uma dificuldade com a transparência das soluções de inteligência artificial que utilizam
aprendizado de máquina é que os algoritmos utilizados por essas aplicações são desenvolvidos
visando-se a performance funcional. Isso leva à adoção de funções matemáticas que são
otimizadas para fornecer a melhor resposta possível para a questão formulada (Por exemplo:
reconhecer objetos em imagens ou classificar textos).
Essa otimização é obtida através de um ajuste fino de parâmetros, em um processo que na maior
parte dos casos não fornece explicações sobre como tais aproximações e otimizações foram feitas.
Em certos casos – como em aplicações de aprendizado profundo que utilizam redes neurais
complexas – poderá haver um trade-off maior entre a interpretabilidade e a performance conforme
apresenta o gráfico seguinte.
Privacidade/Segurança
A privacidade se refere à proteção dos dados pessoais e sensíveis dos usuários que são
coletados e processados pelos sistemas de inteligência artificial. Nós temos que lembrar que a
privacidade se trata de um direito fundamental dos indivíduos. Dessa forma, as organizações que
desenvolvem e utilizam sistemas de IA devem garantir que os dados pessoais sejam tratados de
maneira justa, transparente e segura.
Para proteger a privacidade dos usuários, as organizações devem adotar medidas de segurança
apropriadas para proteger dados pessoais coletados e processados pelos sistemas de IA. Isso
pode incluir criptografia, controles de acesso rigorosos e adoção de práticas de segurança
cibernética robustas. Além disso, as organizações devem garantir que os usuários tenham controle
sobre seus dados pessoais e tenham a opção de optar por não compartilhar certas informações.
Isso pode incluir a implementação de recursos como a escolha de privacidade, onde os usuários
podem escolher quais dados desejam compartilhar com a IA e em que condições. Por fim, a
privacidade também envolve a transparência na coleta e uso de dados pessoais pela IA. As
organizações devem explicar claramente aos usuários como seus dados serão usados e como a
IA tomará decisões com base nesses dados.
A segurança da informação e a privacidade devem ser levadas em conta em todo o ciclo de vida das
soluções de IA – projeto, preparação de dados, treinamento do modelo, testes e implementação,
dado que estas soluções podem ser alvo de ataques e outras ameaças. O cuidado com esses
princípios ajuda a construir confiança entre os usuários e as organizações que utilizam sistemas
de IA, promovendo a Responsible AI.
Responsabilização
O termo original é Accountability, mas esse termo não tem uma tradução precisa em português
– em geral, utiliza-se responsabilização, auditabilidade ou prestação de constas. Ela se refere à
capacidade de responsabilizar algoritmos e sistemas de inteligência artificial por suas decisões e
ações. Isso implica a transparência em relação ao processo de tomada de decisão e à explicação do
raciocínio por trás das escolhas feitas pelos modelos de IA.
Inclusividade/Diversidade
Aplicações de IA devem ser acessíveis e produzir benefícios para todos os membros da sociedade,
sem deixar de fora grupos de pessoas por conta de seu gênero, idade, etnia, origem, cultura, status
socioeconômico, capacidades físicas e mentais ou outros fatores que possam dificultar o acesso à
solução. A ideia é que desenvolvedores sigam princípios de design inclusivo para que as
aplicações de IA possam ser mais facilmente utilizadas por deficientes, idosos, minorias, etc.
Isso envolve a inclusão de perspectivas diversas nas fases de concepção, desenvolvimento e teste
de modelos de inteligência artificial, garantindo que os sistemas sejam projetados e treinados com
dados que representem a diversidade da sociedade. Quanto à acessibilidade, recomenda-se o
fornecimento de opções para interfaces de usuário alternativas (Ex: texto em áudio ou legendas em
vídeo) e treinando algoritmos para reconhecer e lidar com diferentes formas de fala e comunicação.
Além disso, a ela também se relaciona com a garantia de que os sistemas de IA não perpetuem ou
amplifiquem preconceitos e discriminações existentes na sociedade, evitando a introdução de
vieses nos dados de treinamento e nos algoritmos de IA. Em suma, a inclusividade é um elemento
chave da Responsible AI, pois promove a equidade e a justiça social na aplicação de tecnologias
de IA e ajuda a criar soluções mais efetivas e amplamente aceitas pela sociedade.
Justiça/Equidade
Inclusão refere-se a garantir que os sistemas de IA sejam projetados e implementados para serem
acessíveis a todos os indivíduos e comunidades, independentemente de sua etnia, gênero, idade,
deficiência, status socioeconômico ou outras características. Isso significa que os sistemas de IA
devem ser projetados com a participação de diversas partes interessadas e não devem
perpetuar ou ampliar preconceitos ou discriminações.
Por outro lado, justiça refere-se à garantia de que os sistemas de IA não discriminem indivíduos
ou grupos com base em suas características protegidas ou outros fatores. Isso significa que os
sistemas de IA devem ser projetados para evitar preconceitos e garantir que as decisões tomadas
pelo sistema sejam baseadas em dados relevantes e precisos, em vez de perpetuar ou ampliar
desigualdades existentes.
Embora inclusão e justiça estejam relacionadas, são princípios distintos: um projeto inclusivo pode
ajudar a promover a justiça ao garantir que as necessidades e perspectivas de todas as partes
interessadas sejam levadas em conta, enquanto um projeto justo pode ajudar a garantir que os
sistemas de IA sejam realmente inclusivos, evitando discriminação e promovendo tratamento
igual para todos os indivíduos e grupos.
As falhas ao atender o pressuposto da justiça ou igualdade trazem muitos desafios éticos. Como
exemplo, houve um algoritmo desenvolvido pela Amazon para ajudar o RH na contratação de novos
colaboradores que era discriminatório contra mulheres. Foi descoberto que eram rejeitados
currículos perfeitamente aceitáveis (apenas de mulheres), com base em certas características (por
exemplo, hobbies das pretendentes).
Em suma: para ajudar na diferenciação desses dois princípios, podemos dizer que a inclusão é a
entrada ou causa e a justiça é a saída ou consequência. Ao incluir uma diversidade de pessoas
diferentes (Ex: etnia, gênero, idade, deficiência, status socioeconômico, etc) durante o projeto de
um sistema de IA, podemos alcançar modelos de inteligência artificial mais justos, não
discriminatórios e não preconceituosos.
Existem uma diferença entre confiabilidade e uso seguro: a confiabilidade refere-se à capacidade
de um sistema de IA para desempenhar consistentemente e com precisão a tarefa para a qual
foi projetado, em diferentes condições e ao longo do tempo. Isso significa que o sistema deve ser
robusto e capaz de lidar com entradas ou cenários inesperados, e seu desempenho deve ser
consistente em diferentes ambientes e contextos.
Já o uso seguro, por outro lado, refere-se à capacidade de um sistema de IA para evitar danos
ou lesões aos usuários, partes interessadas ou ao ambiente. Isso significa que o sistema deve ser
projetado para identificar e mitigar potenciais riscos, e para garantir que suas ações sejam seguras
e éticas. As considerações de segurança também devem incluir o impacto potencial do sistema em
diferentes grupos e comunidades, e o potencial de consequências não intencionais ou uso indevido.
Princípios/práticas DESCRIÇÃO
Garantir que os processos e decisões tomadas por sistemas de IA sejam compreensíveis e
facilmente acessíveis, incluindo o uso de dados, algoritmos e lógica de tomada de decisão.
Transparência Isso inclui a transparência em relação ao propósito, desempenho, limitações e riscos
associados aos sistemas de IA.
Permitir que os usuários e outras partes interessadas entendam como as decisões foram
Explicabilidade/ tomadas pelos sistemas de IA, por meio de métodos de interpretação e explicação. Isso inclui
a capacidade de explicar como os algoritmos funcionam e como as decisões são tomadas, de
interpretabilidade modo a permitir a identificação e correção de possíveis erros ou preconceitos.
Proteger a privacidade e os dados pessoais dos usuários e garantir que as informações sejam
Privacidade/ coletadas e utilizadas de forma ética e responsável. Isso inclui a proteção contra violações de
privacidade, coleta excessiva ou inadequada de dados e uso indevido ou não autorizado de
segurança informações pessoais.
Estudos de Caso
A Google trabalha com várias iniciativas de Responsible AI, incluindo o uso de modelos de
machine learning para detectar tendências em dados de saúde e prever doenças. A
google empresa também desenvolveu um conjunto de princípios éticos para orientar o
desenvolvimento e uso de inteligência artificial em seus produtos e serviços.
O governo de Singapura criou uma estrutura de governança de AI para garantir o uso ético
e responsável da inteligência artificial em todos os setores da sociedade. A estrutura inclui
Governo de singapura diretrizes para o desenvolvimento e uso de IA, bem como um código de conduta para os
desenvolvedores de IA.
(Receita Federal – 2023) Com base nos princípios de Responsible AI (IA Responsável), a
seguinte característica não é considerada importante para o desenvolvimento de
soluções de inteligência artificial:
a) transparência.
b) privacidade.
c) explicabilidade.
d) segurança.
e) performance.
_______________________
Comentários: o princípio que não é considerado importante para o desenvolvimento de IA é a performance (Letra E).
Tipos de Aprendizado
RELEVÂNCIA EM PROVA: Altíssima
Ele também pode ser utilizado para categorizar páginas web automaticamente conforme o gênero
(esportes, economia, política, bem-estar, etc) ou marcar mensagens de e-mail como spam. Os usos
da aprendizagem de máquina são inúmeros e surgem novos todos os dias, mas eles não funcionam
todos da mesma maneira. Existem diferentes abordagens de algoritmos de aprendizado de
máquina que podem ser classificadas conforme veremos a seguir:
Aprendizado Supervisionado
Trata-se de um conjunto de técnicas de aprendizado para treinar um modelo com dados rotulados
manualmente, isto é, um especialista/supervisor externo diz qual é a saída esperada para cada dado
histórico utilizado no treinamento. São as técnicas mais comumente empregadas no contexto de
aprendizado de máquina e geralmente são utilizadas para identificar padrões específicos, prever
resultados dado um conjunto de amostras de treinamento.
Em outras palavras, a saída desejada para cada exemplo de entrada já é conhecida no aprendizado
supervisionado, isto é, os dados de saída são previamente rotulados. Essa abordagem – também
chamada de tarefa de previsão – é bastante semelhante à aprendizagem humana sob a supervisão
de um professor. O professor fornece bons exemplos para o aluno memorize, e o aluno então deriva
as regras gerais desses exemplos específicos. Vamos ver alguns exemplos...
Suponha que você tenha um sobrinho que acabou de fazer dois anos e está aprendendo a falar.
Você quer ensiná-lo o que é um cachorro e o que é um gato. Então, o que você faz? Você pode
mostrar a ele diversos vídeos de cães e depois idealmente mostrar cães e gatos pessoalmente para
que ele possa ver melhor. Você, então, pode dizer para ele algumas coisas que sejam semelhantes
e diferentes entre cães de gatos.
Por exemplo: ambos possuem quatro patas e uma cauda; cachorros podem ser grandes ou
pequenos, gatos geralmente são pequenos; cachorros possuem focinho/boca longos, enquanto
gatos têm focinho/bocas pequenos; cachorros latem e gatos miam; cachorros sempre têm pupilas
arredondadas, já gatos podem ficar com a pupila arredondada ou em formato de fenda; cachorros
têm diferentes formatos de orelha, enquanto quase todos os gatos possuem o mesmo formato.
Finalizada a explicação, agora você leva seu sobrinho de volta para casa e mostra a ele fotos de
diferentes cães e gatos. Se ele for capaz de diferenciar o cão do gato, significa que ele aprendeu
corretamente. Então, o que aconteceu aqui? Você estava lá para guiá-lo até o objetivo de diferenciar
entre um cão e um gato; você ensinou a ele todas as diferenças e semelhanças que existem entre
um cão e um gato; e você então a testou para ver se ele era capaz de aprender.
Se ele não conseguisse identificar o cachorro e o gato, você teria que analisar os erros e oferecer
mais exemplos até que ele finalmente conseguisse identificar cachorros e gatos com maior
precisão. Agora note que você atuou como um supervisor/professor e seu sobrinho atuou como o
algoritmo que precisava aprender. Você já sabia o que era um cachorro e o que era um gato, e o
orientou em seu aprendizado. Por essa razão, a técnica se chama aprendizado supervisionado...
Sabe quando vamos acessar uma página web e aparece uma caixinha
falando para nós selecionarmos imagens com algum objeto específico
para indicar que não somos um robô? Pois é, o nome daquilo é
reCAPTCHA! A verdade é que o objetivo principal desse teste não é
verificar se somos robôs, visto que existem maneiras mais simples
para isso. O objetivo principal é treinar algoritmos de identificação
de imagens. Nesse caso, nós somos os supervisores do algoritmo!
Logo, o supervisor decide qual é o resultado esperado em cada contexto. Ele pode pegar um
conjunto de fotos de pessoas e classificá-las com o rótulo que ele quiser (Ex: alto ou baixo;
masculino ou feminino; bonito ou feio; criança ou adulto; loiro, moreno ou ruivo; maior que um
determinado valor ou menor que um determinado valor). Quem escolhe o rótulo no aprendizado
supervisionado é o supervisor e ele o utiliza para treinar o algoritmo.
Se os rótulos se referem a um conjunto infinito de valores numéricos contínuos (Ex: > R$100,00 ou
< R$100,00), a tarefa se chama regressão. Já se os rótulos se referem a um conjunto finito e não
1
Rótulo também pode ser chamado de categoria, classe, sinal, variável alvo ou, em inglês, de target, label ou tag.
ordenado de valores categóricos (Ex: Alto ou Baixo), a tarefa se chama classificação. Os modelos
supervisionados mais conhecidos são: árvores de decisão, regressão linear, regressão logística,
redes neurais, K-Nearest Neighbors (KNN), Support Vector Machines (SVM), etc.
Aprendizado Não-Supervisionado
Trata-se de um conjunto de técnicas para treinar um modelo em que não se sabe a saída esperada
para cada dado usado no treinamento. Diferentemente do aprendizado supervisionado, você não
utiliza rótulos/categorias para as amostras de treinamento. Os algoritmos são formulados de tal
forma que podem encontrar estruturas e padrões adequados nos dados por conta própria. Em
outras palavras, não existe um supervisor ou professor para rotular os dados...
Sendo assim, o algoritmo identifica as semelhanças nos dados apresentados e reage com base na
presença ou ausência dessas tais semelhanças. Essa abordagem – também chamada de tarefa de
descrição – permite que o algoritmo aprenda a categorizar dados autonomamente. A ideia aqui não
é prever nada e, sim, organizar os dados de alguma forma ou descrever sua estrutura. Professor,
como o algoritmo vai gerar as próprias categorias? E se eu não gostar das categorias escolhidas?
Excelente pergunta! O processo de aprendizado não supervisionado é mais complexo porque não
existe um supervisor para treinar o algoritmo e nem existem categorias pré-definidas. Logo, existe
realmente uma chance de o algoritmo gerar categorias completamente diferentes do que você
esperava. Existem dois grandes sub-grupos de aprendizado não-supervisionado: Agrupamentos
(Clustering) e Regras de Associação (Association Rules). Vamos ver ambas...
De forma resumida, podemos dizer que as regras de associação são um tipo de aprendizado não-
supervisionado que permite estabelecer regras capazes de verificar como determinados elementos
em um conjunto estão intimamente associados, isto é, se a presença de um elemento implica a
presença de outro dentro em uma mesma transação. Os principais modelos são: Apriori, FP-Growth
e Eclat.
Pois é... o algoritmo não está nem aí para o que eu quero – ele vai buscar padrões nas imagens, a
fim de dividi-las em dois grupos de tal modo que as imagens dentro de cada grupo sejam o máximo
possível homogêneas e as imagens de grupos diferentes sejam o máximo possível heterogêneas. E
se eu quiser definir de antemão os subgrupos que eu quero dividir as imagens? Aí você deve usar um
algoritmo de aprendizado supervisionado e, não, um algoritmo não-supervisionado.
É preciso entender que cada abordagem é adequada para um tipo de problema e tem suas
vantagens e suas desvantagens. O aprendizado não-supervisionado é bem mais barato que o
aprendizado supervisionado. Vamos pensar na Amazon! Vocês imaginaram a quantidade absurda de
produtos que tem à venda lá? Eu fiz uma pesquisa rápida em sua página web e vi que existem 20
categorias principais de produtos.
Só que dentro de cada categoria existem diversas subcategorias que possuem dentro delas várias
outras subcategorias. Se tudo isso fosse feito utilizando aprendizado supervisionado, custaria uma
fortuna e demoraria anos para concluir. A Amazon teria que contratar uma equipe gigantesca de
especialistas em diversas áreas, entregar para eles uma lista com uns 500.000 produtos à venda e
pedir para eles criarem rótulos/categorias de modo que contemplasse todos esses produtos.
Uma abordagem mais interessante seria utilizar o aprendizado não-supervisionado, porque ele é
muito mais barato e permite lidar com quantidades massivas de dados. Pode conter erros? Pode!
Pode gerar categorias indesejadas? Também pode! Por outro lado, isso é mais barato de resolver.
Professor, esses algoritmos só funcionam com imagem? Não, eu utilizo exemplos com imagens
porque são os mais fáceis de entender, mas ele se aplica a basicamente qualquer formato de dados.
Para finalizar, podemos afirmar que se o aprendizado de máquina fosse representado como uma
criança aprendendo a andar de bicicleta, o aprendizado supervisionado seria o pai correndo atrás
da bicicleta, segurando-a na vertical e corrigindo a trajetória da criança; e o aprendizado não-
supervisionado seria o pai entregar a bicicleta na mão da criança, dar um tapinha nas costas e dizer:
“Se vira, garoto!”. Entendido?
Aprendizado Semi-Supervisionado
Trata-se de um conjunto de técnicas que utilizam tentativa e erro para descobrir decisões ótimas
de como interagir com ambiente ou com outros agentes. Ele tem como meta reforçar ou
recompensar uma ação considerada positiva e punir uma ação considerada negativa. Um exemplo
são os famosos robôs aspiradores! Esses robôs percorre os cômodos de uma casa, identifica
obstáculos e armazena quais rotas funcionam melhor para limpar a casa.
Ele literalmente constrói um mapa da casa e refina/atualiza esse mapa a cada nova limpeza. Se ele
tenta um determinado percurso e encontra um obstáculo, ele pune essa ação considerada negativa
não fazendo mais esse percurso; se ele tenta um determinado percurso e não encontra um
obstáculo, ele reforça essa ação considerada positiva fazendo novamente esse percurso da próxima
vez. É claro que no começo ele erra bastante, mas depois ele acerta...
Eu já tive um robozinho desses e era uma mão na roda, mas o meu era bem antigo e não fazia
mapeamento. Logo, ele batia na primeira vez, não aprendia nada e batia novamente em todas as
outras. Vendi ele porque não estava sendo mais útil e porque meu cachorro (Chico) ficava o caçando
incessantemente, mas os mais novos são extremamente modernos. Recomendo bastante – e
aceito de presente ;)
Técnicas e Tarefas
Antes de adentrarmos nesse tópico, é importante entender que existe um sombreamento entre
aprendizado de máquina e mineração de dados. Logo, algumas tarefas de mineração de dados são
também tarefas de aprendizado de máquina. No entanto, aqui nós vamos detalhar um pouco mais
dentro do contexto de aprendizado de máquina. Vamos começar falando sobre a técnica de
classificação de dados.
Classificação
RELEVÂNCIA EM PROVA: média
Nós já sabemos que se trata de uma técnica de aprendizado supervisionado para distribuir um
conjunto de dados de entrada em categorias ou classes pré-definidas de saída. Por exemplo: nós
poderíamos utilizar um algoritmo de classificação binária para decidir de uma mariposa é da espécie
Imperatriz (imagem da esquerda) ou Luna (imagem da direita). Note que eu já disse de antemão
quais são os rótulos ou categorias – dado que é um algoritmo de aprendizado supervisionado.
E como um algoritmo poderia decidir algo dessa natureza? Para tal, o supervisor pode escolher um
conjunto de features (também chamados de características ou qualidades). Essas features são
basicamente valores que caracterizam de forma útil as coisas que desejamos classificar. Para o
nosso exemplo, vamos utilizar duas features: envergadura e massa. Para treinar nosso algoritmo de
classificação para fazer boas previsões, vamos precisar de dados de treinamento.
E como conseguimos? Nós podemos enviar um entomologista a uma floresta para capturar diversas
mariposas de ambas as espécies, examiná-las e registrar os valores das duas features que nós
escolhemos em uma tabela. A tabela final resultante contendo todas as mariposas catalogadas com
seu rótulo de espécie, envergadura e massa é também chamado de dados rotulados. Vejamos como
seria uma possível tabela de dados rotulados...
Como temos apenas duas features, é fácil visualizar esses dados em um gráfico de dispersão. Na
imagem da esquerda, eu plotei os dados de 100 mariposas imperatriz em vermelho e 100 mariposas
luna em azul. No eixo horizontal, temos a envergadura em milímetros; no eixo vertical, temos a
massa em gramas. Observe na imagem da direita que é possível ver dois agrupamentos, mas no
meio (círculo roxo) existe uma sobreposição.
Essa sobreposição indica que não é tão óbvio separar dois grupos. É aqui que entram os algoritmos
de aprendizado de máquina: eles são capazes de encontrar uma divisão ideal entre os dois grupos!
Essas linhas que dividem o espaço de decisão são chamadas de limites de decisão porque auxiliam
a indicar qual será o classificador sugerido. Agora notem que interessante: o entomologista
capturou 200 mariposas e criou a tabela de dados rotulados. Logo, nós podemos comparar os dados
rotulados com os dados resultantes do gráfico de dispersão para verificar se as linhas sugeridas
fizeram uma divisão satisfatória ou não para identificar as espécies de mariposa.
Esse é uma das formas de avaliar se o processo de classificação foi satisfatório ou não! Se olharmos
atentamente, podemos verificar que 86 mariposas imperatriz (vermelho) terminaram de forma
correta dentro da região de decisão (em vermelho), mas 14 delas acabaram de forma incorreta no
território da mariposa luna (em azul). Por outro lado, 82 mariposas luna (azul) foram classificadas
corretamente (em azul), com 18 caindo para o lado errado (em vermelho).
Nós podemos representar esses valores por meio de uma matriz de confusão! É o que, Diego? A
matriz de confusão é uma tabela utilizada para avaliar a qualidade de um modelo que mostra as
frequências de classificação para cada classificador/rótulo do modelo. Trata-se geralmente de uma
tabela com duas linhas e duas colunas que exibe a quantidade de erros e acertos de classificação de
uma amostra de dados. Professor, quem está confuso sou eu agora...
Vejam só: as linhas que nós traçamos no gráfico de dispersão acabou ocasionando alguns erros. Das
100 mariposas imperatriz, nós acertamos 86 e erramos 14; das 100 mariposas luna, nós acertamos
82 e erramos 18. Nós podemos colocar esses dados em uma matriz para visualizar mais facilmente
seus acertos e seus erros a fim de avaliar com maior clareza o desempenho do meu modelo de
classificação (aliás, ela também costuma ser chamada de matriz de erro).
Na página seguinte, temos a nossa matriz de confusão! Note que ela possui dois eixos: horizontal,
que indica o valor previsto ou esperado; e vertical, que indica o valor real. Como posso interpretar
essa matriz? Vejamos: nós tivemos 86 mariposas das 200 coletadas pelo entomólogo em que seu
rótulo real na tabela de dados rotulados era mariposa imperatriz e o meu modelo de classificação
classificou corretamente como mariposa imperatriz.
Da mesma forma, nós tivemos 14 mariposas das 200 coletadas pelo entomólogo em que seu rótulo
real na tabela de dados rotulados era mariposa imperatriz, mas o meu modelo de classificação
classificou incorretamente como mariposa luna. Tivemos 18 mariposas em que seu rótulo real era
mariposa luna, mas meu modelo classificou como mariposa imperatriz; e tivermos 82 mariposas
luna corretamente classificadas pelo modelo como mariposa luna.
Observe que não há como desenharmos linhas que nos forneçam 100% de acurácia! Se reduzirmos
o valor limite de decisão da envergadura da mariposa (eixo horizontal), classificaremos
erroneamente mais mariposas imperatriz como mariposas luna; por outro lado, se o aumentarmos,
classificaremos incorretamente mais mariposas luna. E o mesmo tipo de problema ocorre se
alterarmos os limites de massa (eixo vertical).
Outras configurações de linhas poderiam ser testadas para tentar aumentar a acurácia e melhorar
o nosso modelo de classificação. Nós podemos generalizar a matriz de confusão da seguinte forma:
Um bom exemplo para os dias atuais são os exames de coronavírus. Podemos afirmar que um
exame pode resultar em positivo ou negativo, logo se trata de uma classificação binária porque
temos apenas dois rótulos (Classe 1 = Positivo e Classe 2 = Negativo). Logo, os resultados possíveis
são Verdadeiro-Positivo (VP), Falso-Positivo (FP), Verdadeiro-Negativo (VN) ou Falso-Negativo
(FN). Professor, por que você repetiu duas vezes a imagem abaixo?
Observe que há uma pequena diferença nos quadrantes vermelhos: a nomenclatura utilizada pela
área de estatística para Falso-Positivo é Erro Tipo I e de Falso-Negativo é Erro Tipo II. Apenas isso!
Pessoal, uma maneira de medir o desempenho de um processo de classificação é por meio da
acurácia, mas existem outras formas de medir. Nós vamos falar rapidamente sobre a Acurácia,
Sensibilidade, Especificidade, Precisão e F1-Score...
A precisão pode ser utilizada em situações em que falsos-positivos são mais prejudiciais que os
falsos-negativos. Por exemplo: ao classificar ações da bolsa de valores como boas ou ruins, um
falso-positivo pode fazer uma pessoa investir em uma ação ruim e ter prejuízos; já um falso-
negativo pode fazer uma pessoa não investir em uma ação boa e deixar de ter lucros, mas ela não
terá prejuízos, logo é menos prejudicial.
Já o recall pode ser utilizado em situações em que falsos-negativos são mais prejudiciais que os
falsos-positivos. Por exemplo: ao classificar uma pessoa com vacinado ou não-vacinado, um falso-
positivo pode fazer uma pessoa saudável não pegar um avião com outras pessoas; já um falso-
negativo pode fazer uma pessoa infectada pegar um avião com outras pessoas e infectá-las com
seu vírus. Entenderam a importância de medidas diferentes?
Agrupamento
RELEVÂNCIA EM PROVA: média
Vamos falar agora sobre o agrupamento (clustering). De acordo com Leandro Castro e Daniel Ferrari
em Introdução à Mineração de Dados, uma das habilidades mais básicas dos organismos vivos é a
capacidade de agrupar objetos similares para produzir uma taxonomia, isto é, organizar coisas
similares em categorias (também chamadas de grupos ou clusters). A análise de agrupamento
busca analisar dados multivariados a fim de descobrir grupos homogêneos de objetos.
A análise de grupos pode ser definida como a organização de um conjunto de objetos (normalmente
representados por vetores de características, ou seja, pontos em um espaço multidimensional) em
grupos baseada na similaridade entre eles. Dito de outra forma, agrupar objetos é o processo de
Idealmente, objetos pertencentes ao mesmo grupo são mais similares entre si do que a objetos
pertencentes a grupos distintos. Dessa forma, um grupo pode ser definido em função da coesão
interna (homogeneidade) e do isolamento externo (separação) de seus objetos. Diego, qual é a
diferença do agrupamento para a classificação? Esse é um ponto chave que as bancas adoram cobrar
em prova: a classificação é um algoritmo supervisionado e o agrupamento é não supervisionado.
Isso significa que a base de dados de entrada é previamente rotulada, isto é, cada objeto da base
possui a classe correspondente à qual pertence definida a priori. O algoritmo, então, busca
identificar a classe à qual pertence um novo objeto ainda não apresentado e com rótulo de classe
desconhecido. Em regra, objetos rotulados são apresentados ao algoritmo de classificação para que
ele seja treinado, isto é, para que um novo modelo seja criado a fim de classificar novos objetos.
No agrupamento, os dados não são previamente rotulados. Aliás, os rótulos dos objetos são obtidos
apenas a partir do algoritmo de agrupamento e não são utilizados durante o processo de
treinamento do algoritmo. Como se trata de um algoritmo de aprendizado não supervisionado, não
existe um supervisor que guie o aprendizado a fim de minimizar os erros de previsão. A ideia aqui é
que observações que tenham valores de variáveis mais parecidos estejam dentro do mesmo grupo.
Não só isso: observações que estejam em grupos diferentes devem ter os valores de variáveis mais
diferentes possíveis. Em suma: o agrupamento (ou clustering) é um algoritmo não supervisionado –
aquele que não possui um rótulo/target que possa orientar o treinamento de um modelo preditivo
– em que cada observação é atribuída a um grupo formado por outras observações mais similares
entre si e mais diferentes das observações dos demais grupos.
Por que o clustering é importante? Porque ele é muito útil em diversas áreas: no comércio, ele pode
ser utilizado para determinar grupos de clientes que têm padrões de compra semelhantes; na
medicina, pode ser importante para determinar grupos de pacientes que mostram reações
semelhantes aos medicamentos receitados. Enfim, há diversas e diversas possibilidades de
utilização dessa técnica. Agora partimos para as regras de associação...
Regras de Associação
RELEVÂNCIA EM PROVA: média
Regras de Associação são algoritmos não supervisionados utilizados para descobrir relações
interessantes entre variáveis de um grande conjunto de dados. Essas regras nos permitem
identificar frequentemente padrões recorrentes em dados, que podem ser utilizados para realizar
previsões sobre eventos futuros e tomar melhores decisões de negócio. O exemplo clássico de
regras de associação é o do carrinho de supermercado.
Toda vez que você faz compras, cada item das suas compras é armazenado no banco de dados do
supermercado – ele guarda quais produtos você comprou, valores, quantidades, etc. Os itens são
sendo armazenados por meio de transações do banco de dados, logo são utilizados bancos de
dados transacionais, ou seja, aqueles especializados em armazenar informações sobre transações
(inserções, leituras, atualizações e exclusões) efetuadas pelo usuário.
Nesse contexto, nós temos a Análise de Cesta de Mercado! A cesta de mercado corresponde aos
conjuntos de itens que um consumidor compra em um supermercado durante uma visita. Exemplo:
A regra de associação segue o formato X → Y, em que X = {x1, x2, ..., xn} e Y = {y1, y2, ..., ym} são
conjuntos de itens, com x i e yi sendo itens distintos para todo i e todo j. Essa associação indica que,
se um cliente compra X, ele provavelmente também comprará Y. Na tabela acima, é possível notar
que há uma possível associação entre leite e pão. E isso reflete a realidade: quando você vai ao
mercado e compra cerveja, gelo e carne, é provável que você também comprará carvão.
E isso funciona em diversos contextos: quando você compra uma raquete de tênis, já já aparecem
banners de bolinhas de tênis; quando você assiste um filme de terror na Netflix e dá uma boa nota,
da próxima vez ela já te recomenda diversos filmes de terror que pessoas que assistiram o mesmo
que você também gostaram; quando você procura sobre o edital de um concurso que acabou de
sair, em dois tempos aparece o banner do Estratégia Concursos (aliás, obrigado pela confiança).
Isso ocorre porque bases de dados gigantescas possuem uma infinidade de dados que podem ser
minerados em busca de associações interessantes. Vocês entendem agora o porquê do massivo
investimento em inteligência artificial, aprendizado de máquina, mineração de dados, entre outros? Se
uma loja consegue analisar os produtos que você comprou recentemente e, baseado nisso,
consegue fazer uma boa previsão de outro produto para você comprar, ela tem ouro nas mãos!
O Diego comprou um curso para estudar para um concurso, vou oferecer para ele uma mentoria. O
Diego comprou um celular novo, vou oferecer para ele uma capinha bacana. Sacaram a ideia?
Diferentemente do agrupamento, que busca relações de similaridade entre objetos, as regras de
associação buscam relações entre os atributos dos objetos, ou seja, os itens que compõem a base.
O objetivo é encontrar regras fortes de acordo com alguma medida do grau de interesse da regra.
Como uma grande quantidade de regras de associação pode ser derivada a partir de uma base de
dados, mesmo que pequena, normalmente se objetiva a derivação de regras que suportem um
grande número de transações e que possuam uma confiança razoável para as transações às quais
elas são aplicáveis. Esses requisitos estão associados a dois conceitos centrais em mineração de
regras de associação:
MEDIDAS DE
DESCRIÇÃO
INTERESSE
Trata-se da frequência com que um conjunto de itens específicos ocorrem no banco de dados,
SUPORTE/ isto é, o percentual de transações que contém todos os itens do conjunto. Em termos
matemáticos, a medida de suporte para uma regra X → Y é a frequência em que o conjunto de
Prevalência itens aparece nas transações do banco de dados. Um suporte alto nos leva a crer que os itens do
conjunto X e Y costumam ser comprados juntos, pois ocorrem com alta frequência no banco
CONFIANÇA/ Trata-se da probabilidade de que exista uma relação entre itens. Em termos matemáticos, a
medida de confiança para uma regra X → Y é a força com que essa regra funciona. Ela é
Força calculada pela frequência dos itens Y serem comprados dado que os itens X foram comprados.
Uma confiança alta nos leva a crer que exista uma alta probabilidade de que se X for comprado,
Y também será.
Nós dividimos a quantidade de vezes que os itens da esquerda apareceram simultaneamente (nós
já calculamos acima e sabemos que é 4). Dadas essas quatro transações, finalmente calculamos em
quantas vezes o item da direita (Carvão) ocorreu e dividimos pelo valor anterior. Ora, vamos olhar
novamente para as quatro transações: em quantas delas Carvão também apareceu? Em 3 transações:
Compra 1, Compra 3 e Compra 6. Logo, a medida de confiança da regra de associação é ¾ = 75%.
Note que houve uma transação em que foram comprados cerveja, gelo e carne, mas não foi
comprado carvão (Compra 7). Talvez ele já tivesse o carvão em casa né?
Modelos de Regressão
RELEVÂNCIA EM PROVA: média
Uma das principais aplicações de aprendizado de máquina é a previsão, isto é, quando queremos
prever algum atributo tendo somente alguns dados de entrada. Determinamos como fazer essa
previsão com base em exemplos históricos de dados de entrada e saída, isto é, baseado em
comportamentos observados no passado, conseguimos fazer inferências sobre o futuro. Para tal,
nós utilizamos modelos preditivos. O que seria isso, Diego?
Um modelo preditivo é aquele responsável por relacionar dados de entrada (também chamados de
variáveis independentes) com o resultado esperado (também chamados de variável dependente ou
variável alvo contínua2). Diferentes modelos geram formas matematicamente muito diferentes de
construir a relação entre as variáveis de entrada e de saída, tornando-os assim capazes de captar
padrões estatísticos também diferentes.
Em suma: modelos preditivos são basicamente uma função matemática que, quando aplicada a
uma massa de dados, é capaz de identificar padrões e oferecer uma previsão do que pode ocorrer.
Existem vários tipos de modelos preditivos, dentre eles se destacam os modelos de regressão. Esses
modelos compreendem uma ampla família de modelos derivados da estatística, embora dois deles
(regressão linear e a regressão logística) sejam os mais frequentemente utilizados.
Os dois modelos de regressão mais conhecidos são a regressão linear e a regressão logística, mas
existem outros que não detalharemos nessa aula, tais como: Ordinary Least Squares Regression
2
Variáveis contínuas são variáveis numéricas que têm um número infinito de valores entre dois valores quaisquer (Ex: uma régua possui valores
contínuos, dado que 3 cm é diferente de 3,01 cm, que é diferente de 3,01354 cm, que é diferente de 3,01355, e assim por diante).
Regressão é uma técnica para investigar a relação entre variáveis ou features independentes e uma
variável ou resultado dependente. É usado como um método de modelagem preditiva em
aprendizado de máquina, no qual um algoritmo é usado para prever resultados contínuos. Resolver
problemas de regressão é uma das aplicações mais comuns para modelos de aprendizado de
máquina, especialmente em aprendizado de máquina supervisionado.
Os algoritmos são treinados para entender a relação entre variáveis independentes e um resultado
ou variável dependente. O modelo pode então ser aproveitado para prever o resultado de dados de
entrada novos e não vistos, ou para preencher uma lacuna nos dados ausentes. A análise de
regressão é parte integrante de qualquer modelo preditivo, portanto é um método comum
encontrado na análise preditiva baseada em aprendizado de máquina.
Apesar de haver diversas diferenças entre classificação e regressão, é possível converter uma na
outra e vice-versa, modificando a representação da variável-alvo. Por exemplo: se eu quiser
transformar uma regressão em uma classificação, eu posso definir um valor limite para determinar
a qual classe uma observação pertence. Como assim, Diego? Imagine que eu queira classificar um
conjunto de mulheres em baixas, regulares e altas.
Eu posso definir um intervalo de 1,60 cm a 175 cm de forma que aquelas que tenham altura menor
ou igual a 1,60 cm serão consideradas baixas; aquelas que tenham altura entre 1,61 e 1,74 serão
consideradas regulares; e aquela que tenham altura maior ou igual a 1,75 serão consideradas altas.
É isso, basta dividir o conjunto de possíveis valores numéricos em intervalos de forma que cada
intervalo se torne uma classe.
Regressão Linear
A regressão linear é a ferramenta estatística que nos ajuda a quantificar a relação entre uma variável
específica e um resultado que nos interessa enquanto controlamos outros fatores. Em outras
palavras, podemos isolar o efeito de uma variável enquanto mantemos os efeitos das outras
variáveis constantes. A imensa maioria dos estudos que você lê nos jornais é baseada em análise de
regressão. Vamos ver alguns exemplos...
Há um estudo que afirma que, crianças que passam muito tempo em creches são mais propensas a
apresentar problemas comportamentais quando vão para escola do que crianças que passam esse
tempo em casa com seus pais. Ora, por acaso os pesquisadores designaram aleatoriamente milhares
de crianças pequenas a creches ou a ficarem em casa com um dos pais para fazer a pesquisa? É
evidente que não!
Diferentes famílias tomam decisões distintas em relação a como cuidar dos filhos porque são
diferentes. Alguns lares têm os dois pais presentes; outros não têm. Alguns têm os dois pais
trabalhando; outros não têm. Alguns lares são mais ricos e mais cultos que outros. Nós sabemos
que todas essas coisas afetam a decisão de como cuidar dos filhos e afetam o desempenho futuro
das crianças dessas famílias na escola.
Quando feita adequadamente, a regressão linear pode nos ajudar a estimar os efeitos das creches
separadamente de outras coisas que afetam crianças pequenas como renda familiar, estrutura
familiar, educação parental, e assim por diante. Hoje em dia, de posse dos dados adequados e com
acesso a um computador, uma criança de seis anos pode usar um programa de estatística básica
para gerar resultados de regressão. Aliás, o próprio MS-Excel possui essa funcionalidade...
O computador tornou possível realizar a parte mecânica da análise de regressão quase sem nenhum
esforço. Até porque existe uma ideia básica subjacente a absolutamente todas as formas de análise
de regressão – desde as relações estatísticas mais simples até os modelos supercomplexos criados
por ganhadores do Prêmio Nobel de Economia! Em essência, a regressão linear busca encontrar o
“melhor encaixe” para uma relação linear entre duas variáveis.
Um exemplo simples é a relação entre altura e peso. Como assim, Diego? Ora, pessoas mais altas
tendem a pesar mais – embora obviamente esse não seja sempre o caso. Vejamos um exemplo:
Se lhe fosse pedido que descrevesse o padrão, você poderia dizer algo mais ou menos do tipo: “O
peso parece aumentar com a altura”. É um bom entendimento, mas a regressão linear nos dá a
possibilidade de ir além e “encaixar uma reta” que melhor descreva uma relação linear entre as duas
variáveis (Peso e Altura). Muitas retas possíveis são amplamente consistentes com os dados de altura
e peso, mas como sabemos qual é a melhor reta para esses dados?
É aqui que entra em cena o aprendizado de máquina! A ideia do algoritmo é oferecer vários dados
para que ele encontre a equação que melhor descreve e se ajusta aos dados, isto é, que minimize a
variância dos erros em uma predição. A Regressão Linear utiliza tipicamente uma metodologia
chamada de Mínimos Quadrados Ordinários (MQO). O ponto-chave dessa metodologia reside na
parte dos “Mínimos Quadrados” do nome...
O MQO encaixa a reta que minimiza a soma dos residuais elevados ao quadrado. Calma, não é tão
complicado quanto parece! Cada observação nos nossos dados de altura e peso tem um residual,
que é a distância vertical a partir da reta de regressão, exceto para aquelas observações que se
situam diretamente em cima da reta, para as quais o residual vale zero. Note que, quanto maior a
soma geral dos residuais, pior é o encaixe da reta.
Por que o nome do método contém as palavras “mínimo quadrados”? Porque a fórmula pega o
quadrado de cada residual antes de somar todos e isso aumenta o peso dado àquelas observações
mais distantes da reta de regressão – chamadas de extremos ou outliers. Dessa forma, os mínimos
quadrados ordinários “encaixam” a reta que minimiza a soma dos residuais ao quadrado conforme
é ilustrado na imagem da página anterior.
Se os detalhes técnicos lhe deram dor de cabeça, você estará desculpado se entender apenas o
ponto principal, que é o seguinte: os mínimos quadrados ordinários nos dão a melhor descrição de
uma relação linear entre duas variáveis. O resultado não é somente uma reta, mas uma equação
que descreve essa reta. Essa equação é conhecida como equação de regressão linear simples3 e
assume a seguinte forma apresenta a seguir:
y = a + bx ou
y = α + ßx
onde y é o peso em quilos; a é o intercepto, isto é, ponto em que a reta intercepta o eixo y (valor de
y quando x = 0); b é a inclinação da reta; e x é a altura em centímetros. A inclinação da reta que
encaixamos descreve a “melhor” relação linear entre altura e peso para essa amostra, conforme
definida pelos mínimos quadrados ordinários. A reta de regressão é perfeita? É claro que não! Ela
com certeza não descreve perfeitamente toda observação nos dados.
Por outro lado, ela é a melhor descrição que podemos obter para o que é claramente uma relação
significativa entre altura e peso. Poderíamos escrever a nossa equação de regressão dessa forma:
peso = a + b*altura
3
Existe também a Regressão Linear Múltipla, quando há mais de uma variável independente (Ex: y = a + bx + cy + dz).
Regressão Logística
A ferramenta de regressão linear é eficaz, mas possui suas limitações! Por exemplo: ela permite
trabalhar apenas com dados quantitativos (contínuos) e, não, com dados qualitativos (categóricos).
Quando essa é a sua necessidade, você deve recorrer à regressão logística, que é um algoritmo de
aprendizagem de máquina supervisionado utilizado para classificação (apesar de ter a palavra
regressão em seu nome – cuidado com a pegadinha!).
Em geral, a utilização da regressão logística se dá com categorias binárias, isto é, aquelas que
podem assumir somente dois valores (Ex: grande ou pequeno, alto ou baixo, sim ou não, lucro ou
prejuízo, válido ou inválido, entre outros). Vamos imaginar que queiramos definir se um
determinado paciente está ou não infectado com coronavírus, logo nossas categorias são:
infectado ou não-infectado.
Para tal, nós vamos reunir diversas informações contidas em um exame de sangue, tais como
contagem de anticorpos, contagem de plaquetas, contagem de leucócitos, entre outros – essas
informações são também chamadas de variáveis independentes. Em seguida, será aplicado um
coeficiente ou peso a cada uma dessas variáveis que comporão uma função de regressão linear
múltipla e retornará um determinado valor como resposta (variável dependente).
A função de ativação que recebe como entrada um número real [-∞, +∞] retornado por uma função
de regressão linear e sempre retorna um número entre [0,1] é chamada de Função Sigmóide4.
4
Trata-se de uma função estritamente crescente que varia [-∞,+∞] horizontalmente e [0,1] verticalmente. Por conta de seu formato, pode ser
chamada de Função em S.
Eu posso ir ajustando os coeficientes das variáveis independentes da minha regressão linear para
refletir um valor coerente de probabilidade após aplicar a regressão logística. Vejamos:
Eu coloco os valores de quantidade de anticorpos, leucócitos e plaquetas de uma pessoa que eu sei
que está com coronavírus, o modelo ajusta os coeficientes (a, b, c, d) e retorna um resultado. Em
seguida, após aplicar a função sigmóide nesse resultado, eu espero que ela retorne uma alta
probabilidade de essa pessoa estar com coronavírus (Ex: 0,9), dado que a pessoa realmente está
infectada com coronavírus, logo esse seria um resultado coerente.
Se ele retornar um valor como 0,2 (isto é, 20% de probabilidade de essa pessoa estar infectada com
coronavírus), significa que o modelo ainda não está bacana porque sabemos que a pessoa
efetivamente está infectada com coronavírus. É claro que – quanto mais dados de treinamento –
mais o modelo de aprendizado de máquina ajusta os coeficientes e maiores as chances de ele
retornar uma probabilidade coerente com a realidade.
Pássaros nos inspiraram a voar, raízes de arctium inspiraram a criação do velcro e a natureza
inspirou muitas outras invenções. Parece lógico, então, olhar para a arquitetura do cérebro em
busca de inspiração sobre como construir uma máquina inteligente. Esta é a ideia que inspirou as
Redes Neurais Artificiais. Claro que, embora aviões tenham sido inspirados por pássaros, eles não
precisam bater as asas. Assim, essa tecnologia foi ficando cada vez mais diferente dos neurônios.
A redes neurais artificiais são versáteis, poderosas e escaláveis, tornando-as ideais para lidar com
tarefas de aprendizado de máquina altamente complexas, como classificar bilhões de imagens (Ex:
Google Imagens), alimentar serviços de reconhecimento de voz (Ex: Siri da Apple), recomendar os
melhores vídeos para assistir (Ex: YouTube Recommendations). No entanto, antes de discutirmos
os neurônios artificiais, vamos dar uma olhada rápida em um neurônio biológico.
uma vasta rede de bilhões de neurônios – cada neurônio normalmente conectado a milhares de
outros neurônios.
Cálculos altamente complexos podem ser realizados por uma vasta rede de neurônios bastante
simples, da mesma forma que um formigueiro complexo pode emergir dos esforços combinados
de formigas simples. Dois pesquisadores – Warren McCulloch e Walter Pitts – propuseram um
modelo muito simples de neurônio biológico, que mais tarde ficou conhecido como neurônio
artificial: ele tem uma ou mais entradas binárias (liga/desliga) e uma saída também binária.
O neurônio artificial funciona de maneira muito simples: ele ativa sua saída quando mais de um
certo número de suas entradas estão ativas. Os pesquisadores mostraram que mesmo com um
modelo tão simplificado é possível construir uma rede de neurônios artificiais que computa
qualquer proposição lógica que você deseja. Pois bem! Em 1958, esses pesquisadores mostraram
suas descobertas em uma conferência de inteligência artificial na Universidade de Dartmouth.
Como esse assunto é muito empolgante (Vai me dizer que não é? Não é possível!), um psicólogo
chamado Frank Rosenblatt que assistiu a conferência e saiu de lá inspirado e determinado a criar
um neurônio artificial. Seu objetivo era ensinar um computador gigantesco de inteligência artificial
chamado Perceptron a se comportar como um neurônio ao classificar imagens como triângulos ou
não-triângulos com sua supervisão/treinamento.
O psicólogo sabia já naquela época que neurônios são células que processam e transmitem
mensagens utilizando sinais elétricos e químicos. Eles recebem um ou mais sinais de entrada de
outras células, processam os sinais recebidos e depois emitem seu próprio sinal. Os neurônios,
então, formam uma colossal rede de interconexão que é capaz de processar informações
extremamente complexas.
Rosenblatt conectou o Perceptron a uma câmera fotográfica de inacreditáveis 400 pixels (eu disse
pixels e, não, megapixels). Essa era a tecnologia de ponta da época – cerca de um bilhão de vezes
menos poderosa do que a câmera traseira de qualquer smartphone hoje em dia. A ideia era mostrar
para a câmera a imagem de um triângulo ou não-triângulo (Ex: círculo). Dependendo se a câmera
viu tinta ou não em cada pixel, ela enviaria um sinal elétrico diferente para o Perceptron.
O Perceptron somava os sinais elétricos referentes aos pixels que correspondiam com a forma de
um triângulo – essa soma era chamada de carga elétrica total. Se a carga fosse acima de um certo
limite estipulado pelo psicólogo, a máquina a enviaria para acender uma lâmpada – equivalente a
um neurônio artificial falando: "Sim, isso é um triângulo!"; mas se a carga fosse abaixo do limite, ela
não seria suficiente para acender a lâmpada – seria o equivalente a dizer: “Não é um triângulo!”.
No início, o Perceptron estava basicamente fazendo suposições aleatórias, até que Rosenblatt
começou a treinar o algoritmo. Quando o Perceptron acertava, ele apertava um botão para
confirmar e fim; mas quando o Perceptron errava, ele apertava um botão para indicar o erro, o que
disparava uma cadeia de eventos e cálculos para reajustar o limite de carga elétrica suficiente para
acender a lâmpada de forma que as chances de a máquina acertar nas próximas vezes aumentava.
Vocês pegaram a ideia? O perceptron é a unidade básica de uma Rede Neural Artificial (RNA), sendo
equivalente a um neurônio biológico. Vejamos abaixo como seria sua estrutura básica:
Note que temos um conjunto de n entradas (e1, e2, e3, ..., en) que são multiplicadas por pesos
específicos associados a cada entrada (p1, p2, p3, ..., pn). Cada um desses pesos é livremente
ajustável de forma independente dos demais. Em seguida, nós realizamos a soma de cada entrada
multiplicada por seu respectivo peso associado. E o próximo passo é somar tudo isso com uma
entrada especial denominada viés ou bias (b).
Em outras palavras, podemos afirmar que o peso de uma entrada representa seu grau de força ou
influência no resultado – quanto maior o peso de uma determinada entrada, maior será a influência
no resultado; e o viés (bias) é um valor que pode ser ajustado para aumentar ou diminuir a força do
sinal ao adicionar um valor positivo/negativo com o intuito de regular o formato/curvatura da
função e ajustá-la ao propósito desejado (veremos em detalhes mais à frente).
Ora, isso lembra alguma coisa para vocês? Estamos multiplicando valores por um coeficiente,
somando-os e adicionando uma constante! Bem, isso parece uma regressão linear múltipla:
y = a + bx + cy + dz ...
A lógica básica de um perceptron até essa parte inicial é realmente parecida com uma regressão
linear, mas ainda não acabamos de ver a sua estrutura. Note que a etapa seguinte passa o resultado
da regressão linear por uma função de ativação, responsável por fazer uma transformação não-
linear do resultado da etapa anterior e definir se um nó será ativado ou não. Explicando um pouco
melhor sem entrar nos detalhes matemáticos...
Funções lineares (Ex: regressão linear) são aquelas que podem ser representadas em um plano
cartesiano como uma reta. O objetivo da função de ativação é transformar o formato de reta em
um formato não linear, tornando a função mais flexível/adaptável para tarefas complexas – além de
permitir que pequenas alterações na entrada de dados não causem grandes alterações na saída de
dados. Existem duas grandes classes de funções de ativação: funções de limite e funções sigmóides.
FUNÇÃO DE
FUNÇões de limite
ATIVAÇÃO
Descrição da Essa função compara um valor com um
função determinado limite (nesse caso, o limite é 0) e
Representação
da fórmula
Por conta disso, perceptrons modernos utilizam funções sigmóide. Nesse caso, podemos ver o
resultado do perceptron como uma espécie de regressão logística (estudada no tópico anterior).
Trata-se de uma função estritamente crescente que recebe um valor real qualquer que varia
horizontalmente entre [-∞,+∞] e varia verticalmente [0,1]. A função sigmóide mais famosa é a
função logística apresentada a seguir (frequentemente são tratadas como sinônimos):
FUNÇÃO DE
Funções logísticas
ATIVAÇÃO
Essa função recebe um valor real qualquer
Descrição da como entrada [-∞,+∞] e retorna um valor de
função saída entre 0 e 1.
Representação
da fórmula
Há também o caso em que desejamos que o resultado assuma valores entre [-1,1]. Para tal,
podemos utilizar um outro tipo de função sigmóide chamada de tangente hiperbólica:
FUNÇÃO DE
FUNÇÃO tangente hiperbólica
ATIVAÇÃO
Essa função recebe um valor real qualquer
Descrição da como entrada [-∞,+∞] e retorna um valor de
função saída entre -1 e 1.
Representação
da função
Essa transformação não-linear realizada pelas funções de ativação permite tornar o perceptron
mais capaz de aprender e executar tarefas complexas. Pronto! Agora nós passamos por todo o
funcionamento do perceptron original e moderno, mas ainda não sabemos como essa unidade de
redes neurais vai aprender alguma coisa! A ideia é atribuir um valor aleatório aos pesos e comparar
o valor de saída do perceptron com o valor esperado (que nós conhecemos de antemão).
Quanto mais iterações houver desse processo de aprendizado, mais os pesos serão ajustados, mais
treinado estará o algoritmo e menor será o erro médio das suas previsões. Vamos ver um exemplo
para consolidar o entendimento: suponha que queiramos saber o gênero de determinada pessoa
(masculino ou feminino). Considerem também que nós possuímos uma tabela contendo em cada
linha dados de vários atributos de milhares de pessoas.
Dentre os atributos dessa tabela, temos: altura, peso, envergadura, cor do cabelo, classe social e
escolaridade – e nós já sabemos de antemão o gênero de cada uma das pessoas. Cada entrada do
nosso perceptron será correspondente aos dados de uma determinada pessoa, logo ele terá seis
entradas – uma para cada atributo. O algoritmo começa atribuindo um peso aleatório para cada
uma dessas entradas.
Em seguida, ele faz a multiplicação dos valores de entrada pelos seus respectivos pesos aleatórios,
soma tudo (inclusive o viés), passa por uma função de ativação de não linearidade e retorna um
valor de probabilidade de pessoa ser do gênero masculino ou feminino. Como nós sabemos o
resultado esperado (isto é, gênero), nós podemos treinar o algoritmo corrigindo ou ratificando o
resultado obtido pelo perceptron para cada uma das pessoas da nossa tabela.
A cada erro, o perceptron poderá fazer um ajuste nos pesos a fim de reduzir falhas e fornecer uma
previsão mais acurada. É provável que, após algumas iterações, o algoritmo perceba que alguns
atributos têm mais influência para decidir sobre o gênero biológico de uma pessoa do que outros.
Intuitivamente, podemos dizer uma pessoa de 2,00m de altura tem maior probabilidade de ser do
gênero masculino do que ser do gênero feminino.
Da mesma forma, podemos dizer intuitivamente que uma pessoa com cabelo vermelho tem maior
probabilidade de ser do gênero feminino do que ser do gênero masculino. Por outro lado, podemos
dizer também que a classe social não é um atributo que influencia bastante na probabilidade de
uma pessoa ser do gênero masculino ou feminino. Dessa forma, o algoritmo vai aprendendo, vai se
ajustando e vai dando pesos mais altos aos atributos efetivamente mais importantes.
Dito isso, é importante saber que o perceptron é a unidade básica de uma rede neural artificial,
assim como o neurônio é a unidade básica de uma rede neural biológica. Vejamos uma comparação:
Agora que entendemos os fundamentos básicos dos perceptrons, podemos evoluir um pouco mais
em nosso estudo! Na prática, os perceptrons não são utilizados isoladamente – eles são combinados
com diversos outros perceptrons. Existem diversas formas de organização de perceptrons, sendo a
organização por camadas a mais comum. Aquelas que serão objeto de estudo nesse tópico serão:
Single Layer Perceptrons (SLP) ou Multilayer Perceptrons (MLP).
A imagem seguinte apresenta uma rede neural do tipo Single Layer Perceptron (SLP). Trata-se de
uma rede neural que organiza os perceptrons em uma única camada de processamento. Professor,
não seriam duas camadas como mostra a imagem? Não! Apesar de possuir duas camadas, apenas os
perceptrons (que agora vamos chamar de nós) da camada de saída realizam processamentos – os
nós da camada de entrada apenas transferem os valores diretamente para a camada de saída.
Esse tipo de rede neural é raramente utilizado justamente por utilizar perceptrons originais, isto é,
aqueles cuja função de ativação é uma função de limite (em formato de degrau). Esse tipo de redes
neurais é mais adequado para resolver problemas de classificação, porém apenas aqueles em que
as classes são linearmente separáveis. Como é, Diego? Isso significa que ele só lida com situações
em que é possível traçar ao menos uma linha reta separando classes em um plano coordenado 5.
5
Seria o equivalente a um hiperplano dentro de um espaço tridimensional.
Trata-se de uma arquitetura de redes neurais artificiais que utiliza múltiplas camadas de
perceptrons. Nesse caso, temos duas camadas que realizam processamentos: camada oculta e
camada de saída. Da mesma forma da arquitetura anterior, os nós da camada de entrada apenas
transferem os valores (com seus respectivos pesos) para os nós da camada oculta ou camada
escondida – eles são os únicos perceptrons que não executam uma função de ativação.
Já em contraste com a arquitetura anterior, aqui são utilizados perceptrons modernos, isto é,
aqueles cuja função de ativação é uma função sigmóide. Aos dados de entrada são aplicados pesos,
em seguida eles são sendo processados pela camada oculta até chegarem a um resultado de saída.
Um exemplo resultado de saída poderia ser a probabilidade de uma pessoa ser do gênero masculino
ou feminino, de forma que aquela que tivesse maior probabilidade seria a previsão do algoritmo.
Isso significa que os sinais de informação de uma camada somente alimentam a próxima camada –
jamais alimentam a camada anterior ou a camada atual. Logo, os sinais não formam ciclos (em
contraste com redes neurais recorrentes, por exemplo). Em redes neurais feed-forward, os sinais
avançam sempre para frente, fluindo da camada atual para a próxima de forma sequencial. Por falar
em camadas, é possível que a rede neural tenha várias camadas ocultas 6.
6
Esse termo se refere ao fato de que essa parte da rede neural não é vista diretamente nem pelas nem pelas entradas nem pelas saídas. É como se
fosse uma caixa-preta em que entregamos um valor, ela faz uma série de processamentos e retorna um resultado.
Atualmente existem redes neurais com mais de mil camadas escondidas, além de trilhões de
perceptrons. Agora vocês se lembram que nós falamos de Deep Learning no início da aula? Nós
dissemos que era uma aplicação de aprendizado de máquina! Pois é, sendo mais específico, o
aprendizado profundo é uma rede neural artificial em que múltiplas camadas escondidas (ao menos
três7) de processamento são utilizadas para extrair progressivamente características de dados.
A imagem anterior apresenta um exemplo de aprendizado profundo. A ideia é que, após um grande
número de iterações (repetições), os pesos estejam relativamente ajustados e a rede convirja para
um ponto de estabilidade, isto é, há pouco ou nenhum ajuste dos pesos e os erros são bem mais
raros. Quando chegamos nesse ponto, podemos utilizar essa rede neural para generalizar um
problema para futuros novos dados de maneira assertiva.
Esse fenômeno em que erros de previsão entre saídas obtidas e saídas esperadas de uma rede
neural artificial são quantificados por meio de uma função de custo/perda (Ex: Erro Quadrático
Médio – EQM) e retornam para a rede em forma de ajuste dos pesos e vieses é chamado de
Retropropagação (ou Backpropagation). Sendo um pouco mais detalhista, esse algoritmo consiste
basicamente em duas etapas principais:
7
Não há um consenso sobre a quantidade mínima de camadas ocultas para se considerar uma rede neural como rede profunda.
1. Etapa de Propagação: as entradas fluem através das camadas ocultas da rede neural e previsões
são obtidas na camada de saída;
No aprendizado de máquina, frequentemente nós queremos otimizar alguma coisa. Para tal, nós
vamos alterando valores de uma função (às vezes aleatoriamente, às vezes de forma estruturada)
para retornar a melhor saída possível – em geral, buscamos os coeficientes que minimizam o erro.
Por exemplo: queremos treinar um algoritmo para, dada uma imagem, reconhecer se é um gato ou
um cachorro. O que fazemos?
Vamos alterando os coeficientes de uma determinada função até chegar ao menor erro possível.
Falando metaforicamente: imaginem que uma pessoa foi sequestrada e liberada no topo de uma
montanha. Ela está sozinha e deseja voltar para casa. Para tal, ela precisa descer até a base da
montanha, mas tem muita névoa – ao ponto de ela enxergar bem só 1 metro à frente dela. Qual
seria a melhor estratégia para essa pessoa?
Ela poderia dar um passo na direção sul e voltar, um passo na direção norte e voltar, um passo na
direção leste e voltar e um passo na direção oeste e voltar. Pronto! Ela compara qual passo chega
em uma altitude menor e desce nessa direção. Se ela fizer isso repetidamente, a cada passo ela
descerá para uma altitude mais baixa. Voltando à realidade, essa montanha pode ser representada
como na imagem seguinte:
Notem que, para cada ponto, é calculado o gradiente e vamos descendo até chegar ao ponto mais
baixo, por isso é chamado de gradiente descendente. Ocorre que, assim como as montanhas, as
funções podem ser convexas ou não convexas. Uma função é dita convexa somente quando uma
linha traçada entre quaisquer dois pontos está sempre acima da curva; o que não ocorre em funções
não convexas. Vejam as diferenças:
Note que na curva que representa a função convexa, temos apenas um ponto mínimo; e na curva
que representa a função não convexa, temos mais de um ponto mínimo. Vejam outro exemplo:
Notem que, nas funções não convexas, temos um mínimo global, mas podemos ter vários mínimos
locais. Para finalizar esse assunto, é importante saber que existem dois tipos de gradiente
descendente: em lote (batch) e estocástico. O gradiente descendente em lote é adequado para
funções convexas, contínuas e diferenciáveis, e utiliza – a cada iteração – todos os dados da base de
treinamento para otimizar os pesos dos nós de uma rede neural.
Já o gradiente descendente estocástico é adequado para funções não convexas, e escolhe uma sub-
amostra aleatória dos dados da base de treinamento para otimizar parâmetros. Diego, se a questão
não especificar de qual gradiente descendente ela está falando, qual deles eu considero como padrão?
O padrão é pensar no gradiente descendente em lote. Existe uma matemática pesada envolvendo
todo esse assunto, mas evidentemente não entraremos nesse nível de detalhe.
Agora vamos falar de um ponto que eu acho que vocês não notaram: há duas maneiras de
representar o viés em uma arquitetura de multicamadas de perceptrons. É possível representá-lo
como um valor externo adicionado à soma ponderada de cada perceptron ou como um nó sempre
ativo que recebe uma entrada de valor fixo = 1 e é multiplicado por um valor de peso variável. Ambos
são matematicamente idênticos! E por que existe o viés?
Considere um exemplo simples: você tem um perceptron com dois nós de entrada e1 e e2 e um nó
de saída s. As entradas e1 e e2 são recursos binários e, em nosso exemplo, têm o valor e1 = e2 = 0.
Ora, se os valores de entrada são 0, então os pesos não terão nenhuma relevância porque qualquer
valor multiplicado por 0 é 0. Se não existisse o viés, o nó de saída retornaria 0. Ele é útil, portanto,
para aumentar a flexibilidade do modelo para se adequar aos dados.
Note que, no segundo caso, o nó especial de viés é inserido na camada de entrada e nas camadas
ocultas, mas não faz sentido incluí-lo na camada de saída. Além disso, não está representado na
imagem, mas cada segmento de reta que liga representa um valor da camada anterior multiplicado
pelo seu respectivo peso. Já caiu um nome alternativo para o viés em outras provas chamado Termo
de Interceptação (ou Intercept Term).
Um modelo preditivo busca acertar o máximo de previsões sobre novos dados (dados
desconhecidos – aqueles que não fizeram parte dos dados do conjunto de treinamento do algoritmo
de aprendizado de máquina). No entanto, erros acontecem! Por melhor que seja um modelo
preditivo, ele possuirá uma taxa de erros. E o que seria um erro em um modelo preditivo? Trata-se de
uma diferença entre o valor previsto e o valor real obtido. Legal...
E por que erros acontecem em um modelo preditivo? Atualmente existem tecnologias de hardware e
software modernas capazes de realizar processamentos extremamente complexos que executam
cálculos matemáticos absurdamente avançados e, ainda assim, nossos modelos preditivos ainda
erram previsões. Por que isso ocorre? Vamos novamente imaginar o cenário em que um algoritmo
busca prever o gênero de uma pessoa baseada em um conjunto de características.
Suponha que uma tabela contenha 100 milhões de linhas, cada uma representando uma pessoa.
Nas colunas, há dados sobre diversas variáveis disponíveis sobre essas pessoas (Ex: altura, peso,
idade, cor do cabelo, envergadura, classe social, nacionalidade, quantidade de plaquetas, taxa de
testosterona, taxa de estrogênio, percentual de gordura, etc). Um bom algoritmo vai aprender com
essas 100 milhões de entradas e ajustará os pesos de cada característica.
Ele provavelmente dará um peso baixíssimo para o atributo de classe social, uma vez que a taxa de
homens e mulheres por classe social é praticamente idêntica, logo esse atributo influenciará pouco
na previsão de gênero de uma pessoa. Por outro lado, o percentual de gordura terá um peso maior,
porque geralmente homens tem menor percentual de gordura que mulheres. É provável que esse
algoritmo tenha uma taxa de acerto em suas previsões de, por exemplo, 99,00%.
Isso significa que, a cada 100 observações, esse modelo erra uma única previsão! Apenas uma, mas
erra! E por quê? Porque é possível existir um homem com altura e peso medianos, baixa taxa de
testosterona, alta taxa de estrogênio, entre outros atributos. Dito de outra forma, um algoritmo
preditivo geralmente não é capaz de eliminar todas as possíveis zonas de interseção entre diversas
categorias de classificação. E quais são as fontes de erro de um modelo preditivo?
Note que os dados observados podem ser generalizados como uma função das variáveis disponíveis
+ uma função de variáveis indisponíveis + variações. O dado observado ao final é a previsão se uma
pessoa é homem ou mulher; as variáveis disponíveis são aquelas que efetivamente conhecemos e
estão presentes em nossa tabela, tal como peso, altura, etc; as variáveis desconhecidas são aquelas
que influenciam no resultado, mas nós não as conhecemos. Como assim, Diego?
Uma variável desconhecida poderia ser a taxa de hemoglobina no sangue, que é um grande
indicativo de gênero – dado que homens possuem uma taxa maior que mulheres. Já as variações
podem ser divididas em aleatoriedades e erros: a primeira indica um possível fenômeno que não
obedece a nenhum padrão estatístico; e a segunda pode ocorrer de diversas formas tais como erros
de ruídos, erros de medida, erros de aproximação, erros de registro, entre outros.
Erros de ruídos ocorrem, por exemplo, quando o rádio começa a chiar – o que significa que ele está
captando sinais que não deveriam estar sendo captados; erros de medida ocorrem quando, por
exemplo, há um desgaste no instrumento de medida, o que faz com que os resultados obtidos
sejam diferentes; erros de aproximação ocorrem quando fazemos, por exemplo, arredondamentos
nas medidas; erros de registros ocorrem quando, por exemplo, anotamos errado as medidas.
Note, portanto, que o resultado obtido (homem ou mulher) depende de funções que eu realmente
consigo modelar, mas também de funções de variáveis desconhecidas (que não podem ser
modeladas), além de padrões aleatórios que – por definição – não podem ser modelados
individualmente e um conjunto de possíveis erros sobre os quais nem sempre podemos modelar de
forma satisfatória.
Vocês se lembram que uma ideia fundamental do aprendizado de máquina é minimizar o erro? Pois é!
Conforme podemos notar pelo diagrama apresentado, nada podemos fazer quanto às variáveis
desconhecidas ou aleatoriedades, mas podemos tentar minimizar erros de ruído, medida, registro,
aproximação, entre outros. Dito isso, por que modelos erram? Em regra, porque ele não é capaz de
modelar de forma satisfatória todos os elementos que compõem o resultado obtido de um dado.
Por fim, um bom modelo encontra padrões que podem ser generalizados por uma função que reduz
o erro de generalização obtido para entradas desconhecidas. Lembrando que a generalização é a
capacidade de aprender com os dados disponíveis as regras gerais que você pode aplicar a todos os
8
Apesar de complexo, é até possível modelar a aleatoriedade de um conjunto de dados, mas não de dados individuais.
outros dados. Dados fora da amostra de treinamento, portanto, tornam-se essenciais para
descobrir se é possível aprender com os dados e até que ponto. Fechou? :)
Vamos passar rapidamente pelo fluxo de processos típico de aprendizado de máquina para modelos
preditivos. Para tal, vejam o diagrama a seguir:
Essa etapa também é responsável por remover possíveis características redundantes, excessivas,
desnecessárias ou altamente correlacionadas – também chamado de redução de dimensionalidade
(que veremos mais à frente). Em seguida, separamos os dados de forma aleatória em duas partes:
conjunto de dados de treinamento (ou indução) e conjunto de dados de teste. Em geral, divide-se
de forma que o primeiro seja maior que o segundo – mas isso não é uma regra!
Em poucas palavras, podemos dizer que os dados de treinamento são utilizados para construir um
modelo, enquanto os dados de teste são utilizados para validar o modelo construído. Professor, o
que seria esse tal modelo? Um modelo é basicamente uma equação matemática utilizada para
definir valores de saída a partir de valores de entrada. A ideia do algoritmo de aprendizado de
máquina é ir ajustando essa equação até que ela consiga fazer previsões satisfatórias! Voltando...
Nós podemos afirmar que os dados de treinamento são aqueles utilizados como fonte para
identificação de um padrão estatístico consolidado que possa ser representado por um modelo de
aprendizado de máquina, isto é, são os dados que vamos utilizar para treinar a máquina. Já os dados
de teste são aqueles que não foram utilizados para treinamento e serão utilizados apenas para a
avaliação do desempenho do modelo, isto é, são dados de teste que a máquina nunca teve contato.
Uma vez que os conjuntos de dados estejam prontos, o segundo passo é selecionar um algoritmo
para executar sua tarefa desejada. Na etapa de aprendizagem, é possível testar alguns algoritmos
e ver como eles se comportam. Há uma grande variedade de métricas que podem ser usadas para
medir o desempenho de um modelo de aprendizado de máquina (Ex: Acurácia – proporção de
previsões corretas sobre o total de previsões possíveis).
Um bom modelo é aquele que foi bem treinado ao ponto de conseguir ser generalizado para dados
desconhecidos. Dito isso, se o modelo criado a partir dos dados de treinamento for utilizado nos
dados de teste e resultar em uma boa acurácia, podemos dizer que ele encontrou um padrão geral
nos dados e faz uma boa generalização; se tiver uma baixa acurácia, podemos dizer que ele
identificou um padrão muito específico dos dados de treino, mas não faz uma boa generalização.
Ao final do treinamento, teremos um modelo final criado com base nos padrões estatísticos
extraídos do conjunto de dados de treinamento. A etapa seguinte busca realizar previsões de
rótulos (categorias) baseado nos dados de teste, que são desconhecidos pelo algoritmo. Como nós
sabemos qual é o resultado esperado de categoria, podemos avaliar se o modelo criado acertou a
categoria e descobrir se ele permite fazer uma boa generalização dos dados.
Professor, por que fazemos a avaliação baseado no conjunto de dados de teste e, não, no conjunto de
dados de treinamento? Ora, porque o modelo foi criado com base nos dados de treinamento, logo
ele certamente teria um bom desempenho com os dados de treinamento. Nós somente podemos
avaliar se o modelo criado tem realmente um bom desempenho se fizermos testes com dados que
ele nunca teve contato, como os dados de teste.
Agora vejam só: eu falei para vocês que o conjunto de dados seria dividido de forma aleatória em
duas partes. Ocorre que essa divisão não é tão simples assim! Em primeiro lugar, é importante que
essa divisão seja aleatória, isto é, não escolher individualmente os dados que farão parte de um
conjunto ou de outro. Em segundo lugar, é importante que não existam dados repetidos nos dois
conjuntos – lembrem-se que os dados de teste devem ser inéditos e desconhecidos para o modelo.
Agora imagine que eu passei um bom tempo treinando meu algoritmo para criar um modelo e, ao
utilizar os dados de teste, descubro que o modelo está com uma baixa acurácia. Poxa, agora nós
gastamos todos os nossos dados de treinamento, gastamos todos os nossos dados de teste e só
descobrimos ao final que o modelo não estava adequado. O que fazer, Diego? É possível usar uma
estratégia que avalia o desempenho do modelo enquanto ocorre o processo de treinamento.
Essa estratégia divide os dados em três conjuntos: treinamento, validação e teste. Por meio dela, é
possível avaliar o desempenho de vários modelos distintos ou até mesmo avaliar o desempenho
dos modelos com a otimização de hiperparâmetros diferentes (veremos mais à frente). A ideia é
fazer diversos ajustes de modelagem ainda em tempo de treinamento que permitam verificar qual
modelo (e com que parâmetros) generaliza melhor os dados.
O final do processo continua o mesmo: o modelo final é executado com os dados de teste (que
permanecem desconhecidos por parte do modelo) e seu desempenho é calculado por meio da
métrica de acurácia. Ocorre que temos um problema: nem sempre temos dados suficientes para
treinar e testar o modelo. Há casos em que temos uma infinidade de dados, logo é até irrelevante
como será a divisão dos dados para cada um dos conjuntos.
Em outros casos, a quantidade de dados é pequena! E aí, como dividimos entre os conjuntos? Se
colocarmos muitos dados para o conjunto de treinamento, teremos poucos dados para o conjunto
de testes – isso significa que teremos provavelmente um modelo que faz uma generalização dos
dados de boa qualidade, mas não teremos como saber porque nossa estimativa de desempenho
tem pouca confiabilidade (baixa precisão preditiva). Temos também o caso inverso...
Se colocarmos muitos dados para o conjunto de testes, teremos poucos dados para o conjunto de
treinamento, logo a estimativa de desempenho do modelo será confiável (alta precisão preditiva),
mas ele fará uma generalização de má qualidade. É como um cobertor curto: se cobrir as pernas, a
cabeça fica de fora; e se cobrir a cabeça, as pernas ficam de fora. Dito tudo isso, agora precisamos
falar sobre validação cruzada.
Validação Cruzada
▪ Forma Exaustiva: essa técnica basicamente envolve testar o modelo de todas as formas
possíveis – dividem-se os dados originais definidos em conjuntos de treinamento e teste (Ex:
Leave-P-Out – LpO e Leave-One-Out – LoO).
Para provas de concurso, a forma não-exaustiva é mais cobrada, portanto – nesse momento – basta
saber que o LpO é uma abordagem que deixa de fora p observações ao fazer a validação cruzada,
isto é, havendo n observações, haverá n-p amostras para treinamento e p observações são usadas
pela validação. Já o LoO é um caso particular do LpO em que p = 1. Nesse caso, apenas uma
observação é retirada do conjunto de treinamento ao fazer a validação cruzada.
▪ Forma Não-Exaustiva: essa técnica também divide os dados originais definidos em conjuntos
de treinamento e teste, mas isso não ocorre analisando todas as permutações e combinações
possíveis (Ex: Holdout e K-Fold).
Um regime de hold-out muito comum é o 50/30/20. Como assim, Diego? É simplesmente a divisão
do conjunto de dados em 50% para treinamento, 30% para avaliação e 20% para testes.
Uma solução para esse problema é utilizar o Método K-Fold. A ideia aqui é simples: sabe quando
mostramos a nossa primeira estratégia, que dividia o conjunto de dados em dados de treinamento e de
teste? Pois é, a validação cruzada fará exatamente a mesma coisa, mas diversas vezes. No exemplo
abaixo, nós fizemos cinco vezes essa divisão entre dados de treino e dados de teste. No entanto,
observe que cada uma das partições ou divisões é diferente uma da outra.
Pensem que esses dados estão dispostos em uma tabela com diversas linhas. A primeira partição
pegou as 80% primeiras linhas da tabela para treino e o restante para teste; a segunda pegou as
60% primeiras linhas para treino, as 20% seguintes para teste e o restante também para treino; a
terceira pegou as 40% primeiras linhas para treino, as 20% seguintes para teste e o restante para
treino; e assim por diante...
Dessa forma, conseguimos fazer cinco modelos diferentes e independentes de forma que cada
modelo será treinado e avaliado com um conjunto (particionamento) diferente dos dados. Essa
ideia foi genial! Logo, temos agora cinco modelos e cinco métricas de desempenho diferentes.
Pronto! Agora podemos fazer uma avaliação do meu modelo preditivo como uma média dos cinco
desempenhos diferentes.
Nós não precisamos mais decidir se vamos atribuir mais dados para o treinamento ou mais dados
para o teste. Basta fazer algumas partições, pegar a média e teremos uma avaliação mais
satisfatória do desempenho do meu modelo preditivo. Não existe uma partição ideal entre treino e
teste, mas é comum a divisão em 80% Treino e 20% Teste. Bem, a única desvantagem é que há um
custo computacional em fazer esses testes diversas vezes.
Em suma: o método de validação cruzada denominado k-fold consiste em dividir o conjunto total
de dados em k subconjuntos mutuamente exclusivos do mesmo tamanho e, a partir daí, um
subconjunto é utilizado para teste e os k-1 restantes são utilizados para treinamento do modelo de
predição. Este processo é realizado k vezes sendo que, ao final das k iterações, calcula-se a acurácia
sobre os erros encontrados.
O resultado desse método é uma medida mais confiável sobre a capacidade de um modelo
preditivo de generalizar os dados a partir de um conjunto de dados de treinamento. O esquema a
seguir representa bem como funciona a validação cruzada: a Parte A mostra as diversas iterações
de divisões em dados de treino e dados de teste; a Parte B mostra o aprendizado de máquina pelos
dados de treinamento; e a Parte C mostra a avaliação do desempenho pelos dados de teste.
Note que a performance é calculada como 1/5 do somatório das cinco performances (= média das
performances). Em outras palavras, trata-se de da média aritmética das performances. Note que a
diferença fundamental entre o Método Holdout e o Método K-Fold é que o segundo faz diversas
divisões diferentes dos dados para calcular o desempenho. Logo, cada subconjunto será utilizado
para teste em algum momento...
Por fim, também é importante destacar que o Método K-Fold é geralmente mais adequado quando
temos um conjunto de dados de tamanho limitado/pequeno e também pode ser utilizado para
identificar overfitting (veremos adiante). Já o Holdout é mais adequado quando o conjunto de dados
tem um tamanho maior e também pode ser utilizado para fornecer uma estimativa de quão bem
um modelo generaliza para dados não vistos. Vejamos um esquema final do Método K-Fold:
Curva ROC
Ocorre que, em uma situação emergencial como a que vivemos, se tivermos um falso-negativo (ou
seja, uma pessoa estava infectada com o vírus, mas não foi diagnosticada), a consequência é
gravíssima porque ela pode retornar para o seu convívio social e infectar diversas outras pessoas.
Nesse sentido, podemos afirmar que o sucesso do médico italiano pode ser medido de duas formas:
pela taxa de verdadeiros-positivos e pela taxa de falsos-positivos.
Em seguida, ele pode testar o modelo criado com um conjunto de dados de treino em que já se
conheça de antemão se o paciente está ou não infectado. Ao fazer isso, o modelo devolverá um
valor para cada paciente que indicará a probabilidade de esse paciente estar infectado com
coronavírus (Ex: Paciente 1 tem 12% de probabilidade de estar infectado, enquanto o Objeto 2 tem
89% de probabilidade de não estar infectado).
A partir daí, o médico italiano poderá definir um limiar (ou ponto de corte): por exemplo, se o
modelo que ele treinou retornar uma probabilidade maior ou igual a 50%, ele vai considerar que o
paciente está infectado; já se retornar uma probabilidade menor ou igual a 50%, ele vai considerar
que o paciente não está infectado. Só que a escolha desse é importantíssima, porque estamos
falando de contaminação em massa e potenciais vítimas fatais. Como assim, Diego?
Galera, se o limiar for 50%, pode ser que ocorram muitos falsos-negativo, isto é, o médico achou
que o paciente não estava infectado, mas infelizmente ele estava. Resultado? Ele mandou o
paciente para casa, que acabou infectando diversas outras pessoas e ocasionando mortes. Uma
Não! Um falso-positivo indica que o médico diagnosticou o paciente como infectado, mas ele não
estava – o impacto disso é muito menor, dado que o paciente apenas ficará isolado em observação.
Bacana, mas e qual é o limiar ideal? 20%? 40%? 25%? 35%? 1%? É possível criar uma matriz de
confusão para cada um desses limiares para tentar descobrir o limiar ótimo, mas há uma ferramenta
melhor: Curva ROC!
O que ela faz, Diego? Ela basicamente fornece uma maneira simples de resumir matrizes de
confusão de acordo com cada valor possível para o limiar. Vejamos alguns gráficos...
O gráfico acima exibe a curva de uma regressão logística com uma função sigmoide em que o eixo
X representa, por exemplo, a pontuação para um conjunto de sintomas de um paciente e o eixo Y
representa, por exemplo, a probabilidade de esse paciente estar infectado ou não com o
coronavírus. Note que as bolinhas azuis acima da curva representam os verdadeiros-positivos (Ex:
o médico previu que o paciente estava infectado com o coronavírus e ele realmente estava).
As bolinhas azuis abaixo da curva representam os falsos-positivo (Ex: o médico previu que o
paciente estava infectado, mas ele não estava). Já os quadradinhos vermelhos acima da curva
representam os falsos-negativos (Ex: o médico previu que o paciente não estava infectado, mas ele
estava). Por fim, os quadradinhos vermelhos abaixo da curva representam os verdadeiros-
negativos (Ex: o médico previu que o paciente não estava infectado e ele realmente não estava).
Percebam pelo gráfico que o limiar está em 50% (0,5), logo qualquer valor igual ou maior que 0,5
será previsto como infectado e qualquer valor menor que 0,5 será previsto como não infectado.
Considerando que estamos tratando de uma questão de vida ou morte, esse limiar foi bem escolhido?
Bem, vejam que tivemos três ocasiões em que o modelo previu que o paciente não estava infectado,
mas que infelizmente ele estava.
Note também que tivemos cinco ocasiões (não dá para ver muito bem, mas tem uma bolinha azul
colada na outra) em que o modelo previu que o paciente estava infectado, mas que ele não estava,
no entanto, esse caso é menos grave nesse contexto. Dito isso, podemos concluir que é mais
importante minimizar os falsos-negativos, mesmo que ocorra um aumento substancial de falsos-
positivos. Para tal, podemos ajustar o limiar conforme o gráfico seguinte:
Percebam que agora o limiar agora está em 0,25 e que não temos mais nenhum falso-negativo,
mesmo que tenham aumentado os falsos-positivos (alarme falso) e que tenham reduzido os
verdadeiros-negativos. No gráfico anterior, o modelo acerta em todos os casos positivos, apesar de
errar mais em casos negativos. Bem, nós vimos em tópicos anterior os conceitos de sensibilidade
(razão de verdadeiros positivos) e especificidade (razão de falsos negativos).
Nesse momento, não importa se iremos quantificar ou não, se queremos saber semanas etc.,
queremos saber se tem ou se não tem GCH na urina, para que depois façamos uma análise mais
criteriosa a partir desse primeiro exame. Assim, o teste de farmácia para gravidez é um teste com
alta sensibilidade. Indo na contramão da sensibilidade, temos a especificidade. Logo, imaginemos
uma paciente que acusou positivo para GCH na urina.
Precisamos de um exame que seja mais específico para identificar essa substância no sangue da
paciente, que não acuse os falsos-positivos e seja determinante para o diagnóstico. Nessa hora, não
basta saber se tem ou se não tem GCH, queremos saber definitivamente se a paciente está ou não
grávida. Nessa hora, entra o exame de sangue, que é mais específico para o objetivo: identificar
uma possível gravidez.
Baseado nesses conceitos e no primeiro gráfico que vimos (com limiar em 0,5), podemos criar mais
dois gráficos: Sensibilidade x Limiar e (1 – Especificidade) x Limiar.
Não tem nada complexo nesses gráficos: apenas fizemos uma matriz de confusão para cada valor
de limiar (0 a 1) e plotamos a Sensibilidade (razão de verdadeiros-positivos) e 1 – Especificidade
(razão de falsos-positivos) em função de cada limiar. Já a Curva ROC é a curva formada em um
gráfico de sensibilidade por 1 – Especificidade (conforme apresentado no gráfico a seguir). Ela
permite avaliar a variação de sensibilidade/especificidade à medida que se modifica o limiar.
Agora se vocês entenderam mesmo, vão assimilar rapidinho a interpretação de alguns gráficos! O
que acontece se o médico definir que o limiar é 0,00 (0%)? Vejamos:
Note que com um limiar zerado, diagnosticamos todo mundo com coronavírus. Logo, o modelo
acerta todos os casos em que o paciente realmente estava infectado – tanto os verdadeiros-
positivos quanto os falsos-positivos (representado nos gráficos seguintes). Por outro lado, o modelo
erra todos os casos em que o paciente não estava infectado – tanto os verdadeiros negativos quanto
os falsos-negativos.
Se o médico decidir que o limiar será 1,00 (100%), ocorre o exato oposto – conforme podemos ver
nos gráficos seguintes:
Legal, mas uma maneira melhor de visualizar esses dados é por meio da Curva ROC, que resume os
dois gráficos de razão em um só. Por que essa curva é importante? Porque ela permite verificar
rapidamente qual é o valor de limiar que maximiza os verdadeiros-positivos ao mesmo tempo que
minimiza os falsos-negativos. Vejam no gráfico à esquerda que – com a escolha do limiar em 0,25 –
não temos nenhum falso-negativo, apesar de termos mais falsos-positivos.
Já a curva ROC nos mostra que, a partir do ponto verde, acertamos todos os verdadeiros-positivos
e uma boa parte dos falsos-positivos. E qual é o limiar ideal? É aquele ponto que está mais longe do
classificador aleatório representado pela linha diagonal. No gráfico à esquerda, temos um limiar
ótimo para o contexto, dado que o ponto verde é o ponto da curva que está mais distante da linha
diagonal; já no gráfico à direita, temos um modelo de acurácia perfeita (o que não é muito realista).
Agora eu preciso explicar uma coisa bem rapidinho: nós vimos que para construir a Curva ROC, nós
temos que plotar um gráfico de Sensibilidade x (1 – Especificidade). O que é a Sensibilidade? É a Taxa
de Verdadeiros-Positivos (TVP). E o que é a Especificidade? É a Taxa de Verdadeiros-Negativos
(TVN). Ocorre que, quando fazemos 1 – Especificidade (TVN), nós obtemos – pela fórmula – a Taxa
de Falsos-Positivos (TFP). Vamos provar isso?
VN
𝐄𝐒𝐏𝐄𝐂𝐈𝐅𝐈𝐂𝐈𝐃𝐀𝐃𝐄 (𝐓𝐕𝐍) =
FP + VN
VN (FP + VN) − VN FP
𝟏 − 𝐄𝐒𝐏𝐄𝐂𝐈𝐅𝐈𝐂𝐈𝐃𝐀𝐃𝐄 = 𝟏 − = = = 𝐓𝐀𝐗𝐀 𝐃𝐄 𝐅𝐀𝐋𝐒𝐎 − 𝐏𝐎𝐒𝐈𝐓𝐈𝐕𝐎 (𝐓𝐅𝐏)
FP + VN FP + VN FP + VN
Professor, para que explicar isso? Meu cérebro já está pipocando! É por uma única razão: uma questão
de prova pode afirmar que a Curva ROC é plotada como um gráfico de Sensibilidade x (1 –
Especificidade); ou como um gráfico de Taxa de Verdadeiros-Positivos (TVP) x 1 – Taxa de
Verdadeiros-Negativos (TVN); ou, o mais comum, como um gráfico de Taxa de Verdadeiros-
Positivos (TVP) x Taxa de Falsos-Positivos (TFP). Todas as maneiras estão corretas :)
Por fim, é importante falar sobre AUC (Area Under the Curve). Trata-se do termo usado para
descrever a área sob a curva ROC, sendo usada no aprendizado de máquina para medir a capacidade
de um modelo de discriminar duas classes e também para medir o desempenho de uma variedade
de outros algoritmos. É bem simples: se a área sob a curva de um algoritmo for maior que a área
sob a curva de outro algoritmo, significa que ele possui um desempenho melhor.
Avaliação de Regressão
Quando lidamos com modelos de classificação, as métricas fazem comparações se a classes foram
corretamente previstas ou não. Ao utilizarmos a regressão, isto fica inviável, pois estamos lidando
com valores numéricos potencialmente infinitos. Logo, a principal abordagem das métricas de
regressão baseia-se na diferença entre o valor real e o previsto, no qual e representa o desvio, y
representa o valor real e ŷ é o valor preditos.
Nos próximos parágrafos, vamos analisar as principais métricas de desempenho de uma regressão
(sim, existem diversas formas de calcular o desempenho):
Trata-se da medida da média dos erros em um conjunto de previsões, sem considerar sua direção.
É calculado como a média das diferenças absolutas entre os valores previstos e os valores reais. O
MAE (Mean Absolute Error) é uma medida da precisão do modelo e ajuda a identificar o viés e a
variância. Quanto menor seu valor, mais preciso é o modelo. Ele é frequentemente usado para
comparar o desempenho entre modelos diferentes.
Note que é utilizado o operador módulo | | para capturar apenas a diferença positiva entre valores
reais e valores preditos.
Trata-se de uma medida da média dos quadrados dos erros em um conjunto de previsões. É
calculado como a média das diferenças quadradas entre os valores previstos e os valores reais. O
MSE (Mean Squared Error) não utiliza o modulo para capturar a diferença positiva entre valores reais
e preditos e, sim, o quadrado (por isso se chama erro quadrático médio). Dessa forma, ele penaliza
diferenças fora do normal (outliers). Como assim, Diego?
Imagine que, no contexto do nosso problema, o valor real de uma observação seja 5 e o valor predito
pelo modelo de regressão seja 35. Dito isso, temos que:
Viram como essa métrica penaliza muito mais valores com desvio alto do que a métrica anterior? Pois
é! Quanto maior é o valor de MSE, significa que o modelo não performou bem em relação as
previsões. Ocorre que essa métrica tem um problema grave: por haver a elevação ao quadrado, a
unidade de medida fica distorcida, isto é, se a unidade de medida for em metros (m), o resultado
será em m². Isso dificulta a interpretação se o erro foi grande ou pequeno!
Trata-se de uma medida da raiz da média dos quadrados dos erros em um conjunto de previsões.
diferentes modelos. O RMSE (Root Mean Squared Error) é basicamente o mesmo cálculo do MSE,
porém aplicada a raiz quadrática para lidar com o problema de interpretabilidade da diferença entre
unidades dado que a unidade do desvio fica com a mesma escala da unidade original. Por outro
lado, ela não penaliza com tanta veemência os valores outliers.
Por exemplo: um R² = 0,8234 significa que o modelo linear explica 82,34% da variância da variável
dependente a partir do regressores (variáveis independentes) incluídas naquele modelo.
▪ R² = 0% indica que o modelo não explica nada da variabilidade dos dados de resposta ao redor
de sua média.
▪ R² = 100% indica que o modelo explica toda a variabilidade dos dados de resposta ao redor de
sua média.
Underfitting e Overfitting
RELEVÂNCIA EM PROVA: ALTA
Vamos fazer alguns experimentos? Eu vou precisar bastante da atenção de vocês agora! Vejam esse
conjunto de pontos de dados azuis apresentado a seguir em um plano cartesiano: no eixo das
abscissas, nós temos variáveis de entradas; e no eixo das ordenadas, nós temos as variáveis de
saída. Dado um valor de variável de entrada, temos um valor de variável de saída respectivo. E o que
isso tem a ver com aprendizado de máquina, professor?
Agora vocês se lembram que nós vimos a diferença entre dados de treinamento e dados de teste? Pois
é, isso será muito útil agora! Primeiro, nós precisamos treinar o nosso algoritmo de forma que ele
gere a curva desejada; depois nós precisamos testar se a curva se ajusta aos dados de teste; e só
depois ele estará pronto para ser efetivamente usado com novos dados. Dito isso, agora é o
momento de dividir esses pontos de dados em pontos de treinamento e pontos de dados de teste:
Pronto! Os pontos verdes são aqueles que serão utilizados para treinar nosso modelo e os pontos
vermelhos serão aqueles que serão utilizados para testar o nosso modelo. Agora nós já podemos
começar a treinar o nosso modelo, mas faremos isso – evidentemente – utilizando apenas os pontos
de dados de teste. Logo, temos que excluir os pontos vermelhos, porque eles não podem ser
utilizados para o treinamento do algoritmo. Lembram? Vamos deixá-los quietinhos...
Legal! Agora como nós vamos fazer o treinamento do modelo? É bastante simples: nós podemos
utilizar diferentes modelos de aprendizado de máquina e verificar quais deles geram uma curva que
melhor se ajusta aos dados. Podemos ver na imagem seguinte três exemplos de modelos e suas
respectivas curvas. O primeiro modelo apresenta uma linha reta; o segundo modelo apresenta uma
espécie de parábola; e o terceiro modelo apresenta uma linha bastante sinuosa.
Note que o primeiro modelo apresenta uma linha bem distante da maioria pontos – não está muito
ajustada; já o segundo modelo apresenta uma curva um pouco mais próxima aos pontos; por fim, o
terceiro modelo apresenta uma curva praticamente perfeita – ele está impecavelmente ajustado
aos pontos de dados. Pergunto: qual é o melhor modelo? Pô, professor... eu sei que a aula é difícil,
mas eu não sou tão bobo assim – é óbvio que o terceiro modelo é o melhor!
RESPOSTA: ERRADA
Coooooooooooooomoooooooooo aaaaaaaaaaaaassiiiiiiim, Diego? Galera, os pontos de dados verdes
representam nossos dados de... treino e quem define qual é o melhor modelo são os dados de...
teste. Se liguem porque essa pegadinha pode cair na sua prova! Dessa forma, a maneira mais
interessante de verificar qual é o modelo é plotar as mesmas três curvas, porém com os dados de
teste (pontos vermelhos). Vamos relembrar como eles eram...
Opa... agora basta plotar as curvas que descobrimos durante o nosso treinamento, porém aplicadas
aos dados de teste. Vejam só como é que fica:
E agora, mudaram de opinião? Note que o modelo representado pela segunda curva é o que melhor
generaliza os dados. Na primeira curva, ocorre o que chamamos de Underfitting (Subajuste): a reta
não se ajusta bem nem aos dados de treino nem aos dados de teste, logo podemos afirmar que o
modelo possui falta de parâmetros, desempenho ruim, pouca expressividade e excessiva
simplicidade para modelar a real complexidade do problema para novos dados.
Na terceira curva, ocorre o que chamamos de Overfitting (Sobreajuste): a curva se ajusta muito bem
aos dados de treino, mas não se ajusta tão bem aos dados de teste, logo podemos afirmar que o
modelo possui parâmetros demais, desempenho ruim, muita expressividade e excessiva
complexidade para modelar a real complexidade do problema. O modelo apenas memoriza os
dados de treino, logo não é capaz de generalizar para novos dados.
Vocês se lembram do diagrama apresentado acima? Pois é! Dados observados são o resultado de um
conjunto de variáveis disponíveis + um conjunto de variáveis indisponíveis + aleatoriedade + erros.
Se a nossa curva está acertando perfeitamente todos os pontos do conjunto de dados de treino,
significa que não há nenhuma variável indisponível, nenhuma aleatoriedade e nenhum erro. Isso
até pode ocorrer, mas somente em casos extremamente raros e excessivamente simples.
Na maioria dos casos, existem variáveis indisponíveis + aleatoriedade + erros. Se o modelo tiver um
excesso de complexidade, ele não generalizará bem para novos dados. A essência do overfiting é
extrair parte da variação residual para a modelagem da curva como se essa variação representasse
a estrutura do modelo (e, não, apenas um ruído). Bem, como eu gosto de fazer comparações, vamos
ver algumas agora para você nunca mais esquecer!
Imagine que você vá ao shopping comprar uma camisa social. Você não quer errar, então pede ao
vendedor que traga todos os tamanhos possíveis: P, M, G!
Você veste a camisa G e nota que ela fica completamente folgada, isto é, ela não se ajusta bem ao
seu corpo – há sobras para todo lado (underfitting); depois você veste a camisa P e parece que ela
foi ajustada perfeitamente para você – não há uma sobra sequer (overfitting); por fim, você veste a
camisa M e fica um modelo intermediário – nem muito ajustada nem muito folgada. Por que seria
ruim comprar a camisa P?
Porque se você tirar férias e engordar uns 3 kg, a camisa não entra mais; ou se você estiver
estudando muito para o seu concurso e emagrecer uns 3 kg, ela fica muito folgada. Logo, o modelo
intermediário é que o melhor se ajusta a eventuais novos dados (kg a mais ou a menos). A seguir,
há dois exemplos humorísticos clássicos em qualquer aula sobre esse assunto. Se você não os
entender, chame no fórum de dúvidas que a gente esclarece ;)
Viés e Variância
Antes de descobrir como resolver esses tipos de problema, vamos discutir dois conceitos
importantes: viés e variância. A palavra “viés” é comumente utilizada em nossa língua com o
significado de viciado ou fortemente inclinado a respeito de algo. Por exemplo: se um chefe
pergunta para um funcionário qual é a opinião dele sobre seu próprio desempenho no trabalho, essa
opinião poderá estar enviesada, isto é, conter um vício, uma inclinação, uma parcialidade.
Em outras palavras, a pessoa acha que está tendo um excelente desempenho, mas a realidade é
que o desempenho dela está longe do ideal. Aqui é bem parecido: o modelo acha que está fazendo
uma boa previsão, mas a realidade é que sua previsão está longe do ideal. Logo, podemos dizer que
o viés é o erro que resulta de suposições imprecisas de um modelo. Em termos técnicos, trata-se da
diferença entre a predição do valor de uma variável e o valor correto que o modelo deveria prever.
Já a variância trata de quanto as previsões de um modelo variam ao serem usados diferentes dados
de treino – trata da sensibilidade de um modelo ao ser utilizado com conjuntos de dados de treino
diferentes. Dito isso, um modelo com alta variância é aquele cujas previsões sobre diferentes
conjuntos de dados variam bastante (baixa generalização); e um modelo com baixa variância é
aquele cujas previsões sobre diferentes conjuntos de dados são consistentes (alta generalização).
E qual é o modelo ideal? O modelo ideal é aquele com baixo viés e baixa variância. Dito isso, vamos
tentar interpretar a imagem seguinte:
Para termos o modelo mais próximo do ideal, devemos fazer algumas escolhas: se aumentarmos a
variância, reduziremos o viés; se reduzirmos a variância, aumentaremos o viés. Logo, a melhor
estratégia é encontrar o equilíbrio entre esses dois erros que melhor atenda ao modelo de
aprendizado de máquina em treinamento. É importante destacar que modelos lineares geralmente
tem alto viés e baixa variância e modelos não lineares geralmente são o contrário.
Dito isso, para resolver problemas de overfitting, podemos tomar algumas atitudes: utilizar mais
dados de treinamento (com maior variedade); utilizar validação cruzada com vários modelos para
detectar o melhor desempenho; realizar a combinação de múltiplos modelos diferentes (também
chamado de ensemble); limitar a complexidade do modelo por meio de técnicas de regularização;
adicionar ruído aleatório nos dados de treinamento para reduzir o ajuste.
Para finalizar esse assunto, vamos ver um gráfico muito famoso: Complexidade do Modelo x Erros
de Predição. A complexidade de um modelo de aprendizado de máquina é definida em função da
quantidade de parâmetros ou variáveis: quanto mais parâmetros, mais complexo; quanto menos
parâmetros, menos complexo. Já a quantidade de erros de predição nos indica quão bom é um
modelo: quanto menos erros de predição, melhor; quanto mais erros, pior.
Agora observem que temos duas curvas: (1) azul – referente ao conjunto de dados de treinamento;
e (2) vermelho – referente ao conjunto de dados de validação. Vamos analisá-las separadamente: a
curva azul nos mostra que, ao aplicar o modelo a um conjunto de dados de treinamento, a
quantidade de erros diminui à medida que a complexidade do modelo aumenta. Logo, quanto mais
complexo é um modelo, menos erros teremos – por isso, trata-se de uma curva descendente.
Já a curva vermelho nos mostra que, ao aplicar o modelo a um conjunto de dados de validação, a
quantidade de erros diminui, chega em um vale, e depois aumenta novamente – percebam que a
curva tem formato de uma parábola invertida. Esse ponto em que a curva chega em um vale é
chamado de ponto de mínimo erro, porque é quando o modelo que foi treinado com dados de
treinamento apresenta menos erros de predição quando aplicada aos dados de validação.
Note que, à esquerda, temos uma região com curvas mais próximas, o que nos indica um modelo
pouco complexo e apresenta alta taxa de erros de predição tanto nos dados de treinamento quanto
nos dados de validação. Já à direita, temos uma região com curvas mais distantes, o que nos indica
um modelo complexo e apresenta baixa taxa de erros de predição nos dados de treinamento e alta
taxa de erros de predição nos dados de validação.
Ora, quando um modelo vai mal em suas predições quando aplicado a um conjunto de dados de
treinamento e também a um conjunto de dados de validação, ocorre underfitting (região à
esquerda); quando um modelo vai bem em suas predições quando aplicado a um conjunto de dados
treinamento e vai mal quando aplicado a um conjunto de dados de validação, ocorre overfitting
(região à direita). Nesse último caso, dizemos que o modelo generaliza mal os dados.
Ensemble
Nós já vimos diversos modelos de aprendizado de máquina na aula até agora. Cada um tem a sua
particularidade, então pergunto: por que não combinar esses modelos? Ora, alguém já teve essa
ideia: o nome disso é Ensemble! É normalmente utilizado quando os modelos individuais têm
algum viés ou quando os dados são muito complexos para um único modelo capturar com precisão
todos os padrões. São uma poderosa ferramenta para aumenta a precisão e reduzir o overfitting.
Vamos entender isso melhor! No aprendizado de máquina, não importa se estamos diante de um
problema de classificação ou regressão, a escolha do modelo a ser utilizado é extremamente
importante para termos alguma chance de obter bons resultados. Essa escolha pode depender de
muitas variáveis diferentes do problema, tais como: quantidade de dados, dimensionalidade do
espaço, tipo de dado, entre outros.
A imagem seguinte representa a Fábula dos Homens Cegos e o Elefante. Trata-se da história de um
grupo de homens cegos que nunca viram um elefante antes e que imaginam como ele é ao tocá-lo.
Cada um sente uma – e apenas uma – parte diferente do corpo do elefante (Ex: tromba, pata, orelha,
rabo). Eles, então, descrevem o elefante com base em sua experiência limitada e suas descrições
do elefante são diferentes umas das outras (Ex: cobra, árvore, bainha de couro, rato peludo).
Porque sabemos que existe um trade-off: se aumentarmos a complexidade de um modelo, ele fica
mais preciso (menor viés), mas fica mais sensível a pequenas flutuações (maior variância); se
reduzirmos a complexidade de um modelo, ele fica menos sensível a pequenas flutuações (menor
variância), mas fica menos preciso (maior viés). No entanto, se nós combinarmos diversos métodos
de aprendizado de máquina, podemos chegar a algo mais razoável.
No contexto do ensemble, nós chamamos de weak learner (ou modelos de base) os modelos de
aprendizado de máquina que podem ser utilizados como blocos de construção para projetar
modelos mais complexos, combinando vários deles. Conforme vimos, na maioria das vezes, esses
modelos básicos não funcionam tão bem sozinhos, seja porque apresentam um viés alto, seja
porque têm muita variância para serem suficientemente robustos.
Assim, a ideia por trás do ensemble é tentar reduzir o viés e/ou variância desses weak learners,
combinando vários deles para criar um Strong Learner (ou Ensemble) que alcance melhores
desempenhos. Vamos ver um exemplo? Imagine que eu queira treinar um modelo de aprendizado
de máquina para classificar imagens como imagens de cachorro-quente ou não imagens de
cachorro-quente. Para tal, nós vamos combinar três algoritmos diferentes...
Em nossos treinamentos, conseguimos 65% de acurácia para Árvores de Decisão, 75% de acurácia
para Support Vector Machine (SVM) e 60% de acurácia para regressão logística, logo o algoritmo
que acertou mais vezes a imagem de um cachorro-quente foi o SVM. Ocorre que essa foi apenas a
fase de treinamento! Para verificar se modelo de aprendizado é realmente bom, nós precisamos
verificar com novos dados. Logo, testamos os três algoritmos com uma nova imagem:
Na imagem acima também tivemos uma votação em que cada robô representa uma instância de
um algoritmo de aprendizado de máquina e o placar foi: 4x2 para imagem de um gato!
Professor, como seria se o ensemble fosse utilizado para regressão em vez de classificação? Nesse caso,
o valor de saída seriam valores numéricos e, não, categóricos. Assim, a predição seria dada pela
média aritmética simples ou ponderada dos valores de saída dos três algoritmos. O ensemble
funciona, portanto, sob a forma de um comitê, utilizando-se de resultados de vários modelos
preditivos aplicados sobre a mesma base de dados para atingir melhores resultados.
É importante destacar que é possível realizar diferentes tipos de agregação: nós podemos mudar
os algoritmos de aprendizado utilizados; nós podemos aumentar/diminuir a quantidade de
algoritmos utilizados; nós podemos mudar os hiperparâmetros utilizados nos algoritmos. Esse
último caso é interessante: é possível fazer um ensemble com diversas instâncias do algoritmo de
aprendizado de máquina, mas utilizando hiperparâmetros diferentes, por exemplo.
Dito isso, fica a pergunta: como combinar esses modelos diferentes de agregação de algoritmos de
aprendizado de máquina? Existem três maneiras (também chamadas de meta-algoritmos):
Bagging
Você tem que entender dois pontos: primeiro, esse método utiliza um conjunto de algoritmos de
aprendizado de máquina homogêneo (ou seja, são diversas instâncias do mesmo algoritmo);
segundo, esse método utiliza uma técnica chamada Bootstrapping. Isso significa que são extraídos
vários subconjuntos do conjunto de dados de treinamento por meio de uma amostragem aleatória,
sendo que os pontos de dados podem aparecer mais de uma vez no subconjunto (podem se repetir).
O Bootstrap é utilizado para criar muitos conjuntos de treinamento diferentes que podem ser
usados para treinar vários modelos. Vamos ver um exemplo:
Note que o conjunto de dados de treinamento original contém doze pontos de dados: {1, 2, 3, 4, 5,
6, 7, 8, 9, 10, 11, 12}. Em seguida, foram gerados diversos subconjuntos desse conjunto de dados de
treinamento: {1, 10, 3, 8, 3}, {4, 2, 11, 9, 3}, ..., {5, 12, 1, 5 ,6}. O nome disso é amostragem com
substituição e significa que, ao criar subconjuntos de dados, cada ponto de dados é escolhido
aleatoriamente e pode ser incluído mais de uma vez no mesmo subconjunto.
No contexto de Bagging, essas diferentes amostras são utilizadas em diversas instâncias diferentes
de algoritmos de aprendizado de máquina e geram um resultado numérico (regressão) ou
categórico (classificação). Pense em um conjunto de dados de treinamento formado por fotos de
diversos vegetais. Nós podemos utilizar o bootstrapping para gerar amostras com substituição:
{maçã, brócolis, maçã}, {maçã, uva, uva} e {brócolis, uva, brócolis}.
Em seguida, nós passamos essas amostras para diferentes instâncias do mesmo algoritmo de
aprendizado de máquina (Ex: Árvores de Decisão) de forma que ela possa classificar uma foto nova
e, por votação ou média, decidir se a imagem é de uma maçã, uma uva ou um brócolis. É mais ou
menos isso que é representado na imagem seguinte. Observação: as árvores aleatórias (random
forests) são basicamente a utilização de bagging em árvores de decisão.
Boosting
Além disso, o Bagging é utilizado para reduzir a variância sem aumentar o viés e é geralmente mais
adequado para resolver problemas de overfitting, enquanto o Boosting é utilizado para reduzir o viés
sem aumentar a variância e é geralmente mais adequado para resolver problemas de underfitting.
Para entender isso melhor, vamos dar uma olhada na imagem seguinte em temos um conjunto de
dados original com pesos idênticos.
Esse conjunto de dados passa por um modelo de base que faz previsões - acertando algumas e
errando outras classificações. Note pela imagem que ele acertou cinco bolinhas roxas e uma
amarela; mas errou diversas outras. O algoritmo de boosting avalia as previsões e atribui pesos
maiores às classificações incorretas do primeiro algoritmo – além de atribuir um peso ao modelo de
base em si de acordo com seu desempenho. Por que isso, Diego?
Para que modelos que produzam previsões excelentes tenham uma grande influência sobre a
decisão final. Os mesmos dados do conjunto inicial são passados para o próximo modelo de base
fazer a mesma rotina, mas agora ponderados (com peso). Note que, no segundo passo, os dados
classificados corretamente pelo modelo de base anterior estão mais claros (menor peso) e os dados
classificados incorretamente pelo modelo de base anterior estão mais escuros (maior peso).
O segundo modelo de base recebe os dados que foram classificados pelo modelo anterior e
também faz diversas previsões – acertando algumas e errando outras classificações. Essa rotina é
repetida diversas vezes e, ao final de vários ciclos, o método de boosting combina essas regras fracas
de previsão em uma única regra de previsão poderosa. Em geral, o boosting é utilizado com árvores
de decisão: os algoritmos de boosting mais famosos são AdaBoosting e Gradient Boosting.
Já se a imagem for de um cachorro distante, em uma posição diferente e a imagem estiver com a
qualidade meio ruim, é claro que é mais difícil de prever. Dito isso, os pontos de dados (imagens de
cachorros) que foram classificadas erroneamente por um modelo de base devem ter maior
influência (peso) para o próximo modelo de base. Além disso, o modelo de base que conseguir
classificar corretamente uma imagem com peso maior também deve receber um peso maior.
Em síntese: boosting combina vários weak learners (modelos de base) de forma independente e
sequencial, de modo que cada um compense a fraqueza do algoritmo anterior – além de utilizar
uma amostragem de dados por substituição com ponderação (atribuição de pesos aos dados
incorretamente previstos e aos modelos em si). Além disso, ele é fácil de entender e fácil de
interpretar, aprendem com seus erros e não requerem pré-processamento de dados.
Stacking
A ideia aqui é um pouquinho diferente: primeiro, nós dividimos nosso conjunto de dados em três
partes: dados de treinamento, dados de validação e dados de teste – os dados de treinamento são
usados para construir o modelo; os dados de validação são usados para avaliar o modelo e ajustar
seus parâmetros; e os dados de teste são usados para medir o desempenho do modelo após ele ter
sido treinado e otimizado (eles fornecem uma medida imparcial do desempenho para dados novos).
Vejam a imagem anterior: ela é composta de três tabelas, que representam os conjuntos de dados
A, B e C – sendo A o conjunto de dados de treinamento, B o conjunto de dados de validação e C o
conjunto de dados de teste. Cada tabela tem n variáveis de entrada ou features (x0, x1, x2, ... xn) e
uma variável-alvo (y). Interpretando a tabela A, podemos ver que os valores da primeira linha (0.17,
0.25, 0,93, 0.79), por exemplo, geram um resultado que foi classificado como y = 1.
Professor, por que tem uma interrogação na variável alvo da tabela C? Porque essa é a tabela dos
dados de teste, isto é, a tabela utilizada para medir o desempenho – o resultado da variável-alvo é
justamente o que queremos prever. Bacana! Então agora nós vamos utilizar três algoritmos de
aprendizado de máquina diferentes para treinar nosso modelo sobre o mesmo conjunto de dados
de treinamento (Ex: KNN será o algoritmo 0, SVM será o algoritmo 1 e RNA será o algoritmo 2).
Após treinar o algoritmo por meio dos três algoritmos (chamados de modelos de base) utilizando
os dados da Tabela A, vamos aplicá-los aos dados das tabelas B e C – o que resultará nas predições
apresentadas nas tabelas B1 e C1 a seguir. Notem que as tabelas B1 e C1 contêm três colunas (pred0,
pred1 e pred2) e a mesma variável-alvo. Cada modelo foi treinado e, quando aplicados os valores
das features de B e C, foi retornado um valor de predição. Vamos interpretar as tabelas...
O algoritmo 0 (Ex: KNN) foi treinado com os dados da Tabela A e depois aplicado aos dados da
Tabela B, gerando um output (Ex: 0.24), e também aos dados da Tabela C, gerando outro output
(Ex: 0.50). É claro que isso foi feito para cada linha das tabelas, então – como tínhamos cinco linhas
nas Tabelas B e C – foram geradas cinco linhas também nas tabelas B1 e C1. Legal, agora vem o pulo
do gato: o metamodelo (também chamado de modelo de nível 1).
Ao final, as predições de B1 se tornam entrada para treinar o Algoritmo 3 e fazemos previsões para
C1 a fim de verificar a acurácia.
O esquema a seguir exibe de forma mais lúdica: temos os mesmos dados de entrada, mas diferentes
modelos de base fazem predições que se tornam entradas para o metamodelo.
Técnicas de Regularização
RELEVÂNCIA EM PROVA: baixa
Nós vimos anteriormente que – para qualquer problema de aprendizado de máquina – é possível
afirmar que um ponto de dado observado é o resultado de uma função de variáveis disponíveis +
uma função de variáveis indisponíveis + variações. Como – por óbvio – não temos disponíveis as
variáveis indisponíveis, podemos simplificar para: um determinado ponto de dado qualquer é o
resultado de uma função de variáveis disponíveis + variações.
Ocorre que os apartamentos não obedecem diretamente a esse padrão. Como assim, Diego? Ora,
essa fórmula é muito simples: nós informamos a área total, o número de quartos e a quantidade de
banheiros, e ela me retorna uma previsão de valor de um apartamento come essas características.
Ocorre que existem diversos casos de apartamentos com exatamente a mesma área total, mesmo
número de quartos e mesma quantidade de banheiros, e que possuem preços diferentes.
Vocês nunca viram apartamentos em um mesmo prédio com as mesmas característica, mas que
possuem valores bem distintos? Pois é, essa variação de preço entre apartamentos com as mesmas
características modeladas é parte das variações – principalmente por conta de ruído. Você pode me
dizer: professor, não basta adicionar mais algumas características para ter uma previsão mais certeira
do preço de um apartamento? Boa ideia, nós podemos tentar!
Vamos adicionar mais alguns parâmetros, tais como: valor do condomínio, proximidade do centro
da cidade e valor do IPTU. Podemos disponibilizar essas informações para o treinamento do modelo
de aprendizado de máquina de forma que ele nos forneça uma equação mais complexa e precisa
para previsão do preço de um apartamento nesse bairro. Ocorre que ainda assim existirão
apartamentos com essas características exatamente iguais e preços diferentes.
Professor, vou apelar agora: quero inserir mais características! Opa... você é quem manda! Vamos
adicionar agora a quantidade de guarda-roupas, lâmpadas e torneiras para o nosso modelo fazer a
melhor previsão possível. Bacana! Agora nós temos um modelo tão preciso e tão complexo que ele
é capaz de prever o preço de qualquer apartamento em nossa lista de dados de apartamentos. Esse
é o mundo perfeito, correto? Não, vocês caíram em um erro já conhecido chamado:
overfitting
À medida que vamos adicionando mais variáveis, tendemos a fazer previsões cada vez melhores
sobre os dados de treinamento. No entanto, além de um certo ponto, a adição de mais variáveis
deixa de ajudar na modelagem e começa a atrapalhar. O modelo começa a encontrar padrões onde
existem variações (aleatoriedades, ruídos, etc), dado que não existe lei que obrigue uma pessoa a
seguir uma equação para definir o preço de seu apartamento – ela escolhe o preço que quiser!
Observe que o nosso modelo está tão complexo que ele está até mais complexo que o próprio
fenômeno que ele está tentando modelar. Nós sabemos que o valor de um apartamento está
intimamente ligado a algumas dessas características, mas não todas. Onde já se viu calcular o valor
de um apartamento pela quantidade de torneiras? Nós só adicionamos essas variáveis para se ajustar
aos nossos dados de treinamento, mas esquecemos que os preços de imóveis possuem variações.
Ao adicionar cada vez mais variáveis, o modelo começa a procurar padrões onde não existe! Ele vai
tentar encontrar padrões onde, na verdade, existe apenas uma variação/ruído. E há como encontrar
padrão em variações aleatórias, professor? Pessoal, há como encontrar padrão em basicamente
qualquer coisa! Existe um fenômeno cognitivo chamado Apofenia, que é a percepção de padrões
ou conexões em dados aleatórios.
Sabe aquelas pessoas que veem rostos na fumaça do acidente do 11 de Setembro, rostos nas crateras
da lua ou a imagem de Nossa Senhora no vidro de uma janela no interior de São Paulo? Ou aquelas
pessoas que “descobrem” que todo vencedor da mega-sena da Virada de anos pares fez uma aposta
única em que o segundo número era primo? Pois é, não existe nenhum padrão nessas situações! É
tudo aleatório, mas – se forçarmos a barra – nós conseguimos encontrar padrões na aleatoriedade.
Se nós – humanos – conseguimos encontrar padrões em coisas aleatórias, imagine uma máquina
com altíssimo poder computacional. No entanto, é bom sempre salientar que se trata de um padrão
espúrio, ilegítimo, mentiroso! E como podemos ter certeza disso? A avaliação sobre o desempenho
de um modelo vem por meio da sua execução sobre dados de teste. Como ele modelou padrões
espúrios, ele não conseguirá fazer boas previsões sobre novos dados. Como é, Diego?
Voltando ao nosso exemplo lúdico, a pessoa que achou aquele padrão espúrio na mega-sena da
virada não vai vencer no próximo sorteio porque esse padrão encontrado é falso! Esse é o caso típico
de overfitting, em que um modelo possui ótima precisão em suas previsões com dados de
treinamento, mas varia bastante quando aplicado a novos dados. E onde entra a regularização nessa
história? A regularização é o ajuste fino da complexidade do modelo.
A regularização pode ser aplicada a modelos de árvore de decisão, modelos de regressão, modelos
de redes neurais, etc. Vamos ver como a regularização se aplica a esses modelos...
Aplicada a Regressões
A técnica de regularização para modelos de aprendizado de máquina que utilizam regressão linear
busca efetivamente regularizar, normalizar ou suavizar modelos excessivamente complexos ou que
dão muito destaque para uma característica específica. Como assim, Diego? A ideia aqui é manter
as características, mas impor uma restrição à magnitude dos coeficientes. Quando as restrições são
aplicadas aos parâmetros, o modelo produz uma função mais suave e menos propensa a overfitting.
Para tal, são introduzidos parâmetros de regularização, conhecidos como fatores de regularização
ou termos de penalização, que controlam a magnitude dos pesos dos parâmetros, comprimem seus
valores e garantem que o modelo não esteja se adaptando aos dados de treinamento. É como se
ele inserisse uma penalidade à reta de melhor ajuste aos dados de treino a fim de reduzir a variância
nos dados de teste e restringir a influência das variáveis sobre o resultado previsto.
Acima temos a fórmula de uma regressão linear de múltiplas variáveis. Para essa equação, nós
temos que: x é o valor de cada variável de entrada; y é o valor real de saída previsto; p é o número
total de variáveis; b é o coeficiente do modelo; w é o peso ou coeficiente de cada variável. E como
sabemos que uma função está bem ou mal ajustada aos dados de teste? Por meio do cálculo do erro:
quanto menor o erro, melhor o ajuste!
O erro é a diferença entre o valor obtido e o valor previsto, logo a distância em vermelho entre os
pontos pretos e a reta azul é chamada de erro de previsão. Cada ponto de dados em um conjunto
cria tais erros e, para calculá-lo, utilizamos uma função erro (também chamada de função custo).
Essa função geralmente é representada como a Residual Squared Sum (RSS), que é a soma dos
quadrados dos erros e sabemos que o erro é a diferença entre valor obtido e previsto.
É isso que a fórmula anterior tenta representar: um modelo preditivo de aprendizado de máquina
tenta ajustar os dados de forma que minimize a função de custo, isto é, reduza a soma dos
quadrados dos erros ou resíduos. Existem três tipos básicos: Lasso (L1), Ridge (L2) e Elastic Net
(L1+L2). A diferença entre elas está do termo de penalização ou regularização utilizado no
coeficiente, mas eles ajudam a reduzir o excesso de adaptação aos dados de treinamento.
Lasso (L1)
Além de diminuir a variância do modelo, essa regularização tem uma outra importante aplicação
em aprendizado de máquina: quando há múltiplas variáveis altamente correlacionadas (ou seja, que
se comportam da mesma maneira) essa regularização seleciona apenas uma dessas variáveis e zera
os coeficientes das outras. Desse modo, esse modelo realiza uma seleção de variáveis de forma
automática, gerando vários coeficientes com peso zero.
Vejam que o início da fórmula é idêntico à fórmula de RSS, mas ao final temos uma soma
(representada como Regularização L1) responsável por penalizar a função objetivo 9. No caso do
Lasso (L1), essa regularização se dá pela soma (Σ) dos pesos (w) em valores absolutos (|w|). Isso leva
a ter diversos atributos com peso zero, isto é, modelos mais simples, com menos atributos – apenas
aqueles que são realmente fundamentais para reduzir significativamente o erro de previsão.
Ridge (L2)
Nesse caso, a penalização consiste nos quadrados dos coeficientes, ao invés de seus módulos. Qual
será o efeito dessa regularização nos coeficientes de duas variáveis altamente correlacionadas?
Poderíamos ter duas variáveis com coeficientes parecidos, ou uma com coeficiente alto, e outra
com coeficiente zero. Como a penalização é desproporcionalmente maior para coeficientes
maiores, essa regularização faz com que variáveis correlacionadas tenham coeficientes parecidos.
Mais uma vez, o início da fórmula também é idêntico à fórmula de RSS, mas ao final temos uma
soma (representada pela Regularização L2) responsável por penalizar a função objetivo. No caso da
Ridge (L2), essa regularização se dá pela soma (Σ) do quadrado dos pesos (w²), mas não em valores
absolutos (percebam que não há o sinal de módulo). Entre a regularização L1 e L2, a segunda é bem
mais comum de ser utilizada.
9
A função objetivo é utilizada para medir o desempenho de um modelo de aprendizado de máquina. Trata-se de um valor numérico que representa
o quão bem o modelo prevê resultados corretos. Em geral, a função objetivo é uma função de custo/perda, como o Erro Quadrático Médio (EQM) ou
o Erro Absoluto Médio (EAM). O objetivo é minimizar a função objetivo para obter o melhor desempenho possível do modelo.
A Elastic Net é a combinação linear entre L1 e L2, e produz um regularizador que possui os
benefícios dos regularizadores L1 (Lasso) e L2 (Ridge). Dessa forma, obtemos o melhor dos dois
mundos, porém temos que enfrentar o problema de determinar dois hiperparâmetros para obter
soluções ótimas. O Elastic Net é bastante aplicado a algoritmos de Support Vector Machines (SVM).
Vejamos a sua fórmula:
Obs: eu não acredito que seja necessário memorizar essas fórmulas (oremos!)
Vamos dar uma resumida: a regularização no contexto de regressões funciona adicionando um
termo de penalidade à função objetivo (função de custo) do modelo. Este termo de penalidade é
em função da magnitude dos coeficientes (pesos) do modelo e aumenta à medida que a magnitude
dos coeficientes aumenta – o que encoraja o modelo a manter os coeficientes pequenos. Isso ajuda
a reduzir o overfitting e melhorar a generalização do modelo.
Há três formas: Lasso (L1), Ridge (L2) e Elastic Net (L1+L2). A primeira calcula a soma dos pesos
absolutos; a segunda calcula a soma do quadrado dos pesos; e a terceira combinas as duas.
Pruning (Poda)
Vamos imaginar uma árvore de decisão de regressão que modele a efetividade de um remédio de
acordo com a sua dosagem de tal modo que, quando a dose do remédio é muito baixa ou muito
alta, ele não era efetivo. Lembrando que uma árvore de decisão de regressão é aquela utilizada para
prever valores contínuos (em contraste com as árvores de decisão de classificação, que buscam
prever categorias). A imagem seguinte representa o gráfico (dose x efetividade) e a árvore...
Vamos interpretar o que a árvore de decisão quer nos dizer: se a dose < 14,5 mg, o remédio é apenas
4,2% efetivo; se a dose >= 14,5 mg e <= 29 mg, o remédio é 2,5% efetivo; por outro lado se a dose <
29 mg e >= 23,5 mg, o remédio é 100% efetivo. Logo, de acordo com os dados de treinamento, a
dose ideal é entre 23,5 mg e 29 mg. Agora imagine que nós aumentemos ainda mais a profundidade
da árvore com novos nós.
Como assim, Diego? Imagine um novo nível que verifica a melhor dose entre 24 mg e 28mg; e depois
outro nível que verifica a melhor dose entre 25 mg e 27 mg; e depois outro nível que verifica a melhor
dose entre 25,5 mg e 26,5 mg; e por aí vai! Ora, quando mais aumentamos a profundidade da árvore
(e seus nós), mais a árvore de ajusta aos dados de treinamento e menos ela se torna capaz de
generalizar novos dados de teste.
Nesse caso, teremos uma árvore de decisão excessivamente complexa que modela padrões
espúrios (ruídos) em vez de modelar tendências do sinal subjacente. Em outras palavras, a nossa
árvore de decisão realiza um sobreajustamento sobre os dados de treinamento – também
conhecido como overfitting. Uma maneira de simplificar a árvore e evitar esse sobreajuste é por
meio da técnica de regularização de árvores de decisão chamada pruning (ou poda).
Essa técnica de regularização busca reduzir o tamanho da árvore ao remover nós desnecessários ou
redundantes. Isso ajuda a evitar o overfitting e melhora a generalização do modelo. O processo de
poda começa calculando o custo de uma árvore antes e depois de um nó ser removido. Se o custo
após a remoção for menor do que o custo anterior, o nó será removido; e o processo de remoção
continua até que nenhum outro nó possa ser removido.
A poda também pode ser usada para controlar a complexidade da árvore. Ao definir um limiar, é
possível controlar o tamanho da árvore e evitar que ela se torne excessivamente complexa.
Agora vamos ver como a regularização pode ser aplicada a redes neurais, mas já tenho uma
observação a fazer: os perceptrons de redes neurais fazem uma regressão linear/logística, logo as
técnicas de regularização aplicadas a regressões também podem ser aplicadas a redes neurais. Por
outro lado, aqui veremos outras técnicas de regularização, tais como: Dropout, Early Stopping e
Data Augmentation.
Dropout
Nesse contexto, temos o conceito de taxa de dropout, que é basicamente a proporção de neurônios
que são desativados aleatoriamente. Uma taxa de dropout mais alta significa que mais neurônios
são desativados, e uma taxa de dropout mais baixa significa que menos neurônios são desativados.
Em geral, recomenda-se uma taxa de dropout de 20% a 50%. Vejam na imagem anterior que
tínhamos 12 neurônios e 4 deles descartados, logo temos 4/12 = 33% de taxa de dropout.
Ao desativar alguns neurônios, a rede neural não poderá contar com ativações específicas durante
o período de treinamento do modelo. Dessa forma, ela será forçada a descentralizar em múltiplos
neurônios algum padrão específico, gerando representações diferentes, distribuídas e
redundantes. Por fim, note que – em contraste com as regularizações lasso e ridge – a técnica de
dropout não depende de penalizações da função objetivo (perda ou custo) para evitar o overfitting.
Early Stopping
Também chamada de Parada Precoce ou Parada Antecipada, essa técnica envolve monitorar a
precisão da validação do modelo durante o treinamento e interromper o treinamento quando a
precisão parar de melhorar. A parada precoce é especialmente útil ao treinar modelos com grandes
conjuntos de dados, uma vez que pode reduzir o tempo necessário para o treinamento. Para
entendê-la melhor, vamos analisar o seguinte gráfico...
OVERFITTING
Temos um gráfico de Acurácia x Época! O que seria uma época, professor? Uma época é basicamente
uma passagem completa pelo conjunto de dados. Nesse sentido, note que a curva vermelha
representa o conjunto de dados de treinamento e a curva azul representa o conjunto de dados de
teste. À medida que se aumenta o número de épocas, a acurácia também aumenta tanto nos dados
de treinamento quanto nos dados de teste.
Em outras palavras, quando redes neurais são treinadas múltiplas vezes, elas tendem a detectar
padrões cada vez mais sutis, modelando o ruído em vez de modelar tendências subjacentes
(quantas zilhões de vezes já vimos isso?). Então, é importante interromper o treinamento antes de a
rede neural começar a se ajustar excessivamente aos dados de treinamento. Note no gráfico que a
linha tracejada cinza nos mostra o momento em que o treinamento começa a gerar overfitting.
A ideia por trás da parada precoce é verificar periodicamente o desempenho dos dados de teste,
isto é, se temos uma redução da acurácia nos dados de teste, é hora de interromper o treinamento.
Data Augmentation
O aumento de dados pode ser aplicado a outros tipos de dados, mas é mais comum com dados de
imagens. Então pensem comigo: temos que treinar um algoritmo de aprendizado de máquina
responsável por classificar a imagem de um animal como sendo de um cachorro ou de um gato. É
possível buscar na internet e coletar fotos desses animais, mas é um processo custoso e o modelo
será melhor, quanto mais bem treinado estiver.
Então, em vez de buscar mais imagens, nós podemos pegar as a imagens originais e gerar
artificialmente mais dados de treinamento aplicando pequenas transformações que geram
variações úteis para o treinamento, tais como cortar a imagem, invertê-la, rotacioná-la,
redimensioná-la, aumentar o contraste, reduzir o brilho, colocar em preto & branco, dar zoom-in,
dar zoom-out, entre outros.
Percebam que uma única imagem do conjunto de dados originais pode ser alvo de diversas
transformações diferentes, aumentando a quantidade de dados de treinamento e permitindo que
o modelo generalize melhor os dados. Isso ajuda a reduzir a variância do modelo, pois o modelo
será exposto a uma variedade maior de pontos de dados, o que o ajudará a generalizar melhor o
modelo de aprendizado de máquina.
Controle de Complexidade
Pode-se controlar a complexidade do modelo por meio da redução do tamanho total da rede,
redução do número de camadas ou redução da quantidade de camadas, entre outros.
Otimização de Hiperparâmetros
RELEVÂNCIA EM PROVA: baixa
Veja que os valores dos parâmetros são extraídos do próprio conjunto de dados a partir do
aprendizado de máquina, logo estão sob controle do algoritmo e, não, do cientista de dados.
Quando os valores estão sob controle do cientista de dados, chamamos de hiperparâmetros! Não
há como saber com exatidão qual é o melhor valor para um hiperparâmetro de um problema
específico porque isso dependerá de testes de tentativa e erro.
Nós vimos como funciona a regularização no tópico anterior, então agora vamos ver um exemplo
de regressão linear com regularização. Ela poderia ser modelada com a seguinte equação:
y = a + bx ou
Nesse contexto, y é o que desejamos prever (Ex: nota em uma prova); x é uma variável (Ex: horas
de estudo); e a e b são parâmetros normais cujo valor o modelo vai aprender para minimizar os erros
de predição – são também chamados de coeficientes ou pesos da equação. Ocorre que estamos
falando de uma regressão linear com regularização, logo temos alguns parâmetros adicionais que
definem pesos para evitar o famoso overfitting.
Vamos relembrar a regularização L1? Vejam que ela possui um parâmetro α antes do somatório
responsável por penalizar variáveis com coeficientes altos.
Esse parâmetro α é, na verdade, um hiperparâmetro. Por que, Diego? Porque ele é configurado
manualmente antes do treinamento para penalizar muito ou pouco os coeficientes da regressão
linear a fim de melhorar a performance do modelo. Essa escolha de hiperparâmetros é também
chamada de otimização (tunning) e trata da realização de experimentos com valores diferentes de
hiperparâmetros com o intuito de descobrir quais deles geram os modelos mais eficientes.
Vejam a complexidade: o cientista de dados precisa definir quais hiperparâmetros ele utilizará; em
seguida, ele precisa definir quais valores de hiperparâmetros ele testará para cada hiperparâmetro;
por fim, ele precisa fazer experimentos com as diversas combinações de hiperparâmetros e seus
valores para chegar ao modelo com melhor desempenho possível, isto é, o modelo mais otimizado.
Vamos ver uma pequena metáfora para entender isso melhor...
Da mesma forma que é possível fazer a otimização (tuning) de um carro, também é possível para
um modelo de aprendizado de máquina – ambos utilizando hiperparâmetros. Galera, é claro que
isso é apenas uma metáfora e toda metáfora tem a sua limitação. A minha ideia aqui foi apenas
mostrar para vocês que um hiperparâmetro é como um parâmetro configurado externamente que
permite otimizar algo. Bem, existem diversos tipos de otimização de hiperparâmetros:
Grid Search
Trata-se de um método eficaz para ajustar hiperparâmetros, sendo utilizado para melhorar o
desempenho de generalização de um modelo. Ele testa exaustivamente todas as combinações
possíveis dos valores de hiperparâmetros de interesse até encontrar os melhores. É fácil de
implementar, mas é mais adequado quando temos poucas combinações – quando há muitas
combinações, ele se torna computacionalmente inviável, demorando um tempo excessivo.
Em outras palavras, esse tipo de otimização testará por força bruta todas as combinações possíveis
de valores de hiperparâmetros. Vamos voltar à nossa metáfora: imagine que cada uma das
características que podem ser modificadas em um carro representa um hiperparâmetro do nosso
modelo e que eu queira tunar o meu carro com o intuito de aumentar o desempenho e atingir o
maior torque possível (torque é a força que um motor consegue gerar).
Eu levo meu carro a um especialista que será o responsável por testar todo e qualquer tipo de
combinação de componentes para descobrir aquela que mais aumenta o desempenho do meu
carro. Ocorre que sabemos que existem dezenas de marcas, tipos, formas, opções de chips de
potência, turbinas, escapamentos, pneus, filtros, velas, entre outros. O coitado do especialista teria
que testar absolutamente todas as combinações de cada um desses valores até descobrir a melhor.
Isso é inviável em termos de esforço e tempo! Além disso, há um segundo problema: o especialista
é obrigado a testar combinações de valores que claramente (e intuitivamente) não aumentarão o
desempenho do carro. Tudo isso é válido para o Grid Search: é útil quando temos que testar poucas
combinações de valores para poucos hiperparâmetros, mas é inviável computacionalmente quando
temos que testar muitas combinações de valores para muitos hiperparâmetros.
Random Search
Uma alternativa para resolver esse tipo de problema é por meio de uma pesquisa aleatória. Em vez
de definir previamente quais serão os valores escolhidos para cada hiperparâmetro, nós definimos
uma quantidade de testes e deixamos o algoritmo escolher aleatoriamente quais valores serão
testados para cada hiperparâmetro. Após isso, ele executa a quantidade predefinida de testes com
combinações aleatórias dos valores de hiperparâmetros.
Trata-se de uma alternativa mais barata porque não precisa testar exaustivamente todas as
combinações possíveis de valores de hiperparâmetros, portanto aumenta bastante a velocidade e
reduz bastante o tempo. Esse método é bastante útil quando temos uma quantidade extraordinária
de hiperparâmetros, visto que sua aleatoriedade permite descobrir combinações que não teríamos
imaginado intuitivamente.
Seria como se o especialista escolhesse aleatoriamente alguns componentes para avaliar possíveis
trocas que melhorassem o desempenho do meu carro. Um problema com essa abordagem é que
ela não garante que encontrará a melhor combinação de hiperparâmetros. Além disso, é possível
que o algoritmo acaba explorando muito uma região do espaço de busca e explorando pouco
outras. Por outro lado, há um maior controle do custo computacional.
Bayesian Search
Após um número definido de iterações, o algoritmo retorna o valor ótimo. Voltando à nossa
metáfora, seria como se o especialista testasse uma combinação:
Poxa, ele viu que deu um desempenho bacana! Então agora ele vai testar uma combinação com
valores próximos a esses
Note que ele levou em consideração o teste anterior para reduzir alguns hiperparâmetros e
aumentar outros; e, com isso, chegou a um desempenho melhor. Galera, é evidente que isso é
apenas uma grande simplificação e eu não entendo quase nada de carro. O que eu quero mostrar
para vocês é que um especialista externo realizou configurações no carro para permitir otimizar seu
desempenho baseado em avaliações anteriores.
Ele não fez essas configurações de forma exaustiva, testando todas as possibilidades, como no Grid
Search; ele também não fez testando valores aleatórios, como no Random Search. Ele se utilizou
de valores de testes anteriores para realizar novos testes. A busca bayesiana é uma forma mais
inteligente de testar hiperparâmetros a fim de fazer uma sintonia fina que ajuste da melhor forma
possível um algoritmo de aprendizado de máquina.
A grande vantagem é que essa abordagem perde pouco tempo buscando valores de
hiperparâmetros onde há pouca probabilidade de encontrá-los e se foca em realizar buscas em
áreas onde há maior probabilidade. Por fim, é importante mencionar que já existem softwares
capazes de buscar automaticamente quais são os melhores valores de hiperparâmetros dentro de
um modelo. Fechado?
Há campeonatos em que os vencedores são aqueles que conseguem otimizar modelos. Imagine
que uma pessoa consiga melhorar em 1% a precisão de recomendações da Netflix. Parece pouco,
mas é bastante! O maior vencedor desses campeonatos no mundo todo é brasileiro Giba Titericz!
Quem tiver curiosidade e quiser saber um pouquinho mais sobre ele e sobre o mundo de ciência de
dados em geral não pode perder essa entrevista com o pessoal do Let’s Data:
[Link]
Separabilidade de Dados
RELEVÂNCIA EM PROVA: média
Isso é mais facilmente visualizado em duas dimensões, mas também vale para três ou mais. A
separabilidade de dados em duas dimensões se dá por meio de uma linha; já em três dimensões se
dá por meio de um hiperplano conforme imagem acima. Aliás, é possível existir um cenário em que
há separabilidade de dados em três dimensões, mas não há separabilidade de dados em duas
dimensões conforme podemos ver na imagem a seguir. Como é, Diego?
Note que é possível traçar um hiperplano na imagem acima da direita separando os pontos azuis
dos pontos vermelhos, mas não é possível traçar uma linha reta na imagem da esquerda que consiga
separar os pontos azuis dos pontos vermelhos. E o que isso tem a ver com o aprendizado de máquina?
Os pontos azuis e vermelho são classes, isto é, são categorias resultantes de um modelo de
aprendizado de máquina.
Imagine que eu queira descobrir se uma pessoa é homem ou mulher baseado em seu peso e altura.
Eu posso plotar esses dados em um plano cartesiano, em que o peso seria representado no eixo das
abscissas e a altura seria representada no eixo das ordenadas. Poderíamos colocar pontos azuis para
representar homens e pontos vermelhos para representar mulheres. A ideia por trás da
separabilidade linear é ter ao menos uma linha capaz de separar essas duas categorias.
Esse problema provavelmente não permitirá que uma linha divida os dados porque há muitas
pessoas com alturas medianas e pesos medianos que podem ser homem ou mulher. Por exemplo:
se eu digo que uma pessoa pesa 50 quilos, é mais provável ser uma mulher; se eu digo que uma
pessoa tem 2,00m de altura, é mais provável que seja um homem; mas se eu digo que uma pessoa
tem 65kg e 1,67m, pode ser tanto um homem quanto uma mulher com probabilidades próximas.
Logo, o gráfico fica bastante misturado, sendo impossível traçar uma linha reta que separe os
pontos de cada categoria. O que fazer, Diego? É possível modificar explicitamente a representação
dos dados originais para um novo formato de representação em que as classes sejam mais
facilmente separáveis. Falou grego, professor! Galera, eu disse para vocês que a separabilidade linear
é basicamente apenas uma propriedade que existe entre dois ou mais conjuntos de pontos.
Em nenhum momento eu disse que essa propriedade só podia ser representada em um plano
cartesiano. Apesar de ser disparado o mais utilizado para representação de dados em um plano
bidimensional, existem outras alternativas: coordenadas polares, coordenadas cilíndricas,
coordenadas esféricas, coordenadas elípticas, coordenadas parabólicas, coordenadas hiperbólicas,
coordenadas parabólicas cilíndricas, entre outros. A representação dos dados é muito importante!
Querem um exemplo? Números podem ser representados por algarismos arábicos ou romanos, mas
é muito mais fácil fazer conta com o primeiro do que com o segundo (Ex: tentem multiplicar III x
LDI). Querem outro exemplo? Na escola, nós aprendemos sobre coordenadas polares, que é um
sistema de coordenadas bidimensionais em que cada ponto no plano é determinado por uma
distância e um ângulo em relação a um ponto fixo de referência.
Não vamos entrar em detalhes matemáticos aqui porque não há necessidade, o que importa é que
vocês saibam que é possível representar um conjunto de pontos de outras maneiras. Na imagem
acima, temos exatamente os mesmos dados representados em coordenadas cartesianas e em
coordenadas polares. Note que é impossível traçar uma linha reta que divida as duas categorias em
coordenadas cartesianas, mas é possível fazê-lo em coordenadas polares.
Neste simples exemplo, nós mesmos encontramos e escolhemos uma transformação (coordenadas
cartesianas para polares) para obter uma melhor representação dos dados. No entanto, existem
algoritmos de aprendizado de máquina capazes de fazer isso automaticamente, isto é, algoritmos
capazes de buscar de forma autônoma outras representações dos dados que satisfazem o objetivo
de uma tarefa de predição qualquer – essa abordagem se chama aprendizado de representação.
Outra maneira de aumentar a separabilidade para facilitar a classificação é por meio da seleção de
features (também chamados de características, atributos ou variáveis). A ideia é selecionar features
que permitam uma melhor separabilidade dos dados. Vamos ver um exemplo: suponha que o IBGE
vá até a casa de milhares de pessoas e faça um questionário com perguntas sobre diversos assuntos,
tais como: idade, renda, religião, etnia, tempo de deslocamento para o trabalho, entre outros.
Cada um desses atributos poderá ser utilizado para prever a classe social de uma pessoa. O atributo
idade é ruim, porque há pessoas de todas as idades em todas as classes sociais; já o atributo tempo
de deslocamento para o trabalho é bom, porque pessoas de classes sociais mais altas levam menos
tempo para se deslocar até o trabalho enquanto pessoas de classes sociais mais baixas levam mais
tempo para se deslocar até o trabalho.
Por fim, a renda seria um ótimo atributo dado que pessoas com renda mais baixa tendem a ser de
classes sociais mais baixas enquanto pessoas com renda social mais alta tendem a ser de classes
sociais mais altas (a não ser que a pessoa ganhe muito e gaste mais ainda). No exemplo abaixo,
temos uma imagem que mostra a representação da escolha de atributos ruins, bons e ótimos.
Vejam que quanto melhor o atributo escolhido, maior a separabilidade linear dos dados.
Redução de Dimensionalidade
RELEVÂNCIA EM PROVA: ALTA
Na matemática, uma reta é um exemplo de espaço unidimensional. Por que, Diego? Porque é um
conjunto de pontos localizados em uma única dimensão – essa dimensão poderia ser o
comprimento da reta. Já um plano é um exemplo de espaço bidimensional. Por que, Diego? Porque
é um conjunto de pontos localizados em duas dimensões – essas dimensões poderiam ser o
comprimento e a largura do plano.
Por fim, um cubo é um exemplo de espaço tridimensional. Por que, Diego? Porque é um conjunto de
pontos localizados em três dimensões – essas dimensões poderiam ser o comprimento, a largura e
a profundidade do cubo. Logo, podemos concluir que dimensões são características (também
chamadas de features ou variáveis) de um conjunto de pontos. Note que, se escolhermos qualquer
ponto em um cubo, teremos um valor para cada uma de suas dimensões.
Cada uma dessas características são variáveis que podem ser utilizadas para prever o valor de um
imóvel. Nesse caso, teremos uma tabela em que cada linha representa uma observação (ou ponto)
e cada coluna representa o valor de uma variável (ou dimensão). Galera, é muito comum a crença
de que – quanto maior o número de variáveis – melhor será a previsão, mas nem sempre essa crença
é uma realidade.
Vamos piorar um pouco mais adicionando mais uma dimensão, contemplando um espaço cúbico
de 100m³ – como se fosse um galpão, sendo que a barata pode estar no chão, nas paredes ou no
teto. Agora complicou de vez: ficou muito mais difícil encontrar a barata. Quanto mais dimensões
existirem, maior será o volume espacial, mais esparsos ficam os dados. Em altas dimensões, todos
os conjuntos de dados são esparsos, isto é, são poucos dados em um espaço muito grande.
Imagine que eu queira prever a expectativa de vida de um cão ou gato baseado em 10 amostras de
dados de treinamento. Se eu escolher uma característica (ex: peso), poderei representá-la por meio
de uma linha, logo teremos os pontos de dados juntinhos como mostra a primeira imagem; se eu
escolher duas características (ex: peso e altura), poderei representá-las por meio de um plano, mas
veja que os pontos de dados ficam mais esparso como mostra a segunda imagem.
Por fim, se eu escolher três características (ex: peso, altura e nível de atividade), poderei representá-
las por meio de um cubo, mas veja que agora os dados ficaram bem mais esparsos ainda como
mostra a terceira imagem. Note que, quanto mais aumentamos a quantidade de dimensões, mais
esparsos ficam os dados de gatos e cães dado que a amostra não foi modificada. Logo, como os
dados estão mais esparsos, torna-se mais difícil para o algoritmo encontrar padrões.
Durante o treinamento de um modelo, uma parte dos dados disponíveis são utilizados para
treinamento e outra parte para teste. Uma maneira eficaz de construir um modelo que generaliza
bem os dados é capturar diferentes combinações possíveis dos valores das variáveis. Ocorre que,
quanto mais dimensões nós temos, mais combinações devem ser analisadas e mais dados de
treinamento são necessários; caso contrário, o modelo não generalizará bem.
Tipos de Métodos
Seleção de Variáveis/Atributos
A seleção de variáveis tem como objetivo descobrir um subconjunto de variáveis relevantes para
uma tarefa. Ela é importante, entre outras coisas, por tornar o processo de aprendizagem mais
eficiente. A ideia aqui é descartar variáveis irrelevantes, que sejam pouco relacionadas com a
variável que desejamos prever. Vocês se lembram do exemplo do apartamento? Ora, existe pouca (ou
nenhuma) correlação entre a quantidade de torneiras e o valor de um apartamento.
Em outras palavras, os dados indicam que essa variável não tem nenhuma relação com o valor do
apartamento. Logo, ela é irrelevante e poderia ser tranquilamente eliminada do conjunto de
variáveis utilizadas no aprendizado de máquina, reduzindo a dimensionalidade do nosso modelo.
Há também casos em que existe correlação, mas não existe causalidade, isto é, os dados indicam
que apartamentos anunciados em quartas-feiras possuem um valor maior.
Ora, pode até existir essa correlação, mas não existe causalidade! Em outras palavras, os valores
mais altos não são devidos ao dia da semana em que o apartamento foi avaliado – trata-se apenas
de uma coincidência. Por fim, há também as variáveis redundantes, isto é, duas ou mais variáveis
com semânticas semelhantes cujos dados são parecidos. Isso prejudica o desempenho do algoritmo
tanto em relação ao custo computacional quanto em relação à taxa de acerto.
Método Filter
Esse método conduz uma análise inicial supervisionada das variáveis a fim de selecionar o melhor
subconjunto de variáveis que sejam relevantes para a predição. Para avaliar quais variáveis são
relevantes, é necessário utilizar alguma métrica de correlação, tais como variância, qui-quadrado
ou coeficiente de correlação. Basicamente, essa avaliação analisará a correlação entre uma ou mais
variáveis em relação ao valor que desejamos prever.
Por outro lado, eles tendem a selecionar variáveis redundantes dado que não consideram as
relações entre variáveis. Em outras palavras, eles consideram apenas as relações entre variável
independente e variável alvo, mas não consideram as relações entre as próprias variáveis
independentes. Vocês se lembram do exemplo do quarto e dormitório? Ambos têm alta correlação
com o valor do apartamento e ambos seriam preservados – apesar de serem redundantes.
Idealmente, apenas uma delas deveria ser preservada e a outra eliminada. Apesar disso, atualmente
já existem algumas técnicas para acabar com esses problemas.
Método Wrapper
Esse método busca empacotar (wrap) um problema de seleção de variáveis em uma caixa preta.
Dentro dessa caixa preta, são treinados modelos de aprendizado de máquina. Em outras palavras,
esse método executará diversos testes de treinamento de modelos com as variáveis a fim de
encontrar o melhor subconjunto de variáveis. Na prática, ele inicialmente realiza o treinamento do
modelo considerando todas as variáveis e analisa o desempenho.
Método Embedded
Esse método busca combinar as vantagens dos métodos anteriores. Logo, ele tenta selecionar
variáveis e executar o treinamento de aprendizado de máquina simultaneamente.
Fatoração de Matrizes
Decompõe a matriz dos dados originais em produtos de matrizes mais simples, com propriedades
que permitem identificar as dimensões mais relevantes da variabilidade dos dados enquanto
combinações lineares dos dados originais. É o que, Diego? Lá vou eu te mostrar um exemplo para
ficar fácil de entender. Vamos tentar descobrir como a Netflix faz recomendações de filmes para os
seus usuários. Venham comigo...
Vamos pensar em quatro usuários: Antônio, Bernadete, Clemente e Doralice! Digamos que nossos
usuários assistiram cinco filmes e atribuíram uma nota de classificação de 1 a 5 estrelas para cada
um deles. Nós vamos registrar esses valores de classificação em uma tabela, onde as linhas
representam os usuários, as colunas representam os filmes e as células representas as notas que
cada usuário atribuiu para cada filme.
Agora eu gostaria de convidá-los para uma reflexão: a tabela anterior parece refletir a tabela real de
classificações de filmes da NetFlix? Ora, todos os usuários deram nota 3 para todos os filmes – isso
não me parece muito realista. Seria o equivalente a dizer que todos os usuários têm exatamente as
mesmos preferências de filmes e que todos os filmes teriam a mesma nota independentemente de
quem avaliou. Não me parece nada com a realidade...
Já a tabela acima parece ter quase todos os números aleatórios. Ora, isso também não me parece
realista – seria o equivalente a dizer que todos os usuários têm preferências de filmes
completamente diferentes e que todos os filmes são diferentes em termos de classificação. Em
geral, pessoas podem ter gostos diferentes, mas é raro ter notas tão díspares uma das outras em
termos de classificação.
Note também que a primeira e quarta colunas são exatamente iguais – isso significa que o primeiro
e o quarto filmes são bastante similares, ao menos em termos de classificação. Logo, para NetFlix,
eles também são tratados como semelhantes. Há ainda algumas dependências ocultas que são
mais sofisticadas. Por exemplo: ao analisar as três últimas linhas, podemos observar que as notas
da quarta linha são exatamente a soma da segunda e terceira linhas.
E o que isso tem a ver, Diego? Uma possível interpretação que poderíamos especular seria a de que
Bernadete gosta de filmes de comédia, Clemente gosta de filmes de romance e Doralice gosta de
filmes de comédia romântica. Agora vejam a segunda, terceira e quinta colunas: observe que as
notas da quinta coluna são exatamente a média entre as notas da segunda e terceira colunas. Qual
seria uma possível interpretação?
Poderíamos especular que o segundo filme seja Tubarão – aquele filme clássico que trata de
ataques de tubarões em uma praia americana; o terceiro filme seja Twister – aquele filme clássico
que trata de um tornado que destrói uma cidade inteira; e o quinto filme seja Sharknado – aquele
filme em que um tornado espalha tubarões nas águas de uma cidade alagada. Se você gostou de
filmes de ataques de tubarões e filmes de tornados, gostará de filmes que misturam os dois.
Galera, é claro que tudo isso é especulação – nem sempre nós vamos conseguir interpretar o
significado de um determinado padrão. O ponto aqui foi apenas demonstrar duas coisas: (1) não só
é possível como também é comum armazenar dados sobre variáveis de um modelo em formato de
matrizes; (2) é possível encontrar dependências e relacionamentos entre linhas e colunas de uma
matriz. E qual é a grande vantagem disso?
A vantagem é que matrizes são estruturas que podem ser manipuladas por meio de técnicas de
álgebra linear para terem sua dimensionalidade reduzida. E como fazemos para descobrir todas essas
dependências em uma matriz de alta dimensionalidade? Resposta: por meio de métodos de fatoração
ou decomposição de matrizes. Quando crianças, nós aprendemos nas aulas de matemática que um
número grande pode ser fatorado ou decomposto em dois ou mais números menores.
Por exemplo: 512 é um número grande, mas eu posso decompô-lo por meio de números menos,
tais como 256 x 2 ou 128 x 4 ou 64 x 8. A fatorização de matrizes busca fazer um procedimento
semelhante, isto é, representar uma matriz de alta dimensionalidade como o produto entre
matrizes de baixa dimensionalidade. Existe uma matemática extraordinariamente complexa por
trás desses métodos, logo não vamos detalhar.
A ideia aqui é apenas mostrar que essa técnica permite encontrar subconjuntos de dados que
melhor representam a matriz original. No contexto do aprendizado de máquina, é como se a
máquina tentasse fatorar a matriz original iterativamente até encontrar o melhor subconjunto de
dados com menor dimensionalidade que seja capaz de representar a matriz original. Uma outra
comparação interessante é entre população e amostra.
Um laboratório não precisa retirar todo seu sangue para inferir com algum grau de confiança se
você está com alguma doença – basta selecionar uma amostra representativa da população total.
Sistemas de Recomendação
representando um grupo de fatores ocultos que influenciam a escolha do usuário. Então, usa-se a
informação contida nessas submatrizes para prever quais produtos o usuário pode gostar.
Existem três modelos de sistemas de recomendação: (1) baseado em filtragem colaborativa; (2)
baseado em conteúdo; e (3) híbrido. No primeiro modelo, os algoritmos usam aprendizado de
máquina para prever seus gostos com base em usuários que têm perfis similares. Por exemplo:
suponha que João ouve com frequência em um serviço de streaming de músicas as bandas Pink
Floyd, Metallica e Blind Guardian.
Suponha também que Alice assina a mesma plataforma de streaming e escuta com frequência Pink
Floyd, Metallica e Symphony X, o serviço poderá recomendar Blind Guardian para Ana. Em sistemas
mais complexos, como o de recomendações de filmes e livros, mais pontos além de uma interação
genérica devem ser levados em consideração — aqui podem entrar a avaliação que o usuário dá
para o conteúdo ou tempo médio de consumo, entre outros.
A plataforma pode identificar as características dessa série (Ex: trata-se de uma série de drama,
passada nos EUA que fala sobre o dia a dia de médicos) e pode recomendar outra série que possua
atributos similares (Ex: House). Por fim, o terceiro modelo é o mais utilizado e se fundamenta tanto
nas características de similaridade de perfis quanto nas características de similaridade de conteúdo.
Sabe quem tem o melhor sistema de recomendação do mercado atualmente? TikTok!
Eu não uso essa rede social, mas ela é um caso de sucesso do algoritmo. Assim como outras big
techs, o TikTok usa inteligência artificial para sugerir seu conteúdo a outros usuários. Sua
particularidade é que a recomendação está sempre mostrando algo novo em uma velocidade
absurda (na aba For You) — mas sem perder a relevância. Para isso, o TikTok usa dados referentes
às suas interações, hashtags, áudios, localização e legenda de cada vídeo.
O algortimo de recomendação do TikTok deu tão certo que virou um produto, e agora pode ser
comercializado para outras empresas por meio de uma unidade de negócios chamada BytePlus.
Outro caso de sucesso são os reels do Instagram! Eu que o diga! Começo a ver vídeos de cachorro e
passo uma hora descendo aquele troço e não para de surgir (ótimos) vídeos novos de cachorro.
Vejamos agora os principais métodos...
Principais Métodos
PCA
Vamos supor que você more em Maragogi/AL e, de repente, ganhou na mega-sena, largou a vida
de concurseiro e decidiu se mudar para alguma cobertura na frente da praia. Só que você está
milionário, então – apesar de você amar Maragogi – agora você tem a possibilidade de morar em
qualquer praia do planeta. Você decide, portanto, pesquisar cidades parecidas com Maragogi em
outros lugares do mundo.
Logo, você começa a coletar dados de centenas de outras cidades praianas, tais como: número de
habitantes, temperatura média, nível de trânsito, densidade populacional, área de espaço verde,
altitude, nível de segurança, nível médio de escolaridade, renda per capita, IDH, proximidade de
aeroportos internacionais, entre outros. Você, então, decide desenhar um gráfico unidimensional
com apenas a população de cada cidade. Qual será o resultado disso?
Acho que é intuitivo pensar que cidades grandes ficarão próximas de um lado do gráfico e cidades
pequenas também ficarão próximas, mas do outro lado do gráfico (e Maragogi provavelmente
ficaria próximo das cidades pequenas). Você não fica satisfeito e adiciona mais uma dimensão,
desenhando um gráfico bidimensional de População x Temperatura Média. Agora você tem cidades
grandes quentes, cidades grandes frias, cidades pequenas quentes e cidades pequenas frias.
É claro que há cidades que ficam no meio termo dessas características, mas isso não é relevante no
momento. Ocorre que estar próximo a um aeroporto internacional é muito importante para você,
dado que agora você poderá viajar sempre que quiser, então você adiciona mais uma dimensão,
desenhando um gráfico tridimensional de População x Temperatura Média x Proximidade de
Aeroportos Internacionais. E assim você prossegue adicionando mais e mais e mais dimensões!
No entanto, você notará que algumas dessas variáveis são bastante correlacionadas. Como assim,
Diego? Ora, cidades praianas com maior nível de escolaridade geralmente tem maior renda per
capita, maior IDH e maior nível de segurança; cidades com maior quantidade de habitantes
geralmente também têm maior densidade populacional; cidades com maior densidade
populacional geralmente tem menos área verde e mais trânsito; e por aí vai...
É nesse momento que nosso método chega para brilhar! O PCA aplicará uma transformação linear
sobre as variáveis originais e criará um novo sistema de coordenadas bidimensional de modo que
Eixo X será o primeiro componente principal e o Eixo Y será o segundo componente principal. Eu sei,
eu sei que você viajou agora, mas vou tentar desenhar um pouco e abstrair a parte matemática
porque isso envolve diversos conceitos de álgebra linear. Vamos lá...
==3b91f9==
Observem os três gráficos apresentados e respondam: o primeiro gráfico tem quantas dimensões?
Duas, professor! Exato, trata-se de gráfico 2D (bidimensional). E o segundo gráfico? Podemos dizer
que ele tem apenas uma dimensão (unidimensional) porque, para qualquer valor de x, o y tem o
mesmo valor. Legal, e o terceiro gráfico? Olha a pegadinha: eu posso dizer que ele tem apenas uma
dimensão. O que, Diego?
De forma bastante abstrata, isso é o que chamamos de transformação linear. Diego, se você fizer
isso, você não estará mexendo nos dados do gráfico? Galera, a correlação entre as variáveis originais
se perderá, mas não haverá perda de informação porque a rotação dos eixos não altera a distância
relativa que um ponto tem do outro – que é o importante para nós nesse momento. Aqui estamos
preocupados com a variância, isto é, queremos enfatizar a variação dos dados.
Como modificamos os eixos, as variáveis originais já não fazem mais sentido no novo gráfico. No
gráfico gerado, o Eixo X será o primeiro componente principal e o Eixo Y será o segundo componente
principal. É bom enfatizar também que – da mesma forma que as variáveis originais eram
correlacionadas – os novos componentes principais são completamente não correlacionados
(também chamado de ortogonais) – que era tudo que nós queríamos.
Nós queríamos isso, Diego? Sim! O que nos interessa é ver a variação de dados! Logo, é comum
configurar um limiar de variância. Por exemplo: queremos um novo gráfico que represente 90% da
variância dos dados (perda de 10%). O PCA fará seus cálculos e retornará um gráfico que contemple
essa variância e com uma determinada quantidade de componentes principais (que poderá ser igual
ou, geralmente, menor que a quantidade de variáveis originais).
Em nosso exemplo, tínhamos um caso muito simples. De toda forma, eliminamos uma
variável/dimensão (2D → 1D), não perdemos informações relevantes e representamos em uma
única dimensão a variabilidade dos dados (variância). No entanto, no mundo real os sistemas são
bem mais complexos e com bem mais variáveis. Logo, a redução de dimensionalidade possibilita o
desenvolvimento de modelos mais simples, o que permite melhor análise.
O PCA converte as correlações (diretas ou inversas) entre variáveis de forma que variáveis
altamente correlacionadas fiquem agrupadas e representem padrões fortes de conjuntos de dados
grandes e complexos. O primeiro componente principal é mais importante (representa maior
variância dos dados) que o segundo componente principal, e assim por diante. Isto é, há uma
sequência de componentes principais ortogonais entre si e em ordem decrescente de importância.
Notem que os componentes principais buscam capturar a essência dos dados, isto é, aqueles dados
que representam a maior variação no conjunto. Ele aplica uma transformação em um conjunto de
dados com variáveis possivelmente correlacionadas, para convertê-las em um conjunto de dados
de variáveis linearmente não correlacionadas. Era isso que eu tinha para dizer sobre a análise de
componentes principais. Dito isso, acho que chegamos ao...
FIIIIIIIIIIIIIIIIIIIM
Concursos da Área Fiscal - Curso Completo de Tecnologia da Informação 125
[Link] 310
Eu não sei quem sofreu mais nessa aula: eu, que tive que escrever; ou vocês,
que têm que estudar!
RESUMO
INTELIGENCIA ARTIFICIAL
RESPONSIBLE AI
Princípios/práticas DESCRIÇÃO
Garantir que os processos e decisões tomadas por sistemas de IA sejam compreensíveis e
facilmente acessíveis, incluindo o uso de dados, algoritmos e lógica de tomada de decisão.
Transparência Isso inclui a transparência em relação ao propósito, desempenho, limitações e riscos
associados aos sistemas de IA.
Permitir que os usuários e outras partes interessadas entendam como as decisões foram
Explicabilidade/ tomadas pelos sistemas de IA, por meio de métodos de interpretação e explicação. Isso inclui
a capacidade de explicar como os algoritmos funcionam e como as decisões são tomadas, de
interpretabilidade modo a permitir a identificação e correção de possíveis erros ou preconceitos.
Proteger a privacidade e os dados pessoais dos usuários e garantir que as informações sejam
Privacidade/ coletadas e utilizadas de forma ética e responsável. Isso inclui a proteção contra violações de
segurança privacidade, coleta excessiva ou inadequada de dados e uso indevido ou não autorizado de
informações pessoais.
MACHINE LEARNING
TERMO DESCRIÇÃO
Definição genérica daquilo que se deseja produzir como resultado do modelo preditivo. Ex:
TAREFA classificar um documento em três possíveis categorias ou prever o valor de determinada medida.
Conjunto de procedimentos que permite melhorar resultados preditivos. Ex: regularização é uma
TÉCNICA técnica para prevenir o overfitting; hold-out é uma técnica de separação de dados para medir o
desempenho em generalização de um modelo.
Fórmula no sentido lato, que permite relacionar as variáveis independentes para prever a variável
ALGORITMO dependente. Quando aplicamos (ou treinamos) um algoritmo, temos um modelo treinado.
Exemplo: Regressão Linear ou Árvores de Decisão.
MODELO Objeto computacional que efetivamente transforma uma observação (variáveis independentes)
em uma previsão utilizando um algoritmo específico, instanciado e treinado.
(treinado)
Tipos de aprendizado
==3b91f9==
TÉCNICAS E TAREFAS
Tipos de regressão
MATRIZ DE CONFUSÃO
Tipos de medição
FUNÇÃO DE
FUNÇões de limite
ATIVAÇÃO
Essa função compara um valor com um
Descrição da determinado limite (nesse caso, o limite é 0) e
função decide se um neurônio será ativado (1) ou não
será ativado (0).
Representação
da fórmula
FUNÇÃO DE
Funções logísticas
ATIVAÇÃO
Essa função recebe um valor real qualquer
Descrição da como entrada [-∞,+∞] e retorna um valor de
função saída entre 0 e 1.
Representação
da fórmula
FUNÇÃO DE
FUNÇÃO tangente hiperbólica
ATIVAÇÃO
Essa função recebe um valor real qualquer
Descrição da como entrada [-∞,+∞] e retorna um valor de
função saída entre -1 e 1.
Representação
da função
VALIDAÇÃO cruzadA
CURVA ROC
UNDERFITTING E OVERFITTING
VIÉS E VARIâNCIA
BAIXO VIÉS E Trata-se de um modelo que possui ótima precisão em suas previsões
com dados de treino e que varia muito pouco quando aplicado a
BAIXA novos dados. Note que os pontos estão no centro do alvo e não estão
VARIÂNCIA espalhados.
BAIXO VIÉS E Trata-se de um modelo que possui boa precisão em suas previsões
com dados de treino (overfitting), mas que varia bastante quando
ALTA aplicado a novos dados. Note que os pontos estão próximos ao
VARIÂNCIA centro do alvo, porém estão um pouco espalhados.
ensemble
Técnicas de regularização
Otimização de hiperparâmetros
Separabilidade de dados
Redução de dimensionalidade
1. (CESPE / LNA – 2024) Atualmente, uma nova vertente na área de inteligência artificial (IA) tem
entusiasmado a comunidade científica e acadêmica e a sociedade em geral, conhecida como
modelos de difusão estável — SD (stable diffusion). Assinale a opção que apresenta uma tarefa
que não pode ser realizada com o uso de modelos do tipo SD.
Comentários:
(a) Errado. A pintura de imagem (Image Inpainting) guiada por texto pode ser realizada com
modelos de difusão estável, que conseguem preencher áreas faltantes de uma imagem com base
em descrições textuais;
(b) Correto. A geração de linguagem não é uma tarefa típica para modelos de difusão estável, que
são mais focados em processamento e geração de imagens;
(c) Errado. Modelos de difusão estável podem gerar imagens de maneira incondicional, ou seja, sem
a necessidade de um guia textual, apenas a partir de um processo de difusão;
(d) Errado. A geração de imagens guiadas por texto é uma das principais capacidades dos modelos
de difusão estável, onde um texto fornece as instruções para a criação de uma imagem
correspondente;
(e) Errado. Modelos de difusão estável podem realizar tradução de imagem para imagem guiada
por texto, como transformar uma imagem existente em outra com base em uma descrição textual.
Gabarito: Letra B
2. (CESPE / ANTT – 2024) No modelo a seguir, que contém regras que incluem os itens A, B, C, D,
E, F, G e H, as regras 1 e 2 pertencem a um mesmo grupo de regras.
Comentários:
As regras 1 e 2 pertencem ao mesmo grupo de regras porque ambas são exemplos de regras de
produção em sistemas de regras de associação, onde um conjunto de condições resulta em uma
conclusão. A Regra 1 é uma regra de associação complexa que envolve duas condições (A e B) para
gerar um resultado (C), enquanto a Regra 2 é mais simples, com uma única condição (D) resultando
em um resultado (E). Ambas seguem o formato de "se... então...", característico de regras de
associação.
Gabarito: Correto
3. (CESPE / CTI – 2024) A utilização da lógica nebulosa é adequada quando há necessidade de uma
variável fazer parte da solução de um problema.
Comentários:
A lógica nebulosa, ou lógica fuzzy, é utilizada quando há necessidade de lidar com incertezas e
imprecisões, permitindo que uma variável pertença a diferentes conjuntos com graus de
pertinência. Ela é adequada para problemas onde as definições precisas não são possíveis ou
desejáveis, e permite uma forma mais flexível de raciocínio que se aproxima da maneira como os
humanos lidam com a incerteza. A lógica fuzzy é útil em sistemas de controle, tomadas de decisão,
e outras aplicações onde as condições são vagas ou subjetivas.
Gabarito: Errado
4. (CESPE / CTI – 2024) Na ciência de dados, as cadeias de Markov podem ser aplicadas a
ferramentas de previsão do clima e de espalhamento de doenças, por exemplo.
Comentários:
As cadeias de Markov são modelos matemáticos que descrevem sistemas que transitam de um
estado para outro, onde a probabilidade de cada estado futuro depende apenas do estado atual, e
não da sequência de eventos que precederam. Elas são aplicáveis em diversas áreas, incluindo:
1. Previsão do clima: modelos de cadeia de Markov podem ser usados para prever as condições
climáticas futuras com base nos estados climáticos atuais.
Esses modelos são úteis porque permitem a análise e previsão de sistemas estocásticos em diversas
áreas da ciência de dados.
Gabarito: Correto
5. (CESPE / ANTT – 2024) A regressão logística é usada para fazer uma previsão sobre uma variável
categórica comparada a uma contínua; assim como a regressão linear, a regressão logística
também pode ser usada para estimar o relacionamento entre uma variável dependente e uma
ou mais variáveis independentes.
Comentários:
A regressão logística é usada para prever uma variável categórica, como uma variável binária (0 ou
1). Assim como a regressão linear, ela estima o relacionamento entre uma variável dependente
(categórica) e uma ou mais variáveis independentes, mas utiliza uma função logística para
transformar a saída em probabilidades entre 0 e 1.
Gabarito: Correto
6. (CESPE / ANTT – 2024) Os sistemas de recomendação utilizam vários algoritmos, entre os quais
estão os embasados em conteúdo, cuja abordagem consiste em analisar as interações passadas
dos usuários com os produtos.
Comentários:
Gabarito: Errado
7. (CESPE / ANTT – 2024) A regressão linear é o método mais utilizado de análise preditiva; nela,
são usadas relações lineares entre uma variável dependente (destino) e uma ou mais variáveis
independentes (preditores) para prever o futuro do destino.
Comentários:
A regressão linear é amplamente utilizada em análise preditiva para modelar a relação entre uma
variável dependente (ou variável de destino) e uma ou mais variáveis independentes (ou
preditoras). Nesse método, assume-se que a relação entre as variáveis é linear, o que significa que
a variável dependente pode ser expressa como uma soma ponderada das variáveis independentes
mais um termo constante.
A regressão linear é utilizada para prever valores futuros da variável dependente com base nos
valores das variáveis independentes.
Gabarito: Correto
Comentários:
II. Errado. O sobreajuste geralmente ocorre com modelos de alta complexidade, que têm grande
capacidade de ajustar-se aos detalhes dos dados de treinamento, incluindo o ruído. Um modelo de
baixa complexidade, por outro lado, tende a ser incapaz de capturar as complexidades dos dados e
sofre mais frequentemente de subajuste;
III. Correto. A validação cruzada K-fold é uma técnica eficaz para detectar sobreajuste, pois permite
avaliar o desempenho do modelo em diferentes subconjuntos dos dados, ajudando a identificar se
o modelo está se ajustando excessivamente aos dados de treinamento.
Gabarito: Letra C
9. (CESPE / MPO – 2024) Pode-se utilizar machine learning, capaz de reconhecer e reproduzir
padrões de inteligência artificial com base em experiência prévia, para um mecanismo de busca
na Internet que funcione de forma automatizada.
Comentários:
Machine learning pode ser usado em mecanismos de busca na Internet para melhorar a relevância
dos resultados, reconhecer padrões de comportamento dos usuários e adaptar-se com base na
experiência prévia. Isso permite que os mecanismos de busca funcionem de forma mais
automatizada e eficiente, entregando resultados personalizados e otimizados.
Gabarito: Correto
10. (CESPE / MPO – 2024) A redução de dimensionalidade acrescenta variáveis nos modelos de
inteligência artificial para torná-los mais específicos e objetivos.
Comentários:
A redução de dimensionalidade é uma técnica que visa diminuir o número de variáveis (ou
dimensões) em um conjunto de dados, removendo aquelas que são menos relevantes. Isso
simplifica os modelos de inteligência artificial, melhora a eficiência computacional e ajuda a evitar
o overfitting, tornando os modelos mais robustos.
Gabarito: Errado
11. (CESPE / CTI – 2024) O dispositivo computacional da inteligência artificial engloba, entre outros
elementos, a percepção, que é a capacidade de provocar mudanças no ambiente.
Comentários:
Gabarito: Errado
12. (CESPE / CTI – 2024) Os processos heurísticos buscam, primeiramente, estabelecer soluções
teóricas para, depois, avançar para uma única tentativa de solução.
Comentários:
Os processos heurísticos não buscam primeiramente estabelecer soluções teóricas para depois
avançar para uma única tentativa de solução. Na verdade, heurísticas são técnicas que utilizam
abordagens práticas e simplificadas para resolver problemas complexos, muitas vezes através de
tentativas múltiplas e iterativas, procurando soluções satisfatórias de maneira mais eficiente. Eles
são baseados em experiência, intuição e regras empíricas, em vez de métodos exatos ou teóricos,
permitindo encontrar soluções viáveis quando métodos tradicionais seriam inviáveis devido à
complexidade ou tempo de processamento.
Gabarito: Errado
Comentários:
Gabarito: Correto
14. (CESPE / CTI – 2024) A utilização de inteligência artificial conversacional possibilita o uso de
dispositivos IoT em ambiente doméstico.
Comentários:
A utilização de inteligência artificial conversacional, como assistentes virtuais (por exemplo, Alexa,
Google Assistant), possibilita o controle e a interação com dispositivos IoT em ambientes
domésticos. Esses assistentes permitem que os usuários controlem luzes, termostatos, câmeras de
segurança e outros dispositivos conectados por meio de comandos de voz, facilitando a automação
e melhorando a conveniência e a acessibilidade no lar.
Gabarito: Correto
15. (CESPE / CAU-BR – 2024) O denominado motor de inferência é o núcleo dos sistemas de IA que
oferece soluções possíveis para um problema apresentado.
Comentários:
Gabarito: Correto
16. (CESPE / CTI – 2024) A regressão é um tipo de aprendizado não supervisionado cujo objetivo é
entender a relação entre variáveis dependentes.
Comentários:
Gabarito: Errado
Comentários:
Gabarito: Correto
18. (CESPE / CTI – 2024) As tarefas de aprendizado de máquina podem ser divididas em três
grandes grupos: classificação, agrupamento e associação, devendo o primeiro grupo possuir
uma classe que se pretenda prever.
Comentários:
As tarefas de aprendizado de máquina realmente podem ser divididas em três grandes grupos:
classificação, agrupamento e associação. Na classificação, o objetivo é realmente prever uma classe
ou categoria para os dados de entrada.
Gabarito: Correto
Comentários:
alcançar um equilíbrio onde o modelo é suficientemente complexo para capturar padrões reais, mas
não tão complexo que não consiga generalizar.
Gabarito: Errado
20. (CESPE / CTI – 2024) Ocorre sobreajuste quando o modelo não pode determinar uma relação
significativa entre os dados de entrada e saída, ou seja, quando o modelo não é treinado pelo
período apropriado em relação à quantidade de dados.
Comentários:
Gabarito: Errado
21. (CESPE / CTI – 2024) Em aprendizado de máquina, um modelo de bom desempenho com dados
já treinados, mas que não lide muito bem com novos dados é denominado subajuste, ou seja,
no subajuste se aprende com base no ruído dos dados.
Comentários:
Em aprendizado de máquina, um modelo que tem bom desempenho com dados de treinamento,
mas não lida bem com novos dados é denominado sobreajuste (overfitting), não subajuste. No
sobreajuste, o modelo aprende detalhes e ruídos específicos do conjunto de treinamento, o que
compromete sua capacidade de generalizar para dados não vistos. Subajuste (underfitting) ocorre
quando o modelo é muito simples para capturar os padrões subjacentes nos dados, resultando em
baixo desempenho tanto nos dados de treinamento quanto nos novos dados.
Gabarito: Errado
22. (CESPE / CTI – 2024) No contexto do aprendizado de máquina, um algoritmo é definido como a
especificação de uma relação probabilística existente entre variáveis diferentes.
Comentários:
reais. Embora alguns algoritmos possam usar relações probabilísticas entre variáveis (como Naive
Bayes), nem todos os algoritmos se baseiam em tais relações. A definição apresentada descreve
mais adequadamente um modelo probabilístico, não um algoritmo de aprendizado de máquina.
Gabarito: Errado
23. (CESPE / CAU-BR – 2024) Em machine learning, os sistemas podem usar aprendizado do tipo
supervisionado, não supervisionado, autônomo ou gerenciado.
Comentários:
Gabarito: Errado
24. (CESPE / CTI – 2024) As aplicações de IoT utilizam algoritmos de aprendizado de máquina para
analisar grandes quantidades de dados de sensores conectados em nuvem.
Comentários:
Gabarito: Correto
25. (CESPE / CTI – 2024) Na inteligência artificial, o agente inteligente deve ser capaz de ter
autonomia, isto é, deve ter a capacidade de acumular conhecimento que seja útil em suas ações.
Comentários:
Gabarito: Errado
26. (CESPE / CTI – 2024) A capacidade de classificação é uma tarefa importante no aprendizado de
máquina, por ser utilizada no estabelecimento de padrões.
Comentários:
Gabarito: Correto
27. (CESPE / ANTT – 2024) Ocorre sobreajuste quando um modelo de dados é incapaz de capturar
o relacionamento entre as variáveis de entrada e saída com precisão, o que gera uma alta taxa
de erro tanto no conjunto de treinamento quanto nos dados não exibidos.
Comentários:
Gabarito: Errado
Comentários:
Gabarito: Errado
29. (CESPE / ANTT – 2024) Modelos de aprendizado não supervisionado são utilizados em três
tarefas principais, entre as quais está a redução de dimensionalidade, que é uma técnica usada
para se reduzir o número de entradas de dados a um tamanho gerenciável, não havendo, nesse
caso, preservação da integridade do conjunto de dados.
Comentários:
Gabarito: Errado
30. (CESPE / LNA – 2024) O algoritmo de otimização Adam (Adaptive Moment Estimation) é um
dos mais utilizados atualmente na área de aprendizado de máquina. A respeito das
características e da utilização desse algoritmo, é correto afirmar que ele:
Comentários:
(a) Errado. O algoritmo Adam utiliza uma taxa de aprendizado adaptativa, ajustando a taxa de
aprendizado para cada parâmetro com base em estimativas de momentos de primeira e segunda
ordem dos gradientes;
(b) Errado. Embora Adam tenha boa performance na prática, não garante convergência para a
solução ótima em qualquer condição, especialmente em problemas de otimização complexos ou
com superfícies de erro não convexas;
(c) Errado. Adam é eficiente em termos de memória, pois armazena apenas a média móvel dos
gradientes e suas variâncias. Isso o torna adequado para redes neurais grandes, ao contrário do que
a alternativa sugere;
(d) Errado. Adam é capaz de lidar com gradientes esparsos, uma vez que atualiza os parâmetros de
forma independente, o que é uma vantagem em relação a outros algoritmos de otimização que
podem se beneficiar de informação global sobre o gradiente;
(e) Correto. O algoritmo Adam utiliza a média móvel exponencial dos gradientes (primeiro
momento) e a média móvel quadrática dos gradientes (segundo momento) para normalizar a
atualização dos pesos, o que ajuda a estabilizar o treinamento e permite a adaptação da taxa de
aprendizado.
Gabarito: Letra E
31. (CESPE / MPO – 2024) O aprendizado supervisionado é definido pelo uso de conjuntos de dados
rotulados para treinar algoritmos que classificam dados ou preveem resultados com precisão.
Comentários:
O aprendizado supervisionado utiliza conjuntos de dados rotulados, onde cada exemplo de entrada
é associado a um rótulo ou saída desejada. Esses dados são usados para treinar algoritmos que
aprendem a mapear entradas para saídas, permitindo a classificação ou predição de novos dados
com base no padrão aprendido. É amplamente aplicado em problemas como reconhecimento de
imagem, detecção de fraudes e previsão de vendas.
Gabarito: Correto
32. (CESPE / ANA – 2024) O aprendizado supervisionado utiliza a regressão para entender a relação
entre variáveis dependentes e independentes.
Comentários:
No aprendizado supervisionado, a regressão é uma técnica usada para modelar e analisar a relação
entre uma variável dependente (alvo) e uma ou mais variáveis independentes (preditoras). Isso
permite prever valores contínuos com base nas variáveis de entrada, sendo essencial em diversos
modelos preditivos.
Gabarito: Correto
33. (CESPE / CTI – 2024) Aprendizado de máquina pode ser definido como a criação e o uso de
modelos que são aprendidos a partir dos dados.
Comentários:
Aprendizado de máquina pode ser definido como a criação e o uso de modelos que são aprendidos
a partir dos dados. Esses modelos são treinados usando algoritmos que identificam padrões e
relações nos dados, permitindo que façam previsões ou decisões baseadas em novos dados. É um
campo focado em desenvolver métodos para que sistemas computacionais aprendam e melhorem
automaticamente com a experiência.
Gabarito: Correto
34. (CESPE / CTI – 2024) Aprendizado de máquina e mineração de dados são termos idênticos em
relação aos seus objetivos e funções, pois ambos lidam com algoritmos de inteligência artificial
para padrões em grandes conjuntos de dados em busca de conhecimento.
Comentários:
Gabarito: Errado
35. (CESPE / CTI – 2024) O aprendizado de máquina computacional tem como objetivo aplicar
técnicas computacionais na tentativa de validar padrões em dados e ratificar padrões que
podem ser observados explicitamente nos dados.
Comentários:
Gabarito: Errado
36. (CESPE / CNPq – 2024) Deep learning é um algoritmo que simula o cérebro humano por meio
de algoritmos probabilísticos de aprendizado do comportamento em que uma população de
representações abstratas de solução é selecionada em busca de soluções melhores.
Comentários:
Deep learning é uma subárea do machine learning que utiliza redes neurais artificiais com muitas
camadas (profundas) para modelar e entender padrões complexos nos dados. Embora se inspire no
funcionamento do cérebro humano, não utiliza algoritmos probabilísticos de aprendizado de
comportamento nem seleção de populações de representações abstratas. Isso descreve mais
corretamente algoritmos genéticos ou evolucionários.
Gabarito: Errado
37. (CESPE / CAU-BR – 2024) O reconhecimento facial por imagens nas redes sociais é embasado
no aprendizado de máquina chamado deep learning, que simula a rede neural do cérebro
humano.
Comentários:
O reconhecimento facial em imagens nas redes sociais utiliza técnicas de deep learning, que
simulam redes neurais artificiais inspiradas no cérebro humano. Deep learning é eficaz no
processamento e reconhecimento de padrões complexos em grandes volumes de dados, como
imagens faciais.
Gabarito: Correto
38. (CESPE / CAU-BR – 2024) Em uma rede neural artificial, o valor de entrada de cada neurônio é
calculado pelo produto matemático das saídas dos neurônios da camada inferior.
Comentários:
Em uma rede neural artificial, o valor de entrada saída de cada neurônio é calculado pelo produto
matemático das saídas entradas dos neurônios da camada inferior.
Gabarito: Errado
39. (CESPE / CTI – 2024) Os modelos de aprendizagem das redes neurais incluem o aprendizado
por memória e o aprendizado competitivo.
Comentários:
Os modelos de aprendizagem das redes neurais incluem diferentes abordagens, duas das quais são
o aprendizado por memória e o aprendizado competitivo.
1. Aprendizado por memória: refere-se a métodos em que a rede neural aprende armazenando e
memorizando exemplos específicos. Um exemplo é o aprendizado hebbiano, onde a força das
conexões entre neurônios é ajustada com base na atividade simultânea dos neurônios.
Ambos os modelos são utilizados em redes neurais para diferentes tipos de tarefas e contextos de
aprendizado.
Gabarito: Correto
40. (CESPE / CTI – 2024) As redes neurais permitem construir modelos que sejam padronizados de
acordo com o funcionamento do cérebro humano.
Comentários:
Redes neurais artificiais são simplificações matemáticas e computacionais dos processos neurais
biológicos. Elas consistem em neurônios artificiais organizados em camadas que aprendem a
reconhecer padrões a partir de dados. Apesar da inspiração biológica, a complexidade e o
funcionamento das redes neurais artificiais são muito menos sofisticados e específicos em
comparação ao cérebro humano real, mas – de fato – permitem construir modelos que sejam
padronizados de acordo com o funcionamento do cérebro humano.
Gabarito: Correto
41. (CESPE / ANTT – 2024) Umas das principais diferenças entre o backpropagation e o SGD
(Stochastic Gradient Descent) é a forma como os pesos são atualizados, visto que o SGD utiliza
o gradiente calculado para todos os dados de treinamento, ao passo que o backpropagation usa
o gradiente calculado apenas para um mini-batch de dados de treinamento.
Comentários:
Backpropagation é o algoritmo que calcula os gradientes das funções de perda em redes neurais. Já
o Stochastic Gradient Descent (SGD) é uma técnica de otimização que usa os gradientes calculados
para atualizar os pesos. A principal diferença é que o SGD atualiza os pesos para cada exemplo de
treinamento ou para um mini-batch, enquanto o Gradiente Descendente Padrão usa o gradiente
calculado para todos os dados de treinamento de uma vez.
Gabarito: Errado
42. (CESPE / ANTT – 2024) As redes neurais artificiais são um subconjunto de machine learning,
estão no cerne dos algoritmos de deep learning e são compostas por camadas de um nó,
contendo uma camada de entrada, uma ou mais camadas ocultas e uma camada de saída.
Comentários:
As redes neurais artificiais são um subconjunto de machine learning e são a base dos algoritmos de
Deep Learning. Elas consistem em camadas de nós (neurônios), incluindo uma camada de entrada,
uma ou mais camadas ocultas e uma camada de saída. Cada nó em uma camada é conectado aos
nós da próxima camada, permitindo a modelagem de dados complexos.
Gabarito: Correto
43. (CESPE / ANTT – 2024) No treinamento, as redes neurais convolucionais recebem imagens e
aplicam filtros, que possibilitam a extração de características; após essa extração, a camada de
rede neural é utilizada para classificar a imagem.
Comentários:
No treinamento, as Redes Neurais Convolucionais (CNNs) recebem imagens e aplicam filtros nas
camadas convolucionais, que são responsáveis pela extração de características como bordas,
texturas e formas. Esses filtros detectam padrões específicos nas imagens, permitindo a construção
de uma representação hierárquica das características. Após a extração de características, as
camadas totalmente conectadas (parte da rede neural) processam essas características extraídas
para classificar a imagem em diferentes categorias ou reconhecer objetos específicos.
Gabarito: Correto
44.(CESPE / ANTT – 2024) As redes neurais convolucionais distinguem-se das demais redes neurais
por seu desempenho superior, tendo suas entradas três tipos principais de camadas:
convolucional, de agrupamento e totalmente conectada.
Comentários:
As Redes Neurais Convolucionais (CNNs) são diferenciadas pelo seu desempenho em tarefas de
processamento de imagens e dados que possuem estrutura em grade, como sequências temporais.
Elas têm três tipos principais de camadas:
▪ Camada convolucional: Extrai características dos dados, aplicando filtros que detectam
padrões locais.
▪ Camada de agrupamento (pooling): Reduz a dimensionalidade dos dados, mantendo as
informações mais relevantes.
▪ Camada totalmente conectada: Conecta todos os neurônios da camada anterior,
combinando as características extraídas para realizar a classificação ou predição.
Gabarito: Correto
45. (CESPE / MPO – 2024) A inteligência artificial generativa é capaz de criar novos conteúdos e
áudios.
Comentários:
A inteligência artificial generativa utiliza técnicas como redes neurais generativas para criar novos
conteúdos, incluindo textos, imagens, vídeos e áudios. Essa capacidade de geração é fundamental
para muitas aplicações criativas e tecnológicas.
Gabarito: Correto
46.(CESPE / MPO – 2024) A geração de imagens por meio de descrição de textos, sem a
necessidade de inserir outras figuras ou ilustrações, é um dos recursos da inteligência artificial
generativa.
Comentários:
A inteligência artificial generativa pode criar imagens a partir de descrições textuais usando
técnicas de aprendizado de máquina, como redes neurais generativas adversariais (GANs). Esses
modelos traduzem descrições em imagens detalhadas sem necessidade de figuras ou ilustrações
prévias.
Gabarito: Correto
47. (CESPE / LNA – 2024) As redes neurais artificiais (RNA) são técnicas computacionais que, a
partir de um modelo matemático inspirado na estrutura neural de seres inteligentes, adquirem
conhecimento por meio da experiência. Em relação às RNA, assinale a opção correta:
a) No processo de aprendizado das RNA, pode ser utilizado o paradigma de aprendizado por
reforço.
c) O modelo proposto por McCullock e Pitts na primeira metade do século XX não faz uso de
uma função de ativação.
Comentários:
(a) Correto. O aprendizado por reforço é um paradigma de aprendizado que pode ser utilizado em
redes neurais artificiais, onde a RNA aprende através de recompensas e punições para tomar
decisões;
(b) Errado. O algoritmo de backpropagation é utilizado para ajustar os pesos das conexões na RNA,
visando minimizar o erro na saída, e não para reduzir o espaço de variáveis de saída;
(c) Errado. O modelo de McCullock e Pitts, apesar de ser uma das primeiras representações de um
neurônio artificial, faz uso de uma função de ativação que determina a saída do neurônio com base
em uma soma ponderada das entradas;
(d) Errado. As redes neurais artificiais possuem, sim, uma camada de saída, responsável por
fornecer o resultado do processamento das informações de entrada;
(e) Errado. Minsky e Papert demonstraram que perceptrons de uma camada (redes de camada
única) não são capazes de resolver problemas que não são linearmente separáveis, o que foi uma
limitação importante na evolução das RNA.
Gabarito: Letra A
48.(CESPE / LNA – 2024) O modelo transformer tem revolucionado a área de inteligência artificial
(IA), permitindo uma mudança de paradigma em como a IA pode ser utilizada pela humanidade.
Recentemente, a comunidade científica considerou o modelo transformer, seja para textos ou
imagens, como um modelo de fundação (foundation model). Em relação ao modelo em
questão, assinale a opção correta:
b) Modelos transformers não são capazes de realizar a tarefa de resposta a perguntas feitas por
texto.
Comentários:
(a) Errado. Modelos transformers são muito eficazes em tarefas de processamento de linguagem
natural, incluindo o reconhecimento de entidades nomeadas, onde identificam e classificam nomes
de pessoas, organizações, locais, etc., em textos;
(b) Errado. Modelos transformers são amplamente utilizados para a tarefa de resposta a perguntas
feitas por texto, sendo uma das aplicações mais comuns, demonstrando grande eficácia em
entender e gerar respostas baseadas no conteúdo textual;
(c) Errado. O modelo transformer não é caracterizado como uma rede neural residual. Redes
neurais residuais utilizam conexões de salto (skip connections) para facilitar o treinamento de redes
profundas, enquanto o transformer utiliza um mecanismo de atenção;
(e) Correto. No processamento de linguagem natural, modelos transformers são usados para
realizar tarefas tipo sequence-to-sequence (seq2seq), como tradução automática, resumo de texto
e resposta a perguntas, onde transformam uma sequência de texto em outra.
Gabarito: Letra E
49.(CESPE / ANTT – 2024) As redes neurais de deep learning, ou redes neurais artificiais, tentam
imitar o cérebro humano por meio de uma combinação de entradas de dados, pesos e viés; esses
elementos trabalham juntos para reconhecer, classificar e descrever com precisão os objetos
dentro dos dados.
Comentários:
As redes neurais de deep learning, ou redes neurais artificiais, imitam o cérebro humano por meio
de uma combinação de entradas de dados, pesos e viés. Essas redes são compostas por múltiplas
camadas de neurônios artificiais que processam as informações em etapas, ajustando pesos e viés
para reconhecer, classificar e descrever padrões nos dados, como objetos em imagens ou
significados em textos, com alta precisão.
Gabarito: Correto
50. (CESPE / DATAPREV – 2023) De acordo com os conceitos de inteligência artificial, as máquinas
reativas têm a capacidade compreender os seres humanos, entendendo seus estados mentais.
Comentários:
As máquinas reativas não têm a capacidade de compreender os seres humanos ou entender seus
estados mentais. Elas são projetadas para responder a estímulos específicos com ações
predefinidas, sem considerar experiências passadas ou antecipar eventos futuros. Máquinas com
tais capacidades são limitadas a reagir a situações atuais, sem percepção ou compreensão de
estados mentais humanos.
Gabarito: Errado
51. (CESPE / DATAPREV – 2023) A inteligência artificial é um sistema com capacidade de ponderar,
aprender e agir para resolver um problema complexo.
Comentários:
Questão extremamente polêmica! Na minha visão, o erro da questão está em dizer que a
inteligência artificial é um sistema, dado que se trata de um campo de estudo. O aluno fica em uma
situação complicada ao responder esse tipo de questão porque não dá para saber se o examinador
está sendo rigoroso com os termos utilizados na definição ou não. Além disso, há imensas
discussões filosóficas sobre se a inteligência artificial é capaz de “ponderar” para resolver um
problema. Na minha visão, ela é; mas o ideal seria que a questão tivesse sido anulada.
Gabarito: Errado
52. (CESPE / SEFIN de Fortaleza-CE – 2023) A matriz de confusão permite avaliar o desempenho
de um modelo de classificação a partir da frequência de erros e acertos.
Comentários:
Gabarito: Correto
53. (CESPE / DATAPREV – 2023) A redução de dimensionalidade é uma técnica que reduz a
quantidade de atributos que descrevem um objeto, mantendo a integridade dos dados originais.
Comentários:
A redução de dimensionalidade visa diminuir o número de atributos (ou variáveis) que descrevem
um objeto, mas pode haver alguma perda de informação. Da forma genérica que a questão foi
escrita, fica difícil avaliar.
Gabarito: Anulado
Comentários:
Gabarito: Errado
55. (CESPE / DATAPREV – 2023) O PCA é um procedimento estatístico que converte um conjunto
de objetos com atributos possivelmente correlacionados em um conjunto de objetos com
atributos linearmente descorrelacionados.
Comentários:
Gabarito: Correto
56. (CESPE / TC-DF – 2023) O algoritmo Naive Bayes é utilizado para categorizar palavras com base
na frequência; um exemplo do uso desse algoritmo é a classificação de e-mails como spam.
Comentários:
O algoritmo Naive Bayes é um classificador probabilístico que utiliza o Teorema de Bayes com a
suposição de independência entre as características. Ele é amplamente utilizado na filtragem de
spam, onde classifica e-mails como "spam" ou "não spam" com base na frequência de palavras e
outros atributos presentes no conteúdo do e-mail.
Gabarito: Correto
Comentários:
O Machine Learning é, de fato, um subconjunto da inteligência artificial que utiliza algoritmos para
analisar grandes volumes de dados. Isso permite que máquinas ou sistemas aprendam e melhorem
seu desempenho com base na experiência adquirida, sem serem explicitamente programados para
tarefas específicas. É amplamente utilizado para identificar padrões e fazer previsões.
Gabarito: Correto
58. (CESPE / DATAPREV – 2023) O aprendizado por reforço é um tipo de aprendizagem de máquina
que tem por objetivo prever o resultado de um atributo alvo exclusivamente por meio de reforço
no treinamento do modelo.
Comentários:
A ideia por trás do aprendizado por reforço é maximizar prêmios por meio da interação com o
ambiente e, não, prever um atributo alvo.
Gabarito: Errado
Comentários:
Gabarito: Correto
Comentários:
Gabarito: Errado
61. (CESPE / DATAPREV – 2023) Apesar das CNN serem redes neurais profundas, com várias
camadas ocultas, elas são dispensadas nos algoritmos de reconhecimento de imagens.
Comentários:
Gabarito: Errado
62. (CESPE / DATAPREV – 2023) Backpropagation propaga o erro da camada de saída para as
camadas intermediárias de uma rede neural a fim de que estas possam modificar seus pesos de
forma a minimizar o erro médio.
Comentários:
Backpropagation é um algoritmo de treinamento para redes neurais que propaga o erro da camada
de saída para as camadas intermediárias. Esse processo permite que os pesos da rede sejam
ajustados iterativamente para minimizar o erro médio entre a saída prevista pela rede e a saída
desejada. Através desse ajuste dos pesos, a rede neural melhora seu desempenho em tarefas de
aprendizado supervisionado.
Gabarito: Correto
63. (CESPE / DATAPREV – 2023) As redes neurais têm a capacidade de adaptar seus pesos
sinápticos considerando as mudanças de padrão dos dados de entrada.
Comentários:
As redes neurais têm a capacidade de adaptar seus pesos sinápticos em resposta às mudanças nos
padrões dos dados de entrada. Durante o processo de treinamento, a rede ajusta seus pesos com
base nos erros calculados entre as previsões da rede e os valores reais dos dados de treinamento.
Isso permite que a rede aprenda e generalize a partir dos dados de entrada, tornando-se capaz de
reconhecer novos padrões e melhorar seu desempenho em tarefas específicas.
Gabarito: Correto
64.(CESPE / DATAPREV – 2023) Nas redes neurais completamente conectadas, todos os neurônios
de uma camada estão conectados aos neurônios da camada seguinte, no entanto, não é possível
que as saídas das camadas posteriores alimentem a entrada de camadas anteriores.
Comentários:
Nas redes neurais completamente conectadas (Fully Connected Networks), todos os neurônios de
uma camada estão conectados a todos os neurônios da camada seguinte. Além disso, as saídas das
camadas posteriores podem retroalimentar as entradas das camadas anteriores por meio do
mecanismo de backpropagation.
Gabarito: Errado
65. (CESPE / DATAPREV – 2023) As conexões entre as camadas de uma rede neural do tipo MLP
são de natureza feedfoward.
Comentários:
Em uma rede neural do tipo MLP (Multi-Layer Perceptron), as conexões entre as camadas são de
natureza feedforward, ou seja, os dados fluem em uma única direção, da camada de entrada para
a camada de saída, passando por quaisquer camadas ocultas intermediárias, sem ciclos ou
retroalimentação.
Gabarito: Correto
66. (CESPE / Petrobrás – 2022) A tabela abaixo apresenta parte de um conjunto de dados
referentes a uma variável categórica chamada opinião que possui quatro categorias de resposta:
muito satisfeito, satisfeito, insatisfeito e muito insatisfeito.
Para lidar numericamente com os dados categóricos, uma codificação binária proporciona uma
conversão de cada categoria de resposta para uma sequência de dígitos binários, em que cada
dígito binário representa uma variável numérica que assume valores 0 ou 1. Na situação em tela,
uma possível codificação binária é exemplificada na tabela abaixo.
Comentários:
- D1 = Satisfeito: 1 e 6
- D2 = Muito Satisfeito: 2
- D3 = Insatisfeito:3 e 4
- = Muito Insatisfeito: 5
Note que, apesar de termos quatro categorias, não precisamos de quatro colunas para representa-
las porque tudo que não for classificada como “Satisfeito“, “Muito Satisfeito” e “Insatisfeito, é
obrigatoriamente “Muito Insatisfeito”.
Essa é uma forma de representar numericamente os dados categóricos por meio de uma
codificação binária que converte cada categoria como 0 ou 1.
Gabarito: Correto
67. (CESPE / Petrobrás – 2022) Em um processo em que se utiliza a ciência de dados, o número de
variáveis necessárias para a realização da investigação de um fenômeno é direta e simplesmente
igual ao número de variáveis utilizadas para mensurar as respectivas características desejadas;
entretanto, é diferente o procedimento para determinar o número de variáveis explicativas,
cujos dados estejam em escalas qualitativas.
Para evitar um erro de ponderação arbitrária, deve-se recorrer ao artifício de uso de variáveis
dummy, o que permitirá a estratificação da amostra da maneira que for definido um
determinado critério, evento ou atributo, para então serem inseridas no modelo em análise; isso
permitirá o estudo da relação entre o comportamento de determinada variável explicativa
qualitativa e o fenômeno em questão, representado pela variável dependente.
Comentários:
Vamos por partes porque essa questão é complexa! “O número de variáveis necessárias para a
realização da investigação de um fenômeno é direta e simplesmente igual ao número de variáveis
utilizadas para mensurar as respectivas características desejadas”? Sim, as variáveis em ciência de
dados representam as características ou atributos que desejamos mensurar – são as chamadas
variáveis independentes. Elas são utilizadas para calcular a variável dependente!
“... entretanto, é diferente o procedimento para determinar o número de variáveis explicativas, cujos
dados estejam em escalas qualitativas”? Sim, variáveis explicativas que estejam em escalas
qualitativas são as variáveis categóricas, logo temos um procedimento diferente para esse tipo de
variável dado que elas não são numéricas.
“Para evitar um erro de ponderação arbitrária, deve-se recorrer ao artifício de uso de variáveis dummy”?
Sim, conforme vimos em aula, se atribuirmos um valor (ordenado ou não) às categorias de um
“o que permitirá a estratificação da amostra da maneira que for definido um determinado critério,
evento ou atributo, para então serem inseridas no modelo em análise”? Sim, para cada atributo (Ex:
Cor), vamos estratificá-lo em vários outros atributos (Ex: vermelho, verde e azul). Essa
estratificação que transforma uma variável (categórica) em várias variáveis (numéricas) agora pode
finalmente ser inserida no modelo.
Gabarito: Correto
As curvas ROC a seguir mostram a taxa de especificidade (verdadeiros positivos) versus a taxa
de sensibilidade (falsos positivos) do modelo adotado; a linha tracejada é a linha de base da
métrica de avaliação e define uma adivinhação aleatória.
Comentários:
Opa! Elas realmente mostram a taxa de especificidade versus a taxa de sensibilidade, no entanto a
especificidade trata dos falsos-positivos e a sensibilidade trata dos verdadeiros-positivos.
Gabarito: Errado
Comentários:
1. Etapa de Propagação: as entradas fluem através das camadas ocultas da rede neural e previsões
são obtidas na camada de saída;
Gabarito: Correto
70. (CESPE / ANP – 2022) A ação de realizar agrupamento hierárquico tem como premissa básica
encontrar elementos em um conjunto de dados que impliquem a presença de outros elementos
na mesma transação, com um grau de certeza definido pelos índices de fator de suporte e o fator
de confiança, que pode ser realizado, por exemplo, por meio do algoritmo a priori.
Comentários:
A ação de realizar agrupamento hierárquico construir regras de associação tem como premissa
básica encontrar elementos em um conjunto de dados que impliquem a presença de outros
elementos na mesma transação, com um grau de certeza definido pelos índices de fator de suporte
e o fator de confiança, que pode ser realizado, por exemplo, por meio do algoritmo a priori.
Gabarito: Errado
71. (CESPE / ANP – 2022) O algoritmo random forest é um algoritmo de aprendizado de máquina
supervisionado em que se agrupam os resultados de várias árvores de decisão de cada nó para
se obter uma conclusão própria e aumentar a precisão do modelo, não sendo o referido
algoritmo adequado para grandes conjuntos de dados.
Comentários:
Gabarito: Errado
72. (CESPE / ANP – 2022) A técnica de redução de dimensionalidade (PCA) permite transformar
dados que inicialmente pertencem a um espaço de dimensão n em um espaço de dimensão m,
em que m < n, sendo utilizada, por exemplo, para reduzir a dimensionalidade de certo conjunto
de dados através do descarte de características não úteis e que ainda permita realizar o
reconhecimento de padrões.
==3b91f9==
Comentários:
Gabarito: Correto
73. (CESPE / ANP – 2022) As aplicações em inteligência artificial são definidas como uma subárea
da área de aprendizagem de máquina (machine learning).
Comentários:
Opa! É o inverso: as aplicações de aprendizagem de máquina (machine learning) são definidas como
uma subárea da área de inteligência artificial.
Gabarito: Errado
74. (CESPE / ANP – 2022) Em se tratando de modelos de regressão linear, indica-se a utilização dos
seguintes métodos não paramétricos para a estimação dos resultados: Mínimos Quadrados
(MQ) e de Support Vector Machines (SVM).
Comentários:
Gabarito: Errado
75. (CESPE / ANP – 2022) Considerando-se, nos gráficos a seguir, que o resultado #2 corresponda
ao melhor desempenho do algoritmo, é correto afirmar que o resultado #1 indica que houve
underfitting.
Comentários:
Gabarito: Correto
Comentários:
Perfeito! O método do gradiente descendente (em lote) requer toda a base de treinamento, isto é,
n observações. Ao passo que o gradiente descendente estocástico utiliza uma observação aleatória.
Gabarito: Correto
77. (CESPE / SERPRO – 2021) Entre as condições ideais relativas à função objetivo g(β) para a
aplicação do método do gradiente descendente incluem-se convexidade, continuidade e
diferenciabilidade.
Comentários:
Perfeito! O método do gradiente descendente (em lote) precisa que a função de custo/perda seja
convexa, contínua e diferenciável. Uma função contínua é aquela que não possui pontos de
descontinuidade; e uma função é diferenciável quando é possível calcular as derivadas (conceito
matemática que mede a taxa de variação de uma função em um ponto) de seus pontos. Logo, o
gradiente descendente é mais adequado quando a função de custo/perda tem um único ponto
mínimo, não possui saltos de descontinuidades e pode-se calcular as derivadas de seus pontos.
Gabarito: Correto
Comentários:
Não é necessário saber o que é o método de Newton-Raphson para responder à questão. Basta
saber que para a estimação de um parâmetro, o gradiente descendente depende apenas da
primeira derivada da função objetivo (nome genérico de funções matemáticas usadas para modelar
problemas de optimização).
Gabarito: Errado
Comentários:
Gabarito: Errado
Comentários:
A regressão logística se caracteriza por ser estritamente crescente e ser representada por uma
função em S. Quem se caracteriza por não ser estritamente crescente e ser representada por uma
função degrau (ou step) é a função limite. Por fim, spline é uma interpolação contínua que arredonda
uma função – não faz sentido no contexto da questão.
Gabarito: Errado
81. (CESPE / SEFAZ-CE – 2021) Cada unidade de uma rede neural artificial possui um valor e um
peso, no seu nível mais básico, para indicar sua importância relativa.
Comentários:
Note que cada perceptron (unidade de uma rede neural artificial) possui vários valores de entrada
com seus respectivos pesos para indicar sua importância relativa, isto é, qual grau de influência de
cada entrada. A questão foi considerada como correta, mas uma redação mais adequada enfatizaria
que se trata de vários valores e pesos.
Gabarito: Correto
82. (CESPE / SEFAZ-CE – 2021) Redes neurais do tipo LSTM (long short-term memory) mantêm o
nível de precisão independentemente do tamanho do modelo utilizado.
Comentários:
Na verdade, independentemente do tipo de rede neural, o tamanho importa! Em geral, quanto mais
unidades, mais complexa e mais capaz de modelar problemas complexos. Da mesma forma, quanto
menos unidades, menos complexa e menos capaz de modelar problemas complexos. Logo, o
tamanho do tamanho interfere no nível de precisão.
Gabarito: Errado
83. (CESPE / TJ-AM – 2019) A técnica machine learning pode ser utilizada para apoiar um processo
de data mining.
Comentários:
Gabarito: Correto
a) um software interage com um ambiente dinâmico, como, por exemplo, veículos autônomos.
b) as etiquetas de classificação não sejam fornecidas ao algoritmo, de modo a deixá-lo livre para
entender as entradas recebidas.
c) o aprendizado pode ser um objetivo em si mesmo ou um meio para se atingir um fim.
d) o objetivo seja aprender um conjunto de regras generalistas para converter as entradas em
saídas predefinidas.
e) são apresentados ao computador exemplos de entradas e saídas desejadas, fornecidas por
um orientador.
Comentários:
(a) Correto! Veículos autônomos seguem uma rota de trânsito em um ambiente dinâmico até o seu
destino final. O carro precisa escolher o melhor caminho, evitando colisões e infrações de trânsito,
sendo penalizado quando não cumpre seu papel corretamente e recompensado quando o faz. Essa
é uma utilização típica de aprendizado por reforço; (b) Errado, esse seria o comportamento típico
de uma tarefa não supervisionada; (c) Errado, esse seria o comportamento típico do aprendizado
não supervisionado, em que o aprendizado pode ser um objetivo em si mesmo (descobrir novos
padrões nos dados) ou um meio para atingir um fim; (d) Errado, esse seria o comportamento típico
do aprendizado supervisionado, em que se busca aprender uma regra geral que mapeia entradas
de dados em saídas de dados; (e) Errado, esse seria o comportamento típico do aprendizado
supervisionado, em que são apresentadas ao computador exemplos de entradas de dados e suas
respectivas saídas desejadas por um supervisor/professor/orientador.
Gabarito: Letra A
85. (CESPE / TRE/PE – 2017 – Item A) Em uma curva ROC, o ponto que aperfeiçoa a sensibilidade
em função da especificidade é aquele que se encontra mais próximo do canto superior esquerdo
do gráfico.
Comentários:
Gabarito: Correto
86. (CESPE / INPI – 2013) Em um banco de dados, foram armazenadas informações relativas a
diversas pesquisas realizadas por pesquisadores de institutos renomados. Entre as variáveis
constantes desse banco destacam-se: nome, gênero e titulação do pesquisador; valor
financiado da pesquisa; instituto ao qual o pesquisador pertence; número de componentes da
equipe; e número de artigos publicados pelo pesquisador.
Comentários:
A técnica pode gerar uma quantidade de componentes principais menor ou igual a quantidade de
variáveis. Logo, poderia gerar quatro ou cinco!
Gabarito: Errado
87. (CESPE / MPE-PI – 2012) Em datamining, o uso de holdout induz o modelo de classificação a
partir do conjunto de treinamento, e seu desempenho é avaliado no conjunto de teste. Quanto
menor o conjunto de treinamento, maior a variância do modelo; no entanto, se o conjunto de
treinamento for grande demais, a precisão estimada calculada a partir do conjunto menor é
menos confiável.
Comentários:
Vamos lá! O que é hold-out? É uma técnica para avaliar modelos preditivos que divide o conjunto de
dados em duas partes: dados de treinamento e dados de teste. Dito isso, ele induz o modelo de
classificação a partir do conjunto de treinamento? Eu honestamente não faço ideia do que o
examinador quis dizer com o verbo “induzir”. O desempenho do modelo de classificação é avaliado
no conjunto de teste? Sim, os dados de teste são utilizados para avaliar a performance do modelo.
Agora pensem comigo: eu tenho um conjunto de dados e vou dividi-lo em dados de treinamento e
dados de avaliação. Dito isso, temos que:
- Quanto maior for o conjunto de dados de treinamento, mais dados meu modelo terá disponível
para treinar, mais precisa será sua predição nos dados de treinamento, logo menor será a variância
dos dados (menos erros). Além disso, quanto maior for o conjunto de dados de treinamento, menor
será o conjunto de dados de teste, logo teremos menos dados novos para avaliar o modelo,
portanto poderemos confiar menos na precisão alcançada durante o treinamento;
- Quanto menor for o conjunto de dados de treinamento, menos dados meu modelo terá disponível
para treinar, menos precisa será sua predição nos dados de treinamento, logo maior será a variância
dos dados (mais erros); além disso, quanto menor for o conjunto de dados de treinamento, maior
será o conjunto de dados de teste, logo teremos mais dados novos para avaliar o modelo, portanto
poderemos confiar mais na precisão alcançada durante o treinamento.
É sempre útil usar a analogia com estudo por questão. Quanto mais questões de concurso sobre um
determinado tema você tem disponível para treinar, mais precisas ficarão suas respostas, logo
menor será a variância (menos erros).
Gabarito: Correto
88. (CESPE / CORREIOS – 2011) Para criar um ranking das universidades brasileiras, um
pesquisador dispõe das seguintes variáveis: X1 = número de professores doutores; X2 =
quantidade de pesquisas publicadas em periódicos nacionais; X3 = quantidade de pesquisas
publicadas em periódicos internacionais; X4 = área total do campus; X5 = quantidade de cursos
de pós-graduação.
Comentários:
O PCA gera uma quantidade de componentes principais menor ou igual a quantidade de variáveis.
A banca deu o gabarito como correto, mas eu acho que caberia recurso porque esse tipo de redação
o torna ambíguo. O aluno fica sem saber o que marcar...
Gabarito: Correto
Comentários:
Perfeito! Overfitting é a situação em que há poucos erros no treino, mas há muitos erros no teste
(erro de generalização).
Gabarito: Correto
II. tem sete regiões importantes que representam: Céu ROC, Inferno ROC, Quase Nunca
Positivo, Quase Sempre Positivo, Quase Nunca Negativo, Quase Sempre Negativo e Variáveis
Fora da Curva.
a) I.
b) I e II.
c) I e III.
d) II e III.
e) III.
Comentários:
(I) Correto, realmente temos a razão de verdadeiros-positivos pela razão de falsos-positivos; (II)
Errado, isso não é relevante para vocês, mas temos quatro regiões importantes: Céu ROC, Inferno
ROC, Quase Sempre Positivo e Quase Sempre Negativo; (III) Correto, a linha diagonal realmente
representa um classificador aleatório.
Gabarito: Letra C
91. (FGV / Prefeitura São José dos Campos-SP– 2024) A Visão Computacional (CV) é um
subdomínio da inteligência artificial (IA) que treina o sistema para identificar e interpretar o
mundo visual. CV envolve várias tarefas importantes, como modelagem de cena tridimensional,
geometria de câmera multimodelo, correspondência estéreo baseada em movimento,
processamento de nuvem de pontos, estimativa de movimento e muito mais.
I. Aquisição da imagem.
II. Processamento da imagem.
III. Segmentação da imagem.
a) I e III, apenas.
b) II e III, apenas.
c) I e II, apenas.
d) I, apenas.
e) I, II e III.
Comentários:
(a) Errado. A segmentação da imagem é uma etapa posterior ao processamento da imagem e não
está inclusa nas três etapas básicas mencionadas;
(b) Errado. As etapas básicas não incluem a segmentação da imagem como fundamental, sendo ela
uma etapa adicional;
(c) Correto. A aquisição e o processamento da imagem são etapas básicas e essenciais na visão
computacional;
(d) Errado. Apenas a aquisição da imagem não é suficiente para a visão computacional, sendo
necessário também o processamento da imagem;
(e) Errado. A segmentação da imagem é uma etapa avançada e não faz parte das três etapas básicas
fundamentais.
Gabarito: Letra C
92. (FGV / CGM-BH – 2024) Relacione os termos de Inteligência Artificial (IA) às suas respectivas
definições.
1. IA fraca
2. IA forte
3. IA generativa
4. Teste de Turing
( ) É capaz de resolver uma única tarefa, pode automatizar tarefas demoradas e analisar dadosde
maneiras que os humanos às vezes não podem.
( ) É uma categoria de algoritmos de IA que gera novos resultados com base nos dados em que
foram treinados.
( ) É capaz de resolver uma gama extensa e arbitrária de tarefas, incluindo aquelas que são novas,
e executá-las com eficácia comparável à de um ser humano.
( ) É uma medida de inteligência de uma máquina, onde se a máquina pode se passar por um
humano em uma conversa de texto, ela passa no teste.
a) 1 – 3 – 2 – 4.
b) 1 – 2 – 4 – 3.
c) 4 – 3 – 2 – 1.
d) 3 – 2 – 1 – 4.
Comentários:
(1) IA fraca - É capaz de resolver uma única tarefa, pode automatizar tarefas demoradas e analisar
dados de maneiras que os humanos às vezes não podem;
(3) IA generativa - É uma categoria de algoritmos de IA que gera novos resultados com base nos
dados em que foram treinados;
(2) IA forte - É capaz de resolver uma gama extensa e arbitrária de tarefas, incluindo aquelas que
são novas, e executá-las com eficácia comparável à de um ser humano;
(4) Teste de Turing - É uma medida de inteligência de uma máquina, onde se a máquina pode se
passar por um humano em uma conversa de texto, ela passa no teste.
Gabarito: Letra A
93. (FGV / CGE-PB – 2024) O auditor de contas públicas João está desenvolvendo um modelo de
aprendizado de máquina para identificar transações financeiras suspeitas em uma auditoria de
contas. Após treinar o modelo, João observa que esse tem um desempenho excelente nos dados
de treinamento, mas apresenta um desempenho ruim nos dados de teste, com uma alta taxa de
erro. Nesse contexto, o problema observado por João, do modelo ajustar-se excessivamente
aos dados de treinamento, é denominado:
a) bias (viés);
b) overfitting;
c) underfitting;
d) oversampling;
e) undersampling.
Comentários:
(a) Errado. Bias (viés) refere-se a um erro sistemático no modelo que impede que ele capture a
complexidade dos dados. Modelos com alto viés são simplistas e apresentam desempenho ruim
tanto em dados de treinamento quanto em dados de teste, caracterizando underfitting;
(b) Correto. Overfitting é quando um modelo se ajusta excessivamente aos dados de treinamento,
capturando tanto padrões reais quanto ruídos específicos. Como resultado, o modelo tem um
desempenho excelente nos dados de treinamento, mas apresenta um desempenho ruim em dados
novos, como os dados de teste, devido à sua falta de generalização;
(c) Errado. Underfitting ocorre quando um modelo é muito simples para capturar a complexidade
dos dados, resultando em um desempenho ruim tanto em dados de treinamento quanto em dados
de teste, diferente do problema observado por João;
(d) Errado. Oversampling é uma técnica utilizada para lidar com conjuntos de dados
desequilibrados, aumentando o número de amostras da classe minoritária para melhorar a
performance do modelo. Não está relacionado ao problema de João;
(e) Errado. Undersampling é outra técnica para lidar com conjuntos de dados desequilibrados,
reduzindo o número de amostras da classe majoritária para equilibrar o conjunto de dados. Não
tem relação com o problema de ajuste excessivo observado.
Gabarito: Letra B
a) V – V – V.
b) F – V – F.
c) V – F – F.
d) V – V – F.
Comentários:
(F) Aprendizado por reforço é um tipo de aprendizado de máquina em que o modelo aprende a
tomar decisões ao interagir com um ambiente, recebendo recompensas ou punições.
Gabarito: Letra D
95. (FGV / CGE-PB – 2024) O cientista de dados João deverá criar um modelo de aprendizado de
máquina com o objetivo de classificar transações de cartão de crédito como "fraudulentas" ou
"não fraudulentas". Dentre as métricas de avaliação da qualidade geral do modelo criado, João
deverá utilizar a que avalia o equilíbrio entre precisão e sensibilidade (recall):
a) acurácia;
b) F1-score;
c) especificidade;
d) índice Jaccard (J);
e) área sob a curva ROC (AUC-ROC).
Comentários:
(a) Errado. A acurácia mede a proporção de verdadeiros positivos e verdadeiros negativos sobre o
total de casos, mas não avalia o equilíbrio entre precisão e sensibilidade;
(b) Correto. O F1-score é a métrica que avalia o equilíbrio entre precisão e sensibilidade, sendo a
média harmônica dessas duas métricas;
(c) Errado. A especificidade mede a proporção de verdadeiros negativos sobre os casos negativos,
não considerando a precisão;
(d) Errado. O índice Jaccard mede a similaridade entre conjuntos, não diretamente relacionado ao
equilíbrio entre precisão e sensibilidade;
(e) Errado. A AUC-ROC avalia a capacidade do modelo em distinguir entre classes, mas não o
equilíbrio entre precisão e sensibilidade.
Gabarito: Letra B
96. (FGV / TCE-SP – 2023) No contexto da IA geracional, representada pelo ChatGPT e modelos
similares, surge um desafio crítico relacionado ao viés. Em relação ao significado do termo
“biased AI” (IA enviesada) na IA geracional, assinale a afirmativa correta:
d) Significa que a IA geracional não é capaz de reconhecer ou interpretar o contexto em que uma
pergunta é feita.
Comentários:
(a) Errado. A incapacidade dos modelos de IA de aprender com exemplos de texto humano não está
diretamente relacionada ao conceito de IA enviesada;
(b) Correto. "Biased AI" (IA enviesada) refere-se à tendência de modelos de IA geracional em gerar
respostas tendenciosas ou discriminatórias com base em dados de treinamento enviesados;
(c) Errado. A capacidade da IA geracional de entender e aplicar princípios éticos é desejada, mas
não está diretamente relacionada ao conceito de IA enviesada;
(d) Errado. A incapacidade de reconhecer ou interpretar o contexto em que uma pergunta é feita é
um desafio, mas não é o que define IA enviesada;
(e) Errado. A tendência de gerar respostas excessivamente longas e detalhadas pode ser uma
característica dos modelos de IA, mas não está relacionada ao conceito de IA enviesada.
Gabarito: Letra B
Entretanto, houve um padrão atípico de erro: o chefe de Joselito, que é calvo, foi
consistentemente identificado pelo modelo como estando de capacete, ainda que estivesse
sem capacete. Com base nessas informações, assinale a opção que indica a causa mais provável
do comportamento anômalo observado no modelo de Joselito.
a) O modelo foi treinado com um conjunto de dados desbalanceado tendo muito mais exemplos
de pessoas usando capacetes do que sem.
b) O chefe de Joselito tem características faciais únicas que o modelo não conseguiu aprender
corretamente durante o treinamento.
d) O conjunto de dados de treinamento não tinha uma quantidade balanceada de pessoas calvas
sem utilizar o capacete, fazendo o modelo associar erroneamente a calvície com o uso de
capacete.
Comentários:
(a) Errado. Embora um conjunto de dados desbalanceado possa causar problemas de desempenho,
não explica especificamente o erro relacionado à calvície do chefe de Joselito;
(b) Errado. Características faciais únicas podem causar erros, mas a consistência do erro sugere um
problema específico relacionado à calvície;
(d) Correto. A falta de exemplos de pessoas calvas sem capacete no conjunto de dados de
treinamento é a causa mais provável do comportamento anômalo, levando o modelo a associar
erroneamente a calvície com o uso de capacete;
(e) Errado. A resolução da câmera pode afetar a precisão, mas a explicação mais provável está
relacionada ao conjunto de dados de treinamento e à falta de exemplos de pessoas calvas.
Gabarito: Letra D
98. (FGV / TCE-ES – 2023) João e Júlio fazem parte da equipe de Ciência de Dados do TCE/ES e
estão realizando um estudo para o desenvolvimento de um classificador binário (classes positiva
e negativa) usando Naive Bayes. Com o intuito de dividirem suas tarefas, João ficou responsável
por treinar o modelo de classificação, e Júlio, por avaliar o desempenho do modelo. Após o
treinamento do modelo, João aplicou-o ao conjunto de teste e enviou um e-mail a Júlio com a
matriz de confusão resultante. Dessa forma, Júlio poderá calcular:
Comentários:
(a) Errado. A matriz de confusão permite calcular tanto a acurácia quanto o recall do modelo; (b)
Errado. A matriz de confusão permite calcular tanto o recall quanto a precisão do modelo; (c)
Errado. A partir da matriz de confusão, é possível calcular tanto a precisão quanto o F1-score do
modelo; (d) Correto. O F1-score pode ser calculado a partir da matriz de confusão, mas a AUC (Área
sob a Curva ROC) requer informações adicionais sobre as probabilidades de classificação; (e)
Errado. A matriz de confusão permite calcular a acurácia, mas não a AUC diretamente.
Gabarito: Letra D
99. (FGV / TCE-SP – 2023) João está trabalhando em um projeto de reconhecimento de animais
por imagens, em que o conjunto de dados possui um atributo como rótulo, o qual indica o nome
do animal retratado, como "cachorro", "gato", "pássaro" e "peixe". Para treinar o modelo de
reconhecimento de imagens de animais, a tarefa de aprendizado supervisionado que João
deverá utilizar é:
a) regressão;
b) associação;
c) classificação;
d) agrupamento;
e) redução de dimensionalidade.
Comentários:
(a) Errado. Regressão é usada para prever valores contínuos, não rótulos de categorias;
(b) Errado. Associação é usada para encontrar relações entre variáveis em grandes bases de dados,
não para rotular imagens;
(c) Correto. Classificação é a tarefa de aprendizado supervisionado apropriada para prever rótulos
categóricos, como "cachorro", "gato", "pássaro" e "peixe";
(d) Errado. Agrupamento (clustering) é uma técnica de aprendizado não supervisionado que agrupa
dados com base em similaridades, sem utilizar rótulos;
Gabarito: Letra C
100. (FGV / CGE-SC – 2023) Sobre as redes neurais convolucionais (CNNs) é correto afirmar que:
b) ao treinar CNNs utilizando transferência de aprendizado para ajuste fino, começamos com
um modelo pré-treinado e atualizamos todos os parâmetros do modelo para nossa nova tarefa,
basicamente retreinando todo o modelo.
c) uma rede neural convolucional pode ser utilizada para reconhecer os mais variados tipos de
dados. Por exemplo, textos, imagens e dados de clientes. Para isso, basta que os dados de
entrada sejam transformados por alguma técnica de extração de características em simples
vetores de características.
d) as últimas camadas convolucionais de uma rede neural CNN são capazes de extrair
características mais baixo nível dos dados, como linhas, círculos e pontos, enquanto as primeiras
camadas extraem características mais alto nível, detalhes mais específicos dos objetos
reconhecidos.
e) as camadas de pooling das CNNS são capazes de extrair características de médio nível,
reconhecendo características que são mais detalhadas que as primeiras camadas
convolucionais.
Comentários:
(a) Errado. Ao usar transferência de aprendizado, é necessário garantir que o formato e o tipo de
dados sejam compatíveis com o modelo pré-treinado. A transferência de aprendizado não implica
que o modelo possa ser aplicado diretamente a qualquer tarefa sem ajustes;
(b) Correto. Na transferência de aprendizado com ajuste fino (fine-tuning), começamos com um
modelo pré-treinado e atualizamos todos os parâmetros do modelo para adaptá-lo à nova tarefa,
retreinando o modelo, mas geralmente com uma taxa de aprendizado mais baixa para as camadas
já treinadas
(c) Errado. Embora CNNs possam ser adaptadas para diferentes tipos de dados (como imagens,
textos, etc.), o processo de adaptação não envolve apenas a transformação em vetores de
características. As CNNs são mais adequadas para dados que têm uma estrutura espacial, como
imagens;
(d) Errado. É o contrário. As primeiras camadas convolucionais de uma CNN extraem características
de baixo nível (como bordas, linhas, e texturas), enquanto as camadas mais profundas extraem
características de alto nível, que são mais abstratas e específicas para a tarefa;
(e) Errado. As camadas de pooling em CNNs são usadas para reduzir a dimensionalidade,
preservando as características mais importantes, mas elas não são responsáveis por extrair
características de médio nível.
Gabarito: Letra B
101. (FGV / CGE-SC – 2023) Sobre modelos de otimização de redes neurais, assinale a afirmativa
incorreta.
d) O algoritmo de otimização ADAM guarda, além dos valores dos pesos passados, o
decaimento exponencial da média de gradientes passados e possui o mesmo objetivo do
momento.
Comentários:
(a) Correto. O gradiente descendente é um algoritmo de otimização que ajusta os pesos da rede na
direção oposta ao gradiente da função de custo, visando minimizar essa função
(b) Correto. A regularização adiciona um termo à função de custo para penalizar grandes valores de
pesos, incentivando a rede a aprender pesos menores, o que pode ajudar a evitar overfitting;
(c) Correto. O momento é uma técnica que ajuda a acelerar o treinamento acumulando gradientes
anteriores, o que pode ajudar a evitar mínimos locais e melhorar a convergência, especialmente em
superfícies de erro planas;
(d) Correto. O algoritmo ADAM combina as ideias de momento e RMSProp, acumulando gradientes
passados com decaimento exponencial e ajustando os passos de aprendizado dinamicamente;
(e) Errado. A regularização L2, não L1, procura manter todos os pesos pequenos, penalizando a
função de custo proporcionalmente ao quadrado dos pesos. A regularização L1, por outro lado,
transforma valores pequenos em zeros, promovendo a esparsidade dos pesos.
Gabarito: Letra E
102. (FGV / CGE-SC - 2023) Suponha que, dado um problema em que os dados são
bidimensionais e executamos o algoritmo PCA (Principal Component Analysis – Análise de
Componentes Principais) nesses dados para redução de dimensionalidade, o resultado do PCA
produza dois autovalores de valores iguais. A respeito desse resultado, assinale a afirmativa
correta.
a) As dimensões dos dados não são igualmente importantes; o uso do PCA para a redução de
dimensionalidade vai produzir um excelente resultado pois as dimensões possuem 100% da
informação.
b) As dimensões dos dados são igualmente importantes; o uso do PCA para a redução de
dimensionalidade vai produzir um resultado ruim, pois as dimensões são iguais.
c) As dimensões dos dados são igualmente importantes; o uso do PCA para redução de
dimensionalidade vai produzir um resultado ruim, pois perdemos 100% da explicação dos dados.
d) As dimensões dos dados são igualmente importantes; o uso do PCA para redução de
dimensionalidade vai produzir um resultado ruim, pois perdemos 50% da explicação dos dados.
e) As dimensões dos dados não são igualmente importantes; o uso do PCA para redução de
dimensionalidade vai produzir um excelente resultado pois as dimensões possuem 50% da
informação.
Comentários:
Se o objetivo é explicar a maior parte da variação dos dados, então as dimensões com os
autovalores maiores devem ser usadas; e se o objetivo é visualizar os dados, então as dimensões
com os autovalores menores podem ser usadas. A questão afirma que os dois autovalores possuem
valores iguais, logo ambas possuem a mesma importância na explicação da variância dos dados
originais. Assim, as dimensões dos dados são igualmente importantes; o uso do PCA para redução
de dimensionalidade vai produzir um resultado ruim, pois perdemos 50% da explicação dos dados.
Gabarito: Letra D
103. (FGV / Receita Federal - 2023) Luiz, médico dermatologista, criou um modelo de IA para
auxiliar na detecção de câncer de pele com visão computacional. Como um modelo de
classificação binária, ele terá 4 possíveis saídas: verdadeiro positivo (paciente com câncer,
detectado corretamente), verdadeiro negativo (paciente sem câncer, detectado corretamente),
falso positivo (paciente sem câncer, detectado incorretamente) e falso negativo (paciente com
câncer, não detectado pelo modelo).
Levando em consideração que um modelo de IA seria utilizado como uma ferramenta de auxílio
ao diagnóstico de câncer de pele, os erros de “tipo 1” (falso positivo) seriam tolerados, já que
haveria uma análise posterior realizada por um médico especialista. No entanto, os erros “tipo
2” (falso negativo) seriam os mais críticos, uma vez que podem resultar em um diagnóstico
tardio ou falho, comprometendo a saúde do paciente.
III. Ao ajustar o modelo para minimizar erros de "tipo 2", geralmente os erros de "tipo 1" tendem
a aumentar;
IV. Luiz deveria submeter seu modelo a um treinamento mais longo, independentemente do
overfitting.
a) I e III, apenas.
b) II e III, apenas.
c) I e IV, apenas.
d) II e IV, apenas.
e) III e IV, apenas.
Comentários:
(I) Correto. A sensibilidade é uma métrica que mede a capacidade do modelo em detectar
corretamente todos os casos positivos. No contexto de detecção de câncer de pele, isso significa
que a sensibilidade é a proporção de pacientes com câncer de pele que foram corretamente
detectados pelo modelo. Como os erros do tipo 2 são os mais críticos, a sensibilidade seria a métrica
mais importante nesse caso, pois o objetivo principal é minimizar esses erros;
(II) Errado. Embora a precisão seja uma métrica importante, ela não é a mais importante nesse
contexto. A precisão mede a proporção de casos positivos previstos pelo modelo que são realmente
positivos. No contexto de detecção de câncer de pele, a precisão é importante, mas não é tão crítica
quanto a sensibilidade, pois um falso positivo pode ser identificado posteriormente por um
especialista – sendo menos pior que um falso negativo.
(III) Correto. Ao ajustar o modelo para minimizar os erros do tipo 2, geralmente os erros do tipo 1
tendem a aumentar, pois o modelo passa a ser mais sensível a todos os casos positivos. Isso pode
levar a um aumento no número de falsos positivos, o que pode aumentar a carga de trabalho para
os médicos especialistas. É importante encontrar um equilíbrio entre as duas métricas, de forma a
minimizar os erros do tipo 2 sem aumentar significativamente os erros do tipo 1.
(IV) Errado. Submeter o modelo a um treinamento mais longo pode levar ao overfitting, ou seja, o
modelo pode se ajustar demais aos dados de treinamento e não ser capaz de generalizar para novos
dados. Em vez disso, Luiz deveria se concentrar em ajustar os parâmetros do modelo para melhorar
sua sensibilidade, sem comprometer a precisão. É importante ter um conjunto de dados de
validação para avaliar o desempenho do modelo durante o treinamento e evitar o overfitting.
Gabarito: Letra A
104. (FGV / Receita Federal - 2023) Suponha que um modelo de classificação binária foi
treinado para distinguir e-mails de spam de e-mails legítimos. O modelo foi testado em um
conjunto de dados de teste com 200 e-mails, sendo 100 e-mails de spam e 100 e-mails legítimos.
a) 0,74.
b) 0,78.
c) 0,82.
d) 0,86.
e) 0,90.
Comentários:
Onde:
Considerando que VP são Verdadeiros Positivos, FP são Falsos Positivos e FN são Falsos Negativos.
Podemos calcular Precisão e Revocação usando os valores da matriz de confusão fornecidos:
Gabarito: Letra C
105. (FGV / Receita Federal - 2023) Com base nos princípios de Responsible AI (IA Responsável),
a seguinte característica não é considerada importante para o desenvolvimento de soluções de
inteligência artificial:
a) transparência.
b) privacidade.
c) explicabilidade.
d) segurança.
e) performance.
Comentários:
A transparência é necessária para garantir que as decisões tomadas pela IA sejam compreensíveis
para os usuários e para que as soluções possam ser auditadas. A privacidade é importante para
proteger a privacidade dos usuários e garantir que os dados sejam coletados e usados de maneira
ética. A explicabilidade é importante para garantir que as decisões tomadas pela IA possam ser
explicadas de forma clara e compreensível. A segurança é essencial para proteger as soluções de IA
contra-ataques e garantir a integridade dos dados.
Gabarito: Anulada
106. (FGV / Receita Federal – 2023) Responsible AI (IA Responsável) e Explainable AI (IA
Explicável) são conceitos importantes no desenvolvimento de sistemas de inteligência artificial.
A IA Explicável refere-se à capacidade de explicar como uma decisão foi tomada pelo modelo de
IA, permitindo que os usuários entendam o processo de tomada de decisão. Já a IA Responsável
envolve garantir que a IA seja desenvolvida e implementada de forma ética e legalmente
responsável.
d) Uma IA pode ser responsável, mas ainda ser opaca e não explicável, tornando difícil para os
usuários entenderem como as decisões são tomadas.
Comentários:
(a) Correto. A Responsible AI tem como objetivo garantir que a IA seja utilizada de forma
responsável e em benefício da sociedade como um todo; (b) Correto. A Responsible AI busca
garantir que a IA seja desenvolvida de forma responsável e em benefício da sociedade como um
todo, levando em consideração as implicações sociais e os potenciais efeitos negativos que o
sistema pode ter sobre as pessoas;
(c) Errado. A IA Explicável é uma das práticas para se alcançar a Responsible AI, mas não é sinônimo
desse conceito. IA Explicável refere-se à capacidade de explicar como uma decisão foi tomada pelo
modelo de IA, permitindo que os usuários entendam o processo de tomada de decisão. Já a
Responsible AI envolve garantir que a IA seja desenvolvida e implementada de forma ética e
legalmente responsável.
(e) Correto. Isso inclui não apenas o desenvolvimento e implementação da IA, mas também a coleta
e tratamento de dados, a manutenção do sistema e o descarte adequado de hardware e software.
a Responsible AI também exige que a IA seja monitorada e avaliada continuamente durante todo o
seu ciclo de vida, para garantir que ela continue sendo responsável e ética, e para corrigir quaisquer
problemas que possam surgir ao longo do caminho.
Gabarito: Letra C
107. (FGV / SEFAZ-MG - 2023) Machine Learning é um subconjunto da Inteligência Artificial que
utiliza dados e algoritmos para imitar o raciocínio humano. Em relação aos algoritmos de
machine learning, assinale a afirmativa incorreta.
a) Algoritmo de regressão: prevê valores de saída usando recursos de entrada dos dados
fornecidos ao sistema. Os algoritmos mais populares são Linear Regression, Logistic Regression
Multivariate Adaptive Regression Splines (MARS) e Locally Estimated Scatter plot Smoothing
(LOESS).
Absolute Shrinkage and Selection Operator (LASSO), Least-Angle Regression (LARS) e Elastic Net
and Ridge Regression.
Comentários:
(a) Correto. A descrição de algoritmos de regressão está correta, assim como os exemplos; (b)
Correto. A descrição de algoritmos de agrupamento está correta, assim como os exemplos; (c)
Errado, os exemplos de algoritmo de regularização estão corretos, mas não se trata de um processo
de diminuir informações adicionais e, sim, adicionar penalidades à função de custo; (d) Correto. A
descrição de algoritmos de redução de dimensionalidade está correta, assim como os exemplos; (e)
A descrição de algoritmos de regras de associação está correta, assim como os exemplos.
Gabarito: Letra C
108. (FGV / SEFAZ-MT – 2023) Maria treinou um classificador que distingue fotos de maças e
laranjas. Após testar o classificador com uma amostra de 160 fotos, obteve a matriz de confusão
a seguir.
Com base neste resultado, é correto afirmar que a acurácia deste classificador é
a) 0,075.
b) 0,325.
c) 0,675.
d) 0,925.
e) 0,982.
Comentários:
Sabemos também que VP = 50, VN = 98, FP = 2 e FN = 10. Logo, nós temos que:
Gabarito: Letra D
A partição que apresenta o menor erro de classificação quando feita na raiz (primeiro nível) de
uma árvore de decisão é:
Comentários:
Vamos lá! Nós temos quatro observações no formato (x1,x2): (6,4), (2,8), (10,6) e (5,2). Vamos plotar
esses pontos em um plano cartesiano:
Observem esses pontos: em vermelho, não; em verde, sim. Agora vamos pensar em possíveis
árvores de decisão para x1 e x2.
- Variável x1: observe que quando x<=5, podemos inferir uma classificação negativa; e quando x>5,
podemos inferir uma classificação positiva.
- Variável x2: observe que essa variável tem outras condições em que nem sempre será possível
fazer inferências.
Agora vamos avaliar as alternativas: (a) Errado. O x1>2 não pode ser “Sim” porque x1 = 5 é “Não”;
(b) Correto. O x1 > 5 é uma partição que minimiza o erro, dado que não há contraexemplos de que
– quando x1 é maior que 5 – ele retorne “Não”. E x1<=5 também minimiza o erro, dado que não há
contraexemplos de que – quando x1 é menor ou igual a 5, ele retorne “Sim”. (c) Errado. O x2>3 não
pode ser “Sim” porque x2 = 8 é “Não”; (d) Errado. O x2>6 não pode ser “Sim” porque x2 = 8 é “Não”;
(e) Errado. O x1>1 não pode ser “Sim” porque x1 = 5 é “Não”.
Gabarito: Letra B
110. (FGV/ TCU – 2022) Durante o treinamento de uma rede neural artificial para classificação de
imagens, foi observado o comportamento descrito pelo gráfico abaixo, que mostra a evolução
do erro conforme o número de iterações.
Comentários:
A rede neural é um modelo de computador que aprende a identificar padrões complexos em dados.
Neste caso, ela está sendo treinada para reconhecer e classificar imagens. O gráfico mostra como
o erro (a diferença entre as previsões do modelo e os resultados reais) muda à medida que o modelo
é treinado ao longo de várias iterações (repetições do processo de aprendizagem). Os dados foram
divididos em três conjuntos:
Treinamento (60%): utilizado para ensinar o modelo a classificar imagens; Validação (30%):
utilizado para ajustar o modelo e verificar sua performance durante o treinamento; Testes (10%):
utilizado para avaliar a performance do modelo após o treinamento ser concluído, representando
uma situação de mundo real.
Os especialistas concluíram que o modelo não está desempenhando bem porque o erro de
validação começa a aumentar depois de um certo ponto, o que sugere que o modelo está se
tornando excessivamente adaptado aos dados de treinamento (overfitting) e perdendo sua
capacidade de generalizar para novos dados. Vejam no gráfico que, à medida que aumentamos a
quantidade de iterações, o erro diminui. No entanto, a partir das 60 iterações, ocorre algo curioso:
mesmo aumentando a quantidade de iterações, o erro não diminui mais – ele fica estável.
Observem também que nos dados de validação também ocorre algo curioso: à medida que
aumentamos a quantidade de iterações, o erro diminui; no entanto, quando chegamos na iteração
70, à medida que aumenta a quantidade de iterações, o erro aumenta. Ora, se eu estou aumentando
a quantidade de iterações de treinamento e o erro está aumentando, está acontecendo um:
overfitting.
Em outras palavras, o modelo de treinamento está com um desempenho satisfatório, mas os dados
de validação, não. Dito isso, agora vamos ver sobre cada uma das opções apresentadas na questão:
▪ Parada Precoce: técnica que envolve parar o treinamento do modelo quando o desempenho na
validação começa a piorar, em vez de continuar até o número máximo de iterações. Isso evita
que o modelo se torne excessivamente ajustado aos dados de treinamento;
▪ Minimização de Entropia Cruzada: é uma técnica que visa definir a função de erro que a rede
neural deve minimizar durante o treinamento. A função de erro mede a diferença entre as saídas
previstas pela rede neural e as saídas desejadas, que são os rótulos ou classes dos dados;
▪ Validação Cruzada: a validação cruzada envolve a rotação dos dados de treino e validação para
obter uma avaliação mais precisa do modelo. É útil para garantir que o modelo funcione bem
em todos os dados disponíveis, não apenas em um subconjunto;
Eu pesquisei bastante sobre “Parada em Convergência”, mas não encontrei nada em bibliografias
sobre esse tema. Eu estimo que signifique parar o treinamento quando o modelo alcança uma
condição de não melhoria significativa, ou seja, "converge". Logo, isso provavelmente significa
interromper o treinamento quando o erro de validação para de diminuir e começa a aumentar. Se
for isso, também seria considerado uma técnica de contorno do overfitting, mas o gabarito da
questão foi (d) e a banca ainda fez uma justificativa para manter o gabarito mesmo com centenas
de recursos:
O enunciado da questão direciona à escolha de duas técnicas que possibilitam contornar o problema de
overfitting apresentado no gráfico. Na ausência de informações detalhadas sobre a arquitetura da rede
e sobre a qualidade dos dados apresentados a esta, a resposta deve trazer apenas técnicas que tenham
como objetivo contornar o problema de overfitting, não cabendo a interpretação de que essencialmente
qualquer alteração na estrutura da rede (e.g., funções de ativação, função objetivo) pode vir a mitigar
o problema. A alternativa “Validação cruzada; Dropout” é a única que contém apenas técnicas
utilizadas especificamente para minimizar o impacto do overfitting, no treinamento e avaliação do
modelo, respectivamente.
Gabarito: Letra B
111. (FGV / SEFAZ-AM – 2022) Certo conjunto de dados contém 10000 observações, em que cada
observação possui 10 variáveis. A análise de componentes principais (PCA) sobre estes dados
apontou que a primeira componente principal é dada pelo vetor w. A esse respeito, assinale a
afirmativa correta.
a) A variância dos dados é a mesma nas direções dadas por w ou pelas demais componentes
principais.
Comentários:
Uma breve explicação: um vetor é um conjunto de números que representam uma combinação
linear de pontos no espaço multidimensional, que é frequentemente usado para representar os
principais componentes de um conjunto de dados. Não entramos nesse nível de detalhe na aula,
mas não é relevante no momento. Dito isso, é importante saber que a variância dos dados é máxima
na direção dada por w. Por que, Diego?
Porque o enunciado da questão disse que a primeira componente principal (1CP) é dada pelo vetor
w. Como ela é a primeira, ela representa a variância máxima! Lembrem-se:
Gabarito: Letra E
112. (FGV / TRT-MA – 2022) Com relação aos conceitos de aprendizado de máquina, assinale V
para a afirmativa verdadeira e F para a falsa.
a) V, V e V.
b) V, V e F.
c) V, F e V.
d) F, V e V.
e) F, F e F.
Comentários:
Gabarito: Letra E
113. (FGV / TJDFT – 2022) Após alguns resultados insatisfatórios usando funções de ativação
linear em um projeto de rede neural artificial, um cientista de dados resolve tentar outras
funções e recebe algumas sugestões de um colega.
Dadas as alternativas abaixo, cada uma representando uma sugestão de função recebida,
aquela que apresenta uma função apropriada ao uso como ativação em uma rede neural é:
a)
b)
c)
d)
e)
Comentários:
FUNÇÃO DE
Funções logísticas
ATIVAÇÃO
Essa função recebe um valor real qualquer
Descrição da como entrada [-∞,+∞] e retorna um valor de
função saída entre 0 e 1.
Representação
da fórmula
Gabarito: Letra C
114. (FGV / TCU – 2022) Seja uma rede neural com camada de entrada com dimensão dois que
recebe dados (x1, x2). Essa rede aplica pesos w1 em x1, w2 em x2 e adiciona um viés w0. A função
de ativação é dada pela função sinal s(z) = +1, se z ≥ 0, e s(z) = -1, se z < 0. Essa rede não tem
nenhuma camada oculta e será utilizada para classificar observações em y=+1 ou y=-1.
Para pesos w1 = 2, w2 = 3 e viés w0 = 1, a região de classificação é uma reta que passa nos pontos:
Comentários:
Questão do TCU! Logo, o comentário será grande e detalhado porque é uma questão complexa.
Primeiro, vamos relembrar como funciona uma rede neural:
O enunciado descreve uma rede neural muito simples que é usada para classificação binária, ou
seja, para classificar dados em duas categorias, que são identificadas como y=+1 e y=-1. Vamos
entender passo a passo como essa rede neural funciona e como ela toma decisões baseadas nos
dados de entrada e nos parâmetros (pesos e viés) que ela utiliza. Vejamos as entradas, pesos, vieses
e funções de ativação:
- Entrada: a rede possui uma camada de entrada com duas dimensões, o que significa que ela aceita
dois valores de entrada, representados por x 1 e x2. Esses valores podem ser características de um
dado que você quer classificar.
- Pesos (w1, w2): cada entrada x1 e x2 é multiplicada por um peso correspondente, w1 e w2,
respectivamente. No texto, w1 = 2 e w2 = 3. Os pesos determinam a importância relativa de cada
entrada na decisão final da rede.
- Viés (w0): um viés w0 é adicionado ao resultado da soma ponderada das entradas. O viés, que é
w0 = 1 neste caso, ajuda a ajustar a saída da rede ao longo do eixo y e pode ser pensado como uma
forma de ajustar o ponto de ativação da função de ativação.
- Função de Ativação: a função de ativação usada aqui é a função sinal. Essa função produz +1 se o
resultado da combinação linear das entradas e pesos for maior ou igual a zero (z >= 0) e -1 se for
menor que zero (z < 0). A equação da combinação linear é: z = w 1*x1 + w2*x2 + w0.
- Entradas: x1 e x2;
- Pesos: w1 = 2, w2 = 3;
- Bias: w0 = 1;
- Função de Ativação: s(z) = +1, se z ≥ 0; s(z) = -1, se z < 0.
Agora vamos entender o comportamento da rede neural e a classificação. A rede classifica os dados
em +1 ou -1 com base na posição relativa a uma linha reta no plano x1, x2. A equação desta reta é
derivada da condição z = 0, que define a fronteira de decisão entre as duas classes.
Para determinar a região de classificação definida por uma rede neural como descrito, primeiro
precisamos entender a equação que define a decisão da classificação. A saída y é determinada pela
função sinal s(z), onde z é a combinação linear das entradas x 1 e x2, dados os pesos w1, w2 e o viés
w0. Como w1 = 2, w2 = 3 e w0 = 1, a equação se torna é representada como:
A função de ativação sinal muda de -1 para +1 no ponto onde z = 0. Logo, a fronteira de decisão
ocorre quando:
2x1 + 3x2 + 1 = 0
No entanto, essa equação representa uma reta no plano x 1, x2. Nós podemos rearranjar os termos
para resolver para x2 em termos de x1:
2x1 + 3x2 + 1 = 0
3x2 + 1 = -2x1
3x2 = -2x1 - 1
x2 = -(2/3)x1 – 1/3
Vejam que não fizemos nada demais: apenas isolamos o x2 do lado esquerdo. Para encontrar pontos
específicos através dos quais essa reta passa, podemos substituir valores de x 1 e resolver para x2.
x2 = -(2/3)x1 – 1/3
x2 = -(2/3)*0 – 1/3
x2 = 0 – 1/3 = -1/3
Logo, a reta passa pelo ponto (0, -1/3). Da mesma forma, quando x2 = 0, temos que:
0 = -(2/3)x1 – 1/3
(2/3)x1 = – 1/3
x1 = –(1/3)/(2/3) = -1/2
Logo, a reta passa pelo ponto (-1/2,0). Quanto à classificação dos pontos acima ou abaixo da reta,
isso depende do sinal de z dado por 2x1 + 3x2 + 1.
▪ Para pontos acima da reta, z será maior que zero, logo a função de ativação s(z) classificará como
+1;
▪ Para pontos abaixo da reta, z será menor que zero, logo a função de ativação s(z) classificará
como -1;
O gráfico apresentado representa a fronteira de decisão da rede neural. A linha azul é a reta dada
por 2x1 + 3x2 + 1 = 0. Os pontos acima desta reta, na região azul, são classificados como y = +1,
enquanto os pontos abaixo dela, na região rosa, são classificados como y = -1. Os pontos marcados
em vermelho (0, -1/3) e (-1/2,0) são os pontos onde a reta corta os eixos x2 e x1 respectivamente.
Essa rede neural simples, com uma fronteira de decisão linear, poderia ser utilizada em diversos
contextos de classificação binária. Vamos considerar um exemplo no campo de finanças:
Suponha que a rede neural está sendo usada para prever se uma ação será rentável (y = +1) ou não
(y = -1) com base em dois indicadores financeiros. Por exemplo, x 1 pode ser o índice preço/lucro da
ação, que é o indicador de quão caro o preço da ação está em relação aos seus lucros; e x 2 poderia
ser o índice de volatilidade da ação, indicando quão volátil a ação tem sido historicamente.
Nesse caso, a rede neural classificaria uma ação como rentável se a combinação de seu preço em
relação ao lucro e sua volatilidade estiver em uma determinada região (acima da linha de decisão)
sugerindo que os valores atuais desses indicadores tendem a estar associados a ações que,
historicamente, têm performado bem.
A reta de decisão, 2x1 + 3x2 + 1 = 0, define então um limite de corte. Se uma ação tem um índice
preço/lucro e uma volatilidade que, quando pesados pelos fatores 2 e 3 respectivamente, e
ajustados pelo viés de 1, resultam em um valor positivo, a rede a classifica como provavelmente
rentável (y = +1); caso contrário, como não rentável (y = -1).
Gabarito: Letra C
115. (FGV / TJDFT – 2022) Durante o processo de treinamento e validação de uma rede neural,
foi observado o fenômeno de underfitting do modelo, necessitando de ajustes ao
procedimento. A arquitetura utilizada foi a Multilayer Perceptron (MLP) e o conjunto de dados
foi separado em regime de holdout (50%, 30% e 20% para treinamento, validação e teste,
respectivamente). Dois fatores que podem ter condicionado o fenômeno observado são:
São elas:
Comentários:
Underfitting ocorre quando um modelo não é complexo o suficiente para capturar com precisão as
relações entre os recursos de um conjunto de dados e uma variável de destino. Logo, vamos analisar
as alternativas da questão:
(a) Correto. Treinamento com poucas iterações e uma amostragem pouco representativa são
causas típicas de underfitting; (b) Errado. Excesso de parâmetros e excesso de iterações são causas
típicas de overfitting; (c) Errado. Excesso de camadas no MLP é uma causa típica de overfitting; (d)
Errado. Excesso de iterações é uma causa típica de overfitting*; (e) Errado. Saída normalizada é
causa típica de overfitting.
* A normalização das entradas é uma das técnicas mais básicas e eficientes no aprendizado de
máquina, e isso não fica de fora quando estamos lidando com redes neurais. Quando temos dados
com muita variância e que talvez não sejam muito consistentes, é extremamente recomendado a
aplicação de uma técnica de normalização para as entradas. Entrada de dados normalizada é aquela
em que os dados foram ajustados para que alguns deles não dominem a amostra – é como uma
remoção de anomalias.
Gabarito: Letra A
a) 0,62 e 0,67;
b) 0,64 e 0,77;
c) 0,67 e 0,62;
d) 0,78 e 0,7;
e) 0,8 e 0,85.
Comentários:
A precisão depende do Verdadeiros Positivos (VP) e Falsos Positivos (FP). VP ocorre quando o
modelo prevê que será um rato e realmente é um rato, logo 14; FP ocorre quando o modelo prevê
que será um rato, mas não é um rato, logo 2 (gato) + 2 (cachorro). Note que o algoritmo previu em
duas oportunidades que seria um rato, mas era um gato; e em outras duas oportunidades que seria
um rato, mas era um cachorro. Dito isso, temo que:
O recall depende do Verdadeiros Positivos (VP) e Falsos Negativos (FN). VP ocorre quando o
modelo prevê que será um rato e realmente é um rato, logo 14; FN ocorre quando o modelo não
prevê que será um rato, mas é um rato, logo 5 (gato) + 1 (cachorro). Note que o algoritmo previu em
cinco oportunidades que seria um gato, mas era um rato; e em outra oportunidade que seria um
cachorro, mas era um rato. Dito isso, temo que:
Gabarito: Letra D
117. (FGV / Prefeitura de Niterói – 2018) No contexto das redes neurais, é comum o uso da
função sigmoid no papel de função de ativação. Assinale a definição correta dessa função na
referida aplicação.
a)
b)
c)
d)
e)
Comentários:
FUNÇÃO DE
Funções logísticas
ATIVAÇÃO
Essa função recebe um valor real qualquer
Descrição da como entrada [-∞,+∞] e retorna um valor de
função saída entre 0 e 1.
Representação
da fórmula
Gabarito: Letra E
118. (FGV / Prefeitura de Niterói – 2018) Analise a rede neural exibida a seguir.
a) I, apenas.
b) II, apenas.
c) III, apenas.
d) I e II, apenas.
e) I, II e III.
Comentários:
(I) Errado, possuem duas camadas intermediárias; (II) Correto, admite três sinais de entrada (x 1, x2,
x3), além do intercepto ou viés (+1); (III) Errado, a questão considerou que – por ter apenas duas
camadas ocultas – não é apropriada para aplicações de Deep Learning. Não há nenhuma definição
concreta, mas em geral se considera ao menos três camadas intermediárias para ser considerado
como aprendizado profundo.
Gabarito: Letra B
119. (FGV / Fiocruz – 2010) Assinale a alternativa que indique o problema mais apropriado para
aplicação da regressão logística.
b) Para descrever o tamanho esperado de crianças com menos de um ano, de acordo com sua
idade em meses.
e) Para predizer o número de casos de uma doença em diferentes municípios de acordo com
algumas variáveis populacionais e epidemiológicas.
Comentários:
Uma diferença fundamental entre uma regressão linear e uma regressão contínua é que a primeira
retorna um valor contínuo e o segundo retorna um valor categórico. Dito isso, vamos analisar:
(a) Correto. A questão não deixou claro o domínio do risco relativo, mas podemos inferir que se trata
de uma categoria, tal como baixo ou alto; (b) Errado, tamanho é um valor numérico contínuo, logo
se trata de uma regressão linear; (c) Errado, tempo é um valor numérico contínuo, logo se trata de
uma regressão linear; (d) Errado, distribuição de pesos é um valor numérico contínuo, logo se trata
de uma regressão linear; (e) Errado, número de casos é um valor contínuo, logo se trata de uma
regressão linear.
Sendo honesto, eu acredito que caiba recurso! Risco também poderia ser um valor numérico
contínuo. Apesar de esse ser o item menos errado, a questão não foi clara!
Gabarito: Letra A
120. (CESGRANRIO / IPEA – 2024) Outliers são pontos ou observações em um conjunto de dados
que diferem significativamente da maioria dos demais outros pontos. Eles podem ser resultados
de variações na medição, erros de entrada de dados ou, ainda, podem indicar uma variação
genuína da fonte de coleta. Em preparação para análise de um conjunto de dados, o tratamento
de outliers:
b) é sempre uma tarefa simples que pode ser realizada por qualquer analista de dados, sem risco
de perder informações valiosas.
c) é sempre uma tarefa complexa que requer um conhecimento profundo de estatística e que
independe do conjunto de dados e do objetivo da análise.
d) deve ser realizado antes de realizar agregações, pois os outliers podem afetar os resultados
da análise que inclua uma agregação.
e) deve ser realizado após realizar agregações, pois os outliers podem obscurecer os resultados
da agregação.
Comentários:
(a) Errado. O tratamento de outliers não é sempre necessário; depende do contexto, do tamanho
do conjunto de dados e do objetivo da análise;
(b) Errado. O tratamento de outliers pode ser complexo e não é sempre simples; pode haver riscos
de perder informações valiosas se feito de maneira inadequada;
(c) Errado. Embora o tratamento de outliers possa ser complexo e exigir conhecimento estatístico,
a necessidade e abordagem dependem do conjunto de dados e do objetivo da análise;
(d) Correto. Os outliers podem afetar significativamente os resultados das agregações, distorcendo
medidas como média, soma e outras estatísticas, portanto, devem ser tratados antes;
(e) Errado. Realizar o tratamento de outliers após as agregações pode já ter comprometido os
resultados das mesmas, obscurecendo os resultados da análise.
Gabarito: Letra D
Qual das palavras a seguir apresenta o maior valor da similaridade de Jaccard, quando
comparada com a palavra “computador”?
a) amputar
b) amplificador
c) calcular
d) deputado
e) senador
Comentários:
(a) Correto.
Interseção: {a, m, p, u, t, r}
União: {a, m, p, u, t, r, c, o, d}
(b) Errado.
Interseção: {a, m, p, c, d, o, r}
União: {a, m, p, l, i, f, c, d, o, r, u, t}
(c) Errado.
Interseção: {c, a, u, r}
União: {c, a, l, u, r, m, p, t, d, o}
(d) Errado.
Interseção: {d, p, u, t, a, o}
União: {d, e, p, u, t, a, o, c, m, r}
(e) Errado.
Interseção: {a, d, o, r}
União: {s, e, n, a, d, o, r, c, m, p, u, t}
Gabarito: Letra A
122. (CESGRANRIO / IPEA – 2024) Admita que a área de desenvolvimento de softwares do Ipea
está confeccionando um aplicativo responsivo de Machine Learning (ML) usando o Bootstrap,
de modo a melhorar a apresentação das planilhas que mostram os vínculos de trabalho das
pessoas do setor público. Qual algoritmo de conjunto deve ser utilizado para incrementar a
estabilidade desse aplicativo de ML?
a) Protocol
b) Collection
c) Bootstrap Kurbenete
d) Bootstrap Initialization
e) Bootstrap Aggregating
Comentários:
(a) Errado. Protocol não é um algoritmo de conjunto usado para melhorar a estabilidade de
aplicativos de ML;
(b) Errado. Collection não é um algoritmo de conjunto e não se refere a técnicas específicas de ML;
(d) Errado. Bootstrap Initialization não é um algoritmo específico para incrementar a estabilidade
de aplicativos de ML;
(e) Correto. Bootstrap Aggregating, ou Bagging, é uma técnica de conjunto que melhora a
estabilidade e precisão de modelos de ML, criando várias versões de um modelo e combinando-os
para reduzir variância e evitar overfitting.
Gabarito: Letra E
123. (CESGRANRIO / IPEA – 2024) Em um projeto de ciência de dados para análise preditiva no
setor bancário, um cientista de dados precisa escolher tecnologias de aprendizado de máquina
adequadas para classificar clientes com base no risco de inadimplência. Considerando-se a
intenção de lidar com dados não linearmente separáveis por meio do uso de um kernel, qual é o
algoritmo mais adequado para essa tarefa?
Comentários:
(b) Errado. Árvores de decisão são flexíveis e podem lidar com dados não linearmente separáveis,
mas não utilizam kernels;
(c) Errado. K-Means é um algoritmo de clustering, não de classificação, e não usa kernels;
(d) Correto. A Máquina de Vetores de Suporte (SVM) pode usar kernels para lidar com dados não
linearmente separáveis, tornando-a adequada para a tarefa de classificação baseada no risco de
inadimplência;
(e) Errado. A Regressão Logística é um modelo linear e não utiliza kernels, sendo menos adequada
para dados não linearmente separáveis.
Gabarito: Letra D
a) classificação de e-mails como spam ou não spam, com base em várias características, como
conteúdo, informações do remetente e estrutura do e-mail.
d) rotulação de um paciente como portador ou não de câncer, com base em características como
marcadores genéticos, histórico do paciente e resultados de testes diagnósticos.
e) estimativa do consumo futuro de energia para uma região ou setor específico, com base em
padrões de uso históricos, indicadores econômicos e fatores ambientais.
Comentários:
(a) Errado. A classificação de e-mails como spam ou não spam é uma tarefa de classificação, não de
regressão;
(d) Errado. A rotulação de um paciente como portador ou não de câncer é uma tarefa de
classificação, onde se determina a presença ou ausência de uma condição;
(e) Correto. A estimativa do consumo futuro de energia é uma tarefa de regressão, pois envolve
prever um valor contínuo (o consumo de energia) com base em dados históricos e variáveis
preditoras.
Gabarito: Letra E
a) estratificação e hold-out
b) hold-out e k-fold
c) leave-one-out e estratificação
d) leave-one-out e k-fold
e) Monte Carlo e leave-p-out
Comentários:
(a) Errado. Estratificação é uma técnica para garantir que a distribuição das classes seja
representada em ambos os conjuntos de treino e teste, não uma forma de avaliação;
(b) Correto. O método inicial, onde se separa uma parte dos dados para teste e o restante para
treino, é conhecido como hold-out. O método subsequente, onde os dados são divididos em k
partes (neste caso, 10) e o modelo é treinado e testado k vezes, é conhecido como k-fold cross-
validation;
(c) Errado. Leave-one-out é um caso especial de k-fold onde k é igual ao número de exemplos no
conjunto de dados, e estratificação não é uma forma de avaliação;
(d) Errado. Leave-one-out é um método de cross-validation, mas o método inicial não é leave-one-
out;
(e) Errado. Monte Carlo e leave-p-out são técnicas de validação diferentes, não aplicáveis aos
métodos descritos no enunciado.
Gabarito: Letra B
Considerando-se que, nessa matriz, as linhas indicam a resposta correta e as colunas indicam a
previsão, a acurácia é de:
a) 8%
b) 44%
c) 48%
d) 88%
e) 92%
Comentários:
(a) Errado. A acurácia não é de 8%. Este valor não se correlaciona com os dados da matriz de
confusão; (b) Errado. A acurácia não é de 44%. Esse valor também não corresponde aos cálculos
corretos; (c) Errado. A acurácia não é de 48%. Este valor não reflete os dados fornecidos; (d) Errado.
A acurácia não é de 88%. Embora pareça um valor possível, não é o correto com base nos dados; (e)
Correto. A acurácia é de 92%. A acurácia é calculada como o total de previsões corretas dividido
pelo total de previsões: (440 + 480) / (440 + 60 + 20 + 480) = 920 / 1000 = 0.92, ou 92%.
Gabarito: Letra E
Nesse cenário, qual é o algoritmo mais apropriado para fazer o agrupamento desejado?
Comentários:
(b) Errado. A Principal Component Analysis (PCA) é uma técnica de redução de dimensionalidade,
não um algoritmo de agrupamento;
(c) Errado. A Linear Regression Clustering não é um algoritmo de agrupamento padrão e o nome
parece ser uma confusão de conceitos, pois a regressão linear é uma técnica de modelagem
preditiva;
(e) Errado. L-Means Clustering não é um algoritmo de agrupamento reconhecido. Pode haver uma
confusão com o k-means, que é um algoritmo de agrupamento, mas não hierárquico.
Gabarito: Letra A
a) 2%
b) 18%
c) 37%
d) 74%
e) 98%
Comentários:
Vejamos os cálculos:
Gabarito: Letra D
129. (CESGRANRIO / Caixa – 2024) Em 2014, a arquitetura de redes neurais denominada Redes
Adversárias Generativas (GAN) revolucionou o aprendizado de máquina. As GAN caracterizam-
se por:
Comentários:
(a) Errado. As GANs não são usadas exclusivamente para classificação de imagens; elas são usadas
para gerar novos dados a partir de dados de treinamento;
(b) Errado. As GANs não consistem apenas em um gerador de ruídos e uma rede neural
classificatória. Elas têm uma estrutura mais complexa;
(c) Correto. As GANs são compostas por duas redes neurais: uma rede geradora que cria dados
falsos e uma rede discriminadora que tenta distinguir entre dados reais e falsos;
(d) Errado. As GANs podem aprender a partir de conjuntos de dados não supervisionados, pois a
rede geradora aprende a partir do feedback da rede discriminadora;
(e) Errado. As GANs podem ser aplicadas para gerar conteúdo linguístico, como textos, além de
imagens, áudio e outros tipos de dados.
Gabarito: Letra C
130. (QUADRIX / CRQ – 12ª Região – 2024) O aprendizado não supervisionado é uma área da
inteligência artificial que envolve o uso de algoritmos para encontrar padrões ocultos em
conjuntos de dados rotulados.
Comentários:
A descrição contém um erro conceitual: o aprendizado não supervisionado trabalha com dados não
rotulados, ao contrário do que é mencionado. O objetivo é descobrir estruturas invisíveis ou padrões
nos dados sem a necessidade de um "guia" externo ou rótulos previamente definidos. Esse tipo de
aprendizado é crucial em muitas aplicações de inteligência artificial onde os rótulos são difíceis,
caros ou impraticáveis de obter.
Gabarito: Errado
131. (QUADRIX / CRQ – 12ª Região – 2024) O aprendizado de máquina pode ser definido como
uma técnica de ciência de dados que permite que os computadores usem os dados existentes
para prever futuros comportamentos, resultados e tendências.
Comentários:
132. (CS-UFG / Câmara de Anápolis-GO – 2024) A Inteligência Artificial (IA) é uma ferramenta
computacional que permitiu o avanço em diferentes áreas, entre elas: a saúde, finanças,
marketing, entre outras. A principal ajuda, veio no apoio à tomada de decisões. As caraterísticas
que descrevem o aprendizado de máquina (machine learning) são
Comentários:
(a) Correto. Esta alternativa descreve precisamente o aprendizado de máquina, que é uma subárea
da inteligência artificial focada em desenvolver sistemas capazes de aprender e fazer previsões ou
decisões baseadas em dados, sem ser explicitamente programados para isso.
(b) Errado. Esta descrição se assemelha mais à abordagem de sistemas baseados em conhecimento
dentro da IA, que não é o foco do aprendizado de máquina.
humana é necessária, por exemplo, na escolha dos algoritmos, na preparação dos dados e na
interpretação dos resultados.
(d) Errado. A descrição remete mais à programação lógica e simbólica, outra área da IA, que não
foca especificamente no aprendizado de máquina.
Gabarito: Letra A
a) a realidade aumentada.
b) o metaverso.
c) a internet das coisas.
d) a inteligência artificial.
Comentários:
(a) Errado. A realidade aumentada é uma tecnologia que sobrepõem elementos virtuais à visão do
mundo real, não está diretamente relacionada à capacidade de tomar decisões ou resolver
problemas como um ser humano.
(b) Errado. O metaverso refere-se a um espaço virtual compartilhado, criado pela convergência de
virtualmente realçados ambientes físicos e digitais, incluindo a vida social dentro da internet, mas
não descreve a capacidade de tomada de decisão ou resolução de problemas como um ser humano.
(c) Errado. A internet das coisas (IoT) conecta dispositivos físicos à internet, permitindo que eles se
comuniquem e compartilhem dados. Apesar de poder ser parte de sistemas inteligentes, por si só,
não define a capacidade de pensamento ou resolução de problemas humanos.
Gabarito: Letra D
134. (QUADRIX / CRA-PR – 2022) Entre as técnicas de machine learning, a random forest é capaz
de solucionar problemas de classificação e de regressão, por meio da construção e dos
treinamentos de árvores de decisão.
Comentários:
Gabarito: Correto
135. (QUADRIX / CRA-PR – 2022) Os sistemas de machine learning podem ser empregados em
situações em que os softwares tradicionais não conseguem resolver os problemas ou que suas
soluções não são consideradas como satisfatórias.
Comentários:
Perfeito! É realmente utilizado para sobrepor limitações de softwares tradicionais. Por exemplo:
antivírus que utilizam aprendizado de máquina conseguem identificar softwares maliciosos que
soluções comuns não conseguem.
Gabarito: Correto
136. (QUADRIX / CRA-PR – 2022) Um dos tipos de sistema machine learning é a aprendizagem
supervisionada, que é caracterizada pela aprendizagem de padrões com base na entrada (dados
de treinamento) e que não apresenta um feedback explícito quanto a esse aprendizado.
Comentários:
Gabarito: Errado
137. (QUADRIX / CRA-PR – 2022) Para que os algoritmos de deep learning sejam capazes de
analisar dados não estruturados, é imprescindível que haja algum tipo de pré-processamento do
conjunto de dados a ser analisado.
Comentários:
Uma das grandes vantagens do Deep Learning é justamente prescindir (não precisar) que dados
não estruturados passem por etapas de pré-processamento.
Gabarito: Errado
138. (QUADRIX / CRA-PR – 2022) O deep learning pode ser definido como sendo a aplicação de
uma quantidade massiva de camadas de processamento em um algoritmo de rede neural.
Comentários:
Questão polêmica! Não é necessária uma quantidade massiva de camadas, apesar de ser comum.
Para mim, a questão caberia recurso.
Gabarito: Correto
a) 1778
b) 1779
c) 1780
d) 1781
e) 1782
Comentários:
Valor Previsto
Negativo Positivo
Valor Real Negativo 15360 1501
Positivo ? 14169
Gabarito: Letra C
140. (AOCP / MJSP – 2020) Um cientista de dados necessita estimar a precisão preditiva de um
classificador medindo essa precisão para uma amostra de dados ainda não utilizada. Quais são
as três estratégias principais, comumente usadas para isso, que o cientista de dados pode
utilizar?
Comentários:
As três estratégias poderiam ser a divisão de dados em conjunto de treino e conjunto de teste;
validação cruzada K-fold; e validação cruzada N-fold. Não falamos em aula do N-fold, mas ele é
basicamente N repetições do k-fold. Os outros itens não fazem qualquer sentido!
Gabarito: Letra A
141. (FUNDATEC / GHC-RS – 2020 – Letra B) A curva ROC (Receiver Operator Characteristic) é
uma forma de expressar graficamente a relação entre a sensibilidade e a especificidade. Para
construí-la, deve-se plotar a taxa de verdadeiros positivos (sensibilidade) contra a taxa de
verdadeiros negativos (especificidade).
Comentários:
Opa! A Curva ROC realmente expressa a relação entre sensibilidade e especificidade, mas é por
meio da taxa de verdadeiros-positivos e da taxa de falsos-positivos; ou, dito de outra forma, a taxa
de verdadeiros-positivos e 1 – taxa de verdadeiros-negativos.
Gabarito: Errado
142. (FUNDATEC / Prefeitura de Porto Mauá/RS – 2019) A curva ROC (Característica Operatória
do Receptor) é uma técnica gráfica para quantificar a acurácia de um teste diagnóstico e ilustrar
o contrabalanço entre:
a) A prevalência e a incidência.
b) A sensibilidade e a especificidade.
c) O valor preditivo positivo e a incidência.
Comentários:
(a) Errado. A curva ROC não é usada para ilustrar a relação entre prevalência e incidência; esses
termos se referem a medidas de frequência de doença em epidemiologia;
(b) Correto. A curva ROC é utilizada para avaliar o desempenho de um teste diagnóstico, ilustrando
o compromisso entre sensibilidade (capacidade do teste de identificar corretamente os casos
positivos) e especificidade (capacidade do teste de identificar corretamente os casos negativos);
(c) Errado. O valor preditivo positivo e a incidência são importantes em avaliação de testes, mas a
curva ROC foca no relacionamento entre sensibilidade e especificidade, não incorporando
diretamente o valor preditivo positivo nem a incidência;
(d) Errado. Semelhante a (c), o valor preditivo negativo e a prevalência são importantes, mas a curva
ROC concentra-se na relação entre sensibilidade e especificidade;
(e) Errado. A variável preditora e a variável antecedente não são os componentes ilustrados na curva
ROC. A técnica está centrada na avaliação da capacidade do teste em distinguir entre duas
condições (por exemplo, doença e não doença) com base em sensibilidade e especificidade.
Gabarito: Letra B
Comentários:
O objetivo principal da Análise de Componentes Principais – como uma das técnicas de Fatoração
de Matrizes – é obtenção de um pequeno número de combinações lineares, de um conjunto de
variáveis, que retenham o máximo possível da informação contida nas variáveis originais.
Gabarito: Letra A
Comentários:
Gabarito: Correto
145. (FUNDATEC / Prefeitura de Vacaria/RS – 2016 – Item III) A Curva ROC é construída
levando-se em consideração a taxa de verdadeiro-positivos contra a taxa de falso-positivos. Os
valores nos eixos representam medidas de probabilidade, variando de 0 a 1.
Comentários:
Gabarito: Correto
146. (ESAF / ANAC – 2016) A redução da dimensionalidade de uma base de dados altamente
correlacionados é objetivo da Análise:
a) de Componentes Principais.
b) de Campos de Prioridades.
c) de Componentes de Regressão.
d) Dimensional de Covariância.
e) Interativa de Componentes.
Comentários:
Gabarito: Letra A
b) A redução dos espaços de variação dos dados em relação a seus espaços originais.
Comentários:
(a) Correto; (b) Errado, é a redução dos espaços dos dados e, não, dos espaços de variação dos
dados; (c) Errado, a supressão se dá em função do processo de modelagem e, não, prioridade do
gestor; (d) Errado, é a expressão de um conjunto de dados por um conjunto de características de
dimensionalidade menor; (e) Errado, é a expressão de um conjunto de características por um outro
conjunto de características de dimensionalidade menor em relação à sua forma original.
Gabarito: Letra A
Comentários:
Gabarito: Letra A
149. (PROF. DIEGO / INÉDITA – 2024) A inteligência artificial (IA) é um campo da ciência da
computação que se concentra exclusivamente no desenvolvimento de sistemas capazes de
realizar tarefas que requerem força física humana.
Comentários:
A inteligência artificial não se limita ao desenvolvimento de sistemas que executam tarefas que
requerem força física humana. Ela abrange uma gama muito mais ampla de capacidades, incluindo
raciocínio, aprendizado, reconhecimento de padrões, compreensão de linguagem, percepção
visual, e adaptação a novas situações, o que não se restringe apenas à força física.
Gabarito: Errado
150. (PROF. DIEGO / INÉDITA – 2024) O termo "inteligência artificial" foi cunhado por John
McCarthy em 1956, com o objetivo de descrever máquinas que podem imitar comportamentos
considerados inteligentes.
Comentários:
John McCarthy, um dos pioneiros da inteligência artificial, utilizou o termo "inteligência artificial"
pela primeira vez em 1956, definindo-o como a ciência e engenharia de fazer máquinas inteligentes,
ou seja, máquinas que imitam a capacidade de raciocínio humano.
Gabarito: Correto
151. (PROF. DIEGO / INÉDITA – 2024) Machine learning é um subcampo da inteligência artificial
que permite a máquinas aprenderem com dados sem serem explicitamente programadas para
cada tarefa específica.
Comentários:
Gabarito: Correto
152. (PROF. DIEGO / INÉDITA – 2024) As redes neurais e deep learning representam técnicas
obsoletas na inteligência artificial que foram substituídas por métodos mais modernos e
eficientes.
Comentários:
Redes neurais e deep learning são, na verdade, técnicas de ponta na inteligência artificial,
representando a fronteira do desenvolvimento em muitas áreas da IA. Essas técnicas são inspiradas
no funcionamento do cérebro humano e são fundamentais para avanços em reconhecimento de
padrões, processamento de linguagem natural, visão computacional, entre outros.
Gabarito: Errado
153. (PROF. DIEGO / INÉDITA – 2024) Qual dos seguintes subcampos da IA tem a função
principal de desenvolver sistemas capazes de entender e gerar linguagem humana?
a) Robótica
b) Visão computacional
c) Machine learning
d) Processamento de linguagem natural (PLN)
e) Inteligência artificial generativa
Comentários:
Gabarito: Letra D
154. (PROF. DIEGO / INÉDITA – 2024) Qual técnica de IA é utilizada para criar conteúdo novo e
original, como texto, imagens, música e vídeo?
a) Machine learning
b) Redes neurais
c) Inteligência artificial generativa
d) Visão computacional
e) Robótica
Comentários:
A Inteligência Artificial Generativa, especialmente por meio de técnicas como as Redes Generativas
Adversariais (GANs), é utilizada para criar conteúdo novo e original, imitando, mas não copiando
exatamente, o conteúdo em que foram treinadas.
Gabarito: Letra C
155. (PROF. DIEGO / INÉDITA – 2024) Qual das seguintes afirmações descreve melhor a robótica
dentro do contexto da inteligência artificial?
Comentários:
(a) Errado. A robótica não é um campo obsoleto, e sim complementar à inteligência artificial, com
ambos os campos evoluindo conjuntamente;
(b) Errado. A robótica não se limita ao estudo de sistemas mecânicos; ela também incorpora
elementos de controle, automação e inteligência artificial para dotar robôs de capacidades
avançadas;
(c) Correto. Esta é a descrição mais precisa, pois a robótica, no contexto da inteligência artificial,
envolve o uso de algoritmos de IA para permitir que os robôs realizem tarefas de maneira autônoma
e adaptativa;
(d) Errado. O desenvolvimento de software para jogos de computador é uma aplicação de IA, mas
não descreve a totalidade ou o foco principal da robótica dentro da IA;
(e) Errado. A criação de malwares, incluindo bots para ataques de negação de serviço, é uma
aplicação maliciosa de conhecimentos de computação e não representa a robótica dentro do
contexto da inteligência artificial.
Gabarito: Letra C
156. (PROF. DIEGO / INÉDITA – 2024) Em que consiste o deep learning dentro do contexto da
inteligência artificial?
b) Na utilização de redes neurais superficiais com poucas camadas para tarefas simples de
classificação.
Comentários:
O Deep Learning, um subcampo dentro da inteligência artificial, refere-se ao uso de redes neurais
profundas com muitas camadas. Estas redes são capazes de aprender representações de dados
complexas de forma automática, sem serem explicitamente programadas para tarefas específicas,
permitindo avanços significativos em áreas como reconhecimento de fala, visão computacional e
processamento de linguagem natural.
Gabarito: Letra C
157. (PROF. DIEGO / INÉDITA – 2024) A inteligência artificial se limita à criação de programas
que executam tarefas físicas semelhantes às humanas.
Comentários:
A inteligência artificial vai além da execução de tarefas físicas, englobando a capacidade de sentir,
raciocinar, agir e se adaptar, imitando a inteligência humana por meio de diversas técnicas,
incluindo o aprendizado de máquina.
Gabarito: Errado
Comentários:
Gabarito: Errado
159. (PROF. DIEGO / INÉDITA – 2024) A programação tradicional requer que um programador
escreva manualmente as regras que o computador deve seguir para processar dados e produzir
resultados.
Comentários:
Gabarito: Correto
Comentários:
Gabarito: Correto
Comentários:
A etapa de treinamento é, de fato, a mais custosa e requer grandes quantidades de dados para
ajustar o modelo adequadamente. A etapa de inferência, por sua vez, é menos custosa e utiliza o
modelo treinado para fazer previsões com novos dados.
Gabarito: Errado
Comentários:
Gabarito: Errado
Comentários:
(a) Errado. Esta característica descreve o aprendizado de máquina, não a programação tradicional;
(b) Errado. A necessidade de grandes conjuntos de dados é mais típica do aprendizado de máquina
do que da programação tradicional;
(c) Errado. A execução de tarefas físicas complexas pode ser um objetivo tanto da robótica quanto
de outros campos, mas não diferencia a programação tradicional do aprendizado de máquina;
(d) Correto. A programação tradicional é caracterizada pela escrita manual de regras e algoritmos
por programadores para resolver problemas específicos. Diferentemente do aprendizado de
máquina, onde o sistema aprende a partir de dados, na programação tradicional as soluções são
explicitamente codificadas;
(e) Errado. O uso de redes neurais é uma técnica específica dentro do campo do aprendizado de
máquina para processar dados, não sendo característico da programação tradicional.
Gabarito: Letra D
164. (PROF. DIEGO / INÉDITA – 2024) Qual dos seguintes melhor descreve o aprendizado de
máquina?
Comentários:
(b) Errado. Embora o software possa aplicar regras a novos conjuntos de dados, o aprendizado de
máquina envolve a geração ou adaptação de regras com base na análise de dados, o que vai além
de simplesmente aplicar regras pré-existentes;
(c) Correto. Esta alternativa captura a essência do aprendizado de máquina, que é a capacidade do
software de aprender e melhorar a partir de dados de treinamento, sem ser explicitamente
programado para cada situação específica;
(d) Errado. O estudo de fazer computadores realizar tarefas físicas como humanos se relaciona mais
com a robótica e a inteligência artificial em geral, não especificamente com o aprendizado de
máquina;
(e) Errado. A criação de algoritmos que melhoram o desempenho do hardware não descreve o
aprendizado de máquina, que está focado no desenvolvimento de algoritmos para processamento
de dados e tomada de decisão.
Gabarito: Letra C
165. (PROF. DIEGO / INÉDITA – 2024) O que é deep learning dentro do contexto do aprendizado
de máquina?
Comentários:
(a) Errado. Deep Learning difere das técnicas baseadas em regras programadas manualmente, pois
aprende a reconhecer padrões diretamente dos dados;
(b) Errado. Embora o Deep Learning frequentemente utilize grandes conjuntos de dados, seu
objetivo não é melhorar o desempenho do hardware, mas sim extrair padrões complexos dos
dados;
(c) Correto. Deep Learning é um subcampo do aprendizado de máquina que emprega redes neurais
profundas, com muitas camadas, para analisar grandes volumes de dados, permitindo que o
sistema aprenda uma ampla gama de características a partir desses dados, desde as mais simples
até as mais complexas;
(d) Errado. Embora o Deep Learning possa ser aplicado para ensinar computadores a realizar tarefas
que imitam as humanas, esta descrição é mais ampla e não captura especificamente o que é Deep
Learning;
(e) Errado. O Deep Learning é uma das tecnologias mais avançadas e em rápido desenvolvimento
no campo da inteligência artificial, e não uma abordagem obsoleta.
Gabarito: Letra C
166. (PROF. DIEGO / INÉDITA – 2024) Durante qual etapa do aprendizado de máquina o modelo
é ajustado para melhor representar os dados fornecidos?
a) Inferência
b) Programação manual
c) Treinamento
d) Validação
e) Execução
Comentários:
Gabarito: Letra C
167. (PROF. DIEGO / INÉDITA – 2024) Qual dos seguintes NÃO é uma característica do
aprendizado de máquina?
Comentários:
(a) Errado. Aprender com exemplos passados é uma das principais características do aprendizado
de máquina, onde o sistema melhora seu desempenho ao ser exposto a mais dados;
(b) Correto. Esta é uma característica da programação tradicional, não do aprendizado de máquina.
O aprendizado de máquina é projetado para aprender padrões a partir de dados sem necessidade
de ser explicitamente programado para cada tarefa específica;
(c) Errado. A utilização de modelos matemáticos para identificar padrões e fazer previsões é
fundamental no aprendizado de máquina;
(d) Errado. Uma característica central do aprendizado de máquina é a sua capacidade de melhorar
o desempenho à medida que mais dados são fornecidos ao modelo;
(e) Errado. A capacidade de realizar inferências probabilísticas sobre novos dados permite que os
modelos de aprendizado de máquina façam previsões e tomem decisões com base em dados nunca
vistos anteriormente.
Gabarito: Letra B
Comentários:
Gabarito: Errado
169. (PROF. DIEGO / INÉDITA – 2024) Uma das aplicações do aprendizado supervisionado é a
classificação de e-mails como spam ou não spam.
Comentários:
Gabarito: Correto
170. (PROF. DIEGO / INÉDITA – 2024) O aprendizado supervisionado é apenas aplicável para
tarefas de classificação, não sendo adequado para problemas de regressão.
Comentários:
O aprendizado supervisionado pode ser utilizado tanto para tarefas de classificação quanto para
problemas de regressão, dependendo do tipo de saída que o modelo precisa prever.
Gabarito: Errado
Comentários:
Gabarito: Errado
172. (PROF. DIEGO / INÉDITA – 2024) Qual dos seguintes é um exemplo de problema que pode
ser resolvido com aprendizado supervisionado?
Comentários:
(a) Errado. Agrupamento (ou clustering) de usuários por interesses é típico do aprendizado não
supervisionado, onde o modelo tenta identificar estruturas ou padrões em um conjunto de dados
sem etiquetas pré-definidas;
(b) Correto. A previsão do preço de ações é um problema de regressão, que pode ser abordado
através do aprendizado supervisionado, onde o modelo é treinado com dados históricos (exemplos
passados de preços de ações) juntamente com suas respectivas saídas (preços futuros) para
aprender a prever novos valores;
(c) Errado. A descoberta de padrões em sequências genéticas sem anotações prévias é um exemplo
de aprendizado não supervisionado, onde o modelo busca identificar padrões ou agrupamentos
sem ter sido previamente instruído com exemplos de saída;
(d) Errado. A construção de um robô autônomo que aprende a navegar sozinho pode envolver
aprendizado por reforço, onde o robô aprende a tomar decisões com base em recompensas ou
punições, não se encaixando estritamente no modelo de aprendizado supervisionado;
(e) Errado. A organização de livros em uma biblioteca sem categorias definidas é um problema
típico de agrupamento, adequado ao aprendizado não supervisionado, onde o modelo deve
identificar padrões ou categorias intrínsecas nos dados sem exemplos de saída específicos.
Gabarito: Letra B
173. (PROF. DIEGO / INÉDITA – 2024) No aprendizado supervisionado, o que significa o termo
"rótulo"?
Comentários:
(a) Errado. Embora a ideia de marcação ou categoria esteja correta, no aprendizado supervisionado,
os rótulos são fornecidos por humanos (ou um processo supervisivo) e não atribuídos
automaticamente pelo algoritmo;
(c) Errado. Uma descrição detalhada do conjunto de dados pode ser útil para compreender os
dados, mas não é o que se entende por "rótulo" no aprendizado supervisionado;
(d) Errado. O conjunto de instruções programadas manualmente não define o que são rótulos no
aprendizado supervisionado; os rótulos são parte dos dados de treinamento;
(e) Errado. A saída gerada pelo modelo antes de qualquer treinamento é geralmente aleatória ou
baseada em uma inicialização pré-definida, não relacionada ao conceito de rótulos no aprendizado
supervisionado.
Gabarito: Letra B
174. (PROF. DIEGO / INÉDITA – 2024) Qual das seguintes tarefas é um exemplo típico de
regressão no contexto do aprendizado supervisionado?
Comentários:
(a) Errado. Determinar se uma imagem contém um gato ou um cachorro é uma tarefa de
classificação, onde o objetivo é categorizar as imagens em grupos pré-definidos;
(b) Correto. Prever a temperatura média de uma cidade no próximo mês é um exemplo de
regressão. Na regressão, o objetivo é prever um valor contínuo (como a temperatura) com base em
variáveis de entrada;
(c) Errado. Identificar a linguagem em que um texto está escrito é outra tarefa de classificação, pois
envolve categorizar o texto em uma das linguagens possíveis;
(d) Errado. Classificar filmes com base no gênero também é uma tarefa de classificação, visando
atribuir cada filme a uma categoria de gênero específica;
Gabarito: Letra B
175. (PROF. DIEGO / INÉDITA – 2024) Quais são os dois principais tipos de problemas abordados
pelo aprendizado supervisionado?
a) Agrupamento e classificação.
b) Regressão e detecção de anomalias.
c) Classificação e regressão.
d) Detecção de anomalias e agrupamento.
e) Reforço e supervisão.
Comentários:
(a) Errado. Agrupamento é uma tarefa típica de aprendizado não supervisionado, não
supervisionado;
(b) Errado. Detecção de anomalias geralmente é tratada com técnicas de aprendizado não
supervisionado ou semi-supervisionado;
(c) Correto. Os dois principais tipos de problemas abordados pelo aprendizado supervisionado são
classificação e regressão. Na classificação, o objetivo é prever a categoria ou classe de uma
observação, enquanto na regressão, o objetivo é prever um valor contínuo;
(d) Errado. Tanto detecção de anomalias quanto agrupamento são tarefas comuns de aprendizado
não supervisionado;
(e) Errado. Reforço é um tipo diferente de aprendizado de máquina que se distingue do aprendizado
supervisionado e não supervisionado. Supervisão não é um tipo de problema, mas uma categoria
de aprendizado de máquina.
Gabarito: Letra C
176. (PROF. DIEGO / INÉDITA – 2024) Qual das seguintes afirmações melhor descreve o
aprendizado supervisionado?
Comentários:
(a) Errado. No aprendizado supervisionado, o modelo é treinado com conhecimento prévio dos
rótulos de saída, que são usados para aprender a relação entre as entradas e as saídas;
(b) Errado. Esta descrição se aplica ao aprendizado não supervisionado, onde o modelo aprende
padrões nos dados sem usar dados rotulados;
(d) Errado. O modelo precisa de treinamento prévio com dados rotulados no aprendizado
supervisionado para ser capaz de rotular novos dados corretamente;
(e) Errado. Embora a intervenção humana seja necessária para rotular os dados de treinamento,
não há intervenção ativa para corrigir o modelo em tempo real no processo padrão de aprendizado
supervisionado.
Gabarito: Letra C
Comentários:
Gabarito: Errado
Comentários:
A principal tarefa do aprendizado não-supervisionado não é prever a saída para novos dados, mas
sim identificar padrões, agrupamentos ou regras de associação nos dados existentes, descrevendo
sua estrutura de forma autônoma.
Gabarito: Errado
Comentários:
Gabarito: Correto
Comentários:
Gabarito: Errado
181. (PROF. DIEGO / INÉDITA – 2024) O aprendizado não-supervisionado é mais adequado que
o aprendizado supervisionado para explorar dados quando não se tem uma ideia clara de quais
padrões os dados podem conter.
Comentários:
Gabarito: Correto
182. (PROF. DIEGO / INÉDITA – 2024) Qual das seguintes é uma característica do aprendizado
não-supervisionado?
Comentários:
(b) Errado. Embora o aprendizado não-supervisionado possa ser usado para fazer previsões, o foco
principal não é a previsão de saídas específicas, mas sim a identificação de padrões e estruturas nos
dados;
(d) Errado. O aprendizado não-supervisionado não é exclusivo para análise de texto; ele pode ser
aplicado a uma ampla variedade de tipos de dados, incluindo, mas não se limitando a, dados
numéricos, imagens e sequências;
(e) Errado. O aprendizado não-supervisionado não depende de um supervisor para corrigir as saídas
do modelo. Ele opera sem rótulos e, portanto, sem uma forma direta de "correção" das suas saídas
por humanos.
Gabarito: Letra C
183. (PROF. DIEGO / INÉDITA – 2024) O que é agrupamento no contexto do aprendizado não-
supervisionado?
Comentários:
(a) Errado. Prever valores contínuos com base em dados históricos é geralmente associado com
regressão, que pode ser tanto supervisionada quanto não-supervisionada, mas não
especificamente com agrupamento
(b) Errado. A classificação baseada em rótulos fornecidos por um supervisor é uma característica do
aprendizado supervisionado, não do agrupamento no aprendizado não-supervisionado;
(d) Errado. A determinação de regras para associar elementos frequentemente comprados juntos
se refere a análise de associação, que é outra tarefa de aprendizado não-supervisionado, diferente
de agrupamento;
(e) Errado. Enquanto o aprendizado não-supervisionado pode envolver treinar modelos para
realizar tarefas sem intervenção humana direta, esta descrição é muito genérica e não captura
especificamente o que é agrupamento.
Gabarito: Letra C
184. (PROF. DIEGO / INÉDITA – 2024) Qual é uma possível limitação do aprendizado não-
supervisionado?
Comentários:
(c) Correto. Uma limitação do aprendizado não-supervisionado é que ele pode gerar categorias ou
agrupamentos que, embora matematicamente coerentes, podem não ser relevantes, úteis ou
intuitivas para interpretações humanas. Isso pode dificultar a aplicação prática dos resultados em
alguns casos;
(d) Errado. O aprendizado não-supervisionado não requer dados rotulados para iniciar o processo
de treinamento. Esta é uma característica do aprendizado supervisionado;
(e) Errado. O aprendizado não-supervisionado não está restrito a tarefas de classificação. Ele pode
ser utilizado para uma variedade de tarefas, incluindo redução de dimensionalidade, agrupamento,
e análise de associação.
Gabarito: Letra C
185. (PROF. DIEGO / INÉDITA – 2024) Em que situação o aprendizado não-supervisionado seria
preferível ao aprendizado supervisionado?
a) Quando se tem um conjunto de dados extensamente rotulado e uma tarefa de previsão clara.
b) Quando se deseja explorar os dados para identificar padrões sem saber de antemão o que
procurar.
c) Quando o objetivo é classificar novos exemplos com base em rótulos conhecidos.
d) Para tarefas que requerem a previsão exata de valores contínuos.
e) Quando há uma necessidade de supervisão constante para ajustar os parâmetros do modelo.
Comentários:
(a) Errado. Quando se tem um conjunto de dados extensivamente rotulado e uma tarefa de previsão
clara, o aprendizado supervisionado é geralmente a escolha preferível, pois permite o treinamento
de modelos para prever resultados específicos com base nos rótulos fornecidos;
(c) Errado. Classificar novos exemplos com base em rótulos conhecidos é uma tarefa típica do
aprendizado supervisionado, onde modelos são treinados com dados rotulados para prever a classe
ou categoria de novos dados;
(d) Errado. Para tarefas que requerem a previsão exata de valores contínuos, como em regressões,
o aprendizado supervisionado é frequentemente mais adequado, pois utiliza dados rotulados para
treinar o modelo a prever valores específicos;
(e) Errado. A necessidade de supervisão constante para ajustar os parâmetros do modelo não
caracteriza especificamente quando o aprendizado não-supervisionado seria preferível. De fato, o
aprendizado não-supervisionado procura reduzir a dependência de supervisão humana ao explorar
dados não rotulados.
Gabarito: Letra B
Comentários:
Gabarito: Errado
187. (PROF. DIEGO / INÉDITA – 2024) No aprendizado por reforço, ações que levam a resultados
positivos são recompensadas para encorajar a repetição dessas ações.
Comentários:
O aprendizado por reforço se baseia no princípio de reforçar ações consideradas positivas através
de recompensas, incentivando o sistema a repetir essas ações para otimizar os resultados.
Gabarito: Correto
Comentários:
Gabarito: Errado
189. (PROF. DIEGO / INÉDITA – 2024) Qual é o principal benefício do aprendizado semi-
supervisionado em comparação com o aprendizado supervisionado?
Comentários:
(c) Correto. O principal benefício do aprendizado semi-supervisionado é que ele permite o uso de
grandes quantidades de dados não rotulados, além de um pequeno conjunto de dados rotulados.
Os dados não rotulados são geralmente mais fáceis e baratos de obter, o que pode ser
particularmente útil em cenários onde a rotulação manual é cara ou inviável;
(d) Errado. Embora o aprendizado semi-supervisionado possa enfrentar desafios devido à menor
quantidade de dados rotulados disponíveis, ele não oferece necessariamente resultados
significativamente inferiores; em muitos casos, pode aproximar ou até mesmo superar o
desempenho do aprendizado totalmente supervisionado, aproveitando grandes volumes de dados
não rotulados;
(e) Errado. A implementação do aprendizado semi-supervisionado pode ser mais complexa do que
o aprendizado totalmente supervisionado ou não-supervisionado, pois envolve a integração de
abordagens para lidar tanto com dados rotulados quanto não rotulados. Não é necessariamente
mais simples ou menos custoso em todos os cenários.
Gabarito: Letra C
190. (PROF. DIEGO / INÉDITA – 2024) O que caracteriza o aprendizado por reforço?
Comentários:
(a) Errado. O aprendizado por reforço não depende de dados rotulados para as ações. Ele aprende
a partir das recompensas (ou punições) recebidas como resultado de suas ações no ambiente;
(b) Errado. Uma característica central do aprendizado por reforço é justamente a presença de
recompensas ou punições (também conhecidas como feedback positivo ou negativo), que guiam o
aprendizado do modelo para aperfeiçoar suas ações;
(c) Correto. O aprendizado por reforço é caracterizado pelo uso de tentativa e erro para descobrir
ações que maximizam a recompensa total. O modelo aprende a tomar decisões ajustando suas
ações com base no feedback (recompensa/punição) recebido do ambiente;
(d) Errado. Apesar de poder ser complementado por orientações humanas em alguns cenários, o
aprendizado por reforço não requer supervisão constante por parte de um humano. O aprendizado
ocorre de forma autônoma à medida que o modelo interage com o ambiente;
(e) Errado. O aprendizado por reforço é aplicável a uma ampla gama de tarefas, muito além da
classificação. Isso inclui controle de robôs, jogos, otimização de processos, entre outros.
Gabarito: Letra C
191. (PROF. DIEGO / INÉDITA – 2024) Redes Neurais Artificiais necessitam obrigatoriamente de
estruturas e funções idênticas às dos neurônios biológicos para funcionar.
Comentários:
As Redes Neurais Artificiais são inspiradas na arquitetura do cérebro humano, mas não precisam
replicar exatamente as estruturas e funções dos neurônios biológicos para funcionar.
Gabarito: Errado
192. (PROF. DIEGO / INÉDITA – 2024) As Redes Neurais Artificiais são incapazes de realizar
tarefas de reconhecimento de voz.
Comentários:
Gabarito: Errado
193. (PROF. DIEGO / INÉDITA – 2024) Deep Learning refere-se especificamente a redes neurais
que contêm apenas uma camada oculta.
Comentários:
Deep Learning se refere a redes neurais com várias camadas ocultas, não apenas uma.
Gabarito: Errado
194. (PROF. DIEGO / INÉDITA – 2024) A capacidade de uma rede neural de processar
informações complexas deriva da interação de um grande número de neurônios simples.
Comentários:
A complexidade das tarefas que as redes neurais podem realizar é resultado da interação entre
numerosos neurônios simples, cada um contribuindo para o processamento da informação.
Gabarito: Correto
195. (PROF. DIEGO / INÉDITA – 2024) Qual das seguintes afirmações melhor descreve a função
de um neurônio artificial?
Comentários:
(a) Errado. Neurônios artificiais não processam sinais elétricos de alta tensão; eles operam com base
em dados e sinais representados numericamente dentro de sistemas de computação;
(c) Errado. Neurônios artificiais não são projetados para realizar cálculos específicos de física
quântica; eles são utilizados principalmente em contextos de processamento de dados e
aprendizado de máquina
(d) Errado. Neurônios artificiais requerem entradas para operar; eles não funcionam sem receber
dados de entrada, os quais são processados para produzir uma saída;
(e) Errado. Embora um único neurônio artificial possa operar em uma tarefa simples, o poder da
computação neural reside na interconexão de múltiplos neurônios artificiais, formando uma rede
neural, para resolver problemas complexos.
Gabarito: Letra B
196. (PROF. DIEGO / INÉDITA – 2024) O que caracteriza o Deep Learning dentro do contexto das
Redes Neurais Artificiais?
Comentários:
(a) Errado. O Deep Learning é caracterizado justamente pela presença, e não pela ausência, de
múltiplas camadas ocultas;
(b) Errado. Embora as redes neurais possam ter uma única camada oculta, o Deep Learning
especificamente se refere à utilização de várias camadas ocultas para processar informações de
maneira mais complexa;
(c) Correto. O Deep Learning, uma subárea do aprendizado de máquina, é caracterizado pela
utilização de redes neurais artificiais com múltiplas camadas ocultas. Essas camadas adicionais
permitem que a rede aprenda representações de dados com níveis crescentes de abstração e
complexidade, melhorando sua capacidade de reconhecimento de padrões complexos;
(d) Errado. Pelo contrário, o Deep Learning é frequentemente usado para tarefas de alta
complexidade, como reconhecimento de fala, visão computacional e processamento de linguagem
natural, devido à sua capacidade de processar e aprender de grandes volumes de dados;
(e) Errado. Uma das capacidades fundamentais do Deep Learning é justamente a habilidade de
ajustar automaticamente seus próprios parâmetros (ou pesos) durante o processo de treinamento,
através de algoritmos como o backpropagation.
Gabarito: Letra C
197. (PROF. DIEGO / INÉDITA – 2024) O que é necessário para treinar uma Rede Neural Artificial?
Comentários:
(a) Errado. Embora dados de alta qualidade sejam importantes, é possível treinar redes neurais com
dados que contêm algum grau de erro ou ruído, desde que haja mecanismos adequados para lidar
com essas imperfeições
(b) Errado. O processo de treinamento de uma rede neural geralmente requer várias iterações de
ajustes (conhecidas como épocas no contexto de treinamento de redes neurais) sobre o conjunto
de dados para otimizar os pesos das conexões;
(c) Correto. Para treinar uma Rede Neural Artificial, são necessários dados de entrada para
alimentar a rede, ajustes nos pesos das conexões entre os neurônios para melhorar o desempenho
do modelo durante o treinamento e a minimização do erro entre a saída prevista pela rede e a saída
desejada ou real. Isso é frequentemente alcançado através de um processo iterativo que utiliza
técnicas como o gradiente descendente;
(d) Errado. Não é necessária uma conexão direta com o cérebro humano para transferir
conhecimento para uma Rede Neural Artificial. O aprendizado é realizado através de algoritmos
que ajustam os pesos da rede baseados nos dados de entrada e nos erros de saída;
(e) Errado. Uma das vantagens das Redes Neurais Artificiais é sua capacidade de aprender a mapear
entradas para saídas a partir dos dados, sem a necessidade de programação detalhada de cada
possível resposta para todas as entradas.
Gabarito: Letra C
198. (PROF. DIEGO / INÉDITA – 2024) Por que as Redes Neurais Artificiais são consideradas
poderosas ferramentas de aprendizado de máquina?
Comentários:
(a) Errado. Na realidade, redes neurais frequentemente requerem grandes quantidades de dados
para treinamento, especialmente para tarefas complexas, para que possam aprender eficazmente
os padrões nos dados;
(b) Correto. Uma das principais razões pelas quais as Redes Neurais Artificiais são consideradas
ferramentas poderosas é sua capacidade de aprender e modelar relações complexas e não lineares
nos dados. Isso as torna adequadas para uma ampla gama de tarefas de aprendizado de máquina,
incluindo classificação, regressão e reconhecimento de padrões, mesmo quando as relações entre
as variáveis de entrada e saída são difíceis de modelar com técnicas tradicionais
(c) Errado. Redes neurais requerem um processo de treinamento, durante o qual os pesos das
conexões entre os neurônios são ajustados para minimizar o erro entre as previsões e as saídas reais.
Este processo é fundamental para que a rede aprenda a realizar suas tarefas;
(d) Errado. Embora as redes neurais tenham se tornado mais acessíveis com o avanço da tecnologia
de hardware, elas ainda podem ser complexas e exigir um custo computacional significativo,
especialmente para redes profundas em tarefas de grande escala;
(e) Errado. Apesar de inspiradas no cérebro humano, as redes neurais artificiais funcionam de
maneira bastante diferente e simplificada em comparação. Elas não replicam a complexidade
completa do cérebro humano e, como qualquer modelo de aprendizado de máquina, estão sujeitas
a erros e limitações.
Gabarito: Letra B
199. (PROF. DIEGO / INÉDITA – 2024) O Processamento de Linguagem Natural é um campo que
combina ciência da computação com linguística.
Comentários:
Gabarito: Correto
Comentários:
A análise pragmática justamente procura incorporar o contexto na análise linguística para gerar um
significado mais preciso e adequado.
Gabarito: Errado
201. (PROF. DIEGO / INÉDITA – 2024) O PLN torna possível para os computadores gerar texto
em linguagem natural.
Comentários:
Uma das capacidades do PLN é permitir que os computadores gerem texto em linguagem natural,
facilitando a comunicação com humanos.
Gabarito: Correto
202. (PROF. DIEGO / INÉDITA – 2024) Chatbots modernos são exclusivamente baseados em
regras pré-programadas para responder a usuários.
Comentários:
Gabarito: Errado
203. (PROF. DIEGO / INÉDITA – 2024) A tokenização é uma tarefa que só ocorre no estágio de
pré-processamento no PLN.
Comentários:
Embora a tokenização seja uma parte crucial do pré-processamento no PLN, o conceito pode ser
aplicado em diferentes contextos e estágios, dependendo da tarefa específica de processamento
de linguagem.
Gabarito: Errado
204. (PROF. DIEGO / INÉDITA – 2024) Qual dos seguintes melhor descreve o objetivo do
Processamento de Linguagem Natural?
Comentários:
(a) Errado. Embora o processamento de linguagem natural (PLN) possa ser usado para interpretar
comandos matemáticos expressos em linguagem natural, esse não é seu objetivo principal;
(b) Errado. Jogar jogos complexos contra humanos, embora possa envolver aspectos de PLN,
especialmente em jogos que requerem compreensão de linguagem, não é o objetivo central do
PLN;
(d) Errado. Ensinar computadores a programar em linguagens de alto nível sem intervenção
humana pode ser uma aplicação futura do PLN combinado com outras tecnologias, mas não é o
objetivo principal do PLN;
(e) Errado. Transformar texto em código de programação é uma tarefa específica que pode ser
abordada pelo PLN, mas não representa seu objetivo geral, que é mais amplo e relacionado à
interação natural entre humanos e máquinas através da linguagem.
Gabarito: Letra C
205. (PROF. DIEGO / INÉDITA – 2024) Qual das seguintes etapas NÃO é parte do processo de
análise em Processamento de Linguagem Natural?
a) Análise Lexical
b) Análise de Malware
c) Análise Sintática
d) Análise Semântica
e) Análise Pragmática
Comentários:
(a) Errado. A análise lexical é uma etapa fundamental no Processamento de Linguagem Natural
(PLN), onde o texto é dividido em tokens ou palavras, facilitando a compreensão estrutural da
linguagem;
(b) Correto. A análise de malware não faz parte do processo de análise em PLN. Esta etapa está
relacionada à segurança da informação e ao estudo de softwares maliciosos, não tendo relação
direta com a compreensão ou análise da linguagem natural;
(c) Errado. A análise sintática é outra etapa crucial no PLN, que envolve a análise da estrutura
gramatical das frases, determinando como as palavras se organizam para formar frases e sentenças
coerentes;
(d) Errado. A análise semântica trata do significado das palavras e frases, buscando compreender a
interpretação possível das sentenças além de sua estrutura gramatical;
(e) Errado. A análise pragmática vai além da análise semântica, considerando o contexto e o uso da
linguagem em situações de comunicação reais, focando em como o contexto influencia o
significado.
Gabarito: Letra B
Comentários:
(a) Errado. Converter texto em representação binária é uma operação de codificação, não
diretamente relacionada ao processamento da linguagem em si, mas sim ao armazenamento ou
transmissão de dados;
(c) Errado. A criptografia de texto é um processo utilizado para garantir a segurança da informação,
transformando o texto claro em um formato ininteligível sem uma chave de descriptografia. Isso
não está diretamente relacionado ao processamento da linguagem natural;
Gabarito: Letra B
207. (PROF. DIEGO / INÉDITA – 2024) Qual é a função da análise semântica no Processamento
de Linguagem Natural?
Comentários:
(a) Errado. A verificação da corretude gramatical das sentenças é mais relacionada à análise
sintática, que examina como as palavras se combinam para formar frases e sentenças
estruturalmente válidas;
(b) Errado. A identificação e correção de erros de ortografia é uma tarefa de correção ortográfica,
não diretamente relacionada à análise semântica;
(d) Errado. Estruturar o texto em um formato de dados específico é mais relacionado a tarefas de
formatação e organização de dados do que à análise semântica propriamente dita;
(e) Errado. Otimizar o texto para motores de busca é uma tarefa de SEO (Search Engine
Optimization), que, embora possa utilizar técnicas de PLN, não é o foco principal da análise
semântica.
Gabarito: Letra C
208. (PROF. DIEGO / INÉDITA – 2024) Qual das seguintes afirmações é VERDADEIRA sobre o
uso de Machine Learning em PLN?
Comentários:
A (a) Errado. O uso de Machine Learning em PLN geralmente requer grandes quantidades de dados
para treinamento, a fim de que os modelos possam aprender eficazmente as complexidades da
linguagem humana.
(b) Errado. Ainda que o Machine Learning possibilite que os computadores processem e entendam
a linguagem humana, isso requer treinamento prévio com grandes conjuntos de dados para ensinar
aos modelos as nuances da linguagem.
(c) Errado. O Machine Learning não elimina a necessidade de análise semântica e pragmática; pelo
contrário, esses aspectos da linguagem são fundamentais para o desenvolvimento de sistemas de
PLN avançados. O Machine Learning pode ser utilizado para melhorar a capacidade de análise
semântica e pragmática dos modelos.
(d) Errado. O Machine Learning, especialmente com o advento do Deep Learning, tem expandido
a capacidade do PLN para além de tarefas simples de processamento de texto, permitindo
abordagens sofisticadas para tradução automática, sumarização de texto, geração de linguagem,
e muito mais.
(e) Correto. Uma das aplicações significativas do Machine Learning em PLN é na capacitação de
chatbots, permitindo-lhes aprender com interações passadas e melhorar suas respostas ao longo
do tempo. Isso é alcançado através do treinamento dos modelos com dados de conversação, que
lhes permite entender e gerar respostas mais naturais e relevantes.
Gabarito: Letra E
209. (PROF. DIEGO / INÉDITA – 2024) O aprendizado profundo (Deep Learning) não tem
aplicação no campo do Processamento de Linguagem Natural (PLN).
Comentários:
Gabarito: Errado
Comentários:
Entender o contexto em que uma palavra é usada, dado que muitas palavras podem ter múltiplos
significados, é um dos desafios fundamentais do PLN.
Gabarito: Correto
211. (PROF. DIEGO / INÉDITA – 2024) As regras gramaticais e de estrutura de frases são
irrelevantes para o processamento de linguagem natural.
Comentários:
Gabarito: Errado
212. (PROF. DIEGO / INÉDITA – 2024) Chatbots modernos são capazes de aprender e melhorar
suas respostas apenas através de programação direta e não por meio de interações.
Comentários:
Gabarito: Errado
213. (PROF. DIEGO / INÉDITA – 2024) A tokenização é o processo de transformar som falado em
texto escrito.
Comentários:
A tokenização refere-se à divisão de texto em unidades menores, como palavras ou frases, e não ao
processo de conversão de som falado em texto.
Gabarito: Errado
Comentários:
Gabarito: Correto
215. (PROF. DIEGO / INÉDITA – 2024) A modelagem de conhecimento no PLN não contribui para
o desenvolvimento de sistemas capazes de responder perguntas.
Comentários:
Gabarito: Errado
216. (PROF. DIEGO / INÉDITA – 2024) Análise semântica e análise gramatical são processos
idênticos no processamento de linguagem natural.
Comentários:
Enquanto a análise gramatical foca na estrutura das frases e seus componentes gramaticais, a
análise semântica busca compreender o significado das frases, considerando contexto e relações
entre palavras.
Gabarito: Errado
Comentários:
A identificação do idioma de um texto é um passo essencial para facilitar a sua tradução automática,
permitindo ao sistema reconhecer o idioma fonte antes de aplicar o processo de tradução.
Gabarito: Correto
218. (PROF. DIEGO / INÉDITA – 2024) Análise de sentimentos pode ser aplicada para determinar
a opinião pública sobre tópicos políticos em redes sociais.
Comentários:
A análise de sentimentos é uma ferramenta útil para identificar tendências e opiniões em discussões
nas redes sociais, incluindo tópicos políticos.
Gabarito: Correto
1. (CESPE / LNA – 2024) Atualmente, uma nova vertente na área de inteligência artificial (IA) tem
entusiasmado a comunidade científica e acadêmica e a sociedade em geral, conhecida como
modelos de difusão estável — SD (stable diffusion). Assinale a opção que apresenta uma tarefa
que não pode ser realizada com o uso de modelos do tipo SD.
2. (CESPE / ANTT – 2024) No modelo a seguir, que contém regras que incluem os itens A, B, C, D,
E, F, G e H, as regras 1 e 2 pertencem a um mesmo grupo de regras.
3. (CESPE / CTI – 2024) A utilização da lógica nebulosa é adequada quando há necessidade de uma
variável fazer parte da solução de um problema.
4. (CESPE / CTI – 2024) Na ciência de dados, as cadeias de Markov podem ser aplicadas a
ferramentas de previsão do clima e de espalhamento de doenças, por exemplo.
5. (CESPE / ANTT – 2024) A regressão logística é usada para fazer uma previsão sobre uma variável
categórica comparada a uma contínua; assim como a regressão linear, a regressão logística
também pode ser usada para estimar o relacionamento entre uma variável dependente e uma
ou mais variáveis independentes.
6. (CESPE / ANTT – 2024) Os sistemas de recomendação utilizam vários algoritmos, entre os quais
estão os embasados em conteúdo, cuja abordagem consiste em analisar as interações passadas
dos usuários com os produtos.
7. (CESPE / ANTT – 2024) A regressão linear é o método mais utilizado de análise preditiva; nela,
são usadas relações lineares entre uma variável dependente (destino) e uma ou mais variáveis
independentes (preditores) para prever o futuro do destino.
9. (CESPE / MPO – 2024) Pode-se utilizar machine learning, capaz de reconhecer e reproduzir
padrões de inteligência artificial com base em experiência prévia, para um mecanismo de busca
na Internet que funcione de forma automatizada.
10. (CESPE / MPO – 2024) A redução de dimensionalidade acrescenta variáveis nos modelos de
inteligência artificial para torná-los mais específicos e objetivos.
11. (CESPE / CTI – 2024) O dispositivo computacional da inteligência artificial engloba, entre outros
elementos, a percepção, que é a capacidade de provocar mudanças no ambiente.
12. (CESPE / CTI – 2024) Os processos heurísticos buscam, primeiramente, estabelecer soluções
teóricas para, depois, avançar para uma única tentativa de solução.
14. (CESPE / CTI – 2024) A utilização de inteligência artificial conversacional possibilita o uso de
dispositivos IoT em ambiente doméstico.
15. (CESPE / CAU-BR – 2024) O denominado motor de inferência é o núcleo dos sistemas de IA que
oferece soluções possíveis para um problema apresentado.
16. (CESPE / CTI – 2024) A regressão é um tipo de aprendizado não supervisionado cujo objetivo é
entender a relação entre variáveis dependentes.
18. (CESPE / CTI – 2024) As tarefas de aprendizado de máquina podem ser divididas em três
grandes grupos: classificação, agrupamento e associação, devendo o primeiro grupo possuir
uma classe que se pretenda prever.
20. (CESPE / CTI – 2024) Ocorre sobreajuste quando o modelo não pode determinar uma relação
significativa entre os dados de entrada e saída, ou seja, quando o modelo não é treinado pelo
período apropriado em relação à quantidade de dados.
21. (CESPE / CTI – 2024) Em aprendizado de máquina, um modelo de bom desempenho com dados
já treinados, mas que não lide muito bem com novos dados é denominado subajuste, ou seja,
no subajuste se aprende com base no ruído dos dados.
22. (CESPE / CTI – 2024) No contexto do aprendizado de máquina, um algoritmo é definido como a
especificação de uma relação probabilística existente entre variáveis diferentes.
23. (CESPE / CAU-BR – 2024) Em machine learning, os sistemas podem usar aprendizado do tipo
supervisionado, não supervisionado, autônomo ou gerenciado.
24. (CESPE / CTI – 2024) As aplicações de IoT utilizam algoritmos de aprendizado de máquina para
analisar grandes quantidades de dados de sensores conectados em nuvem.
25. (CESPE / CTI – 2024) Na inteligência artificial, o agente inteligente deve ser capaz de ter
autonomia, isto é, deve ter a capacidade de acumular conhecimento que seja útil em suas ações.
26. (CESPE / CTI – 2024) A capacidade de classificação é uma tarefa importante no aprendizado de
máquina, por ser utilizada no estabelecimento de padrões.
27. (CESPE / ANTT – 2024) Ocorre sobreajuste quando um modelo de dados é incapaz de capturar
o relacionamento entre as variáveis de entrada e saída com precisão, o que gera uma alta taxa
de erro tanto no conjunto de treinamento quanto nos dados não exibidos.
29. (CESPE / ANTT – 2024) Modelos de aprendizado não supervisionado são utilizados em três
tarefas principais, entre as quais está a redução de dimensionalidade, que é uma técnica usada
para se reduzir o número de entradas de dados a um tamanho gerenciável, não havendo, nesse
caso, preservação da integridade do conjunto de dados.
30. (CESPE / LNA – 2024) O algoritmo de otimização Adam (Adaptive Moment Estimation) é um
dos mais utilizados atualmente na área de aprendizado de máquina. A respeito das
características e da utilização desse algoritmo, é correto afirmar que ele:
31. (CESPE / MPO – 2024) O aprendizado supervisionado é definido pelo uso de conjuntos de dados
rotulados para treinar algoritmos que classificam dados ou preveem resultados com precisão.
32. (CESPE / ANA – 2024) O aprendizado supervisionado utiliza a regressão para entender a relação
entre variáveis dependentes e independentes.
33. (CESPE / CTI – 2024) Aprendizado de máquina pode ser definido como a criação e o uso de
modelos que são aprendidos a partir dos dados.
34. (CESPE / CTI – 2024) Aprendizado de máquina e mineração de dados são termos idênticos em
relação aos seus objetivos e funções, pois ambos lidam com algoritmos de inteligência artificial
para padrões em grandes conjuntos de dados em busca de conhecimento.
35. (CESPE / CTI – 2024) O aprendizado de máquina computacional tem como objetivo aplicar
técnicas computacionais na tentativa de validar padrões em dados e ratificar padrões que
podem ser observados explicitamente nos dados.
36. (CESPE / CNPq – 2024) Deep learning é um algoritmo que simula o cérebro humano por meio
de algoritmos probabilísticos de aprendizado do comportamento em que uma população de
representações abstratas de solução é selecionada em busca de soluções melhores.
37. (CESPE / CAU-BR – 2024) O reconhecimento facial por imagens nas redes sociais é embasado
no aprendizado de máquina chamado deep learning, que simula a rede neural do cérebro
humano.
38. (CESPE / CAU-BR – 2024) Em uma rede neural artificial, o valor de entrada de cada neurônio é
calculado pelo produto matemático das saídas dos neurônios da camada inferior.
39. (CESPE / CTI – 2024) Os modelos de aprendizagem das redes neurais incluem o aprendizado
por memória e o aprendizado competitivo.
40. (CESPE / CTI – 2024) As redes neurais permitem construir modelos que sejam padronizados de
acordo com o funcionamento do cérebro humano.
41. (CESPE / ANTT – 2024) Umas das principais diferenças entre o backpropagation e o SGD
(Stochastic Gradient Descent) é a forma como os pesos são atualizados, visto que o SGD utiliza
o gradiente calculado para todos os dados de treinamento, ao passo que o backpropagation usa
o gradiente calculado apenas para um mini-batch de dados de treinamento.
42. (CESPE / ANTT – 2024) As redes neurais artificiais são um subconjunto de machine learning,
estão no cerne dos algoritmos de deep learning e são compostas por camadas de um nó,
contendo uma camada de entrada, uma ou mais camadas ocultas e uma camada de saída.
43. (CESPE / ANTT – 2024) No treinamento, as redes neurais convolucionais recebem imagens e
aplicam filtros, que possibilitam a extração de características; após essa extração, a camada de
rede neural é utilizada para classificar a imagem.
44.(CESPE / ANTT – 2024) As redes neurais convolucionais distinguem-se das demais redes neurais
==3b91f9==
por seu desempenho superior, tendo suas entradas três tipos principais de camadas:
convolucional, de agrupamento e totalmente conectada.
45. (CESPE / MPO – 2024) A inteligência artificial generativa é capaz de criar novos conteúdos e
áudios.
46.(CESPE / MPO – 2024) A geração de imagens por meio de descrição de textos, sem a
necessidade de inserir outras figuras ou ilustrações, é um dos recursos da inteligência artificial
generativa.
47. (CESPE / LNA – 2024) As redes neurais artificiais (RNA) são técnicas computacionais que, a
partir de um modelo matemático inspirado na estrutura neural de seres inteligentes, adquirem
conhecimento por meio da experiência. Em relação às RNA, assinale a opção correta:
a) No processo de aprendizado das RNA, pode ser utilizado o paradigma de aprendizado por
reforço.
c) O modelo proposto por McCullock e Pitts na primeira metade do século XX não faz uso de
uma função de ativação.
48.(CESPE / LNA – 2024) O modelo transformer tem revolucionado a área de inteligência artificial
(IA), permitindo uma mudança de paradigma em como a IA pode ser utilizada pela humanidade.
Recentemente, a comunidade científica considerou o modelo transformer, seja para textos ou
b) Modelos transformers não são capazes de realizar a tarefa de resposta a perguntas feitas por
texto.
49.(CESPE / ANTT – 2024) As redes neurais de deep learning, ou redes neurais artificiais, tentam
imitar o cérebro humano por meio de uma combinação de entradas de dados, pesos e viés; esses
elementos trabalham juntos para reconhecer, classificar e descrever com precisão os objetos
dentro dos dados.
50. (CESPE / DATAPREV – 2023) De acordo com os conceitos de inteligência artificial, as máquinas
reativas têm a capacidade compreender os seres humanos, entendendo seus estados mentais.
51. (CESPE / DATAPREV – 2023) A inteligência artificial é um sistema com capacidade de ponderar,
aprender e agir para resolver um problema complexo.
52. (CESPE / SEFIN de Fortaleza-CE – 2023) A matriz de confusão permite avaliar o desempenho
de um modelo de classificação a partir da frequência de erros e acertos.
53. (CESPE / DATAPREV – 2023) A redução de dimensionalidade é uma técnica que reduz a
quantidade de atributos que descrevem um objeto, mantendo a integridade dos dados originais.
55. (CESPE / DATAPREV – 2023) O PCA é um procedimento estatístico que converte um conjunto
de objetos com atributos possivelmente correlacionados em um conjunto de objetos com
atributos linearmente descorrelacionados.
56. (CESPE / TC-DF – 2023) O algoritmo Naive Bayes é utilizado para categorizar palavras com base
na frequência; um exemplo do uso desse algoritmo é a classificação de e-mails como spam.
58. (CESPE / DATAPREV – 2023) O aprendizado por reforço é um tipo de aprendizagem de máquina
que tem por objetivo prever o resultado de um atributo alvo exclusivamente por meio de reforço
no treinamento do modelo.
61. (CESPE / DATAPREV – 2023) Apesar das CNN serem redes neurais profundas, com várias
camadas ocultas, elas são dispensadas nos algoritmos de reconhecimento de imagens.
62. (CESPE / DATAPREV – 2023) Backpropagation propaga o erro da camada de saída para as
camadas intermediárias de uma rede neural a fim de que estas possam modificar seus pesos de
forma a minimizar o erro médio.
63. (CESPE / DATAPREV – 2023) As redes neurais têm a capacidade de adaptar seus pesos
sinápticos considerando as mudanças de padrão dos dados de entrada.
64.(CESPE / DATAPREV – 2023) Nas redes neurais completamente conectadas, todos os neurônios
de uma camada estão conectados aos neurônios da camada seguinte, no entanto, não é possível
que as saídas das camadas posteriores alimentem a entrada de camadas anteriores.
65. (CESPE / DATAPREV – 2023) As conexões entre as camadas de uma rede neural do tipo MLP
são de natureza feedfoward.
66. (CESPE / Petrobrás – 2022) A tabela abaixo apresenta parte de um conjunto de dados
referentes a uma variável categórica chamada opinião que possui quatro categorias de resposta:
muito satisfeito, satisfeito, insatisfeito e muito insatisfeito.
Para lidar numericamente com os dados categóricos, uma codificação binária proporciona uma
conversão de cada categoria de resposta para uma sequência de dígitos binários, em que cada
dígito binário representa uma variável numérica que assume valores 0 ou 1. Na situação em tela,
uma possível codificação binária é exemplificada na tabela abaixo.
67. (CESPE / Petrobrás – 2022) Em um processo em que se utiliza a ciência de dados, o número de
variáveis necessárias para a realização da investigação de um fenômeno é direta e simplesmente
igual ao número de variáveis utilizadas para mensurar as respectivas características desejadas;
entretanto, é diferente o procedimento para determinar o número de variáveis explicativas,
cujos dados estejam em escalas qualitativas.
Para evitar um erro de ponderação arbitrária, deve-se recorrer ao artifício de uso de variáveis
dummy, o que permitirá a estratificação da amostra da maneira que for definido um
determinado critério, evento ou atributo, para então serem inseridas no modelo em análise; isso
permitirá o estudo da relação entre o comportamento de determinada variável explicativa
qualitativa e o fenômeno em questão, representado pela variável dependente.
As curvas ROC a seguir mostram a taxa de especificidade (verdadeiros positivos) versus a taxa
de sensibilidade (falsos positivos) do modelo adotado; a linha tracejada é a linha de base da
métrica de avaliação e define uma adivinhação aleatória.
70. (CESPE / ANP – 2022) A ação de realizar agrupamento hierárquico tem como premissa básica
encontrar elementos em um conjunto de dados que impliquem a presença de outros elementos
na mesma transação, com um grau de certeza definido pelos índices de fator de suporte e o fator
de confiança, que pode ser realizado, por exemplo, por meio do algoritmo a priori.
71. (CESPE / ANP – 2022) O algoritmo random forest é um algoritmo de aprendizado de máquina
supervisionado em que se agrupam os resultados de várias árvores de decisão de cada nó para
se obter uma conclusão própria e aumentar a precisão do modelo, não sendo o referido
algoritmo adequado para grandes conjuntos de dados.
72. (CESPE / ANP – 2022) A técnica de redução de dimensionalidade (PCA) permite transformar
dados que inicialmente pertencem a um espaço de dimensão n em um espaço de dimensão m,
em que m < n, sendo utilizada, por exemplo, para reduzir a dimensionalidade de certo conjunto
de dados através do descarte de características não úteis e que ainda permita realizar o
reconhecimento de padrões.
73. (CESPE / ANP – 2022) As aplicações em inteligência artificial são definidas como uma subárea
da área de aprendizagem de máquina (machine learning).
74. (CESPE / ANP – 2022) Em se tratando de modelos de regressão linear, indica-se a utilização dos
seguintes métodos não paramétricos para a estimação dos resultados: Mínimos Quadrados
(MQ) e de Support Vector Machines (SVM).
75. (CESPE / ANP – 2022) Considerando-se, nos gráficos a seguir, que o resultado #2 corresponda
ao melhor desempenho do algoritmo, é correto afirmar que o resultado #1 indica que houve
underfitting.
77. (CESPE / SERPRO – 2021) Entre as condições ideais relativas à função objetivo g(β) para a
aplicação do método do gradiente descendente incluem-se convexidade, continuidade e
diferenciabilidade.
81. (CESPE / SEFAZ-CE – 2021) Cada unidade de uma rede neural artificial possui um valor e um
peso, no seu nível mais básico, para indicar sua importância relativa.
82. (CESPE / SEFAZ-CE – 2021) Redes neurais do tipo LSTM (long short-term memory) mantêm o
nível de precisão independentemente do tamanho do modelo utilizado.
83. (CESPE / TJ-AM – 2019) A técnica machine learning pode ser utilizada para apoiar um processo
de data mining.
a) um software interage com um ambiente dinâmico, como, por exemplo, veículos autônomos.
b) as etiquetas de classificação não sejam fornecidas ao algoritmo, de modo a deixá-lo livre para
entender as entradas recebidas.
c) o aprendizado pode ser um objetivo em si mesmo ou um meio para se atingir um fim.
d) o objetivo seja aprender um conjunto de regras generalistas para converter as entradas em
saídas predefinidas.
e) são apresentados ao computador exemplos de entradas e saídas desejadas, fornecidas por
um orientador.
85. (CESPE / TRE/PE – 2017 – Item A) Em uma curva ROC, o ponto que aperfeiçoa a sensibilidade
em função da especificidade é aquele que se encontra mais próximo do canto superior esquerdo
do gráfico.
86. (CESPE / INPI – 2013) Em um banco de dados, foram armazenadas informações relativas a
diversas pesquisas realizadas por pesquisadores de institutos renomados. Entre as variáveis
constantes desse banco destacam-se: nome, gênero e titulação do pesquisador; valor
financiado da pesquisa; instituto ao qual o pesquisador pertence; número de componentes da
equipe; e número de artigos publicados pelo pesquisador.
87. (CESPE / MPE-PI – 2012) Em datamining, o uso de holdout induz o modelo de classificação a
partir do conjunto de treinamento, e seu desempenho é avaliado no conjunto de teste. Quanto
menor o conjunto de treinamento, maior a variância do modelo; no entanto, se o conjunto de
treinamento for grande demais, a precisão estimada calculada a partir do conjunto menor é
menos confiável.
88. (CESPE / CORREIOS – 2011) Para criar um ranking das universidades brasileiras, um
pesquisador dispõe das seguintes variáveis: X1 = número de professores doutores; X2 =
quantidade de pesquisas publicadas em periódicos nacionais; X3 = quantidade de pesquisas
publicadas em periódicos internacionais; X4 = área total do campus; X5 = quantidade de cursos
de pós-graduação.
II. tem sete regiões importantes que representam: Céu ROC, Inferno ROC, Quase Nunca
Positivo, Quase Sempre Positivo, Quase Nunca Negativo, Quase Sempre Negativo e Variáveis
Fora da Curva.
a) I.
b) I e II.
c) I e III.
d) II e III.
e) III.
91. (FGV / Prefeitura São José dos Campos-SP– 2024) A Visão Computacional (CV) é um
subdomínio da inteligência artificial (IA) que treina o sistema para identificar e interpretar o
mundo visual. CV envolve várias tarefas importantes, como modelagem de cena tridimensional,
geometria de câmera multimodelo, correspondência estéreo baseada em movimento,
processamento de nuvem de pontos, estimativa de movimento e muito mais.
I. Aquisição da imagem.
II. Processamento da imagem.
III. Segmentação da imagem.
a) I e III, apenas.
b) II e III, apenas.
c) I e II, apenas.
d) I, apenas.
e) I, II e III.
92. (FGV / CGM-BH – 2024) Relacione os termos de Inteligência Artificial (IA) às suas respectivas
definições.
1. IA fraca
2. IA forte
3. IA generativa
4. Teste de Turing
( ) É capaz de resolver uma única tarefa, pode automatizar tarefas demoradas e analisar dadosde
maneiras que os humanos às vezes não podem.
( ) É uma categoria de algoritmos de IA que gera novos resultados com base nos dados em que
foram treinados.
( ) É capaz de resolver uma gama extensa e arbitrária de tarefas, incluindo aquelas que são novas,
e executá-las com eficácia comparável à de um ser humano.
( ) É uma medida de inteligência de uma máquina, onde se a máquina pode se passar por um
humano em uma conversa de texto, ela passa no teste.
a) 1 – 3 – 2 – 4.
b) 1 – 2 – 4 – 3.
c) 4 – 3 – 2 – 1.
d) 3 – 2 – 1 – 4.
93. (FGV / CGE-PB – 2024) O auditor de contas públicas João está desenvolvendo um modelo de
aprendizado de máquina para identificar transações financeiras suspeitas em uma auditoria de
contas. Após treinar o modelo, João observa que esse tem um desempenho excelente nos dados
de treinamento, mas apresenta um desempenho ruim nos dados de teste, com uma alta taxa de
erro. Nesse contexto, o problema observado por João, do modelo ajustar-se excessivamente
aos dados de treinamento, é denominado:
a) bias (viés);
b) overfitting;
c) underfitting;
d) oversampling;
e) undersampling.
a) V – V – V.
b) F – V – F.
c) V – F – F.
d) V – V – F.
95. (FGV / CGE-PB – 2024) O cientista de dados João deverá criar um modelo de aprendizado de
máquina com o objetivo de classificar transações de cartão de crédito como "fraudulentas" ou
"não fraudulentas". Dentre as métricas de avaliação da qualidade geral do modelo criado, João
deverá utilizar a que avalia o equilíbrio entre precisão e sensibilidade (recall):
a) acurácia;
b) F1-score;
c) especificidade;
d) índice Jaccard (J);
96. (FGV / TCE-SP – 2023) No contexto da IA geracional, representada pelo ChatGPT e modelos
similares, surge um desafio crítico relacionado ao viés. Em relação ao significado do termo
“biased AI” (IA enviesada) na IA geracional, assinale a afirmativa correta:
d) Significa que a IA geracional não é capaz de reconhecer ou interpretar o contexto em que uma
pergunta é feita.
Entretanto, houve um padrão atípico de erro: o chefe de Joselito, que é calvo, foi
consistentemente identificado pelo modelo como estando de capacete, ainda que estivesse
sem capacete. Com base nessas informações, assinale a opção que indica a causa mais provável
do comportamento anômalo observado no modelo de Joselito.
a) O modelo foi treinado com um conjunto de dados desbalanceado tendo muito mais exemplos
de pessoas usando capacetes do que sem.
b) O chefe de Joselito tem características faciais únicas que o modelo não conseguiu aprender
corretamente durante o treinamento.
d) O conjunto de dados de treinamento não tinha uma quantidade balanceada de pessoas calvas
sem utilizar o capacete, fazendo o modelo associar erroneamente a calvície com o uso de
capacete.
98. (FGV / TCE-ES – 2023) João e Júlio fazem parte da equipe de Ciência de Dados do TCE/ES e
estão realizando um estudo para o desenvolvimento de um classificador binário (classes positiva
e negativa) usando Naive Bayes. Com o intuito de dividirem suas tarefas, João ficou responsável
por treinar o modelo de classificação, e Júlio, por avaliar o desempenho do modelo. Após o
treinamento do modelo, João aplicou-o ao conjunto de teste e enviou um e-mail a Júlio com a
matriz de confusão resultante. Dessa forma, Júlio poderá calcular:
99. (FGV / TCE-SP – 2023) João está trabalhando em um projeto de reconhecimento de animais
por imagens, em que o conjunto de dados possui um atributo como rótulo, o qual indica o nome
do animal retratado, como "cachorro", "gato", "pássaro" e "peixe". Para treinar o modelo de
reconhecimento de imagens de animais, a tarefa de aprendizado supervisionado que João
deverá utilizar é:
a) regressão;
b) associação;
c) classificação;
d) agrupamento;
e) redução de dimensionalidade.
100. (FGV / CGE-SC – 2023) Sobre as redes neurais convolucionais (CNNs) é correto afirmar que:
b) ao treinar CNNs utilizando transferência de aprendizado para ajuste fino, começamos com
um modelo pré-treinado e atualizamos todos os parâmetros do modelo para nossa nova tarefa,
basicamente retreinando todo o modelo.
c) uma rede neural convolucional pode ser utilizada para reconhecer os mais variados tipos de
dados. Por exemplo, textos, imagens e dados de clientes. Para isso, basta que os dados de
entrada sejam transformados por alguma técnica de extração de características em simples
vetores de características.
d) as últimas camadas convolucionais de uma rede neural CNN são capazes de extrair
características mais baixo nível dos dados, como linhas, círculos e pontos, enquanto as primeiras
camadas extraem características mais alto nível, detalhes mais específicos dos objetos
reconhecidos.
e) as camadas de pooling das CNNS são capazes de extrair características de médio nível,
reconhecendo características que são mais detalhadas que as primeiras camadas
convolucionais.
101. (FGV / CGE-SC – 2023) Sobre modelos de otimização de redes neurais, assinale a afirmativa
incorreta.
d) O algoritmo de otimização ADAM guarda, além dos valores dos pesos passados, o
decaimento exponencial da média de gradientes passados e possui o mesmo objetivo do
momento.
102. (FGV / CGE-SC - 2023) Suponha que, dado um problema em que os dados são
bidimensionais e executamos o algoritmo PCA (Principal Component Analysis – Análise de
Componentes Principais) nesses dados para redução de dimensionalidade, o resultado do PCA
produza dois autovalores de valores iguais. A respeito desse resultado, assinale a afirmativa
correta.
a) As dimensões dos dados não são igualmente importantes; o uso do PCA para a redução de
dimensionalidade vai produzir um excelente resultado pois as dimensões possuem 100% da
informação.
b) As dimensões dos dados são igualmente importantes; o uso do PCA para a redução de
dimensionalidade vai produzir um resultado ruim, pois as dimensões são iguais.
c) As dimensões dos dados são igualmente importantes; o uso do PCA para redução de
dimensionalidade vai produzir um resultado ruim, pois perdemos 100% da explicação dos dados.
d) As dimensões dos dados são igualmente importantes; o uso do PCA para redução de
dimensionalidade vai produzir um resultado ruim, pois perdemos 50% da explicação dos dados.
e) As dimensões dos dados não são igualmente importantes; o uso do PCA para redução de
dimensionalidade vai produzir um excelente resultado pois as dimensões possuem 50% da
informação.
103. (FGV / Receita Federal - 2023) Luiz, médico dermatologista, criou um modelo de IA para
auxiliar na detecção de câncer de pele com visão computacional. Como um modelo de
classificação binária, ele terá 4 possíveis saídas: verdadeiro positivo (paciente com câncer,
detectado corretamente), verdadeiro negativo (paciente sem câncer, detectado corretamente),
falso positivo (paciente sem câncer, detectado incorretamente) e falso negativo (paciente com
câncer, não detectado pelo modelo).
Levando em consideração que um modelo de IA seria utilizado como uma ferramenta de auxílio
ao diagnóstico de câncer de pele, os erros de “tipo 1” (falso positivo) seriam tolerados, já que
haveria uma análise posterior realizada por um médico especialista. No entanto, os erros “tipo
2” (falso negativo) seriam os mais críticos, uma vez que podem resultar em um diagnóstico
tardio ou falho, comprometendo a saúde do paciente.
III. Ao ajustar o modelo para minimizar erros de "tipo 2", geralmente os erros de "tipo 1" tendem
a aumentar;
IV. Luiz deveria submeter seu modelo a um treinamento mais longo, independentemente do
overfitting.
a) I e III, apenas.
b) II e III, apenas.
c) I e IV, apenas.
d) II e IV, apenas.
e) III e IV, apenas.
104. (FGV / Receita Federal - 2023) Suponha que um modelo de classificação binária foi
treinado para distinguir e-mails de spam de e-mails legítimos. O modelo foi testado em um
conjunto de dados de teste com 200 e-mails, sendo 100 e-mails de spam e 100 e-mails legítimos.
a) 0,74.
b) 0,78.
c) 0,82.
d) 0,86.
e) 0,90.
105. (FGV / Receita Federal - 2023) Com base nos princípios de Responsible AI (IA Responsável),
a seguinte característica não é considerada importante para o desenvolvimento de soluções de
inteligência artificial:
a) transparência.
b) privacidade.
c) explicabilidade.
d) segurança.
e) performance.
106. (FGV / Receita Federal – 2023) Responsible AI (IA Responsável) e Explainable AI (IA
Explicável) são conceitos importantes no desenvolvimento de sistemas de inteligência artificial.
A IA Explicável refere-se à capacidade de explicar como uma decisão foi tomada pelo modelo de
IA, permitindo que os usuários entendam o processo de tomada de decisão. Já a IA Responsável
envolve garantir que a IA seja desenvolvida e implementada de forma ética e legalmente
responsável.
d) Uma IA pode ser responsável, mas ainda ser opaca e não explicável, tornando difícil para os
usuários entenderem como as decisões são tomadas.
107. (FGV / SEFAZ-MG - 2023) Machine Learning é um subconjunto da Inteligência Artificial que
utiliza dados e algoritmos para imitar o raciocínio humano. Em relação aos algoritmos de
machine learning, assinale a afirmativa incorreta.
a) Algoritmo de regressão: prevê valores de saída usando recursos de entrada dos dados
fornecidos ao sistema. Os algoritmos mais populares são Linear Regression, Logistic Regression
Multivariate Adaptive Regression Splines (MARS) e Locally Estimated Scatter plot Smoothing
(LOESS).
108. (FGV / SEFAZ-MT – 2023) Maria treinou um classificador que distingue fotos de maças e
laranjas. Após testar o classificador com uma amostra de 160 fotos, obteve a matriz de confusão
a seguir.
Com base neste resultado, é correto afirmar que a acurácia deste classificador é
a) 0,075.
b) 0,325.
c) 0,675.
d) 0,925.
e) 0,982.
A partição que apresenta o menor erro de classificação quando feita na raiz (primeiro nível) de
uma árvore de decisão é:
110. (FGV/ TCU – 2022) Durante o treinamento de uma rede neural artificial para classificação de
imagens, foi observado o comportamento descrito pelo gráfico abaixo, que mostra a evolução
do erro conforme o número de iterações.
111. (FGV / SEFAZ-AM – 2022) Certo conjunto de dados contém 10000 observações, em que cada
observação possui 10 variáveis. A análise de componentes principais (PCA) sobre estes dados
apontou que a primeira componente principal é dada pelo vetor w. A esse respeito, assinale a
afirmativa correta.
a) A variância dos dados é a mesma nas direções dadas por w ou pelas demais componentes
principais.
112. (FGV / TRT-MA – 2022) Com relação aos conceitos de aprendizado de máquina, assinale V
para a afirmativa verdadeira e F para a falsa.
a) V, V e V.
b) V, V e F.
c) V, F e V.
d) F, V e V.
e) F, F e F.
113. (FGV / TJDFT – 2022) Após alguns resultados insatisfatórios usando funções de ativação
linear em um projeto de rede neural artificial, um cientista de dados resolve tentar outras
funções e recebe algumas sugestões de um colega.
Dadas as alternativas abaixo, cada uma representando uma sugestão de função recebida,
aquela que apresenta uma função apropriada ao uso como ativação em uma rede neural é:
a)
b)
c)
d)
e)
114. (FGV / TCU – 2022) Seja uma rede neural com camada de entrada com dimensão dois que
recebe dados (x1, x2). Essa rede aplica pesos w1 em x1, w2 em x2 e adiciona um viés w0. A função
de ativação é dada pela função sinal s(z) = +1, se z ≥ 0, e s(z) = -1, se z < 0. Essa rede não tem
nenhuma camada oculta e será utilizada para classificar observações em y=+1 ou y=-1.
Para pesos w1 = 2, w2 = 3 e viés w0 = 1, a região de classificação é uma reta que passa nos pontos:
115. (FGV / TJDFT – 2022) Durante o processo de treinamento e validação de uma rede neural,
foi observado o fenômeno de underfitting do modelo, necessitando de ajustes ao
procedimento. A arquitetura utilizada foi a Multilayer Perceptron (MLP) e o conjunto de dados
foi separado em regime de holdout (50%, 30% e 20% para treinamento, validação e teste,
respectivamente). Dois fatores que podem ter condicionado o fenômeno observado são:
São elas:
a) 0,62 e 0,67;
b) 0,64 e 0,77;
c) 0,67 e 0,62;
d) 0,78 e 0,7;
e) 0,8 e 0,85.
117. (FGV / Prefeitura de Niterói – 2018) No contexto das redes neurais, é comum o uso da
função sigmoid no papel de função de ativação. Assinale a definição correta dessa função na
referida aplicação.
a)
b)
c)
d)
e)
118. (FGV / Prefeitura de Niterói – 2018) Analise a rede neural exibida a seguir.
a) I, apenas.
b) II, apenas.
c) III, apenas.
d) I e II, apenas.
e) I, II e III.
119. (FGV / Fiocruz – 2010) Assinale a alternativa que indique o problema mais apropriado para
aplicação da regressão logística.
b) Para descrever o tamanho esperado de crianças com menos de um ano, de acordo com sua
idade em meses.
e) Para predizer o número de casos de uma doença em diferentes municípios de acordo com
algumas variáveis populacionais e epidemiológicas.
120. (CESGRANRIO / IPEA – 2024) Outliers são pontos ou observações em um conjunto de dados
que diferem significativamente da maioria dos demais outros pontos. Eles podem ser resultados
de variações na medição, erros de entrada de dados ou, ainda, podem indicar uma variação
genuína da fonte de coleta. Em preparação para análise de um conjunto de dados, o tratamento
de outliers:
b) é sempre uma tarefa simples que pode ser realizada por qualquer analista de dados, sem risco
de perder informações valiosas.
c) é sempre uma tarefa complexa que requer um conhecimento profundo de estatística e que
independe do conjunto de dados e do objetivo da análise.
d) deve ser realizado antes de realizar agregações, pois os outliers podem afetar os resultados
da análise que inclua uma agregação.
e) deve ser realizado após realizar agregações, pois os outliers podem obscurecer os resultados
da agregação.
Qual das palavras a seguir apresenta o maior valor da similaridade de Jaccard, quando
comparada com a palavra “computador”?
a) amputar
b) amplificador
c) calcular
d) deputado
e) senador
122. (CESGRANRIO / IPEA – 2024) Admita que a área de desenvolvimento de softwares do Ipea
está confeccionando um aplicativo responsivo de Machine Learning (ML) usando o Bootstrap,
de modo a melhorar a apresentação das planilhas que mostram os vínculos de trabalho das
pessoas do setor público. Qual algoritmo de conjunto deve ser utilizado para incrementar a
estabilidade desse aplicativo de ML?
a) Protocol
b) Collection
c) Bootstrap Kurbenete
d) Bootstrap Initialization
e) Bootstrap Aggregating
123. (CESGRANRIO / IPEA – 2024) Em um projeto de ciência de dados para análise preditiva no
setor bancário, um cientista de dados precisa escolher tecnologias de aprendizado de máquina
adequadas para classificar clientes com base no risco de inadimplência. Considerando-se a
intenção de lidar com dados não linearmente separáveis por meio do uso de um kernel, qual é o
algoritmo mais adequado para essa tarefa?
a) classificação de e-mails como spam ou não spam, com base em várias características, como
conteúdo, informações do remetente e estrutura do e-mail.
d) rotulação de um paciente como portador ou não de câncer, com base em características como
marcadores genéticos, histórico do paciente e resultados de testes diagnósticos.
e) estimativa do consumo futuro de energia para uma região ou setor específico, com base em
padrões de uso históricos, indicadores econômicos e fatores ambientais.
a) estratificação e hold-out
b) hold-out e k-fold
c) leave-one-out e estratificação
d) leave-one-out e k-fold
e) Monte Carlo e leave-p-out
Considerando-se que, nessa matriz, as linhas indicam a resposta correta e as colunas indicam a
previsão, a acurácia é de:
a) 8%
b) 44%
c) 48%
d) 88%
e) 92%
Nesse cenário, qual é o algoritmo mais apropriado para fazer o agrupamento desejado?
a) 2%
b) 18%
c) 37%
d) 74%
e) 98%
129. (CESGRANRIO / Caixa – 2024) Em 2014, a arquitetura de redes neurais denominada Redes
Adversárias Generativas (GAN) revolucionou o aprendizado de máquina. As GAN caracterizam-
se por:
130. (QUADRIX / CRQ – 12ª Região – 2024) O aprendizado não supervisionado é uma área da
inteligência artificial que envolve o uso de algoritmos para encontrar padrões ocultos em
conjuntos de dados rotulados.
131. (QUADRIX / CRQ – 12ª Região – 2024) O aprendizado de máquina pode ser definido como
uma técnica de ciência de dados que permite que os computadores usem os dados existentes
para prever futuros comportamentos, resultados e tendências.
132. (CS-UFG / Câmara de Anápolis-GO – 2024) A Inteligência Artificial (IA) é uma ferramenta
computacional que permitiu o avanço em diferentes áreas, entre elas: a saúde, finanças,
marketing, entre outras. A principal ajuda, veio no apoio à tomada de decisões. As caraterísticas
que descrevem o aprendizado de máquina (machine learning) são
a) a realidade aumentada.
b) o metaverso.
c) a internet das coisas.
d) a inteligência artificial.
134. (QUADRIX / CRA-PR – 2022) Entre as técnicas de machine learning, a random forest é capaz
de solucionar problemas de classificação e de regressão, por meio da construção e dos
treinamentos de árvores de decisão.
135. (QUADRIX / CRA-PR – 2022) Os sistemas de machine learning podem ser empregados em
situações em que os softwares tradicionais não conseguem resolver os problemas ou que suas
soluções não são consideradas como satisfatórias.
136. (QUADRIX / CRA-PR – 2022) Um dos tipos de sistema machine learning é a aprendizagem
supervisionada, que é caracterizada pela aprendizagem de padrões com base na entrada (dados
de treinamento) e que não apresenta um feedback explícito quanto a esse aprendizado.
137. (QUADRIX / CRA-PR – 2022) Para que os algoritmos de deep learning sejam capazes de
analisar dados não estruturados, é imprescindível que haja algum tipo de pré-processamento do
conjunto de dados a ser analisado.
138. (QUADRIX / CRA-PR – 2022) O deep learning pode ser definido como sendo a aplicação de
uma quantidade massiva de camadas de processamento em um algoritmo de rede neural.
a) 1778
b) 1779
c) 1780
d) 1781
e) 1782
140. (AOCP / MJSP – 2020) Um cientista de dados necessita estimar a precisão preditiva de um
classificador medindo essa precisão para uma amostra de dados ainda não utilizada. Quais são
as três estratégias principais, comumente usadas para isso, que o cientista de dados pode
utilizar?
141. (FUNDATEC / GHC-RS – 2020 – Letra B) A curva ROC (Receiver Operator Characteristic) é
uma forma de expressar graficamente a relação entre a sensibilidade e a especificidade. Para
construí-la, deve-se plotar a taxa de verdadeiros positivos (sensibilidade) contra a taxa de
verdadeiros negativos (especificidade).
142. (FUNDATEC / Prefeitura de Porto Mauá/RS – 2019) A curva ROC (Característica Operatória
do Receptor) é uma técnica gráfica para quantificar a acurácia de um teste diagnóstico e ilustrar
o contrabalanço entre:
a) A prevalência e a incidência.
b) A sensibilidade e a especificidade.
c) O valor preditivo positivo e a incidência.
d) O valor preditivo negativo e a prevalência.
e) A variável preditora e a variável antecedente.
145. (FUNDATEC / Prefeitura de Vacaria/RS – 2016 – Item III) A Curva ROC é construída
levando-se em consideração a taxa de verdadeiro-positivos contra a taxa de falso-positivos. Os
valores nos eixos representam medidas de probabilidade, variando de 0 a 1.
146. (ESAF / ANAC – 2016) A redução da dimensionalidade de uma base de dados altamente
correlacionados é objetivo da Análise:
a) de Componentes Principais.
b) de Campos de Prioridades.
c) de Componentes de Regressão.
d) Dimensional de Covariância.
e) Interativa de Componentes.
b) A redução dos espaços de variação dos dados em relação a seus espaços originais.
149. (PROF. DIEGO / INÉDITA – 2024) A inteligência artificial (IA) é um campo da ciência da
computação que se concentra exclusivamente no desenvolvimento de sistemas capazes de
realizar tarefas que requerem força física humana.
150. (PROF. DIEGO / INÉDITA – 2024) O termo "inteligência artificial" foi cunhado por John
McCarthy em 1956, com o objetivo de descrever máquinas que podem imitar comportamentos
considerados inteligentes.
151. (PROF. DIEGO / INÉDITA – 2024) Machine learning é um subcampo da inteligência artificial
que permite a máquinas aprenderem com dados sem serem explicitamente programadas para
cada tarefa específica.
152. (PROF. DIEGO / INÉDITA – 2024) As redes neurais e deep learning representam técnicas
obsoletas na inteligência artificial que foram substituídas por métodos mais modernos e
eficientes.
153. (PROF. DIEGO / INÉDITA – 2024) Qual dos seguintes subcampos da IA tem a função
principal de desenvolver sistemas capazes de entender e gerar linguagem humana?
a) Robótica
b) Visão computacional
c) Machine learning
d) Processamento de linguagem natural (PLN)
e) Inteligência artificial generativa
154. (PROF. DIEGO / INÉDITA – 2024) Qual técnica de IA é utilizada para criar conteúdo novo e
original, como texto, imagens, música e vídeo?
a) Machine learning
b) Redes neurais
c) Inteligência artificial generativa
d) Visão computacional
e) Robótica
155. (PROF. DIEGO / INÉDITA – 2024) Qual das seguintes afirmações descreve melhor a robótica
dentro do contexto da inteligência artificial?
156. (PROF. DIEGO / INÉDITA – 2024) Em que consiste o deep learning dentro do contexto da
inteligência artificial?
b) Na utilização de redes neurais superficiais com poucas camadas para tarefas simples de
classificação.
157. (PROF. DIEGO / INÉDITA – 2024) A inteligência artificial se limita à criação de programas
que executam tarefas físicas semelhantes às humanas.
159. (PROF. DIEGO / INÉDITA – 2024) A programação tradicional requer que um programador
escreva manualmente as regras que o computador deve seguir para processar dados e produzir
resultados.
164. (PROF. DIEGO / INÉDITA – 2024) Qual dos seguintes melhor descreve o aprendizado de
máquina?
165. (PROF. DIEGO / INÉDITA – 2024) O que é deep learning dentro do contexto do aprendizado
de máquina?
166. (PROF. DIEGO / INÉDITA – 2024) Durante qual etapa do aprendizado de máquina o modelo
é ajustado para melhor representar os dados fornecidos?
a) Inferência
b) Programação manual
c) Treinamento
d) Validação
e) Execução
167. (PROF. DIEGO / INÉDITA – 2024) Qual dos seguintes NÃO é uma característica do
aprendizado de máquina?
169. (PROF. DIEGO / INÉDITA – 2024) Uma das aplicações do aprendizado supervisionado é a
classificação de e-mails como spam ou não spam.
170. (PROF. DIEGO / INÉDITA – 2024) O aprendizado supervisionado é apenas aplicável para
tarefas de classificação, não sendo adequado para problemas de regressão.
172. (PROF. DIEGO / INÉDITA – 2024) Qual dos seguintes é um exemplo de problema que pode
ser resolvido com aprendizado supervisionado?
173. (PROF. DIEGO / INÉDITA – 2024) No aprendizado supervisionado, o que significa o termo
"rótulo"?
174. (PROF. DIEGO / INÉDITA – 2024) Qual das seguintes tarefas é um exemplo típico de
regressão no contexto do aprendizado supervisionado?
175. (PROF. DIEGO / INÉDITA – 2024) Quais são os dois principais tipos de problemas abordados
pelo aprendizado supervisionado?
a) Agrupamento e classificação.
b) Regressão e detecção de anomalias.
c) Classificação e regressão.
d) Detecção de anomalias e agrupamento.
e) Reforço e supervisão.
176. (PROF. DIEGO / INÉDITA – 2024) Qual das seguintes afirmações melhor descreve o
aprendizado supervisionado?
181. (PROF. DIEGO / INÉDITA – 2024) O aprendizado não-supervisionado é mais adequado que
o aprendizado supervisionado para explorar dados quando não se tem uma ideia clara de quais
padrões os dados podem conter.
182. (PROF. DIEGO / INÉDITA – 2024) Qual das seguintes é uma característica do aprendizado
não-supervisionado?
183. (PROF. DIEGO / INÉDITA – 2024) O que é agrupamento no contexto do aprendizado não-
supervisionado?
184. (PROF. DIEGO / INÉDITA – 2024) Qual é uma possível limitação do aprendizado não-
supervisionado?
185. (PROF. DIEGO / INÉDITA – 2024) Em que situação o aprendizado não-supervisionado seria
preferível ao aprendizado supervisionado?
a) Quando se tem um conjunto de dados extensamente rotulado e uma tarefa de previsão clara.
b) Quando se deseja explorar os dados para identificar padrões sem saber de antemão o que
procurar.
c) Quando o objetivo é classificar novos exemplos com base em rótulos conhecidos.
d) Para tarefas que requerem a previsão exata de valores contínuos.
e) Quando há uma necessidade de supervisão constante para ajustar os parâmetros do modelo.
187. (PROF. DIEGO / INÉDITA – 2024) No aprendizado por reforço, ações que levam a resultados
positivos são recompensadas para encorajar a repetição dessas ações.
189. (PROF. DIEGO / INÉDITA – 2024) Qual é o principal benefício do aprendizado semi-
supervisionado em comparação com o aprendizado supervisionado?
190. (PROF. DIEGO / INÉDITA – 2024) O que caracteriza o aprendizado por reforço?
191. (PROF. DIEGO / INÉDITA – 2024) Redes Neurais Artificiais necessitam obrigatoriamente de
estruturas e funções idênticas às dos neurônios biológicos para funcionar.
192. (PROF. DIEGO / INÉDITA – 2024) As Redes Neurais Artificiais são incapazes de realizar
tarefas de reconhecimento de voz.
193. (PROF. DIEGO / INÉDITA – 2024) Deep Learning refere-se especificamente a redes neurais
que contêm apenas uma camada oculta.
194. (PROF. DIEGO / INÉDITA – 2024) A capacidade de uma rede neural de processar
informações complexas deriva da interação de um grande número de neurônios simples.
195. (PROF. DIEGO / INÉDITA – 2024) Qual das seguintes afirmações melhor descreve a função
de um neurônio artificial?
196. (PROF. DIEGO / INÉDITA – 2024) O que caracteriza o Deep Learning dentro do contexto das
Redes Neurais Artificiais?
197. (PROF. DIEGO / INÉDITA – 2024) O que é necessário para treinar uma Rede Neural Artificial?
198. (PROF. DIEGO / INÉDITA – 2024) Por que as Redes Neurais Artificiais são consideradas
poderosas ferramentas de aprendizado de máquina?
199. (PROF. DIEGO / INÉDITA – 2024) O Processamento de Linguagem Natural é um campo que
combina ciência da computação com linguística.
201. (PROF. DIEGO / INÉDITA – 2024) O PLN torna possível para os computadores gerar texto
em linguagem natural.
202. (PROF. DIEGO / INÉDITA – 2024) Chatbots modernos são exclusivamente baseados em
regras pré-programadas para responder a usuários.
203. (PROF. DIEGO / INÉDITA – 2024) A tokenização é uma tarefa que só ocorre no estágio de
pré-processamento no PLN.
204. (PROF. DIEGO / INÉDITA – 2024) Qual dos seguintes melhor descreve o objetivo do
Processamento de Linguagem Natural?
205. (PROF. DIEGO / INÉDITA – 2024) Qual das seguintes etapas NÃO é parte do processo de
análise em Processamento de Linguagem Natural?
a) Análise Lexical
b) Análise de Malware
c) Análise Sintática
d) Análise Semântica
e) Análise Pragmática
207. (PROF. DIEGO / INÉDITA – 2024) Qual é a função da análise semântica no Processamento
de Linguagem Natural?
208. (PROF. DIEGO / INÉDITA – 2024) Qual das seguintes afirmações é VERDADEIRA sobre o
uso de Machine Learning em PLN?
209. (PROF. DIEGO / INÉDITA – 2024) O aprendizado profundo (Deep Learning) não tem
aplicação no campo do Processamento de Linguagem Natural (PLN).
211. (PROF. DIEGO / INÉDITA – 2024) As regras gramaticais e de estrutura de frases são
irrelevantes para o processamento de linguagem natural.
212. (PROF. DIEGO / INÉDITA – 2024) Chatbots modernos são capazes de aprender e melhorar
suas respostas apenas através de programação direta e não por meio de interações.
213. (PROF. DIEGO / INÉDITA – 2024) A tokenização é o processo de transformar som falado em
texto escrito.
215. (PROF. DIEGO / INÉDITA – 2024) A modelagem de conhecimento no PLN não contribui para
o desenvolvimento de sistemas capazes de responder perguntas.
216. (PROF. DIEGO / INÉDITA – 2024) Análise semântica e análise gramatical são processos
idênticos no processamento de linguagem natural.
218. (PROF. DIEGO / INÉDITA – 2024) Análise de sentimentos pode ser aplicada para determinar
a opinião pública sobre tópicos políticos em redes sociais.
GABARITO
1. LETRA B 42. CORRETO 83. CORRETO
2. CORRETO 43. CORRETO [Link] A
3. ERRADO [Link] 85. CORRETO
4. CORRETO 45. CORRETO 86. ERRADO
5. CORRETO [Link] 87. CORRETO
6. ERRADO 47. LETRA A 88. CORRETO
7. CORRETO [Link] E 89. CORRETO
8. LETRA C [Link] [Link] C
9. CORRETO 50. ERRADO 91. LETRA C
10. ERRADO 51. ERRADO 92. LETRA A
11. ERRADO 52. CORRETO 93. LETRA B
12. ERRADO 53. ANULADO [Link] D
13. CORRETO 54. ERRADO 95. LETRA B
14. CORRETO 55. CORRETO 96. LETRA B
15. CORRETO 56. CORRETO 97. LETRA D
16. ERRADO 57. CORRETO 98. LETRA D
17. CORRETO 58. ERRADO 99. LETRA C
18. CORRETO 59. CORRETO 100. LETRA B
19. ERRADO [Link] 101. LETRA E
20. ERRADO 61. ERRADO 102. LETRA D
21. ERRADO 62. CORRETO 103. LETRA A
22. ERRADO 63. CORRETO 104. LETRA C
23. ERRADO [Link] 105. ANULADO
24. CORRETO 65. CORRETO 106. LETRA C
25. ERRADO 66. CORRETO 107. LETRA C
26. CORRETO 67. CORRETO 108. LETRA D
27. ERRADO 68. ERRADO 109. LETRA B
28. ERRADO 69. CORRETO 110. LETRA B
29. ERRADO 70. ERRADO 111. LETRA E
30. LETRA E 71. ERRADO 112. LETRA E
31. CORRETO 72. CORRETO 113. LETRA C
32. CORRETO 73. ERRADO 114. LETRA C
33. CORRETO 74. ERRADO 115. LETRA A
34. ERRADO 75. CORRETO 116. LETRA D
35. ERRADO 76. CORRETO 117. LETRA E
36. ERRADO 77. CORRETO 118. LETRA B
37. CORRETO 78. ERRADO 119. LETRA A
38. ERRADO 79. ERRADO 120. LETRA D
39. CORRETO [Link] 121. LETRA A
40. CORRETO 81. CORRETO 122. LETRA E
41. ERRADO 82. ERRADO 123. LETRA D
124. LETRA E
125. LETRA B
126. LETRA E
127. LETRA A
128. LETRA D
129. LETRA C
130. ERRADO
131. CORRETO
132. LETRA A
133. LETRA D
134. CORRETO
135. CORRETO
136. ERRADO
137. ERRADO
138. CORRETO
139. LETRA C
140. LETRA A
141. ERRADO
142. LETRA B
143. LETRA A
144. CORRETO
145. CORRETO
146. LETRA A
147. LETRA A
148. LETRA A