Archivo para abril, 2008

A menudo, en la vida profesional o en la cotidiana, hemos de acometer varias tareas (ya sean éstas totalmente independientes o pertenecientes a un mismo ámbito o proyecto) que no pueden realizarse de forma simultánea o paralela. Por ello, tenemos que tomar decisiones para determinar el orden o precedencia en el tiempo con que serán ejecutadas.

Entropía 

  • Es una medida que se ocupa dentro de los árboles de decisión para determinar la calidad del mismo.
  • La entropía es considerada una medida de incertidumbre.
  • La entropía puede ser considerada la cantidad de información contenida en el resultado de un experimento. Dicha información, dependerá sobre el conocimiento previo que se tiene sobre los resultados del experimento. Cuanto menos se conoce más información se obtiene (o más se aprende).
  • La entropía tiene su valor más bajo (0) cuando existe total certeza en el resultado del experimento, mientras que el mayor valor de entropía es alcanzado en el caso de mayor incertidumbre (eventos equiprobables).

 

En base a un algoritmo básico de aprendizaje es que tratamos de encontrar el atributo mejor clasificador cuya medida básica es la Ganancia de información basada en la entropía.

Formula de entropía

 

 

Donde: p1 es la fracción de ejemplos positivos en S y p0 es la fracción de negativos. 

  • Si todos los ejemplos están en una categoría, entropía es zero (definimos 0×log(0)=0)
  • Si los ejemplos están igualmente mezclados (p1=p0=0.5), entropía es una máxima de 1.
  • Entropía se puede ver como el máximo numero de bits requeridos en promedio para codificar la clase de un ejemplo en S.
  • Para problemas de múltiples clases (multi-class) con c categorías, la entropía generaliza a:

 

 

 ¿Por qué?

La teoría de la información dice: para un mensaje que tiene una probabilidad p el largo óptimo del código asignado debe ser –log2p bits.

 

Ejemplo:

Entropía (Y | X = v) = La entropía de Y dentro de los registros en los cuales X tiene el valor v. 

                           = Número esperado de bits para transmitir Y si a ambos lados se conoce el valor de X

                        

 

Entropía (Y | X = v) = 0.5 x 1 + 0.25 x 0 + 0.25 x 0 = 0.5

 

Ganancia de información

 Es la reducción en la entropía del conjunto, al clasificar S usando el ejemplo determinado.

 

Es una medida relativa al conjunto S y a cada atributo.

 

 

 

Donde:

  • Valores (A) es el conjunto de posibles valores del atributo A.
  • |Sv| es el número de ejemplos en S etiquetados con v.
  • |S| es el número total de ejemplos, y
  • Et(Sv) es la entropía de ejemplos etiquetados con v.

En el ejemplo anterior:

 

Gain (Y|X)= Entropía (Y) – Entropía (Y|X=v)

Gain (Y|X)= 1 – 0.5 = 0.5

 

Referencias Bibliográficas 

·         http://www.gsi.dit.upm.es/~gfer/ssii/arboles.pdf

·         http://profesores.elo.utfsm.cl/~tarredondo/info/soft-comp/Arboles%20de%20Decision.pdf

·         http://supervisadaextraccionrecuperacioninformacion.iespana.es/arboles.html

Anuncios

Podado de Reglas de decisión

 

Las reglas de decisión son formadas con el objetivo de poder describir un sistema en el cual pueden ocurrir diferentes eventos, estas reglas son un paradigma más genérico y flexible que los árboles de clasificación, son además fácilmente comprensibles y aplicables.

 

Pruning

 

Una forma de evaluar si una regla es buena es considerar la probabilidad de que una regla aleatoria nos de resultados iguales o mejores que la regla a considerar, basados en la mejora en ejemplos positivos cubiertos.

Generar reglas que cubran puros ejemplos positivos. Esta regla es probable que este sobre-especializada. Lo que se hace es que se elimina el último término que se añadió y se verifica si esta regla es mejor a la anterior (ver abajo). Este proceso se repite hasta que no existan mejoras (ver tabla 4.6).

 

