No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Aprende Ingl茅s, Programaci贸n, AI, Ciberseguridad y m谩s a precio especial.

Antes: $249

Currency
$209
Suscr铆bete

Termina en:

2 D铆as
1 Hrs
51 Min
57 Seg

Entrenamiento del modelo de clasificaci贸n binaria

20/29
Recursos

Aportes 11

Preguntas 6

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

En lugar de estar separando los datos pueden simplemente hacer esto en el fit y as铆 ahorrar谩n tiempo

Nunca me gust贸 que al entrenar se genere mucho texto debajo, as铆 que encontr茅 esta barra de carga para entrenar modelos en keras.

Holi

Por si a alguien le interesa, tambi茅n se puede determinar la precisi贸n de modelo usando el cross validation :

Haciendo esto se puede observar que el score de entrenamiento y el score de prueba presentan un valor cercano a 1 por lo que no habr铆a overfitting y el modelo estar铆a bien entrenado, sin embargo esto pas贸 porque use los valores x_train & y_train, cuando en realidad deber铆an de usarse los valores X ( la suma de x_train y y_train ) & y ( y_train + y_test), sin embargo cuando trat茅 de usar esos valores la RAM de mi colab colaps贸, quizas a ustedes si les resulte y puedan ver si en verdad hay overfitting como lo ha determinado el profesor en su ejemplo

Cross Entropy

Lo mas did谩ctico ser铆a que para cada linea se escriba una breve explicaci贸n o tal vez una documentaci贸n bien explicita. Tal vez sacrificar un poco de buena practica comentando todas las l铆neas para que la clase sea mas did谩ctica. Se que es complicado explicar con precisi贸n mientras se escribe c贸digo, pero ser铆a bueno implementar alguna idea que expl铆citamente le diga al alumno que se est谩 haciendo en caso de que quiera volver a alguna etapa del c贸digo que le cueste encajar.

Para ver cu谩les son las funciones de optimizacion, perdida, activacion, etc, disponibles en keras, pueden usar las siguientes lineas de codigo.

from tensorflow.keras import (
    activations, optimizers, losses, metrics
)
new_dir = lambda func: list(filter(lambda x: False if x.startswith('_') else True,func.__dir__()))
new_dir(metrics)

No todos los elementos de las listas corresponden a una de esas funciones, pero la mayor铆a si.

Tambi茅n pueden imprimir el atributo doc para ver una breve descripci贸n del mismo.

print(metrics.binary_accuracy.__doc__)

De todas formas es preferible utilizar strings en los argumentos de la red neuronal ya que, en ocasiones, los miembros de los m贸dulos en keras pueden ser movidos a otros, haciendo que nuestro c贸digo no sea future-proof.

layers.Dense(16, activation='relu', input_shape= (10000,))
# ambos funcionan igual, pero el primero es preferible
layers.Dense(16, activation=activations.relu, input_shape= (10000,))

Hice el entrenamiento con 20 茅pocas y el overfitting es bastante claro desde esta perspectiva

Explicacion del overfitting de DotCSV muy bien explicado: https://www.youtube.com/watch?v=7-6X3DTt3R8

鈥渙verfitting鈥, es un fen贸meno en el aprendizaje autom谩tico donde un modelo se ajusta demasiado bien a los datos de entrenamiento, capturando no solo los patrones reales presentes en los datos sino tambi茅n el ruido o la aleatoriedad. Esto puede llevar a que el modelo tenga un rendimiento deficiente en datos nuevos o no vistos, ya que ha memorizado el conjunto de entrenamiento en lugar de aprender patrones generales.

Epoch 1/10
49/49 [==============================] - 3s 46ms/step - loss: 0.4534 - accuracy: 0.8171 - val_loss: 0.2897 - val_accuracy: 0.9005
Epoch 2/10
49/49 [==============================] - 1s 29ms/step - loss: 0.2674 - accuracy: 0.9043 - val_loss: 0.1995 - val_accuracy: 0.9378
Epoch 3/10
49/49 [==============================] - 1s 25ms/step - loss: 0.2088 - accuracy: 0.9248 - val_loss: 0.1625 - val_accuracy: 0.9495
Epoch 4/10
49/49 [==============================] - 1s 21ms/step - loss: 0.1760 - accuracy: 0.9373 - val_loss: 0.1349 - val_accuracy: 0.9601
Epoch 5/10
49/49 [==============================] - 1s 19ms/step - loss: 0.1536 - accuracy: 0.9469 - val_loss: 0.1163 - val_accuracy: 0.9667
Epoch 6/10
49/49 [==============================] - 1s 20ms/step - loss: 0.1317 - accuracy: 0.9546 - val_loss: 0.1021 - val_accuracy: 0.9714
Epoch 7/10
49/49 [==============================] - 1s 21ms/step - loss: 0.1155 - accuracy: 0.9612 - val_loss: 0.1488 - val_accuracy: 0.9379
Epoch 8/10
49/49 [==============================] - 1s 27ms/step - loss: 0.1054 - accuracy: 0.9650 - val_loss: 0.0763 - val_accuracy: 0.9805
Epoch 9/10
49/49 [==============================] - 1s 20ms/step - loss: 0.0882 - accuracy: 0.9714 - val_loss: 0.0768 - val_accuracy: 0.9773
Epoch 10/10
49/49 [==============================] - 1s 18ms/step - loss: 0.0807 - accuracy: 0.9754 - val_loss: 0.0666 - val_accuracy: 0.9822

Hemos creado una red neuronal, biennn, hemos caido en el overfitting, vale, hemos hecho un monton de cosas, pero sinceramente, alguien me puede decir que es lo que estamos intentando conseguir, me quede en la parte en la que habia un listado con muchas listas que tenian palabras y se expresaban en numeros, y de ahi, que si red, que si train, que si test, que si accuraccy, pero, para conseguir que???..

Tengo un inconveniente, 驴no entiendo por qu茅 el loss no disminuye, y el accuracy no aumenta? ![](https://static.platzi.com/media/user_upload/image-2fb9cc3b-69bc-43a5-b427-be8fa4054339.jpg)![](https://static.platzi.com/media/user_upload/image-4ce967f4-f5ed-49ce-b04d-70d4e77ce316.jpg)![](https://static.platzi.com/media/user_upload/image-4f4c32dc-dbf8-4372-9b26-11378bab5bf2.jpg)