Mostrando las entradas con la etiqueta Académico. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Académico. Mostrar todas las entradas

viernes, septiembre 14, 2012

Escrito en galaxias

No he tenido mucha oportunidad de procastinación en mucho tiempo. Sin embargo, me permití visitar un sitio, en el cuál pude construír (en menos de un minuto) esta imágen basada en imágenes de galaxias reales.

Espero les guste :P






PD: si tienen ganas de conocer sobre galaxias, ayudar a clasificarlas (apoyando un proyecto de investigación!) y revisar el zoológico de galaxias... entren al blog del Zoológico de Galaxias (Galaxy Zoo) en esta dirección: http://blog.galaxyzoo.org/

(el sitio web del proyecto es http://www.galaxyzoo.org/)

viernes, agosto 26, 2011

Efectos del ChiKung en Resistencia Eléctrica en Puntos de Acupuntura



En esta oportunidad voy a compartir las ideas que estoy barajando sobre una investigación que estoy haciendo dentro de mi aprendizaje del ChiKung y el Taichichuan , pero ya utilizando el método científico. Puedo hacerlo debido a que me voy a basar en el hecho, ya estudiado por la ciencia moderna, de que en los puntos de acupuntura la resistencia eléctrica de la piel es significativamente menor que en la piel que les rodea. Adicionalmente, la medicina bioenergética (ver trabajos del Dr. Nogueira en españa) ya ha diseñado métodos de diagnóstico bioenergéticos basados en mediciones de esa resistencia dérmica, pudiendo levantar gráficas en donde para cada meridiano se grafica la resistencia, indicando niveles de "chi" o energía "biológica" (que ya es un término usado en la ciencia moderna en muchos trabajos).

Formulando y planteando el problema
En la actualidad, se practica en escuelas de artes marciales, ChiKung y meditación de varias partes del mundo, el método de ChiKung enseñado por el Maestro Su Yu Chang denominado “ChiKung de los 5 Elementos”. Este método consiste en la realización de secuencias de movimientos, acompañados de técnicas de respiración, meditación y visualización específicas, con el objetivo de actuar sobre la bioenergética de los órganos y vísceras considerados por la Medicina Tradicional China y Bioenergética como los asociados a los 5 movimientos del Wu Xing, a saber: corazón e intestino delgado para el movimiento llamado “fuego”, bazo/páncreas y estómago para el movimiento llamado “tierra”, pulmón e intestino grueso para el movimiento llamado “metal”, riñón y vejiga para el movimiento llamado “agua”, y, por último, hígado y vesícula biliar para el movimiento “madera” (Nogueira, 2006). Para cada movimiento del Wu Xing, el método ofrece tres (3) técnicas, denominadas “yin”, “yang” y “tiao”, que van dirigidas a “sedar”, “tonificar” y “equilibrar”, respectivamente, la bioenergética de los órganos y vísceras del movimiento del Wu Xing específico. En la actualidad no ha habido estudios que hayan verificado que las técnicas generan cambios en la bioenergética. Cada técnica podría o no tener efectos sobre la bioenergética de cada grupo de órganos y vísceras. Por otro lado, en caso de que las técnicas produjeran algún efecto de este tipo, es necesario determinar si los efectos son coherentes con los propósitos que en el método se le dan a las técnicas, para que el “ChiKung de los Cinco Elementos” pueda ser considerado un técnica de la medicina complementaria válida. Dada la complejidad de las técnicas del método de “ChiKung de los Cinco Elementos”, también es relevante conocer la diferencia entre los efectos que producen las técnicas mencionadas en la bioenergética de individuos considerados como expertos de este método de ChiKung, y los efectos que producen en la bioenergética de individuos sin entrenamiento previo en dicho método. En caso de que hubiese efectos de relevancia terapéutica, se necesita saber si la efectividad del método es dependiente de la experticia del paciente.

Así, el problema sería:

¿Qué efectos producen cada una de las 15 técnicas del método de ChiKung de los Cinco Elementos, realizadas con diferentes niveles de experticia respecto a como los ha enseñado el Maestro Su Yu Chang, sobre la bioenergética de los órganos y vísceras consideradas por la Medicina Bioenergética como las asociadas a los 5 movimientos del Wu Xing, en seres humanos venezolanos, sin patologías específicas?
El objetivo General, y los Objetivos Específicos podrían ser:

  1. Objetivo General
    Describir los efectos que tiene cada una de las 15 técnicas del método de ChiKung de los Cinco Elementos, realizadas con diferentes niveles de experticia respecto a como los ha enseñado el Maestro Su Yu Chang, sobre la bioenergética de los órganos y vísceras consideradas por la Medicina Bioenergética como las asociadas a los 5 movimientos del Wu Xing, en seres humanos venezolanos, sin patologías específicas.
  2. Objetivos específicos
    1. Determinar si cada una de las técnicas del ChiKung de los Cinco Elementos tiene algún efecto sobre la bioenergética de los órganos y vísceras considerados por la Medicina Bioenergética como las asociadas a los cinco (5) movimientos del Wu Xing mediante bio-mediciones.
    2. Comparar los efectos de cada técnica sobre la bioenergética, con los efectos que, según el método del ChiKung de los Cinco Elementos, deberían producirse en los órganos y vísceras.
    3. Comparar los efectos que producen las técnicas del ChiKung de los Cinco Elementos en la bioenergética de los órganos y vísceras de un ejecutante entrenado, con los producidos en un ejecutante sin entrenamiento previo en el método.
    4. Analizar la evolución en el tiempo de los cambios producidos en la bioenergética de los órganos y vísceras por las técnicas de ChiKung de los Cinco Elementos.
Bueno, hasta aquí por ahora. Necesitaré voluntarios, para ponerlos a hacer ChiKung y medirlos con el apartico ;)

miércoles, junio 09, 2010

Foro en la USB sobre la Ley de Educación Universitaria

En el foro que se llevó a cabo en la USB sobre la Ley de Educación Universitaria, se expusieron ideas interesantes. Sin ánimos de replicar acá el artículo que publicó El Papel de la Bolívar, (y que si por alguna razón no logran visualizar, también está en mi site académico), les coloco a continuación algunas de esas ideas (son cita de la reseña de El Papel de la Bolívar):
  • José Miguel Cortázar, ex director del Observatorio Nacional de Ciencia, Tecnología e Innovación, expuso su preocupación por el “creciente proceso de banalización del conocimiento”, asegurando que no hay revolución que sobreviva a ello.
  • Benjamín Scharifker, también invitado al foro, señaló numerosas debilidades de la ley que a su juicio, “ponen en riesgo la calidad de la educación, la capacidad de generar conocimientos, de innovar y desarrollar la ciencia, palabras que no se mencionan en ninguno de los textos aprobados por la Asamblea Nacional, durante su primera y segunda discusión”.  
  • [También opinó que]  “la LOE establece límites a la libertad y a la responsabilidad de los diferentes actores, exacerba el rentismo y preeminencia al Estado en todas las decisiones importantes”. 
  • Respecto a la separación de los "tipos de educación", en el artículo 25, explicó (...): se reduce cualquier otra opción como los títulos de técnico. 
  • Cortázar opinó (...) tratando de explicar el por qué las pruebas de admisión universitarias no constituyen la mejor opción y limitan las oportunidades de los venezolanos que poseen la voluntad de esforzarse aún cuando no tienen un alto nivel de educación. No obstante, no cree que eliminado el termómetro,- la prueba de admisión-, se elimine la enfermedad, “hay un proceso que hay que atender tanto en los sistemas públicos como privados y debemos trabajar en ello”, aunque considera “que la conflictividad política a desviado el sistema de apoyo”.
  • [Respecto al] artículo 35, referido a la gratuidad de la enseñanza, así como el sistema de ingreso, coincidió con Scharifker, al considerar que “estamos en limbo”.  
  • Según ambos foristas, una medida sensata consiste en establecer ponderaciones en el voto que emita cada sector de la comunidad. “Si el 70 por ciento de la nómina es jubilada, no tienen sentido que los jubilados voten con igual peso que los activos, que son quienes viven, conocen y padecen día a día, los problemas de la institución”, dijo Cortázar. No obstante, Scharifker agregó que si se desea la paridad del voto, pues también debería promoverse la misma paridad en los deberes y condiciones entre todos los miembros.
  • Para Scharifker, la LOE evidencia una asimetría que sólo puede catalogar de populista. “Me gustaría declararme en desobediencia con respecto a esa ley y otras, pero no lo recomiendo. Violar la ley no produce beneficios, pienso que debemos trabajar para mejorarla y exigir que sea debatida (…), porque aún cuando la Loe es legal, definitivamente no es legítima”.
Es importante hacer notar que el ministro de Educación Universitaria, Edgardo Ramírez, fue invitado a esta cita, así como los viceministros de ese despacho, sin embargo, no asistieron al encuentro.   

lunes, junio 01, 2009

Charla este jueves, sobre el uso de Investigación de Operaciones para la Inteligencia Artificial

