• No se han encontrado resultados

Propuesta del Modulo Decisor del Motor de Clasificacion Inteligente por Contenidos (MOCIC)

N/A
N/A
Protected

Academic year: 2023

Share "Propuesta del Modulo Decisor del Motor de Clasificacion Inteligente por Contenidos (MOCIC)"

Copied!
77
0
0

Texto completo

(1)

Facultad 10

T´ıtulo: Propuesta del M ´ odulo Decisor del Motor de Clasificaci ´ on Inteligente por Contenidos (MOCIC).

Trabajo de Diploma para optar por el T´ıtulo de Ingeniero en Ciencias Inform ´aticas

Autor: Indira Tamarit Mu ˜noz Ana Miranda Bermudez

Tutor: Ing. Kiuver Kaddiel Iba ˜nez Castro

Ciudad de la Habana, 11 de junio de 2009

(2)

implementarla”

Johann Wolfgang von Goethe.

(3)

Declaramos que somos los ´unicos autores del trabajo titulado:

y autorizamos a la Universidad de las Ciencias Inform ´aticas los derechos patrimoniales de la misma, con car ´acter exclusivo.

Para que as´ı conste firmamos la presente a los d´ıas del mes de del a ˜no .

Indira Tamarit Mu ˜noz Ana Miranda Bermudez

Autor Autor

Ing. Kiuver Kaddiel Iba ˜nez Castro Tutor

(4)

En la Universidad de las Ciencias Inform ´aticas se est ´a desarrollando, desde el a ˜no 2005, a petici ´on de la Oficina de Seguridad para las Redes Inform ´aticas, un sistema de Filtrado de Paquetes por Contenido que pretende regular (aceptar o denegar) el acceso de usuarios a determinados contenidos de Inter- net y brindarles una navegaci ´on segura, adapt ´andose a las normas y pol´ıticas de las instituciones en que pueda instalarse. Para el proceso de filtrado utiliza, principalmente, una Base de Datos de URLs Categorizadas, mediante la cual se toma la decisi ´on de autorizar o denegar el acceso al los recursos solicitados y la Pol´ıtica de Uso Aceptable de Internet definida por la organizaci ´on. Dado el gran volumen que posee Internet actualizar manualmente esta base de datos resulta imposible; para automatizar esta tarea surge el Motor de Categorizaci ´on Inteligente por Contenidos, que es el encargado de automatizar el proceso de clasificaci ´on de documentos HTML provenientes de Internet. Para categorizar un docu- mento HTML en su totalidad es necesario hacerlo primero de manera independiente, tomando el texto y las im ´agenes por separado y clasific ´andolos mediante los m ´odulos especializados en realizar esta tarea, pero ese criterio no es suficiente, se necesita de un m ´odulo que sea capaz de unificar todos esos resul- tados y determinar de manera ”inteligente”la categor´ıa m ´as probable a la que pertenece el documento HTML. En este documento se propone un m ´odulo para clasificar de manera autom ´atica e “inteligente” los documentos HTML con vistas a su integraci ´on en el Motor de Categorizaci ´on Inteligente por Contenidos.

Su aplicaci ´on permitir ´a crear listas de URLs categorizadas, permitiendo mantener actualizada la base de datos de FILPACON y obtener/descartar (en l´ınea) listas de URLs categorizadas, para clientes adscritos al servicio.

Palabras claves: Aprendizaje Autom ´atico, Redes Neuronales Artificiales, mecanismo de decisi ´on.

(5)

Introducci ´on 1

1. Fundamentaci ´on te ´orica 7

1.1. Introducci ´on . . . 7

1.2. Estado del arte . . . 7

1.2.1. ´Ambito internacional . . . 8

1.2.2. ´Ambito nacional . . . 10

1.3. Aprendizaje autom ´atico . . . 11

1.3.1. Aprendizaje supervisado . . . 12

1.3.2. Aprendizaje no supervisado . . . 13

1.4. Algoritmos basados en Redes Neuronales Artificiales . . . 14

1.4.1. Multilayer Perceptron . . . 16

1.4.2. Modelo de Kohonen . . . 17

1.5. Algoritmo del vecino m ´as cercano (Nearest Neighbour, NN) y variantes . . . 23

1.6. Support Vector Machines . . . 27

1.7. Evaluaci ´on de la clasificaci ´on . . . 28

1.8. Herramientas . . . 29

1.9. Conclusiones . . . 31

2. Dise ˜no del M ´odulo Decisor 33 2.1. Introducci ´on . . . 33

2.2. Integraci ´on con MOCIC . . . 33

2.2.1. Arquitectura . . . 34

(6)

2.2.2. Modos de Respuesta . . . 39

2.2.3. Conformaci ´on del vector de caracter´ısticas . . . 40

2.2.4. Normalizaci ´on de los datos . . . 42

2.2.5. Propuesta de los algoritmos de clasificaci ´on . . . 44

2.2.6. Entrenamiento y clasificaci ´on de los algoritmos . . . 45

2.2.7. Implementaci ´on de un prototipo funcional . . . 47

2.2.8. Componentes . . . 56

2.3. Selecci ´on de la colecci ´on de entrenamiento . . . 57

2.4. Conclusiones . . . 58

Conclusiones 59

Recomendaciones 60

Referencias 62

Bibliograf´ıa 63

A. Categor´ıas de MOCIC 65

Glosario de t ´erminos 67

(7)

2.1. Arquitectura MOCIC . . . 34

2.2. Modelo del MLP . . . 46

2.3. Proceso de clasificaci ´on . . . 48

2.4. Modelo de Dominio . . . 52

2.5. Diagrama de clases . . . 53

2.6. Diagrama de componentes: Entrenar . . . 56

2.7. Diagrama de componentes: Clasificar . . . 57

(8)

1.1. Contingencia para la clase ci . . . 29 2.1. Matriz . . . 50 2.2. Matriz de entrenamiento . . . 54

(9)

Internet se ha convertido en poco tiempo en la herramienta tecnol ´ogica m ´as revolucionaria y poderosa de todas, influyendo pr ´acticamente en todos los niveles de la actividad humana. El Internet o la denomina- da “Autopista de la informaci ´on” es un sistema mundial de redes de computadoras, un conjunto integrado por las diferentes redes de cada pa´ıs del mundo, que le permite a un usuario en cualquier computadora, en caso de contar con los permisos apropiados, acceder a los dis´ımiles servicios que ofrece la “red de redes”, los cuales, por ser tan populares, c ´omodos e incluso gratis, propician un aumento desenfrenado de la cantidad de usuarios que ven en ellos la necesidad de utilizarlos para obtener gran cantidad de informaci ´on. Se calcula que existen en el mundo m ´as de 6000 millones de personas que acceden a Inter- net, consultando y aportando en esta gigantesca “biblioteca” mundial, que es considerada adem ´as como una fuente inagotable del conocimiento humano.

La World Wide Web (WWW) es tal vez el punto m ´as visible de Internet y hoy en d´ıa el m ´as usado.

La WWW puede definirse b ´asicamente como tres cosas: hipertexto, que es un sistema de enlaces que permite saltar de unos lugares a otros; multimedia, que hace referencia al tipo de contenidos que pue- de manejar (textos, gr ´aficos, v´ıdeos, sonidos y otros) e Internet, la base sobre la que se transmite la informaci ´on [2].

En la Web se encuentra la mayor fuente de informaci ´on que haya existido jam ´as. Sus contenidos son inagotables y pr ´acticamente no hay ning ´un tema sobre el que no pueda encontrarse informaci ´on exhaus- tiva. Millones de p ´aginas est ´an permanentemente a disposici ´on de las personas que quieran consultarlas, lo que convierte a la Web en una herramienta de valor incalculable.

La Red de Redes y espec´ıficamente la Web tiene otra gran ventaja, como es la libertad de expresi ´on.

Gracias a ello, la informaci ´on que puede encontrarse tiene un car ´acter libre y plural, lo cual -te ´oricamente-

(10)

supone un valor a ˜nadido. Sin embargo, como en cualquier otro medio, hay personas que hacen mal uso de tal libertad, lo que puede resultar extremadamente peligroso. Contenidos sobre terrorismo, pedofilia, inducci ´on al suicidio, violencia descontrolada, aberraciones sexuales, pornograf´ıa, etc., tambi ´en forman parte de Internet. La cuesti ´on es: ¿resulta conveniente que todo el mundo pueda acceder a todo tipo de contenidos?

Pese a que algunos pa´ıses han tratado de regular los contenidos a los que los usuarios pueden tener o no acceso, lo cierto es que, dado el car ´acter global de Internet, la tarea resulta dif´ıcil; esto implica la necesidad de utilizar herramientas espec´ıficas y locales. Los sistemas de filtrado de contenido son una soluci ´on t ´ecnica utilizada para regular el acceso a materiales inadecuados en la red, entre los m ´as re- conocidos a escala mundial se encuentran OPTENET, IBM Proventia Web Filter, Netsweeper y POESIA, siendo este ´ultimo el ´unico libre.

Actualmente en nuestro pa´ıs existen m ´as de 1 400 000 usuarios de redes inform ´aticas, incluyendo en esta estad´ıstica a aquellas personas que hacen uso del correo electr ´onico, ya sea de alcance nacional o internacional, los que navegan por la Red Cuba o quienes acceden plenamente a Internet [1], pero toda nueva tecnolog´ıa trae consigo riesgos y por tanto es necesario mantener un estricto control para evitar el intercambio y diseminaci ´on de informaci ´on nociva; es por ello que a petici ´on de la Oficina de Seguridad para las Redes Inform ´aticas (OSRI), en la Universidad de las Ciencias Inform ´aticas (UCI) se est ´a desarrollando un proyecto llamado Filtrado de Paquetes por Contenido (FILPACON).

FILPACON es un sistema de filtrado Web que permite regular (aceptar o denegar) el acceso de usuarios a determinados contenidos de Internet y brindarles una navegaci ´on segura, adapt ´andose a las normas y pol´ıticas de las instituciones en que pueda instalarse. Para el proceso de filtrado utiliza, principalmente, una Base de Datos de URLs Categorizadas (BDUC) y la Pol´ıtica de Uso Aceptable de Internet definida por la organizaci ´on.

Dado el gran volumen que posee Internet actualizar manualmente la BDUC es una tarea pr ´acticamente inviable. Para automatizar este proceso se utilizar ´a el Motor de Categorizaci ´on Inteligente por Contenidos (MOCIC), que se encuentra en desarrollo.

(11)

MOCIC est ´a compuesto por un conjunto de m ´odulos que mayoritariamente estar ´an dotados de Inteli- gencia Artificial (IA), que de forma unida, permitir ´an automatizar el proceso de clasificaci ´on de contenidos y ser ´a utilizado para categorizar documentos HTML provenientes de Internet.

Para categorizar un documento HTML en su totalidad es necesario hacerlo primero de manera inde- pendiente, tomando el texto y las im ´agenes por separado y clasific ´andolos mediante los m ´odulos es- pecializados en realizar esta tarea. Estos devuelven una respuesta al Controlador con la categor´ıa del contenido, pero esta informaci ´on no es suficiente, para categorizar el documento HTML se necesita de un m ´odulo que sea capaz de unificar todos esos resultados y determinar de manera ”inteligente”la categor´ıa m ´as probable a la que pertenece el documento HTML y el encargado de realizar ese proceso ser ´a el Decisor.

La situaci ´on probl ´emica est ´a dada por:

Se necesita de una herramienta inform ´atica que de manera autom ´atica e “inteligente”, sea capaz de clasificar los documentos HTML, para fundamentalmente crear listas de URLs categorizadas, permitiendo mantener actualizada la base de datos de FILPACON y obtener/descartar (en l´ınea) listas de URLs categorizadas, para clientes adscritos al servicio.

Se requiere del M ´odulo Decisor para el funcionamiento de MOCIC.

Surgiendo como problema cient´ıfico: ¿Qu ´e mecanismo de decisi ´on utilizar para que MOCIC pueda categorizar los documentos HTML de manera autom ´atica e “inteligente”?

Para darle soluci ´on a este problema se plantea como idea a defender que empleando los mecanismos de decisi ´on para el M ´odulo Decisor de MOCIC, este clasificar ´a de manera autom ´atica e “inteligente” los documentos HTML.

Se enmarc ´o el objeto de estudio en el mecanismo de decisi ´on del sistema de filtrado POESIA y como campo de acci ´on los Algoritmos de Aprendizaje Autom ´atico para la clasificaci ´on de documentos HTML.

En el presente trabajo se plantea como objetivo general proponer el dise ˜no del M ´odulo Decisor de MOCIC, para categorizar los documentos HTML autom ´atica e “inteligentemente”, desglos ´andose en los siguientes objetivos espec´ıficos:

(12)

Estudiar el estado del arte del mecanismo decisor del sistema de filtrado POESIA.

Definir el funcionamiento del M ´odulo Decisor.

Evaluar la efectividad de los algoritmos seleccionados.

Para darle cumplimiento a los objetivos planteados se han definido las siguientes tareas investigativas:

Estudio del mecanismo de decisi ´on de POESIA.

Estudio de Algoritmos de Aprendizaje Autom ´atico para la soluci ´on de problemas de categorizaci ´on.

Estudio de la integraci ´on del M ´odulo Decisor con MOCIC.

Implementaci ´on de un prototipo funcional.

Estudio de las funciones para la evaluaci ´on de la clasificaci ´on de los algoritmos seleccionados.

Dise ˜ no metodol ´ ogico

Para el desarrollo de la presente investigaci ´on se emplearon los siguientes m ´etodos:

M ´etodos te ´oricos

Anal´ıtico-Sint ´etico: Ayud ´o a procesar el marco referencial de la tesis a partir de la sistematizaci ´on del conocimiento cient´ıfico relacionado con el objeto de estudio, permiti ´o reconocer las m ´ultiples relaciones y componentes del problema abordado por separado, para luego integrarlas en un todo como se presenta en la realidad y fue la v´ıa a trav ´es de la cual se realiz ´o la interpretaci ´on de la informaci ´on recogida a trav ´es de la aplicaci ´on de los instrumentos que se seleccionaron a fin de poderse llegar a las conclusiones correspondientes.

Inductivo-Deductivo: Aport ´o la determinaci ´on del problema y la diferenciaci ´on de las tareas desarro- lladas en el proceso investigativo permitiendo que a partir del estudio de la bibliograf´ıa referente a los mecanismos decisores de los sistemas de filtrado aut ´onomos, se llegara a establecer lo com ´un en ellos y a partir de all´ı se logr ´o proceder a la implementaci ´on del prototipo funcional que permi- ti ´o la evaluaci ´on de los algoritmos seleccionados. Adem ´as proporcion ´o el establecimiento de las

(13)

relaciones entre los hechos analizados y las explicaciones y conclusiones a las que se arrib ´o en la presente investigaci ´on.

Hist ´orico-L ´ogico: Permiti ´o que se analizara el desarrollo hist ´orico del objeto de estudio y encontrar la l ´ogica interna del desarrollo, as´ı como todas las publicaciones posibles editadas en Cuba y en el extranjero sobe los mecanismos decisores de los sistemas de filtrado aut ´onomos, el empleo de Algoritmos de Clasificaci ´on Supervisada en la clasificaci ´on de documentos HTML, funciones para la evaluaci ´on de la efectividad de los algoritmos de clasificaci ´on y las bibliotecas libres existentes para este fin, todo ello contextualizado en el tiempo.

Modelaci ´on: Este se utiliz ´o para dise ˜nar un prototipo funcional de forma que reflejara lo mejor posible la realidad que se presenta en el proceso de decisi ´on.

M ´etodos emp´ıricos

Medici ´on: Mediante este m ´etodo se realiz ´o la determinaci ´on de las diferentes variables que permitieron realizar la evaluaci ´on de la efectividad de los algoritmos analizados mediante el prototipo funcional propuesto.

Estructura del contenido

El documento se encuentra organizado en dos cap´ıtulos tal como se describe a continuaci ´on:

Cap´ıtulo 1: Fundamentaci ´on Te ´orica. En este cap´ıtulo se realiza un estudio del mecanismo de Decisi ´on del sistema de filtrado POESIA. Se abordar ´an temas referentes al Aprendizaje Autom ´atico y den- tro de este al Aprendizaje Supervisado y No Supervisado. Se describir ´a el funcionamiento de los Algoritmos de Aprendizaje Autom ´atico m ´as utilizados en la clasificaci ´on de documentos HTML. Se analizar ´an las funciones para la evaluaci ´on de la clasificaci ´on y se comentar ´a sobre las herramien- tas utilizadas a lo largo de la investigaci ´on.

Cap´ıtulo 2: Dise ˜no del M ´odulo Decisor. En este cap´ıtulo se realiza una descripci ´on de la arquitectura de MOCIC, con el fin de aclarar la integraci ´on del M ´odulo Decisor en el mismo. Se conforma el vector de caracter´ısticas mediante la respuesta de los m ´odulos de clasificaci ´on y se describe la forma en que ser ´an normalizados los datos. Se proponen los algoritmos de clasificaci ´on que ser ´an utilizados y se

(14)

selecciona la colecci ´on de entrenamiento para entrenar el sistema. A partir de la implementaci ´on del prototipo funcional se eval ´uan los algoritmos propuestos y se prueba la integraci ´on del M ´odulo Decisor con el sistema.

(15)

Fundamentaci ´ on te ´ orica

1.1. Introducci ´ on

En este cap´ıtulo se presenta una breve revisi ´on del mecanismo de decisi ´on del sistema de filtrado POESIA. Se fija el marco te ´orico para poder establecer definiciones formales y presentar aspectos re- lacionados con el aprendizaje autom ´atico. Se analizan en detalle los algoritmos m ´as empleados en la soluci ´on de problemas de clasificaci ´on. Se dan a conocer los par ´ametros que se tendr ´an en cuenta pa- ra la evaluaci ´on de la clasificaci ´on y las herramientas que servir ´an de apoyo en la implementaci ´on del prototipo funcional, evaluaci ´on de la efectividad y la confecci ´on de este documento.

1.2. Estado del arte

Un filtro de contenido es uno o m ´as elementos de software que operan juntos para regular (permitir o denegar) el acceso de los usuarios a determinados materiales que se encuentran en Internet. FILPACON constituye una soluci ´on de este tipo, uno de sus componentes fundamentales es MOCIC, que realiza la funci ´on de recuperaci ´on y clasificaci ´on de la informaci ´on, que actualmente se encuentra en desarrollo.

Ante la necesidad de un M ´odulo Decisor en MOCIC, que ser ´a el encargado de entregar un resultado de categorizaci ´on combinando varios factores, entre ellos el resultado de algunos m ´odulos que componen el motor (Clasificador de Enlaces, Clasificador de Textos, Clasificador de Desnudez, Clasificador de Rostros, Clasificador de Objetos, Reconocimiento ´Optico de Caracteres), se precisa del estudio de soluciones similares que puedan existir para dicho m ´odulo.

(16)

1.2.1. Ambito internacional´

En el marco particular de los sistemas de filtrado aut ´onomos, la existencia de un motor de recuperaci ´on y clasificaci ´on de la informaci ´on y por tanto de un m ´odulo decisor como parte fundamental del mismo, se hace necesario para llenar sus base de datos.

Estos sistemas de filtrado utilizan t ´ecnicas de IA lo que reduce la dependencia de las listas de URLs, logrando que el filtro en cuesti ´on se adapte a la naturaleza din ´amica de Internet. A continuaci ´on se muestra una peque ˜na lista de algunos sistemas de filtrado aut ´onomos:

POESIA1 OPTENET2

IBM Proventia Web Filter3 Netsweeper4

CyberPatrol5

Con la excepci ´on de POESIA los filtros mencionados son software privativos, presentando las siguien- tes desventajas:

El motor de recuperaci ´on y clasificaci ´on de la informaci ´on no es un producto que est ´a separado del filtro.

Son dise ˜nados como una soluci ´on a la medida del propio filtro, imposibilitando el uso de estos en otro entorno.

Al no tener acceso al c ´odigo fuente es imposible su mantenimiento.

Alta dependencia de los propietarios.

1http://www.poesia-filter.org

2http://www.optenet.com/es/webfilter.asp?c=1

3http://www.virtual.com/pages/partners_iss.aspx

4http://www.netsweeper.com/Developers/Categorization

5http://www.cyberpatrol.com

(17)

POESIA es un proyecto dise ˜nado para ser aplicado en el sistema operativo GNU/Linux bajo la licencia libre GPL. Dicho proyecto ha supuesto la creaci ´on de un filtro de contenidos pornogr ´aficos, violentos y xen ´ofobos basado en el filtrado tanto de contenidos textuales como de las im ´agenes.

El mecanismo de decisi ´on es el ´ultimo eslab ´on de la cadena del proceso de filtrado, este agrupa la informaci ´on proveniente de los diferentes componentes especializados y debe dar la ´ultima palabra sobre la aprobaci ´on de la p ´agina solicitada.

Las entradas al mecanismo de decisi ´on las constituyen las salidas de los dem ´as componentes, las cuales provienen de:

Componente de Filtrado de lenguaje.

Componente de Filtrado de im ´agenes.

Componente de Filtrado de PICS.

Componente de Filtrado de JavaScript.

Componente de Filtrado de URL.

No es tarea de los componentes de filtrado enviar mensajes al mecanismo de decisi ´on, realmente, es una tarea del componente orientador enviar al mecanismo de decisi ´on las salidas recibidas de los otros componentes.

El objetivo del sistema de filtrado est ´a basado en las siguientes caracter´ısticas:

1. fiabilidad 2. rapidez 3. configurable

Dado que los dos primeros puntos son obviamente claros, el ´ultimo punto ser ´a explicado: diferentes usuarios pueden tener diferentes necesidades en relaci ´on a qu ´e debe ser filtrado, por eso al mecanismo de filtrado no se le pueden aplicar reglas de filtrado generales, sino que deben ser flexibles y adaptables.

M ´as que nada el mecanismo de filtrado debe desarrollarse de acuerdo al uso y las necesidades del

(18)

usuario final, por lo tanto debemos elegir implementar el mecanismo de decisi ´on mediante plugin, lo que significa que puede ser posible y simple hacerlo, adicionando en un nuevo estado un nuevo mecanismo de decisi ´on, implementado con un estilo de filtrado diferente.

El punto m ´as importante del mecanismo de decisi ´on es el manejo de la falta de sincronizaci ´on de la respuesta proveniente de los componentes. A primera vista, esto puede amenazar la posibilidad de tener una red neuronal para implementar la l ´ogica del mecanismo de decisi ´on, ya que esperar por todos los filtrados para completar su evaluaci ´on puede significar una demora considerable, es por esto que el equipo de desarrollo de POESIA reconoce la necesidad de que el mecanismo decisor de una respuesta aun cuando no todos los componentes de filtrado hayan concluido el proceso.

Para respetar la fiabilidad requerida al menos uno de los estilos de filtrado ser ´a implementado usando uno de los modelos est ´andar de aprendizaje autom ´atico.

Los mecanismos que se deben elegir para el dise ˜no e implementaci ´on, son los plugin siguientes.

Mecanismo de decisi ´on basado en la teor´ıa Bayesiana.

Mecanismo de decisi ´on basado en redes neuronales.

Mecanismo de decisi ´on basado en reglas.

A pesar de todas las ventajas que nos brinda POESIA este tiene la desventaja que su ´ultima versi ´on disponible data del a ˜no 2006, lo que supone un bajo mantenimiento del software y su mecanismo de decisi ´on no se ajusta a la arquitectura de MOCIC, por lo que no puede ser reutilizable [2].

1.2.2. Ambito nacional´

En nuestro pa´ıs, FILPACON constituye la ´unica soluci ´on de su tipo, implicando novedad en cada uno de sus componentes. No se tienen referencias de un motor de clasificaci ´on inteligente de contenidos basado en t ´ecnicas de IA, desarrollado por ninguna instituci ´on del pa´ıs. Por lo antes expresado se llega a la conclusi ´on de que a escala nacional no existe una soluci ´on a nuestro problema.

(19)

1.3. Aprendizaje autom ´atico

Hasta finales de los a ˜nos 80 del siglo pasado, el enfoque m ´as popular dentro de la clasificaci ´on au- tom ´atica era el de la “Ingenier´ıa del Conocimiento”, consistente en la definici ´on manual de un conjunto de reglas que codificaban el conocimiento experto humano sobre como clasificar un documento dado un conjunto prefijado de clases. En la d ´ecada siguiente este enfoque fue perdiendo popularidad, especial- mente en la comunidad cient´ıfica, en favor del paradigma del aprendizaje autom ´atico [3].

El Aprendizaje Autom ´atico es una rama de la Inteligencia Artificial cuyo objetivo es desarrollar t ´ecnicas que permitan a las computadoras aprender. De forma m ´as concreta, se trata de crear programas capaces de generalizar comportamientos a partir de una informaci ´on no estructurada suministrada en forma de ejemplos. Es, por lo tanto, un proceso de inducci ´on del conocimiento. En muchas ocasiones el campo de actuaci ´on del Aprendizaje Autom ´atico se solapa con el de la Estad´ıstica, ya que las dos disciplinas se basan en el an ´alisis de datos.

El Aprendizaje Autom ´atico puede definirse como la disciplina que permite desarrollar sistemas capa- ces de realizar una tarea de un modo autom ´atico y de forma que el desempe ˜no de dicha tarea resulte mejor con experiencia que sin ella. El aprendizaje autom ´atico consiste en la programaci ´on de sistemas inform ´aticos de forma que se optimice un determinado criterio de rendimiento, empleando datos de en- trenamiento o con ayuda de una experiencia pasada. Se define un modelo a partir de un conjunto de par ´ametros y, mediante un aprendizaje, se ejecuta un programa que optimiza dichos par ´ametros, usando un conjunto de datos que representan experiencia pasada.

Las ventajas que aporta el aprendizaje autom ´atico a la clasificaci ´on son unas tasas de precisi ´on com- parables a las ofrecidas por un experto humano, as´ı como un ahorro en t ´erminos de trabajo potencial humano, ya que no se requiere del conocimiento de un experto en un determinado tema para la cons- trucci ´on de un clasificador, ni en el caso en que se desee cambiar el conjunto de categor´ıas.

En general existen dos enfoques principales dentro del aprendizaje autom ´atico: a) aprender para poder generar un nuevo conocimiento o comportamientos para un determinado sistema y, b) aprender para tratar de mejorar el comportamiento de un sistema. En el primer caso se suelen utilizar t ´ecnicas basadas

(20)

en razonamiento inductivo, mientras que la segunda suele estar relacionada con la utilizaci ´on de t ´ecnicas anal´ıticas. Ambos enfoques pueden emplearse tambi ´en conjuntamente [3].

El Aprendizaje Autom ´atico tiene una amplia gama de aplicaciones, incluyendo motores de b ´usqueda, diagn ´osticos m ´edicos, detecci ´on de fraude en el uso de tarjetas de cr ´edito, an ´alisis del mercado de valores, clasificaci ´on de secuencias de ADN, reconocimiento del habla y del lenguaje escrito, juegos y rob ´otica.

Dentro del aprendizaje autom ´atico, y dependiendo de si se dispone o no de datos etiquetados, se puede distinguir entre: aprendizaje supervisado y no supervisado.

1.3.1. Aprendizaje supervisado

El aprendizaje supervisado se construye sobre un conocimiento a priori. En la clasificaci ´on de docu- mentos HTML se debe disponer de una colecci ´on de entrenamiento (conjunto de documentos HTML de ejemplo para cada una de las categor´ıas en las que se quiere clasificar). Despu ´es de una etapa de en- trenamiento, el sistema queda ajustado de tal modo que ante nuevos ejemplos, el algoritmo es capaz de clasificarlos en alguna de las categor´ıas existentes. Cuanto mayor sea el conjunto de datos etiquetados (colecci ´on de entrenamiento) mayor ser ´a la informaci ´on potencial disponible y, previsiblemente, mejor resultar ´a el aprendizaje [3].

La clasificaci ´on puede ser formalizada como la tarea de aproximar una funci ´on objetivo desconocida Φ : I × C → {T, F } (que describe c ´omo instancias del problema deben ser clasificadas de acuerdo a un experto en el dominio) por medio de una funci ´on Θ : I × C → {T, F } llamada el clasificador, donde C = {c1, . . . , c|c|} es un conjunto de categor´ıas predefinido, e I es un conjunto de instancias del problema.

Com ´unmente cada instancia ij ∈ I es representada como una lista A = ha1, a2, . . . , a|A|i de valores caracter´ısticos, conocidos como atributos, i.e. ij = ha1j, a2j, . . . , a|A|ji. Si Φ : ij × ci → T , entonces ij es llamado un ejemplo positivo de ci, mientras si Φ : ij× ci→ F ´este es llamado un ejemplo negativo de ci.

Para generar autom ´aticamente el clasificador de cies necesario un proceso inductivo, llamado el apren- diz, el cual por observar los atributos de un conjunto de instancias preclasificadas bajo ci o ¯ci, adquiere los atributos que una instancia no vista debe tener para pertenecer a la categor´ıa. Por tal motivo, en la

(21)

construcci ´on del clasificador se requiere la disponibilidad inicial de una colecci ´onW de ejemplos tales que el valor de Φ(ij, ci)es conocido para cada hij, cii ∈ Φ × C. A la colecci ´on usualmente se le llama conjunto de entrenamiento (T r). En resumen, al proceso anterior se le identifica como aprendizaje supervisado debido a la dependencia de T r [4].

1.3.2. Aprendizaje no supervisado

La clasificaci ´on no supervisada consiste en realizar una divisi ´on sin contar con un tutor o informaci ´on de apoyo, es decir, se realiza el proceso autom ´atico extrayendo caracter´ısticas comunes y/o relaciones existentes. Este tipo de clasificaci ´on tambi ´en se denomina auto-adaptativa ya que se va modificando de forma tal que se adecua al conjunto de datos de entrada del que parte.

Los modos de esta clasificaci ´on son b ´usqueda de:

Nivel de semejanza entre conceptos buscando la cercan´ıa de los mismos. Aplicada a la recupe- raci ´on de informaci ´on. Significa buscar comparaci ´on entre los conceptos para estructurar la propia informaci ´on.

Extracci ´on de caracter´ısticas y sus relaciones, indagar en las caracter´ısticas que existen en los conceptos y sus relaciones. Dichos conceptos parecidos deber´ıan dar los mismos resultados.

Analizar y extraer principales caracter´ısticas, escoger las peculiaridades necesarias y funda- mentales que nos den la suficiente informaci ´on; para la recuperaci ´on es importante ya que se restringen los datos a tener en cuenta para realizar la recuperaci ´on.

Modelizaci ´on, tratar de agrupar y buscar el prototipo que represente a todo un grupo.

El modelo b ´asico en el que se basa la no supervisi ´on:

Regla de Hebb: la conexi ´on entre dos neuronas conectadas es mayor si ambas est ´an activadas y menor si no lo est ´an.

Interacci ´on lateral: cada neurona tiene relaci ´on excitatoria con un vecindario cercano e inhibitoria con uno lejano imitando el cerebro.

(22)

El aprendizaje y entrenamiento se basa en los siguientes conceptos:

Auto-adaptaci ´on: a trav ´es de la aplicaci ´on de los algoritmos se van modificando sus par ´ametros para resolver el problema.

Competici ´on: potenciar a los ganadores en detrimento de los perdedores.

Las ventajas y desventajas de la no supervisi ´on son:

Encontrar la soluci ´on innovadora.

No encontrar una buena soluci ´on.

Dificultad en la modelizaci ´on y parametrizaci ´on [5].

1.4. Algoritmos basados en Redes Neuronales Artificiales

Las redes neuronales consisten normalmente en un n ´umero de elementos de procesamiento o neu- ronas interconectadas. Las conexiones son arreglos entre neuronas y la naturaleza de ´estas determina la estructura de la red. Como la fortaleza de las conexiones es ajustada o entrenada para alcanzar un comportamiento deseado, la red es gobernada por sus algoritmos de aprendizaje. Las redes neuronales pueden ser clasificadas de acuerdo a sus estructuras o algoritmos de aprendizaje [6].

Ventajas de las Redes Neuronales

La principal raz ´on del uso de las redes neuronales radica en el gran n ´umero de aplicaciones exitosas.

El ´exito en las aplicaciones se debe principalmente a las ventajas que las redes neuronales tienen sobre otro tipo de modelos computacionales. A continuaci ´on se mencionan algunas de estas ventajas:

Aprendizaje Adaptable: La capacidad adaptable es una de las caracter´ısticas m ´as atractivas de las redes neuronales. Aprenden a llevar a cabo ciertas tareas mediante un entrenamiento con ejemplos ilustrativos. Como las redes neuronales pueden aprender a diferenciar patrones mediante ejemplos y entrenamiento, no es necesarios que elaboremos modelos a priori ni necesitamos especificar funciones de distribuci ´on de probabilidad.

(23)

Tolerancia a fallos: Las redes neuronales son los primeros m ´etodos computacionales con la capacidad inherente de tolerancia a fallos. Comparados con los sistemas computacionales tradicionales, los cuales pierden su funcionalidad en cuanto sufren un peque ˜no error de memoria, en las redes neu- ronales, si se produce un fallo en un peque ˜no n ´umero de neuronas, aunque el comportamiento del sistema se ve influenciado, no sufre una ca´ıda repentina. Hay dos aspectos distintos respecto a la tolerancia a fallos: primero, las redes pueden aprender a reconocer los patrones con ruido, distorsio- nados o incompletos, esta es una tolerancia a fallos respecto a los datos. Segundo, pueden seguir realizando su funci ´on (con cierta degradaci ´on) aunque se destruya parte de la red. La raz ´on por la que las redes neuronales son tolerantes a fallos es que tienen su informaci ´on distribuida en las conexiones entre neuronas, existiendo cierto grado de redundancia en este tipo de almacenamien- to. La mayor´ıa de los ordenadores algor´ıtmicos y sistemas de recuperaci ´on de datos almacenan cada pieza de informaci ´on en un espacio ´unico, localizable y direccionable. Las redes neuronales almacenan informaci ´on no localizada. Por tanto, la mayor´ıa de las interconexiones entre los nodos de la red tendr ´an unos valores en funci ´on de los est´ımulos recibidos, y se generar ´a un patr ´on de salida que represente la informaci ´on almacenada.

Operaci ´on en tiempo real: Una de las prioridades de la mayor´ıa de las ´areas de aplicaci ´on es la necesidad de realizar grandes procesos con datos de forma muy r ´apida. Las redes neuronales se adaptan bien a esto debido a su implementaci ´on paralela. Para que la mayor´ıa de las redes neuronales puedan operar en un entorno de tiempo real, la necesidad de cambio de los pesos de las conexiones o entrenamiento es m´ınima. Por tanto, las redes neuronales son una excelente alternativa para el reconocimiento y clasificaci ´on de patrones en tiempo real.

F ´acil inserci ´on dentro de la tecnolog´ıa existente: Debido a que una red puede ser r ´apidamente entrenada, comprobada, verificada y trasladada a una implementaci ´on hardware de bajo costo, es f ´acil insertar redes neuronales para aplicaciones espec´ıficas dentro de sistemas existentes [7].

Aplicaciones

La aplicaci ´on de las redes neuronales artificiales se ha extendido a diversas disciplinas, debido prin- cipalmente a sus caracter´ısticas de adaptabilidad, confiabilidad y auto-organizaci ´on. Una ventaja des- tacable para el procesamiento de datos radica en la posibilidad de su implementaci ´on con tecnolog´ıas espec´ıficas disponibles, que posibilitan su operaci ´on en tiempo real.

(24)

Las redes neuronales han sido utilizadas en problemas de categorizaci ´on en numerosas ocasiones. Es posible entrenar una red neuronal para que dada una entrada determinada (un vector de representaci ´on) produzca una salida deseada (la categor´ıa a la que corresponde ese documento) [3].

1.4.1. Multilayer Perceptron

El perceptr ´on multicapa es una red neuronal artificial formada por m ´ultiples capas, esto le permite resolver problemas que no son linealmente separables, lo cual es la principal limitaci ´on del perceptr ´on (tambi ´en llamado perceptr ´on simple). El perceptr ´on multicapa puede ser totalmente o localmente conec- tado.

En el primer caso cada salida de una neurona de la capa i es entrada de todas las neuronas de la capa i + 1, mientras que el segundo, cada neurona de la capa i es entrada de una serie de neuronas (regi ´on) de la capa i + 1. Las capas pueden clasificarse en tres tipos:

Capa de entrada: Constituida por aquellas neuronas que introducen los patrones de entrada en la red. En estas neuronas no se produce procesamiento.

Capas ocultas: Formada por aquellas neuronas cuyas entradas provienen de capas anteriores y las salidas pasan a neuronas de capas posteriores.

Capa de salida: Neuronas cuyos valores de salida se corresponden con las salidas de toda la red.

La propagaci ´on hacia atr ´as (tambi ´en conocido como retropropagaci ´on del error o regla delta genera- lizada), es un algoritmo utilizado en el entrenamiento de estas redes, por ello, el perceptr ´on multicapa tambi ´en es conocido como red de retropropagaci ´on.

Caracter´ısticas

El Multilayer Perceptron se caracteriza por presentar una no-linealidad en la salida, capas de neuronas ocultas y un alto grado de conectividad. Es de entrenamiento supervisado. Utiliza el algoritmo de retro- propagaci ´on del error, que est ´a basado en la regla de aprendizaje por correcci ´on de error, considerada como una generalizaci ´on del algoritmo de los cuadrados m´ınimos (LMS), utilizado en filtrado adaptivo mediante redes lineales simples.

(25)

Su operaci ´on consta de dos fases, una directa y una inversa o de retroceso. En la fase directa, se ingresa el patr ´on de actividad en la capa de entrada de la red (vector de entrada), que recorre todas las capas subsiguientes. Se obtiene la respuesta real de la red en la capa de salida. En esta fase, los pesos sin ´apticos de la red permanecen fijos. En la fase inversa, los pesos sin ´apticos son ajustados de acuerdo con la regla de correcci ´on del error. Esta regla, conocida como m ´etodo de Levenberg-Marquardt, minimiza el cuadrado de las diferencias entre la respuesta o salida deseada y la salida real de la red [8].

Limitaciones

El Perceptr ´on Multicapa no extrapola bien, es decir, si la red se entrena mal o de manera insuficiente, las salidas pueden ser imprecisas.

La existencia de m´ınimos locales en la funci ´on de error dificulta considerablemente el entrenamiento, pues una vez alcanzado un m´ınimo, el entrenamiento se detiene aunque no se haya alcanzado la tasa de convergencia fijada.

Cuando caemos en un m´ınimo local sin satisfacer el porcentaje de error permitido se puede considerar:

cambiar la topolog´ıa de la red (n ´umero de capas y n ´umero de neuronas), comenzar el entrenamiento con unos pesos iniciales diferentes, modificar los par ´ametros de aprendizaje, modificar el conjunto de entrenamiento o presentar los patrones en otro orden.

Aplicaciones

El perceptr ´on multicapa se utiliza para resolver problemas de asociaci ´on de patrones, segmentaci ´on de im ´agenes, compresi ´on de datos, etc.

1.4.2. Modelo de Kohonen

Existen evidencias que demuestran que en el cerebro hay neuronas que se organizan en muchas zonas, de forma que las informaciones captadas del entorno a trav ´es de los ´organos sensoriales se representan internamente en forma de mapas bidimensionales.

(26)

Aunque en gran medida esta organizaci ´on neuronal est ´a predeterminada gen ´eticamente, es probable que parte de ella se origine mediante el aprendizaje, ´esto sugiere que el cerebro podr´ıa poseer la capa- cidad inherente de formar mapas topol ´ogicos de las informaciones recibidas del exterior, de hecho esta teor´ıa podr´ıa explicar su poder de operar con elementos sem ´anticos: algunas ´areas del cerebro simple- mente podr´ıan crear y ordenar neuronas especializadas o grupos con caracter´ısticas de alto nivel y sus combinaciones, en definitiva se construir´ıan mapas especiales para atributos y caracter´ısticas.

A partir de estas ideas Tuevo Kohonen present ´o en 1982 un sistema con un comportamiento semejante, se trataba de un modelo de red neuronal con capacidad para formar mapas de caracter´ısticas de manera similar a como ocurre en el cerebro; el objetivo de Kohonen era demostrar que un est´ımulo externo (informaci ´on de entrada) por s´ı solo, suponiendo una estructura propia y una descripci ´on funcional del comportamiento de la red, era suficiente para forzar la formaci ´on de los mapas.

Este modelo tiene dos variantes denominadas Learning Vector Quantization (LVQ) y Topology Preser- ving Map (TPM) o Self Organizing Map (SOM), ambas se basan en el principio de formaci ´on de mapas topol ´ogicos para establecer caracter´ısticas comunes entre las informaciones (vectores) de entrada a la red, aunque difieren en las dimensiones de ´estos, siendo de una sola dimensi ´on en el caso de LVQ y bidimensional o tridimensional en la red SOM.

El aprendizaje en el modelo de Kohonen es de tipo Off-line, por lo que se distingue una etapa de aprendizaje y otra de funcionamiento. En la etapa de aprendizaje se fijan los valores de las conexiones (feedforward) entre la capa de entrada y la salida. Esta red utiliza un aprendizaje no supervisado de tipo competitivo, las neuronas de la capa de salida compiten por activarse y s ´olo una de ellas permanece activa ante una determinada informaci ´on de entrada a la red, los pesos de las conexiones se ajustan en funci ´on de la neurona que haya resultado vencedora.

Durante la etapa de entrenamiento, se presenta a la red un conjunto de informaciones de entrada (vectores de entrenamiento) para que ´esta establezca en funci ´on de la semejanza entre los datos las diferentes categor´ıas (una por neurona de salida), que servir´ıan durante la fase de funcionamiento para realizar clasificaciones de nuevos datos que se presenten a la red. Los valores finales de los pesos de las conexiones entre cada neurona de la capa de salida con las de entrada se corresponder ´an con los valores de los componentes del vector de aprendizaje que consigue activar la neurona correspondiente. En el

(27)

caso de existir m ´as patrones de entrenamiento que neuronas de salida, m ´as de uno deber ´a asociarse con la misma neurona, es decir pertenecer ´an a la misma clase.

En este modelo el aprendizaje no concluye despu ´es de presentarle una vez todos los patrones de entrada, sino que habr ´a que repetir el proceso var´ıas veces para refinar el mapa topol ´ogico de salida, de tal forma que cuantas m ´as veces se presenten los datos, tanto m ´as se reducir ´an las zonas de neuronas que se deben activar ante entradas parecidas, consiguiendo que la red pueda realizar una clasificaci ´on m ´as selectiva [9].

Clustering

El clustering o agrupamiento es partir el grupo de entrada en peque ˜nos grupos, para este particio- namiento se usan distancias. Tiene en cuenta todas las caracter´ısticas de los datos. Parte de patrones (observaciones) sin etiquetar y un n ´umero de prototipos definidos (por el dise ˜nador del clasificador).

El espacio de entrada se divide en k clases y k prototipos.

Mueve los prototipos una vez realizado el aprendizaje con todas las observaciones.

El objetivo de este algoritmo es intentar situar los prototipos de forma tal que aquellos patrones cerca- nos (distancia eucl´ıdea) sean similares entre s´ı.

Las distancias m ´as utilizadas son:

Eucl´ıdea, la m ´as com ´un.

Manhattan.

Hamming.

A trav ´es del c ´alculo de distancias se agrupan los elementos de acuerdo a los m ´as cercanos seg ´un el c ´alculo. El clustering es utilizado en la recuperaci ´on y extracci ´on de informaci ´on para realizar agrupa- mientos de conceptos cercanos de manera que tratando el grupo, el resultado sea similar.

Ante un nuevo dato el sistema simplemente lo comparar ´a con los prototipos y lo clasificar ´a seg ´un la clase definida para el m ´as cercano. Entrenamiento potencialmente lento y clasificaci ´on r ´apida [5].

(28)

Self Organizing Map

Se cree que algunos sistemas biol ´ogicos realizan sus operaciones siguiendo un m ´etodo de trabajo que algunos investigadores han llamado, on-center/off-surround; este t ´ermino describe un patr ´on de conexi ´on entre neuronas, cada neurona se refuerza a ella misma (center) mientras inhibe a todas las neuronas a su alrededor (surround). En las redes competitivas biol ´ogicas, lo que sucede realmente es que cuando una neurona se refuerza a ella misma, refuerza tambi ´en las neuronas que est ´an cerca; la transici ´on entre reforzar las neuronas “vecinas” o inhibirlas, se realiza suavemente a medida que la distancia entre las neuronas aumenta.

Tratando de emular la actividad biol ´ogica, sin tener que implementar conexiones on-center/off-surround;

de realimentaci ´on no lineal, Kohonen dise ˜n ´o la red conocida como Self Organizing Map. Esta red determi- na primero la neurona ganadora i usando el mismo procedimiento que las redes competitivas, luego los vectores de pesos de todas las neuronas que se encuentren en una regi ´on cercana “vecindario”, ser ´an actualizados mediante la regla de Kohonen.

iw(q) = iw(q − 1) + α(p(q) − iw(q − 1))parai ∈ Ni∗(d) (1.1)

Donde el vecindario Ni contiene el ´ındice para todas las neuronas que se encuentren a un radio ”d”

de la neurona ganadora i.

Cuando un vector p es presentado, los pesos de la neurona ganadora y de sus vecinas tender ´an hacia p, el resultado es que despu ´es de muchas presentaciones las neuronas vecinas habr ´an aprendido vectores similares que cada una de las otras.

El vecindario puede determinarse en diferentes formas; Kohonen, por ejemplo ha sugerido vecindarios rectangulares o hexagonales para lograr alta eficiencia; es importante destacar que el rendimiento de la red no es realmente sensitivo a la forma exacta del vecindario [9].

Caracter´ısticas del mapa

Para que el mapa clasifique su tama ˜no debe ser reducido.

(29)

El n ´umero de clases suele ser inferior al tama ˜no del mapa ya que existen neuronas que no son ganadoras para ning ´un elemento de la data.

Pueden detectarse observaciones aisladas (outliers). ´Estas son atra´ıdas en forma aislada por una neurona e inclusive puede pertenecer a una neurona se parada de las restantes en el mapa.

Establece proximidad entre las clases y en consecuencia es posible unificar clases cercanas en el caso de que el n ´umero de clases sea excesivo. Los prototipos se desplazan seg ´un se van proce- sando los ejemplos (al contrario que en k-medias).

El aprendizaje es m ´as r ´apido y eficaz.

No requiere aprendizaje en el procesamiento de datos nuevos.

Learning Vector Quantization

Esta red es un h´ıbrido que emplea tanto aprendizaje no supervisado, como aprendizaje supervisado para clasificaci ´on de patrones [9].

El algoritmo LVQ es un m ´etodo de clasificaci ´on basado en el aprendizaje competitivo neuronal, que permite reforzar positivamente (premiando) o negativamente (castigando) los pesos de las conexiones, dependiendo de que la clasificaci ´on haya sido realizada correcta o incorrectamente. LVQ usa un apren- dizaje supervisado para definir regiones de clases en el espacio de los datos de entrada. Con este prop ´osito, un subconjunto de vectores de similitud etiquetados de forma similar forman una regi ´on de una clase [10].

La arquitectura de la red LVQ presenta dos capas con N neuronas de entrada y M de salida. Cada una de las N neuronas de entrada se conecta a las M de salida hacia delante (feedforward). Entre las neuronas de la capa de salida, existen conexiones laterales de inhibici ´on (peso negativo). El valor que se asigne a los pesos de las conexiones feedforward entre las capas de entrada y salida durante el proceso de aprendizaje de la red, va a depender de esta interacci ´on lateral. El aprendizaje es de tipo competitivo. Las neuronas de la salida compiten por activarse y s ´olo una de ellas permanece activa ante una determinada informaci ´on de entrada a la red. Esta neurona se denomina prevalente o vencedora, y en funci ´on de ella se ajustan los pesos de las conexiones [8].

(30)

Dada una secuencia de datos de entrada, se selecciona un grupo de vectores de referencia Wk (code- book). En cada iteraci ´on, se selecciona un vector de entrada Xi y se actualiza el vector W , para ajustar Xide la mejor manera. El algoritmo LVQ trabaja de la siguiente manera:

A cada clase, k, se le asocia un vector de peso Wk. En cada iteraci ´on, el algoritmo selecciona un vector de entrada, Xi, y lo compara con cada vector de pesos, wk, usando la distancia eucl´ıdea ||Xi− Wk||; el vector Wcser ´a el ganador si es el m ´as cercano a Xi, por lo que c ser ´a la clase asignada:

||Xi− Wc||= min

k {||Xi− Wk||}

Las clases compiten entre ellas para encontrar el vector de entrada m ´as parecido, para que el gana- dor sea el que menor distancia eucl´ıdea tenga respecto al vector de entrada. S ´olo la clase ganadora podr ´a modificar el vector de pesos usando un algoritmo de aprendizaje reforzado, o positivo o negativo, dependiendo de que la clasificaci ´on sea correcta o no. De este modo, si la clase ganadora pertenece a la misma clase que el vector de entrada (la clasificaci ´on ha sido correcta), se incrementar ´a el peso, acerc ´andose ligeramente al vector de entrada (premio). Por el contrario, si la clase ganadora es diferente a la clase del vector de entrada (la clasificaci ´on no ha sido correcta), se decrementar ´a el peso, alej ´andose ligeramente del vector de entrada (castigo).

Suponiendo que d es la clase a la que pertenece Xi, la regla de aprendizaje utilizada por el algoritmo LVQ es la siguiente:

Wc=





Wc+ α(t) · (Xi− Wc) si c = d Wc− α(t) · (Xi− Wc) si c 6= d

S ´olo se ajustan los pesos de la unidad ganadora, permaneciendo sin modificaci ´on el resto de vectores prototipo. Si la clase ganadora c de la competici ´on es correcta, es decir, coincide con la clase del vector de entrada d, los pesos de Wcse modifican acerc ´andose al vector de entrada (se premia el acierto en la clasificaci ´on). Si por el contrario, la clasificaci ´on es incorrecta, se modifican alej ´andolo del vector de entrada (se castiga el error en la clasificaci ´on).

(31)

α(t)es el ratio de aprendizaje, siendo 0 < α(t) < 1, una funci ´on mon ´otona decreciente del tiempo. La inicializaci ´on de α(t) se hace con un valor cercano a cero, y decrece linealmente de manera que al final del proceso de aprendizaje su valor es pr ´acticamente nulo [11].

Caracter´ısticas

Las caracter´ısticas m ´as relevantes de este m ´etodo son la sencillez de las heur´ısticas empleadas y la rapidez de c ´alculo.

Aplicaciones

La red basada en el algoritmo de aprendizaje LVQ ha sido utilizada con ´exito en muchas aplicaciones, fundamentalmente en an ´alisis de im ´agenes, reconocimiento de patrones, problemas de clasificaci ´on, etc [11].

1.5. Algoritmo del vecino m ´as cercano (Nearest Neighbour, NN) y varian- tes

El paradigma del vecino m ´as cercano ha sido objeto de numerosos estudios en esta ´ultima d ´ecada. Su criterio de aprendizaje se basa en que los miembros de una poblaci ´on suelen convivir (y al l´ımite, coexis- tir) rodeados de individuos similares, con propiedades parecidas. Bajo esta hip ´otesis toda informaci ´on descriptiva (adicional o desconocida) que quiera extraerse de un individuo puede observarse en otras instancias cercanas, en sus vecinos m ´as cercanos. Consecuencia directa es la aplicaci ´on de este m ´eto- do como t ´ecnica de clasificaci ´on: del valor de la etiqueta de los miembros de una poblaci ´on se induce el valor desconocido de la etiqueta de un nuevo individuo.

Conocidos tambi ´en como algoritmos de aprendizaje basados en instancias (IBL Algorithms o basados en ejemplos), se engloban dentro del Lazy-Learning al aplazar el proceso de inducci ´on o generalizaci ´on hasta que se completa la clasificaci ´on.

En el Lazy-Learning, rama del Aprendizaje Autom ´atico (IA), se implementa un algoritmo que se ejercita para terminar aprendiendo a realizar correctamente una determinada tarea, entren ´andose previamente

(32)

con aquellas situaciones o casos posibles con los que puede encontrarse, de los cuales, selecciona los m ´as representativos del concepto sobre el cual se quiere extraer conocimiento (Aprendizaje Supervisa- do).

Los elementos que forman el conjunto de entrada se denominan ejemplos o instancias y se componen de un vector y una o varias etiquetas. Cada dimensi ´on del vector representa una caracter´ıstica o atributo del conjunto de entrada. El dominio de cada uno de los atributos puede ser discreto o continuo. La etiqueta se denomina clase y clasifica categ ´oricamente a cada ejemplo del conjunto de entrada.

Bas ´andose en similitudes entre los datos del conjunto de entrada o entrenamiento T se almacena

´unicamente un subconjunto editado S con lo que se reduce considerablemente el espacio de b ´usqueda y se acelera el proceso de aprendizaje. A partir de este nuevo subconjunto se generan hip ´otesis para describir, clasificar o predecir el comportamiento de nuevos ejemplos cuya clase se desconoce. Estos

´ultimos conforman el test del sistema de aprendizaje.

A diferencia de otros m ´etodos predictivos, el conjunto de entrenamiento no es procesado para crear el modelo, ya que ´este es el modelo en s´ı mismo. Cuando un nuevo ejemplo se presenta, el algoritmo encuentra el subconjunto de ejemplos que son m ´as similares a ´el y los utiliza para predecir su etiqueta [12].

Conviene aclarar que el paradigma k-NN es un tanto at´ıpico si se compara con el resto de los paradig- mas clasificatorios. Mientras que en el resto de los paradigmas la clasificaci ´on de un nuevo caso se lleva a cabo a partir de dos tareas, como son la inducci ´on del modelo clasificatorio y la posterior deducci ´on (o aplicaci ´on) sobre el nuevo caso, en el paradigma k-NN al no existir modelo expl´ıcito, las dos tareas anteriores se encuentran colapsadas en lo que se acostumbra a denominar transinducci ´on.

En caso de que se produzca un empate entre dos o m ´as clases, conviene tener una regla heur´ıstica para su ruptura. Ejemplos de reglas heur´ısticas para la ruptura de empates pueden ser: seleccionar la clase que contenta al vecino m ´as pr ´oximo, seleccionar la clase con distancia media menor, etc [13].

Regla del vecino m ´as pr ´oximo

(33)

Considerando un espacio de representaci ´on, el caso a ser clasificado tomar ´a la clase que est ´e m ´as cerca dentro de ese espacio.

Regla de los K vecinos m ´as pr ´oximos (k-NN)

El nuevo caso a ser clasificado se ubicar ´a en la clase con m ´as votos en el contexto de los K vecinos m ´as cerca del conjunto de entrenamiento.

Variantes del algoritmo k-NN

Regla k-NN con rechazo. Se toma en cuenta un nivel fijado con anterioridad que sirve como refe- rencia para que cuando una clase tiene un mayor n ´umero de votos que ese nivel, entonces la clase podr ´a ser asignada. Ese nivel puede tomar un valor entre MK y K, donde K es el n ´umero de vecinos m ´as pr ´oximos y M es el total de clases.

La idea subyacente al k-NN con rechazo es que para poder clasificar un caso se deben tener ciertas garant´ıas. Pues puede ocurrir que un caso quede sin clasificar si no existen ciertas garant´ıas de que la clase a asignar sea la correcta [13].

Dos ejemplos utilizados para llevar a cabo clasificaciones con garant´ıas son los siguientes:

• El n ´umero de votos obtenidos por la clase deber ´a superar un umbral prefijado. Si se supone que trabajamos con K = 10, y m = 2, dicho umbral puede establecerse en 6.

• Establecimiento de alg ´un tipo de mayor´ıa absoluta para la clase a asignar. As´ı si se supone que K = 20, m = 4, podemos convenir en que la asignaci ´on del nuevo caso a una clase s ´olo se llevar ´a a cabo en el caso de que la diferencia entre las frecuencias mayor y segunda mayor supere a 3.

Regla k-NN por distancia media. Un caso es clasificado en una clase si el valor de la distancia media es el menor con respecto al de las otras clases.

Regla k-NN por distancia m´ınima. En el k-NN con distancia m´ınima se comienza seleccionando un caso por clase, normalmente el caso m ´as cercano al baricentro de todos los elementos de dicha clase. En este paso se reduce la dimensi ´on del fichero de casos a almacenar de N a m. A continuaci ´on se asigna el nuevo caso a la clase cuyo representante est ´e m ´as cercano.

(34)

El procedimiento anterior puede verse como un 1-NN aplicado a un conjunto de m casos (uno por cada clase). El coste computacional de este procedimiento es inferior al k-NN gen ´erico, si bien su efectividad est ´a condicionada a la homogeneidad dentro de las clases (cuanto mayor sea dicha homogeneidad, se espera que el procedimiento sea m ´as efectivo).

Regla k-NN con pesado de casos seleccionados. La idea del k-NN con el pesado de los casos seleccionados es que los K casos seleccionados no se contabilicen de igual forma, sino que se tenga en cuenta la distancia de cada caso seleccionado al nuevo caso que se pretende seleccionar.

Regla k-NN con pesado de variables. En todas las aproximaciones presentadas hasta el momento, la distancia entre el nuevo caso que se pretende clasificar, x, y cada uno de los casos xr, r = 1, . . . , N ya clasificados pertenecientes al fichero de casos D, da el mismo peso a todas y cada una de las n variables, X1, . . . , Xn. Es decir, la distancia d(x, xr)entre x y xrse calcula por ejemplo por medio de la distancia eucl´ıdea, de la siguiente manera:

d(x, xr) =

n

X

j=1

(xj, xrj)2 (1.2)

Esta manera de calcular la distancia, es decir, otorgando la misma importancia a todas las varia- bles, puede resultar peligrosa para el paradigma k-NN en el caso de que algunas de las variables sean irrelevantes para la variable clase C. Este es el motivo por el que resulta interesante el utilizar distancias entre casos que ponderen cada variable de una manera adecuada. Es decir, la distancia entre x y xrse calcular´ıa:

d(x, xr) =

n

X

j=1

wj(xj, xrj)2 (1.3)

con lo cual la variable Xj tiene asociado un peso wj que habr ´a que determinar [13].

Caracter´ısticas

La dimensi ´on de los ejemplos afecta la velocidad de clasificaci ´on. Cada nuevo patr ´on hay que realizar un aprendizaje completo, y es muy costoso. Es sensible a la elecci ´on de k y a que la capacidad explicativa de los atributos sea distinta. Existe la posibilidad de ponderar las probabilidades de pertenencia a una

(35)

clase u otra en funci ´on de la distancia de cada vecino al patr ´on. El m ´etodo es aplicable para salida continua (normalmente medias o medias ponderadas).

Aplicaciones

El poder del aprendizaje por vecindad ha sido demostrado en numerosos problemas reales, tales como la correcta pronunciaci ´on de palabras, diagn ´osticos para enfermos de tiroides, reconocimiento de voz, predicciones de negocio, simuladores de vuelo y pilotos autom ´aticos, detectores de fraudes bancarios, expertos en juegos o la tan esperada secuenciaci ´on del ADN y ARN [12].

1.6. Support Vector Machines

Los SVM resultan ser sistemas de aprendizaje universal que, en su forma m ´as simple, son capaces de encontrar una funci ´on lineal discriminante que separe el espacio de representaci ´on en regiones corres- pondientes a cada una de las clases consideradas. Como en todo aprendizaje supervisado, la entrada al sistema es un conjunto de ejemplos de entrenamiento. Si el conjunto de entrenamiento es linealmen- te separable, el SVM encuentra un hiperplano que maximiza la distancia eucl´ıdea a los ejemplos de entrenamiento m ´as cercanos.

En t ´erminos geom ´etricos, SVM puede ser visto como el intento de encontrar una superficie (σi) que separe a los ejemplos positivos de los negativos por el margen m ´as amplio posible.

La b ´usqueda de σi que cumple que la distancia m´ınima entre ´el y un ejemplo de entrenamiento sea m ´axima, se realiza a trav ´es de todas las superficies σ1, σ2, . . .en el espacio |A|-dimensional que separan a los ejemplos positivos de los negativos en el conjunto de entrenamiento (conocidas como superficies de decisi ´on).

Cabe resaltar que la mejor superficie de decisi ´on es determinada ´unicamente por un conjunto peque ˜no de ejemplos de entrenamiento, llamados vectores de soporte.

En el caso de que el conjunto no pueda ser linealmente separable, se mide el error en el entrenamiento.

As´ı, el c ´alculo de este hiperplano se reduce a un problema de optimizaci ´on de errores en el que se aplican

(36)

restricciones. Las restricciones fuerzan a que todos los ejemplos de entrenamiento sean clasificados correctamente por encima de un error m´ınimo.

Una ventaja importante de SVM es que permite construir clasificadores no lineales, i.e., el algoritmo representa datos de entrenamiento no lineales en un espacio de alta dimensionalidad (llamado el espacio de caracter´ısticas), y construye el hiperplano que tiene el margen m ´aximo. Adem ´as, debido al uso de una funci ´on kernel para realizar el mapeo, es posible calcular el hiperplano sin representar expl´ıcitamente el espacio de caracter´ısticas [4].

Caracter´ısticas

Una caracter´ıstica fundamental de estos clasificadores es que son independientes de la dimensi ´on del espacio de caracter´ısticas. As´ı, la medida de la complejidad no depende del n ´umero de rasgos, sino de c ´omo puedan separarse los datos. Esto significa que siempre que los datos sean separables, podr´ıa generalizarse la presencia de muchos rasgos en una determinada categor´ıa.

Aplicaciones

Las m ´aquinas de vectores de soporte han mostrado conseguir buen desempe ˜no de generalizaci ´on sobre una amplia variedad de problemas de clasificaci ´on, destacando recientemente en problemas de clasificaci ´on de textos, donde se aprecia que SVM tiende a minimizar el error de generalizaci ´on.

1.7. Evaluaci ´ on de la clasificaci ´ on

La efectividad es considerada usualmente el criterio de evaluaci ´on m ´as importante gracias a su con- fiabilidad para comparar diferentes metodolog´ıas. A diferencia de la eficiencia, que se deja en segundo t ´ermino debido a su dependencia de par ´ametros vol ´atiles, e.g. diferentes plataformas software y/o hard- ware. La forma usual de medir la efectividad de un clasificador es por medio de su exactitud (α), i.e. el porcentaje de decisiones correctas. Un c ´alculo para la exactitud sobre la clase cipuede darse en t ´erminos de su tabla de contingencia de la siguiente manera:

αi = T Pi+ T Ni T Pi+ F Pi+ T Ni+ F Ni

(1.4)

(37)

Categor´ıa ci Juicio del experto

SI NO

Juicio del clasificador SI T Pi F Pi NO F Ni T Ni

Cuadro 1.1: Contingencia para la clase ci

donde F Pi (falsos positivos) es el n ´umero de instancias de prueba incorrectamente clasificados bajo ci, T Ni (verdaderos negativos) es el n ´umero de instancias de prueba correctamente clasificados bajo ¯ci, T Pi (verdaderos positivos) y F Ni(falsos negativos) son definidos consecuentemente (Ver Cuadro 1.1).

Durante la experimentaci ´on es usual dividirW en los tres conjuntos disjuntos T r (el conjunto de entre- namiento), V a (el conjunto de validaci ´on) y T e (el conjunto de prueba). El conjunto de entrenamiento es el conjunto de instancias observadas cuando el aprendiz construye el clasificador. El conjunto de validaci ´on es el conjunto de instancias utilizadas para optimizar par ´ametros en los clasificadores, o para seleccio- nar uno en particular. Entonces, el conjunto de prueba es el conjunto de instancias sobre las cuales se eval ´ua finalmente la efectividad del clasificador. Sin embargo, la partici ´on anterior no es adecuada cuan- do la cantidad de datos en W es limitada; en tal caso, el camino est´andar para calcular la exactitud de una t ´ecnica de aprendizaje es usar una validaci ´on cruzada con 10 pliegues (10FCV, por sus siglas en ingl ´es). Esta t ´ecnica consiste en dividir aleatoriamenteW en diez partes, conservando en cada partici´on la proporci ´on original de las clases, posteriormente cada parte es mantenida una vez y el esquema de aprendizaje entrena sobre las nueve partes restantes, entonces la exactitud es calculada sobre la parte conservada fuera del proceso de entrenamiento. As´ı, el proceso es ejecutado un total de diez veces so- bre diferentes conjuntos de entrenamiento. Finalmente, los diez estimados de exactitud son promediados para producir una completa estimaci ´on de la misma [4].

1.8. Herramientas

Para el desarrollo del presente trabajo se utilizaron algunas herramientas para facilitar la implementa- ci ´on de un prototipo funcional, as´ı como la evaluaci ´on de la efectividad del mismo a partir de los resultados arrojados en las pruebas realizadas.

(38)

Las ventajas principales de un IDE radica en la automatizaci ´on de algunas tareas asociadas al desa- rrollo de aplicaciones y al poseer algunas funcionalidades que facilitan el desarrollo de software disminu- yendo as´ı el tiempo de construcci ´on. La selecci ´on de un IDE para el desarrollo de aplicaciones en C++ en el sistema operativo GNU/Linux se hace hasta cierto punto dif´ıcil, ya que ninguno de los IDEs existentes completa c ´odigo, lo cual es una de las caracter´ısticas que m ´as agiliza el desarrollo de software, al no te- ner que memorizar y teclear todas las funciones existentes en otras clases. Finalmente se encontr ´o uno que si hace esta tarea y es el caso de Eclipse con un pluging llamado CDT, el cual tiene las siguientes caracter´ısticas:

Editor de C/C++ (Funcionalidades b ´asicas, resaltamiento de sintaxi, completamiento de c ´odigo, etc) Depurador C/C++ (Usando GDB)

Lanzador C/C++ (Lanzadores y aplicaciones externas) Parser18

Herramienta de b ´usqueda

Proveedor de asistencia de contenido Generador de Makefile

Visual Paradigm es una herramienta que sirve para realizar modelado UML siguiendo el est ´andar UML 2.1. Esta herramienta tiene unas caracter´ısticas graficas muy c ´omodas que facilitan la realizaci ´on de los diagramas de modelado que sigue el est ´andar de UML que son:

Diagramas de clase, Casos de Uso, Comunicaci ´on, Secuencia, Estado, Actividad, Componentes, etc.

Weka es una extensa colecci ´on de algoritmos de M ´aquinas de conocimiento ´utiles para ser aplica- dos sobre datos mediante los interfaces que ofrece, o para embeberlos dentro de cualquier aplicaci ´on.

Adem ´as Weka contiene las herramientas necesarias para realizar transformaciones sobre los datos, ta- reas de clasificaci ´on, regresi ´on, clustering, asociaci ´on y visualizaci ´on. Est ´a dise ˜nado como una herra- mienta orientada a la extensibilidad por lo que a ˜nadir nuevas funcionalidades es una tarea sencilla.

(39)

Sin embargo, y pese a todas las cualidades que Weka posee, tiene una escasa documentaci ´on orien- tada al usuario, lo que la hace una herramienta dif´ıcil de comprender y manejar sin informaci ´on adicional.

La licencia de Weka es GPL, lo que significa que este programa es de libre distribuci ´on y difusi ´on.

Adem ´as, ya que Weka est ´a programado en Java, es independiente de la arquitectura, ya que funciona en cualquier plataforma sobre la que haya una m ´aquina virtual Java disponible [14].

Es justo mencionar algunas herramientas auxiliares utilizadas para la confecci ´on del presente docu- mento que, aunque no formaron parte del desarrollo del prototipo funcional, si contribuyeron a disminuir el tiempo y aumentar la calidad del trabajo; ellas son:

LATEX: Es un sistema tipogr ´afico para generar documentos cient´ıficos de alta calidad, lo cual per- miti ´o centrarse en el documento dejando a este la tarea de generar un documento que cumpliera con la calidad requerida para una tesis de grado.

Kile: Es un IDE para LATEX el cual posibilit ´o un desarrollo fluido del documento.

1.9. Conclusiones

Luego de analizar los softwares de categorizaci ´on de contenidos en los ´ambitos internacional y nacional se evidencia la necesidad de dise ˜nar e implementar uno propio, ya que los existentes, en el ´ambito internacional, no cumplen con las caracter´ısticas requeridas por FILPACON y en el ´ambito nacional no se tienen referencias de la existencia de alguno. Mediante el estudio de las t ´ecnicas de IA, herramientas y tecnolog´ıas a utilizar, se han sentado las bases para el desarrollo de un prototipo funcional capaz de procesar de manera autom ´atica los documentos HTML a partir de las respuestas entregadas por los restantes m ´odulos. A continuaci ´on se presentan algunos aspectos importantes definidos en el presente Cap´ıtulo.

Tecnolog´ıas

Se adoptaron las siguientes tecnolog´ıas para el desarrollo del trabajo.

como lenguaje de programaci ´on: C++

(40)

como bibliotecas: OpenCV y FANN

como IDE de desarrollo: Eclipse con el pluging CDT

como herramienta para la evaluaci ´on de la efectividad: Weka

Inteligencia Artificial

Se estudiaron los algoritmos que se utilizan para la categorizaci ´on de documentos HTML seleccionan- do el siguiente, en el cual se basar ´a nuestro trabajo.

como algoritmos de entrenamiento y categorizaci ´on: k-NN y MLP

(41)

Dise ˜ no del M ´ odulo Decisor

2.1. Introducci ´ on

Para guiar el dise ˜no del M ´odulo Decisor es necesario comprender su contexto e identificar las con- diciones o capacidades que debe cumplir. En este cap´ıtulo se muestra su funcionamiento integrado a los restantes componentes de MOCIC, y se explica como se realiza el proceso de clasificaci ´on, con las propuestas de los algoritmos seleccionados y las pruebas realizadas al prototipo funcional.

2.2. Integraci ´ on con MOCIC

Para que MOCIC clasifique correctamente precisa de mecanismos de decisi ´on eficaces, que estar ´an incluidos en el M ´odulo Decisor, este ser ´a el encargado de categorizar los contenidos a partir de la res- puesta de los m ´odulos de clasificaci ´on y formar ´a parte de la arquitectura de MOCIC, que se describe a continuaci ´on.

Referencias

Documento similar

If certification of devices under the MDR has not been finalised before expiry of the Directive’s certificate, and where the device does not present an unacceptable risk to health

In addition to the requirements set out in Chapter VII MDR, also other MDR requirements should apply to ‘legacy devices’, provided that those requirements

The notified body that issued the AIMDD or MDD certificate may confirm in writing (after having reviewed manufacturer’s description of the (proposed) change) that the

que hasta que llegue el tiempo en que su regia planta ; | pise el hispano suelo... que hasta que el

En junio de 1980, el Departamento de Literatura Española de la Universi- dad de Sevilla, tras consultar con diversos estudiosos del poeta, decidió propo- ner al Claustro de la

E Clamades andaua sienpre sobre el caua- 11o de madera, y en poco tienpo fue tan lexos, que el no sabia en donde estaña; pero el tomo muy gran esfuergo en si, y pensó yendo assi

[r]

[r]