Glossário de machine learning: noções básicas de ML

Esta página contém os termos do glossário de fundamentos de ML. Para todos os termos do glossário, clique aqui.

A

accuracy

#fundamentals

O número correto de previsões de classificação dividido pelo número total de previsões. Ou seja:

$$\text{Accuracy} = \frac{\text{correct predictions}} {\text{correct predictions + incorrect predictions }}$$

Por exemplo, um modelo que fez 40 previsões corretas e 10 previsões incorretas, tem uma precisão de:

$$\text{Accuracy} = \frac{\text{40}} {\text{40 + 10}} = \text{80%}$$

Classificação binária fornece nomes específicos para as diferentes categorias de previsões corretas e previsões incorretas. Assim, a fórmula de precisão para classificação binária é a seguinte:

$$\text{Accuracy} = \frac{\text{TP} + \text{TN}} {\text{TP} + \text{TN} + \text{FP} + \text{FN}}$$

onde:

Compare e contraste a precisão com precisão e recall.

função de ativação

#fundamentals

Uma função que permite que as redes neurais aprendam relações não lineares (complexas) entre recursos e o rótulo.

As funções mais usadas são:

Os gráficos de funções de ativação nunca são linhas retas únicas. Por exemplo, o gráfico da função de ativação ReLU consiste em duas linhas retas:

Um gráfico cartesiano de duas linhas. A primeira linha tem um valor constante de y igual a 0, que se estende ao longo do eixo x de -infinito,0 a 0,-0.
          A segunda linha começa em 0,0. Essa linha tem uma inclinação de +1. Portanto, ela é executada de 0,0 a +infinito,+infinito.

Um gráfico da função de ativação sigmoide tem a seguinte aparência:

Um gráfico de curva bidimensional com valores x que abrangem o domínio -infinito a +positivo, enquanto os valores de y abrangem o intervalo de quase 0 a quase 1. Quando x é 0, y é 0,5. A inclinação da curva é sempre positiva, com a inclinação mais alta a 0,0.5 e diminuindo gradualmente as encostas à medida que o valor absoluto de x aumenta.

inteligência artificial

#fundamentals

Um programa ou modelo não humano que pode resolver tarefas sofisticadas. Por exemplo, um programa ou modelo que traduz texto ou um programa ou modelo que identifica doenças de imagens radiológicas exibem inteligência artificial.

O machine learning é um subcampo da inteligência artificial. No entanto, nos últimos anos, algumas organizações começaram a usar os termos inteligência artificial e machine learning como sinônimos.

AUC (Área sob a curva ROC)

#fundamentals

Um número entre 0,0 e 1,0 que representa a capacidade de um modelo de classificação binária para separar classes positivas de classes negativas. Quanto mais próxima da AUC estiver de 1,0, melhor será a capacidade do modelo de separar classes entre si.

Por exemplo, a ilustração a seguir mostra um modelo de classificador que separa classes positivas (ovais verdes) de classes negativas (retângulos roxos) perfeitamente. Este modelo irrealistamente perfeito tem uma AUC de 1,0:

Uma linha numérica com 8 exemplos positivos de um lado e 9 exemplos negativos do outro.

Por outro lado, a ilustração a seguir mostra os resultados de um modelo de classificador que gerou resultados aleatórios. Este modelo tem uma AUC de 0,5:

Uma linha numérica com seis exemplos positivos e seis negativos.
          A sequência de exemplos é positivo, negativo, positivo, negativo, positivo, negativo, positivo, negativo, positivo negativo, positivo, negativo.

Sim, o modelo anterior tem uma AUC de 0,5, não de 0,0.

A maioria dos modelos está entre os dois extremos. Por exemplo, o modelo a seguir separa os positivos de negativos de maneira um pouco e, portanto, tem uma AUC entre 0,5 e 1,0:

Uma linha numérica com seis exemplos positivos e seis negativos.
          A sequência de exemplos é negativa, negativa, negativa, negativa, positiva, negativa, positiva, positiva, negativa, positiva, positiva, positiva.

A AUC ignora qualquer valor definido para o limite de classificação. Em vez disso, a AUC considera todos os limiares de classificação possíveis.

B

retropropagação

#fundamentals

O algoritmo que implementa o gradiente descendente em redes neurais.

O treinamento de uma rede neural envolve muitas iterações do ciclo de duas passagens a seguir:

  1. Durante a transmissão para frente, o sistema processa um lote de exemplos para gerar previsões. O sistema compara cada previsão com cada valor de label. A diferença entre a previsão e o valor do rótulo é a perda no exemplo. O sistema agrega as perdas de todos os exemplos para calcular a perda total do lote atual.
  2. Durante a transmissão para trás (propagação), o sistema reduz a perda ajustando os pesos de todos os neurônios em todas as camadas ocultas.

As redes neurais geralmente contêm muitos neurônios em muitas camadas escondidas. Cada um desses neurônios contribui para a perda geral de maneiras diferentes. A retropropagação determina se é necessário aumentar ou diminuir os pesos aplicados a determinados neurônios.

A taxa de aprendizado é um multiplicador que controla o grau de aumento ou diminuição de cada passagem para trás. Uma taxa de aprendizado grande aumenta ou diminui cada peso mais do que uma taxa de aprendizado pequena.

Em termos de cálculo, a retropropagação implementa a regra de cadeia do cálculo. Ou seja, a retropropagação calcula a derivada parcial do erro em relação a cada parâmetro. Para mais detalhes, consulte este tutorial no Curso intensivo de machine learning.

Anos atrás, os profissionais de ML precisavam escrever códigos para implementar a retropropagação. APIs de ML modernas, como o TensorFlow, agora implementam a retropropagação para você. Ufa.

lote

#fundamentals

O conjunto de exemplos usado em uma iteração de treinamento. O tamanho do lote determina o número de exemplos em um lote.

Consulte epoch para uma explicação de como um lote está relacionado a uma época.

tamanho do lote

#fundamentals

O número de exemplos em um lote. Por exemplo, se o tamanho do lote for 100, o modelo processará 100 exemplos por iteração.

Veja a seguir as estratégias de tamanho de lote mais usadas:

  • Stochastic Gradient Descent (SGD), em que o tamanho do lote é 1.
  • lote completo, em que o tamanho do lote é o número de exemplos em todo o conjunto de treinamento. Por exemplo, se o conjunto de treinamento contiver um milhão de exemplos, o tamanho do lote será de um milhão de exemplos. O lote completo geralmente é uma estratégia ineficiente.
  • minilote em que o tamanho do lote geralmente fica entre 10 e 1.000. O minilote geralmente é a estratégia mais eficiente.

viés (ética/imparcialidade)

#fairness
#fundamentals

1. Estereótipos, preconceito ou favoritismo em relação a algumas coisas, pessoas ou grupos. Esses vieses podem afetar a coleta e a interpretação de dados, o design de um sistema e a forma como os usuários interagem com ele. Formas desse tipo de viés incluem:

2. Erro sistemático introduzido por um procedimento de amostragem ou de geração de relatórios. Formas desse tipo de viés incluem:

Não confunda esse termo com viés em modelos de machine learning ou viés de previsão.

viés (matemática) ou termo de viés

#fundamentals

Uma interceptação ou deslocamento de uma origem. O viés é um parâmetro nos modelos de machine learning, simbolizado por uma das seguintes opções:

  • b
  • s0

Por exemplo, o viés é o b na seguinte fórmula:

$$y' = b + w_1x_1 + w_2x_2 + … w_nx_n$$

Em uma linha bidimensional simples, o viés significa apenas "interseção em y". Por exemplo, o viés da linha na ilustração a seguir é 2.

O gráfico de uma linha com uma inclinação de 0,5 e um viés (interseção em y) de 2.

O viés existe porque nem todos os modelos começam a partir da origem (0,0). Por exemplo, imagine que um parque de diversões custa 2 euros para entrar e um adicional de 0,5 euro para cada hora que um cliente se hospedar. Portanto, um modelo que mapeia o custo total tem um viés de dois, porque o menor custo é de dois euros.

O viés não deve ser confundido com o viés na ética e na imparcialidade ou no viés da previsão.

classificação binária

#fundamentals

Um tipo de tarefa de classificação que prevê uma de duas classes mutuamente exclusivas:

Por exemplo, os dois modelos de machine learning a seguir executam classificação binária:

  • Um modelo que determina se as mensagens de e-mail são spam (a classe positiva) ou não é spam (a classe negativa).
  • Um modelo que avalia sintomas médicos para determinar se uma pessoa tem uma doença específica (a classe positiva) ou não tem essa doença (a classe negativa).

Contraste com a classificação multiclasse.

Consulte também regressão logística e limite de classificação.

agrupamento por classes

#fundamentals

Converter um único recurso em vários recursos binários chamados buckets ou bins, geralmente baseados em um intervalo de valores. O recurso cortado geralmente é um recurso contínuo.

Por exemplo, em vez de representar a temperatura como um único recurso de ponto flutuante contínuo, é possível cortar intervalos de temperaturas em buckets discretos, como:

  • <= 10 graus Celsius seria o bucket "frio".
  • 11 a 24 graus Celsius seriam o intervalo "temperate".
  • >= 25 graus Celsius seria o bucket "quente".

O modelo tratará todos os valores no mesmo bucket de maneira idêntica. Por exemplo, os valores 13 e 22 estão no bucket temperado. Portanto, o modelo trata os dois valores de maneira idêntica.

C

dados categóricos

#fundamentals

