Buscar

Livro técnicas utilizadas em ciência de dados e big data

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

INTRODUÇÃO 
A CIÊNCIA DE 
DADOS 
Luiz Fernando Calaça Silva 
Técnicas utilizadas em 
ciência de dados e big data
Objetivos de aprendizagem
Ao final deste texto, você deve apresentar os seguintes aprendizados:
  Reconhecer as técnicas utilizadas nos processos de ciência de dados.
  Aplicar o aprendizado de máquina (machine learning).
  Explicar o conceito de aprendizagem profunda (deep learning).
Introdução
A extração de conhecimento é um trabalho necessário diante de um 
conjunto de dados a serem analisados. O que eles significam e o que têm 
a mostrar sobre a realidade é objeto de estudo de vários pesquisadores, 
alunos e profissionais. Assim, há diversas técnicas baseadas em inteligên-
cia artificial que podem ser aplicadas no contexto de ciência de dados, 
permitindo-nos observar melhor e aprender com os dados disponíveis.
Dentro desse contexto estão o aprendizado de máquina (ou machine 
learning) e as redes neurais. Existe ainda o conceito de deep learning, 
um termo específico, dentro do aprendizado de máquina, que oferece 
maior capacidade de processamento dos dados. Essas técnicas simulam 
o aprendizado humano, os dados são o seu fomento para a descoberta 
de informações. 
Neste capítulo, você estudará as técnicas utilizadas em ciências de 
dados. Além disso, verá a aplicação do aprendizado de máquina, e lerá 
sobre os conceitos de aprendizagem profunda.
1 Técnicas utilizadas em ciência de dados
A ciência de dados faz parte de um contexto abrangente, cujo processo é com-
posto pelas fases de coleta, armazenamento, análise, descarte, processamento 
e visualização da informação. Com isso, os dados brutos se tornam conhecidos 
e podem ter esse conhecimento extraído deles. Desse modo, existem técnicas 
específi cas em ciência de dados que permitem o tratamento e a extração de 
informações.
Nesse sentido, o aprendizado de máquina se refere a um contexto inteligente, 
capaz de obter, de forma automática, conhecimento a partir de dados. O intuito 
dessa técnica é simular o processo de aprendizagem humana e ter os mesmos 
insights que um humano teria — porém, trata-se de um conhecimento adquirido 
de forma artificial, por uma máquina. Atualmente, sabe-se que, para tarefas 
específicas, a máquina pode ser até mais eficaz e eficiente que o ser humano.
Segundo Ventura (2010), as nossas funções locomotoras e sensoriais, a 
aprendizagem e a memória são objeto de pesquisa em inteligência artificial. 
Ferramentas tecnológicas são utilizadas para entender os sistemas biológicos 
como fonte de inspiração para o desenvolvimento de soluções. Assim, tem-se 
a aplicação de modelos biologicamente inspirados em áreas como engenharia, 
indústria, transporte, entre outras.
O aprendizado de máquina tem aplicações em vários âmbitos da sociedade 
e pode auxiliar diversos segmentos nas suas tarefas. Além disso, como pontua 
Amaral (2016), a ciência de dados é composta por várias outras ciências, mo-
delos, tecnologias, processos e procedimentos relacionados aos dados. Dentro 
do contexto do aprendizado de máquina, estão as redes neurais, que se baseiam 
em neurônios artificiais, em referência aos biológicos, conforme a Figura 1. 
As redes neurais se inspiram no funcionamento anatômico e fisiológico, a fim 
de se assemelhar à aprendizagem humana.
Figura 1. O neurônio biológico.
Fonte: Redes... (2005, documento on-line).
Técnicas utilizadas em ciência de dados e big data2
Assim, técnicas em ascensão no contexto de ciência de dados e inteligência 
artificial estão ligadas ao uso do aprendizado de máquina e das redes neurais. 
Elas são baseadas na descoberta de conhecimento a partir de um conjunto de 
dados, que pode ser variado, contendo imagens, textos, arquivos em formato 
tabular, entre outros.
2 Aplicação do aprendizado de máquina
Dentro do contexto matemático, temos que a indução é a forma de inferência 
lógica, em que podemos obter conclusões sobre um conjunto específi co de 
exemplos. Ela parte de um princípio inicial e o generaliza para todo o conjunto. 
Como se baseia em hipóteses, ela pode conter inferências errôneas e, portanto, 
pode não representar a verdade.
Da mesma forma, podemos realizar a aprendizagem a partir de um con-
junto de dados usando a indução. Segundo Monard e Baranauskas (2003), 
o aprendizado indutivo ocorre a partir de raciocínios e inferências sobre 
exemplos fornecidos ao sistema de aprendizado. O aprendizado indutivo 
pode ser dividido em supervisionado e não supervisionado. No aprendi-
zado supervisionado, fornece-se ao algoritmo de aprendizado (ou indutor) 
um conjunto de exemplos de treinamento para os quais o rótulo da classe 
associada é conhecido.
Já no aprendizado não supervisionado, o indutor analisa as amostras 
fornecidas e tenta verificar se elas podem ser organizadas de alguma maneira, 
formando agrupamentos ou clusters. Após a indicação dos agrupamentos, em 
geral é necessária uma análise para inferir o que cada agrupamento significa no 
contexto do problema. Além disso, há ainda o aprendizado por reforço, que 
se baseia no estado do conjunto de dados, conforme você verá na sequência.
Segundo Monard e Baranauskas (2003), há diversos paradigmas de apren-
dizado de máquina:
  o simbólico se utiliza da lógica booleana;
  o estatístico usa técnicas matemáticas do contexto;
  o genético utiliza modelos evolucionários; 
  as redes neurais se baseiam nos neurônios artificiais.
