Clasificación de especies de cactus.

Soy Alejandro Cassis, estudiante de quinto semestre de la carrera en ISC. Estuve familiarizándome con Machine Learning desde hace un año, y realicé dos proyectos hasta el semestre pasado: Una red bayesiana (de juguete) para calcular la probabilidad de tener ciertas enfermedades basándose en ciertas evidencias, y un clasificador de señas del lenguaje de sordomudos.

Durante el verano de este año, tuve la suerte de tomar un curso serio de Machine Learning en ITMO, una gran universidad Rusa. Gracias a esta oportunidad, pude aprender con profundidad muchos de los conceptos, algoritmos y técnicas utilizados en este área, y este semestre estoy involucrado en un proyecto mucho más retador.

Me dieron acceso a un conjunto de datos con información de microsatélites de una variedad de especies de cactus endémicos a ciertas zonas de México. El dataset está dividido en especies, y a la vez, de la región de dónde se recolectó el perfil genético de dicho individuo.

De forma muy general, la tarea que tengo es poder construir un clasificador. El mismo debe permitir identificar a qué zona pertenece cierto cactus, a partir de su perfil genotípico. En pocas palabras, poder determinar de forma automática a qué región pertenece un cactus de cierta especie.

Las dificultades en esta tarea son múltiples. Algunas de ellas son:

  1. Se cuenta con -relativamente- pocos datos de ciertas especies, lo cual dificulta el entrenamiento y uso de ciertos algoritmos de clasificación.
  2. La investigación parte de la hipótesis de que individuos de la misma especie se diferencian según la zona a la que pertenecen. Esto no es necesariamente cierto, y por lo tanto es posible que no se obtenga los resultados esperados.
  3. Al trabajar junto a un experto en el área, es necesario que los resultados que obtenga sean interpretables. Esto es particularmente difícil cuando se utilizan algunos algoritmos (Redes Neuronales, por ejemplo).

Además de estas, existen otras dificultades de carácter más técnico. Por ejemplo, que el modelo generalice bien con nuevas observaciones y no este “overfitted”. 

Durante las próximas semanas, estaré haciendo una serie de posts en este blog explicando conceptos básicos de Machine Learning, y en particular, del Aprendizaje Supervisado. A partir de estas ideas, explicaré algunos algoritmos sencillos con los que experimenté. Particularmente, Regresión Logística, y Naive Bayes.

Finalmente, con este contexto podré explicar con más detalle el algoritmo que me está brindando los mejores resultados: Random Forests.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s