Dados

O que é aprendizagem de máquina?

Como escrevi há algum tempo, a profissão de Cientista de Dados tem se tornado a mais procurada tanto por profissionais da área...

Written by Eduardo Santos · 4 min read >
Criança sentadas como robô tendo livros inseridos em suas cabeças por uma máquina

Como escrevi há algum tempo, a profissão de Cientista de Dados tem se tornado a mais procurada tanto por profissionais da área de Computação como por empresas. Afirmações tais como “data is the new oil” aumentaram a sensação de valor, impulsionando a carreira como um todo. Junto com o crescimento do interesse na área, alguns dos temas presentes na rotina dos profissionais também são naturalmente mais discutidos, sendo aprendizagem de máquina a grande fórmula mágica capaz de revolucionar todos os modelos de negócio. Sem entrar na questão das buzzwords, não há dúvidas que o tema é de fato importante para quem trabalha na área. Mas por quê? Qual a magia que um cientista de dados pode fazer utilizando a incrível aprendizagem de máquina (machine learning em inglês)?

Definições

Ao falar sobre aprendizagem de máquina é preciso pressupor que existe um elemento físico (máquina) que está aprendendo alguma coisa. Mas o que seria então esse aprendizado? Comecemos então pela definição do dicionário Michaelis:

Processo por meio do qual uma nova informação é incorporada à estrutura cognitiva do indivíduo, por se relacionar a um aspecto relevante dessa estrutura. Esse novo conteúdo poderá modificar aquele já existente, dando-lhe outros significados.

O conceito de estrutura cognitiva está muito mais relacionado à psicologia, assim como indivíduo, e o Doutor André é muito mais gabaritado do que eu para tocar nesse assunto. Comecemos então criando uma abstração de estrutura cognitiva, no caso computacional, sobre a qual será adicionada alguma informação.  Contudo, somente adicionar dados não parece necessariamente trazer uma ideia de aprendizado (bancos de dados já fazem isso há muito tempo): é preciso encontrar relacionamento, em especial com um aspecto relevante da estrutura existente.

Perceba, contudo, que mais do que apenas adicionar relacionamentos, o conceito de aprendizagem permite também modificar a estrutura já existente. É necessário então que um processo que se proponha a ensinar seja capaz de alterar a abstração que definimos como estrutura cognitiva acima. Não se trata, porém, de simples mudança estética ou superficial, ela precisa ser capaz de ressignificar a estrutura cognitiva inicial, criando uma nova entidade como resultado desse processo.

Assim, chegamos a três elementos importantes que permitem definir aprendizagem a partir de uma estrutura cognitiva preexistente, que vamos apenas abstrair, por enquanto:

  1. Descoberta de relacionamentos
  2. Definição de aspectos relevantes
  3. Modificação da estrutura preexistente e ressignificação

Descoberta de relacionamentos

A descoberta de relacionamentos é a tarefa principal da área que conhecemos como Mineração de Dados, que tem sua origem no termo KDD – Knowledge Discovery on Databases [2]. Os autores defendem que:

KDD é um campo que se preocupa com o desenvolvimento de métodos e técnicas para extrair conhecimento dos dados.

Aqui é importante um pouco de contexto: em meados dos anos 90 tínhamos uma grande quantidade de sistemas baseados em bancos de dados, em sua maioria relacionais, armazenando dados há algumas décadas. Se pensarmos no sistema financeiro, estamos falando de mais de 50 anos de informações transacionais armazenadas em bancos de dados relacionais.

Sempre houve a necessidade de se extrair algum conhecimento desses dados, sejam os antigos “relatórios”, que hoje conhecemos como planilhas, sejam em análises mais complexas. Para todos os casos duas premissas são necessárias: análise manual e interpretação. A interpretação mora exatamente na fronteira onde encontramos relacionamentos entre os dados e as perguntas.

Definição de aspectos relevantes

O próprio conceito de relevância está diretamente relacionado ao uso que se pretende fazer dos dados. Alguns autores defendem que os dados devem trazer alguma “vantagem significativa, como vantagem econômica” [1]. Outros entendem como “padrões e regras significativos” [3], sendo a significância um conceito mais próximo da estatística. Em ambos os casos entende-se que deve-se haver algum objetivo para poder definir o limite da relevância.

Trazendo para o campo científico, também podemos entender a relevância do ponto de vista de validação de hipóteses. Costumo dizer para os alunos que a única forma de se provar que algo é verdadeiro na ciência é tentar exaustivamente provar que é falso e não conseguir, dentro das restrições estabelecidas. Assim, qualquer conhecimento construído com o objetivo de validar hipóteses também pode ser considerado relevante.

Modificação da estrutura preexistente e ressignificação

Quando se fala de modificar a estrutura, pressupõe-se que o treinamento vai, de alguma forma, construir uma relação de causa e efeito entre aprendizagem e estrutura preexistente. Isso quer dizer, necessariamente, que o comportamento anterior foi de alguma forma modificado a partir do treinamento, gerando novas conclusões. O fenômeno de modificar a estrutura também pode ser entendido como ressignificação.

Trazendo para o campo prático, ao aplicar um modelo aos dados de treinamento nenhuma alteração será feita nos dados de entrada, e sim novas conclusões podem ser tiradas a partir deles. Seja automação de tarefas, predição de novos valores, entendimento de relações não triviais, algum tipo de modificação em relação ao que se sabia previamente será adicionada ao que se entende como conhecimento. No momento, ainda não estamos discutindo o conhecimento em si.

O que é aprendizagem afinal?

Diante da complexidade do tema, é necessário estabelecer fronteiras entre o conceito de aprendizagem derivado da cognição e o que vamos definir como aprendizagem de máquina. Ao definir o que pode ser abstraído para uma máquina, existe uma clara linha divisória: a necessidade de se medir o quanto foi aprendido.

Para que o computador seja capaz de aprender é preciso treiná-lo para ressignificar os dados. Cada processo de aprendizagem deve fornecer uma medida sobre o quanto foi aprendido, provando que tais dados foram obtidos em decorrência direta do treinamento. Assim, é possível de dizer que a aprendizagem de máquina está interessada no lado prático sobre o que foi aprendido, e não no teórico.

Sendo ainda mais direto, a aprendizagem de máquina deve ser capaz de responder perguntas baseadas nos dados fornecidos. Dado um conjunto de exemplos, como eu consigo treinar um modelo que seja capaz de fornecer informações em relação às próximas observações [1]?

  • Qual a melhor lente de contato para prescrever?
  • Qual a melhor oferta para o cliente no momento da venda?
  • Como a chuva afeta o preço da commodity?

Definimos como medida de aprendizagem a assertividade do modelo em relações às próximas observações (dados que não fizeram parte do processo de treinamento).

O que deve fazer o cientista de dados?

Considerando o caráter prático do processo de treinamento, o cientista de dados é o profissional capaz de treinar um modelo a partir dos dados de forma a aprender sobre o negócio/objetivo/hipótese. A partir de um processo de aprendizagem de máquina ele deve ser capaz de obter medidas assertivas sobre o impacto de seu trabalho para o presente/futuro dos negócios. Existem casos em que se pode analisar o passado, mas na maior parte dos cenários o profissional de ciência de dados deve estar olhando para a frente auxiliando as organizações na tomada de decisão.

Claro que, com a consolidação da careira em dados, outras proficiências vão surgindo e se tornando necessárias, como Engenheiro de Dados, e talvez voltemos a esse assunto por aqui. Mas se pensa em trabalhar como Cientista de Dados, você deve ser capaz de construir um elemento computacional que seja capaz de aprender, considerando todas as nuances do processo e seus resultados.

Referências

[1] Witten, I. H., Frank, E., and Hall, M. (2016). “Data Mining: Practical machine learning tools and techniques”. Morgan Kaufmann, San Francisco, 4 edition.

[2] Brachman, R. and Anand, T. (1995). “The process of knowledge discovery in databases: A human-centered approach” in fayyad. Advances In Knowledge Discovery And Data Mining, AAAI Press, Menlo Park.

[3] Berry, M. and Linoff, G. (1997). “Data mining techniques: For marketing, sales and marketing support.” wiley.

Written by Eduardo Santos
Desenvolvedor Open Source por vocação, Mestre em Computação Aplicada pela Universidade de Brasília (UnB), professor universitário e cientista de dados (data scientist). Profile

Leave a Reply

%d bloggers like this: