Machine learning en la física II: aprendizaje supervisado

En entradas anteriores os hablamos en qué consiste el machine learning y en qué subgrupos se divide. En el artículo de hoy os hablaremos de uno de estos subgrupos, el aprendizaje supervisado.

Aprendizaje supervisado

El aprendizaje supervisado es un tipo de machine learning donde los algoritmos utilizan una base de datos para resolver una tarea, como clasificar entre diferentes resultados o ajustar datos a una curva. La base de datos que utiliza debe poseer una serie de parámetros que se correspondan con un valor y. El algoritmo de aprendizaje supervisado será capaz de extraer la información de los datos para predecir que valor de y correspondería a una serie de datos con la que no se haya entrenado.

Por ejemplo, en el caso de la regresión nosotros podemos tener una serie de datos x que sean las características de diferentes casas para las que conozcamos el valor de sus precios en el mercado. Nuestro sistema tendrá que resolver un algoritmo que nos dé los valores correctos de los precios de las casas para esa base de datos, por ejemplo ajustando los parámetros a una tendencia lineal. Una vez que  tengamos este ajuste, seremos capaces de obtener el valor aproximado de los precios de otras casas para las que solo conozcamos sus características.

Ajuste del precio de las casas según el tamaño. Este cálculo se puede realizar con muchas más variables, como la localización o la antigüedad de la vivienda.

Por ejemplo, para una tendencia lineal, nuestro algoritmo debe arrojarnos como resultado una expresión similar a:

Para obtener este ajuste, nuestro sistema debe aprender a identificar qué características son las que más influyen en el precio, identificar el número de parámetros necesarios para ajustar esos datos, sin pasarse ni quedarse corto, y obtener el ajuste que minimice las diferencias entre nuestra función y los datos que poseemos. Para esto último, nuestro sistema debe comparar nuestras predicciones con los resultados y de nuestra base de datos mediante una función denominada función de coste. Esta función dependerá del problema que queramos resolver. Para el caso de el ajuste de regresión, la expresión será la siguiente:

Donde h es el valor del ajuste de nuestro algoritmo, m el número de ejemplos de nuestra base de datos, e y el valor correcto al que debemos ajustarnos.

La función de coste tiene como característica principal que es mínima cuando el valor de h(x) es igual al de y. Por ello lo que nuestro algoritmo debe conseguir es el valor de los parámetros θ tales que el valor de la función J sea mínimo. Para hacer lo anterior necesitamos calcular el valor de las derivadas de la función.

Una vez que las hayamos obtenido, ajustamos los parámetros de nuestro ajuste θ restándole un paso en la dirección hacia el mínimo. Para ello, le restamos una cierta cantidad α que marca el tamaño de desplazamiento por el valor de la derivada. De esta forma vamos dando pasitos en la dirección del gradiente hasta converger al mínimo. Este proceso se denomina gradient descend.

Debemos tener en cuenta que el sistema converge si no existen mínimos locales de la función de coste en los que el sistema pueda quedar atrapado (cosa que no ocurre en este ejemplo) y si el parámetro α no es demasiado grande como para que nos saltemos el mínimo y diverja la solución.

Repetimos este cálculo de minimización hasta que alcancemos una cierta tolerancia para la diferencia entre los resultados y los valores de  nuestra base de datos. Con este resultado ya podremos predecir otros valores para nuevos datos que no se encontraran en nuestra base de datos original. Solo tendremos que introducir los valores de x necesarios y obtendremos el valor de y correspondiente.

Este cálculo se puede realizar para mayor número de parámetros θ, aunque debemos tener cuidado en no sobreajustar nuestros datos de forma que nuestra predicción se ajuste perfectamente a nuestra base de datos pero falle en predecir el valor correcto de nuevos datos. Existen diversos métodos de optimización y regularización de los parámetros, pero no hablaremos de ellos en este artículo.

Para finalizar, es importante conocer que este cálculo se puede realizar para resolver otros problemas como la clasificación minimizando también la función de coste para ese caso específico. En el caso de la clasificación binaria esta función será:

En artículos posteriores hablaremos de otros mecanismos de aprendizaje supervisado, como la optimización y las redes neuronales.

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies
A %d blogueros les gusta esto: