Todo o conteúdo desta página é apenas uma parte do que está descrito no documento que, de fato, detalha matematicamente tanto os processos utilizados para geração dos dados quanto a metodologia RBF-FD. Tal documento pode ser acessado clicando AQUI. Além do texto em PDF, também há um vídeo de cerca de trinta minutos, feito por nós, que passa por cima de todo o conteúdo do artigo e do site, além de mostrar o código por trás de tudo. Tal vídeo pode ser encontrado ao clicar AQUI.
A técnica Função de Base Radial (RBF, do inglês Radial Basis Function) consiste em uma função com uma grande pluraridade de aplicações. Podemos encontrar casos em que ela é usada para aproximar, interpolar ou suavizar dados em qualquer dimensão, baseando-se sempre na distância entre pontos. RBF pode ser também usado no contexto de diferenciação numérica, e sua variante é chamada de RBF Finite Differences (RBF-FD), técnica que computa derivadas baseadas em uma generalização da técnica de diferenças finitas por meio de interpolações sem dependência de malhas.
Neste trabalho apresentamos a aplicação da RBF-FD para computar derivadas parciais em dados de alta dimensionalidade. No caso dos experimentos aqui apresentados, criamos um dataset com 1000 amostras de 4 dimensões. Utilizamos uma função diferenciável pré-definida para comparar a derivada parcial estimada pela técnica RBF-FD com o valor da derivada analítica. Para visualizar os dados, estamos utilizando as técnicas PCA, t-SNE, e UMAP.
Uma RBF é uma função ϕ que mapeia um ponto n-dimensional x a um número real, utilizando a distância de x a seus k vizinhos. Neste caso, utiliza-se uma spline poli-harmônica com potências ímpares. A RBF-FD é uma técnica numérica meshfree para aproximar derivadas em equações diferenciais, substituindo os esquemas tradicionais de diferenças finitas por aproximações baseadas em RBF. Isso torna a técnica bastante poderosa devido à dependência apresentada em esquemas tradicionais de uma grade ortogonal bem organizada. Para mais detalhes de implementação do método de estimação de derivadas, veja o documento referenciado no topo da página.
A geração do conjunto de dados seguiu diretamente um exemplo presente na literatura (ver citação no documento). No artigo em questão, os autores geram dois conjuntos de dados sintéticos para mostrar a eficácia do método de explicabilidade proposto. Aqui, reproduzimos o primeiro conjunto de dados sintético, um conjunto 4-dimensional (4-FT). Para mais detalhes, consultar o documento.
Como mencionado neste texto, dada uma função multivariada f e um conjunto de pontos em um espaço Euclidiano de dimensão n, podemos estimar o valor do gradiente de f em cada um desses pontos por meio de um método numérico usando RBF‑FD, detalhado acima. O gradiente resultante pode ser comparado ao resultado analítico calculando-se ∇f simbolicamente, e a diferença entre os dois vetores é, por si só, um vetor n-dimensional que representa o erro absoluto da estimativa em cada eixo. Assim, podemos calcular sua magnitude, que representa a distância euclidiana entre a estimativa e o valor real do gradiente naquele ponto; chamaremos isso de "Métrica de Erro Euclidiana", ou MEE, abreviadamente.
Os gráficos de dispersão a seguir mostram a MEE para uma amostra semi‑aleatória de 1000 pontos em um espaço 4‑dimensional e a função f(x, y, z, w) = cos(zw) + exp(x) + y³. Observe que, devido à natureza de espaços de alta dimensão, os dados originais simplesmente não podem ser visualizados diretamente; para contornar isso, usamos técnicas de redução de dimensionalidade para incorporar os pontos 4D em um espaço 2D, de modo a visualizar facilmente os resultados. Aqui, foram utilizados três métodos de redução diferentes: Análise de Componentes Principais (PCA), t-Distributed Stochastic Neighbor Embedding (t‑SNE) e Uniform Manifold Approximation and Projection (UMAP). Este último possui um componente aleatório em seu algoritmo, de modo que a cada execução da redução a projeção pode variar; esta é apenas uma das possíveis incorporações UMAP para esse conjunto de pontos. Um mapa de cores sequencial perceptualmente uniforme foi usado para representar a MEE de cada ponto, usando uma escala logarítmica para facilitar a visualização, dado que a MEE é muito baixa para a maioria dos pontos.
Primeiro, observe que as incorporações apresentam aparências muito distintas. A PCA tende a manter a aparência geral e a distribuição dos dados originais, que neste caso é bastante “quadrada”. Por outro lado, o t‑SNE exibe um aspecto “trêmulo” muito característico, devido às forças de aproximação e separação do algoritmo, e não pode ser usado para fazer qualquer afirmação sobre a geometria dos dados, já que há tanta distorção que os eixos perdem seu significado; repare, também, na escala dos eixos, que mostra o quanto essa abordagem espalha os pontos no espaço 2D. Por fim, o UMAP revela um visual semelhante ao do t‑SNE, mas em uma escala muito menor — novamente, atente-se aos valores dos eixos.
Analisemos as MEE. Como podemos ver, mesmo os pontos com maior MEE não ultrapassam 0,01, o que nos diz, de forma geral, que a estimativa do gradiente não se desvia mais do que isso do resultado analítico como um todo, muito menos em qualquer eixo isoladamente. Também podemos observar algumas propriedades geométricas; para isso, vamos focar na incorporação via PCA. Note como a MEE tende a ser menor em direção ao centro do conjunto de dados, o que faz sentido quando lembramos que estamos usando diferenças finitas, afinal. Pontos nas bordas dispõem de menos — ou pelo menos de dados espaciais mais enviesados — para trabalhar, resultando em erros maiores, exatamente como vemos no gráfico, com tons mais quentes de amarelo nas extremidades da projeção — e, como a PCA não distorce os dados de modo significativo, o mesmo pode ser inferido para os dados originais em 4D.
As incorporações de t‑SNE e UMAP, no entanto, podem ser usadas para diferenciar classes — que estavam presentes nos dados originais — entre si. Aqui, não podemos fazer uma afirmação definitiva sobre quaisquer classes nos dados, pois os gráficos parecem apresentar alta conectividade, indicando que, se houvesse mistura de duas ou mais classes no conjunto, as diferenças seriam sutis demais para serem notadas. Contudo, os dados originais eram sintéticos e gerados por nós, então sabemos com certeza que existem, de fato, duas classes. Aparentemente, uma projeção 2D de um conjunto 4D não é suficiente para criar qualquer separação entre elas, mesmo com abordagens tão avançadas.
Se, em vez de calcular a magnitude do vetor de diferença absoluta, optarmos por ter um gráfico para cada um de seus eixos, acabamos com o seguinte resultado. Abaixo está um carrossel com quatro conjuntos de três gráficos cada; cada conjunto representa um dos quatro eixos dos dados originais, com as três diferentes incorporações para cada um, assim como acima. Aqui, tivemos o mesmo problema de antes quanto à ordem de grandeza dos erros; a maioria dos pontos apresentava erro absoluto muito baixo em todos os eixos. Para contornar isso, poderíamos ter usado uma escala logarítmica no mapa de cores, exatamente como fizemos nos gráficos de MEE. Porém, havia — obviamente — valores negativos nos vetores de erro. Assim, optamos por usar os valores absolutos desses erros, já que não importa se estamos superestimando ou subestimando: o que importa é o quão distantes estamos do resultado analítico esperado. Então, uma vez que só tínhamos valores positivos, aplicamos uma escala logarítmica no mapa de cores, e a visualização ficou novamente clara e organizada.
Conforme esperado, os erros mostrados aqui são menores do que as MEE para cada ponto, o que faz sentido, já que a MEE é um valor que representa os erros conjuntos de todos os eixos. Podemos prestar atenção especial aos gráficos relativos ao terceiro e quarto eixos; observe como o terceiro eixo apresenta maior erro nas extremidades superior‑esquerda e inferior‑direita da forma na incorporação PCA, enquanto o quarto eixo o faz nas extremidades superior‑direita e inferior‑esquerda. Isso pode nos fornecer insights sobre como os eixos z e w foram projetados no espaço 2D, bem como sobre a estrutura do próprio conjunto de dados: um erro-por-eixo mais elevado pode significar que, naquela fronteira, um ponto específico sofreu mais em relação àquele eixo devido à influência (ou ausência) de pontos vizinhos.
RBF-FD é uma ferramenta poderosa para computar derivadas parciais em alta dimensionalidade e sem necessidade de ter uma malha estruturada armazenando os dados de cada ponto. A relação dos pontos de estêncil necessários para computar derivadas numericamente pode ser obtida facilmente utilizando essa técnica. No entanto, alguns cuidados devem ser tomados. A definição da quantidade de pontos e do grau do polinômio afetam diretamente o resultado da aproximação. Outros parâmetros, como a potência da função RBF também deve ser ajustado para um resultado satisfatório.