Download nociones de inteligencia artificial

Document related concepts

Propagación hacia atrás wikipedia , lookup

Aprendizaje automático wikipedia , lookup

Perceptrón wikipedia , lookup

Aprendizaje basado en árboles de decisión wikipedia , lookup

Aprendizaje de cuantificación vectorial wikipedia , lookup

Transcript
CAPITLO XII: NOCIONES DE INTELIGENCIA ARTIFICIAL.1
 Introducción.
 Árboles de decisión.
 Redes neuronales.
Prof: Andrés E Reyes Polanco.
¨El autor se reserva todos los derechos de reproducción total o parcial de su obra por
cualquier medio”
INTRODUCCIÓN.
Inteligencia y entendimiento son dos términos que suelen usarse indistintamente en el
campo de la Filosofía, el concepto ha evolucionado en la historia del pensamiento
remontándose desde los presocráticos como Anaxágora y Parménides siguiendo luego con
Platón y Aristóteles, en todos ellos lo común es definirlo como la capacidad de limitar,
ordenar y medir las cosas. Esta forma de concebir el entendimiento se hace extensiva en
pensadores como Tomás de Aquino; en los siglos XVII y XVIII se centra más en el origen
del conocimiento con Descartes y sus “ideas innatas” compartidas por Leibniz y
cuestionadas por Locke, racionalismo versus empirismo, el idealismo alemán con sus
diferentes representantes como Kant con su Crítica a la Razón Pura, o Hegel con su
Fenomenología del Espíritu hasta nuestros días, que con la influencia de la Neurociencia,
Psicología entre otras disciplinas, se ha ido conformando una visión sobre el entendimiento
y la posibilidad real de conocer, en donde hay más preguntas que respuestas.2
La inteligencia es, en todo caso, un atributo humano que abarca desde la intuición, lo
operativo y la comprensión del mundo exterior y de sí mismo. La concepción del
entendimiento como intuición fue presentado por Aristóteles y luego por Kant, para el
primero consiste en formular los primeros principios que se utilizan en la ciencia
demostrativa y de predecir su evidencia, para el segundo su tarea es juzgar. La visión
operativa se debe a Bergson, para él, el entendimiento es la facultad de fabricar objetos
artificiales, en particular utensilios y de variar indefinidamente la fabricación y finalmente,
la comprensión significa apresar el significado de un símbolo, la fuerza de un argumento, el
valor de una acción etc3.
La Inteligencia Artificial (IA) trata de emular la inteligencia humana mediante el desarrollo
computacional o robótico. Es un nuevo paradigma que aspira crear máquinas que puedan
resolver problemas de la forma más parecida a la humana, pero tratando de disminuir
cualquier ruido que retarde sus respuestas. Stuart Russell y Peter Norving (2004) recogen
en su obra, ochos definiciones de Inteligencia Artificial de diferentes autores. Estas
definiciones las dividen en dos grandes grupos; el primer grupo lo conforman las
definiciones que se refieren a la IA como la forma de emular el comportamiento humano,
esto es, como sistemas que piensan o actúan como humanos y el segundo grupo representa
el ideal de la Inteligencia Artificial, es decir, el deber ser que consiste en pensar y actuar
1
Este capítulo corresponde a la nueva edición del libro: Herramientas cuantitativas en la Toma de Decisiones
en la Empresa.
2
Hirschberger J.(1969)-Historia de La Filosofía-Vol 2, Editorial: Herder; Barcelona.
3
Abbagnano N.(1960)-Diccionario de Filosofía- Fondo de Cultura Económica-México.
1
racionalmente. La Inteligencia Artificial está ligada a disciplinas como la Matemática,
Neurociencia, Psicología, Ingeniería Computacional, Teoría del Control y Cibernética,
Lingüística y Economía. Su actuar se puede dividir en tres grandes etapas: 1.-Búsqueda de
la información 2.-Aprendizage y reforzamiento del aprendizaje 3.-Solución y verificación
de la solución. Una pregunta que se hace es: ¿Se podrá obtener en algún momento un
objeto, llámese supercomputador o robot que sea capaz no sólo de resolver problemas de
cierta complejidad, sino además, llegar a la autoconciencia, esto es, no sólo resolver
problemas sino saber que lo está resolviendo?
La inteligencia entendida como capacidad para identificar, memorizar, asociar y resolver
problemas, no es un atributo exclusivo de los humanos aunque es en esta especie donde
alcanza su máxima expresión, pero lo que sí parece ser exclusivo de los humanos es la
autoconciencia o reflexión: el volverse a sí mismo, el término inteligencia proviene del
vocablo latino: intelligere que resulta una voz compuesta de dos palabras: intus legere que
quieren decir leer dentro. ¿Se logrará vía IA obtener algún objeto que sea capaz de lo
mismo? Si se sigue el planteamiento hecho ya algún tiempo por Horgan (1996) sobre el
futuro de las ciencias en su obra El Fin de La Ciencia, este objeto nunca se alcanzará4. Para
otros, esta pregunta está mal formulada, no se puede preguntar hasta donde se puede llegar
si aún estamos en un inicio embrionario pese a los avances actuales y por tanto resulta
difícil establecer claramente sus límites y, aún quedan otras preguntas más importantes por
responder. Una de estas preguntas es: ¿Se puede evaluar la inteligencia de una máquina?
Una respuesta a esta pregunta la dio por primera vez Alan Turing en 1950, desarrollando un
test con esa finalidad, éste consiste en someter a la máquina a la siguiente prueba: el
programa debe mantener una comunicación online con un interlocutor durante cinco
minutos, si la máquina no es descubierta como tal en el 30% del tiempo fijado y el
interlocutor cree que es otro humano, entonces la máquina pasa la prueba. A la pregunta
general: ¿Puede una máquina actuar con inteligencia? pero podríamos añadir unas
preguntas adicionales: ¿Podrá la supermáquina construida con el don de la inteligencia
artificial tener la capacidad de intuir? ¿De inspirarse para crear una obra de arte o formular
una nueva teoría científica? Hay respuestas cuestionadoras que provienen de diferentes
disciplinas, entre ellas está la matemática que aduce los trabajos de Gödel y el test de
Turing, la relación cuerpo mente, la psicología etc.
El desarrollo de la Inteligencia Artificial data de por lo menos desde 1956 fecha cuando se
acuñó este término en el Congreso de Dartmouth, sin embargo sus antecedentes son
muchos más antiguos (ver Stuart Russell y Peter Norving (2004)). Desde ese año a nuestro
tiempo, la IA ha sufrido altos y bajos, se retomó en la década de los 70 pero no hubo un
repunte tan significativo, su importancia la recobró a partir de 1986 hasta el momento.
Dentro de la Inteligencia Artificial como indicamos, puede distinguirse dos enfoques. Un
primer enfoque está en desarrollar tecnologías que permita que los computadores puedan
emular el razonamiento humano, su fin es utilitario, entre este enfoque están Jhon
McCrrthy y Marvin Minsky, su objetivo es la representación y gestión del conocimiento.
El segundo enfoque, más que la utilidad, se propone descubrir cuál es el mecanismo de la
inteligencia humana que se usa en la simulación para validar teorías, el problema se centra
en el aprendizaje, en este enfoque están Newell y Simon de la Carnegie Mellon University.
4
En el capítulo tres: El Fin de La Física da por fracasado todo intento de lograr el supercolisionador
superconductor que daría respuesta a varias preguntas relacionadas con la física de partículas. Sin embargo,
los hechos actuales con el LHC apuntan hacia otro norte.
2
Las aplicaciones de la Inteligencia Artificial son de lo más variadas, desde Medicina,
Astronomía, Geología, hasta labores industriales y domésticas.
La Inteligencia Artificial está ligada también a la Minería de Datos, disciplina que tiene
como objetivo principal encontrar patrones de comportamientos, tendencias, relaciones
entre variables o categorías, grupos homogéneos subyacentes en una base de datos, y que
inicialmente no están al descubierto, obteniendo así nuevos conocimientos. La Inteligencia
Artificial da aportes importantes para definir la metodología de la Minería de Datos, entre
estos aportes están los árboles de decisión, las redes neuronales, redes bayesianas,
máquinas núcleo o máquina de vectores soporte (SMV), el algoritmo de k media para
definir conglomerados. En este capítulo veremos sólo dos herramientas de la Inteligencia
Artificial aunque sea muy resumidamente, que junto con lo estudiado en el capítulo IX
sobre análisis multivariante permite una mejor comprensión de las bases metodológicas de
la Minería de Datos, estas herramientas son árboles de decisión y redes neuronales.
La inteligencia artificial supone una metodología que permita que una máquina pueda
adquirir nuevas destrezas, es decir, sea capaz de aprender.
Hay tres formas fundamentales de aprendizaje en la inteligencia artificial partiendo de las
observaciones disponibles: la supervisada, la no supervisada y la de refuerzo. De acuerdo al
tipo de aprendizaje que se proponga se tendrá un conjunto de herramientas.
Se va entender como aprendizaje el incremento del conocimiento ya existente, permitiendo
resolver los problemas con menor error, más eficientemente y enfrentar nuevos problemas.
Esto es, si en el momento t0 se tiene una capacidad I 0 de inferir, se da el aprendizaje, si en el
tiempo t k , existe un incremento  k tal que la capacidad de inferir en t k es: I k  I 0   k .
El aprendizaje supervisado consiste en obtener un resultado una vez conocido un conjunto
de ejemplos o casos que conforma lo que se denomina conjunto de entrenamiento o
aprendizaje. Los ejemplos son vectores que contienen los diferentes grados de los atributos
que definen el problema más un valor, generalmente booleano como respuesta o meta. El
aprendizaje supervisado o inductivo consiste entonces, en obtener nuevos conocimientos
mediante ejemplos o casos suministrados de la base de datos. Cada ejemplo o caso
describe:
 Un conjunto de atributos y variables, por ejemplo: ingreso, egresos, edad, estado
