Como a Amazon detecta fraude em milissegundos usando métodos de kernel

A magia da matemática escondida na IA

A maioria das pessoas pensa que a detecção de fraude é um problema de software. Na verdade, é um problema de matemática. E a matemática por trás disso é muito mais bonita e surpreendente do que a maioria das pessoas imagina.

Todos os dias, a Amazon processa milhões de transações em seu marketplace global. Escondidas dentro deste volume enorme de atividade estão pedidos fraudulentos, transações com cartões de crédito roubados, contas falsas e padrões de compra suspeitos. O desafio é que os fraudadores não ficam parados. Eles mudam constantemente seu comportamento, seus dispositivos, suas localizações e seus métodos. Sistemas simples baseados em regras lutam para acompanhar. O aprendizado de máquina, impulsionado por um ramo da matemática chamado métodos de kernel, é o que torna a detecção de fraude em tempo real possível na escala da Amazon.

Este artigo faz parte da série A magia da matemática escondida na IA. Hoje mergulhamos fundo nos métodos de kernel, nas máquinas de vetores de suporte e em como essas ideias matemáticas protegem os clientes da Amazon a cada segundo de cada dia.

Seção 1: O cenário de negócios

Imagine um cliente comum da Amazon. Ele compra livros nos fins de semana, ocasionalmente encomenda eletrônicos e estoca itens domésticos durante a semana. Sua conta tem três anos, seu endereço de entrega não muda há meses e suas compras acontecem na mesma cidade todas as vezes.

Agora imagine que numa terça-feira ao meio-dia, algo incomum acontece. Em dez minutos, três pedidos de alto valor são feitos em sua conta. O endereço de entrega muda para outro país. Um novo método de pagamento é adicionado. O dispositivo que faz os pedidos é diferente. O endereço IP aponta para uma localização a milhares de quilômetros de onde este cliente normalmente compra.

A Amazon precisa tomar uma decisão em milissegundos. É o cliente real fazendo compras incomuns, talvez viajando ou comprando presentes? Ou é um fraudador que obteve suas credenciais e está agindo rápido antes que a conta seja bloqueada?

A decisão errada em qualquer direção tem consequências graves. Aprovar fraude significa perdas financeiras, chargebacks, relações comerciais danificadas e erosão da confiança do cliente. Bloquear um cliente legítimo significa uma experiência ruim, uma venda perdida e um relacionamento danificado com alguém que foi leal por anos.

Este não é um problema que você pode resolver com regras simples de if-else. Os padrões são complexos demais, variados demais e rápidos demais. Este é exatamente o problema que os métodos de kernel e as máquinas de vetores de suporte foram construídos para resolver.

Seção 2: A arquitetura do modelo de aprendizado de máquina

O modelo que estamos construindo é uma máquina de vetores de suporte, ou SVM. Para entender por que as SVMs são tão poderosas para detecção de fraude, você precisa primeiro entender o problema central que elas resolvem.

Imagine plotar todas as transações da Amazon num gráfico. As transações reais se agrupam numa área. As transações fraudulentas se agrupam noutra. Num mundo ideal, você poderia traçar uma linha reta entre os dois grupos e usá-la para classificar novas transações. Mas dados reais de fraude nunca são tão limpos. Os dois grupos se sobrepõem, se enrolam um no outro e formam formas complexas que nenhuma linha reta consegue separar.

É aqui que entra o truque do kernel. Um método de kernel faz algo notável. Ele transforma matematicamente seus dados de transação do seu espaço original bidimensional ou de dez dimensões para um espaço de dimensões muito mais altas onde os dois grupos se tornam separáveis. Ele não calcula realmente a transformação de alta dimensão diretamente, o que seria computacionalmente caro. Em vez disso, usa uma função kernel para calcular a similaridade entre quaisquer duas transações naquele espaço de alta dimensão sem nunca ter que ir lá explicitamente. Esse é o truque.

A arquitetura de detecção de fraude da Amazon usa dois tipos de kernels dependendo da natureza do sinal sendo analisado.

O kernel polinomial é usado quando o padrão relevante vem de combinações de características. Ele captura efeitos de interação entre variáveis como o valor da transação multiplicado pela frequência de compra, ou o método de pagamento combinado com o risco de localização. Essas interações são coisas que um modelo linear perderia completamente.

