Con esta entrada, quiero iniciar un ciclo de ejercicios de Machine Learning donde pondremos ejemplos de distintos algoritmos de Inteligencia artificial, y lo haremos con JAVASCRIPT.
Efectivamente, una de las librer铆as m谩s potentes de Machine Learning TensorFlow, ya se puede escribir con Javascript, y ejecutarlos directamente desde el navegador.
En este caso, vamos con la regresi贸n lineal. Hay millones de art铆culos definiendo y explicando la regresi贸n lineal. Personalmente recomiendo esta entrada en Medium
Empezamos con la regresi贸n.
Vamos a entrenar un modelo que sea capaz de aprender la funci贸n y = 3x-3.
Matem谩ticamente hablado podemos coger 8 valores de x, clacular el valor de y, y dibujar la funci贸n:

La gr谩fica confirma que es una funci贸n lineal, ya que podemos trazar una l铆nea sobre la cual se dibujan los puntos.
Ahora vamos a construir un modelo que sea capaz de dandole cualquier valor de x, me diga cuanto vale la y.
CONFIGURANDO MI ENTORNO DE TENSORFLOW CON JAVASCRIPT
Hay varias maneras de usar tensorflow en Javascript, como es la primera vez, lo haremos de la manera mas sencilla.
Creamos una simple p谩gina .html:

Ahora vamos a a帽adir tensorflow, a帽adiendo un script en el head:

y as铆 ya tenemos instalado tensorflow en nuestra web. Sencillo verdad???.
Ahora vamos configurar nuestro modelo.
Creamos una funci贸n as铆ncrona ya que su ejecuci贸n demorar谩 y no queremos interrumpir el funcionamiento de la p谩gina. Usaremos un modelo sequential que es uno de los m谩s sencillos:

Luego a帽adimos solo una capa densa y en este caso la m谩s simple:

De esta manera, ya tenemos nuestro modelo configurado. Ahora tenemos que compilarlo para configurar como ser谩 el aprendizaje de este modelo:

En este caso hemos configurado la funci贸n de p茅rdida como el ERROR CUADR脕TICO MEDIO que es uno de los m谩s utilizados en regresiones lineales, y el optimizador lo que nos configura es la metodolog铆a utilizada para el aprendizaje, en este caso usaremos el DESCENSO DEL GRADIENTE ESTOC脕STICO (SGD).
Ahora ya s铆 vamos a definir los valores para x (entradas) y para y (salidas).

Una vez definidos los datos a entrenador, procedemos al entrenamiento del modelo:

En este caso al m茅todo fit le pasamos tres par谩metros, los datos de entrada, los datos de salida, y cuantas iteraciones quiero que haga (cuantas veces repito el entrenamiento).
Y para finalizar, una vez tengo el modelo entrenado solamente me falta comprobar que funciona.
Vamos a hacer que nuestro modelo prediga que valor obtendr铆amos para un valor de entrada 43.:

En este caso en la variable predict se almacenar谩 el resultado que ha dado mi modelo, que deber铆a ser 43*3-3 = 126.
Solo nos
falta sacar ese valor, por ejemplo con un alert().


Como vemos se aproxima muchisimo al valor real esperado.
Y esto es todo. Hemos construido un modelo de regresi贸n lineal con tensorflow y javascript, ya solo queda dar rienda suelta a la imaginaci贸n, obtener datos de un archivo y buscar que modelo se ajusta m谩s.
En las pr贸ximas entradas abordaremos m谩s de este tema!!
Chao!!