Recursos com um conjunto específico de valores possíveis. Por exemplo, considere um recurso categórico chamado traffic-light-state, que só pode ter um dos três valores possíveis a seguir:

  • red
  • yellow
  • green

Ao representar traffic-light-state como um recurso categórico, um modelo pode aprender os diferentes impactos de red, green e yellow no comportamento do driver.

Às vezes, os recursos categóricos são chamados de atributos discretos.

Contraste com dados numéricos.

classe

#fundamentals

Uma categoria à qual um marcador pode pertencer. Exemplo:

Um modelo de classificação prevê uma classe. Por outro lado, um modelo de regressão prevê um número em vez de uma classe.

modelo de classificação

#fundamentals

Um modelo em que a previsão é uma classe. Por exemplo, os modelos de classificação a seguir são:

  • Um modelo que prevê o idioma de uma frase de entrada (francês? Espanhol? Italiano).
  • Um modelo que prevê espécies de árvores (Maple? Carvalho? Baobab?).
  • Um modelo que prevê a classe positiva ou negativa de uma condição médica específica.

Por outro lado, os modelos de regressão preveem números em vez de classes.

Dois tipos comuns de modelos de classificação são:

limiar de classificação

#fundamentals

Em uma classificação binária, um número entre 0 e 1 que converte a saída bruta de um modelo de regressão logística em uma previsão da classe positiva ou da classe negativa. Observe que o limiar de classificação é um valor que um humano escolhe, não um valor escolhido pelo treinamento de modelo.

Um modelo de regressão logística gera um valor bruto entre 0 e 1. Então:

  • Se esse valor bruto for maior que o limite de classificação, a classe positiva será prevista.
  • Se esse valor bruto for inferior ao limite de classificação, a classe negativa será prevista.

Por exemplo, suponha que o limite de classificação seja 0,8. Se o valor bruto é 0,9, o modelo prevê a classe positiva. Se o valor bruto é 0,7, o modelo prevê a classe negativa.

A escolha do limite de classificação tem forte influência do número de falsos positivos e falsos negativos.

conjunto de dados desequilibrado de classes

#fundamentals

Um conjunto de dados para um problema de classificação em que o número total de rótulos de cada classe difere significativamente. Por exemplo, considere um conjunto de dados de classificação binária com dois rótulos divididos da seguinte maneira:

  • 1.000.000 de rótulos negativos
  • 10 rótulos positivos

A proporção de rótulos negativos para positivos é de 100.000 para 1. Portanto, este é um conjunto de dados desequilibrado de classes.

Por outro lado, o conjunto de dados a seguir não tem a classe desequilibrada porque a proporção entre rótulos negativos e rótulos positivos é relativamente próxima de 1:

  • 517 rótulos negativos
  • 483 rótulos positivos

Conjuntos de dados multiclasse também podem ser desequilibrados. Por exemplo, o seguinte conjunto de dados de classificação multiclasse também é desequilibrado porque um rótulo tem muito mais exemplos que os outros dois:

  • 1.000.000 rótulos com classe "verde"
  • 200 marcadores com a classe "roxo"
  • 350 marcadores com a classe "laranja"

Consulte também entropia, classe predominante e classe minoritária.

recorte

#fundamentals

Uma técnica para gerenciar outliers realizando uma ou ambas as ações a seguir:

  • Redução de valores de feature superiores a um limite máximo
  • Aumentar os valores de recursos que são inferiores a um limite mínimo até esse limite mínimo.

Por exemplo, suponha que <0,5% dos valores para um recurso específico esteja fora do intervalo de 40 a 60. Nesse caso, você pode fazer o seguinte:

  • Recorte todos os valores acima de 60 (o limite máximo) para que sejam exatamente 60.
  • Recorte todos os valores abaixo de 40 (o limite mínimo) para que sejam exatamente 40.

Os outliers podem danificar os modelos, fazendo com que os pesos sobrecarreguem durante o treinamento. Alguns valores atípicos também podem estragar drasticamente métricas como a precisão. O recorte é uma técnica comum para limitar o dano.

O recorte de gradiente força os valores de gradiente dentro de um intervalo designado durante o treinamento.

matriz de confusão

#fundamentals

Uma tabela NxN que resume o número de previsões corretas e incorretas feitas por um modelo de classificação. Por exemplo, considere a seguinte matriz de confusão em um modelo de classificação binária:

Tumor (previsão) Não tumor (previsto)
Tumor (informações empíricas) 18 (TP) 1 (FN)
Não Tumor (informações empíricas) 6 (FP) 452 (TN)

A matriz de confusão anterior mostra o seguinte:

  • Das 19 previsões em que informações empíricas era Tumor, o modelo classificou corretamente 18 e incorretamente 1.
  • Das 458 previsões em que informações empíricas não eram de Tumor, o modelo classificou corretamente 452 e incorretamente 6.

A matriz de confusão para um problema de classificação multiclasse pode ajudar você a identificar padrões de erros. Por exemplo, considere a seguinte matriz de confusão para um modelo de classificação multiclasse de três classes que categoriza três tipos de íris diferentes (Virginica, Versicolor e Setosa). Quando a verdade era Virginica, a matriz de confusão mostra que o modelo tem muito mais probabilidade de prever Versicolor do que Setosa por engano:

  Setosa (previsão) Versicolor (prevista) Virginica (previsto)
Setosa (informações empíricas) 88 12 0
Versicolor (informações empíricas) 6 141 7
Virgínia (informações empíricas) 2 27 109

Como outro exemplo, uma matriz de confusão pode revelar que um modelo treinado para reconhecer dígitos escritos à mão tende a prever 9 em vez de 4 ou 1 em vez de 7.

As matrizes de confusão contêm informações suficientes para calcular uma variedade de métricas de desempenho, incluindo precisão e recall.

recurso contínuo

#fundamentals

Um atributo de ponto flutuante com um intervalo infinito de valores possíveis, como temperatura ou peso.

Contraste com o recurso discreto.

convergência

#fundamentals

Um estado atingido quando os valores de loss mudarem muito ou não mudarem a cada iteração. Por exemplo, a curva de perda a seguir sugere convergência em torno de 700 iterações:

Diagrama cartesiano. O eixo X representa perda. O eixo Y é o número de iterações de treinamento. A perda é muito alta durante as primeiras iterações, mas cai significativamente. Após cerca de 100 iterações, a perda ainda é decrescente, mas muito mais gradualmente. Após cerca de 700 iterações, a perda permanece fixa.

Um modelo converge quando o treinamento adicional não melhora o modelo.

No aprendizado profundo, os valores de perda às vezes permanecem constantes ou quase iguais por muitas iterações antes de finalmente descerem. Durante um longo período de valores de perda constantes, você pode ter uma falsa sensação de convergência temporariamente.

Consulte também a parada antecipada.

D

DataFrame

#fundamentals

Um tipo de dados conhecido de pandas para representar conjuntos de dados na memória.

Um DataFrame é semelhante a uma tabela ou planilha. Cada coluna de um DataFrame tem um nome (um cabeçalho) e cada linha é identificada por um número exclusivo.

Cada coluna em um DataFrame é estruturada como uma matriz 2D, exceto pelo fato de que cada coluna pode ser atribuída ao próprio tipo de dados.

Consulte também a página de referência oficial do pandas.DataFrame.

conjunto de dados ou conjunto de dados

#fundamentals

Uma coleção de dados brutos, normalmente (mas não exclusivamente) organizados em um dos seguintes formatos:

  • uma planilha
  • um arquivo no formato CSV (valores separados por vírgula)

modelo profundo

#fundamentals

Uma rede neural que contém mais de uma camada oculta.

Um modelo profundo também é chamado de rede neural profunda.

Contraste com o modelo amplo.

característica densa

#fundamentals

Um recurso em que a maioria ou todos os valores são diferentes de zero, normalmente um Tensor de valores de ponto flutuante. Por exemplo, o tensor de 10 elementos a seguir é denso porque 9 dos seus valores são diferentes de zero:

8 3 7 5 2 4 0 4 9 6

Contraste com o recurso esparso.

depth

#fundamentals

A soma dos seguintes itens em uma rede neural:

Por exemplo, uma rede neural com cinco camadas ocultas e uma camada de saída tem uma profundidade de seis.

A camada de entrada não influencia a profundidade.

recurso discreto

#fundamentals

Um feature com um conjunto finito de valores possíveis. Por exemplo, um atributo cujos valores podem ser apenas animal, vegetal ou mineral é um atributo discreto (ou categórico).

Contraste com o recurso contínuo.

dinâmico

#fundamentals

Algo feito com frequência ou continuamente. Os termos dinâmico e on-line são sinônimos em machine learning. Veja a seguir usos comuns de dynamic e online no machine learning:

  • Um modelo dinâmico (ou modelo on-line) é um modelo treinado novamente com frequência ou continuamente.
  • Treinamento dinâmico (ou treinamento on-line) é o processo de treinamento frequente ou contínuo.
  • Inferência dinâmica (ou inferência on-line) é o processo de gerar predições sob demanda.

modelo dinâmico

#fundamentals

Um modelo que é frequentemente treinado novamente, talvez até continuamente. Um modelo dinâmico é um "aprendizado para toda a vida" que se adapta constantemente a dados em evolução. Um modelo dinâmico também é conhecido como modelo on-line.

Contraste com o modelo estático.

E

parada antecipada

#fundamentals

Um método para regularização que envolva encerrar o treinamento antes que a perda de treinamento termine. Na parada antecipada, você interrompe intencionalmente o treinamento do modelo quando a perda em um conjunto de dados de validação começa a aumentar, ou seja, quando o desempenho de generalização piora.

camada de incorporação

#language
#fundamentals

Uma camada oculta treinada em um recurso categórico de alta dimensão para aprender gradualmente um vetor de embedding de dimensão menor. Uma camada de embedding permite que uma rede neural treine de forma muito mais eficiente do que treinar somente no recurso categórico de alta dimensão.

Por exemplo, o Google Earth suporta atualmente cerca de 73.000 espécies de árvores. Suponha que a espécie em árvore seja um recurso do modelo. Portanto, a camada de entrada do modelo inclui um vetor one-hot com 73.000 elementos. Por exemplo, talvez baobab seja representado desta forma:

Uma matriz de 73.000 elementos. Os primeiros 6.232 elementos contêm o valor 0. O elemento seguinte contém o valor 1. Os 66.767 elementos finais contêm o valor zero.

Uma matriz de 73.000 elementos é muito longa. Se você não adicionar uma camada de incorporação ao modelo, o treinamento será muito demorado devido à multiplicação de 72.999 zeros. Talvez você escolha a camada de embedding para consistir em 12 dimensões. Consequentemente, a camada de embedding aprenderá gradualmente um novo vetor de embedding para cada espécie em árvore.

Em determinadas situações, o hash é uma alternativa razoável a uma camada de incorporação.

época

#fundamentals

Uma passagem de treinamento completa sobre o conjunto de treinamento inteiro, de modo que cada exemplo tenha sido processado uma vez.

Uma época representa N/tamanho do lote iterações de treinamento, em que N é o número total de exemplos.

Por exemplo, suponha que:

  • O conjunto de dados consiste em 1.000 exemplos.
  • O tamanho do lote é de 50 exemplos.

Portanto, uma única época requer 20 iterações:

1 epoch = (N/batch size) = (1,000 / 50) = 20 iterations

exemplo

#fundamentals

Os valores de uma linha de features e possivelmente de um rótulo. Exemplos em aprendizado supervisionado se enquadram em duas categorias gerais:

  • Um exemplo rotulado consiste em um ou mais recursos e um rótulo. Exemplos rotulados são usados durante o treinamento.
  • Um exemplo sem rótulo consiste em um ou mais recursos, mas sem rótulo. Exemplos não rotulados são usados durante a inferência.

Por exemplo, suponha que você esteja treinando um modelo para determinar a influência das condições climáticas nas pontuações dos alunos no teste. Veja três exemplos rotulados:

Recursos Rótulo
Temperatura Umidade Pressão Pontuação do teste
15 47 998 Bom
19 34 1020 Excelente
18 92 1012 Ruim

Veja três exemplos sem rótulos:

Temperatura Umidade Pressão  
12 62 1014  
21 47 1017  
19 41 1021  

A linha de um conjunto de dados normalmente é a fonte bruta de um exemplo. Ou seja, um exemplo geralmente consiste em um subconjunto das colunas no conjunto de dados. Além disso, os recursos em um exemplo também podem incluir atributos sintéticos, como cruzamentos de atributos.

F

falso negativo (FN)

#fundamentals

Um exemplo em que o modelo prevê incorretamente a classe negativa. Por exemplo, o modelo prevê que uma mensagem de e-mail específica não é spam (a classe negativa), mas essa mensagem de e-mail realmente é spam.

falso positivo (FP)

#fundamentals

Um exemplo em que o modelo prevê erroneamente a classe positiva. Por exemplo, o modelo prevê que uma mensagem de e-mail específica é spam (a classe positiva), mas essa mensagem de e-mail na verdade não é spam.

taxa de falso positivo (FPR)

#fundamentals

A proporção de exemplos negativos reais para os quais o modelo previu por engano a classe positiva. A fórmula a seguir calcula a taxa de falso positivo:

$$\text{false positive rate} = \frac{\text{false positives}}{\text{false positives} + \text{true negatives}}$$

A taxa de falsos positivos é o eixo x de uma curva ROC.

recurso

#fundamentals

Uma variável de entrada para um modelo de machine learning. Um exemplo consiste em um ou mais recursos. Por exemplo, suponha que você esteja treinando um modelo para determinar a influência das condições climáticas nas pontuações dos alunos no teste. A tabela a seguir mostra três exemplos. Cada um deles contém três recursos e um rótulo:

Recursos Rótulo
Temperatura Umidade Pressão Pontuação do teste
15 47 998 92
19 34 1020 84
18 92 1012 87

Contraste com label.

cruzamento de atributos

#fundamentals

Um recurso sintético formado pelo recurso de "cruzamento" categórico ou agrupado.

Por exemplo, considere um modelo de "previsão de humor" que represente a temperatura em um dos quatro buckets a seguir:

  • freezing
  • chilly
  • temperate
  • warm

E representa a velocidade do vento em um dos três intervalos a seguir:

  • still
  • light
  • windy

Sem cruzamentos de atributos, o modelo linear é treinado de forma independente em cada um dos sete buckets anteriores. Assim, o modelo é treinado em, por exemplo, freezing independentemente do treinamento em, por exemplo, windy.

Como alternativa, você pode criar um cruzamento de atributos de temperatura e velocidade do vento. Esse recurso sintético teria os seguintes 12 valores possíveis:

  • freezing-still
  • freezing-light
  • freezing-windy
  • chilly-still
  • chilly-light
  • chilly-windy
  • temperate-still
  • temperate-light
  • temperate-windy
  • warm-still
  • warm-light
  • warm-windy

Graças aos cruzamentos de atributos, o modelo pode aprender diferenças de humor entre um dia freezing-windy e um dia freezing-still.

Se você criar um recurso sintético a partir de dois atributos com vários buckets diferentes, o cruzamento de atributos resultante terá um grande número de combinações possíveis. Por exemplo, se um recurso tiver 1.000 buckets e o outro tiver 2.000 buckets, o cruzamento de atributos resultante terá 2.000.000 buckets.

Uma cruz é um produto cartesiano (em inglês).

Os cruzamentos de atributos são usados principalmente com modelos lineares e raramente são usados com redes neurais.

engenharia de atributos

#fundamentals
#TensorFlow

Um processo que envolve as seguintes etapas:

  1. Determinar quais recursos podem ser úteis no treinamento de um modelo.
  2. Converter dados brutos do conjunto de dados em versões eficientes desses recursos.

Por exemplo, é possível determinar que temperature pode ser um recurso útil. Em seguida, teste o agrupamento por classes para otimizar o que o modelo pode aprender com diferentes intervalos de temperature.

A engenharia de atributos também é chamada de extração de atributos.

conjunto de recursos

#fundamentals

O grupo de recursos usados no treinamento do modelo de machine learning. Por exemplo, o código postal, o tamanho e a condição da propriedade podem abranger um conjunto de recursos simples para um modelo que prevê preços de imóveis.

vetor de atributo

#fundamentals

A matriz de valores de feature que compreende um example. O vetor de atributo é inserido durante o treinamento e durante a inferência. Por exemplo, o vetor de atributo de um modelo com dois atributos discretos pode ser:

[0.92, 0.56]

Quatro camadas: uma camada de entrada, duas camadas ocultas e uma camada de saída.
          A camada de entrada contém dois nós, um contendo o valor 0,92 e o outro contendo o valor 0,56.

Cada exemplo fornece valores diferentes para o vetor de atributo. Portanto, o vetor do atributo para o próximo exemplo pode ser algo como:

[0.73, 0.49]

Engenharia de atributos determina como representar atributos no vetor de atributo. Por exemplo, um recurso categórico binário com cinco valores possíveis pode ser representado com codificação one-hot. Nesse caso, a parte do vetor de atributo para um exemplo específico consistiria em quatro zeros e um único 1.0 na terceira posição, da seguinte maneira:

[0.0, 0.0, 1.0, 0.0, 0.0]

Como outro exemplo, suponha que seu modelo consista em três atributos:

  • um recurso categórico binário com cinco valores possíveis, representados com codificação one-hot. Por exemplo: [0.0, 1.0, 0.0, 0.0, 0.0]
  • outro recurso categórico binário com três valores possíveis, representados com codificação one-hot. Por exemplo: [0.0, 0.0, 1.0]
  • um recurso de ponto flutuante, por exemplo: 8.3.

Nesse caso, o vetor de atributo para cada exemplo seria representado por nove valores. Considerando os valores de exemplo da lista anterior, o vetor de atributo seria:

0.0
1.0
0.0
0.0
0.0
0.0
0.0
1.0
8.3

Feedback Loop

#fundamentals

No machine learning, uma situação em que as previsões de um modelo influenciam os dados de treinamento para o mesmo modelo ou outro modelo. Por exemplo, um modelo que recomenda filmes influenciará os filmes que as pessoas veem, o que influencia os modelos de recomendação de filmes subsequentes.

G

generalização

#fundamentals

A capacidade de um modelo de fazer previsões corretas em dados novos e não vistos anteriormente. Um modelo que pode generalizar é o oposto de um modelo que está overfitting.

curva de generalização

#fundamentals

Um gráfico de perda de treinamento e perda de validação como uma função do número de iterações.

Uma curva de generalização pode ajudar você a detectar possíveis overfitting. Por exemplo, a seguinte curva de generalização sugere o overfitting porque a perda de validação se torna significativamente maior do que a perda de treinamento.

