vida programas para inteligencia informatica ejemplos cotidiana artificial aplicaciones algorithm machine-learning artificial-intelligence

algorithm - programas - inteligencia artificial aplicaciones



Métodos de inteligencia artificial para detectar trampas en juegos (3)

Mi trabajo diario es para un juego basado en un navegador en línea, uno que es pequeño, con un personal muy pequeño. De hecho, la mayoría de nuestro personal son voluntarios.

Estoy enfocado hoy en un aspecto. Quiero crear un sistema de inteligencia artificial que analizará nuestra base de datos de usuarios e informará sobre las cuentas que posiblemente puedan ser ejecutadas por el mismo usuario, lo cual está claramente en contra de nuestros términos y condiciones. Este "engaño" es la mayor pérdida de tiempo para nuestro personal, y si puedo acelerarlo dándoles una breve lista de nombres para verificar PRIMERO, lo haría.

El problema es que no estoy muy versado en inteligencia artificial. Comprendo conceptos muy básicos, pero no he implementado una solución exitosamente actualmente. He estado leyendo búsquedas heurísticas, específicamente búsquedas A *, y "pienso" que puede ser apropiado para lo que estoy buscando, pero no estoy seguro.

Así que mi pregunta aquí es: Usando una búsqueda A *, sería posible analizar con precisión dos datos de cuentas de usuario como nombre de usuario, contraseña, correo electrónico, interacciones entre cuentas, interacciones entre otros, tiempos de inicio de sesión, tiempos de actividad, etc. Y si no , ¿sabe usted de un sistema que permita analizar esta cantidad de datos y dar una "probabilidad" de que dos cuentas puedan ser ejecutadas por la misma persona?


Aquí , aquí , aquí y aquí hay algunos artículos sobre el tema. Encuentro realmente un tema fascinante y aplicación de estadísticas.


Si tiene acceso al registro de movimientos de juego del usuario, puede usar la agrupación para agrupar usuarios que juegan ''similar''. Una vez que tenga los clusters, podría usar el IP para filtrar usuarios dentro de cada clúster.

Otro enfoque puede ser el uso de un algoritmo de aprendizaje supervisado como Desicion-Trees , IBK , etc. Pero para que esto funcione, necesita un conjunto de capacitación con muestras de usuarios que ya sabe que han engañado.

Puede usar el software de minería de datos Weka para encontrar patrones dentro de los datos. Y tiene una opción para conectarse directamente a una base de datos. Incluye clustering, árboles de desicion, ibk y una gran cantidad de algoritmos para probar. Pero necesita una comprensión básica de cada algoritmo para interpretar los resultados.


Al menos en parte sustancial, este es mi trabajo diario. A partir de su pregunta, parece que está pensando en la disciplina del aprendizaje automático (en lugar de la rúbrica más amplia, AI ). Y creo que tus instintos son correctos: un algoritmo ML es ideal para la predicción / detección de fraudes porque se puede generalizar en un dominio altamente no lineal y se puede adaptar (a medida que se le agregan nuevos datos). Entonces, debido a estas dos características principales, es mucho más difícil para los estafadores discernir las "reglas" de los algoritmos para la predicción, porque estas reglas son de hecho un conjunto reticulado complejo de restricciones blandas que cambian con el tiempo a medida que el algoritmo aprende contra nuevos datos. (Podría sugerir, aunque dejar de lado A * a menos que tenga una razón en particular para creer que pathfinding es una heurística útil para su problema - soy reacio a decir que no hay conexión, pero si la hay, sin duda es poco ortodoxa - nunca he visto pathfinding aplicado a este tipo de problema).

El único hecho que mencionó sobre el tipo de fraude en línea que le interesa identificar es la cantidad de cuentas múltiples de un solo usuario. Sin duda, se podrían aplicar diversas técnicas aquí, pero mencionaré una técnica analítica en particular porque: (i) la he usado en el escenario que mencionas; y (ii) está fuera del alcance de las otras Respuestas, hasta el momento.

La técnica se basa en la teoría de grafos .

La premisa: las cuentas que son propiedad del mismo usuario a menudo se identifican mejor no por su comportamiento individual (clickstream) sino por su relación entre sí, en otras palabras, por el comportamiento de su red .

Un ejemplo: dumping de fichas en el póker en línea. Aquí, un individuo abre múltiples cuentas nuevas en un sitio de póker (usando información falsa) y luego reclama el bono anunciado para cada cuenta (por ejemplo, un depósito de $ 100 se combina con un bono de $ 100). Por supuesto, el bono tiene reglas de retirada de efectivo muy restrictivas, generalmente un número límite de manos jugadas antes de que el bono se convierta en efectivo y se puede retirar de las cuentas del jugador en efectivo.

Entonces, el objetivo del dumping de chips es convertir esos dólares de bonificación en efectivo real. Una persona abre cinco cuentas separadas (como cinco personas diferentes) luego abre una cuenta más "legítima" (usando su identidad genuina). Estos seis jugadores -de nuevo solo un jugador- jugarán en una mesa y las cinco cuentas ficticias perderán rápidamente sus stacks en la cuenta legítima, lo que les ahorrará rápidamente sus ganancias debido a las restricciones de retiro de dinero. en las bonificaciones se aplican solo a la cuenta a la que se otorgaron originalmente; por lo tanto, las restricciones de retiro se eluden por completo.

Lo difícil de este tipo de esquema es que la conducta ilegal es virtualmente imposible de detectar en una base de cuenta individual - * el mal comportamiento, la colusión , surge de la interacción de un grupo de cuentas de propiedad común * - en otras palabras, el comportamiento de interés necesita ser estudiado a nivel de red .

Y, por lo tanto, Graph Theory es un marco natural para el análisis.

La técnica que he aplicado se basó en un trabajo académico de Chau et al. en Carnegie Mellon, titulado Detectando Personalidades Fraudulentas en Redes de Subastadores en línea (PDF).

El escenario de fraude en el corazón de este documento es el siguiente: un vendedor en eBay desea vender un artículo muy caro (que probablemente ni siquiera posee, pero en ningún caso tiene la intención de enviar al comprador) a un vendedor. comprador dispuesto Con el fin de inducir al comprador inocente a participar voluntariamente en la transacción, el vendedor fraudulento primero adquiere una reputación muy alta (artificialmente alta) mediante la participación en una serie de ventas "exitosas" de artículos a un grupo de compradores; estos compradores son a menudo cuentas simuladas controladas por el comprador.

Más específicamente, los autores de este documento combinan datos en dos niveles (nivel de cuenta y nivel de red ) utilizando un algoritmo de propagación de creencias sobre un campo aleatorio de Markov.

La estructura del gráfico de firma, por cierto, se conoce como un núcleo bipartito , que surge de un grupo de cuentas que tienen un número muy alto de transacciones entre los miembros de este grupo, pero muy pocas fuera de este grupo (es decir, con el resto de la comunidad de eBay).