Tabla 4.6: Algoritmo de podado de reglas.

   Inicializa. E al conjunto de ejemplos

   Until E sea vacío do

         Para cada clase C

         Crea una regla perfecta para la clase C

         Calcula la medida de probabilidad m(R) para regla

            y para la regla sin la última condición m(R-)

          Mientras m(R-) < m(R), elimina la última condición 

             de la regla y repite el proceso

      De las reglas generadas, selecciona aquellas con m(R) menor

     Elimina las instancias cubiertas por la regla      

 

 

 

Este algoritmo no garantiza encontrar las mejores reglas por 3 razones principales:

 

(i) el algoritmo para construir las reglas, no necesariamente produce las mejores reglas para ser reducidas,

(ii) la reducción de reglas empieza con la última condición, y no necesariamente es el mejor orden, y

(iii) la reducción de reglas termina cuando cambia la estimación, lo cual no garantiza que el seguir recortando pueda mejorar de nueva la estimación. [1]

 

Sobre el tema específico de podado de reglas no hay mucha información, pero aquí un ejemplo de un algoritmo que aplica podado de reglas el Algoritmo de RIPPER, este algoritmo es una extensión del denominado IREP (Fϋrnkranz y Widner, 1994), a continuación pongo a consideración un extracto del artículo encontrado.

 

IREP (Incremental Reduced Error Pruning)

 

El conjunto de reglas que se van a considerar en el algoritmo IREP (Fϋrnkranz y Widner, 1994) van a estar en forma normal disyuntiva. Conceptos básicos utilizados por IREP son los de regla (rule), conjunto de reglas (rule set) y regla parcial (partial rule).

 

IREP necesita que el conjunto de casos o patrones etiquetados que denotamos por D se particione en dos. El primero de dichos subconjuntos Dpos va a contener el conjunto de patrones positivos, mientras que el segundo subconjunto Dneg va a contener el conjunto de patrones negativos. Además de esta partición es necesario subdividir cada uno de los subconjuntos anteriores (Dpos y Dneg) en otros dos subconjuntos. Es decir, a partir del conjunto de ejemplos positivos Dpos obtenemos Dgrow_pos y Dprune_pos subconjuntos relacionados respectivamente con la construcción y el podado de las reglas.

 

 

Procedure IREP

Begin

Ruleset=0;

While DPos = DGrow_Pos U DPrune_Pos  ≠ 0 do

/* Construir y podar una nueva regla */

Dividir D en DGrow_Pos U DGrow_Neg U DPrune_Pos U DPrune_Neg

Rule := GrowRule (DGrow_Pos U DGrow_Neg)

Rule := PruneRule (Rule, DPrune_Pos; DPrune_Neg)

If  la tasa de error de Rule en DPrune_Pos U DPrune_Neg > 50%

Then

Return RuleSet

Else

Anadir Rule a RuleSet

Borrar ejemplos abiertos por Rule de D

End if

End while

Return RuleSet

End

 

Fig. 1. Pseudocódigo del Algoritmo IREP

 

 

 

EL proceso de poda se efectúa por medio del procedimiento PruneRule. En este procedimiento PruneRule se plantea el borrado, de manera secuencial, y empezando por el último literal introducido a la regla en su fase de crecimiento. Se van a ir borrando (podando) literales mientras se mejore el criterio v(Rule; Dprune_pos; Dprune_neg), siendo

 

                            v(Rule; Dprune_pos; Dprune_neg) =  Pos – neg

      

    Pos + neg

 

Con:

Pos número de ejemplos en Dprune_pos

Neg número de ejemplos en Dprune_neg

pos número de ejemplos positivos en Dprune_pos cubiertos por la regla

neg número de ejemplos negativos en Dprune_neg cubiertos por la regla

 

 

RIPPER (Repeated Incremental Pruning Produce Error Reduc-tion)

 

RIPPER fue introducido por Cohen (1995) y constituye una mejora del algoritmo

IREP. Las mejoras introducidas por RIPPER pueden resumirse en tres puntos:

 

1. Métrica alternativa para la fase de poda.

 

Supongamos que la regla R1 cubre 2000 ejemplos positivos en Dprune_pos y 1000 ejemplos negativos en Dprune_neg. Igualmente la regla R2 cubre 1000 ejemplos positivos en Dprune_pos y 1 ejemplo negativo en Dprune_neg. Se puede ver de manera sencilla que independientemente de los valores de Pos y Neg, el criterio de poda utilizado por IREP va a preferir R1 a R2, ya que

 

 

 

2000 + (Neg _ 1000)  >  1000 + (Neg _ 1)

 

    Pos + Neg                      Pos + Neg

 

 

Y sin embargo es intuitivo que la R2 es preferible a R1. Para corregir esta carencia RIPPER basa su poda en el criterio siguiente:

 

                            v(Rule; Dprune_pos; Dprune_neg) =  Pos – neg

      

    Pos + neg

 

En tal caso tendríamos:

 

2000 – 1000  <    1000 – 1

 

    3000                 1001

 


Y R2 se seleccionar__a frente a R1.

 

2. Incorporación de un heurístico para determinar cuando parar el proceso de añadir reglas.

3. Posteriormente a todo el proceso visto para IREP, el algoritmo RIPPER efectúa una búsqueda local para optimizar el conjunto de reglas (rule set) de dos maneras diferentes:

 

a) Reemplazando una regla Ri que forma parte del rule set {R1;…; Ri-1; Ri; Ri+1;  …;Rk} por Ri´ , siempre y cuando el rule set correspondiente tenga un menor error en la clasificación en Dprune_pos U Dprune_neg.

b) Revisar una determinada regla Ri añadiendo literales para que se consiga un menor error en Dprune_pos U Dprune_neg. [2]

 

 

Para más información pueden ingresar a las siguientes direcciones:

 

[1] http://ccc.inaoep.mx/~emorales/Cursos/KDD03/node30.html

 

[2] Pedro Larrañaga, Iñaki Inza, Abdelmalik Moujahid Departamento de Ciencias de la Computación e Inteligencia Artificial Universidad del País Vasco-Euskal Herriko Unibertsitatea

 http://www.sc.ehu.es/ccwbayes/docencia/mmcc/docs/t11reglas.pdf

 

 

Aprendizaje Automático

El Aprendizaje Automático es una rama de la Inteligencia Artificial en la cual su principal objetivo es desarrollar técnicas que permitan a las computadoras aprender, es decir, se considera como un proceso de inducción del conocimiento. El aprendizaje automático se centra en el estudio de la Complejidad Computacional de los problemas. Muchos problemas son de clase NP-hard, por lo que las aplicaciones desarrolladas en aprendizaje automático están enfocadas al diseño de soluciones viables a esos problemas.

Dentro de las aplicaciones de aprendizaje automático están: motores de búsqueda, diagnósticos médicos, detección de fraude en el uso de tarjetas de crédito, análisis del mercado de valores, clasificación de secuencias de ADN, reconocimiento del habla y del lenguaje escrito, juegos y robótica. Algunos expertos en el desarrollo de sistemas de aprendizaje automático han tratado de eliminar la intuición o el conocimiento de los procesos que se generan en la interacción hombre-máquina; otros, en cambio, tratan de establecer una colaboración entre estos dos elementos.

La participación humana y sus intuición no puede ser remplazada por una máquina, el humano, es decir, el experto que desarrolla estos sistemas es quién hace el diseño y determina los procesos que debe realizar el sistema o la máquina. Por lo tanto no puede ser remplazado, a excepción de algunas tareas o procesos que son automatizados para mejorar el rendimiento de estos sistemas.

A través del aprendizaje automático se puede generar tres tipos de conocimiento, cada tipo dependerá del tema que se desee aprender:

1. Crecimiento Es el que se adquiere de lo que nos rodea, el cual guarda la información en la memoria como si dejara huellas.

2. Reestructuración Al interpretar los conocimientos el individuo razona y genera nuevo conocimiento al cual se le llama de reestructuración.

3. Ajuste Es el que se obtiene al generalizar varios conceptos o generando los propios.