civil con sus diferentes modalidades.
 Su pertenencia o no a una determinada clase; por ejemplo: a la clase de clientes
morosos o, cualquier otra característica como el comportamiento observado en el
tiempo; por ejemplo: el precio de las acciones.
Formalmente, un aprendizaje inductivo consiste en aprender mediante ejemplos una
función desconocida f (x) que puede ser una tabla de verdad, una función de utilidad, la
mejor estrategia en un juego, una función de pertenencia, un árbol etc. Cada ejemplo se
construyen partiendo de un valor de entrada x0  R donde se sabe exactamente el valor
f ( x0 ) , por tanto tendremos el conjunto de ejemplos formado por ( xi , f ( xi ); i  N  que
permite proponer como hipótesis una función g (x) que sea la mejor aproximación de
f (x) , esto es: g ( x)  f ( x). En general se puede hablar no de una única hipótesis sino de
un conjunto de hipótesis que conforman el espacio de hipótesis H y seleccionar en este
espacio un subconjunto de hipótesis para ser evaluadas.
3
El manejo iterativo de los ejemplos tal que mediante ellos se pueda hacer alguna inferencia
a cerca de la función f (x) se llama algoritmo de aprendizaje. Un buen algoritmo de
aprendizaje es aquel que permite no solo predecir bien los ejemplos del conjunto de
entrenamiento, sino que también haga lo propio con cualquier grupo de ejemplos no
observados durante el proceso de aprendizaje, es decir, sea capaz de generalizar.
Así como se considera un conjunto de entrenamiento, también se considera un conjunto test
que permite evaluar el algoritmo de aprendizaje, este conjunto es disjunto con el conjunto
de entrenamiento, hay que evitar que se “colee” algún ejemplo de este conjunto durante el
proceso de aprendizaje al conjunto test. Lo que suele hacerse es seleccionar según una
distribución de probabilidad FX ( x; ) un conjunto de datos de la base de datos,
suficientemente grande, y dividirlo en dos grupos, uno servirá para formar el conjunto de
entrenamiento y el otro el del test. El algoritmo por tanto será bueno en la medida que su
error en predecir sea lo menor posible, tanto para los ejemplos del conjunto de
entrenamiento, como los del test.
Se puede establecer una relación funcional para medir el aprendizaje de la siguiente forma:
g : n  0,1
Donde n es el número de ejemplos de un conjunto de aprendizaje y el resultado de dividir el
número de los aciertos entre el total de ensayos dará la tasa de aprendizaje. De esto se
deriva la función de aprendizaje, para cada valor de n se tiene un valor de la tasa de
aprendizaje. Se espera que esta tasa aumente mientras aumenta el número de ejemplos, es
por tanto una función monótona no decreciente.
Se puede contar con varios algoritmos de aprendizaje y graficar sus respectivas funciones
de aprendizaje, este gráfico ayudará a seleccionar el mejor algoritmo.
Hay dos problemas cruciales con respecto al conjunto de entrenamiento y el conjunto de
hipótesis.
El primer problema se traduce en cual debe ser el tamaño del conjunto de entrenamiento,
es decir cuantos ejemplos debe tener, en principio mientras mayor sea el conjunto de
entrenamiento menor será el error y en consecuencia mayor la tasa de aprendizaje, pero aún
está pendiente una respuesta a cuan tan grande puede ser, esto se resuelve considerando
dos probabilidades: la primera es la probabilidad de clasificar mal o aproximarse
inadecuadamente a la función f (x) mediante un ejemplo y, la segunda probabilidad, es de
4
que dada una hipótesis gi (x) no correcta, sin embargo, ésta clasifica bien los n primeros
ejemplos del conjunto de entrenamiento. La primera probabilidad se expresa así:
error( g )  P( fi ( x)  f ( x) x  FX ( x; ))
Donde FX ( x; ) es la función de distribución a partir de la cual se seleccionan los ejemplos,
si se verifica que el error de que el ejemplo no predice bien a f (x) , esto es: error( fi )   ,
siendo  un número no negativo tan pequeño como se quiera, se dice que fi (x) es
aproximadamente correcta.
Para el caso de la probabilidad de una hipótesis gi (x) que es errónea, pero que clasifica
bien los primeros ejemplos, partimos de lo que sigue. Consideremos H como el conjunto
de todas las hipótesis, en el entorno de la función f estarán las hipótesis correctas o
aproximadamente correctas: H corr y fuera de ese entorno, las demás: H e ,consideremos que
gi (x) pertenece a este último grupo, entonces:
P( gi ( x)  f ( xi ) gi ( x)  H e )  
Donde H e es el conjunto de hipótesis erróneas y  un infinitesimal no negativo. Entonces,
considerando estas dos probabilidades, se demuestra que el número de ejemplos necesario
N debe ser: N   1 (ln  1  ln H ) .
El otro problema es sobre el conjunto de hipótesis H , la idea es seleccionar un buen
número de hipótesis y quedarse con aquellas que tienen un mejor comportamiento, esto es
que los errores sean lo más pequeños posibles. Con ellas se define una combinación
ponderada de las mejores hipótesis. Consideremos entonces el conjunto de mejores
hipótesis: H mej  g1 , g 2 ,...g m1 g m  y un conjunto de pesos W  w1, w2 ,...wm 1 wm  , ahora
definimos una nueva función que es combinación lineal de las mejores hipótesis:
m
g ( x)   w j g j
i 1
Esta función es la hipótesis final del aprendizaje.
Para realizar esto se utiliza un método conocido como boosting (propulsión, impulso) y
entre los algoritmo que se emplean para desarrollarlo está AdaBoost. El desarrollo de este
algoritmo y sus diferentes aplicaciones puede verse en: Meir R and G Rätsch G (2003) y
Bühlmann P and Hothorn T(2007). La idea de este método es trabajar ponderando los
ejemplos del conjunto de entrenamiento, mientras mayor sea el peso del ejemplo, mayor
importancia tendrá en el proceso de aprendizaje de una determinada hipótesis, si la
hipótesis clasifica mal algunos ejemplos, entonces estos se ponderan con un peso mayor
que aquellos que han sido bien clasificado, con este nuevo conjunto de entrenamiento
probamos con una segunda hipótesis, y así sucesivamente hasta lograr un error tan pequeño
como se quiera.
Hasta ahora hemos visto someramente lo que trata el aprendizaje supervisado, este es
utilizado en varias herramientas de la IA como veremos más adelante, de los otros tipos de
aprendizaje nos ocuparemos en seguida.
El aprendizaje no supervisado consiste en “aprender de patrones de entrada para lo que no
se especifica los valores de salida” Rusell S; Norvig P (2004) pág. 740. Entre estos
aprendizaje está por ejemplo la obtención de conglomerado usando el algoritmo k medias.
5
Hay un aprendizaje híbrido, que consiste en una combinación del aprendizaje supervisado
con el no supervisado.
Aprendizaje por refuerzo: es el aprendizaje resultante al poder identificar una recompensa
positiva o pérdida por las acciones tomadas, previa la información suministrada por el
entrenador que consiste en indicar si la información dada es o no correcta.
Ahora haremos un breve comentario sobre las herramientas de IA que abordaremos en este
capítulo, estos son como ya indicamos: árboles de decisión, redes neuronales.
Los árboles de decisiones es una estructura jerárquica que permite ordenar repuestas que se
deben dar a un conjunto de preguntas sobre diferentes situaciones para alcanzar una
solución óptima al final del árbol. Los nodos internos del árbol corresponden a los test y las
ramas a las posibles respuestas. El aprendizaje está basado en el concepto de ganancia de
la información y por tanto en la función de entropía que vimos en el capítulo anterior. En
principio, se pueden formular un gran número de árboles de decisión sin embargo, al
implementar un algoritmo “inteligente” se puede reducir este número significativamente.
Esta herramienta se desarrolla mediante el aprendizaje supervisado. Entre los algoritmos
que se emplean está el ID3.
Las redes neuronales (o neurales) son redes compuestas por diferentes capas de neuronas
también llamadas nodos o elementos que emulan las neuronas del cerebro humano con sus
respectivos enlaces, estos enlaces o conexiones tienen asociados cada una de ella un valor o
peso que indica la fuerza de los enlace entre una neurona y otra, es decir el equivalente a la
fuerza sináptica de las neuronas, los algoritmos de aprendizaje permitirán modificar estos
pesos con la finalidad de dar una mejor repuesta al problema que se plantee, el aprendizaje
en este caso, puede clasificarse como aprendizaje supervisado, no supervisado e híbrido.
Las redes neuronales que veremos son; redes de una capa, redes multicapa, redes de
función de base radial y finalmente redes SOM (Mapas auto organizativos). Cada una de
estas redes tiene asociado un algoritmo de aprendizaje.
Como se puede observar, tan sólo se tocaran las herramientas de IA que más se emplean en
la Minería de Datos. Para ampliar lo relativo a las herramientas de IA se recomienda a parte
de lo señalado en la bibliografía consultada, dos revistas de acceso libre en internet: Journal
of Artificial Intelligence Research y Journal of Machine Learning Research.
La primera herramienta que veremos es el árbol de decisión, en el capítulo III hicimos una
breve introducción a los grafos, esta introducción nos permitirá entrar directamente en el
tema junto con el concepto de la función de entropía y sus propiedades vistos en el capítulo
XI. Los primeros trabajos de los arboles de decisión se encuentran en Quilan (1986) y
Minger J (1989). De ahí en adelante abunda la bibliografía de diferentes enfoques y
aplicaciones incluyendo los árboles borrosos.
I.-ÁRBOLES DE DECISIÓN.
Un árbol de decisión es un grafo con un conjunto de nodos, arcos y hojas. La raíz del árbol
representa la entrada de un objeto con un conjunto de categorías generales, que se va
desglosando de acuerdo a un criterio jerárquico en la medida que se pasa de un nodo a otro
hasta llegar a obtener las hojas que son las salidas o decisiones. Su virtud es que con él se
puede tratar problemas complejos de toma de decisiones dividiéndolos en secuencias de
decisiones simples encadenadas que proporciona un esquema razonamiento de fácil
interpretación.
6
La entrada o atributos iniciales pueden ser variables continuas o discretas.
La salida es aprender una función y pueden ser continuas o discretas. En el caso de ser
discretas se habla de árbol de clasificación y en el caso continuo de árbol de regresión.
Un árbol de decisión se caracteriza por:
1. Cada nodo no terminal está etiquetado con un atributo.
2. Cada arco, saliente de un nodo, tiene un valor numérico correspondiente al atributo
asociado al nodo.
3. Cada nodo terminal (hoja) está etiquetado con un conjunto de casos, y cada caso
satisface los valores de todos los atributos que etiquetan el camino desde ese nodo
hasta el nodo inicial.
Los pasos para empezar a construir un árbol de decisión son los siguientes:
 Definición del problema u objeto
 Determinar cuál es el predicado que lo define mejor
 Hacer la lista de atributos que definen el problema.
 Ordenar y depurar el conjunto de atributos.
 Construir el árbol.
Para visualizar estos pasos daremos un ejemplo, que además nos permitirá introducir
nuevos conceptos.
Ejemplo 1.
Supongamos que un gerente de crédito quiere desarrollar una metodología considerando
varios atributos que le permita decidir si da o no un crédito hipotecario a los clientes que lo
soliciten. Entonces, su problema es si puede lograr una metodología que le permita predecir
si a un cliente cualquiera que pida tal préstamo, se le pueda clasificar, de acuerdo a la base
de datos que posee, entre lo que se le aprueba el crédito o no. El predicado que lo define o
meta es dar el crédito, la meta también se llama variable repuesta o variable dependiente.
La lista de atributos que elabora es como sigue:
1.-Riesgo: es la probabilidad de incumplimiento con el crédito, para ello puede observar
cual es el historial del cliente en cuanto al manejo de otros créditos, incluyendo las tarjetas
de crédito. El riesgo se clasifica: como alto (A), medio (M) o bajo (B).
2.-El tipo de cliente: Lo define por el número de los movimientos financiero, si es un
cliente consuetudinario o no.
3.-Ahorro: Consiste en todos los activos en cuenta de ahorro, corriente y otros instrumentos
financieros. Lo clasifica como bajo (B), medio (M) y alto (A).
4.-Monto del crédito solicitado: lo clasifica como bajo (B) y alto (A).
5.-Ingreso personal: Consiste el ingreso promedio mensual de las diferentes fuentes que
posea. Lo clasifica como bajo (B), medio (M) y alto (A).
El árbol que se deriva en este ejemplo, por las características de las variables es: un árbol de
clasificación. Como el aprendizaje del árbol es supervisado daremos un conjunto de
aprendizaje o conjunto de entrenamiento con la salida o respuesta conocida y luego,
construiremos un árbol y estudiaremos la calidad del mismo. No usaremos ningún
algoritmo de los conocidos para este caso tales como ID3, ASSISTANT y C4.5.
7
El conjunto de entrenamiento, que llamaremos E se muestra a continuación:
Ejemplos
X1
X2
X3
X4
X5
X6
X7
X8
X9
X10
X11
X12
Riesgo
A
M
B
M
B
M
A
M
B
A
M
B
Ingreso
A
M
B
A
A
M
B
B
A
A
A
B
Ahorro
A
A
B
M
A
M
B
M
A
B
A
B
Cliente
SI
SI
NO
SI
SI
SI
NO
NO
SI
NO
SI
NO
Monto
A
B
B
B
A
B
A
A
B
A
B
A
Meta
NO
SI
NO
SI
SI
SI
NO
NO
SI
NO
SI
NO
Se puede observar que se utilizaran doce ejemplos, estos están construidos con cinco
atributos con sus respectivas modalidades y al final se tiene la respuesta deseada o meta,
conocido también como atributo objetivo A0 . Para todo ejemplo del conjunto de
entrenamiento hay un valor del atributo objetivo A0 , esto es: Ei  E entonces:
Ei ( A0 )  v j (si o no).
Esto dará como resultado que se tiene un conjunto de valores del atributo meta que
pertenecen al conjunto de entrenamiento: V ( A0 )  E . Se pueden obtener subconjunto Evj de
E que cumplan con la condición V ( A )  v j , siendo A uno de los atributos, esto define
una partición de E , es decir:
E
vj
vj
 y
E
vj
 E . Un ejemplo es: el atributo riesgo
vj
origina tres subconjuntos: Evj (alto ) , Evj (medio) y Evj (bajo) , el primer subconjunto está
formado por los ejemplos: Evj (alto )  X1, X 7 , X10 y de estos ejemplos todos son negativos
para el atributo objetivo o meta Ei ( A0 )  no .
El árbol que se propone o primera hipótesis empieza con raíz el atributo riesgo.
8
Mientras mayor sea el tamaño del conjunto de entrenamiento menor será los errores de
estimar la verdadera función a partir de este conjunto.
Se ha podido usar otro atributo como raíz, de hecho se pueden formular una cantidad
enorme de arboles; para encontrar el árbol que mejor discrimine se han propuestos varios
mecanismos, entre los algoritmos que se han desarrollado para abordar este problema está
el ID3. Un algoritmo buscará como primer atributo aquel que discrimine mejor los
ejemplos del conjunto de aprendizaje y del conjunto test y que además partiendo de este
atributo se requiera pocas ramas dando origen a un árbol lo más pequeño posible,
consistente además, con el conjunto de aprendizaje.
Ia.- SELECCIÓN DEL ORDEN DE LOS ATRIBUTOS.
La construcción de un árbol supone definir en primer lugar la raíz, que corresponde al
atributo que más discrimina, bien sea como variable continua o como categoría, luego los
atributos de los demás nodos, asignándoles los atributos de mayor a menor capacidad
discriminatoria y finalmente las hojas que pueden ser booleanas. Las ramas en este árbol
representan conjunto de decisiones.
La función de entropía se emplea como criterio para seleccionar los atributos o variables
más relevantes en un árbol de decisión. La razón fundamental es que ella es una buena
medida para saber el grado de impureza de cada atributo, o lo que es lo mismo, la dificultad
que tiene cada atributo para hacer una buena discriminación. La entropía toma el valor cero,
si todos los ejemplos pertenecen a la misma clase en el atributo meta, es decir el conjunto
9
de ejemplo es totalmente homogéneo, en este caso se dice que es puro, por tanto bastaría
ese solo atributo para construir el árbol. Entonces, en la medida que la entropía aumenta en
el intervalo 0, log a m es mayor su impureza. La selección se jerarquiza en la medida que
se gana información y por tanto disminuye la incertidumbre. De acuerdo a la teoría de la
información, la cantidad de información de una variable aleatoria X contenida en otra
n
n
variable aleatoria Y es: I y x   H ( x)  H y ( x)  0 , donde: H y ( x)   pij log a ( pij / p. j ) .
i 1 j 1
En nuestro caso, tenemos la función de entropía H ( A0 ) y hay que determinar la ganancia de
información dado un atributo A esto es I A ( A0 ) . Para esto se sigue los siguientes pasos:
1.-Supongamos que tenemos que la variable de clasificación es dicotómica. De un total de
valores booleanos m en el conjunto de ejemplos, p valores son positivos y n valores son
negativos. Entonces la entropía del conjunto de ejemplo con base cualquiera es:
H ( A9 )   p / m log a ( p / m)  n / m log a (n / m)
Si se quiere en bit se sustituye a=2.
En nuestro caso se tiene, que el conjunto de aprendizaje E tiene seis valores afirmativos y
seis negativos para la función objetivo A0 :
H ( A0 )  6 / 12 log a (6 /12)  6 /12 log a (6 / 12)  1bit
El segundo paso es:
2.-Para cada atributo del conjunto de aprendizaje se calcula su función de entropía de
acuerdo a las modalidades que presenta, si hay v modalidades, habrán v funciones de
entropía, cada función se pondera por ( pi  ni ) / m donde pi , ni son los resultados positivos
y negativos asociados a la modalidad i, mi  pi  ni i  1,2...v Por tanto se tiene:
v
v
i 1
i 1
[( pi  ni ) / m]H (i)   P(i)H (i)
H (i)   pi / mi log 2 pi / mi  ni / mi log 2 ni / mi
Ejemplo 2.
En nuestro caso se selecciona como primer atributo o raíz del árbol el riesgo.
El riesgo tiene tres modalidades cada una con dos resultados: positivo o negativo tal como
se muestra en el gráfico y en la siguiente tabla:
10
RIESGO
ALTO
MEDIO
BAJO
TOTAL
SI
1
4
2
NO
P1
P2
H(X)
pondH(X)
2 0,33333333 0,66666667 0,91829583 0,38262326
1
0,8
0,2 0,72192809 0,18048202
2
0,5
0,5
1 0,33333333
0,89643862
H ( ALTO)  1 / 3 log 2 1/ 3  2 / 3 log 2 2 / 3  0,9182
H (MEDIO)  4 / 5 log 2 4 / 5  1/ 5 log 2 1/ 5  0,7219
H ( BAJO )  2 / 4 log 2 2 / 4  2 / 4 log 2 2 / 4  1
v
[( p  n ) / m]H (i)  (3 /12).0,9282  (5 /12).0,7219  (4 /12).1  0,8964
i
i 1
i
3.-Como tercer paso obtenemos la ganancia para cada atributo definida como:
v
I ( A0 )  H ( A0 )   ( pi  ni ) / mH (i)
i 1
En el ejemplo:
v
1  [( pi  ni ) / m]H (i)  1  (3 / 12).0,9282  (5 / 12).0,7219  (4 / 12).1  1  0,8964  0,1035
i 1
Lo que se ha hecho con este atributo se le aplica al resto, y se selecciona como aquel que
será la raíz del árbol, el que tenga mayor ganancia, es decir, reduzca el nivel de
incertidumbre del conjunto de aprendizaje.
Los resultados de cada uno es:
INGRESO
ALTO
MEDIO
BAJO
TOTAL
SI
4
2
0
NO
P1
P2
H(X)
pondH(X)
2 0,66666667 0,33333333 0,91829583 0,45914792
0
1
0
0
0
4
0
1
0
0
0,45914792 0,54085208
H ( ALTO)  4 / 6 log 2 4 / 6  2 / 6 log 2 2 / 6  0,9182
H (MEDIO)  0
H ( BAJO )  0
v
1  [( pi  ni ) / m]H (i)  1  (6 / 12).09182  1  0,4591  0,5408
i 1
AHORRO
SI
NO
P1
P2
H(X)
pondH(X)
11
ALTO
MEDIO
BAJO
TOTAL
4
2
0
1
0,8
0,2 0,72192809 0,30080337
1 0,66666667 0,33333333
0,389975 0,09749375
4
0
1
0
0
0,39829712 0,60170288
H ( ALTO)  4 / 5 log 2 4 / 5  1/ 5 log 2 1/ 5  0,7219
H (MEDIO)  2 / 3log 2 2 / 3  1/ 3 log 2 1/ 3  0,3899
v
1  [( pi  ni ) / m]H (i)  1  (5 / 12).0,7219  (3 / 12).0,7219  1  0,3982  0,6017
i 1
MONTO
ALTO
BAJO
TOTAL
SI
1
5
NO
P1
P2
H(X)
pondH(X)
5 0,16666667 0,83333333 0,65002242 0,32501121
1 0,83333333 0,16666667 0,43082708 0,21541354
0,54042475 0,45957525
v
1  [( pi  ni ) / m]H (i)  1  (6 / 12).0,65  (6 / 12).0,4308  1  0,5402  0,4595
i 1
CLIENTE
SI
NO
TOTAL
SI
6
0
NO
P1
P2
H(X)
pondH(X)
1 0,85714286 0,14285714 0,59167278 0,34514245
5
0
1
0
0
0,34514245 0,65485755
Resumiendo las ganancias por atributos son:
Riesgo: 0,1035; Ingreso: 0,5408; Ahorro: 0,6017; Monto: 0,4595 y Cliente: 0,6548
Por tanto el árbol debe empezar como raíz cliente, luego como nodos: Ahorro, ingreso,
monto y finalmente riesgo.
En cada uno de los nodos a su vez debe estudiarse la entropía y la ganancia en cada arco.
En este caso se toma el valor de la función de entropía en el nodo. En el punto siguiente
veremos uno de los algoritmos propuestos para construir árboles.
Algoritmo ID3.
Elaborar un árbol si contar con un algoritmo puede ser muy engorroso, porque para
discriminar tomando en cuenta varios atributos, puede conducir no a un solo árbol sino a
muchos. Para resolver este problema daremos al menos un algoritmo.
La idea de cualquier algoritmo que permita encontrar un árbol mediante el conjunto de
ejemplos es que el árbol encontrado sea lo suficientemente pequeño y que además sea
consistente con el conjunto de ejemplos y pase la prueba con el conjunto de test. Hay varios
algoritmos tales como el ID3, ASSISTANT y C4.5.Uno de los algoritmo más utilizado es
el ID3 que comprende los siguientes pasos:
 Algoritmo ID3 ( E, A0 , Atributos ) : Entrada: E es el conjunto de entrenamiento,
A0 es el atributo cuyo valor el árbol debe predecir, es decir la meta, finalmente el
conjunto de atributos que puede ser probado por el árbol.
 Salida: Un árbol de decisión.
1) Crear un nodo raíz para el árbol.
12
2) Ei  E , Ei ( A0 )  v j , retornar el árbol de único nodo raíz con rótulo v j
3) Si Atributos   retornar el árbol de único nodo raíz con rótulo vmce( A0 ) (vmce es el
valor más común de V ( A0 )  E )
4) A  el atributo que mejor clasifica a E (esto es, el que tiene mayor ganancia).
5) Raíz  A
6) Por cada valor posible v j V (A) :
6ª.-Agregar una nueva rama debajo de la raíz, correspondiente al test A  v j
6b.-Sea Evj el subconjunto de E que tiene valor v j para A
6c.-Si Evj  
6c1.- Entonces debajo de esta nueva rama agregar un nodo hoja con rótulo
vmce( A0 )
6c2,-Sino debajo de de esta rama colocar el subárbol: ID3( Evj , A0 , Atributos  A)
7) Retornar a la raíz.
Fin función.
Este algoritmo se explica como sigue: el primer paso es crear el nodo raíz, el paso dos
asume que todos los ejemplos de entrenamiento pertenecen a la misma clase con un solo
valor común. Si en el paso tres no existen atributos que se puedan probar se toma como
clasificación el dado por el valor más común. Calculadas las ganancias de los atributos se
selecciona como raíz aquel que tenga mayor ganancia.
Una vez definida la raíz, se evalúa v j V (A) y se agrega una nueva rama debajo de la raíz.
El algoritmo trata el espacio de hipótesis empezando con un árbol vacío, y luego va
considerando hipótesis más complejas, tratando de obtener un árbol que clasifique
adecuadamente los ejemplos del conjunto de entrenamiento o aprendizaje. La medida de
evaluación y guía del algoritmo es la función de ganancia.
El otro algoritmo es el C4.5 que es una versión mejorada del ID3, ambos algoritmos fueron
desarrollados por Ross Quinlan.
Ib.-PODA DEL ARBOL.
La poda de un árbol de decisión, es decir eliminar los atributos y modalidades pocos
2
relevantes se hacen mediante un estadístico  persson
que se distribuye como una con  2 
grado de libertad. La irrelevancia puede darse por una mala definición del atributo y sus
modalidades tal que en el conjunto de aprendizaje sus resultados metas son ambiguos,
también puede darse que el mismo conjunto de aprendizaje esté saturado o sobre ajustado.
La presencia de alguno o todos los aspectos mencionados traen lo que se llama ruido. Esto
trae como consecuencia que el algoritmo de aprendizaje fallará para encontrar un árbol de
decisión que sea consistente con todos los ejemplos del conjunto de aprendizaje. Para esto
se parte de una tabla de contingencia en donde siempre se considera el atributo meta versus
los otros atributos. El conjunto de hipótesis es:
H 0 : pij  pi. p. j H1 : pij  pi. p. j
13
En donde pi. es la distribución marginal del atributo meta, en el caso de ser booleano,
entonces i  1,2 , p. j es la distribución marginal del otro atributo considerado como variable
discriminante. Si la hipótesis nula no se rechaza, entonces el atributo discriminante no es
relevante.
El estadístico es:
n
m
 2   (oij  eij ) 2 / eij