Como puede leerse en mi blog "gallo", o académico... (como uds. prefieran!), este jueves estaré dictando una charla sobre lo que dice arriba en el título. :o)

Los que estén interesados pueden contactarme vía comentarios a este post o al post de mi otro blog.

miércoles, mayo 21, 2008

los seres humanos no son números

Hoy actualicé mi blog "nerd" o "gallo"... o como me gusta decir a mi: Académico.... El llamado Optimization & Machine Learning.

Escribí dos artículos, ambos relacionados con un concurso muy interesante que organizó la gente de Netflix (una empresa que ofrece un servicio de recomendación de películas, basándose en cuáles películas le gustan a uno).

En uno les remito un post de un blog en el que se discute si para resolver el problema planteado en el concurso se necesita más información, o mejores algoritmos, o si se necesitan ambas cosas.

En otro, les cuento sobre el éxito inesperado que tuvo una persona que viene del área de psicología (y no de ingeniería, computación o estadística), quien supo como tomar en cuenta el "factor humano" en el modelo matemático.... teniendo, con su primer "intento", un éxito mucho mayor que los que habían tenido el resto de los concursantes hasta ese momento. La premisa importante fue que los seres humanos no son números, y por lo tanto no tenemos que restringirnos a tratarlos como tales.

Los invito a ver ambos posts,.... espero los encuenten interesantes!

lunes, marzo 24, 2008

Más sobre Investigación de Operaciones y Máquinas de Aprendizaje

Recientemente culminé la publicación de un artículo que tenía varios días redactando, para mi blog gallo, sobre un tema muy "de moda": el de las Máquinas de Vectores de Soporte.

Básicamente es una explicación de cómo este famoso método de reconocimiento de patrones, esencialmente no es otra cosa que tener un puñado de caraotas, otro de garbanzos, y lanzarlos en lugares distintos de una mesa. Luego, tomar dos pitillos, y buscar separar ambos regueros de granos (de forma que a un lado de los pitillos queden granos sólo de un tipo).

Las reglas?
  • Los pitillos deben estar paralelos
  • Los pitillos deben estar lo más lejos que se pueda, uno del otro, tocando los granos más cercanos que haya en el lado de ese pitillo.
Una vez se logra esto, justo en la mitad de los pitillos se coloca una cabilla.

Y listo! esa superficie separadora (la cabilla), fue generada siguiendo la estrategia básica de las SVM (Support Vector Machines), y los "vectores de soporte" no eran otra cosa que las caraotas que tocaban a uno de los pitillos, y los garbanzos que tocaban al otro pitillo, justo cuando conseguimos colocarlos de la mejor forma. Esos son los granos que dan soporte a la "máquina" de reconocimiento de patrones.

¿qué tal?

Si... en verdad tengo que reconocer que el lenguaje del artículo que usé en el otro blog no es taaan sencillo, pero en verdad lo intenté... vale?

Ese fue un post llamado ¿Qué son las SVM?

Luego también compartí con los gallos que me leen (jaja) unos links interesantes, y unas notas que publicó un profesor de I.O. que están bastante buenas.

En fin, saludos a todos!

- Un O3 un poco engripado.

jueves, marzo 13, 2008

Material de Cursos "Abiertos" del M.I.T

Cómo están?

Hoy escribo brevemente para comentarles que descubrí ésta página del M.I.T. Tiene material de diferentes tipos:
  • notas de clase
  • lecturas recomendadas
  • videos
  • láminas
  • ejercicios
  • casos de estudio
  • problemarios
  • soluciones a problemas
  • trabajos hechos por los alumnos
  • ... etc
...de muchos de los cursos dictados en ese instituto. Este material lo hay de cursos tanto de nivel de pregrado como postgrado (Master y PhD).

Obviamente no es conducente a título, y no necesariamente incluyen toda la información que se proporciona a los alumnos inscritos, pero realmente me parece algo que puede ayudarnos, ya sea que queramos:
  • mantenernos actualizados,
  • planificar que cursos vamos a tomar (en cualquier universidad),
  • profundizar conocimientos,
  • preparar un curso,
  • o por simple curiosidad intelectual.... (frikismo, pues! jajajaja)
Aquí hay cursos de TODO tipo.... desde Teoría Avanzada de Complejidad Computacional, hasta La Mujer Asiática en Sudamérica,... No dejen de revisar... que hay mucho más que PDFs con fórmulas raras.... porque... aunque no lo crean: en el MIT hay humanidades.

Espero les guste!

lunes, octubre 29, 2007

¡Tengo un papá Bloguero!