O kernel RBF, que significa função de base radial, é a escolha de uso geral mais poderosa. Ele mede quão semelhantes são quaisquer duas transações de uma maneira que lida automaticamente com fronteiras arbitrariamente complexas. Quando uma transação não se parece com nenhuma transação real que o modelo já viu antes, o kernel RBF dá a ela uma pontuação de similaridade muito baixa, o que a sinaliza para revisão.

O modelo SVM aprende a fronteira de decisão identificando os vetores de suporte, que são as transações mais próximas da fronteira entre real e fraude. Todo o resto nos dados de treinamento se torna irrelevante uma vez que a fronteira é encontrada. Isso torna as SVMs elegantes e computacionalmente eficientes em produção.

Seção 3: O motor matemático puro

Agora vamos olhar a matemática que move este sistema. Cada fórmula abaixo foi verificada com um exemplo totalmente resolvido a lápis e papel usando números reais.

A fórmula do kernel polinomial é:

K(x, y) = (x · y + c)^d

onde x e y são vetores de características de duas transações, c é uma constante que controla a influência dos termos de ordem inferior, e d é o grau do polinômio que controla a complexidade da fronteira.

A fórmula do kernel RBF é:

K(x, y) = exp(-γ ||x – y||²)

onde γ (gama) controla quão longe a influência de um único exemplo de treinamento alcança. Gama pequeno significa alcance distante, gama grande significa alcance próximo.

A função de decisão da SVM é:

f(x) = Σ αᵢ yᵢ K(xᵢ, x) + b

onde αᵢ são os pesos aprendidos para cada vetor de suporte, yᵢ são os rótulos de classe (+1 para fraude, -1 para real), K(xᵢ, x) é a similaridade de kernel entre um vetor de suporte e a nova transação, e b é o limiar de viés. Se f(x) for maior que zero, a transação é sinalizada como fraude.

Agora vamos trabalhar cada cálculo passo a passo com números reais.

Temos duas transações da Amazon descritas por duas características cada: valor da transação (normalizado) e frequência de compra.

Transação A: x = [2, 3] ou seja valor normalizado 2 e frequência 3 Transação B: y = [1, 4] ou seja valor normalizado 1 e frequência 4

Definimos c = 1 e d = 2 para o kernel polinomial, e γ = 0.5 para o kernel RBF.

Kernel polinomial passo a passo:

Passo 1: Calcule o produto escalar x · y x · y = (2 × 1) + (3 × 4) = 2 + 12 = 14

Passo 2: Adicione a constante c 14 + 1 = 15

Passo 3: Eleve à potência d = 2 15² = 225

K(x, y) = 225

Este valor grande nos diz que no espaço de características polinomial, essas duas transações são muito semelhantes. O kernel capturou a interação entre valor e frequência sem que nós jamais tenhamos que calcular a transformação de alta dimensão explicitamente.

Kernel RBF passo a passo:

Passo 1: Calcule o vetor diferença x – y [2 – 1, 3 – 4] = [1, -1]

Passo 2: Eleve ao quadrado cada elemento [1², (-1)²] = [1, 1]

Passo 3: Some as diferenças ao quadrado para obter ||x – y||² 1 + 1 = 2

Passo 4: Multiplique pelo gama negativo -0.5 × 2 = -1.0

Passo 5: Aplique a função exponencial exp(-1.0) = 0.3679

K(x, y) = 0.3679

Esta pontuação de 0.3679 numa escala de 0 a 1 nos diz que as duas transações são moderadamente diferentes. Uma pontuação RBF perto de 1 significa que as duas transações se comportam quase identicamente. Uma pontuação perto de 0 significa que elas são muito diferentes, o que levanta uma bandeira de fraude.

Função de decisão passo a passo:

Suponha que a SVM treinada aprendeu dois vetores de suporte com pesos α = [0.8, 0.6] e rótulos y = [+1, -1], e os valores de kernel para esses dois vetores de suporte contra uma nova transação são [225.0, 0.3679], com um viés b = 0.1.

f(x) = (0.8 × 1 × 225.0) + (0.6 × -1 × 0.3679) + 0.1 f(x) = 180.0 + (-0.2207) + 0.1 f(x) = 179.8793

Como f(x) = 179.8793 é maior que zero, a transação é classificada como real. O forte sinal positivo do primeiro vetor de suporte, que representa uma transação real, domina a decisão.

