Dados numéricos: transformações polinomiais

Às vezes, quando o profissional de ML tem conhecimento de domínio que sugere que uma variável está relacionada ao quadrado, ao cubo ou a outra potência de outra variável, é útil criar um recurso sintético de um dos recursos numéricos existentes.

Considere a seguinte distribuição de pontos de dados, em que círculos rosa representam uma classe ou categoria (por exemplo, uma espécie de árvore) e triângulos verdes outra classe (ou espécie de árvore):

Figura 17. Distribuição de pontos de dados y=x^2, com triângulos abaixo da
            curva e círculos acima dela.
Figura 17. Duas classes que não podem ser separadas por uma linha.

Não é possível desenhar uma linha reta que separe claramente as duas classes, mas é possível desenhar uma curva que faça isso:

Figura 18. Mesma imagem da Figura 17, só que com y=x^2
            sobreposto para criar um limite claro entre os triângulos e
            círculos.
Figura 18. Separar as classes com y = x2.

Conforme discutido no módulo de regressão linear, um modelo linear com um recurso, x1, é descrito pela equação linear:

y=b+w1x1

Os recursos adicionais são processados pela adição de termos w2x2, w3x3etc.

A descida do gradiente encontra o peso w1 (ou pesos w1, w2, w3, no caso de recursos adicionais) que minimiza a perda do modelo. No entanto, os pontos de dados mostrados não podem ser separados por uma linha. O que posso fazer?

É possível manter a equação linear e permitir a não linearidade definindo um novo termo, x2, que é simplesmente x1 ao quadrado:

x2=x12

Esse atributo sintético, chamado de transformação polinomial, é tratado como qualquer outro. A fórmula linear anterior passa a ser:

y=b+w1x1+w2x2

Isso ainda pode ser tratado como um problema de regressão linear, e os pesos determinados pelo gradiente descendente, como de costume, apesar de conter um termo quadrado oculto, a transformação polinomial. Sem mudar a forma como o modelo linear é treinado, a adição de uma transformação polinomial permite que o modelo separe os pontos de dados usando uma curva da forma y=b+w1x+w2x2.

Normalmente, o recurso numérico de interesse é multiplicado por ele mesmo, ou seja, ele é elevado a alguma potência. Às vezes, um profissional de ML pode fazer uma estimativa informada sobre o expoente adequado. Por exemplo, muitas relações no mundo físico estão relacionadas a termos quadrados, incluindo a aceleração devido à gravidade, a atenuação da luz ou do som à distância e a energia potencial elástica.

Se você transformar um recurso de uma maneira que mude a escala dele, experimente também a normalização. A normalização após a transformação pode melhorar a performance do modelo. Para mais informações, consulte Dados numéricos: normalização.

Um conceito relacionado nos dados categóricos é o cruzamento de atributos, que sintetiza com mais frequência dois atributos diferentes.