¿Qué les parece? mi papá abrió un blog, para publicar sus ideas, reflexiones y quién sabe que otra cosa pueda venir...

En general me imagino que tendrá temáticas asociadas a:
  • Gerencia
  • Teoría Compleja (trialéctica)
  • Filosofía
  • Educación
  • Análisis de la crisis social
  • Jueces de Paz

Los invito a visitarlo en http://ediciones-om.blogspot.com
No se cuán seguido lo actualizará. Lo que se, es que lo que verán allí, es material puesto por una persona genuinamente decidida a dejar aunque sea un granito de arena para ayudar a la sana evolución y desarrollo de esta sociedad.

Breve reseña de su perfil:
  • Ingeniero Electricista (en USA) (antes fue técnico medio en el Caballero Mejías).
  • Magister en Ingeniería Eléctrica (en USA).
  • Magister en Desarrollo Social, Mención Educación (Universidad de Carabobo).
  • Doctorado en Educación (USA).
  • Profesor de materias de Ingeniería, Planificación, Educación, Gerencia y Desarrollo Social.
  • Escritor de varios libros (no todos publicados) en esos mismos temas.
  • Tiene unos cuantos poemas en su haber, aunque sin publicar
  • Ha ocupado importantes cargos en empresas venezolanas y en la administración pública, así como en instituciones académicas.
  • Tiene un excelente sentido del humor, cierta incomodidad con las tecnologías web, y es un adicto al trabajo.
  • Fue atleta campeón nacional de voleibol en sus años mozos.
Eso creo que puede dar una idea del personaje que he tenido el honor de tener como padre. ;o)

viernes, octubre 05, 2007

¿Productista? ¿o Ing° de Producción?

Y bueno... uno puede preguntarse ¿cuál es la diferencia entre un Ing° de Producción y un "Productista"?

Antes de empezar a hablar de la diferencia entre ambas cosas, empezaré por decir qué es la carrera de Ing° de Producción, que en otros países se denomina Ing° de Manufactura, y es bastante parecida a la Ing° Industrial. Básicamente estudia los Sistemas de Producción, y con herramientas científicas realiza análisis para su diseño o mejora. Para ello toma en cuenta aspectos mixtos eléctricos, civiles, logísticos, humanos, químicos, mecánicos y económicos (entre otros que puedan ser pertinentes al caso). Son problemas en los que no hay "ecuaciones clásicas", sino que uno tiene que modelar cada caso (por cierto, le recomiendo a los que dicen por ahí que la Ing° de Producción no debería llamarse "ingeniería", que reflexionen sobre el concepto de "ingeniería").

Ahora.. ¿qué hay con la "diferencia" entre ambos modos de referirse a estos profesionales?. Pues nada... la diferencia "la inventé yo". Ya verán por qué:

En la Universidad Simón Bolívar, los "productistas" somos (inclúyome por los momentos) la "comidilla" de los estudiantes de las demás ingenierías... ¡y ni se diga de los que estudian ciencias puras!. Para los ingenieros de otras especialidades, la experiencia de compartir alguna clase con "productistas" les permiten formarse una idea bastante mala de estos presuntos engendros ególatras y superficiales. Sumado a estas conclusiones sacadas en base a experiencia propia, se suman las opiniones que son "lugar común" en los pasillos de la casa de estudios, ya casi instituídos como "chistes de gallegos". Para los los estudiantes de ciencias puras, ya de por sí los ingenieros son bastante "ignorantes"... o "piratas",... o "empíricos"... Resumiendo: son tipos "poco serios" y/o poco interesados en verdaderamente conocer la realidad y sus principios, y más interesados en ganar dinero con una planta industrial o una empresa. Los "productistas" vendrían a ser, dentro de esa familia de tecnócratas avaros, lo peor de lo peor.

Ahora... tengamos en claro que un "Ing° de Producción" (en contraposición a un "Productista") es, a grosso modo....
  • Un profesional de esta área que no se está creyendo que va a salir de la universidad directo a mandar a los demás ingenieros.
  • Un profesional de esta área, que entiende que, como ingeniero, no puede ser (al menos no debería) al mismo tiempo "analista" y "decisor".
  • Un profesional de esta área que no le huye a todas las materias, esperando graduarse rápido para tener el titulito, sino que tiene genuina curiosidad por la mayoría de las materias del pénsum. No se toma esos contenidos como una serie de "cincos" (la máxima nota es 5) a sacar.. y olvida un tema una vez aprobada la materia, sino que los considera como el principio del camino del aprendizaje.
  • Un profesional que busca la relación entre las diferentes áreas del conocimiento abarcadas por el pensum, y no uno que simplemente las olvida porque sabe que no se la preguntarán de nuevo más nunca.
  • Un profesional que no se cree mejor que los demás por el hecho de haber tenido mejor rendimiento académico (pues con seguridad lo tuvo, pues para entrar se hace una selección bastante árdua basada en notas y en resultado de la prueba de admisión).

