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, $x_1$, é descrito pela equação linear:

$$y = b + w_1x_1$$

Os recursos adicionais são processados pela adição de termos \(w_2x_2\), \(w_3x_3\)etc.

A descida do gradiente encontra o peso $w_1$ (ou pesos \(w_1\), \(w_2\), \(w_3\), 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, \(x_2\), que é simplesmente \(x_1\) ao quadrado:

$$x_2 = x_1^2$$

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

$$y = b + w_1x_1 + w_2x_2$$

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 + w_1x + w_2x^2$.

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.