• Determinar la arquitectura de red neuronal adecuada para la resolución de la problemática planteada.
  • 1.4 Justificaciones

    1.4.1 Justificación académica

    El presente trabajo representa la oportunidad de aplicar el conocimiento adquirido a lo largo de la carrera y también de manera independiente, para elaborar un sistema experto para la detección de spam, utilizando el concepto de redes neuronales.

    1.4.2 Justificación social

    El correo electrónico, es sin duda un medio que nos permite comunicar rápidamente ofreciéndonos reducción de tiempo y costo. Sin embargo muchas personas aprovechan esto para utilizarlo de forma no legítima con fines publicitarios, ocasionando una serie de problemas a nivel personal como empresarial. Como contramedida a esta acción se necesitan herramientas capaces de reducir el spam. De esta manera es muy importante la elaboración de anti-spams, ya que es la forma más viable de acabar con el spam y ofrecer a los usuarios seguridad y tranquilidad en los correos electrónicos, y por otra parte reducir los costos para las empresas ISP’s y controlar la saturación de servidores de correo electrónico.

    1.4.3 Justificación económica

    El desarrollo de una herramienta informática capaz de aminorar con los problemas que causa el spam, no es solamente capaz de ahorrar mucho dinero en aquellas empresas que suelen estar perjudicadas con el spam, sino también es capaz de permitir una mejor utilización y minimizar los dolores de cabeza a cualquier usuario del correo electrónico.

    1.5 Límites y alcances

    1.5.1 Límites

    • Realizar la detección de spam sólo en el correo electrónico y no así en otros medios.
    • El prototipo de diseño final no llegara a su fase de implementación.

    1.5.2 Alcances

    • Realizar pruebas de entrenamiento a la red neuronal.
    • Estimar el porcentaje de aciertos de la red neuronal en su proceso de categorización de correos.
    • Estimar el tiempo de realización del proyecto utilizando diagramas de Gantt.
    • Contribuir a la investigación sobre la aplicación de redes neuronales en el área de detección de correos basura, proporcionando una alternativa para combatir con el spam.

    1.6 Análisis del objeto de estudio

    El principal objeto de estudio es reconocer a un mensaje como spam. Hacia tiempo los usuarios de correo electrónico recibían correos en su bandeja de entrada de remitentes conocidos. Sin embargo hoy en día una mayoría de mensajes son de remitentes desconocidos y en muchas ocasiones con contenido que no es de interés del receptor.

    Gran parte de este Spam contienen:

    Información sobre negocios piramidales para conseguir dinero de forma fácil.

    Cadenas de cartas del tipo, reenvía esta carta a 10 personas y tendrás una vida mejor.

    Enlaces a páginas Web pornográficas o líneas eróticas.

    Remedios de cualquier tipo milagrosos.

    • Personas, normalmente niños, muy enfermos los cuales podemos salvar enviando el correo a todos nuestros conocidos.

    Falsos virus.

    • En pocas ocasiones contienen virus reales.

    Filtros avanzados

    Validador de Etiquetas HTML

    Si el mensaje recibido contiene más de 'x' etiquetas no válidas (según una lista del programa), lo considera como spam. ('x' es configurable).

    DNSBL

    Lista negra de dominios - Comprueba si la IP del remitente en la cabecera del mensaje aparece en las listas negras de nombres de dominio.

    Filtro Bayesiano

    Es el filtro más potente; el programa permite al usuario visualizar los mensajes antes de ser descargados por el cliente de correo, y comprobar las decisiones hechas por el filtro y corregirlas, si es necesario, para entrenar el filtro bayesiano.

    Una situación que suele pasar con los programas antispam, es que se clasifique un mensaje como spam, que en realidad no lo es; al mensaje, que sin serlo, es calificado como spam por el programa que hace la clasificación se le llama falso positivo.

    La idea es evaluar los criterios que en párrafos anteriores mencionamos, que son los más comunes, y estudiar la viabilidad de propuestas que surjan de nuestro ingenio para mejorar estos criterios o proponer otros que posiblemente puedan contribuir a la tarea de minimizar la proliferación de esta incomoda modalidad del Spam.

    Para nuestro propósito en el proyecto, consideramos que es pertinente investigar y estudiar lo que se ha hecho y lo que se esta haciendo en el tema de antiSpam tanto a nivel legal, como a nivel de propuestas de mejora de los mismos. Como ejemplo de esto, se tiene el caso de una ley federal de los Estados Unidos que entró en efecto el primero de enero del 2004, con el objetivo de controlar el spam. Esta ley permite asignar daños de hasta dos millones de dólares americanos a los infractores de la ley. Las cortes federales están autorizadas a enviar a los Spammers a la cárcel o triplicar el valor de los daños si se determina que la violación fue intencional.

    También nos interesa evaluar estadísticas relacionadas con el tema como resultado de estudios que se hayan hecho, como por ejemplo, el estudio llevado a cabo por la compañía Clearswift, que asegura que, aunque más del 72% de las organizaciones cuenta con herramientas en sus sistemas para protegerse del correo no deseado, el 55% cree que son inadecuadas; es bueno evaluar y analizar el porque de estas inconformidades, para así nosotros poder hacer propuestas coherentes y que apunten a la satisfacción de los usuarios.

    Algunos de los proyectos actuales a partir de los cuales pretendemos hacer comparaciones, evaluar en general su comportamiento e identificar sus puntos fuertes y débiles para trabajar basados en ellos son: (es importante aclarar que sería pertinente evaluar tanto herramientas gratuitas como no gratuitas)

    A consecuencia del avance tecnológico las formas de detección cada vez son más inteligentes, sin embargo como paradoja del mismo, también los spammers encuentran nuevas formas de envió de spam.

    Tales como spam basado en imágenes.

    Figura 1: Spam basado en imágenes.

    Fuente: propia

    Los correos que llegaron son un ejemplo típico de spam basado en imágenes, texto incoherente en el mensaje y como atachment un archivo gráfico que al ser desplegado en pantalla muestra un mensaje de texto proporcionando "importantísima información financiera".

    Una técnica bastante utilizada últimamente es enviar el spam como si fuera no mensaje reenviado por alguien. Además, el texto escrito suena, digamos, raro, un poco forzado, aunque está escrito correctamente. 

    Sweet Jimmy,

    Today you do not need to worry about the regular noise of life. You only

    need to worry about choosing the one you like best. Choose anyone of the

    time pieces at this internet-site. It is your surprise.

    [LINK]

    You are going to look terrific in it.

    You are going to be very happy to know you can track your package.

    My deepest love,

    Figura 2: Spam como si fuera no mensaje reenviado por alguien. Fuente: propia

    1.7 Modelos

    1.7.1 Modelo de desarrollo del sistema

    El desarrollo del sistema será iterativo, es decir, se basará en un desarrollo en el cual habrá mejoras continuas en el producto.

    Se hará el uso del Lenguaje Unificado de Modelo UML para el análisis de los procesos del sistema.

    1.7.2 Modelo de programación

    La programación será desarrollada bajo el modelo orientado a objetos. Adicionalmente se seguirá a cabo la técnica de programación manejada por pruebas (Test Driven Development).

    Arquitectura de la aplicación

    La arquitectura de la aplicación estará basada en un modelo de tres capas:

      • Capa de modelo de datos
      • Capa de presentación de la aplicación
      • Capa de la red neuronal

    Modelo de trabajo de la Red Neuronal

    Modelo que explica el funcionamiento general de las Redes Neuronales, consta de los siguientes elementos:

    Figura 2: Modelo de solución

    1. Mediante Internet se manda un correo desde cualquier otra parte
    2. El correo viaja para ser entregado al destinatario y toparse con el sistema experto
    3. EL correo es descompuesto y analizado
    4. Se compara las estadísticas
    5. El paquete llega al motor inteligente para compararlo con reglas en la base de datoss.
    6. La base de datos da la respuesta al Motor AI.
    7. El motor AI reconoce al correo como spam y lo manda a una base de datos en cuarentena.
    8. El motor AI reconoce al correo como legitimo.
    9. El usuario puede ver su correo legitimo una vez analizado por el sistema experto.

    1.8 Herramientas a utilizar

    1.8.1 Plataforma

    Microsoft Windows XP Service Pack 2

    Justificación:

    Se utilizará esta herramienta por la compatibilidad que ofrece con las otras herramientas a utilizar y también por el ambiente amigable que ofrece al usuario final, es una plataforma que la mayoría de las personas utiliza cotidianamente.

    1.8.2 Tecnología

    1.8.2.1 MatLab 6.1

    Justificación:

    MatLab es un software de alto rendimiento, integra computación, visualización, y programación en un ambiente fácil de usar donde los problemas y soluciones son expresados en una notación matemática familiar. A su vez cuenta con dos modulos fundamentales para el desarrollo de la Red Neuro Difusa, los cuales son:

      • Fuzzy Logic Toolbox 2.1.1
      • Neuronal Network Toolbox 4.0.1

    1.8.2.2 Microsoft Visual Studio 2005

    Justificación:

    Es un lenguaje de programación bastante solidó y las librerías que incluye para conexión con MatLab son compatibles, dichas librerías son muy difíciles de conseguir en otros lenguajes, también se ha mejorado su entorno al acceso de datos con su Asistente para la Configuración de Orígenes de Datos, simplificando así la conexión al DBMS.

    1.8.2.3 Microsoft SQL Server 2000

    Justificación:

    Microsoft SQL Server 2000 mejora el rendimiento, la fiabilidad, la calidad y la facilidad de uso de Microsoft SQL Server versión 7.0. Microsoft SQL Server 2000 incluye varias nuevas características que le convierten en un excelente DBMS para el proceso transaccional en línea (OLTP), almacenamiento de datos y aplicaciones de comercio electrónico.

    2. Marco teórico

    2.1 Redes neuronales

    2.1.1 Introducción a las redes neuronales

    Con las Redes Neuronales se busca la solución de problemas complejos, no como una secuencia de pasos, sino como la evolución de unos sistemas de computación inspirados en el cerebro humano, los cuales no son sino la combinación de elementos simples de proceso interconectados, que operando de forma paralela consiguen resolver problemas con la capacidad de generalización y tolerancia de fallas.

    La RNA puede ser definida como una estructura distribuida, de procesamiento paralelo, formada de neuronas artificiales (llamados también elementos de procesamiento), interconectados por un gran numero de conexiones (sinapsis), los cuales son usados para almacenar conocimiento que esta disponible para poder ser usado.

    La teoría de las RNA ha brindado una alternativa a la computación clásica, para aquellos problemas, en los cuales los métodos tradicionales no han entregado resultados muy convincentes, o poco convenientes. Las aplicaciones más exitosas de las RNA son:

    • Planeamiento
    • Reconocimiento de imágenes y voz.
    • Reconocimiento de patrones
    • Predicciones
    • Control y optimización
    • Filtrado de señales
    • Interfaces adaptativas para sistemas hombre/máquina

    2.1.2 Neuronas biológicas

    Se llaman neuronas biológicas a cada una de las células individuales que forman el sistema nervioso. Cada neurona tiene un cuerpo celular, compuesto de núcleo y del citoplasma que lo rodea, y de los procesos, que varían según la longitud y el número que llevan los impulsos nerviosos de un lugar a otro.

    Las neuronas biológicas tienen tamaño y forma variables, pero con las mismas subdivisiones. El cuerpo de la neurona (Soma) contiene el núcleo. Se encarga de todas las actividades metabólicas de la neurona y recibe la información de otras neuronas vecinas a través de las conexiones sinápticas.

    2.1.3 Partes de una neurona biológica


    Figura 3: Estructura Básica de una Neurona Natural

    2.1.3.1 Las Dendritas

    Son las conexiones de entrada de la neurona. Una prolongación del cuerpo de la célula nerviosa, que conduce el impulso nervioso hacia el cuerpo de la neurona.

    2.1.3.2 El Axón

    Es la salida de la neurona y se utiliza para enviar impulsos o señales a otras células nerviosas. Cuando el axón está cerca de sus células destino, se divide en muchas ramificaciones que forman sinápsis con el soma o axones de otras células. Esta unión puede ser inhibidora o excitadora según el transmisor que las libere.

    2.1.3.3 La Sinopsis

    Es la unión de dos neuronas. Un pequeño espacio que separa dos neuronas, y donde los impulsos nerviosos se transmiten del axón de la primera neurona a la dendrita de la segunda.

    Cada neurona recibe de 10.000 a 100.000 sinápsis y el axón realiza una cantidad similar de conexiones.

    La transmisión de una señal de una célula a otra por medio de la sinápsis es un proceso químico. En él se liberan substancias transmisoras en el lado del emisor de la unión. El efecto que se consigue es elevar o disminuir el potencial eléctrico dentro del cuerpo de la célula receptora. Si su potencial alcanzase el umbral, se enviaría un pulso o potencial de acción por el axón. Se dice, entonces, que la célula se disparó. Este pulso alcanzaría a otras neuronas a través de las distribuciones de los axones

    2.1.4 Funcionamiento de las neuronas biológicas

    A grandes rasgos, recordemos que el cerebro humano se compone de decenas de billones de neuronas interconectadas entre sí, formando circuitos o RN que desarrollan funciones específicas.

    Una neurona típica recoge una serie de señales, procedentes de otras neuronas, a través de una pléyade de estructuras delicadas, llamadas dendritas. La neurona emite impulsos de actividad eléctrica a lo largo de una fibra larga y delgada denominada axón, que se escinde en millares de ramificaciones.


    Figura 4: Neurona y conexiones sinápticas


    Figura 5: Detalle de una sinopsis

    Las extremidades de estas ramificaciones llegan hasta las dendritas de otras neuronas y establecen unas conexiones llamadas sinápsis, en las cuales se produce una transformación del impulso eléctrico en un mensaje neuroquímico, mediante la liberación de sustancias llamadas neurotransmisor.

    El efecto de los neurotransmisores sobre la neurona receptora puede ser excitatorio o inhibitorio, y es variable, de manera que podemos hablar de la fuerza o efectividad de una sinápsis. Las señales excitatorias e inhibitorias recibidas por una neurona se combinan, y en función de la estimulación total recibida, la neurona toma un cierto nivel de activación, que se traduce en la generación de breves impulsos nerviosos con una determinada frecuencia o tasa de disparo, y su propagación a lo largo del axón hacia las neuronas con las cuales sinapta.


    Figura 6: Activación y disparo de una neurona

    De esta manera, la información se transmite de unas neuronas a otras y se va procesando a través de las conexiones sinápticas y las propias neuronas. El aprendizaje de las RN se produce mediante la variación de la efectividad de las sinápsis. De esta manera, cambia la influencia que unas neuronas ejercen sobre otras. De aquí, se deduce que la arquitectura, el tipo y la efectividad de las conexiones en un momento dado, representan en cierto modo la memoria o estado de conocimiento de la RN.

    Figura 7. Esquema simplificado de la interconexión de dos neuronas biológicas

    2.1.5 Neurona artificial

    El modelo de una neurona artificial es una imitación del proceso de una neurona biológica, puede también asemejarse a un sumador hecho con un amplificador operacional tal como se ve en la figura 2

    Figura 8: Modelo de neurona artificial

    Existen varias formas de nombrar una neurona artificial, es conocida como nodo, neuronodo, celda, unidad o elemento de procesamiento (PE). En la figura 3 se observa un PE en forma general y su similitud con una neurona biológica:

    Figura 9: Similitud entre una artificial una neurona biológica

    De la observación detallada del proceso biológico se han hallado los siguientes análogos con el sistema artificial:

    • Las entradas Xi representan las señales que provienen de otras neuronas y que son capturadas por las dendritas.
    • Los pesos Wi son la intensidad de la sinápsis que conecta dos neuronas; tanto Xi como Wi son valores reales.
    • θ es la funciσn umbral que la neurona debe sobrepasar para activarse; este proceso ocurre biológicamente en el cuerpo de la célula.

    Las señales de entrada a una neurona artificial X1, X2,.., Xn son variables continuas en lugar de pulsos discretos, como se presentan en una neurona biológica. Cada señal de entrada pasa a través de una ganancia o peso, llamado peso sináptico o fortaleza de la conexión cuya función es análoga a la de la función sináptica de la neurona biológica. Los pesos pueden ser positivos (excitatorios), o negativos (inhibitorios), el nodo sumatorio acumula todas las señales de entradas multiplicadas por los pesos o ponderadas y las pasa a la salida a través de una función umbral o función de transferencia. La entrada neta a cada unidad puede escribirse de la siguiente manera:

    Figura 10: Recorrido en una un conjunto de señales que entran a la red

    Una vez que se ha calculado la activación del nodo, el valor de salida equivale a

    (1.3.2)

    Donde representa la función de activación para esa unidad, que corresponde a la función escogida para transformar la entrada netai en el valor de salida y que depende de las características específicas de cada red.

    2.1.5.1 Funcionamiento

    Una red neuronal se compone de unidades llamadas neuronas. Cada neurona recibe una serie de entradas a través de interconexiones y emite una salida. Esta salida viene dada por tres funciones:

    1. Una función de propagación (también conocida como función de excitación), que por lo general consiste en el sumatorio de cada entrada multiplicada por el peso de su interconexión (valor neto). Si el peso es positivo, la conexión se denomina excitatoria; si es negativo, se denomina inhibitoria.
    2. Una función de activación, que modifica a la anterior. Puede no existir, siendo en este caso la salida la misma función de propagación.
    3. Una función de transferencia, que se aplica al valor devuelto por la función de activación. Se utiliza para acotar la salida de la neurona y generalmente viene dada por la interpretación que queramos darle a dichas salidas.

    2.1.5.2 Ventajas

    Las redes neuronales artificiales (RNA) tienen muchas ventajas debido a que están basadas en la estructura del sistema nervioso, principalmente el cerebro.

    • Aprendizaje: Las RNA tienen la habilidad de aprender mediante una etapa que se llama etapa de aprendizaje. Esta consiste en proporcionar a la RNA datos como entrada a su vez que se le indica cuál es la salida (respuesta) esperada.
    • Auto organización: Una RNA crea su propia representación de la información en su interior, descargando al usuario de esto.
    • Tolerancia a fallos: Debido a que una RNA almacena la información de forma redundante, ésta puede seguir respondiendo aceptablemente aún si se daña parcialmente.
    • Flexibilidad: Una RNA puede manejar cambios no importantes en la información de entrada, como señales con ruido u otros cambios en la entrada (ej. si la información de entrada es la imagen de un objeto, la respuesta correspondiente no sufre cambios si la imagen cambia un poco su brillo o el objeto cambia ligeramente)
    • Tiempo real: La estructura de una RNA es paralela, por lo cuál si esto es implementado con computadoras o en dispositivos electrónicos especiales, se pueden obtener respuestas en tiempo real.

    2.1.6 Tipologías de las RNA

    2.1.6.1 Modelos

    Existe una serie de modelos que aparecen en la mayoría de estudios académicos y la bibliografía especializada.

    • Perceptrón
    • Adaline
    • Perceptrón multicapa
    • Memorias asociativas
    • Máquina de Bolzman
    • Máquina de Cauchy
    • Redes de Elman
    • Redes de Hopfield
    • Red de contrapropagación
    • Redes de neuronas de base radial
    • Redes de neuronas de aprendizaje competitivo
    • Redes de Kohonen o mapas autoorganizados
    • Crecimiento dinámico de células
    • Gas Neuronal Creciente
    • Redes ART (Adaptative Resonance Theory)

    2.1.6.2 Topología

    Una primera clasificación de las redes de neuronas artificiales que se suele hacer es en función del patrón de conexiones que presenta. Así se definen tres tipos básicos de redes:

    • Dos tipos de redes de propagación hacia delante o acíclicas en las que todas las señales van desde la capa de entrada hacia la salida sin existir ciclos, ni conexiones entre neuronas de la misma capa.

      • Monocapa. Ejemplos: perceptrón, Adaline.
      • Multicapa. Ejemplos: perceptrón multicapa.

    • Las redes recurrentes que presentan al menos un ciclo cerrado de activación neuronal. Ejemplos: Elman, Hopfield, máquina de Bolzman.

    Figura 11: Red neuronal monocapa (Notación Abreviada)

    En la figura 11 se han dispuesto los símbolos de las variables de tal manera que describan las características de cada una de ellas, por ejemplo la entrada a la red es el vector p cuya longitud R aparece en su parte inferior, W es la matriz de pesos con dimensiones SxR expresadas debajo del símbolo que la representa dentro de la red, a y b son vectores de longitud S el cual, como se ha dicho anteriormente representa el número de neuronas de la red.

    Figura 12: Red neuronal Multicapa

    Figura 13: Red neuronal multicapa (Notación Abreviada)

    Las redes multicapa son más poderosas que las redes de una sola capa, por ejemplo, una red de dos capas que tenga una función sigmoidal en la primera capa y una función lineal en la segunda, puede ser entrenada para aproximar muchas funciones de forma aceptable, una red de una sola capa no podría hacer esto como se verá más adelante.

    2.1.6.3 Aprendizaje

    Una segunda clasificación que se suele hacer es en función del tipo de aprendizaje de que es capaz (si necesita o no un conjunto de entrenamiento supervisado). Para cada tipo de aprendizaje encontramos varios modelos propuestos por diferentes autores:

    • Aprendizaje supervisado: necesitan un conjunto de datos de entrada previamente clasificado o cuya respuesta objetivo se conoce. Ejemplos de este tipo de redes son: el perceptrón simple, la red Adaline, el perceptrón multicapa y la memoria asociativa bidireccional.
    • Aprendizaje no supervisado o autoorganizado: no necesitan de tal conjunto previo. Ejemplos de este tipo de redes son: las memorias asociativas, las redes de Hopfield, la máquina de Bolzman y la máquina de Cauchy, las redes de aprendizaje competitivo, las redes de Kohonen o mapas autoorganizados y las redes de resonancia adaptativa (ART)
    • Redes híbridas: son un enfoque mixto en el que se utiliza una función de mejora para facilitar la convergencia. Un ejemplo de este último tipo son las redes de base radial.

    La diferencia fundamental entre ambos tipos es la existencia o no de un agente externo (supervisor) que controle el proceso de aprendizaje.

    Otro criterio para diferenciar las reglas de aprendizaje se basan en considerar si la red puede aprender durante su funcionamiento habitual (aprendizaje ON LINE) ,o si el aprendizaje supone una desconexión de la red; es decir su inhabilitación hasta que el proceso termine (aprendizaje OFF LINE).

    El proceso de aprendizaje se realiza mediante un entrenamiento controlado por un agente externo (supervisor o maestro) que determina la respuesta que debería generar la red a partir de una entrada determinada. El supervisor comprueba la salida de la red y en caso de que ésta no coincida con la deseada, se procederá a modificar los pesos de las conexiones, con el fin de que la salida obtenida se aproxime a la deseada.

    Se suelen considerar tres formas de llevar a cabo el aprendizaje:

    2.1.7 Procesos de aprendizaje

    2.1.7.1 Aprendizaje por corrección de error

    Consiste en ajustar los pesos de las conexiones de la red en función de la diferencia entre los valores deseado y los obtenidos en la salida de la red; es decir, en función del error cometido en la salida.

    Una regla o algoritmo simple podría ser el siguiente:

    http://ohm.utp.edu.co/paginas/docencia/neuronales/Capitulo1/RNArtificial.htm

    http://ohm.utp.edu.co/paginas/docencia/neuronales/Capitulo1/RNArtificial.htm

    Un algoritmo muy conocido que permite un aprendizaje rápido es propuesto por [Widrow 60], denominado regla delta o regla del mínimo error cuadrado (LMS Error: Least-Mean-Squared Error), que se aplicó en las redes desarrolladas por los mismos, conocidas como ADALINE y MADALINE).

    Widrow 60] definieron una función que permitiría cuantificar el error global cometido en cualquier momento durante el proceso de entrenamiento de la red, lo cual es importante, ya que cuanta más información se tenga sobre el error cometido, más rápido se puede aprender.

    Este error medio se expresa de la siguiente forma:

    Siendo:

    N: Número de neuronas de salida(en el caso de ADALINE N=1).

    P: Número de informaciones que debe aprender la red.

    : Error cometido en el aprendizaje de la información k-ésima.

    Se trata de encontrar pesos para las conexiones que minimicen esta función de error. Para ello, el ajuste de los pesos de las conexiones de la red se puede hacer de forma proporcional a la variación relativa del error que se obtiene al variar el peso correspondiente:

    Mediante este procedimiento, se llegan a obtener un conjunto de pesos con los que se consigue minimizar el error medio.

    Otro algoritmo de aprendizaje por corrección de error lo constituye el denominado regla delta generalizada o algoritmo de retropropagación del error (error backpropagation). Se trata de una generalización de la regla delta para poder aplicarla a redes de conexiones hacia delante(feedforward) con capas o niveles internos ocultos de neuronas que no tienen relación con el exterior.

    Estas redes multicapa pueden utilizarse en muchas aplicaciones, pero su proceso de aprendizaje es mucho más lento, debido a que durante el mismo se debe explorar el espacio de posibles formas de utilización de neuronas de las capas ocultas; es decir, establecer cuál es su papel en la red.

    2.1.7.2 Aprendizaje por refuerzo

    Es un aprendizaje más lento que el anterior, que se basa en la idea de no disponer de un ejemplo completo del comportamiento deseado; es decir, de no indicar durante el entrenamiento exactamente la salida que se desea que proporcione la red ante una determinada entrada.

    En el aprendizaje por refuerzo la función del supervisor se reduce a indicar mediante una señal de refuerzo si la salida obtenida en la red se ajusta a la deseada (éxito = +1 o fracaso = -1), y en función de ello se ajustan los pesos basándose en un mecanismo de probabilidades.

    2.1.7.3 Aprendizaje estocástico

    Este tipo de aprendizaje consiste básicamente en realizar cambios aleatorios en los valores de los pesos de las conexiones de la red y evaluar su efecto a partir del objetivo deseado y de distribuciones de probabilidad.

    En el aprendizaje estocástico se suele hacer una analogía en términos termodinámicos, asociando la red neuronal con un sólido físico que tiene cierto estado energético. En el de caso de la red, la energía de la misma representaría el grado de estabilidad de la red, de tal forma que el estado de mínima energía correspondería a una situación en la que los pesos de las conexiones consiguen que su funcionamiento sea el que más se ajusta al objetivo deseado.

    Según lo anterior, el aprendizaje consistiría en realizar un cambio aleatorio de los valores de los pesos y determinar la energía de la red. Si la energía es menor después del cambio; es decir, si el comportamiento de la red se acerca al deseado, se acepta el cambio; de lo contrario, se aceptaría el cambio en función de una determinada y preestablecida distribución de probabilidades.

    2.1.7.4 Tipo de entrada

    Finalmente también se pueden clasificar las RNA según sean capaces de procesar información de distinto tipo en:

    • Redes analógicas: procesan datos de entrada con valores continuos y, habitualmente, acotados. Ejemplos de este tipo de redes son: Hopfield, Kohonen y las redes de aprendizaje competitivo.
    • Redes discretas: procesan datos de entrada de naturaleza discreta; habitualmente valores lógicos booleanos. Ejemplos de este segundo tipo de redes son: las máquinas de Bolzman y Cauchy, y la red discreta de Hopfield.

    2.1.8 EL spam (correo basura)

    2.1.8.1 El origen de la palabra Spam

    La palabra "spam" proviene directamente de tos Estados Unidos. El spam es un tipo de carne de cerdo enlatada que puede encontrarse en la mayoría de los supermercados norteamericanos. La utilización de la palabra spam para denotar el envío masivo de e-mails publicitarios no solicitados se asocia a un sketch del grupo cómico inglés Monty Python, en el que la camarera de un restaurante describe los platos del menú a una pareja. Resulta que todos los platos contienen spam. Por ejemplo, spam con salchichas, spam con huevo, spam con tomates, etc. El spam termina por tapar todo el resto, como sucede con el correo electrónico.

    2.1.8.2 Definición de spam

    "Se considera que un mensaje es spam sí y sólo sí el mensaje es no solicitado y, a su vez, es duplicativo"

    "Spam(Stupid Post And Message) son mensajes no solicitados, habitualmente de tipo publicitario, enviados en cantidades masivas que perjudican de una u otra manera al receptor. Aunque se puede hacer por distintas vías, la más utilizada entre el público en general es la basada en el correo electrónico. Otras tecnologías de internet que han sido objeto de correo basura incluyen grupos de noticias usenet, motores de búsqueda, wikis, foros, blogs, tambien a traves de popups y todo tipo de imagenes y textos en la web. El correo basura también puede tener como objetivo los teléfonos móviles (a través de mensajes de texto) y los sistemas de mensajería instantánea."

    "Un SPAM es cualquier mensaje, destinado a una audiencia en general (o sea, un comunicado de masas) que se envía a la gente por e-mail sin que lo soliciten. Es el equivalente de los anuncios impresos que le llegan a uno a la casa. Generalmente el SPAM se trabaja con listas de direcciones "robadas" (o sea, de direcciones que sacan de la gente que envía mensajes por USENET u otras áreas publicas de discusión), por lo cual representa una violación de la privacidad del usuario"

    2.1.8.3 Definición técnica de spam

    Un mensaje electrónico es spam si:

    La identidad personal del receptor y el contexto son irrelevantes porque el mensaje es igualmente aplicable a muchos otros receptores potenciales;

    y

    No se puede verificar que el receptor haya dado un permiso deliberado, explícito, y aún revocable, para que el mismo le sea enviado.

    2.1.8.4 Modalidades de spam

    Estas son algunas modalidades de spam diferentes a las utilizadas por medio del correo electrónico:

    2.1.8.4.1 Spam por correo electrónico

    El correo electrónico es, con diferencia, el medio más común de spamming en internet. Involucra enviar mensajes idénticos o casi idénticos a un gran número de direcciones. A diferencia de los correos electrónicos comerciales legítimos, el spam generalmente es enviado sin el permiso explícito de los receptores, y frecuentemente contiene varios trucos para sortear los filtros de spam. Las computadoras modernas generalmente vienen con cierta capacidad para enviar spam. El único ingrediente necesario es la lista de direcciones objetivo. El receptor de spam puede verse perjudicado al tener que invertir tiempo en eliminar mensajes de su cuenta de correo electrónico; sin embargo, diferentes sistemas de correo en línea (Windows Live, Yahoo! y Gmail) han incrementado sustancialmente la capacidad de almacenamiento de las respectivas cuentas (Yahoo! Correo tiene una capacidad de almacenamiento ilimitada).

    2.1.8.4.2 Spam por mensajería instantánea

    El spam por mensajería instantánea, también conocido como spim, utiliza los sistemas de mensajería instantánea, tales como ICQ o MSN Messenger. Muchos sistemas de mensajería ofrecen un directorio de usuarios, incluyendo información demográfica tal como edad y sexo. Los publicistas pueden reunir esta información, conectarse al sistema, y enviar mensajes no solicitados. Para enviar mensajes instantáneos a millones de usuarios de la mayoría de los servicios de mensajería instantánea sólo se requiere software de scripting y los nombres de usuario de los receptores. Los spammers también apuntan hacia los canales IRC, utilizando bots IRC que se conectan a los canales y los bombardean con mensajes publicitarios. Debido a que la mayoría de los protocolos de mensajería instantánea son propietarios, resulta más simple realizar cambios unilaterales para dificultar la tarea del spammer.

    Un tipo similar de spam puede ser enviado utilizando el Servicio de mensajería de Windows. El Servicio de mensajería es una utilidad SMB que permite a los servidores enviar alertas pop-up a las estaciones de trabajo de Windows. Cuando un sistema Windows se conecta a Internet con este servicio iniciado y sin un firewall adecuado, el mismo puede ser utilizado para enviar spam. El Servicio de mensajería puede, sin embargo, ser fácilmente desactivado.

    2.1.8.4.3 Spam en grupos de noticias

    El spam en grupos de noticias precede al spam por correo electrónico, y apunta a grupos de noticias Usenet. La antigua convención de Usenet define al spamming como publicación excesiva de múltiples mensajes, es decir, la publicación repetida de un mensaje (o mensajes sustancialmente similares). Debido a que publicar mensajes en grupos de noticias es casi tan simple como enviar e-mails, los grupos de noticias son un objetivo popular para los spammers. El Indice Breidbart fue desarrollado para brindar una medida objetiva del "nivel de spam" de un mensaje multi-publicado en Usenet.

    2.1.8.4.4 Spam en foros

    El spam en un foro de internet se produce cuando un usuario publica de manera reiterada una información o informaciones sustancialmente similares que desvirtúan o no tienen nada que ver con el tema de conversación.

    Uno de los usuarios mas reconocidos en internet por spam es Conejoman.

    2.1.9 Técnicas de correo basura

    2.1.9.1 Obtención de direcciones de correo

    Los spammers (individuos o empresas que envían spam) utilizan diversas técnicas para conseguir las largas listas de direcciones de correo que necesitan para su actividad, generalmente a través de programas que recorren Internet en busca de direcciones. Algunas de las principales fuentes de direcciones son las páginas Web que contienen la dirección de su creador o de sus visitantes, correos electrónicos con chistes, (generalmente cadenas que los usuarios suelen reenviar sin ocultar las direcciones que vienen en el cuerpo de los mensajes), páginas que solicitan la dirección de correo para permitir el acceso a algún servicio, compra de bases de datos de direcciones a empresas, etc.

    2.1.9.2 Envío de los mensajes

    Una vez tienen una gran cantidad de direcciones de correo, los spammers utilizan programas que recorren la lista enviando el mismo mensaje a todas las direcciones. Esto supone un costo mínimo para ellos, pero perjudica al receptor (pérdidas económicas y de tiempo) y en general a Internet, por consumirse gran parte del ancho de banda en mensajes basura.

    Tabla1: maneras de engañar al destinatario.

    Fuente: propia

    2.1.9.3 Verificación de la recepción

    Además, es frecuente que el spammer controle qué direcciones funcionan y cuáles no por medio de web bugs o pequeñas imágenes o similares contenidas en el código HTML del mensaje. De esta forma, cada vez que alguien lee el mensaje, su ordenador solicita la imagen al servidor del spammer, que registra automáticamente el hecho. Son una forma más de spyware. Otro sistema es el de prometer en los mensajes que enviando un mail a una dirección se dejará de recibirlos: cuando alguien contesta, significa no sólo que lo ha abierto, sino que lo ha leído. Si recibe un correo no solicitado debe borrarlo sin leerlo.

    2.1.9.4 Troyanos y ordenadores zombis

    Recientemente, han empezado a utilizar una técnica mucho más perniciosa: la creación de virus troyanos que se expanden masivamente por ordenadores no protegidos (sin cortafuegos). Así, los ordenadores infectados son utilizados por el spammer como "ordenadores zombis", que envían spam a sus órdenes, pudiendo incluso rastrear los discos duros o correos nuevos (sobre todo cadenas) en busca de más direcciones. Esto puede causar perjuicios al usuario que ignora haber sido infectado (que no tiene por qué notar nada extraño), al ser identificado como spammer por los servidores a los que envía spam sin saberlo, lo que puede conducir a que no se le deje acceder a determinadas páginas o servicios.

    Actualmente, el 40% de los mensajes de spam se envían de esta forma.

    El programa de Intercambio P2P eMule tiene un bot-spam de esta característica llamado Zambor

    2.1.9.5 Servidores de correo mal configurados

    Los servidores de correo mal configurados son aprovechados también por los spammer. En concreto los que están configurados como Open Relay. Estos no necesitan un usuario y contraseña para que sean utilizados para el envío de correos electrónicos. Existen diferentes bases de datos públicas que almacenan los ordenadores que conectados directamente a Internet permiten su utilización por los spammers. El más conocido es la Open Relay DataBase.

    3. Recopilación metódica de datos

    Para obtener información de carácter primario se recurre a las técnicas de la entrevista y cuestionario. Las entrevistas a igual que los cuestionarios son medios que sirven para la recopilación de información por medio de un conjunto preguntas. La diferencia se encuentra en que la entrevista se realiza de manera personal.

    Las fuentes primarias a tomar en cuenta para aclaración de conceptos, dudas y preguntas frecuentes, fueron los Ingenieros.

    • Ing Eloy Espozo (Administrador de redes UCB)
    • Ing Jesús Ruiz Bernabé (Administrador de redes AXS-Bolivia)

    También se recurrió a diferentes fuentes de información tales son:

    • Libros
    • Trabajos de grado
    • Tesis
    • Manuales
    • Apuntes de cátedra
    • Internet ( paginas Web, pdfs, presentaciones power point, documentos Word, etc)

    4. Análisis preliminar del proyecto

    Se necesita analizar el mensaje de correo electrónico para determinar si este corresponde a ser un spam

    Se necesita analizar las características que presenta el correo electrónico. A continuación se determinan algunas características que determinan la posible detección de spam:

    A continuación detallamos los procesos para el entrenamiento de la red neuronal:

    • Elección del conjunto inicial de pesos: Antes de comenzar el proceso de entrenamiento se debe determinar un estado inicial, lo que significa: escoger un conjunto inicial de pesos para las diversas conexiones entre las neuronas de la red neuronal.
    • Detección del proceso de aprendizaje: Para determinar cuándo se detendrá el proceso de aprendizaje, es necesario establecer una condición de detención. Normalmente el entrenamiento se detiene cuando el cálculo del error cuadrado sobre todos los ejemplos de entrenamiento ha alcanzado un mínimo o cuando para cada uno de los ejemplos dados, el error observado está por debajo de un determinado umbral.
    • Codificación de los datos de entrada: Los datos tienen que ser codificados, o sea, deben hallarse valores apropiados para representar las características simbólicas (alto, bajo, adecuado, etc.). Se distinguen dos tipos de variables a ser codificadas:
      • 1) Variables o atributos numéricos (frecuentemente llamadas continuas).
      • 2) Variables o atributos simbólicos (frecuentemente llamados discretos).

    • Redes de propagación hacia atrás (backpropagation): El nombre de backpropagation resulta de la forma en que el error es propagado hacia atrás a través de la red neuronal, en otras palabras el error se propaga hacia atrás desde la capa de salida. Esto permite que los pesos sobre las conexiones de las neuronas ubicadas en las capas ocultas cambien durante el entrenamiento. El cambio de los pesos en las conexiones de las neuronas además de influir sobre la entrada global, influye en la activación y por consiguiente en la salida de una neurona. Por lo tanto, es de gran utilidad considerar las variaciones de la función activación al modificarse el valor de los pesos. Esto se llama sensibilidad de la función activación, de acuerdo al cambio en los pesos.

    5. Propuesta final de solución

    5.1 Esquemas

    Con relación a lo estudiado en el marco teórico, el esquema de solución tendrá como componentes:

    • Entrada de Variables
    • Procesamiento y Clasificación de la Red Neuronal
    • Procesamiento y Clasificación del resultado obtenido mediante Lógica Difusa
    • Salida y determinación de la acción a tomar.

    A continuación se presenta el esquema general de la solución, aplicado a la Red Neuronal de tipo Backpropagation:

    Esquema general de solución. Fuente: propia

    5.2 Modelos

    Siguiendo con el esquema general de la solución, se contará con los siguientes modelos:

    • Modelo de la Red Neuronal Backpropagation
    • Diagrama Casos de Uso
    • Diagrama de Clases
    • Diagrama de Secuencia

    5.2.1 Modelo de la red neuronal

    Figura 14: Modelo de la red neuronal Backpropagation. Fuente: Elaboración propia

    5.2.2 Modelo casos de usos

    Diagrama de casos de uso Fuente: elaboración propia

    5.2.3 Diagrama de secuencias

    Los diagramas de secuencia representan la interacción que van a tener los objetos en un determinado escenario.

    5.2.3.1 Identificación de correo

    Diagrama de secuencia: Identificación de correo

    5.2.3.2 Identificación de riesgos

    Diagrama de secuencia: Identificación de riesgos

    5.2.3.3 Dar resultado

    Diagrama de secuencia: Identificación de resultado

    6. Definición de criterios

    6.1 Fuentes de información

    Se recurrirá a distintas fuentes de información como ser:

    • Libros
    • Trabajos de grado
    • Tesis
    • Manuales
    • Apuntes de cátedra
    • Internet ( paginas Web, pdfs, presentaciones power point, documentos Word, etc)

    Bibliografía

    • HERNANDEZ, Sampieri Roberto, FERNANDEZ, Collado Carlos y BAPTISTA, Lucio Pilar, "Metodología de la investigación", Mexico, Ed. Mc Grall Hill, 1998.

    Recursos de Internet

     

     

    Autor:

    Jimmy Gutierrez Nina

    elunicojimmy[arroba]hotmail.com



     Página anterior Volver al principio del trabajoPágina siguiente 

    Comentarios


    Trabajos relacionados

    • Internet

      Creación de páginas Web. Historia de Internet. Historia y concepto de World Wide Web. ¿Qué es una página Web?. Explorado...

    • Web Cams y Videoconferencia

      Aplicaciones de la videoconferencia. Tipos de videoconferencias. Estándares ISO para almacenamiento y recuperación audio...

    • Diseño de cursos virtuales

      La presente investigación tiene como fin demostrar que existen fundamentos para diseñar cursos basados en Web, como posi...

    Ver mas trabajos de Internet

     

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.


    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.