Esa es la diferencia entre un "productista" (ser con un mar de ego de un centímetro de profunidad), y un Ing° de Producción (un ser que analiza con metodología ingenieril, crítica, humilde y sistémica, un sistema mixto, como lo es todo sistema de producción).

En fin, ya creo que les he dado una buena idea de la diferencia entre ambos términos, y por lo tanto, para cerrar capítulo (o "entrada".. jeje), me permito compartir un comentario de uno de mis grandes amigos y colegas (es Ing° de Producción), Luis C., a propósito de una encuesta que le ha hecho llenar la coordinación de la carrera para que de su opinión sobre el programa de estudios:
He notado con preocupación muchos cambios realizados en el pénsum, y creo que se están eliminando muchas materias importantes, a mi parecer, por simple capricho de alumnos y ex-alumnos. Soy del pensamiento de que toda materia es importante para la formación profesional, pues a mi parecer es tan importante la experiencia de cursarla como el contenido que se pueda estudiar en ellas.
Materias como "Accionamientos Eléctricos", que la utilizaremos muy pocos en nuestro desarrollo profesional, me han enseñado más gracias al profesor que me hizo la vida imposible y los problemas que me tenían estudiando hasta la madrugada, que por haberme enseñado la diferencia entre corriente DC y AC.
La verdadera ingeniería tiene sus bases en la resolución de problemas, y no sólo de aspecto industrial, sino en general, y creo que al tratar de ayudar al estudiante facilitándole su camino al eliminarle materias inútiles o que "no les servirán para nada", están es haciéndoles da`no por no permitirles darse golpes contra una pared; el día de mañana llegarán a una oficina y no podrán resolver un problema porque "esto no tiene que ver con mi carrera", o "esto me lo eliminaron del pénsum", y será en el mundo real que se darán cuenta de que no todo es sencillo, no todo tiene lógica, no todo es "como me lo enseñaron en la Simón".
Les ruego que por favor recapaciten ante lo que les he escrito, pues si me tomé la molestia de casi llenar una página con mis recomendaciones es porque me he visto afectado por dichos motivos, y porque me preocupa que las futuras cohortes salgan cada vez más como gerentes "wannabe" que como verdaderos "hacetodo" que resuelvan problemas.
Muchas Gracias.

jueves, junio 07, 2007

¿Friki Total?





Bueno, a petición de varios amigos míos... jeje... Frikis todos ellos, por cierto! ;oD he hecho el famoso "Friki-Test".

Mi puntuación fue de 28.8%, que según la escala me califica de "Friki Total".... jejejeje.

¿Qué tal?

Mi consuelo en este momento es que un pana (épale Gorka!) Friki me dice que me ganó por 2,2%... LOL!

PD: Para más información sobre el tema, acudir al artículo de Wikipedia... Créanme, en la Hispánica no lo encontrarán... XoD

martes, noviembre 14, 2006

AVISO: ¡Busco Problemas!

Jeje... :o) este es un avisto que coloqué en la página de "inicio" de mi página web:

"Si usted tiene un problema en el que necesite el reconocimiento de patrones binarios (un caso real), comuníquese conmigo, pues estoy en la búsqueda de proyectos para implementación del algoritmo que hemos diseñado el Prof.García Palomares y yo. Entre los problemas que pueden resolverse con estas técnicas están:
  • Reconocimiento de patrones ópticos
  • Reconocimiento de patrones de voz
  • Categorización de textos
  • Análisis de perfiles de expresión genética
  • Análisis de ADN y proteínas diversas
  • Control robótico
  • Problemas financieros
  • Detección de patrones de fraude
  • Análisis para la asignación de créditos
  • Problemas de exploración petrolera
  • Diagnosis y prognosis (diagnóstico temprano) médica"

miércoles, octubre 04, 2006

Construyendo sistemas "grandes"

Muchos sistemas grandes son terriblemente difíciles de mantener o expandir. Seamos francos: con códigos de 60 líneas hechos por nosotros.. muchas veces ni siquiera sabemos entenderlos a las 2 semanas!

Uno se pregunta, tratando de cambiar algo en una variable o instrucción "¿será que afecto muchas cosas si cambio esto acá?".. el miedo a que venga una larga ronda de debugging nunca es mal justificado! entonces uno dice algo como: yo no se que es lo que hacía esta línea, pero recuerdo que era importante! :oS

En general la moraleja es escribir funciones/procedimientos no muy complejas, con pocas variables o parámetros, evitar el uso de variables globales en lo posible, y siempre pensar en una rutina que automatice la prueba de que cada función/procedimiento trabaja de manera correcta.

Las recomendaciones usuales en programación siguen aplicando, como la típica de evitar los "go-to" y ponerle nombres elocuentes a las variables! (¿por qué usar ct_1 como variable, cuando puedes ponerle costo_total?).

Sobre estas y otras cosas, pueden leer en este artículo que me hizo reflexionar sobre muchos errores que he cometido! jejeje

Lenguajes de para implementar Máquinas de Aprendizaje

En el blog "Machine Learning", que reviso no con poca frecuencia, apareció un artículo que pone en el tapete el problema de escoger un lenguaje de programación para implementar algoritmos de "máquinas de aprendizaje".

Las conclusiones a las que llego yo, coinciden con las de "mikiobraun" quien comentó esa entrada al blog:

  • Es obvio que no existe EL lenguaje de programación para aplicaciones de máquinas de aprendizaje.
  • Si deseas desarrollar nuevos algoritmos y jugar con ellos para ver cómo se comporta el asunto, e ir descubriendo los problemas que pueden presentarse, está bien usar un lenguaje de "alto nivel" como por ejemplo el MatLAB. En general te permite llevar a la práctica tus ideas, visualizar el comportamiento y comprobar tus suposiciones.
  • Si deseas aplicar un algoritmo ya "maduro" en un caso real, se hacen importantes el desempeño y la escalabilidad. Posiblemente haya requerimientos como lograr la interfaz o comunicación con alguna base de datos, o algún sistema pre-existente.
  • En general, en eficiencia de desempeño, casi nada le gana a un buen código en C.
  • Los lenguajes de alto nivel como MatLAB, tienen un desempeño que depende mucho del uso de funcionalidades ya implementadas. En MatLAB, por ejemplo, multiplicar una matriz usando las funcionalidades de MatLAB en lugar de un par de ciclos "for", es extremadamente más eficiente.
  • Se ha dicho que el 90% del tiempo se invierte en el 10% del código... en los casos en que parte del código se ponga muy difícil, puede implementarse en C, y luego llamarse desde el lenguaje de "alto nivel".

Un saludo!

lunes, septiembre 25, 2006

Palabras clave del artículo

Jeje... Tuve una petición un tanto extraña (digo... no me la esperaba!). Me pidieron que contara acá cuáles son las palabras clave del artículo.

Bueno, aquí van:

:o)

Nota: eso de "palabras clave" lo que significa es que esos son los principales temas tocados en el artículo... por cierto... las páginas a las que puse a apuntar los links en cada palabra clave, tienen su versión en español... pueden verla buscando el link "spanish" en la barra lateral izquierda.

¡Paper terminado y mandado!

¡Finalmente! el dichoso "paper" que hemos estado redactando el profesor Ubaldo G. García Palomares y yo desde Febrero de 2005 ha sido completado y enviado al Journal of Machine Learning Research del MIT!!

Lo envió el profesor Palomares anoche cerca de la medianoche.

Ustedes dirán que por qué nos tardamos tanto? Bueno, sucede que implementando el algoritmo con el que estamos compitiendo, encontramos problemas numéricos que la competencia no había reportado.. jeje, y que tuvimos que aprender a sobrellevar. También tuve implementaciones tortuosas en Matlab (auto-aprendiendo), y además todo esto mientras trabajo 8 horas en Inelectra lo hace realmente cuesta arriba. También tuvimos problemas porque como el algoritmo de la competencia no es muy eficiente en el sentido de que usa un montononón de variables, el pobre Matlab se "echó tres" y tuve que ingeniármelas con una versión de evaluación de un software pago que se me vencía cada cierta cantidad de días, independientemente de que lo usara o no... :oS

Bueno, comparto el "Título" y "Resumen" con ustedes.. aunque se que no les va a divertir mucho... jeje:

Linear Programming Models to train a binary classifier
Abstract
This paper presents a new approach for training learning machines as binary classifiers by means of Linear programming (LP) models. It constructs a Generalized Neural Network (GNN) composed by basic learning machines (BLMs) that classify individuals from one class. Advantages and ways to overcome common pitfalls are indicated. A new criterion to determine the number of BLMs is given: it is based on the level of mis-classification allowed by the net on both the training and the testing sets. Ideas to use higher dimensional Kernel functions and promising numerical results on the Pima Indians diabetes database are given.

Y bueno.. la "mala" noticia es que tenemos que esperar a mediados de Diciembre para saber si la aceptan en esa revista o no... :oS aunque el profesor dice que eso es un tiempo de respuesta "Rápido" en comparación con otras revisas... Qué les parece?????

Bueno, ahora los dejo, porque terminó mi break en la oficina y debo seguir laborando... jeje

Nos vemos en el espejo!

viernes, agosto 18, 2006

Mi propia mini-introducción a lo que son las Redes Neurales Artificiales

Me decidí a publicar en este blog algunas ideas que tengo en el tema de las Redes Neurales Artificiales. Sin embargo esto que escribiré en estos días no va a tener mucho sentido para quienes no han tenido la oportunidad de entrar en el tema de las redes neurales artificiales (que llamaré RNAs), entre otras cosas. Por eso, voy a contarles poco a poco, para que mis palabras sean menos extrañas. ¡Espero no ser muy aburrido!

Empecemos con las RNAs:

Una RNA no es más que una función matemática. Es decir, es una expresión matemática que recibe unos datos de entrada (se realizan ciertas operaciones con esas datos, utilizando unos parámetros (valores conocidos que forman parte de la RNA), y al final la función arroja un resultado. Lo que tienen estas funciones, que hace que se les pueda llamar RNAs, es que son funciones compuestas por muchas funciones muy sencillas, que se originaron, en principio, tomando como inspiración el modelo de una neurona (biológica).

Una neurona artificial (cada una de las funciones sencillas) tiene (a su vez) unos datos de entrada, que son la metáfora de los "estímulos" que recibe una neurona biológica. Tiene también una función de activación, que define la decisión que ella toma, en términos de "exitarse" o "inhibirse". Si los estímulos "satisfacen" a la neurona (dependiendo de "lo que diga" la función de activación), la salida o respuesta de la neurona es "grande", representando la "excitación" de la misma. De igual forma, si los estímulos no son los que "satisfacen" a la neurona, la salida de la neurona es baja, representando la inhibición.

Ejemplo: la función escalón..

Esta es una que dice: "¡Okey! si lo que me das (entrada) es positivo, te responderé con un 1 (respuesta o salida). Si lo que me das es negativo, entonces me pongo pichirre y mi respuesta será nula, es decir 0". La salida = 1 sería la de excitación, y la otra la de inhibición. La función de activación sería la "función escalón", centrada en "0". Eso de centrada en "0" se refiere a que el valor con el que se está comparando la entrada (preguntándose si es mayor o menor) es "0". Ese valor con el que se compara, también es llamado "umbral".

Ahora veamos: si lo que sale de una nerona, lo consideramos la entrada a otra neurona con otra función de activación (no necesariamente igual), entonces, en términos de "redes", la estaríamos "conectando". Varias neuronas artificiales "conectadas" entre si, conforman una RNA. Si se representa cada neurona como un círculo, y cada conexión como una flecha, podemos ver por qué se le llama Red.

(Cuando publiqué esta entrada inicialmente, escribí esto: "Todavía no se como mostrar una imágen acá en mi blog, así que pido disculpas por no ponerles un ejemplo... pero visiten wikipedia buscando Neural Networks y podrán ver la imágen que quería poner", tras lo cual mi estimada "Aire" me dejó su comentario dándome luces sobre el procedimiento para publicar!)

En la Figura 1 les he colocado una imágen que saqué de wikipedia, que representa una RNA.

Figura 1: Red Neural Artificial de Realimentación Positiva y una sola capa oculta

Volviendo al tema, nótese que:
* hay muchas "arquitecturas" de como se conectan entre si las neuronas en una RNA
* hay muchas funciones de activación, aparte del escalón.

Variando estas dos características, se obtienen RNAs que pueden servir para muchas cosas. Entre otras cosas, satisfacen necesidades no atendidas por el cómputo clásico:
* Su respuesta depende de operaciones paralelas que pueden ser masivas,
* También pueden hacerse las operaciones de forma distribuída,
* Pueden aprender,
* Pueden generalizar,
* Pueden adaptarse,
* Pueden procesar información inherente a un contexto,
* Pueden tolerar fallas (que alguna de las neuronas no funcione),
* Si se implementan en forma electrónica, son dispositivos de bajo consumo de energía.

En general, es curioso que aunque no son redes neurales biológicas, las RNAs son parecidas a estas en que, a diferencia de las arquitecturas de cómputo clásicas, su desempeño es EXCELENTE en problemas "perceptivos" como el reconocimiento de patrones. Normalmente estas tareas resultan tremendamente complicadas para los métodos clásicos.

Se usan para:
* Clasificación de patrones (reconocimiento de caracteres, voz, imágenes de rostros, tipos de ondas, tipos de células sanguíneas, inspección de circuitos electrónicos impresos en tarjetas, diagnosis médica),
* Agrupamiento (un algoritmo "explora" las similitudes entre diferentes patrones, y define grupos en los que los coloca,... esto es usado en data mining, compresión de información y análisis exploratorio de datos, por ejemplo...),
* Aproximación de Funciones (se tienen un conjunto de puntos que pertenecen a una superficie "desconocida", que la RNA puede aproximar, tratando de pasar cerca de todos los puntos conocidos, y de poder predecir el comportamiento de la función en regiones donde no se conocen puntos),
* Pronósticos (esto es muy importante y necesario para la toma de decisiones en la gestión empresarial, la ciencia y la ingeniería... ejemplos conocidos comprenden la predicción de valores en la bolsa y la predicción de condiciones meteorológicas),
* Optimización (hay problemas en matemáticas, ingeniería, estadística, medicina, economía... que se pueden entender como si fueran problemas de optimización. La idea es encontrar una solución que satisfaga unas ciertas restricciones de tal forma que una cierta función, llamada "objetivo", sea maximizada o minimizada),
* Control (hay problemas en los que un sistema que cambia en el tiempo, necesita ser estabilizado.. por ejemplo, las vibraciones de un avión ante turbulencias, que deben ser compensadas por los alerones para que la cabina esté estable... Si ese fuese el caso de control a ser resuelto, una RNA puede comportarse de forma adaptativa para controlar de manera correcta el movimiento de los alerones),

¡Como puede verse, sus aplicaciones son MUY variadas!

Antes de despedirme en esta entrada (porque ya debería ponerme a trabajar), quería aclararles que una RNA se adapta, aprende, generaliza, etc... ¡pero no lo hace sola! ... por lo general. Lo que se hace, cuando el entrenamiento es supervisado (vean wikipedia si quieren saber lo que eso significa con más detalle), es lo siguiente:
1) Darle a la red una entrada, para la que sabemos qué es lo que quisiéramos que la RNA respondiera (es decir, la salida deseada es conocida),
2) Vemos qué fue lo que respondió la RNA, y lo comparamos con lo que debería haber respondido
3) En base a cuánto se equivocó la RNA, se ajustan las características de la RNA, para que la próxima vez no se equivoque con ese ejemplo. Los parámetos son cambiados de forma apropiada, como "castigo" por haber dado una respuesta equivocada.

Luego de que una RNA ha aprendido lo suficiente como para responder bien ante una buena cantidad de ejemplos, se fijan los parámetros, y la RNA está lista para ser utilizada.

Es como cuando un niño muy pequeño no sabe la diferencia entre un caballo y un perro. El señala a un caballo y trata de adivinar.. "¡papá! ¿ese es un perro?", y el padre responderá, si la conjetura es errada, "¡no hijo! ese es un caballo bebé".. y así sucesivamente. El niño irá construyéndose su propia idea de lo que es un caballo y lo que lo diferencia de un perro, y eventualmente (luego de preguntar unas 20 veces, a lo mejor) no necesitará preguntar más a su papá si el caballo hay que sacarlo a pasear, o si puede montarse en el perro grande que está por allá... ;o)

Esto es muy distinto a que uno le diga al niño que vea si tiene pezuñas o uñas, dientes planos o "puyúos", si hace "Guau" o "gruñe", y que en base a eso sepa si es caballo o perro. Acá el niño no estaría aprendiendo en base a experiencias propias, sino que tendría una listita de cosas que resumen la experiencia del papá.

Bueno.. esto es todo por ahora...

Espero al menos haber dejado la sensación de que las RNAs son algo muy útil e interesante, y que realmente no es más que una forma de armar funciones matemáticas, y no una tecnología demasiado complicada y ajena a lo que pudimos aprender en la escuela secundaria.

Si desean conocer mi trabajo de grado en el área de RNAs, pueden visitar mi página web y allí descargar el pdf.

¡Nos vemos en el espejo!

Orestes

PD: son bienvenidos los comentarios, sugerencias, críticas constructivas, preguntas... ehh.. ¡y los comentarios jocosos también!

Nube de Fragmentos (¿ah?)

código de cloud tags