Existen algoritmos que son utilizados en el aprendizaje automático para la generación de conocimiento y el mejoramiento en el rendimiento de los sistemas computacionales. Son cinco los algoritmos utilizados, estos son:

1. Aprendizaje supervisado Produce una función que establece una correspondencia entre las entradas y las salidas deseadas del sistema.

2. Aprendizaje no supervisado Todo el proceso se lleva a cabo sobre un conjunto de ejemplos formado por entradas al sistema. No existe información de las categorías de esos ejemplos.

3. Aprendizaje por refuerzo El algoritmo aprende observando el mundo que le rodea. Su información de entrada es la retroalimentación que obtiene del exterior en función de sus acciones.

4. Transducción Similar al aprendizaje supervisado, pero no construye de forma explícita una función. Trata de predecir las categorías de los futuros ejemplos basándose en los ejemplos de entrada, sus respectivas categorías y ejemplos nuevos.

5. Aprendizaje multi-tarea Métodos de aprendizaje que usan conocimiento previamente aprendido por el sistema con el fin de enfrentarse a problemas similares a los vistos.

El aprendizaje automático se ha convertido en un eje fundamental de la Inteligencia Artificial. En la construcción de sistemas inteligentes, es necesario que estos aprendan y vayan adquiriendo experiencia conforme realizan sus procesos sin la necesidad de una supervisión por parte de expertos.

Autor: Daniel Valdivieso

Podado de Reglas de Decisión

Podado de Reglas de decisión

 Las reglas de decisión son formadas con el objetivo de poder describir un sistema en el cual pueden ocurrir diferentes eventos, estas reglas son un paradigma más genérico y flexible que los árboles de clasificación, son además fácilmente comprensibles y aplicables.

 Pruning

 Una forma de evaluar si una regla es buena es considerar la probabilidad de que una regla aleatoria nos de resultados iguales o mejores que la regla a considerar, basados en la mejora en ejemplos positivos cubiertos.

Generar reglas que cubran puros ejemplos positivos. Esta regla es probable que este sobre-especializada. Lo que se hace es que se elimina el último término que se añadió y se verifica si esta regla es mejor a la anterior (ver abajo). Este proceso se repite hasta que no existan mejoras (ver tabla 4.6).

 

Tabla 4.6: Algoritmo de podado de reglas.

 Inicializa E al conjunto de ejemplos

 Until E sea vacío do

     Para cada clase C

     Crea una regla perfecta para la clase C

     Calcula la medida de probabilidad m(R) para la regla

            y para la regla sin la última condición(R-)

         Mientras m(R-) < m (R), elimina la última condición

             de la regla y repite el proceso

        De las reglas generadas, selecciona aquella con m(R)  menor

        Elimina las instancias cubiertas por la regla

 

Este algoritmo no garantiza encontrar las mejores reglas por 3 razones principales:

 (i) el algoritmo para construir las reglas, no necesariamente produce las mejores reglas para ser reducidas,

(ii) la reducción de reglas empieza con la última condición, y no necesariamente es el mejor orden, y

(iii) la reducción de reglas termina cuando cambia la estimación, lo cual no garantiza que el seguir recortando pueda mejorar de nueva la estimación. [1]

 Sobre el tema específico de podado de reglas no hay mucha información, pero aquí un ejemplo de un algoritmo que aplica podado de reglas el Algoritmo de RIPPER, este algoritmo es una extensión del denominado IREP (Fϋrnkranz y Widner, 1994), a continuación pongo a consideración un extracto del artículo encontrado.

 

IREP (Incremental Reduced Error Pruning)

 El conjunto de reglas que se van a considerar en el algoritmo IREP (Fϋrnkranz y Widner, 1994) van a estar en forma normal disyuntiva. Conceptos básicos utilizados por IREP son los de regla (rule), conjunto de reglas (rule set) y regla parcial (partial rule).

 IREP necesita que el conjunto de casos o patrones etiquetados que denotamos por D se particione en dos. El primero de dichos subconjuntos Dpos va a contener el conjunto de patrones positivos, mientras que el segundo subconjunto Dneg va a contener el conjunto de patrones negativos. Además de esta partición es necesario subdividir cada uno de los subconjuntos anteriores (Dpos y Dneg) en otros dos subconjuntos. Es decir, a partir del conjunto de ejemplos positivos Dpos obtenemos Dgrow_pos y Dprune_pos subconjuntos relacionados respectivamente con la construcción y el podado de las reglas.

 Procedure IREP

    Begin

       Ruleset=0;

       While DPos = DGrow_Pos U DPrune_Pos  ≠ 0 do

          /* Construir y podar una nueva regla */

           Dividir D en DGrow_Pos U DGrow_Neg U DPrune_Pos U DPrune_Neg

               Rule := GrowRule (DGrow_Pos U DGrow_Neg)

               Rule := PruneRule (Rule, DPrune_Pos; DPrune_Neg)

                If la tasa de error de Rule en DPrune_Pos U DPrune_Neg > 50%

The

  Return RuleSet

  Else

  Añadir Rule a RuleSet

   Borrar ejemplos abiertos por Rule de D

   End if

              End while

             Return RuleSet

          End

      Fig. 1. Pseudocódigo del Algoritmo IREP

  EL proceso de poda se efectúa por medio del procedimiento PruneRule. En este procedimiento PruneRule se plantea el borrado, de manera secuencial, y empezando por el último literal introducido a la regla en su fase de crecimiento. Se van a ir borrando (podando) literales mientras se mejore el criterio v(Rule; Dprune_pos; Dprune_neg), siendo

 

         v(Rule; Dprune_pos; Dprune_neg) =  Pos – neg / Pos + neg

      Con:

Pos número de ejemplos en Dprune_pos

Neg número de ejemplos en Dprune_neg

pos número de ejemplos positivos en Dprune_pos cubiertos por la regla

neg número de ejemplos negativos en Dprune_neg cubiertos por la regla

 

 RIPPER (Repeated Incremental Pruning Produce Error Reduc-tion)

 RIPPER fue introducido por Cohen (1995) y constituye una mejora del algoritmo

IREP. Las mejoras introducidas por RIPPER pueden resumirse en tres puntos:

 

1. Métrica alternativa para la fase de poda.

 Supongamos que la regla R1 cubre 2000 ejemplos positivos en Dprune_pos y 1000 ejemplos negativos en Dprune_neg. Igualmente la regla R2 cubre 1000 ejemplos positivos en Dprune_pos y 1 ejemplo negativo en Dprune_neg. Se puede ver de manera sencilla que independientemente de los valores de Pos y Neg, el criterio de poda utilizado por IREP va a preferir R1 a R2, ya que

 

 2000 + (Neg _ 1000)  / Pos + Neg)  >  (1000 + (Neg _ 1) /  Pos + Neg)

Y sin embargo es intuitivo que la R2 es preferible a R1. Para corregir esta carencia RIPPER basa su poda en el criterio siguiente:

 

   v(Rule; Dprune_pos; Dprune_neg) =  Pos – neg / Pos + neg

 

 En tal caso tendríamos:

 

 (2000 – 1000)/3000  <    (1000 -1)/1001

 

 Y R2 se seleccionaría frente a R1.

2. Incorporación de un heurístico para determinar cuando parar el proceso de añadir reglas.

3. Posteriormente a todo el proceso visto para IREP, el algoritmo RIPPER efectúa una búsqueda local para optimizar el conjunto de reglas (rule set) de dos maneras diferentes:

 a) Reemplazando una regla Ri que forma parte del rule set {

R1;…; Ri-1; Ri; Ri+1;  …;Rk} por Ri´ , siempre y cuando el rule set correspondiente tenga un menor error en la clasificación en Dprune_pos U Dprune_neg.

 

b) Revisar una determinada regla Ri añadiendo literales para que se consiga un menor error en Dprune_pos U Dprune_neg. [2]

 

 Para más información pueden ingresar a las siguientes direcciones:

 [1] http://ccc.inaoep.mx/~emorales/Cursos/KDD03/node30.html

 [2] Pedro Larrañaga, Iñaki Inza, Abdelmalik Moujahid Departamento de Ciencias de la Computación e Inteligencia Artificial Universidad del País Vasco-Euskal Herriko Unibertsitatea

 http://www.sc.ehu.es/ccwbayes/docencia/mmcc/docs/t11reglas.pdf

 

 

Una red Bayesiana  es un grafo acíclico dirigido en el que cada nodo representa una variable y cada arco una dependencia probabilística. Los nodos por lo general son variables aleatorias. Son utilizadas para modelar un fenómeno y de representar el conocimiento y métodos flexibles de razonamiento por medio de los nodos. El obtener una red Bayesiana  a partir de datos, es un proceso de aprendizaje que se divide en dos etapas: el aprendizaje estructural y el aprendizaje paramétrico.

 

Aprendizaje

 

Redes Bayesianas Dinámicas (RBD) son las que cambian con el tiempo.

 

Dada una representación en RBD en base a dos componentes, la estructura base (estático), y la red de transición.

 

Estructura base: Para aprender de la estructura base se consideran los datos de todas las variables en todos los tiempos, de forma que se pueda tener dependencias sin considerar las relaciones temporales. El problema entonces es de dos tipos:

 

  • Aprendizaje estructural: obtiene la estructura de la red Bayesiana (o topología de red) a partir de bases de datos, es decir, las relaciones de dependencia e independencia entre las variables involucradas.

 

  • Aprendizaje paramétrico: dada una estructura, obtiene las probabilidades asociadas. El requisito primordial para poder realizar la tarea de aprendizaje de redes Bayesianas a partir de datos es disponer de bases de datos muy amplia en las que esté detallado el valor de cada variable en cada uno de los casos.

 

 

Estructura de transición: dada la estructura base se aprende la red de transición esto se realiza usando dos enfoques:

 

  • Basado en medidas de ajuste de búsqueda: se parte de una estructura inicial con dos copias de la red base, y se busca agregar ligas entre variables en el tiempo T y T+1 que optimicen la medida de evaluación, para ello se consideran los datos de cada variable en el tiempo siguiente.

 

 

Figura 1: Aprendizaje de una red Bayesiana dinámica. Primero se obtiene la estructura base (izquierda) y después y después las relaciones entre etapas (derecha).

 

 

De medidas locales: Se aplican estas variables entre etapas para de esta forma determinar los arcos a incluirse en la red de transición. La Figura 1 ilustra una RBD sencillo.

 

Bibliografía

 

[1] Sierra Araujo, B. (2006): Aprendizaje Automatico. España: Pearson

[2] Ezequiel FELGAER, P. (2008, Abril). OPTIMIZACIÓN DE REDES BAYESIANAS BASADO

EN TÉCNICAS DE APRENDIZAJE POR INDUCCIÓN disponible en: www.itba.edu.ar/capis/rtis/rtis-6-2/optimizacion-de-redes-bayesianas.pdf

[3] Ezequiel FELGAER, P. (2008, Abril). OPTIMIZACIÓN DE REDES BAYESIANAS BASADO

EN TÉCNICAS DE APRENDIZAJE POR INDUCCIÓN disponible en: www.fi.uba.ar/materias/7500/felgaer-tesisingenieriainformatica.pdf

 

Por: Junior Sinche

Los métodos propuestos para la elección de un patrón a seguir que debería ser general para todos los casos posibles sin tener algún nivel de error es casi imposible, esto se puede relacionar con la ejecución de algoritmos que se proponen para esta elección teniendo como conjunto de entrenamientos un grupo de variables las cuales al no tener mayor nivel de dificultad mantiene un correcto grado de funcionamiento. Es decir que al no tener otra visión o cambio de conjunto de entrenamiento para el cual no tiene o no ha podido entrenarse, las funciones o acciones que tomara serán erróneas.

 

Por otra parte algunas técnicas han permitido aproximarse a la solución de muchos problemas de control debido su capacidad de generalización. [1]Generalización en IA es el nombre que recibe una característica de las redes neuronales artificiales. Es decir, si una red neuronal se entrena con un número suficiente de patrones, y luego frente a un patrón que no pertenece a al grupo con el que se la entrenó (una situación nueva), da una salida correcta (que resuelve la situación), entonces se dice que la red generaliza bien.

 

Llevándolo al campo de la inteligencia artificial y manteniendo los conceptos mencionados el sobreentrenamiento de los modelos y algoritmos de clasificación propuestos dentro de las Técnicas de Clasificación Supervisada, nos dan relaciones tanto de consistencia como de inconsistencia.

 

En conclusión, es cierto que si a un árbol de expansión, algoritmo o método de clasificación, se le entrena con conjuntos de patrones similares, las acciones que tomara frente a alguna situación “similar” será satisfactoria. Pero si el patrón o situación a comparar es diferente o que se le presenten nuevos casos, estamos expuestos a que este tipo de métodos tomen acciones que no estén correctas y por consecuencia no tenga una buena generalización.

 

Esto nos lleva a utilizar algunos algoritmos como el de Retro propagación para entrar en una nueva  fase de entrenamiento con el nuevo conjunto de entrenamiento.

 

En la actualiza todos estamos expuestos a este tipo de concurrencias. Un ejemplo práctico se da en los estudiantes universitarios que al culminar sus estudios superiores la realidad que se vive fuera de las aulas es otra, se presentan casos similares  y nuevos casos de estudio diferentes al de las universidades, en los primeros se tomaran acciones que estarán correctas, pero en las segundas por lo que son nuevas situaciones estaremos propensos a tomar acciones erróneas, hasta que nos entrenemos con estas nuevas situaciones.

 

 

Referencias:

 

[1]http://www.webelectronica.com.ar/news21/nota09.htm

    www.lsi.us.es/redmidas/CEDI/transparencias/subgroup_discovery.ppt

    http://usuarios.lycos.es/psicosix/cursos/ia/files/g02.ppt

 

 

 

 

 

 

La edición de un conjunto de entrenamiento se hace con el objetivo de eliminar los prototipos que inducen a una incorrecta clasificación supervisada, seleccionando un conjunto de referencia representativo y reducido.

Existen varios algoritmos de edición de conjuntos de entrenamiento, los cuales están encaminados a la detección y eliminación de patrones ruidosos y atípicos, con el objetivo de mejorar la exactitud de la clasificación.

Las técnicas de edición ayudan a  la reducción de la matriz de aprendizaje, debido a la eliminación de prototipos no representativos.

En el conjunto de entrenamiento se colocan los ejemplos del sistema de decisión inicial que pertenecen a la aproximación inferior de cada clase. El conjunto de entrenamiento para el algoritmo será la región positiva del sistema de decisión.

Los objetos que están etiquetados incorrectamente o muy cerca de la frontera de decisión pueden ser eliminados del conjunto de entrenamiento, los mismos que afectan la calidad de la inferencia.

En la aproximación inferior de cada clase estarán aquellos objetos que con certeza pertenecen a dicha clase, por lo que de esta forma se garantiza la eliminación de cualquier presencia de ruido en el sistema de decisión.

 

PESADO DE CASOS

Al realizar varias versiones del algoritmo K NN que daban distinto peso a los diferentes vecinos encontrados en base a la distancia a la que se encuentra el nuevo caso a clasificar.

El peso se asocia a cada uno de los K casos vecinos se puede tener en consideración de muy diversas maneras:

ü  El voto que aporta un caso dado es inversamente proporcional a la distancia a que se encuentra de la instancia a clasificar.

ü  Voto fijo según el orden de vecindad.

ü  Voto ponderado según las probabilidades a priori de las clases a las clases a las que pertenecen los datos en caso de empate (se elige la menos probable ya que tiene mas peso).

 

PESADO DE ATRIBUTOS

No todas las variables influyen de la misma manera sobre la misma clase.

En un problema de clasificación en el que se han tenido en cuenta n variables predictorias X1,X2,…..Xn, y que el peso atribuido a cada una de estas n variables es W1,W2,…..Wn.

Se aplica la siguiente formula:

n

Dw(x,y)= Wi(xi-yi)2.

I=1

El cálculo de los diferentes pesos asociados a las diferentes variables se lo realiza de diferentes maneras:

ü  El peso asociado a cada variable X viene determinado por la medida de la información mutua entre ella y la variable a clasificar C.

ü  Determinar el Wl = {W1,……Wl} de l pesos fijos distintos, l<n, y asociar a cada una de las variables.

 

EJEMPLO:

CLASIFICACIÓN SUPERVISADA PARA DNA MICROARRAYS

DNA microarray

Filas à genes;

Columnas à casos, muestras, biopsias, ejemplos.

 

Pesado de casos à se trata de eliminar filas.

Pesado de atributosà se trata de eliminar columnas.

¿Selección de genes en DNA microarray ‘supervisados’?

ü  Area ‘pequeña’ dentro de la Bioinformática.

ü  Dimensionalidad altísima (> 1,000).

ü  Problemas supervisados: existe la variable clase.

ü  Coincidencias: pocos genes… ¿soprendente? No tanto… Y buen porcentaje de bien clasificados.

ü  Explicatividad & comprensibilidad: árboles, reglas.

 

 

 

 

 

 

 

Dentro del aprendizaje automático, encontremos técnicas de clasificación que nos permiten agrupar muestras de acuerdo a criterios o métodos, estas técnicas son la clasificación supervisada y la no supervisada.

El objetivo de la clasificación dentro del aprendizaje automático consiste en la asignación de un objeto o un fenómeno físico a una de las diversas categorías o clases especificadas (se hace referencia a clase como una agrupación de objetos que tiene características comunes, o mejor dicho como un sinónimo de categoría). La clasificación es una técnica muy útil, usada en diversos campos como el de reconocimiento de patrones.

Clasificación supervisada

Este tipo de clasificación cuenta con un conocimiento a priori, es decir para la tarea de clasificar un objeto dentro de una categoría o clase contamos con modelos ya clasificados (objetos agrupados que tienen características comunes). Podemos diferenciar dos fases dentro de este tipo de clasificación [1]:

La primera fase tenemos un conjunto de entrenamiento o de aprendizaje (para el diseño del clasificador) y otro llamado de test o de validación (para clasificación), estos nos servirán para construir un modelo o regla general para la clasificación.

En la segunda fase es el proceso en sí de clasificar los objetos o muestras de las que se desconoce la clase a las que pertenecen.

Ejemplos de clasificación supervisada son: el diagnóstico de enfermedades, predicción de quiebra o bancarrota en empresas, reconocimiento de caracteres escritos a mano, en la minería de datos, etc. Entre las técnicas dentro del grupo de clasificación supervisada se encuentran los algoritmos de clasificación por vecindad.

Clasificación no supervisada

A diferencia de la supervisada no contamos con conocimiento a priori, por lo que tendremos un área de entrenamiento disponible [2] para la tarea de clasificación. A la clasificación no supervisada se la suele llamar también clustering.

En este tipo de clasificación contamos con “objetos” o muestras que tiene un conjunto de características, de las que no sabemos a que clase o categoría pertenece[3], entonces la finalidad es el descubrimiento de grupos de “objetos” cuyas características afines nos permitan separar las diferentes clases.

[1] http://www.ica.luz.ve/~cstufano/CursoMetEst/Clasificacion%20no%20Supervisada.pdf
[2] Reconocimiento de Patrones
[3] Aprendizaje Automático: conceptos básicos y avanzados (2006), Basilio Sierra Araujo.

Redes Bayesianas

Una red bayesiana o probabilística  consta de un conjunto de aleatorias que representan entidades del mundo realidad relacionadas entre sí mediante una representación gráfica  de dependencias para razonamiento probabilístico en sistemas expertos.

Las  redes bayesianas son una herramienta útil en la estimación de probabilidades ante nuevas evidencias. Consta de nodos y arcos. El nodo representa la variable proposicional y los arcos una dependencia probabilística.

Aplicaciones.

Las redes bayesianas pueden ser utilizadas en medicina, en la informática para el diagnóstico de computadoras, para la prevención de fraudes, etc. Son aplicables a sucesos que ocurren y que probablemente tienen más de una causa.