i 1 j 1
Como ya es sabido por lo visto en el capítulo IX de simulación, oij es el valor observado de
la celda (i, j ) y de acuerdo a la hipótesis nula eij  Npi. p. j . Se descartarán los atributos que
2
tengan el menor valor del estadístico  persson
.
Índice de Gini.
Otro índice que permite desechar atributos que no son relevantes es el coeficiente de Gini,
que se define como:
n
m
n
G   pi p j  1   pi2.
i 1 j 1
i 1
Se selecciona aquel atributo que tenga un mayor valor en el coeficiente de Gini. Hay otras
medidas para determinar la impureza de los atributos que son variaciones a las vistas y se
pueden consultar en Mingers; J (1989).
Ic.-ARBOLES DE DECISIÓN BORROSOS.
Hay un tipo especial de árboles de decisión conocido como árboles de decisión borrosos, el
concepto de borrosidad se debe entre otros a Zadeh, la idea consiste en que se define una
función de pertenencia comprendida en el intervalo 0,1 , entonces dado un conjunto S y
dado un elemento s si el valor de la función de pertenecía toma el valor cero, entonces
s  S y cuando toma valor uno entonces s  S , pero cuando toma algún valor distinto a los
extremos entonces la función indica un grado de pertenencia.
En el caso de los arboles borrosos la determinación de las modalidades de los atributos y la
pertenecía de los ejemplos a una determinada modalidad o clasificación quedaran definido
por esta función de pertenecía. Por ejemplo un cliente puede ser a más o menos moroso. En
el árbol anterior no puede existir ambigüedad en la definición de las modalidades ni en
cuanto a la pertenecía de los ejemplos a una determinada clase, esto es porque habrá un
experto que definirá claramente cada modalidad y la pertenecía de los ejemplos del
conjunto de aprendizaje a una determinada clase. En éste por lo contrario se maneja con
cierto grado de incertidumbre.
Para tratar el aprendizaje en este caso se ha propuesto un algoritmo conocido como ID3f+A
Ic.-APLICACIONES.
 Las aplicaciones de los arboles de decisión son de las más variadas, desde un
análisis que puede acompañar a cualquier técnica de estadísticas donde estén
14
involucrados un gran número de atributos con muchas modalidades tal como el
análisis de ecuaciones estructurales. Su utilidad reside en que es posible determinar
la relevancia de cada uno de los atributos y de esta forma filtrar la dimensión de
atributos que servirán para obtener los constructos.
 Otra aplicación es su uso para resolver problemas de decisión tales como se
plantean el modelo discriminante. Compite con el análisis discriminante clásico
porque no parte de una distribución como la normal multivariante, además es
robusto frente a valores atípicos.
 Es frecuente que en las bases de datos existan datos faltantes, el árbol de decisión
puede ser una buena alternativa para resolver este problema.
En el próximo punto trataremos el problema de redes neuronales con aprendizaje
supervisado, no supervisado e híbrido.
II. REDES NEURONALES.
Las redes neuronales son relativamente de vieja data, desde los inicios de los años cuarenta
ya existía la idea de construir un sistema que permitiera emular el comportamiento del
cerebro. El neurofisiólogo McCulloch y el matemático Pitt crearon un modelo abstracto de
neuronas cuyas conductas se explica mediante el álgebra de Boole. En el año 50 Frank
Rosenblatt propuso un modelo computacional para la retina, al que denominó perceptrón.
Desde los años sesenta hasta el inicio de la década de los ochentas hubo un receso en la
investigación en este campo, hasta que en 1982 Hopfield presentó su trabajo sobre
computación neuronal a la Academia Nacional de Ciencias de EEUU, a partir de este
momento se retomó la investigación en redes neuronales, se empezó a sumar los trabajos
sobre retropropagación de autores como Rumelhart, Hinton, David Parker, los mapas auto
organizados de Kohonen, el asociador lineal de J Anderson etc, más recientemente se han
dado aportes donde se combina redes neuronales recurrentes con aprendizaje Bayesiano
Póczos B; L˝orincz A (2009) o el estudio de redes neuronales especiales Larochelle Hugo
et al (2009)5
No ha sido poca las críticas surgidas sobre esta idea, críticas que van desde el punto de vista
filosófico hasta las que provienen de la idea de la limitación intrínseca de la ciencia.
Las redes neuronales es una herramienta de la Inteligencia Artificial, que permite hacer
predicciones y clasificaciones. Sus aplicaciones son de lo más variadas, se emplea para
estimar parámetros de modelos causales y de serie de tiempo no lineales, clasificación y
discriminación, reconocimiento de patrones etc, es una de las herramientas más extensas
dentro de la IA.
Una de sus ventajas es la capacidad de hacer aproximaciones de cualquier función continua
o las derivadas de una función arbitraria, lo que amplía su aplicación para resolver
problemas de optimización6.
Es una herramienta que ha ido madurando gracias al desarrollo algorítmico como
computacional, respaldado por las múltiples aplicaciones exitosas.
5
Larochelle Hugo et al (2009)
Exploring Strategies for Training Deep Neural Networks
Journal of Machine Learning Research 1 (2009) 1-40
6
Anderson J.A (2007) Redes Neuronales. Capítulo 12 paginas 387-416.
15
Hemos dividido las redes neuronales en tres grandes grupos dependiendo del tipo de
aprendizaje. Las redes neuronales con aprendizaje supervisado donde se extraen los
ejemplos de la base de datos con el resultado de la clasificación y redes neuronales no
supervisadas, además la de aprendizaje híbrido que combina los dos aprendizajes
anteriores.
Ahora veremos la comparación entre los términos empleados en el análisis de redes
neuronales y estadística clásica.
Términos neuronales
Entrada
Salida
Datos de aprendizaje
Aprendizaje supervisado
Aprendizaje no supervisado
Arquitectura
Ejemplo, caso
Binario
Errores
Generalización
Pesos
Sesgo
Época
Pesos sinápticos
Entrenamiento, aprendizaje
Ruido
Términos Estadísticos
Variables independientes
Valores predicho
Muestra
Modelos lineales y no lineales (causales)
Conglomerado
Modelo
Observación
Dicotómico
Residuos
Predicción
Estimadores
Intercepto
Iteración
Estimadores
Estimación
Residuo
Siguiendo el asociador lineal de Anderson veremos un ejemplo de aprendizaje tomando en
cuenta conceptos básicos de vectores y matrices, con la intensión de comprender mejor lo
que se espera que haga una red neuronal bajo aprendizaje supervisado. En este ejemplo está
la idea de asociación tal como se supone ocurre a nivel cerebral, al menos de forma muy
simplificada. Una de las asociaciones más sencillas es la asociación del tipo lineal o
función asociativa lineal; con los ejemplos que siguen explicaremos en qué consiste.
Ejemplo 3.
Este ejemplo está construido siguiendo la regla hebbiana7 de producto externo, que consiste
en considerar dos vectores uno de entrada y otro de salida: v y w con una matriz que
representa la fuerza de conexión A y una constante de aprendizaje  tal que:
A  wT v
Para ilustrar, consideremos ahora los siguientes vectores:
7
La regla hebbiana consiste en postular que el cambio en el acoplamiento de pesos sinápticos entre dos
neuronas es alguna función de la actividad presináptica y postsináptica. (ver Anderson(2007) página 165 y
siguientes)
16
v1  1/ 2(1,1,1,1) , v2  1/ 2(1,1,1,1) , w1  (1,0,1,1) y w2  (1,0,0,1)
Los vectores v1 y w1 son los vectores de entrada y salida respectivamente y forman el
conjunto de entrenamiento, los vectores v2 y w2 son vectores de prueba. Se puede
comprobar que los vectores de entrada son ortogonales entre sí, esto es: vi vTj  0; i  j y
además su producto interno: vi viT  1 .
La matriz de conexión A1  w1T v1 con   1 está dada como:
 1 1  1  1
0 0 0 0

A1  1 / 2
 1 1 1 1 


 1 1 1 1 
En el aprendizaje debe darse una función asociativa entre la entrada y la salida, esto es
conocida o aprendida la entrada se debe reproducir la salida. Si el vector v1 de entrada es
aprendido, mediante la matriz A de fuerza sináptica debe reproducirse el vector de salida
w1 . En efecto, el lector puede verificar que se cumple lo siguiente:
1.- A1v1T  w1T
2.-Dado que el sistema no aprendió del vector de entrada v2 , entonces:
A1v2T  w2T
En el primer caso se dio la asociación lineal mientras que en el otro no.
Ejemplo 4.
Para que el vector v2 sea aprendido dando como salda el vector w2 , calculemos la matriz
A2 asociada al vector de entrada v2 y el de salida w2 , en este caso la matriz es A2  w2T v2 ,
se puede comprobar que esta matriz es:
 1 1 1  1
0 0 0 0

A2  1 / 2
0 0 0 0


 1  1  1 1 
De la misma forma que en ejemplo anterior se cumple:
A2v2T  w2T
En el siguiente ejemplo veremos como construir la matriz A tal que sirva para un conjunto
de vectores de entrada y un conjunto de vectores de salida, es decir exista asociaciones
múltiples, con la condición que los vectores de entradas sean ortogonales y además su
producto interno sea igual a la unidad, tal como se asumió en los anteriores ejemplos.
Ejemplo 5.
En los dos ejemplos anteriores, se ilustró como funciona la asociación lineal para cada
vector de entrada. En este ejemplo veremos como puede funcionar las asociaciones
17
múltiples considerando simultáneamente los dos vectores de salida y los dos de entrada
vistos en los ejemplos anteriores.
En primer lugar definimos la suma de las dos matrices:
 1 1  1  1
 1 1 1  1
0 2 0  2 
0 0 0 0
0 0 0 0


  1 / 2
  1 / 2 0 0 0 0 
A  A1  A2  1 / 2
 1 1 1 1 
0 0 0 0
1  1 1 1 






 1 1 1 1 
 1  1  1 1 
0  2 0 2 
Entonces se cumple las siguientes igualdades:
1.- Av1T  w1T
2.- Av2T  w2T
Esto es fácil de comprobar teniendo presente que: vi vTj  0; i  j y vi viT  1 , entonces:
Av1T  A1v1T  A2v2T  w1T v1v1T  w2T v2v1T  w1T
Av2T  A1v2T  A2v2T  w1T v1v2T  w2T v2v2T  w2T
En general, para las asociaciones múltiples tenemos: dado el conjunto de vectores de
entradas vi con la condiciones de: vi vTj  0; i  j y vi viT  1 , y dado el conjunto de vectores
de salida wi con y respectivas matrices Ai  wiT vi . Entonces la matriz de fuerza sináptica
A es:
A   Ai
i
Consideremos un vector de entrada cualquiera vk asociado con un vector de salida wk ,
usaremos la matriz A como la matriz de fuerza sináptica del enlace: dado entonces el vector
de entrada vk , obtendremos el vector de salida wk , en efecto tenemos:
AvkT   Ai vkT   Ai vkT  Ak vkT   wiT vi vkT  wkT vk vkT  wkT
i
ik
ik
El desarrollo teórico que fundamenta estos ejemplos se encuentra ampliamente explicado
en la obra de Anderson (2007) donde se conecta el aprendizaje habbeliano con el
aprendizaje de asociador lineal (Capítulo 6).
IIa.-REDES NEURONALES CON APRENDIZAJE SUPERVISADO.
Hay tres tipos fundamentales de redes neuronales según el aprendizaje: la supervisada, la
no supervisada de Kohonen y la híbrida de función de base radial. Los ejemplos anteriores
mostraron un tipo de aprendizaje supervisado donde se conocía el vector de entrada y el
vector de salida. La supervisada consiste en poseer un patrón de entrada y de salida que
permite hacer clasificaciones o predicciones. ¿Cómo se forman? Las redes están
constituidas por varias capas de neuronas y su aprendizaje consiste en contrastar los
resultados con la experiencia en el caso de las supervisadas, cada capa de neurona se
conecta con la capa siguiente. Cada capa está formada por un grupo de neuronas en
ocasiones inconexas entre sí, cada una de las neuronas recibe señales provenientes de las
neuronas de las capas anteriores mediante conexiones, estas conexiones por analogía a las
18
neuronas del cerebro se llaman sinapsis, a cada una de las conexiones se les asocia un peso
que representan el sentido e intensidad de la conexión entre dos neuronas, si el peso es
positivo entonces representará una conexión excitadora y si es negativo una conexión
inhibidora, la fuerza de la conexión está dada por el valor absoluto del peso. Este tipo de
redes se denominan modelo con percepción multicapa (MLP).
Una red neuronal multicapa se caracteriza fundamentalmente por:
1.-Hay una capa de entrada que recibe toda la información del exterior. En esta capa debe
haber tantas neuronas como variables explicativas.
2.-Una capa o varias que no se conecta con el exterior y se llaman capas ocultas, ellas son
las encargadas de procesar la información. Generalmente se considera suficiente una sola
capa oculta.
3.-Una capa de salida que contiene la respuesta de la red. El número de neuronas en este
caso, son tantas como variables a predecir.
Las redes neuronales en cuanto a la orientación del flujo de la información se pueden
dividir en redes multicapas alimentada hacia delante y redes recurrentes.
Las conexiones entre las neuronas tienen asociados unos pesos, además hay unas funciones
de activación que relacionan la salida de una neurona con su entrada. La posibilidad de
emplearlas en un determinado problema depende de la eficiencia del algoritmo de
aprendizaje que va modificando los pesos.
La determinación del número de capas y la cantidad de neurona de una capa se define de
una forma heurística. Para la mayoría de los problemas es suficiente una sola capa oculta y
en cuanto al número de sus neuronas se recomienda que sea un poco menor al número de
entradas, pero eso no impide que una red pueda tener varias capas ocultas o que tenga más
neuronas en la capa oculta que en la de entrada como es el caso de las redes de base radial.
Para ilustrar lo expuesto veamos dos ejemplos gráficos:
Ejemplo 6.
Este gráfico corresponde a una red neuronal con alimentación hacia delante
(“feedforward”), se puede observar que los nodos de cada capa están conectados con los
nodos de las siguientes capas.
Ejemplo 7.
19
El siguiente gráfico muestra una red neuronal retroalimentada (”feedback”) y además
recurrente, esto es que hay conexión en ambos sentidos entre los nodos de diferentes capas,
además hay conexión entre los nodos de una misma capa, esto significa que la información
dada por una capa oculta puede usarse nuevamente en la capa de entrada.
La estructura de una red neuronal multicapa se muestra en el siguiente gráfico:
Las conexiones de entrada tienen pesos W ji que indican el efecto que produce una unidades
sobre otras, el signo del peso indica si el efecto es excitador o inhibitorio, la efectividad de
la entradas está definida por la fuerza de la conexión que se mide como la suma de los
valores absolutos de los pesos, por tanto sirven para propagar la activación a j de la unidad
j a la unidad i , esta última unidad calcula la suma ponderada de su entrada como:
n
ini  W ji a j (Recordemos los ejemplos 4 y 5) y finalmente se obtiene una función de
j 0
n
activación no lineal de esta suma, esto es: h(ini )  h(W ji a j ) , para producir la salida si ,
j 0
entonces podemos escribir:
n
si  h(ini )  h(W ji a j )
j 0
Esta función puede ser una logística tal como: si  h(ini )  1/(1  exp  ini ) donde
si  0,1 o tener alguna de esta dos formas (Shalkoff Robert (1992)):
20
a) si  1 si ini  0 y si  0 si ini  0
b) si  1 si ini  0 y si  1 si ini  0
Se puede considerar también una función de activación dinámica tal como:
dini (t ) / dt  (1/ i )ini (t )  (1/ i )ini* (t )
Donde ini (t ) corresponde a la definición dada en b), ini* (t ) es la activación más reciente,
 i es la cantidad de tiempo en la unidad i o la función:
si  tan ghh(ini )  (exp ini  exp  ini ) /(exp ini  exp  ini )
Las funciones de activación deben tener como características la posibilidad de indicar
cuando la unidad está activa y cuando inactiva. En el primer caso el valor de la función
debe estar cerca a uno, entonces las entradas son correctas, en el segundo caso, la función
debe estar cercana a cero, es decir las entradas son incorrectas. Además, es deseable que
sean diferenciables, pues esta característica ayuda en el algoritmo de aprendizaje de los
pesos.
Una red neural de una sola capa se caracteriza porque hay unas unidades de entradas y una
capa de salidas. Su estructura es como se muestra a continuación:
aj
Para el caso de un perceptrón la función de salida es: dado los pesos W j entonces:
n
s  in  W j x j , s  1 si
j 0
n
W ji x j  0 y si  0 si
j 0
n
W
j 0
ji
x j  0 para cada salida
Ejemplo 8.
Veamos un ejemplo sencillo de aplicación de las redes neuronales multicapas tomado de
Caballero M.V; Molera, L (2004) y Bonilla María, Marco Paulina e Olmeda Ignacio.
Supongamos que la capa de entrada está formada por cuatro neuronas, tiene una capa oculta
o intermedia formada por cinco neuronas y una capa de salida formada por una sola
neurona.
21
Cada entrada tiene la forma: W ji x j  W j 0 donde los W ji son los pesos asociados a la
conexiones de las neuronas de entradas j a las neuronas i de la capa oculta, W j 0 son pesos
de sesgo, en nuestro ejemplo hay cuatro neuronas de la capa de entrada, por tanto cada
4
neurona i de la capa oculta recibe como información:
 (W
j 1
ji
x j  Wi 0 ) , en cada una de estas
neuronas ocultas se opera una transformación no lineal de la información recibida:
4
hi ( (Wij x j  Wi 0 )) para i  1,2...5 , es decir, una función de activación para cada neurona
i 1
de la capa oculta que irán a la capa de salida. Así como podemos considerar pesos
asociados a las conexiones de entradas, también podemos considerar pesos a las conexiones
de salidas, llamemos estos pesos  i , la información total que llega a la neurona de salida
5
4
i 1
j 1
es:  0   i hi ( (W ji x j  W j 0 )) .
Este ejemplo lo podemos generalizar como sigue: Consideremos que hay p neuronas en la
capa de entrada y q neuronas en la capa oculta, entonces el vector de variables de entradas,
una variable por cada neurona es: X  (1, x1 , x2 ,..x p ) , el vector de peso de entradas
Wi  (W j 0 ,W j1 ,W j 2 ,..W jp ) para cada neurona de la capa oculta i  1,2...q y el vector de pesos
de salida ( 0 ,1 , 2 ,.. q ) entonces, la salida de la red considerando las q neuronas de la
q
capa oculta la definimos como: S ( x; P)  F ( 0   i H ( x;W j )) , donde F es la función de
i 1
activación de la unidad de salida. H representa la transformación no lineal de la suma de
las p funciones lineales de entrada a cada una de las neuronas de la capa oculta. Si la
transformación es una logística entonces H  exp xtW /(1  exp xtW ) y P es el vector de los
pesos W y  .
Algoritmos de aprendizaje.
El proceso de aprendizaje en las redes neuronales supervisadas consiste en ir modificando
los pesos con el objeto de que la red tenga un comportamiento óptimo, esto es, puede usarse
no sólo para los ejemplos suministrados sino para cualquier otro caso, es decir, sea capaz de
generalizar. Básicamente, el aprendizaje consiste que si en el momento t se posee un
conocimiento acumulado en el peso Wt , entonces este conocimiento debe aumentar en el
22
período t  1 , esto es Wt 1  Wt  t , esto suele expresarse como: Wt  Wt  t Los
algoritmos de aprendizaje deben garantizar que estas modificaciones se realicen en el
menor tiempo posible, los más usuales son: el gradiente conjugado, el de retropropagación
y los algoritmos de direcciones descendentes de Widrow y Hoff8. En cualquier caso se
parte del espacio del error, definiendo como error el cuadrado de la diferencia entre la
salida resultante del aprendizaje supervisado y el verdadero valor dado por el ejemplo de
aprendizaje. Cada vez que se corre un ejemplo en la red deben actualizarse los pesos,
cuando se han usado todos los ejemplos del conjunto de aprendizaje se dice que se ha cumplido una
época. La actualización se hace sobre los pesos de tal forma que se minimice el error.
En general el problema es:
1/ 2 min W ji y  si  1 / 2 min W ji et e  1 / 2 min W ji
n
( y  s )
i 1
2
i
Donde y  f (x) es el verdadero valor dado por el ejemplo, y si es la salida obtenida en el
aprendizaje.
Analicemos en primer lugar el caso de una red con una sola capa.
n
1 / 2  y  si / W j  ee / W j  eh( y  W j x j ) / W j  e(in ).x j
j 1
El aprendizaje o actualización de los pesos se obtiene como:
W j  W j  eh(in ).x j
El coeficiente  se conoce como tasa de aprendizaje. Se asume entonces, que cada vez que
se introducen ejemplos de uno en uno a la red se reducirá el error, por tanto hay un
incremento en el aprendizaje. Después de varias corridas con todos los ejemplos (épocas) se
para el procedimiento de acuerdo a un criterio preestablecido relacionado con el tamaño del
error. Obsérvese que el incremento del aprendizaje está en función del error, del gradiente
de la salida con respecto los pesos, el nuevo ejemplo y la tasa de aprendizaje. Por tanto el
aprendizaje en función del valor anterior de peso más el incremento.
Siguiendo a Stuart Russell y Peter Norving (2004) podemos hacer el siguiente esquema del
aprendizaje con una capa:
 Primer paso: entrada de los ejemplos, cada uno es un vector que incluye la salida:
X j  ( x j1 , x j 2 , x j 3....x jn , yi ) , cada perceptrón con pesos W j y una función de
activación h ; repetir.

n
in  W j X j
j 0
n
 Calcular el error e  y  h(W j X j )
j 0

W j  W j  eh(in ).X j
8
La dirección descendente o de descenso se basa en el concepto de gradiente y de derivada direccional. Como
el aprendizaje es supervisado, comparamos el ejemplo con la salida, obteniendo el error. El algoritmo calcula
la derivada del cuadrado del error por cada ejemplo a ser aprendido con respecto a su peso, originando el
vector gradiente. La idea es ajustar todos los pesos para que los cambios se muevan en la dirección de
descenso minimizando la suma de los cuadrados de los errores, esto se logra moviéndose en la dirección del
negativo del gradiente. Ibídem Capítulo 9.
23
 Reiterar hasta que satisfaga algún criterio de convergencia.
En el caso de red neural multicapa se diferencia en que hay varias salidas y hay dos tipos de
pesos, los de entradas W ji y los de salidas  j , además la salida no es un valor sino un vector
q
dado por: S ( x; P)  F ( 0   i H ( x;W j )) ,por otra parte no se conoce el error en la capa
i 1
oculta, por tanto una solución es aplicar lo que se conoce como propagación hacia atrás del
error de la capa de salida a la capa oculta para actualizar los pesos. La salida es el vector
dado por:
q
S ( x; P)  F ( 0   i H ( x;W j ))
i 1
Hay que estimar los pesos de entrada y salida minimizando el error, esto es:
q
1/ 2  y  S / W j  ee / W j  e( y  F ( 0   i H ( x;W j )) / W j
i 1
q
1/ 2  y  S /  j  ee /  j  e( y  F ( 0   i H ( x;W j )) /  j
i 1
El problema es que no se conoce el error de la capa oculta, entonces, debemos ir ajustando
los pesos de entradas, considerando las modificaciones que deben darse en los pesos de
salida. Para ello procedemos de la siguiente manera: una proporción del error en la capa de
salida es responsable la capa oculta dado por: i  h(ini )( yi  si ) para cada elemento del
vector de salida S ( x; P) , pero para actualizar los pesos de entrada desde la capa oculta
consideramos:  j  h(ini )W ji i por tanto la actualización de los pesos de entradas
i
tomará en cuenta la nueva entrada a j  X j ( Ei ) ponderada por el efecto de la proporción
del error de la capa oculta y la tasa de aprendizaje: W ji  W ji  a j i .
Los pasos para el algoritmo de aprendizaje de una red multicapa es:
 Primer paso: Primer paso: entrada de los ejemplos Ei , cada uno es un vector que
incluye la salida: X j  ( x j1 , x j 2 , x j 3....x jn , yi ) ,una red multicapa con L capas , pesos
W ji y una función de activación h . Repetir
 Para cada ejemplo Ei  E hacer:
a) para cada nodo en la capa de entrada hacer: a j  X j ( Ei )
b) para l  2...M hacer: ini  W ji a j ; y i  h(ini )
j
 Para cada nodo i de la capa de salida hacer: i  h(ini )( yi  si )
a) Para l  M  1 a 1 hacer  j  h(ini )W ji i
i
b) Para nodo i en la capa l  1 hacer: W ji  W ji  a j i
Hasta que satisfaga algún criterio de convergencia.
Este algoritmo actualiza los pesos entre la capa oculta y la de la entrada.
24
IIb.-REDES NEURONALES CON FUNCIÓN DE BASE RADIAL (RBN).
Las redes neuronales con función de base radial se diferencian de las anteriormente vistas
por ser el aprendizaje híbrido, es decir tiene una etapa no supervisada y otra supervisada, y
por tener como funciones de activación en la capa oculta a funciones de activación con base
radial no lineales, los parámetros de estas funciones son: localización y dispersión, además
suelen requerir un número mayor de neuronas en la capa ocultas que en las anteriores, la
clasificación se hace a partir de elipses o hiperelipses que parten el espacio de entrada en
dos semiespacio. Se llaman redes neurales de base radial, porque su salida depende de la
distancia del vector de entrada y un vector ya almacenado en la neurona de la capa oculta a
donde llega la entrada, en este caso el vector almacenado suele ser el centro de gravedad de
esta neurona, la expresión general de la salida con la función radial es:
m
si  W j ( xi   j )
j 1
Aquí xi es el vector de entrada y  j es el centro de gravedad (ambos n-dimensionales) de
cada una de las neuronas de las capas ocultas. La función de base radial para cada neurona
oculta puede tener la forma:
 ( xi   j )  exp  xi   j
Además de los centros de gravedad se puede considerar la dispersión (anchura) en cada una
de las neuronas dada por:  j , entonces la función de base radial es:
 ( xi   j )  exp  ( xi   j /  j )
La salida considerando tanto el centro de gravedad como la dispersión es:
si  W j ( xi   j ); si´  W j exp  ( xi   j /  j )
j 1
j 1
En la medida que los valores de un vector de entrada sean cercanos al centro de gravedad
de la neurona la función gaussiana tenderá a uno, en caso contrario, es decir: en la medida
que se alejen la función tenderá a cero; cuando está cercano a uno la neurona se activa.
La única función no es la gaussiana, pueden ser otras no lineales. Consideremos:
Z  xi   j entonces, otras funciones de base radial son:
2
2 
La función multicuadrádita generalizada  (Z )  (Z   ) donde   0;0    1 de esta
se derivan la multicuadrática con   0;  1/ 2 , la mulicuadrática inversa
  0;  1/ 2 ; la multicuadrática generalizada inversa  (Z )  (Z 2   2 ) y finalmente
3
la cúbica:  (Z )  Z .
Estas funciones no lineales, cuando se usa para clasificar originan clases formadas por
aquellos valores que están en las hiperelipses.
En general se puede considerar la siguiente relación:  ( xi   j )  ij entonces, podemos
formular el siguiente sistema de ecuaciones en notación matricial, en su forma más general:
25
11

 21
.

n1
. . 1m   w1   s1 
. . 2 m   .   . 

. . .  .   . 
   
. . nm   wm   sn 
 
 
Podemos escribir la expresión anterior como ij w  s  .Si la matriz ij es cuadrada e
  s.
invertible, entonces tenemos: w  ij
1
Hay varias coincidencias y diferencias entre las redes neuronales multicapas vistas
anteriormente y ésta de función de base radial. En primer lugar ambas utilizan tres tipo de
capas; una de entrada, la intermedia u oculta y la capa de salida, pero la multicapa puede
tener varias capas ocultas, mientras que la de este tipo sólo tiene una. Si la capa de entrada
el número de neurona es muy alto entonces el número de neurona de la capa oculta tiene
que crecer exponencialmente para lograr un buen ajuste. En cuanto el aprendizaje la redes
de función de base radial puede emplear tres tipos: aprendizaje supervisado, no supervisado
e híbrido.
Algoritmo de aprendizaje.
Si se compara con los otros algoritmos de aprendizaje este resulta más rápido.
Dado un vector de entrada x  ( x1, x2 ,...xn ) a un nodo de la capa oculta, y dado el centro de
gravedad del nodo:  j  (1 , 2 ,...n ) . El primer paso consiste en calcular la distancia
euclidiana:
d
(x  
i 1
i
ij
)2  x   j
El valor obtenido, servirá para activar la función radial:  ( x   j )  exp  x   j . Para
obtener esta distancia hay que estimar los centros de gravedad.
Esta red puede trabajarse con algoritmo supervisado, algoritmo no supervisado y algoritmo
híbrido.
El algoritmo híbrido empieza con una fase no supervisada y la segunda parte con una
supervisada. Este algoritmo es el que mostraremos a continuación.
El algoritmo no supervisado determina los centros de gravedad y las dispersiones en las
capas ocultas, para luego pasar a la segunda etapa supervisada donde el entrenamiento
llevará a actualizar los pesos. La fase no supervisada consiste en dado el conjunto de
entrenamiento:
 Se determina los centros de gravedad empleando el algoritmo de clasificación de k
medias.
 Se calculan las desviaciones o amplitudes de las funciones de base radial.
La fase supervisada tiene los siguientes pasos:
 Se asignan los primeros valores iniciales de forma aleatorios a los pesos y umbrales.
26
 Se selecciona un ejemplo dentro del conjunto de aprendizaje y se calcula el error
dada el valor real. W ji  W ji  1e / W ji y ui  ui   2e / ui donde:
e / W ji  ( yi  si )y / W ji y e / ui  ( yi  si )y / ui
 Se toman cada uno de los ejemplos para ir actualizando los nuevos pesos.
Hasta que satisfaga algún criterio de convergencia.
IIc.-REDES NEURONALES CON APRENDIZAJE NO SUPERVISADO.
La redes neuronales con el enfoque de Kohonen, conocidas también como mapa auto
organizativo que sus siglas en ingles son SOM (Self-Organizing Map), se caracterizan por
tener una capa de neuronas de entrada de datos y la capa de salida donde las neuronas están
dispuestas rectangularmente, es decir, en un arreglo de nxm , esta disposición se llama
mapa y pueden ser no sólo arreglos bidimensionales sino también arreglos tridimensionales.
Son redes con aprendizaje no supervisado porque no usan ningún patrón de salida con el
cual hacer el contraste, por eso su utilidad cuando en la práctica los valores de salida se
desconocen. Se asume en estas redes la conectividad total, esto es, todas la información de
entrada está conectada a todas las unidades, además es posible reconocer la vecindad que
consiste en que las neuronas buscan agruparse de acuerdo a los elementos de información
que le sea común, formándose así grupos y de esta forma subcapas especializadas de
acuerdo a la semejanza con los patrones de entrada, la salida correcta no se conoce por
tanto no pueden trabajar bajo un criterio de minimizar el error. Cada neurona de la capa de
entrada representa una variable, estas distribuyen la información a las neuronas de la capa
de salida, estas última se activan de acuerdo al parecido que tengan con la capa de entrada.
En la capa de salida siempre habrá una neurona activada.
Consideremos una entrada secuencial n dimensional, en cada instante t dada por el vector:
x(t )  ( x1 (t ), x2 (t )...xn (t )) como elemento de una muestra seleccionada de la base de datos,
consideremos ahora un modelo de pesos resultante del vector de entrada dado por:
Wi (t )  (wi1 (t ), wi 2 (t ),...wn 2 (t )) de esto se deriva que tenemos una secuencia de modelos que
podemos expresarlo como una secuencia suavizada dada por:
Wi (t  1)  Wi (t )   (t )kci (t )x(t )  W (t )
En la expresión anterior  (t ) es un factor de corrección que disminuye en la medida que se
incrementa t , kci (t ) representa el tipo de núcleo de suavizamiento, donde el subíndice c
indica el modelo que está a menor distancia del vector de entrada,
kci (t )  1 cuando Wi (t )  Wc (t ) . En el aprendizaje, los pesos se van actualizando de acuerdo
a la vecindad de las otras neuronas similares.
27
Algoritmo de aprendizaje.
Podemos resumir el algoritmo de aprendizaje de Kohonen como sigue:
 Paso 1: Obtener un vector n dimensional de pesos Wi (t )  (wi1 (t ), wi 2 (t ),...wn 2 (t )) , un
radio r , un factor  (t ) y una función de vecindad kci (t ) .
 Paso 2: Seleccionar aleatoriamente un vector de entrada: x(t )  ( x1 (t ), x2 (t )...xn (t ))
 La unidad c que maximiza la excitación, es decir donde la distancia entre x(t ) y
Wi (t ) es mínima: min d (t )  x(t )  Wi (t )
 Paso 3: Las funciones de pesos se actualizan mediante la función de vecindad :
Wi (t  1)  Wi (t )   (t )kci (t )x(t )  W (t )
 Paso 4: Detener el algoritmo si se piensa que se ha obtenido un buen resultado
después de realizar varias veces los pasos anteriores, si no, redefinir  (t ) y kci (t ) y
volver al paso 1.
IId.-APLICACIONES DE LAS REDES NEURONALES.
En la práctica para resolver un problema, se suele seleccionar diferentes estructuras de
redes neuronales aplicando diferentes algoritmos de aprendizaje, y se seleccionará como el
mejor aquel que en el caso de un pronóstico o estimación tenga el menor error cuadrático
medio. Se emplea también la correlación entre las observaciones reales el conjunto test y
los obtenidos con el modelo mediante el conjunto de aprendizaje. Las aplicaciones son muy
numerosas, basta consultar la referencia bibliográfica, pero entre algunas aplicaciones que
se destacan están:
 En estudio de series de tiempo que tienen un comportamiento complejo, como
complemento a los cálculos de los estadísticos BDS, dimensión de correlación,
vistos en el capítulo anterior. En series altamente volátiles siempre las predicciones
mediante redes neuronales multicapa con aprendizaje supervisado dan mejores
resultados si se comparan con los obtenidos con los ARIMA, son casi similares o
mejores cuando se compara con modelos ARCH o GARCH. Su capacidad de
predicción en esos casos depende del número de neuronas que forman la capa oculta
y de una buena selección de la transformación no lineal.
 Han mostrado su utilidad en el cálculo del coeficiente de Lyapunov, en el caso de
series económicas cortas y con ruido que permite caracterizar sistemas dinámicos
altamente sensibles a las condiciones iniciales.
 Igualmente resultan útiles en la estimación de los parámetros de modelos no lineales
tanto causales como de serie de tiempo.
 Se emplean para resolver problemas de optimización no lineal.
 Para el caso de datos faltantes, las redes neuronales pueden ser una buena alternativa
a las herramientas clásicas de imputación.
 Las redes neuronales SOM, puede obtener una buena discriminación, tanto o mejor
que los métodos clásicos.
28
III.-USO DE LOS ÁRBOLES DE DECISIÓN Y REDES NEURONALES EN LA
MINERÍA DE DATOS.
En el capítulo IX en donde tratamos los métodos de análisis multivariante hicimos el
comentario de que ese material era útil para su aplicación a la minería de datos,
metodología que actualmente ayuda a la toma de decisiones. En este capítulo, hablamos en
la introducción de que existe una relación entre inteligencia artificial y minería de datos. En
este punto ahondaremos en este último aspecto. Los software de estadística con aplicación
de minería de datos tales como SAS y SPSS tienen entre otros, un módulo de arboles de
decisión y uno de redes neuronales, estos módulos como todos los demás que suelen
ofrecer están identificado mediante un ícono, la tarea para obtener resultados es unir
adecuadamente los diferentes módulos mediante flechas, en la práctica esto implica realizar
un buen números de veces estas conexiones, porque rara veces se obtiene un resultado
aceptable de forma inmediata, las primeras aplicaciones sirven para afinar las siguientes.
Como puede deducirse por lo dicho, la forma de emplear las aplicaciones de minería de
datos es fácil, el problema es de otra naturaleza, es conocer los conceptos subyacentes en
cada una de las aplicaciones, esto es, saber que son, para que sirven, cuando se pueden usar,
que se espera de sus aplicaciones. En el caso de SAS por ejemplo, el módulo de redes
neuronales está construido sobre el concepto de redes neuronales de base radial, esto tiene
cierta implicaciones que un gerente debe estar atento. En general, para un gerente resulta
que estos módulos representados mediante íconos son unas cajas negras, él debe tener
presente sólo conceptos fundamentales de que se tratan estas técnicas y sus aplicaciones tal
como hemos tratado de abordar en este capítulo, incluso él puede por tanto obviar las reglas
algorítmicas de aprendizajes de cada una de las técnicas más no la parte conceptual, por lo
algorítmico no debe tener mayor preocupación. Si tiene claro en qué consisten estas
técnicas, sus aplicaciones y limitaciones puede emplearlas inteligentemente cuando utiliza
la minería de datos como una herramienta que le orientará a la hora de tomar decisiones en
situaciones complejas. Hay que recordar que una de las características de la complejidad es
la existencia de estructuras ocultas, la minería de datos ofrece una metodología para
descubrir estas estructuras subyacentes en las bases de datos. Ejemplos de esto son los
mercados de capitales, el precio de la energía, la inflación, el mercado de ciertas materias
primas, el mercado laboral, el mercado financiero en general etc. En estas situaciones la
minería de datos apoyada en las herramientas de inteligencia artificial y las técnicas
estadísticas (clásicas o bayesianas) aclara el panorama, que facilita la planificación y toma
de decisiones al menos a mediano plazo.
29
BIBLIOGRAFÍA.
Anderson James A (2007)
Redes Neuronales.
AlfaOmega Grupo Editorial. México.
Aprendizaje de árboles de decisión.(2006)
Universidad Nacional de San Luis (UNSL). Departamento de Informática. San Luis.
Argentina. Octubre de 2006
Baxter Jonathan(2000)
A Model of Inductive Bias Learning
Journal of Artificial Intelligence Research 12 (2000) 149–198
Bennett K and Campbell C (2000)
Support Vector Machines: Hype or Hallelujah?
Kigkdd Exploration Vol 2 Issue 2.
Berry Michael, Linoff Gordon. (2000)
Mastering Data Mining-The Art and Customer Relationship Management
John Wiley& Sona,Inc. New York.
Bonilla María, Marco Paulina e Olmeda Ignacio.
Redes neuronales artificiales: predicción de la volatilidad del tipo de cambio de la peseta
Marco: Dpto. Economía Financiera y Matemática, Universitat de València.
Bühlmann P and Hothorn T(2007)
Boosting Algorithms: Regularization, Prediction and Model Fitting.
Statistical Science. Volume 22-4-pag 477-505
Caballero M.V; Molera , L (2004)
Redes Neuronales y Sistemas Dinámicos Complejos.
Universidad de Murcia-España.
Catanzaro B ; Sundaram N and Keutzer K (2008)
Fast Support Vector Machine Training and Classification on Graphics Processors
Cardona Hernández Paola Andrea.(2004)
Aplicación de árboles de decisión en modelos de riesgo crediticio. Revista Colombiana de
Estadística. Volumen 27 No 2. P´ags. 139 a 151. Diciembre 2004
Larochelle Hugo ,Yoshua Bengio Jérôme Louradour Pascal Lamblin (2009)
30
Exploring Strategies for Training Deep Neural Networks
Journal of Machine Learning Research 1 (2009) 1-40
Lewis, Roger J (2000)
An Introduction to Classification and Regression Tree (CART) Análysis.
UCLA-Medical Center.
Meir R and G Rätsch G(2003)
An Introduction to Boosting and Leveraging
http//webee.technion.ac.il Advanced Lectures on Machine Learning
Minger J (1989)
Empirical Comparison of Selection measure for decision tree Induction.
Kluwer Academic Publishers. Boston.
Olmedo, E; Valdera, M.V; Mateos, R; Gimeno, R. (2005)
Utilización de Redes Neuronales en la Caracterización, Modelización y Predicción de
Series Temporales Económicas en un Entorno Complejo.
Universidad Pontificia Comillas –Madrid España.
Póczos B; L˝orincz A (2009)
Identification of Recurrent Neural Networks by Bayesian Interrogation Techniques
Journal of Machine Learning Research 10 (2009) 515-554
Quinlan J. R (1986)
Induction of Decision Tree.
Kluwer Academic Publishers. Boston
Rojas R(1996)
Neural Networks:
Springer-Verlag, Berlin.
Russell Stuart y Norvig Peter.(2004)
Inteligencia Artificial. Un Enfoque Moderno. 2º Edición.
Pearso Prentice Hall- Madrid.
JOHN MINGERS
Shalkoff Robert (1992)
Patter Recognition-Statistical Structural and Neural Approaches.
John Wiley& Sona,Inc. New York.
Ted. Y.W (2004)
Data Mining Techniques Using Decision Tree Model in Materialised Projection and
Selection View.
Mathwarc and Soft. Computing 11 (2004) 56-66
31
32