Big Data #5

in #education8 years ago (edited)

Bienvenidos a la quinta entrega acerca de la big data, espero se suscriban, interactuen y le den Resteem. Gracias @javf1016

Primera entrega: https://steemit.com/spanish/@javf1016/big-data
Segunda entrega: https://steemit.com/spanish/@javf1016/big-data-2
Tercera entrega: https://steemit.com/spanish/@javf1016/big-data-3
Cuarta entrega: https://steemit.com/spanish/@javf1016/big-data-4

3.1 Aprendizaje supervisado (Arboles de decisión)

La estructura del aprendizaje supervisado está basado en un dataset (conjunto de datos), que en este caso es la información representada en la Big Data de seguridad que ha sido recopilada en logs, históricos, etc.
Al mismo tiempo que el aprendizaje supervisado es una clasificación del machine learning esta se clasifica en:

Regresión
Clasificación

El aprendizaje supervisado de tipo regresión realiza predicciones en una salida continua, por ejemplo valores numéricos, que podrían ser reconocimiento continuo de una ip, de los puertos usados en diferentes momentos del día. El tipo clasificación a diferencia del tipo regresión realiza predicciones de tipo discreto, por ejemplo categorías, etiquetas, que podrían ser aplicaciones utilizadas, ingreso a una maquina dentro de la administración.

Hipotéticamente un sistema enfocado a detectar cuando una cuenta de usuario ha sido comprometida y así realizando una intrusión dentro de los sistemas de la corporación, contaríamos con un cliente que representaría el terminal de acceso a los sistemas y un servidor que sería el agente apoyado por la Big Data de la corporación. El cliente envía por cada acción un vector de N campos que es almacenada en la Big Data y tras ser interpretada por el agente procede con la predicción que en este caso sería un bloqueo, lo cual exigiría factores de verificación o tan solo registraría en el log la anomalía, Lo primero que vamos a analizar es si en verdad se considera una intrusión anómala en el sistema.

Vector de entrada {Usuario String , Clave String, Geolocalizacion String, Anomalia Boolean , Sistema String}

Vamos a realizar una función con un conjunto de vectores de entrada, los cuales se encuentran etiquetados, el cuarto campo del vector cuenta con una clase Boolean que indica si el ingreso se considera como anómalo, lo cual indicaría si se bloquea el ingreso o no.

Vector = {Admin, Admin, Bogotá, true, Base de Datos}
Vector = {Admin, Admin, Cali, false, Base de Datos}

Se genera un árbol de decisión, dependiendo de cómo sea desarrollado el algoritmo, se crearan las hojas, nodos, profundidad del árbol. Pero en esencia es lo mismo, un mapa que sirva de guía hasta llegar a una decisión. Fig. 8

Fig. 8. Ejemplo árbol de decisión para los vectores

Acogiendo el modelo, en este caso un árbol de decisión, el agente solo tendrá que recorrer el árbol a través de los valores, hasta llegar a las hojas. Por ejemplo para el primer vector un cliente de usuario Admin, con clave Admin, que ingresa desde Bogotá a las bases de datos, se lanza una acción para denegar el ingreso ya que el campo Anomalía marca True. Algo a destacar en este modelo es su velocidad de respuesta (“interpretación y predicción”), en este caso el problema es de complejidad V={5}, lo que quiere decir que puede llegar a ser V={N}, siendo N el orden a recorrer dentro del árbol, algo para sistemas que requieran respuesta ágil, pero con una tasa de consulta elevada.

3.1 Aprendizaje no supervisado (Mapas, Redes)

En el aprendizaje no supervisado, se manejan circunstancias en los cuales no se saben o se sabe poco. Se llegan a clasificar en (2) dos grupos, enfocados al agrupamiento de datos y a la memoria asociativa, los cuales son:

Clustering: Agrupar una colección de datos ya sea por valores, géneros, etc.
Asociación: Agrupar una colección de datos por actividades históricas o comportamientos históricos.

Aunque parezca complicado de implementar al principio, vamos a utilizar un modelo llamado mapas auto-organizados (SOM, Self-organizing Maps), un modelo inspirado en la biología, específicamente en las neuronas conectadas para el funcionamiento del sentido del tacto.

Hipotéticamente vamos a hacer que nuestro sniffer de red, registre el tráfico y lo comunique a un vector de entrada con los siguientes valores (capo de trama, flag TCP, IP), el cual será enviado al modelo.
El modelo se crea nuevamente, pero en este caso no se encuentra etiquetado, no se sabe si algo es bueno o malo.

IP = {192.168.1.2, 11.11.11.10}
TCP = {0.0.1.1.0.0.0.0.0, 0.1.0.0.0.0.0.0.0}

El modelo lo tomaremos como una malla, que a través del aprendizaje los nodos se ajustaran sobre los vectores, haciendo que la densidad de las rendijas aumente. Fig. 9

Fig. 9 Ejemplo de una red para los vectores

Este procedimiento se aplica a cada vector de entrada. Hasta que la malla quede fija. El vector incide sobre la malla quedando asociado a una concentración de nodos llamada clúster, en función de la distancia y densidad, respecto al punto donde incide.

Glosario

  • String, tipo de dato básico, que indica una cadena de caracteres.
  • Boolean, tipo de dato básico, el cual tiene dos opciones True (Verdadero) o False (Falso)

Coin Marketplace

STEEM 0.18
TRX 0.16
JST 0.029
BTC 62059.45
ETH 2433.83
USDT 1.00
SBD 2.63