¿Cuál es el algoritmo de aprendizaje automático más rápido para implementar para la detección de fraudes?

La única dificultad real para hacer funcionar el sistema de detección de fraudes es adquirir buenos datos etiquetados. Suponiendo que tiene eso, puede construir un sistema de referencia en una semana, máx.

Azure ML incluso tiene una plantilla de detección de fraude que puede seguir, implementada en R. Parece bastante básica.

¡Nuevas plantillas emocionantes en Azure ML!

El pateador está descubriendo qué tan preciso debes ser. ¿Cuál es la aplicación? ¿Cómo se toma la decisión actualmente? Es su objetivo ser más preciso, más preciso, más rápido …
¿Es más importante detectar todo el fraude o no generar falsos positivos?

Para el aprendizaje automático aplicado, la aplicación define el problema. Si está generando casos para que los vea un humano, querrá un alto recuerdo. Si cancela irrevocablemente una transacción, querrá una alta precisión. (Pero nadie está contento con un recuerdo demasiado bajo).

Lo primero que debe hacer para esto, y para cualquier problema como este, es tener una idea de cuán preciso será un enfoque simple y qué tan preciso debe ser.

Hay empresas que existen solo para hacer este tipo de trabajo: no es fácil ser lo suficientemente preciso como para implementarlo. Podrías pasar años y no estar a la altura si estás tratando de bloquear transacciones en tiempo real. (Su pregunta parece un poco extraña en ese frente: ¿un banco ha contratado a un tipo? ¿Para qué tipo de fraude? ¿No podrían comprar un sistema llave en mano, suponiendo que el fraude les esté costando $$? Pero no sé su situación , entonces …) Un modelo de clasificación parece un lugar obvio para comenzar, pero la detección de anomalías podría ser otro buen ángulo. Probablemente, sin embargo, los avances clave vendrán de obtener más y mejores datos, o de encontrar formas de crear correctamente esos datos. Comprender el dominio del problema lo ayudará a transformar los datos para que el modelo pueda razonar mejor al respecto. ¿Mencioné obtener muchos datos buenos? Sí, probablemente lo hice. Vas a necesitar eso. El algoritmo más inteligente del mundo hará pedazos si solo tiene un poco de datos de buena calidad. Por el contrario, un programador con una buena caja de herramientas ML y una gran cantidad de datos puede construir un sistema decente para la mayoría de los problemas, dependiendo de la aplicación.

No puedo proporcionar un algoritmo específico para usar, pero aquí hay varias preguntas aclaratorias para hacer.

  • ¿Cuáles son los datos disponibles que puede usar en el entorno de producción?
  • ¿Cómo se obtienen los datos de capacitación que etiquetan qué transacción fue fraudulenta?
  • ¿Cuál es el porcentaje de fraude en la transacción general?
  • ¿Qué tan preciso necesitas ser?
  • ¿Las tácticas de fraude evolucionan? ¿Qué rápido?
  • ¿Cómo se implementará su modelo final en el sistema de producción?

Si tiene un tren estático en datos pero las tácticas cambian rápidamente, debe pensar en cómo obtener datos de entrenamiento nuevos de manera continua. Eso también significa que necesita poder pasar del prototipo a la producción rápidamente.

Si el volumen de su transacción es alto, su algoritmo debe ser rápido o reducir la cantidad de datos, siempre y cuando esté de acuerdo con dejar pasar un poco de fraude.

Hay mucho intercambio por hacer, así que piense que lo haremos antes de continuar.

La mayoría de los métodos deberían funcionar, dado que tiene datos suficientes y correctos para aprender. Sugeriría Python, ya que puede obtener datos de un sistema, construir el modelo o la tubería y volver a escribirlos en el sistema (o hacer que interactúe con otro idioma para actuar sobre los resultados). Las cadenas de Markov realmente no tienen sentido: si lo hace dentro de un individuo, desearía un modelo que tenga en cuenta las acciones anteriores, en lugar de uno que solo dependa de la última observación (propiedad de Markov). Scikit-Learn debe tener lo que necesitas.

Sin saber nada sobre qué tipo de datos está trabajando: Bosques aleatorios. Son rápidos, confiables en los sistemas de producción, fáciles de codificar y mantener, y se usan ampliamente en la actualidad. 5 meses parece bastante corto para desarrollar un sistema de markov a nivel de producción, aunque, si pudieras, tal vez escribir algo para que el resto de nosotros aprendamos de 🙂

More Interesting

¿Qué enfoques / regulaciones se utilizan para manejar el 'problema mínimo / máximo local' cuando se usa el descenso de gradiente con redes neuronales profundas?

¿Puede LSTM u otro tipo de red neuronal recurrente aprender a extraer y representar un estado de Markov?

¿Cómo puedo encontrar un grupo de estudio para el aprendizaje automático en Hong Kong?

¿Cuáles son los requisitos previos para aprender Machine Learning?

Quiero aprender el procesamiento del lenguaje natural en CMU. ¿Es mejor tomarlo como un estudiante de CS o tomarlo como un estudiante de lingüística (como una electiva)?

¿Es cierto que las predicciones en el espacio de alta dimensión son más difíciles en torno al origen?

Cómo aplicar mis conocimientos de aprendizaje automático para invertir en el mercado de valores indio

¿Qué son los algoritmos del sistema de recomendación? ¿Y cómo implementar en Java?

¿Cuáles son algunas aplicaciones de muestreo de importancia en Deep Learning?

¿Cómo podemos usar la herramienta Weka para crear un sistema de recomendación?

Cómo implementar la detección y clasificación de frutas de manzana usando MATLAB en una aplicación antroidea

¿Qué título debo tomar para entrar en la investigación de Deep Learning? (Graduado de CS)

¿Es probable que Goldman Sachs sea el primero en alcanzar la singularidad?

Al entrenar a un clasificador, ¿cómo trato con clases que tienen números muy diferentes de muestras en el conjunto de entrenamiento? ¿Cómo evito un ajuste excesivo en la clase que tiene la mayor cantidad de muestras?

¿Cuál puede ser un buen problema de investigación computacional para trabajar con el conjunto de datos de Wikipedia?