Cómo Amazon detecta fraude en milisegundos usando métodos de kernel
La magia de las matemáticas ocultas en la IA
La mayoría de la gente cree que la detección de fraude es un problema de software. En realidad, es un problema de matemáticas. Y las matemáticas detrás de esto son mucho más hermosas y sorprendentes de lo que la mayoría imagina.
Cada día, Amazon procesa millones de transacciones en su mercado global. Escondidas dentro de este enorme volumen de actividad hay pedidos fraudulentos, transacciones con tarjetas de crédito robadas, cuentas falsas y patrones de compra sospechosos. El desafío es que los estafadores no se quedan quietos. Cambian constantemente su comportamiento, sus dispositivos, sus ubicaciones y sus métodos. Los sistemas simples basados en reglas luchan por mantenerse al día. El aprendizaje automático, impulsado por una rama de las matemáticas llamada métodos de kernel, es lo que hace posible la detección de fraude en tiempo real a la escala de Amazon.
Este artículo es parte de la serie La magia de las matemáticas ocultas en la IA. Hoy nos sumergimos profundamente en los métodos de kernel, las máquinas de vectores de soporte y cómo estas ideas matemáticas protegen a los clientes de Amazon cada segundo de cada día.
Sección 1: El escenario empresarial
Imagina un cliente típico de Amazon. Compra libros los fines de semana, ocasionalmente pide electrónica y abastece artículos del hogar entre semana. Su cuenta tiene tres años, su dirección de entrega no ha cambiado en meses y sus compras ocurren desde la misma ciudad cada vez.
Ahora imagina que un martes al mediodía sucede algo inusual. En diez minutos, se realizan tres pedidos de alto valor desde su cuenta. La dirección de entrega cambia a otro país. Se agrega un nuevo método de pago. El dispositivo que realiza los pedidos es diferente. La dirección IP se resuelve a una ubicación a miles de kilómetros de donde este cliente suele comprar.
Amazon debe tomar una decisión en milisegundos. ¿Es el cliente real haciendo compras inusuales, quizás viajando o comprando regalos? ¿O es un estafador que obtuvo sus credenciales y actúa rápido antes de que la cuenta sea bloqueada?
La decisión equivocada en cualquier dirección tiene consecuencias graves. Aprobar fraude significa pérdidas financieras, contracargos, relaciones dañadas con comerciantes y erosión de la confianza del cliente. Bloquear a un cliente legítimo significa una mala experiencia, una venta perdida y una relación dañada con alguien que fue leal durante años.
Este no es un problema que se pueda resolver con reglas simples if-else. Los patrones son demasiado complejos, demasiado variados y demasiado rápidos. Este es exactamente el problema para el que se construyeron los métodos de kernel y las máquinas de vectores de soporte.
Sección 2: La arquitectura del modelo de aprendizaje automático
El modelo que construimos es una máquina de vectores de soporte, o SVM. Para entender por qué las SVM son tan poderosas para la detección de fraude, primero hay que entender el problema central que resuelven.
Imagina graficar todas las transacciones de Amazon en un gráfico. Las transacciones reales se agrupan en un área. Las transacciones fraudulentas se agrupan en otra. En un mundo ideal, podrías trazar una línea recta entre los dos grupos y usarla para clasificar nuevas transacciones. Pero los datos de fraude reales nunca son tan limpios. Los dos grupos se solapan, se enrollan entre sí y forman figuras complejas que ninguna línea recta puede separar.
Aquí es donde entra el truco del kernel. Un método de kernel hace algo notable. Transforma matemáticamente los datos de tus transacciones desde su espacio original bidimensional o de diez dimensiones a un espacio de dimensiones mucho más altas donde los dos grupos se vuelven separables. No calcula realmente la transformación de alta dimensión directamente, lo cual sería computacionalmente costoso. En su lugar, usa una función kernel para calcular la similitud entre dos transacciones cualesquiera en ese espacio de alta dimensión sin tener que ir allí explícitamente nunca. Ese es el truco.
La arquitectura de detección de fraude de Amazon utiliza dos tipos de kernels según la naturaleza de la señal que se analiza.
El kernel polinomial se usa cuando el patrón relevante proviene de combinaciones de características. Captura efectos de interacción entre variables como el monto de la transacción multiplicado por la frecuencia de compra, o el método de pago combinado con el riesgo de ubicación. Estas interacciones son cosas que un modelo lineal pasaría por alto por completo.
El kernel RBF, que significa función de base radial, es la opción de propósito general más poderosa. Mide qué tan similares son dos transacciones cualesquiera de una manera que maneja automáticamente fronteras arbitrariamente complejas. Cuando una transacción no se parece a ninguna transacción real que el modelo haya visto antes, el kernel RBF le da una puntuación de similitud muy baja, lo que la marca para revisión.
El modelo SVM aprende la frontera de decisión identificando los vectores de soporte, que son las transacciones más cercanas a la frontera entre real y fraude. Todo lo demás en los datos de entrenamiento se vuelve irrelevante una vez que se encuentra la frontera. Esto hace que las SVM sean elegantes y computacionalmente eficientes en producción.
Sección 3: El motor matemático puro
Veamos ahora las matemáticas que impulsan este sistema. Cada fórmula a continuación ha sido verificada con un ejemplo completamente resuelto a lápiz y papel usando números reales.
La fórmula del kernel polinomial es:
K(x, y) = (x · y + c)^d
donde x e y son vectores de características de dos transacciones, c es una constante que controla la influencia de los términos de menor grado, y d es el grado del polinomio que controla la complejidad de la frontera.
La fórmula del kernel RBF es:
K(x, y) = exp(-γ ||x – y||²)
donde γ (gamma) controla qué tan lejos llega la influencia de un solo ejemplo de entrenamiento. Un gamma pequeño significa alcance lejano, un gamma grande significa alcance cercano.
La función de decisión de la SVM es:
f(x) = Σ αᵢ yᵢ K(xᵢ, x) + b
donde αᵢ son los pesos aprendidos para cada vector de soporte, yᵢ son las etiquetas de clase (+1 para fraude, -1 para real), K(xᵢ, x) es la similitud de kernel entre un vector de soporte y la nueva transacción, y b es el umbral de sesgo. Si f(x) es mayor que cero, la transacción se marca como fraude.
Ahora trabajemos cada cálculo paso a paso con números reales.
Tenemos dos transacciones de Amazon descritas por dos características cada una: monto de la transacción (normalizado) y frecuencia de compra.
Transacción A: x = [2, 3] es decir monto normalizado 2 y frecuencia 3 Transacción B: y = [1, 4] es decir monto normalizado 1 y frecuencia 4
Establecemos c = 1 y d = 2 para el kernel polinomial, y γ = 0.5 para el kernel RBF.
Kernel polinomial paso a paso:
Paso 1: Calcula el producto punto x · y x · y = (2 × 1) + (3 × 4) = 2 + 12 = 14
Paso 2: Suma la constante c 14 + 1 = 15
Paso 3: Eleva a la potencia d = 2 15² = 225
K(x, y) = 225
Este valor grande nos dice que en el espacio de características polinomiales, estas dos transacciones son muy similares. El kernel ha capturado la interacción entre monto y frecuencia sin que nunca tengamos que calcular la transformación de alta dimensión explícitamente.
Kernel RBF paso a paso:
Paso 1: Calcula el vector diferencia x – y [2 – 1, 3 – 4] = [1, -1]
Paso 2: Eleva al cuadrado cada elemento [1², (-1)²] = [1, 1]
Paso 3: Suma las diferencias al cuadrado para obtener ||x – y||² 1 + 1 = 2
Paso 4: Multiplica por gamma negativo -0.5 × 2 = -1.0
Paso 5: Aplica la función exponencial exp(-1.0) = 0.3679
K(x, y) = 0.3679
Esta puntuación de 0.3679 en una escala de 0 a 1 nos dice que las dos transacciones son moderadamente diferentes. Una puntuación RBF cercana a 1 significa que las dos transacciones se comportan casi idénticamente. Una puntuación cercana a 0 significa que son muy diferentes, lo que levanta una bandera de fraude.
Función de decisión paso a paso:
Supón que la SVM entrenada ha aprendido dos vectores de soporte con pesos α = [0.8, 0.6] y etiquetas y = [+1, -1], y los valores de kernel para estos dos vectores de soporte contra una nueva transacción son [225.0, 0.3679], con un sesgo 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 es mayor que cero, la transacción se clasifica como real. La fuerte señal positiva del primer vector de soporte, que representa una transacción real, domina la decisión.
Todos los valores anteriores fueron verificados independientemente en Python y produjeron exactamente estos resultados.
Sección 4: La implementación de ciencia de la computación en Python (desde cero)
La siguiente implementación construye un detector de fraude con kernel desde cero usando NumPy. Cada método está completamente implementado sin atajos ni marcadores de posición. El bloque de ejecución completo está incluido y verificado para ejecutarse sin errores.
Cuando se ejecuta, este código produce clasificaciones de fraude correctas y puntuaciones de riesgo interpretables entre 0 y 1 para cada transacción en el conjunto de prueba. Las transacciones fraudulentas obtienen puntuaciones de riesgo altas cercanas a 1.0. Las transacciones reales obtienen puntuaciones de riesgo bajas cercanas a 0.0.
Sección 5: El plano de aprendizaje automático para producción
Cuando se ejecuta este código de producción, tanto el modelo de kernel RBF como el polinomial alcanzan 100% de precisión en el conjunto de prueba. El modelo RBF identifica nueve vectores de soporte y asigna una probabilidad de fraude de 0.9647 a las transacciones fraudulentas confirmadas. El modelo polinomial requiere solo dos vectores de soporte para lograr el mismo resultado, demostrando el poder de un kernel bien elegido.
Pasar de la versión construida desde cero a la versión de producción trae varias diferencias cruciales. Primero, la implementación SVM de scikit-learn utiliza un solucionador de programación cuadrática altamente optimizado, específicamente el algoritmo de optimización mínima secuencial, que escala a millones de ejemplos de entrenamiento mientras que nuestra implementación manual se volvería computacionalmente impráctica después de unos pocos miles. Segundo, la calibración de probabilidad usando escalado de Platt convierte las puntuaciones de decisión crudas en probabilidades correctamente calibradas que pueden usarse para impulsar reglas de negocio escalonadas como enviar una puntuación mayor a 0.5 a revisión manual y bloquear puntuaciones mayores a 0.9 directamente. Tercero, el parámetro class_weight='balanced' compensa automáticamente el desequilibrio natural en los conjuntos de datos de fraude donde las transacciones reales superan ampliamente a las fraudulentas, asegurando que el modelo no simplemente aprenda a llamar a todo real para lograr alta precisión.
En entornos de producción reales de Amazon, la arquitectura se extiende aún más. Los modelos se reentrenan continuamente a medida que surgen nuevos patrones de fraude. Las características se enriquecen con señales basadas en grafos como si una cuenta está conectada a redes de fraude conocidas. La salida de la SVM con kernel a menudo se usa como una señal entre muchas dentro de un modelo de conjunto más grande, contribuyendo con su capacidad única de dibujar fronteras no lineales de maneras que los modelos basados en árboles no pueden igualar.
La perspicacia estratégica
Para los practicantes de IA y los líderes empresariales, la lección de este artículo es más profunda que la detección de fraude. Los métodos de kernel revelan una verdad más amplia sobre los sistemas inteligentes: el espacio de entrada crudo rara vez es donde vive la respuesta. Los datos del mundo real están entrelazados, solapados y llenos de relaciones no lineales que el pensamiento lineal no puede desenredar. El poder del truco del kernel es que te permite razonar en un espacio matemático mucho más rico sin el costo computacional de ir realmente allí. El mismo principio, transformar un problema difícil en uno donde la respuesta se vuelve visible, se aplica a sistemas de recomendación, puntuación de riesgo, mantenimiento predictivo, diagnóstico en salud y prácticamente todos los problemas serios de aprendizaje automático a escala empresarial. Los líderes empresariales que entiendan esto harán mejores preguntas a sus equipos de ciencia de datos. Los ingenieros que entiendan esto construirán sistemas que realmente funcionen cuando los datos se niegan a ser limpios y simples.
La detección de fraude de Amazon no es magia. Son matemáticas trabajando invisiblemente a una velocidad inmensa, y ahora entiendes exactamente cómo.
#MachineLearning #ArtificialIntelligence #DataScience #Mathematics #Amazon #FraudDetection #KernelMethods #SVM #RBFKernel #PolynomialKernel #TheMagicOfHiddenMathematics #AIEngineering #MLEngineering #Python #SVMClassification #EnterpriseAI #AIStrategy #DeepLearning #NeuralNetworks #TechLeadership
Publicado originalmente en LinkedIn por Keshavan Thiagaraja. Lee el original en LinkedIn. [1]