Um gráfico cartesiano em que o eixo y é rotulado como &quot;perda&quot; e o eixo x é rotulado como &quot;iterações&quot;. Dois gráficos são exibidos. Um gráfico mostra a perda de treinamento e o outro mostra a perda de validação.
          Os dois gráficos começam da mesma forma, mas a perda de treinamento acaba diminuindo muito mais do que a perda de validação.

gradiente descendente

#fundamentals

Uma técnica matemática para minimizar a perda. O gradiente descendente ajusta iterativamente pesos e vieses, encontrando gradualmente a melhor combinação para minimizar a perda.

O gradiente descendente é muito mais antigo que o aprendizado de máquina.

informações empíricas

#fundamentals

Realidade.

O que realmente aconteceu.

Por exemplo, considere um modelo de classificação binária que prevê se um aluno no primeiro ano de universidade se formará em até seis anos. A principal informação para esse modelo é se ele se formou em seis anos.

H

camada oculta

#fundamentals

Uma camada em uma rede neural entre a camada de entrada (os recursos) e a camada de saída (a previsão). Cada camada oculta consiste em um ou mais neurônios. Por exemplo, a rede neural a seguir contém duas camadas ocultas, a primeira com três neurônios e a segunda com dois neurônios:

Quatro camadas. A primeira é uma camada de entrada que contém dois recursos. A segunda camada é oculta e contém três neurônios. A terceira camada é oculta e contém dois neurônios. A quarta camada é uma camada de saída. Cada recurso
          contém três arestas, cada uma apontando para um neurônio diferente
          na segunda camada. Cada um dos neurônios na segunda camada contém duas bordas, cada uma apontando para um neurônio diferente na terceira camada. Cada um dos neurônios na terceira camada contém uma borda, cada um apontando para a camada de saída.

Uma rede neural profunda contém mais de uma camada oculta. Por exemplo, a ilustração anterior é uma rede neural profunda porque o modelo contém duas camadas ocultas.

hiperparâmetro

#fundamentals

As variáveis que você ou um serviço de ajuste de hiperparâmetroajustam durante execuções sucessivas de treinamento de um modelo. Por exemplo, a taxa de aprendizado é um hiperparâmetro. É possível definir a taxa de aprendizado como 0,01 antes de uma sessão de treinamento. Se você determinar que 0,01 é muito alto, talvez seja possível definir a taxa de aprendizado como 0,003 para a próxima sessão de treinamento.

Por outro lado, parâmetros são os diversos pesos e viés que o modelo aprende durante o treinamento.

I

distribuídos de forma independente e idêntica (ou seja,

#fundamentals

Dados extraídos de uma distribuição que não muda e em que cada valor desenhado não depende de valores que foram desenhados anteriormente. Um exemplo é o gasto ideal do machine learning, uma construção matemática útil, mas que quase nunca é encontrada no mundo real. Por exemplo, a distribuição dos visitantes de uma página da Web pode ocorrer durante um breve período, ou seja, a distribuição não é alterada durante essa janela, e a visita de uma pessoa geralmente não depende da visita de outra. No entanto, se você expandir essa janela de tempo, as diferenças sazonais entre os visitantes da página da Web poderão ser exibidas.

Consulte também não estacionariedade.

inferência

#fundamentals

No processo de machine learning, o processo de fazer previsões aplicando um modelo treinado a exemplos não rotulados.

A inferência tem um significado um pouco diferente nas estatísticas. Consulte o artigo da Wikipédia sobre inferência estatística para mais detalhes.

camada de entrada

#fundamentals

A camada de uma rede neural que contém o vetor de atributo. Ou seja, a camada de entrada fornece exemplos para treinamento ou inferência. Por exemplo, a camada de entrada na rede neural a seguir consiste em dois recursos:

Quatro camadas: uma camada de entrada, duas camadas ocultas e uma camada de saída.

interpretabilidade

#fundamentals

A capacidade de explicar ou apresentar o raciocínio de um modelo de ML em termos compreensíveis a um ser humano.

A maioria dos modelos de regressão linear, por exemplo, é altamente interpretável. Você só precisa analisar os pesos treinados de cada recurso. Florestas de decisão também são altamente interpretáveis. No entanto, alguns modelos exigem visualização sofisticada para se tornar interpretável.

iteração

#fundamentals

Uma única atualização dos parâmetros de modelo (os pesos e os vieses do modelo durante o treinamento) O tamanho do lote determina quantos exemplos o modelo processa em uma única iteração. Por exemplo, se o tamanho do lote for 20, o modelo processará 20 exemplos antes de ajustar os parâmetros.

Ao treinar uma rede neural, uma única iteração envolve os dois cartões a seguir:

  1. Uma passagem para avaliar a perda em um único lote.
  2. Uma passagem para trás (backpropagation) para ajustar os parâmetros do modelo com base na perda e na taxa de aprendizado.

L

Regularização de l

#fundamentals

Um tipo de regularização que penaliza o número total de pesos diferentes de zero em um modelo. Por exemplo, um modelo com 11 pesos diferentes de zero seria penalizado mais do que um modelo semelhante com 10 pesos diferentes de zero.

A regularização L0 também é chamada de regularização de L-norm.

L1 derrota

#fundamentals

Uma função de perda que calcula o valor absoluto da diferença entre os valores de rótulo reais e os valores que um modelo prevê. Por exemplo, este é o cálculo da perda de L1 para um lote de cinco exemplos:

Valor real do exemplo Valor previsto do modelo Valor absoluto do delta
7 6 1
5 4 1
8 11 3
4 6 2
9 8 1
  8 = perda de L1

A perda de L1 é menos sensível a outliers do que L2 de perda.

O erro médio absoluto é a perda média de L1 por exemplo.

Regularização de L1

#fundamentals

Um tipo de regularização que penaliza pesos em proporção à soma do valor absoluto dos pesos. A regularização de L1 ajuda a aumentar os pesos de atributos irrelevantes ou pouco relevantes para exatamente 0. Um atributo com peso 0 é efetivamente removido do modelo.

Contraste com a L2 regularização.

L2 derrota

#fundamentals

Uma função de perda que calcula o quadrado da diferença entre os valores de label reais e os valores que um modelo prevê. Por exemplo, este é o cálculo da perda de L2 para um lote de cinco exemplos:

Valor real do exemplo Valor previsto do modelo Quadrado do delta
7 6 1
5 4 1
8 11 9
4 6 4
9 8 1
  16 = perda de L2

Devido ao quadrado, a perda L2 amplifica a influência de outliers. Ou seja, a perda L2 reage mais fortemente a previsões ruins do que L1 perda. Por exemplo, a perda L1 do lote anterior seria 8 em vez de 16. Um único outlier é responsável por 9 dos 16 casos.

Modelos de regressão normalmente usam a perda L2 como a função de perda.

O erro médio quadrado é a perda média de L2 por exemplo. Perda quadrada é outro nome para a perda L2.

Regularização de L2

#fundamentals

Um tipo de regularização que penaliza pesos em proporção à soma dos quadrados dos pesos. A regularização de L2 ajuda a aumentar os pesos atuais (aqueles com valores positivos ou baixos negativos) mais próximos de 0, mas não exatamente a 0. Recursos com valores muito próximos de 0 permanecem no modelo, mas não influenciam muito a previsão do modelo.

A2regularização sempre melhora a generalização em modelos lineares.

Contraste com a L1 regularização.

Identificador

#fundamentals

No machine learning supervisionado, a parte de "resposta" ou "resultado" de um exemplo.

Cada exemplo rotulado consiste em um ou mais recursos e um rótulo. Por exemplo, em um conjunto de dados de detecção de spam, o rótulo provavelmente seria "spam" ou "não é spam". Em um conjunto de dados de precipitação, o rótulo pode ser a quantidade de chuva que caiu durante um determinado período.

exemplo rotulado

#fundamentals

Um exemplo que contém um ou mais recursos e um rótulo. Por exemplo, a tabela a seguir mostra três exemplos rotulados de um modelo de avaliação de casas, cada um com três atributos e um rótulo:

Número de quartos Número de banheiros Idade da casa Preço da casa (etiqueta)
3 2 15 US$ 345.000
2 1 72 US$ 179.000
4 2 34 US$ 392.000

No machine learning supervisionado, os modelos são treinados com exemplos rotulados e fazem previsões com exemplos não rotulados.

Contraste com exemplos rotulados sem rótulos.

Lambda

#fundamentals

Sinônimo de taxa de regularização.

Lambda é um termo sobrecarregado. Aqui o foco é a definição do termo na regularização.

layer

#fundamentals

Um conjunto de neurônios em uma rede neural. Veja abaixo três tipos comuns de camadas:

Por exemplo, a ilustração a seguir mostra uma rede neural com uma camada de entrada, duas camadas ocultas e uma camada de saída:

Uma rede neural com uma camada de entrada, duas camadas ocultas e uma camada de saída. A camada de entrada consiste em dois recursos. A primeira camada escondida consiste em três neurônios e a segunda camada consiste em dois neurônios. A camada de saída consiste em um único nó.

No TensorFlow, as camadas também são funções do Python que usam Tensors e opções de configuração como entrada e produzem outros tensores como saída.

taxa de aprendizado

#fundamentals

Um número de ponto flutuante que informa ao algoritmo de gradiente descendente (em inglês) a intensidade do ajuste de pesos e vieses em cada iteração. Por exemplo, uma taxa de aprendizado de 0,3 ajustaria os pesos e vieses três vezes mais poderosamente do que uma taxa de aprendizado de 0,1.

A taxa de aprendizado é um hiperparâmetro importante. Se você definir a taxa de aprendizado muito baixa, o treinamento vai levar muito tempo. Se você definir a taxa de aprendizado muito alta, o gradiente descendente geralmente terá problemas para alcançar a convergência.

modelo linear

#fundamentals

Um modelo que atribui um peso por recurso para fazer previsões. Modelos lineares também incorporam um viés. Por outro lado, a relação entre recursos e previsões em modelos profundos geralmente é não linear.

Os modelos lineares geralmente são mais fáceis de treinar e interpretáveis do que os profundos. No entanto, modelos profundos podem aprender relações complexas entre recursos.

Regressão linear e regressão logística são dois tipos de modelos lineares.

linear

#fundamentals

Uma relação entre duas ou mais variáveis que podem ser representadas somente por meio de adição e multiplicação.

O gráfico de uma relação linear é uma linha.

Contraste com não linear.

regressão linear

#fundamentals

Um tipo de modelo de machine learning em que os dois itens a seguir são verdadeiros:

  • O modelo é linear.
  • A previsão é um valor de ponto flutuante. Essa é a parte de regressão da regressão linear.

Compare a regressão linear com a regressão logística. Além disso, faça a regressão de contraste com a classificação.

regressão logística

#fundamentals

Um tipo de modelo de regressão que prevê uma probabilidade. Os modelos de regressão logística têm as seguintes características:

  • O rótulo é categórico. O termo "regressão logística" geralmente se refere à regressão logística binária, ou seja, a um modelo que calcula as probabilidades de rótulos com dois valores possíveis. Uma variante menos comum, a regressão logística multinomial, calcula as probabilidades de rótulos com mais de dois valores possíveis.
  • A função de perda durante o treinamento é Log Loss. Várias unidades de perda de registro podem ser colocadas em paralelo para rótulos com mais de dois valores possíveis.
  • O modelo tem uma arquitetura linear, não uma rede neural profunda. No entanto, o restante dessa definição também se aplica a modelos profundos que preveem probabilidades de rótulos categóricos.

Por exemplo, considere um modelo de regressão logística que calcula a probabilidade de um e-mail de entrada ser spam ou não. Durante a inferência, suponha que o modelo preveja 0,72. Portanto, o modelo faz uma estimativa:

  • A probabilidade de o e-mail ser spam é de 72%.
  • 28% de chance de o e-mail não ser spam.

Um modelo de regressão logística usa a seguinte arquitetura de duas etapas:

  1. O modelo gera uma previsão bruta (y) ao aplicar uma função linear de recursos de entrada.
  2. O modelo usa essa previsão bruta como entrada para uma função sigmoide, que a converte em um valor entre 0 e 1, exclusivo.

Como qualquer modelo de regressão, um modelo de regressão logística prevê um número. No entanto, esse número geralmente se torna parte de um modelo de classificação binária da seguinte maneira:

  • Se o número previsto for maior do que o limite de classificação, o modelo de classificação binária prevê a classe positiva.
  • Se o número previsto for inferior ao limite de classificação, o modelo de classificação binária prevê a classe negativa.

Log perda

#fundamentals

A função de perda usada na regressão logística binária.

probabilidades de registro

#fundamentals

O logaritmo das probabilidades de algum evento.

perda

#fundamentals

Durante o treinamento de um modelo supervisionado, uma medida da distância entre a previsão de um modelo e seu rótulo.

Uma função de perda calcula a perda.

curva de perda

#fundamentals

Um gráfico de perda como uma função do número de iterações de treinamento. O gráfico a seguir mostra uma curva de perda típica:

Um gráfico cartesiano de perda versus iterações de treinamento, mostrando uma queda rápida na perda para as iterações iniciais, seguida por uma queda gradual e uma inclinação plana durante as iterações finais.

As curvas de perda podem ajudar a determinar quando o modelo está convergência ou overfitting.

As curvas de perda podem representar todos os tipos de perda a seguir:

Consulte também a curva de generalização.

função de perda

#fundamentals

Durante o treinamento ou teste, uma função matemática que calcula a perda em um lote de exemplos. Uma função de perda retorna uma perda menor para modelos que fazem boas previsões do que para modelos que fazem previsões ruins.

O objetivo do treinamento geralmente é minimizar a perda que uma função de perda retorna.

Existem muitos tipos diferentes de funções de perda. Escolha a função de perda apropriada para o tipo de modelo que você está criando. Exemplo:

M

machine learning

#fundamentals

Um programa ou sistema que treina um modelo a partir de dados de entrada. O modelo treinado pode fazer previsões úteis a partir de dados novos (nunca antes vistos) extraídos da mesma distribuição usada para treinar o modelo.

O aprendizado de máquina também se refere à área de estudo relacionada a esses programas ou sistemas.

maioria

#fundamentals

O rótulo mais comum em um conjunto de dados com desequilíbrio de classes. Por exemplo, considerando um conjunto de dados que contém 99% de rótulos negativos e 1% de marcadores positivos, os rótulos negativos são a classe majoritária.

Contraste com a classe de minoria.

minilote

#fundamentals

Um pequeno subconjunto selecionado aleatoriamente de um lote processado em uma iteração. O tamanho do lote de um minilote geralmente está entre 10 e 1.000 exemplos.

Por exemplo, suponha que todo o conjunto de treinamento (o lote completo) consista em 1.000 exemplos. Suponha ainda que você defina o tamanho do lote de cada minilote como 20. Portanto, cada iteração determina a perda em 20 dos 1.000 exemplos aleatórios e ajusta os weights e os viés de acordo.

É muito mais eficiente calcular a perda em um minilote do que a perda em todos os exemplos do lote completo.

classe minoritária

#fundamentals

O rótulo menos comum em um conjunto de dados desequilibrado de classes. Por exemplo, considerando um conjunto de dados que contém 99% de rótulos negativos e 1% de marcadores positivos, os marcadores positivos são a classe minoritária.

Contraste com a classe principal.

modelo

#fundamentals

Em geral, qualquer construção matemática que processe dados de entrada e retorne a saída. Expressado de maneira diferente, um modelo é o conjunto de parâmetros e estrutura necessários para que um sistema faça previsões. No machine learning supervisionado, um modelo usa um exemplo como entrada e infere uma predição como saída. No machine learning supervisionado, os modelos são um pouco diferentes. Exemplo:

  • Um modelo de regressão linear consiste em um conjunto de weights e um viés.
  • Um modelo de rede neural consiste em:
    • Um conjunto de camadas ocultas, cada uma contendo um ou mais neurônios.
    • Os pesos e a tendência associados a cada neurônio.
  • Um modelo de árvore de decisão consiste em:
    • O formato da árvore, ou seja, o padrão em que as condições e as folhas estão conectadas.
    • Condições e folhas.

É possível salvar, restaurar ou fazer cópias de um modelo.

Aprendizado de máquina não supervisionado também gera modelos, normalmente uma função que pode mapear um exemplo de entrada para o cluster mais apropriado.

classificação multiclasse

#fundamentals

No aprendizado supervisionado, há um problema de classificação em que o conjunto de dados contém mais de duas classes de rótulos. Por exemplo, os rótulos no conjunto de dados Iris precisam ser uma das três classes a seguir:

  • Iris setosa
  • Íris virginica
  • Íris versicolor

Um modelo treinado no conjunto de dados Iris que prevê o tipo Íris em novos exemplos está realizando uma classificação multiclasse.

Por outro lado, os problemas de classificação que distinguem exatamente duas classes são modelos de classificação binária. Por exemplo, um modelo de e-mail que prevê spam ou não é spam é um modelo de classificação binária.

Em problemas de clustering, a classificação multiclasse se refere a mais de dois clusters.

N

classe negativa

#fundamentals

Na classificação binária, uma classe é chamada de positiva e a outra é chamada de negativa. A classe positiva é a coisa ou evento que o modelo está testando e a classe negativa é a outra possibilidade. Exemplo:

  • A classe negativa em um exame médico pode ser "não tumor".
  • A classe negativa em um classificador de e-mail pode ser "não é spam".

Contraste com a classe positiva.

rede neural

#fundamentals

Um modelo que contém pelo menos uma camada oculta. Uma rede neural profunda é um tipo de rede neural que contém mais de uma camada oculta. Por exemplo, o diagrama a seguir mostra uma rede neural profunda que contém duas camadas ocultas.

Uma rede neural com uma camada de entrada, duas camadas ocultas e uma camada de saída.

Cada neurônio de uma rede neural se conecta a todos os nós da próxima camada. Por exemplo, no diagrama anterior, observe que cada um dos três neurônios na primeira camada oculta se conecta separadamente aos dois neurônios na segunda camada oculta.

As redes neurais implementadas em computadores às vezes são chamadas de redes neurais artificiais para diferenciá-las das redes neurais encontradas em cérebros e outros sistemas nervosos.

Algumas redes neurais podem imitar relações não lineares extremamente complexas entre diferentes recursos e o rótulo.

Consulte também rede neural convolucional e rede neural recorrente.

neurônio

#fundamentals

Em machine learning, uma unidade distinta dentro de uma camada oculta de uma rede neural. Cada neurônio realiza a seguinte ação de duas etapas:

  1. Calcula a soma ponderada dos valores de entrada multiplicados pelos pesos correspondentes.
  2. Transmite a soma ponderada como entrada para uma função de ativação.

Um neurônio na primeira camada oculta aceita entradas dos valores do atributo na camada de entrada. Um neurônio de qualquer camada escondida além da primeira aceita entradas dos neurônios da camada oculta anterior. Por exemplo, um neurônio na segunda camada oculta aceita entradas dos neurônios na primeira camada oculta.

A ilustração a seguir destaca dois neurônios e as respectivas entradas.

Uma rede neural com uma camada de entrada, duas camadas ocultas e uma camada de saída. Dois neurônios estão destacados: um na primeira camada oculta e um na segunda camada oculta. O neurônio destacado na primeira camada oculta recebe entradas dos dois recursos da camada de entrada. O neurônio destacado na segunda camada oculta recebe entradas de cada um dos três neurônios na primeira camada oculta.

Um neurônio em uma rede neural imita o comportamento dos neurônios no cérebro e em outras partes dos sistemas nervosos.

nó (rede neural)

#fundamentals

Um neurônio em uma camada oculta.

não linear

#fundamentals

Uma relação entre duas ou mais variáveis que não podem ser representadas exclusivamente por meio de adição e multiplicação. Um relacionamento linear pode ser representado como uma linha, enquanto um relacionamento não linear não pode ser representado como uma linha. Por exemplo, considere dois modelos que relacionam um único recurso a um único rótulo. O modelo à esquerda é linear e o modelo à direita não é linear:

Dois gráficos. Um gráfico é uma linha, portanto, essa é uma relação linear.
          O outro gráfico é uma curva, portanto, essa é uma relação não linear.

não estacionariedade

#fundamentals

Um recurso cujos valores mudam em uma ou mais dimensões, geralmente tempo. Por exemplo, considere os seguintes exemplos de não estação:

  • O número de trajes de banho vendidos em uma loja específica varia de acordo com a estação.
  • A quantidade de uma determinada colheita coletada em uma determinada região é zero durante grande parte do ano, mas grande por um breve período.
  • Devido às mudanças climáticas, as temperaturas médias anuais estão mudando.

Contraste com a estabilidade.

normalização

#fundamentals

Em termos gerais, o processo de conversão do intervalo real de valores de uma variável em um intervalo padrão de valores, como:

  • -1 a +1
  • 0 a 1
  • a distribuição normal

Por exemplo, suponha que o intervalo real de valores de um determinado atributo seja de 800 a 2.400. Como parte da engenharia de atributos, é possível normalizar os valores reais para um intervalo padrão, como -1 a +1.

A normalização é uma tarefa comum na engenharia de atributos. Os modelos geralmente são treinados mais rapidamente (e produzem previsões melhores) quando todos os atributos numéricos no vetor de atributos têm aproximadamente o mesmo intervalo.

dados numéricos

#fundamentals

Recursos representados como números inteiros ou números de valor real. Por exemplo, um modelo de avaliação de casas provavelmente representa o tamanho de uma casa (em pés quadrados ou metros quadrados) como dados numéricos. A representação de um atributo como dados numéricos indica que os valores do atributo têm uma relação matemática com o rótulo. Ou seja, o número de metros quadrados em uma casa provavelmente tem alguma relação matemática com o valor da casa.

Nem todos os dados inteiros devem ser representados como dados numéricos. Por exemplo, códigos postais em algumas partes do mundo são números inteiros. No entanto, os códigos postais inteiros não devem ser representados como dados numéricos em modelos. Isso ocorre porque um código postal de 20000 não tem o dobro da metade de um código postal de 10.000. Além disso, embora diferentes códigos postais sejam correlacionados a diferentes valores de imóveis, não podemos presumir que os valores de imóveis no código postal 20000 sejam tão valiosos quanto os valores em CEPs 10000. Os códigos postais precisam ser representados como dados categóricos.

Às vezes, os atributos numéricos são chamados de atributos contínuos.

O

offline

#fundamentals

Sinônimo de static.

inferência off-line

#fundamentals

O processo de um modelo que gera um lote de previsões e, em seguida, armazena em cache (salva) essas previsões. Assim, os aplicativos podem acessar a previsão desejada no cache em vez de executar o modelo novamente.

Por exemplo, considere um modelo que gere previsões meteorológicas locais (previsões) uma vez a cada quatro horas. Após a execução de cada modelo, o sistema armazena em cache todas as previsões meteorológicas locais. Os apps de previsão do tempo recuperam as previsões do cache.

A inferência off-line também é chamada de inferência estática.

Contraste com a inferência on-line.

codificação one-hot

#fundamentals

representação de dados categóricos como um vetor;

  • Um elemento é definido como 1.
  • Todos os outros elementos são definidos como 0.

A codificação one-hot geralmente é usada para representar strings ou identificadores que têm um conjunto finito de valores possíveis. Por exemplo, suponha que um determinado recurso categórico chamado Scandinavia tenha cinco valores possíveis:

  • "Dinamarca"
  • "Suécia"
  • "Noruega"
  • "Finlândia"
  • "Islândia"

A codificação one-hot pode representar cada um dos cinco valores da seguinte maneira:

país Vetor
"Dinamarca" 1 0 0 0 0
"Suécia" 0 1 0 0 0
"Noruega" 0 0 1 0 0
"Finlândia" 0 0 0 1 0
"Islândia" 0 0 0 0 1

Graças à codificação one-hot, um modelo pode aprender conexões diferentes com base em cada um dos cinco países.

Representar um recurso como dados numéricos é uma alternativa à codificação one-hot. Infelizmente, representar numericamente os países escandinavos não é uma boa escolha. Por exemplo, considere a seguinte representação numérica:

  • "Dinamarca" é 0
  • "Suécia" é 1
  • "Noruega" é 2
  • "Finlândia" é 3
  • "Islândia" é 4

Com a codificação numérica, um modelo interpretaria os números brutos matematicamente e tentaria treinar nesses números. No entanto, a Islândia não chega a duas vezes (ou metade) de algo na Noruega, então o modelo chegaria a conclusões estranhas.

um contra todos

#fundamentals

Dado um problema de classificação em N classes, uma solução composta de N classificadores binários separados, um classificador binário para cada resultado possível. Por exemplo, considerando um modelo que classifica exemplos como animais, vegetais ou minerais, uma solução de um para todos fornece os três classificadores binários separados:

  • animal x não animal
  • vegetal x não vegetal
  • mineral x não mineral

on-line

#fundamentals

Sinônimo de dynamic.

inferência on-line

#fundamentals

Gerando previsões sob demanda. Por exemplo, suponha que um app transmita entrada para um modelo e emita uma solicitação de previsão. Um sistema que usa inferência on-line responde à solicitação executando o modelo e retornando a previsão para o aplicativo.

Contraste com a inferência off-line.

camada de saída

#fundamentals

A camada "final" de uma rede neural. A camada de saída contém a previsão.

A ilustração a seguir mostra uma pequena rede neural profunda com uma camada de entrada, duas camadas ocultas e uma camada de saída:

Uma rede neural com uma camada de entrada, duas camadas ocultas e uma camada de saída. A camada de entrada consiste em dois recursos. A primeira camada escondida consiste em três neurônios e a segunda camada consiste em dois neurônios. A camada de saída consiste em um único nó.

overfitting

#fundamentals

Criar um modelo que corresponda aos dados de treinamento de modo que o modelo não faça previsões corretas sobre novos dados.

A regularização pode reduzir o overfitting. O treinamento em um conjunto de treinamento grande e diversificado também pode reduzir o overfitting.

P

pandas

#fundamentals

Uma API de análise de dados orientada por colunas criada com base em numpy. Muitos frameworks de machine learning, incluindo o TensorFlow, são compatíveis com estruturas de dados pandas como entradas. Consulte a documentação do pandas para mais detalhes.

parameter

#fundamentals

Os pesos e os vieses que um modelo aprende durante o treinamento. Por exemplo, em um modelo de regressão linear, os parâmetros consistem no viés (b) e todos os pesos (w1, w2 e assim por diante) na seguinte fórmula:

$$y' = b + w_1x_1 + w_2x_2 + … w_nx_n$$

Por outro lado, hiperparâmetro são os valores que você (ou um serviço de conversão de hiperparâmetros) fornece ao modelo. Por exemplo, a taxa de aprendizado é um hiperparâmetro.

classe positiva

#fundamentals

A classe para a qual você está testando.

Por exemplo, a classe positiva em um modelo de câncer pode ser "tumor". A classe positiva em um classificador de e-mail pode ser "spam".

Contraste com a classe negativa.

pós-processamento

#fairness
#fundamentals

Ajustar a saída de um modelo após a execução do modelo. O pós-processamento pode ser usado para impor restrições de imparcialidade sem modificar os próprios modelos.

Por exemplo, é possível aplicar o pós-processamento a um classificador binário definindo um limiar de classificação para que a igualdade de oportunidade seja mantida para algum atributo verificando se a taxa positiva verdadeira é a mesma para todos os valores desse atributo.

previsão

#fundamentals

A saída de um modelo. Exemplo:

  • A previsão de um modelo de classificação binária é a classe positiva ou a classe negativa.
  • A previsão de um modelo de classificação multiclasse é uma classe.
  • A previsão de um modelo de regressão linear é um número.

rótulos de proxy

#fundamentals

Dados usados para aproximar rótulos não disponíveis diretamente em um conjunto de dados.

Por exemplo, suponha que você precise treinar um modelo para prever o nível de estresse de funcionários. Seu conjunto de dados contém muitos recursos preditivos, mas não um rótulo chamado nível de estresse. Não intimidado, você escolhe "acidentes de local de trabalho" como um rótulo de proxy para o nível de estresse. Afinal, os funcionários sob alto estresse sofrem mais acidentes do que os calmos. Ou eles? Talvez os acidentes de trabalho aumentem e caiam por vários motivos.

Como segundo exemplo, suponha que você queira que está chovendo? seja um rótulo booleano para o conjunto de dados, mas ele não contenha dados de chuva. Se houver fotografias disponíveis, você poderá tirar fotos de pessoas com guarda-sóis como uma etiqueta indicadora de está chovendo? Esse é um bom rótulo de proxy? Possivelmente, mas as pessoas em algumas culturas podem estar mais propensas a carregar guarda-sóis para se protegerem do sol do que da chuva.

Os rótulos de proxy geralmente são imperfeitos. Sempre que possível, escolha rótulos reais em vez de rótulos de proxy. Dito isso, quando um rótulo real estiver ausente, escolha o rótulo de proxy com muito cuidado, escolhendo a opção menos horrível.

Direita

avaliador

#fundamentals

Uma pessoa que fornece rótulos para exemplos. "Anotador" é outro nome para rotulador.

Unidade linear retificada (ReLU)

#fundamentals

Uma função de ativação com o seguinte comportamento:

  • Se a entrada for negativa ou zero, a saída será 0.
  • Se a entrada for positiva, a saída será igual à entrada.

Exemplo:

  • Se a entrada for -3, a saída será 0.
  • Se a entrada for +3, a saída será 3.0.

Veja um gráfico de ReLU:

Um gráfico cartesiano de duas linhas. A primeira linha tem um valor constante de y igual a 0, que se estende ao longo do eixo x de -infinito,0 a 0,-0.
          A segunda linha começa em 0,0. Essa linha tem uma inclinação de +1. Portanto, ela é executada de 0,0 a +infinito,+infinito.

ReLU é uma função de ativação muito popular. Apesar do comportamento simples, a ReLU ainda permite que uma rede neural aprenda relações não lineares entre recursos e rótulo.

modelo de regressão

#fundamentals

Um modelo que gera uma previsão numérica de maneira informal. Por outro lado, um modelo de classificação gera uma previsão de classe. Por exemplo, todos os modelos de regressão a seguir são:

  • Um modelo que prevê o valor de uma casa, como 423.000 euros.
  • Um modelo que prevê a expectativa de vida de uma determinada árvore, como 23,2 anos.
  • Um modelo que prevê a quantidade de chuva que cairá em uma determinada cidade nas próximas seis horas, como 0,18 pol.

Dois tipos comuns de modelos de regressão são:

  • Regressão linear, que encontra a linha que melhor se ajusta aos valores do rótulo para os atributos.
  • Regressão logística, que gera uma probabilidade entre 0,0 e 1,0 que um sistema normalmente mapeia para uma previsão de classe.

Nem todo modelo que gera previsões numéricas é um modelo de regressão. Em alguns casos, uma previsão numérica é apenas um modelo de classificação que tem nomes de classe numéricos. Por exemplo, um modelo que prevê um código postal numérico é um modelo de classificação, não um modelo de regressão.

regularização

#fundamentals

Qualquer mecanismo que reduz o overfitting. Os tipos mais comuns de regularização incluem:

A regularização também pode ser definida como a penalidade na complexidade de um modelo.

taxa de regularização

#fundamentals

Um número que especifica a importância relativa de regularização durante o treinamento. Aumentar a taxa de regularização reduz o overfitting, mas pode reduzir a capacidade de previsão do modelo. Por outro lado, reduzir ou omitir a taxa de regularização aumenta o overfitting.

ReLU

#fundamentals

Abreviação de Unidade Linear Retificada.

Curva ROC (característica de operação do destinatário)

#fundamentals

Um gráfico de taxa de verdadeiro positivo x taxa de falso positivo para diferentes limites de classificação na classificação binária.

A forma de uma curva ROC sugere a capacidade de um modelo de classificação binária de separar classes positivas de classes negativas. Suponha, por exemplo, que um modelo de classificação binária separe perfeitamente todas as classes negativas de todas as classes positivas:

Uma linha numérica com oito exemplos positivos no lado direito e sete exemplos negativos no lado esquerdo.

A curva ROC do modelo anterior é semelhante a esta:

Uma curva ROC. O eixo x é a taxa de falso positivo, e o eixo y, a taxa de verdadeiro positivo. A curva tem uma forma invertida de L. A curva começa em (0.0,0.0) e vai direto para (0.0,1.0). Em seguida, a curva passa de (0.0,1.0) para (1.0,1.0).

Por outro lado, a ilustração a seguir exibe os valores brutos de regressão logística de um modelo terrível que não consegue separar classes negativas das classes positivas:

Uma linha numérica com exemplos positivos e classes negativas completamente misturadas.

A curva ROC desse modelo tem a seguinte aparência:

Uma curva ROC, que na verdade é uma linha reta de (0.0,0.0) a (1.0,1.0).

Enquanto isso, no mundo real, a maioria dos modelos de classificação binária separa classes positivas e negativas até certo ponto, mas geralmente não é perfeitamente. Assim, uma curva ROC típica fica em algum lugar entre os dois extremos:

Uma curva ROC. O eixo x é a taxa de falso positivo, e o eixo y, a taxa de verdadeiro positivo. A curva ROC se aproxima de um arco instável que atravessa os pontos da bússola de Oeste para Norte.

O ponto em uma curva ROC mais próximo de (0.0,1.0) teoricamente identifica o limiar de classificação ideal. No entanto, vários outros problemas reais influenciam a seleção do limiar de classificação ideal. Por exemplo, talvez os falsos negativos causem muito mais dor do que os falsos positivos.

Uma métrica numérica chamada AUC resume a curva ROC em um único valor de ponto flutuante.

Raiz do erro quadrático médio (RMSE)

#fundamentals

A raiz quadrada do erro quadrático médio.

S

função sigmoide

#fundamentals

Uma função matemática que "esmaga" um valor de entrada para um intervalo restrito, geralmente de 0 a 1 ou -1 a +1. Ou seja, é possível transmitir qualquer número (dois, um milhão, negativo de bilhões, o que for) para um sigmoide e a saída ainda estará no intervalo restrito. Um gráfico da função de ativação sigmoide tem a seguinte aparência:

Um gráfico de curva bidimensional com valores x que abrangem o domínio -infinito a +positivo, enquanto os valores de y abrangem o intervalo de quase 0 a quase 1. Quando x é 0, y é 0,5. A inclinação da curva é sempre positiva, com a inclinação mais alta a 0,0.5 e diminuindo gradualmente as encostas à medida que o valor absoluto de x aumenta.

A função sigmoide tem várias utilidades no machine learning, incluindo:

softmax

#fundamentals

Uma função que determina probabilidades para cada classe possível em um modelo de classificação multiclasse. As probabilidades somam exatamente 1,0. Por exemplo, a tabela a seguir mostra como o softmax distribui probabilidades diversas:

A imagem é um... Probabilidade
dog 0,85
cat 0,13
cavalo 0,02

Softmax também é chamado de softmax completo.

Contraste com a amostragem de candidatos.

atributo esparso

#language
#fundamentals

Um feature cujos valores são predominantemente zero ou vazios. Por exemplo, um recurso que contém um único valor de 1 e um milhão de valores de 0 é esparso. Por outro lado, um recurso denso tem valores predominantemente diferentes de zero ou vazios.

No machine learning, um número surpreendente de atributos é esparso. Os atributos categóricos geralmente são esparsos. Por exemplo, entre as 300 espécies de árvores possíveis em uma floresta, um único exemplo pode identificar apenas uma árvore de bordo. Ou entre os milhões de vídeos possíveis em uma biblioteca de vídeos, um único exemplo pode identificar apenas "Casablanca".

Em um modelo, você normalmente representa atributos esparsos com codificação one-hot. Se a codificação one-hot for grande, coloque uma camada de incorporação na parte superior para aumentar a eficiência.

representação esparsa

#language
#fundamentals

Armazenamento apenas das posições dos elementos diferentes de zero em um recurso esparso.

Por exemplo, suponha que um recurso categórico chamado species identifique as 36 espécies de árvore em uma floresta específica. Além disso, suponha que cada exemplo identifique apenas uma única espécie.

Você pode usar um vetor one-hot para representar as espécies de árvores em cada exemplo. Um vetor one-hot teria um único 1 (para representar a espécie específica da árvore nesse exemplo) e 35 0s (para representar as 35 espécies de árvore não neste exemplo). Portanto, a representação one-hot de maple pode ter esta aparência:

Um vetor em que as posições de 0 a 23 contêm o valor 0, a posição 24 mantém o valor 1 e as posições 25 a 35 contêm o valor 0.

Como alternativa, a representação esparsa simplesmente identificaria a posição de determinadas espécies. Se maple estiver na posição 24, a representação esparsa de maple será simplesmente:

24

Observe que a representação esparsa é muito mais compacta do que a representação one-hot.

vetor esparso

#fundamentals

Um vetor cujos valores são principalmente zeros. Consulte também recurso esparso e paridade.

perda quadrática

#fundamentals

Sinônimo de L2 perda.

static

#fundamentals

Algo feito uma única vez em vez de continuamente. Os termos static e offline são sinônimos. Veja a seguir usos comuns de static e offline no aprendizado de máquina:

  • modelo estático (ou modelo off-line) é um modelo treinado uma vez e usado por um tempo.
  • O treinamento estático (ou treinamento off-line) é o processo de treinamento de um modelo estático.
  • A inferência estática (ou inferência off-line) é um processo em que um modelo gera um lote de predições por vez.

Contraste com dinâmico.

inferência estática

#fundamentals

Sinônimo de inferência off-line.

estacionariedade

#fundamentals

Um recurso cujos valores não mudam em uma ou mais dimensões, geralmente tempo. Por exemplo, um atributo cujos valores têm a mesma aparência em 2021 e 2023 expõe a inatividade.

No mundo real, poucos recursos exibem estabilidade. Até mesmo recursos sinônimos de estabilidade (como o nível do mar) mudam com o tempo.

Contraste com a não estação de trabalho.

gradiente descendente estocástico (SGD)

#fundamentals

Um algoritmo de gradiente descendente em que o tamanho do lote é um. Em outras palavras, o SGD treina em um único exemplo escolhido de maneira uniforme e aleatória de um conjunto de treinamento.

machine learning supervisionado

#fundamentals

Treinamento de um modelo a partir de recursos e seus rótulos correspondentes. O aprendizado de máquina supervisionado é análogo ao aprendizado de um assunto estudando um conjunto de perguntas e as respostas correspondentes. Depois de dominar o mapeamento entre perguntas e respostas, o aluno pode responder a perguntas novas (nunca antes vistas) sobre o mesmo tópico.

Compare com o machine learning não supervisionado.

recurso sintético

#fundamentals

Um recurso não está presente entre os recursos de entrada, mas montado de um ou mais deles. Os métodos para criar recursos sintéticos incluem:

  • Agrupamento por classes de um atributo contínuo em agrupamentos de intervalos.
  • Como criar um cruzamento de atributos.
  • Multiplicar (ou dividir) um valor de atributo por outros valores de atributo ou por si só. Por exemplo, se a e b forem recursos de entrada, estes serão exemplos de recursos sintéticos:
    • ab
    • a2
  • Aplicação de uma função transcendental a um valor de atributo. Por exemplo, se c for um recurso de entrada, os seguintes serão exemplos de recursos sintéticos:
    • sen(c).
    • ln(c).

Recursos criados por normalização ou escalonamento não são considerados recursos sintéticos.

T

perda de teste

#fundamentals

Uma métrica que representa a perda de um modelo em relação ao conjunto de teste. Ao criar um modelo, você geralmente tenta minimizar a perda de testes. Isso ocorre porque uma baixa perda de teste é um indicador de qualidade mais forte do que uma baixa perda de treinamento ou uma perda de validação baixa.

Uma grande lacuna entre a perda de teste e a perda de treinamento ou perda às vezes sugere que você precisa aumentar a taxa de regularização.

Treinamento

#fundamentals

O processo de determinar os parâmetros (pesos e vieses) ideais que compõem um modelo. Durante o treinamento, um sistema lê exemplos e ajusta os parâmetros gradualmente. O treinamento usa cada exemplo de algumas vezes a bilhões de vezes.

perda de treinamento

#fundamentals

Uma métrica que representa a perda de um modelo durante uma iteração de treinamento específica. Por exemplo, suponha que a função de perda seja Média do erro quadrático. Talvez a perda de treinamento (o erro quadrático médio) da 10a iteração seja de 2,2, e a perda de treinamento da 100a iteração seja de 1,9.

Uma curva de perda representa a perda de treinamento em comparação com o número de iterações. Uma curva de perda fornece as seguintes dicas sobre treinamento:

  • Uma inclinação descendente indica que o modelo está melhorando.
  • Uma inclinação para cima indica que o modelo está piorando.
  • Uma inclinação plana indica que o modelo alcançou a convergência.

Por exemplo, a seguinte curva de perda idealmente otimizada mostra:

  • Uma inclinação íngreme descendente durante as iterações iniciais, o que implica em melhoria rápida do modelo.
  • Uma inclinação gradualmente plana (mas ainda para baixo) até perto do final do treinamento, o que implica a melhoria contínua do modelo em um ritmo um pouco mais lento do que durante as iterações iniciais.
  • Uma inclinação plana em direção ao final do treinamento, que sugere convergência.

O gráfico de perda de treinamento em comparação às iterações. Essa curva de perda começa com uma inclinação íngreme decrescente. A inclinação é nivelada gradualmente até que a inclinação se torne zero.

A perda de treinamento é importante, mas consulte também a generalização.

distorção entre treinamento e exibição

#fundamentals

A diferença entre o desempenho de um modelo durante o treinamento e o desempenho do mesmo modelo durante a exibição.

conjunto de treinamento

#fundamentals

O subconjunto do conjunto de dados usado para treinar um modelo.

Tradicionalmente, os exemplos no conjunto de dados são divididos nos três subconjuntos distintos a seguir:

O ideal é que cada exemplo no conjunto de dados pertença a apenas um dos subconjuntos anteriores. Por exemplo, um único exemplo não pode pertencer ao conjunto de treinamento e ao conjunto de validação.

verdadeiro negativo (TN)

#fundamentals

Um exemplo em que o modelo prevê corretamente a classe negativa. Por exemplo, o modelo infere que uma mensagem de e-mail específica não é spam e que essa mensagem de e-mail realmente não é spam.

verdadeiro positivo (TP)

#fundamentals

Um exemplo em que o modelo prevê corretamente a classe positiva. Por exemplo, o modelo infere que uma determinada mensagem de e-mail é spam e que essa mensagem é realmente spam.

taxa de verdadeiro positivo (TPR)

#fundamentals

Sinônimo de recall. Ou seja:

$$\text{true positive rate} = \frac{\text{true positives}} {\text{true positives} + \text{false negatives}}$$

A taxa de verdadeiro positivo é o eixo y de uma curva ROC.

U

underfitting

#fundamentals

produção de um modelo com baixa capacidade preditiva, porque ele não capturou totalmente a complexidade dos dados de treinamento. Muitos problemas podem causar underfitting, incluindo:

exemplo sem marcador

#fundamentals

Um exemplo que contém features, mas nenhum label. Por exemplo, a tabela a seguir mostra três exemplos sem rótulos de um modelo de avaliação de casas, cada um com três atributos, mas sem valor interno:

Número de quartos Número de banheiros Idade da casa
3 2 15
2 1 72
4 2 34

No machine learning supervisionado, os modelos são treinados com exemplos rotulados e fazem previsões com exemplos não rotulados.

No aprendizado semisupervisionado e não supervisionado, são usados exemplos não rotulados durante o treinamento.

Comparar exemplo sem rótulo a exemplo rotulado.

machine learning não supervisionado

#clustering
#fundamentals

Treinamento de um modelo para encontrar padrões em um conjunto de dados, normalmente um conjunto de dados não rotulado.

O uso mais comum de machine learning não supervisionado é agrupar dados em grupos de exemplos semelhantes. Por exemplo, um algoritmo de aprendizado de máquina não supervisionado pode agrupar músicas com base em várias propriedades da música. Os clusters resultantes podem se tornar uma entrada para outros algoritmos de machine learning (por exemplo, para um serviço de recomendação de música). O clustering pode ajudar quando rótulos úteis são escassos ou ausentes. Por exemplo, em domínios como antiabuso e fraude, os clusters podem ajudar as pessoas a entender melhor os dados.

Contraste com o machine learning supervisionado.

V

validação

#fundamentals

A avaliação inicial da qualidade de um modelo. A validação verifica a qualidade das previsões de um modelo em relação ao conjunto de validação.

Como o conjunto de validação é diferente do conjunto de treinamento, a validação ajuda a proteger contra o overfitting.

Pense no modelo em relação ao conjunto de validação como a primeira rodada de testes e ao conjunto de testes como a segunda rodada de testes.

perda de validação

#fundamentals

Uma métrica que representa a perda de um modelo no conjunto de validação durante uma iteração específica do treinamento.

Consulte também a curva de generalização.

conjunto de validação

#fundamentals

O subconjunto do conjunto de dados que realiza a avaliação inicial em relação a um modelo treinado. Normalmente, você avalia o modelo treinado em relação ao conjunto de validação várias vezes antes de avaliar o modelo em relação ao conjunto de teste.

Tradicionalmente, você divide os exemplos no conjunto de dados nos três subconjuntos distintos a seguir:

O ideal é que cada exemplo no conjunto de dados pertença a apenas um dos subconjuntos anteriores. Por exemplo, um único exemplo não pode pertencer ao conjunto de treinamento e ao conjunto de validação.

Qua

peso

#fundamentals

Um valor que um modelo multiplica por outro valor. Treinamento é o processo de determinação dos pesos ideais de um modelo. Inferência é o processo de usar esses pesos aprendidos para fazer previsões.

soma dos pesos

#fundamentals

A soma de todos os valores de entrada relevantes multiplicados pelos pesos correspondentes. Por exemplo, suponha que as entradas relevantes consistam no seguinte:

valor de entrada peso de entrada
2 -1,3
-1 0,6
3 0,4

Portanto, a soma ponderada será:

weighted sum = (2)(-1.3) + (-1)(0.6) + (3)(0.4) = -2.0

Uma soma ponderada é o argumento de entrada para uma função de ativação.

Z

Normalização de pontuação Z

#fundamentals

Uma técnica de escalonamento que substitui um valor bruto de feature por um valor de ponto flutuante que representa o número de desvios padrão da média desse recurso. Por exemplo, considere um recurso cuja média seja 800 e seu desvio padrão seja 100. Veja na tabela a seguir como a normalização da pontuação Z mapeia o valor bruto para a pontuação Z:

Valor bruto Pontuação Z
800 0
950 +1,5
575 -2,25

O modelo de machine learning é treinado nos Z-scores desse recurso, e não nos valores brutos.