- View
Os conceitos que vamos introduzir nesta lição são os fundamentos básicos do machine learning (ML). Ajudarão a compreender os tópicos que se seguem, e ao longo do curso aprenderá mais sobre cada um deles.
Em termos de ML, o conjunto de dados que temos corresponde à recolha de dados. Pode tratar-se de registos tabulares simples, semelhantes aos que encontramos em bases de dados ou ficheiros Excel, mas também de conjuntos de imagens de satélite ou clips de áudio. Um elemento específico de um conjunto de dados é chamado de instância. Assim, uma linha numa tabela de registos ou uma imagem de satélite específica são exemplos de instâncias. O número de instâncias num conjunto de dados pode influenciar a escolha do algoritmo de aprendizagem, pois alguns exigem mais dados do que outros.
Em alguns casos, existem atributos, que são propriedades usadas para descrever os dados. Por exemplo, se imaginarmos um registo tabular de ocorrências sísmicas, a data e hora do evento, a latitude, a longitude, a intensidade sísmica, o nível de destruição e outros dados importantes podem ser considerados atributos. Os atributos também são chamados de features (ou características). Mais à frente aprenderá que tipos de atributos existem e em que devemos ter atenção.
Os atributos que usamos para aprender a resolver uma tarefa são chamados variáveis de entrada (inputs), enquanto os que pretendemos prever ou ensinar são as variáveis de saída. Assim, a data e hora do sismo, as suas coordenadas geográficas e a sua magnitude podem ser variáveis de entrada na tarefa de determinar a destruição causada pelo sismo. O nível de destruição, que também está presente como atributo no conjunto de dados, será a variável de saída.
Por vezes, usaremos termos menos formais, como entrada e saída. É importante notar que é a tarefa em si que define quais os atributos que serão variáveis de entrada e quais serão variáveis de saída.
Agora, a pergunta: quais poderiam ser os atributos de uma imagem de satélite?
Sucesso! Também concorda que, no caso das imagens de satélite, podemos incluir atributos como o local, a data e a hora em que a imagem foi capturada. Podemos ainda adicionar atributos que descrevam o satélite que tirou a imagem. Contudo, nenhum destes atributos descreve diretamente o que a imagem contém. Reflita sobre este tema até chegarmos à lição que o aborda.
Dissemos que o objetivo dos algoritmos de ML é determinar o mapeamento entre certas entradas e certas saídas. Agora podemos ser mais precisos e afirmar que o objetivo do machine learning é determinar o mapeamento entre determinadas variáveis de entrada e variáveis de saída. Estes mapeamentos são designados por modelos.
O conceito que associamos ao mapeamento é o de função. Nas aulas de matemática, já deve ter ouvido falar frequentemente sobre funções como mapeamentos de entradas para saídas. Por exemplo, a função de uma variável (y = 2x + 4) mapeia a entrada (x = 5) para o valor (y = 14), enquanto a função de múltiplas variáveis (y = 2x1 − 3x2 + x3 + 5) mapeia a entrada ((x1,x2,x3)=(1,− 1,3)) para o valor (y = 13).
As variáveis que aparecem nas funções estão relacionadas aos valores do atributo. Assim, x na primeira função pode representar a metragem quadrada da propriedade, enquanto \(x1, x2, x3\) na segunda função pode representar os valores de atributos como latitude, longitude e força do terremoto. Na aula de matemática, já ouviu falar que existem diferentes classes de funções (linear, polinomial, trigonométrica, exponencial, logarítmica), e que cada uma delas é caracterizada por algumas propriedades especiais, como continuidade, monotonia ou convexidade. Todo este conhecimento é bem-vindo quando se procura o modelo certo.
A complexidade de uma função é algo que não iremos introduzir formalmente. Irá perceber que algumas funções são mais simples do que outras, ou, por assim dizer, são “mais diretas”. Funções simples são mais gratificantes para trabalhar e mais fáceis de compreender, mas limitam a nossa capacidade de descrever algumas das relações mais complexas entre os atributos e os resultados.
Por outro lado, funções mais complexas são assim por uma razão, mas pode ser difícil acompanhar alguns dos seus comportamentos matemáticos, o que pode influenciar o processo de aprendizagem. Tentamos encontrar um equilíbrio entre a complexidade do modelo, o que sabemos sobre os dados e aquilo que pretendemos aprender.
Em modelos, como vimos no exemplo introdutório de precificação de imóveis, parâmetros como k e n podem aparecer. Tais modelos são chamados de modelos paramétricos e a tarefa de determinar o modelo certo é reduzida à tarefa de determinar os melhores valores dos parâmetros. No modelo linear, apenas dois parâmetros apareceram na tarefa de precificação de imóveis, enquanto os modelos modernos, aqueles que são baseados em redes neurais têm milhões ou bilhões de parâmetros. Veremos que existem também modelos não paramétricos ligeiramente diferentes, cujas formas são expressas de forma diferente.
O processo de encontrar o modelo é denominado treinamento do modelo. Quando o modelo contém parâmetros desconhecidos, o objetivo do treino é precisamente determinar os seus valores. Esse é o nosso principal objetivo nesta fase.
Nos conjuntos de dados utilizados para treinar os modelos, é comum encontrarmos valores imprecisos ou contraditórios. Por esse motivo, os modelos nunca são absolutamente perfeitos ou 100% corretos. Isso leva-nos a outro conceito essencial na teoria do aprendizado de máquina: a função de erro, ou função de perda. Esta função indica-nos quão errado está o modelo. Durante o processo de treino, utilizamos ativamente os seus valores, procurando ajustar o modelo de forma a minimizar o erro. No caso dos modelos paramétricos, como o da precificação de imóveis, o objetivo é encontrar os valores dos parâmetros que levam ao menor valor da função de erro.
Uma vez treinado o modelo, é fundamental avaliar quão bom ele é na prática. Para isso, recorremos às chamadas medidas de qualidade — cada uma adaptada ao tipo de tarefa e ao domínio específico onde o modelo será aplicado. É importante salientar que, em geral, a função de erro e as medidas de qualidade não são a mesma coisa. Ambas avaliam a performance do modelo, mas em momentos diferentes:
- A função de erro é utilizada durante o treino,
- As medidas de qualidade são usadas após o treino, para avaliação externa.
A função de erro está intimamente ligada à estrutura matemática do modelo, enquanto as medidas de qualidade são pensadas para serem intuitivas e compreensíveis por utilizadores e especialistas do domínio. Se os resultados obtidos através dessas medidas forem insatisfatórios, o modelo deve ser revisto. Mais adiante, veremos o que isto significa e como o podemos fazer. Todo este processo de avaliação é conhecido como teste do modelo.
De forma geral, os valores produzidos por um modelo treinado são designados por previsões. Assim, o preço estimado de um novo imóvel ou a avaliação da devastação de um sismo são exemplos de previsões feitas por modelos. É por isso que falamos frequentemente em previsões no contexto da inteligência artificial. Mas fica claro que essas previsões não são aleatórias — são baseadas em dados e modelos bem definidos. A aplicação do modelo para gerar essas previsões é chamada de inferência.
Todos os termos destacados neste texto são conceitos-chave em aprendizado de máquina e surgem com frequência na literatura e nas aplicações práticas. Por isso, é fundamental que fiquem bem compreendidos, tanto no seu significado como no papel que desempenham no desenvolvimento de modelos de IA.