3Técnicas utilizadas em ciência de dados e big data
Aprendizado supervisionado
O aprendizado supervisionado tem esse nome porque o indutor tem o objetivo 
de extrair um modelo de generalização a partir de dados de entrada rotulados. 
Assim, dado um conjunto de entrada de dados conhecidos, já se sabe qual é 
a saída esperada.
Nesse sentido, ao enviarmos novos dados para esse indutor, que apren-
deu com os dados iniciais, esperamos que ele possa compreender os novos, 
de acordo com os rótulos aprendidos. Por exemplo, um técnico de futebol 
aprende a partir de dados de times adversários; assim, quando há um novo jogo, 
espera-se que ele saiba manejar a sua equipe, já que conheceu previamente 
as jogadas do oponente.
Usando técnicas do aprendizado de máquina, podemos resolver proble-
mas de regressão ou de classificação. O problema de regressão (Figura 2a) 
ocorre quando precisamos prever o resultado em uma saída contínua. Assim, 
o objetivo é mapear as variáveis de entrada em uma função contínua. Já o de 
classificação (Figura 2b) se coloca quando estamos tentando prever o resultado 
em uma saída discreta. 
Figura 2. Problema de regressão (a) e problema de classificação (b).
Fonte: Kasturi (2019, documento on-line).
Os algoritmos de regressão linear, regressão logística, SVM (Support 
Vector Machine), KNN (K-Nearest Neighbors), árvores de decisão, Naïve 
Bayes, entre outros são bastante utilizados para os problemas de classificação 
Técnicas utilizadas em ciência de dados e big data4
e regressão. A regressão linear é uma análise que tem o intuito de gerar uma 
função linear para descrever a relação entre os dados, de forma que se possa 
estimar uma variável numérica por meio da função gerada. A regressão logística 
é semelhante à linear, mas a variável estimada será categórica. 
O SVM foi proposto por Buser et al. (1992) e utiliza o conceito de planos 
de decisão em um espaço multidimensional utilizando uma função kernel, 
que é ajustada de forma a generalizar o modelo. O KNN foi proposto por Fix 
e Hodges (1951), como um algoritmo simples que gera um modelo baseado 
nos dados e nos seus vizinhos. 
As árvores de decisão são um conjunto de raízes e de nós que se orga-
nizam como um fluxograma de deliberações, a fim de se consolidar um 
modelo. Pode-se ter inúmeras árvores para um dado conjunto, ao ponto de 
haver famílias de árvores de decisão. Por último, o Naïve Bayes, dentro do 
contexto do aprendizado de máquina, tem a aplicação direta do teorema 
com o mesmo nome. Assim, o intuito é encontrar uma probabilidade, dado 
que já ocorreu algo.
Para facilitar o
entendimento, veja um exemplo de predição de valores imobiliários. A 
imobiliária Casa Nova tem, na sua base de dados, cinco mil imóveis (casas) de diferentes 
tamanhos. Ao receber novas casas para disponibilizá-las para aluguéis, ela faz uma 
estimativa do valor que poderá ser cobrado pelo tamanho da casa. Assim, na sua base, 
ela tem os tamanhos e os valores já praticados no mercado. Quando aparece uma 
casa nova, há uma estimativa baseada naquela base de dados.
Nesse exemplo, temos os dados rotulados de saída dentro da base de dados. Assim, 
esse mapeamento será para uma saída de valores contínuos: o valor do aluguel da casa. 
Logo, trata-se de um problema de regressão. Para realizar a regressão, poderíamos 
utilizar a regressão logística, por exemplo.
No exemplo anterior, você viu uma aplicação prática do aprendizado de 
máquina em um problema de regressão. A seguir, veja outro exemplo prático, 
dessa vez lidando com um problema de classificação.
5Técnicas utilizadas em ciência de dados e big data
Nesse exemplo, busca-se identificar diagnósticos de tumor no pulmão ou de 
pneumonia. O hospital Newton Houston tem na sua base diversos raios-X de 
pacientes que tiveram como diagnóstico câncer no pulmão ou pneumonia. O 
hospital quer criar um sistema que possa aprender o diagnóstico, ao ser apresentado 
a novas imagens.
Temos os dados rotulados de saída dentro da base de dados, e esse mapeamento 
será para uma saída de valores discretos: câncer (1) ou pneumonia (0). Logo, trata-se 
de um problema de classificação. Para realizar a classificação, poderíamos utilizar o 
Naïve Bayes, por exemplo.
Aprendizado não supervisionado
No aprendizado não supervisionado, temos um conjunto de dados não 
rotulados — e, portanto, o indutor não tem conhecimento inicial das classes 
envolvidas. Assim, dado um conjunto de entrada de dados, nós não sabemos 
qual é a saída esperada. Um tipo de abordagem bastante utilizado nesse 
contexto é o de clusterização (agrupamento), conforme a Figura 3. Nessa 
abordagem, ocorre o agrupamento dos dados conforme características 
em comum.
Figura 3. Clusterização: agrupamento por características comuns 
que representam um grupo.
Fonte: IDD (2015, documento on-line).
Técnicas utilizadas em ciência de dados e big data6
Veja um exemplo em que se busca agrupar pesquisas acadêmicas de diversas univer-
sidades. A equipe de ciência de dados do Governo do Estado precisa considerar os 
assuntos tratados pelos artigos científicos produzidos por 30 universidades residentes 
no seu território. O intuito é mostrar estatísticas da produção intelectual por assunto 
e fomentar políticas públicas para que áreas pouco exploradas possam ascender no 
meio acadêmico.
Não temos os dados rotulados de saída dentro da base de dados. Portanto, esse 
mapeamento será oriundo de um possível agrupamento, por exemplo, utilizando 
a frequência de palavras em um artigo e o classificando para determinado assunto, 
se aquele conjunto for relativo a uma área do conhecimento. Assim, o algoritmo de 
clusterização pode atuar agrupando dados que não estão rotulados.
Aprendizado por reforço e as cadeias de Markov
O aprendizado por reforço é a terceira abordagem, na qual a máquina aprende 
tomando decisões circunstanciais e aprendendo com elas. Se tomar uma deci-
são correta, recebe uma pontuação positiva (recompensa), reforçando aquele 
comportamento. Caso contrário, recebe uma pontuação negativa (punição), 
reforçando que aquela decisão foi errônea naquela circunstância.
Um exemplo disso é o jogo Skiing, do antigo console Atari, como mostra a 
Figura 4. Nesse jogo, é necessário esquiar e evitar os obstáculos, como árvores, 
bandeiras e outras partes que façam o jogador perder o equilíbrio. Usando 
um algoritmo baseado em aprendizado por reforço, se o jogador se mover e 
ultrapassar o obstáculo sem se desequilibrar, então é recompensado; se cair, 
é penalizado. Assim, reforçam-se os comportamentos corretos e punem-se os 
errados, para que a máquina aprenda a ter êxito no jogo.
Vale pontuar a teoria matemática das cadeias de Markov, proposta 
pelo matemático russo Andrey Andreyevich Markov (1856–1922), em 
comparação com o aprendizado por reforço. Essa teoria afirma que um caso 
particular do processo estocástico é caracterizado pelo fato de que o seu 
estado futuro depende apenas do seu estado atual — e não dos fatos passa-
dos. Em resumo, os estados anteriores são irrelevantes para a predição dos 
estados seguintes, desde que o estado atual e as possibilidades de atuação 
sejam conhecidos.
7Técnicas utilizadas em ciência de dados e big data
Figura 4. Jogo Atari Skiing.
Fonte: OpenAi ([202-?], documento on-line).
3 Conceitos de aprendizagem profunda
Os dados de entrada, os pesos e os respectivos ajustes, o bias, a função de 
ativação e a minimização do erro por uma função de custo são processos im-
portantes das redes neurais. Nesse sentido, a teoria da perceptron acompanha 
fortemente o contexto.
Segundo H. D. Block (1962), uma perceptron pode ser definida como um 
modelo matemático que recebe várias entradas que serão ponderadas por pesos. 
A soma desses termos será a entrada da função de ativação, que demonstra 
se o neurônio será ativado ou não.
Ao observarmos a perceptron como o início de uma rede neural, temos 
os dados de entrada, sobre os quais desejamos que a rede aprenda algo. Os 
pesos ponderam esses dados de entrada de determinada forma. Lembrando o 
conceito matemático de “ponderar”, estamos dando “importâncias” para cada 
dado. Dentro da perceptron, temos o parâmetro bias, que é o aprendizado 
inicial, isto é, o ponto de onde partimos.
Como mostrado na Figura 5, os dados de entrada x1 e x2 serão multiplicados 
pelos pesos w1 e w2, e os resultados serão somados. Há uma função de ativação 
f(x), que dita se aquele resultado ativa ou não ativa o neurônio. Assim, a partir 
dela, temos a saída da perceptron.
Técnicas utilizadas em ciência de dados e big data8
Figura 5. Representação da perceptron.
Fonte: Redes... (2005, documento on-line). 
Em 1975, Werbos realizou experimentos conectando alguns neurônios e 
criando camadas de vários deles, como mostra a Figura 6. Assim, o aprendizado 
ia sendo repassado entre eles. Imagine que cada bolinha azul na Figura 6 é 
uma perceptron, tendo pesos de entrada e repassando o seu sinal por meio da 
função de ativação até a saída.
Figura 6. Várias camadas e diversos neurônios: camadas profundas (deep).
Fonte: all_is_magic/Shutterstock.com.
9Técnicas utilizadas em ciência de dados e big data
Nesse contexto, as redes neurais profundas (deep learning) são um sub-
tópico dentro do aprendizado de máquina, e se caracterizam por conter uma 
quantidade de camadas e neurônios superior ao contexto de machine learning. 
O objetivo de se ter mais camadas é, de fato, obter uma aprendizagem mais 
efetiva, de forma que a rede neural consiga aprender mais características e 
padrões daquele conjunto de dados. 
Os dados são passados de camada para camada, até chegarem à sua saída. 
A primeira camada é a entrada, e a última é a saída — todas as camadas 
entre as duas são denominadas camadas ocultas. Entre cada camada, o sinal 
é propagado por meio da função de ativação. A aprendizagem profunda é 
precursora em diversas soluções das áreas de reconhecimento de fala, visão 
computacional, carros autônomos e diversas outras.
Os conceitos de treinamento e aprendizagem 
de uma rede neural
A rede neural consegue aprender com o erro de saída da função de ativação, 
ajustando os pesos para que esse erro seja minimizado. A função de custo 
é a responsável por minimizar o erro da saída da rede neural. Então, o 
intuito é fazer um movimento de ida ( forward) e um de volta (backward). 
Na ida, entram os dados, que são multiplicados pelos pesos iniciais. E, 
ao final da rede há a saída pela função de ativação. Ao chegar à saída, a 
rede pode ver que houve um erro e que o resultado não corresponde ao 
esperado. Assim, precisa fazer a volta para ajustar os pesos, até
que o erro 
seja mínimo.
Normalmente, dividimos os dados de entrada disponíveis para a aprendiza-
gem de máquina em conjuntos de treino, teste e validação, e cada um participa 
de uma fase da rede neural. Ao realizar o treinamento, o nosso modelo pode 
ter um sobreajuste (overfitting), um subajuste (underfitting), ou pode ser um 
modelo equilibrado (balanced), conforme a Figura 7. 
O sobreajuste ocorre quando o modelo memoriza os dados do conjunto de 
treino e, portanto, não consegue predizer nada sobre novos dados que entra-
rem na rede. Já o subajuste ocorre quando o modelo criado pela rede neural 
fica aquém do esperado e aprende muito pouco sobre os dados. O modelo 
equilibrado é esperado quando, a partir da etapa de treinamento, o modelo 
aprende sobre os dados e consegue inferir sobre dados novos que possam ser 
apresentados à rede neural.
Técnicas utilizadas em ciência de dados e big data10
Figura 7. Gráficos que representam modelos subajustados, balanceados e sobreajustados.
Fonte: Kasturi (2019, documento on-line).
Os hiperparâmetros em uma rede neural
Os hiper parâmetros são parâmetros de redes neurais que devem ser defi nidos antes 
de treinar o modelo. Eles são responsáveis pela arquitetura geral de treinamento 
e por variáveis que contribuem diretamente para o aprendizado de máquina. O 
número de neurônios, a quantidade de camadas, a função de ativação e de custo, a 
inicialização dos pesos e bias, a quantidade de dados de treinamento são exemplos 
de hiperparâmetros — e são muito importantes nos contextos das redes neurais.
Os hiperparâmetros têm papel fundamental no treinamento de uma rede neural e na 
sua acurácia para determinado problema.
Como demonstra Syarif, Prugel-Bennett e Wills (2016), a técnica do grid 
search pode ser utilizada para a otimização dos hiperparâmetros dentro do 
aprendizado de máquina.
11Técnicas utilizadas em ciência de dados e big data
Os assistentes pessoais, aos quais recorremos com frequência no cotidiano, como o 
Google Home e o Alexa Amazon, tiveram a sua ascensão devido ao aprimoramento 
da inteligência artificial e, especificamente, ao uso de redes neurais recorrentes para 
o processamento de língua natural.
Neste capítulo, você viu o comparativo entre os neurônios biológicos e 
artificiais, as redes neurais e os diversos tipos de aprendizado de máquina: 
supervisionado, não supervisionado e por reforço. Além disso, estudou também 
vários algoritmos e os conceitos de deep learning.
AMARAL, F. Introdução à ciência de dados: mineração de dados e big data. Rio de 
Janeiro: Alta Books, 2016.
BLOCK, H. D. The perceptron: a model for brain functioning. Reviews of Modern Physics, 
v. 34, n. 1, 1962. Disponível em: https://journals.aps.org/rmp/abstract/10.1103/RevMo-
dPhys.34.123. Acesso em: 5 maio 2020.
IDD. Clusterização: serviços. São Paulo: [S. n.], 2015. Disponível em: http://www.inteli-
genciadedados.com.br/clusterizacao/. Acesso em: 5 maio 2020
KASTURI, S. N. Underfitting and Overfitting in machine learning and how to deal 
with it!!! In: TOWARDS. [S. l.: s. n.], 2019. Disponível em: https://towardsdatascience.
com/underfitting-and-overfitting-in-machine-learning-and-how-to-deal-with-it-
-6fe4a8a49dbf. Acesso em: 5 maio 2020.
MONARD, M. C.; BARANAUSKAS, J. A. Conceitos sobre aprendizado de máquina. In: 
REZENDE, S. O. Sistemas inteligentes: fundamentos e aplicações. Barueri: Manole, 2003.
OPENAI. Skiing-ram-v0. [S. l.: s. n., 202-?]. Disponível em: https://gym.openai.com/envs/
Skiing-ram-v0/. Acesso em: 5 maio 2020.
REDES neurais artificiais. In: LET’S CODE. São Paulo: [S. n.], 2005. Disponível em: https://
letscode-academy.com/blog/redes-neurais-artificias/. Acesso em: 5 maio 2020.
SYARIF, I.; PRUGEL-BENNETT, A.; WILLS, G. SVM parameter optimization using grid 
search and genetic algorithm to improve classification performance. Telkomnika, v. 
14, n. 4, 2016. Disponível em: http://journal.uad.ac.id/index.php/TELKOMNIKA/article/
view/3956/3028. Acesso em: 5 maio 2020.
Técnicas utilizadas em ciência de dados e big data12
VENTURA, D. F. Um retrato da área de neurociência e comportamento no Brasil. Psi-
cologia: Teoria e Pesquisa, v. 26, 2010. Disponível em: https://www.scielo.br/scielo.
php?script=sci_abstract&pid=S0102-37722010000500011&lng=pt&nrm=iso&tlng=pt. 
Acesso em: 5 maio 2020.
FIX, E.; HODGES, J. L. Discriminatory analysis, nonparametric discrimination: Consis-
tency properties,” Technique Report No. 4, U.S. Air Force School of Aviation Medicine, 
Randolf Field Texas, 1951
13Técnicas utilizadas em ciência de dados e big data

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando