algo que encontre sobre la web de hoy….
http://vodpod.com/account/save_video?embed=dd&p=&noframe=true&src=account#
Just another WordPress.com weblog
algo que encontre sobre la web de hoy….
http://vodpod.com/account/save_video?embed=dd&p=&noframe=true&src=account#
El cómo realizar el proceso de prueba y error, el cómo tratar los datos de refuerzo para que un sistema aprenda de forma eficiente un comportamiento, deseablemente óptimo son objeto de estudio desde los primeros estudios de programación dinámica, y se han unificado bajo el término de aprendizaje por refuerzo.
El comportamiento inteligente es elemento que se presenta en muchos de los sistemas que estamos acostumbrados a tratar en la vida diaria, desde aparatos muy sencillos como un reloj o aparatos muy complejos como una empresa de ensamblaje de carros. Dentro de este contorno, encontramos carros que funcionan autónomamente, robots que sirven de guía en museo central y otros más. Para dar inteligencia a éstos son definen dos características. En primer lugar, el aprendizaje de una tarea por parte del sistema o agente se realiza mediante un proceso iterativo de prueba y error en el entorno donde el interactúa. En segundo lugar, la forma en que el entorno informa al agente sobre si está haciendo bien o mal la tarea que está aprendiendo se realiza por refuerzo.
Aplicaciones a Juegos.
Una aplicación en aprendizaje por refuerzo es el programa para jugar Damas de Samuel, usando funciones lineales de evaluaciones con pesos usados hasta 16 términos. Este programa es similar a la ecuación de actualización de pesos, pero no se usa recompensa en los estados terminales. Esto hace que puede o no converger y puede aprender a perder. Esto se logra o se puede evitar haciendo que el peso para ganancia de material fuera siempre positivo.
Se ha utilizado en aplicaciones a control de robots. Dentro de las más conocidas es el control del péndulo invertido, que controla la posición x para que se mantenga aproximadamente (θ ≈ π/2), manteniéndose en los límites de la pista. X, θ, ˙X y θ˙ son continuas. El control es de tipo bang–bang.
Esto se lo realizaba balanceando el péndulo por más de una hora después de más de 30 intentos, se corría el sistema hasta que el péndulo se salga de los límites establecidos, entonces se daba un refuerzo negativo a la última “elemento” y se propagaba a la secuencia de “elementos” por las que ha pasado. Pero, los resultados más impresionantes se lograron derivando un algoritmo con teoría de control clásica simulada
Después de un estudio realizado, se presentó una función de evaluación con una sola capa intermedia con 40 nodos. Después de 200 000 juegos de entrenamiento, se noto una considerable mejora en su desempeño logrando así un mejor resultado, añadiendo atributos adicionales a una red con 80 nodos escondidos. El resultado tuvo mayor éxito después de 300 000 juegos de entrenamiento, se notó un mejor desempeño en cuanto a los resultados establecidos anteriormente.
Aplicado a ajedrez, mejora el puntaje de un programa de 1,650 a 2,150 después de 308 juegos en 3 días.
Desarrollos recientes
Uno de los principales problemas que tiene el aprendizaje por refuerzo, es la aplicación a espacios grandes, aunque algunos algoritmos convergen en teoría, en la práctica pueden tomar tiempos inaceptables.
Dentro de las áreas donde se enfocan estos problemas, y que se encuentra con mayor parte podemos mencionar los siguientes aspectos:
• Agregación de estados, en donde se juntan estados “parecidos” y a todos ellos se les asigna el mismo valor, con la finalidad de reducir el espacio de estados establecidos. Podemos citar algunos ejemplos relacionados con este enfoque, como: tile-coding, coarse coding, radial basis functions, Kanerva coding, y soft-state aggregation.
• Otra aplicación es la Abstracción basadas en máquinas de estado finito, en donde el aprendizaje por refuerzo tiene que decidir que máquina utiliza o es la adecuada para el problema, por ejemplo, HAM y PHAM.
• Otra Área donde se aplica es en Definición de jerarquías, donde se divide el espacio en subproblemas, se aprenden nuevas políticas a los espacios de más bajo nivel, estas se usan para resolver problemas de más alto nivel. Algo similar se usa en Macros y Options, en donde se aprenden nuevas políticas de subespacios que se usan para resolver problemas mas grandes y complejos.
• También se busca utilizar representaciones relacionales dentro de aprendizaje por refuerzo, ya sea para representar las funciones de valor y/o para representar los estados y las acciones.
• Últimamente se han utilizado soluciones conocidas como guías o trazas que se usan para aprender más rápidamente las funciones de valor o para aprender un subconjunto de acciones relevantes.
References
[1] Bellman, R.: Dynamic Programming. Princeton University Press, Princeton, NJ. (1957).
[2] Kaelbling, L.P., Littman, M.L., Moore, A. W.: Reinforcement learning: A suvery. Journa of Artificial Intelligence Research 4 (1996).
[3] Puterman, M.L.: Markov Decision Processes / Discrete Stochastic Dynamic Programming. John Wiley & Sins, Inc.m New York, NY. (1994)
[4] Sierra A, Basilio: Aprendizaje Automático: conceptos básicos y avanzados. Pearson, 2006
Los árboles de clasificación (o de decisión), son uno de los métodos de aprendizaje inductivo supervisado no paramétrico más utilizado. Como forma de representación del conocimiento, los árboles de clasificación destacan por su sencillez, su dominio de aplicación abarca diversas áreas como, diagnóstico médico, juegos, predicción meteorológica, control de calidad, para establecer rating, etc.
Si llamamos X al espacio muestral de la variable que deseamos clasificar, es decir, a su conjunto de clases, el objetivo de un árbol es conseguir una partición de dicho espacio.
Un árbol de clasificación obtenido en el proceso de aprendizaje inductivo, puede verse como la estructura resultante de la partición recursiva del espacio de representación a partir del espacio muestral. Esta partición recursiva se traduce en una organización jerárquica del espacio de representación que puede modelarse mediante una estructura de tipo árbol. Cada nodo interior contiene una pregunta sobre un atributo concreto (con un hijo por cada posible respuesta) y cada nodo hoja se refiere a una decisión (clasificación).
La clasificación de patrones se realiza en base a una serie de preguntas sobre los valores de sus atributos, empezado por el nodo raiz y siguiendo el camino determinado por las respuestas a las preguntas de los nodos internos, hasta llegar a un nodo hoja. La etiqueta asignada a esta hoja es la que se asignará al patrón a clasificar.
Casi todos los métodos de construcción de árboles de clasificación utilizan lo que se conoce como “un paso adelante”, esto es, se toma la próxima partición de manera óptima sin optimizar el conjunto del árbol, lo que evita la explosión combinatoria en cuanto al número de futuras decisiones a considerar. Eligiendo la medida justa a optimizar en cada corte, se facilita próximas divisiones.
La metodología que se puede seguir consta de dos pasos:
Aprendizaje: Consiste en la construcción del árbol a partir de un espacio muestral X, es la fase de mayor complejidad, y de ella depende el resultado final.
Clasificación.- Consiste en el etiquetado de un patrón, M, independiente del conjunto de aprendizaje. Se trata de responder a las preguntas asociadas a los nodos interiores utilizando los valores de los atributos del patrón M. Este proceso se repite desde el nodo raíz hasta alcanzar una hoja, siguiendo el camino impuesto por el resultado de cada evaluación.
Ejemplo
El problema consiste en decidir si decidir si vamos a jugar al tenis, tomando en cuenta las condiciones atmosféricas siguientes: nubosidad, humedad y viento.
Considerando un conjunto de aprendizaje en el que los patrones están compuestos por atributos categóricos y la clase cierta asociada es Si o No, algunos de estos prototipos serán:
{Nubosidad=despejado, Humedad = normal, viento=débil, Si}
{Nubosidad=despejado, Humedad = alta, viento=débil, No}
{Nubosidad=nublado, Humedad = normal, viento=débil, Si}
{Nubosidad=lluvioso, Humedad = normal, viento=débil, No}
|
|
La regla para la decisión de jugar sería:
(Nubosidad=despejado Humedad = normal)
(Nubosidad=nublado)
(Nubosidad=lluvioso
viento=débil)
Y la siguiente regla para la decisión de no jugar:
(Nubosidad=despejado Humedad = alta)
(Nubosidad=lluvioso
viento=fuerte)
Para el árbol presentado, sólo se requiere la evaluación de un máximo de dos atributos para llegar a tomar una decisión.
Ventajas y desventajas de los árboles de clasificación
Ventajas:
El conocimiento que se extraiga el árbol se puede representar de forma inteligible mediante reglas de decisión
Los árboles de clasificación obedecen a un criterio estadístico, puesto que para llegar a la solución establece distribuciones de probabilidad sobre las categorías de los individuos en cada uno de sus nodos.
La regla se asignación son simples y legibles, por tanto la interpretación de resultados es directa e intuitiva.
Es robusta frente a datos atípicos u observaciones mal etiquetadas.
Es válida sea cual fuera la naturaleza de las variables explicativas: continuas, binarias nominales u ordinales.
Es una técnica no parámetrica que tiene en cuenta las interacciones que pueden existir entre los datos.
Es computacionalmente rápido.
Desventajas:
En la elección de un modelo existe una cantidad muy limitada
Dificultad para elegir el árbol óptimo.
Las reglas de asignación son bastantes sensibles a pequeñas perturbaciones en los datos (inestabilidad).
Ausencia de una función global de las variables y como consecuencia pérdida de la representación geométrica.
Los árboles de clasificación requieren un gran número de datos para asegurarse que la cantidad de las observaciones de los nodos hoja es significativa.
Referencias:
[1] CLASIFICACIÓN USANDO ÁRBOLES DE DECISIÓN, http://math.uprm.edu/~edgar/treeDaza.html
[2] Árboles de Clasificación, Introducción, http://iie.fing.edu.uy/ense/asign/recpat/material/tema3_00-01/node26.html
[3] Análisis de Cluster y Arboles de Clasificación, http://www.google.com.ec/search?hl=es&client=firefox-a&rls=org.mozilla:es-ES:official&hs=QWo&pwst=1&q=arboles+de+calsificaci%C3%B3n&start=10&sa=N
[4]Rating de pequeñas y medianas empresas mediante
árboles de clasificación. http://www.uclm.es/ab/fcee/D_trabajos/2-2000-2.pdf
Benoit Mandelbrot, matemático francés definio la palabra fractal en los 70, derivándola del adjetivo latín “fractus”, significa romper, crear fragmentos irregulares.
Estructura
Los fractales pueden ser generados por un proceso recursivo o iterativo, capaz de producir estructuras auto-similares a cualquier escala de observación. Los fractales son estructuras geométricas irregulares y de detalle infinito. Muchas estructuras naturales son de tipo fractal.
Atributos de un fractal
- Es demasiado irregular para ser descrito en términos geométricos tradicionales.
- Posee detalle a cualquier escala de observación.
- Es auto-similar (exacta o estadísticamente).
- Su dimensión de Hausdorff-Besicovitch es estrictamente mayor que su dimensión topológica.
- Se define mediante un simple algoritmo recursivo.
Tipos de fractales
Un fractal natural es un elemento de la naturaleza que puede ser descrito mediante la geometría fractal.
Las nubes, las montañas, el sistema circulatorio, las lineas costeras o los copos de nieve son fractales naturales.
Las propiedades atribuidas a los objetos fractales ideales, como el detalle infinito, tienen límites en el mundo natural.
Ramas donde se aplica
Matemática, Computación, Medicina, Geografia, Arte (Pintura), Industria Textil, En Arquitectura, Música
Software para fractales
Fractal Explorer es un generador de imágenes, mediante una transformación matemática (efecto fractal), se logra imágenes hermosas y misteriosas, siendo de entretenimiento para gente curiosa. Modifica y mejora las imágenes y permite la aplicación de efectos especiales, tanto que el resultado parece a veces psicodélico
Fractal Explorer 2.02 descarga
Corrida de una imagen en Fractal Explorer
Chaoscope (0.2.1) descarga
Corrida de una imagen en Chaoscope
Realizado por Diego Danilo Guaman L.
A veces uno se pregunta como escanear los virus que el antivirus instalado en mi maquina no me los detecta…….
Aqui dejo algunos links para que prueben escaneando a su maquina y maten a esos vichos fastidiosos………..
Es te algoritmo genera la siguiente ecuación recursiva.
Xi+I = (aXi² + bXi + c) mod (m)
i= 0,1,2,3,4,…. N
Las condiciones que deben cumplir los parámetros m, a, b, y c para alcanzar un periodo máximo un periodo máximo de N = m son
m = 2^g
a debe ser un número par
c debe ser un número impar
g debe ser entero
(b-1) mod 4 = 1
El periodo máximo de vida de N = m
Para la generación de los psaleatorios se generado el siguiente algoritmo
/*
Name: Algoritmo Congruencial Cuadrático
Author: Marvin Agila, Diego Guamán L.
Description: genera números aleatorios de acuerdo a un límite ingresado por teclado
Date: 12/05/08 20:05
Copyright:
*/
#include <iostream.h>
#include <stdlib.h>
int main()
{
int a,b,c,m,l,i,n;
double mm, mm2,xi;
cout<<” Ingrese un número par para el valor de a “<<endl; cin>>a;
cout<<” Ingrese un número impar para el valor de c “<<endl; cin>>c;
cout<<” Ingrese un número calquiera para el valor de b “<<endl; cin>>b;
cout<<” Ingrese un valor para Xi “<<endl; cin>>xi;
cout<<” Ingrese un valor cuadrático para m “<<endl; cin>>m;
cout<<” Ingrese un límite de números aleatorios a generar l “<<endl; cin>>l;
for (i=1;i<=l;i++)
{
mm = ((a*xi*xi+b*xi+c)/m );
n = ((a*xi*xi+b*xi+c)/m );
mm2=((mm-n)*m);
cout<<” valor pseudoslestorio : “<<mm2<<endl;
xi=mm2;
}
system(”PAUSE”);
return 0;
}
Ejemplo
Generar suficientes números enteros hasta alcanzar el periodo de vida, considerando los siguientes parámetros.
Xo= 13
m = 8
a = 26
b = 27
c = 27
El periodo de vida es M = n = 8 como se comprobara con la corrida del algoritmo.
Números generados.
X1 = 4
X2 = 7
X3 = 2
X4 = 1
X5 = 0
X6 = 3
X7 = 6
X8 = 5
X9 = 4