Seleccionar página

Tom Mitchell, profesor del Machine Learning Department de la School of Computer Science en la Carnegie Mellon University, dice que el campo de Machine Learning busca responder a la siguiente pregunta:

¿cómo podemos construir un ordenador que automáticamente mejore con la experiencia, y cuáles son las leyes fundamentales que gobiernan el proceso de aprendizaje?

Uno de estos procesos de aprendizaje por ejemplo podría ser investigar en los datos médicos históricos para aprender que futuros pacientes responderán mejor a ciertos tratamientos.

Para ser más precisos, dice Tom, decimos que un ordenador aprende con respecto a una tarea particular T, usando una métrica de rendimiento P, del tipo de experiencia E, si la confiabilidad del sistema mejora su rendimiento P en la tarea T, siguiendo la experiencia E.
Dependiendo de como especifiquemos T, P, y E, la tarea de aprendizaje podría ser llamada también “data mining”, autonomous discovery, database updating, programming by example, etc.

Por ejemplo, un software cliente de email (como Outlook) mira cuales emails han sido marcados por el usuario como spam, y cuales no. Basado en este marcaje el software aprende como filtrar el spam mejor.
En este caso la tarea T es clasificar el email como spam o no spam. Ver si los emails están marcados como spam o no spam es la experiencia E, y la métrica de rendimiento P es el número de emails clasificados correctamente como spam divido por el número de emails clasificados correctamente como no spam (nro. emails spam ok/nro. emails no spam ok)

Existen diferentes tipos de algoritmos de aprendizaje, pero los dos principales son los llamados “supervised learning” y “unsupervised learning”. En el primer caso se le enseña al ordenador como hacer algo, mientras que en el segundo el ordenador aprende por sí mismo.

Por ejemplo, suponiendo un serie de datos que correlacionan el coste de apartamentos con la cantidad de metros cuadrados de cada uno de ellos, podemos graficarlos así:

Si tuviéramos un apartamento de 90 m2 para vender y quisiéramos averiguar su coste en base a este gráfico, un algoritmo de machine learning podría trazar una línea recta en el gráfico, y a partir de ella deducir que el coste el apartamento sería de 190000€:

Pero, ¿y si en lugar de poner una línea recta le dijéramos al algoritmo de machine learning que utilice una función cuadrática?

Al hacer nuevamente el cálculo veríamos ahora que el coste del apartamento de 90 m2 sería ahora de aprox. 192000€ (2000€ superior que en el caso de la recta).
Y esto es un ejemplo de “supervised learning”, porque nosotros le damos al algoritmo un conjunto de datos en donde están dadas las respuestas correctas. Y el algoritmo solo trata de producir más de estas respuestas correctas.
Esto también es llamado un problema de regresión, porque continuamente se trata de predecir un valor de salida (el precio).

En el caso de “unsupervised learning”, dado un conjunto de datos sin etiquetar (es decir, sin que se sepa que significa cada dato), se podrían graficar así:

Y en este caso un algoritmo del tipo “unsupervised learning” podría decidir que estos datos pueden ser separados en dos conjuntos diferentes. Motivo por el cual este es también llamado “clustering algorithm”.

Podemos ver el uso de este tipo de algoritmos por ejemplo en Google News, en donde por cada noticia, cuando la expandimos nos muestra una serie de links a otras similares de diferentes fuentes. Dicho de otra manera, el algoritmo agrupa noticias que tratan del mismo asunto, y lo hace por su cuenta, sin que nadie le diga cuales son las correctas, y cuales no.
Otros casos comunes es usarlo para detectar segmentaciones de mercado, analizar redes sociales, detectar genes en microarrays de DNA (en la industria de la biotecnología), etc.

Share This