Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the all-in-one-seo-pack domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /home/planetac/desa.planetachatbot.com/wp-includes/functions.php on line 6114

Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the wp-user-avatar domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /home/planetac/desa.planetachatbot.com/wp-includes/functions.php on line 6114
Regresión lineal simple en #TensorFlow, aprendizaje automático para mayor exactitud - Planeta Chatbot

En estadística tradicional un modelo muy utilizado para predicciones, es el modelo de regresión lineal (siempre y cuando los valores permitan aplicar este modelo). En este artículo vamos a tratar de responder una pregunta simple. ¿Un modelo de aprendizaje automático nos puede ayudar a mejorar nuestro estudio de variables? Si necesitas más información sobre el concepto de #RegresionLineal puede utilizar este link.

Para nuestro estudio, vamos a analizar la edad de niños en el eje “x” y la altura de los mismos en el eje “y”. Intentaremos predecir la altura de los niños basada en su edad, aplicando regresión lineal simple. Fuente académica de este ejemplo link.

Vamos a utilizar una planilla de cálculo para explorar la situación de manera tradicional:

Ahora bien, ¿Qué buscamos con el modelo de aprendizaje automático?. Recordando nuestra función lineal nos enfocaremos en W y b.

y = Wx +b

Buscamos aprender para encontrar los mejores W y b. En la siguiente figura se muestra la representación simple de una regresión lineal.

Los mejores W y b reducen el costo. Como muestra la siguiente figura, este será el objetivo del modelo de aprendizaje automático.

Con el menor costo, mejoramos radicalmente la predicción, representado en la siguiente figura:

Nuestro pregunta central: “Vamos a preguntar por la edad y buscamos la respuesta de la altura mejor ajustada”

Llegó la hora de crear el modelo en #TensorFlow:

Valores de ingreso:

X = tf.placeholder(tf.float32, [m, n])
Y = tf.placeholder(tf.float32, [m, 1])

Peso y la perturbación aleatoria:

W = tf.Variable(tf.zeros([n, 1], dtype=np.float32), name=”weight”)
b = tf.Variable(tf.zeros([1], dtype=np.float32), name=”bias”)

Modelo Lineal:

with tf.name_scope(“linear_Wx_b”) as scope:
activation = tf.add(tf.matmul(X, W), b)

Costo:

with tf.name_scope(“cost”) as scope:

cost = tf.reduce_sum(tf.square(activation — Y)) / (2 * m)

tf.summary.scalar(“cost”, cost)

Entrenamiento:

with tf.name_scope(“train”) as scope:

optimizer = tf.train.GradientDescentOptimizer(0.07).minimize(cost)

Luego generamos la sesión en #TensorFlow:

with tf.Session() as sess:

merged = tf.summary.merge_all()

writer = tf.summary.FileWriter(log_file, sess.graph)

init = tf.global_variables_initializer()

sess.run(init)

for step in range(1500):

result, _ = sess.run([merged, optimizer], feed_dict={X: np.asarray(train_X), Y: np.asarray(train_Y)})

writer.add_summary(result, step)

Vamos a iterar 1500 veces el modelo, luego pueden evaluar diferentes configuraciones y desde luego variar el ratio de aprendizaje que por el momento está fijado en 0.07.

print “Prediction for 3.5 years”

predict_X = np.array([3.5], dtype=np.float32).reshape([1, 1])

predict_X = (predict_X — mean) / std

predict_Y = tf.add(tf.matmul(predict_X, W), b)

print “Child height(Y) =”, sess.run(predict_Y)

Esto nos entrega un valor de 0.9737 (expresa la altura en metros) Pueden validar académicamente la solución del ejercicio en este link.

Aquí la implementación de la solución

Además incluí #TensorBoard en nuestro estudio para poder analizar:el modelo con más detalles:

El trazado de la función de costo:

Nota: he seleccionado muchos valores y configuraciones estándares, con el objetivo de simplificar la explicación, luego el lector puede modificar a gusto los elementos de estudio.

Si comparamos nuestro estudio inicial utilizando una planilla tradicional y nuestro modelo automático, es evidente que tenemos mucha mayor exactitud con nuestro modelo automático y además toda la escala para ingerir un volumen mayor de datos y crear mejores predicciones. Están listos para más magia?

Regresión lineal simple en #TensorFlow, aprendizaje automático para mayor exactitud por Nicolas Bortolotti se distribuye bajo una Licencia Creative Commons Atribución-CompartirIgual 4.0 Internacional.

Por Nicolas Bortolotti

Profesional especialista en ingeniería Software con título superior en ingeniería de software, fuertes habilidades y experiencia de programación en python, Java, c# y Go (con experiencia basada en desarrollo de proyectos utilizando estas tecnologías) continuo desarrollo de nuevas arquitecturas de software basado en algoritmos y tecnologías para industria líderes con reconocimiento mundial. Especialidades: Desarrollo de Ciclo de Vida de Software, Investigación y Desarrollo, Integración multiplataforma, Proyecto - Equipo de Gestión, Algoritmo de Diseño y Desarrollo, Cloud Computing Architecture, arquitecturas y desarrollo Mobile.

Deja una respuesta

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