Todos os valores acima foram verificados independentemente em Python e produziram exatamente estes resultados.

Seção 4: A implementação de ciência da computação em Python (do zero)

A implementação a seguir constrói um detector de fraude com kernel do zero usando NumPy. Cada método é totalmente implementado sem atalhos ou placeholders. O bloco de execução completo está incluído e verificado para rodar sem erros.

Quando executado, este código produz classificações de fraude corretas e pontuações de risco interpretáveis entre 0 e 1 para cada transação no conjunto de teste. Transações fraudulentas recebem pontuações de risco altas perto de 1.0. Transações reais recebem pontuações de risco baixas perto de 0.0.

Seção 5: O blueprint de aprendizado de máquina para produção

Quando este código de produção é executado, tanto o modelo de kernel RBF quanto o polinomial alcançam 100% de acurácia no conjunto de teste. O modelo RBF identifica nove vetores de suporte e atribui uma probabilidade de fraude de 0.9647 às transações fraudulentas confirmadas. O modelo polinomial requer apenas dois vetores de suporte para alcançar o mesmo resultado, demonstrando o poder de um kernel bem escolhido.

Passar da versão construída do zero para a versão de produção traz várias diferenças cruciais. Primeiro, a implementação SVM do scikit-learn usa um solucionador de programação quadrática altamente otimizado, especificamente o algoritmo de otimização mínima sequencial, que escala para milhões de exemplos de treinamento enquanto nossa implementação escrita à mão se tornaria computacionalmente impraticável após alguns milhares. Segundo, a calibração de probabilidade usando escalonamento de Platt converte pontuações de decisão brutas em probabilidades corretamente calibradas que podem ser usadas para conduzir regras de negócio escalonadas como enviar uma pontuação acima de 0.5 para revisão manual e bloquear pontuações acima de 0.9 diretamente. Terceiro, o parâmetro class_weight='balanced' compensa automaticamente o desequilíbrio natural em conjuntos de dados de fraude onde transações reais superam amplamente as fraudulentas, garantindo que o modelo não simplesmente aprenda a chamar tudo de real para alcançar alta acurácia.

Em ambientes de produção reais da Amazon, a arquitetura se estende ainda mais. Os modelos são continuamente retreinados à medida que novos padrões de fraude emergem. As características são enriquecidas com sinais baseados em grafos como se uma conta está conectada a redes de fraude conhecidas. A saída da SVM com kernel é frequentemente usada como um sinal entre muitos dentro de um modelo de ensemble maior, contribuindo com sua capacidade única de desenhar fronteiras não lineares de maneiras que modelos baseados em árvores não conseguem igualar.

O insight estratégico

Para praticantes de IA e líderes de negócios, a lição deste artigo é mais profunda do que a detecção de fraude. Os métodos de kernel revelam uma verdade mais ampla sobre sistemas inteligentes: o espaço de entrada bruto raramente é onde a resposta mora. Dados do mundo real são emaranhados, sobrepostos e cheios de relações não lineares que o pensamento linear não consegue desembaraçar. O poder do truque do kernel é que ele permite que você raciocine num espaço matemático muito mais rico sem o custo computacional de realmente ir lá. O mesmo princípio, transformar um problema difícil num onde a resposta se torna visível, se aplica a sistemas de recomendação, pontuação de risco, manutenção preditiva, diagnóstico em saúde e praticamente todo problema sério de aprendizado de máquina em escala empresarial. Líderes de negócios que entendem isso farão perguntas melhores às suas equipes de ciência de dados. Engenheiros que entendem isso construirão sistemas que realmente funcionam quando os dados se recusam a ser limpos e simples.

A detecção de fraude da Amazon não é magia. É matemática trabalhando invisivelmente em velocidade imensa, e você agora entende exatamente como.

#MachineLearning #ArtificialIntelligence #DataScience #Mathematics #Amazon #FraudDetection #KernelMethods #SVM #RBFKernel #PolynomialKernel #TheMagicOfHiddenMathematics #AIEngineering #MLEngineering #Python #SVMClassification #EnterpriseAI #AIStrategy #DeepLearning #NeuralNetworks #TechLeadership


Publicado originalmente no LinkedIn por Keshavan Thiagaraja. Leia o original no LinkedIn. [1]