viernes, 23 de febrero de 2018

Usando métricas para detectar fraudes

Detección de fraude utilizando aprendizaje profundo (deep learning) en incrustaciones de grafos y métricas de topología

Graham Ganssle, Ph.D., P.G. || Expero

¿No estás usando grafos todavía? Si no, obviamente no has leído mis otras publicaciones en el blog. Ve a hacer eso, luego instala algo de bondad gráfica, luego regresa aquí. Te veo pronto.



De acuerdo, ahora que eres un experto en grafos, podemos continuar hablando sobre el título de este artículo. Como Andrew Ng señala en su conferencia sobre la aplicación de una función de pérdida de triplete, es común en la literatura de aprendizaje profundo que los títulos sean <dominio de interés> insertados en cualquiera de las secuencias "______ Net" o "Deep ______". En ese espíritu, iba a nombrar este papel Fraude neto o Fraude profundo, pero luego me di cuenta de que la publicación de una publicación de blog de la compañía sobre Fraude profundo probablemente no es la mejor comunicación.

Estoy divagando. Hablemos de detección de fraude.


Figura 1: Un grafo que incluye transacciones financieras corporativas regulares y transacciones financieras fraudulentas.

Lo que realmente queremos es predicción de fraude (y desde allí prevención de fraude), ¿verdad? Sí, pero eso está en una próxima publicación de blog. Hoy hablaremos de atribuir cierto comportamiento a priori a un objetivo de clase binaria, a saber, un objetivo de fraude / notfraud. Veremos dos formas de determinar si una determinada entidad ha realizado o no una actividad fraudulenta, primero utilizando incrustaciones de un grafo y, en segundo lugar, usando varias métricas de topología de un grafo.

Sé lo que estás pensando: si el fraude ya ha sido cometido, ¿a quién le importa? Según este artículo, a todos debería importarles. En 2015, afirma el autor, el costo del etiquetado de fraude falso positivo fue de 118 mil millones de dólares. Eso es mil millones. Con una "b". El costo de los casos reales de fraude fue de solo $ 9 mil millones. No me malinterpreten, nueve mil millones de smackeroos son bastantes, pero es solo el siete por ciento del total de dinero perdido. Etiquetar incorrectamente las transacciones como fraudulento vale tanto como construir una nueva estación espacial internacional. Todos los años. Entonces, sin más digresiones, permítanme mostrarles cómo ahorrar $ 118,000,000,000. (De nada)

Uso de incrustaciones de grafos: Fraude individual

Escenario número uno: desea aumentar la precisión de su herramienta de análisis de fraude de tarjetas de crédito. Primero organizaría sus datos en un grafo, creando instancias de nodos como clientes individuales y comerciantes con propiedades de nodo sobre sus historiales financieros. Construiría enlaces que representen transacciones financieras entre estas entidades con propiedades de nodo, como la marca de tiempo de la transacción y el importe pagado.

Ahora debe incrustar el grafo en un espacio dimensional inferior para que pueda usar un modelo simple para analizarlo. ¿Por qué no insertas directamente tu grafo en tu modelo? Porque las geometrías no son compatibles. Si te interesa la teoría de grafos o la geometría diferencial, léelo para comprender la última oración sobre geometrías. Para aquellos de nosotros que no están dentro de las teorías de graph thingys o different whosits, consideremos como un axioma que tenemos que insertar nuestro grafo.

Aquí hay un grafo con una seria necesidad de incrustación. Como se describió anteriormente, los nodos representan a las personas con tarjetas de crédito y a los comerciantes a quienes les cuelgan el plástico. Tenga en cuenta la compleja estructura tridimensional y la gran cantidad de enlaces, que representan las transacciones financieras.


Figura 2: un grafo antes de la incrustación. Los nodos son titulares de tarjetas de crédito y comerciantes. Los enlaces son transacciones financieras.

Las estrategias de inclusión abundan; algunos son más populares que otros por razones fuera del alcance de este artículo. Mostraré dos más comunes en la imagen siguiente, reducción de dimensionalidad por análisis de componente principal e incrustación espectral por descomposición de valores propios.


Figura 3: la incrustación bidimensional del grafo en la Figura 2. El algoritmo naranja fue PCA, el azul fue incrustación espectral.

Finalmente, estamos listos para construir un modelo. La codificación del grafo incrustado para modelar es tan simple como crear vectores de características a partir de los nodos ahora aplanados. Incluimos las propiedades de nodo (entidad) y enlace (transacción), pero también concatenamos la información de coordenadas incorporada de la imagen anterior. Luego construimos un vector objetivo (o matriz para un régimen objetivo de clase múltiple) de nuestras etiquetas conocidas, activamos nuestra GPU y lo vemos comer.


Uso de métricas de topología: fraude organizacional

Escenario número dos: desea descubrir las organizaciones de lavado de dinero de su base de datos de registros transaccionales. Este problema es un orden de magnitud más interesante que analizar registros transaccionales individuales; en lugar de buscar muestras discretas, estamos interesados ​​en analizar los anillos de interacción financiera. Este es el paradigma en el cual el grafo realmente brilla.

Echa un vistazo a la imagen a continuación. Es un conjunto de empresas que interactúan financieramente. Los colores son representativos de su "comunidad", determinada por un algoritmo de aprendizaje no supervisado. Esta discusión se está acercando peligrosamente al territorio de salsa secreta, así que lo dejo así. La pregunta es, ¿las empresas amarillas están haciendo negocios como de costumbre, o es esta comunidad amarilla realmente un anillo de lavado de dinero?


Figura 4: un grafo de empresas coloreadas por comunidad. ¿Las empresas amarillas en la parte inferior derecha son realmente frentes para un anillo de lavado de dinero?

Paso uno: Combine sus datos en la misma estructura de grafos definida en la sección anterior.

Paso dos: cree un algoritmo inteligente que extraiga subgrafos de interés (las comunidades de color en la imagen anterior) y calcule las métricas de topología para cada comunidad. "Métrica de topología" es un nombre elegante para las descripciones de la geometría del subgrafo en cuestión. Por ejemplo, una métrica de topología popular es number-of-edges; en el subgrafo amarillo tenemos 23 bordes. Existen muchas de estas métricas de topología, y calculamos varias docenas para cada subgrafo.

Paso tres: cree un vector de características de estas métricas de topología para cada subgrafo. Concatenar las propiedades del nodo en otro tipo de forma secreta. Una implementación de ejemplo de esto sería calcular las propiedades de nodo promedio de todos los nodos en el subgrafo.

Paso cuatro: construya un vector objetivo (o matriz para un régimen objetivo de clase múltiple) de nuestras etiquetas conocidas, active nuestra GPU y deje que se horneen.

Envuélvelo ya

Estas técnicas dependen en gran medida de qué tipos de datos están disponibles y la estructura de las entidades que describen estos datos. La implementación debe ser personalizada (o al menos apropiada para el pedido) para cada banco / agencia / investigador interesado en realizar este trabajo. Es probable que el uso de una solución estándar empeore el problema, pero cuando se diseñan e implementan correctamente, estas técnicas pueden ahorrar miles de millones de dólares por año.

PD Sintonícese la próxima semana para obtener una versión más sofisticada de este análisis utilizando una metodología kernelizado llamada Graph graph convolutional network.

P.P.S. La detección de fraude es un problema manejable sin grafo. ¿Desea encontrar estafadores sin volver a manipular su base de datos 100 PB en otro formato? No hay problema. Nosotros hacemos eso, también.

No hay comentarios:

Publicar un comentario