Una aclaración: En 1:35, 2:35 y 9:11 cuando digo "Error cuadrático medio" quise decir "Error cuadrático". En 9:31 cuando digo "Error cuadrático medio" es correcto porque me refiero al error cometido por el conjunto de entrenamiento, es decir, a la media de las sumas de los errores cuadráticos cometidos por cada neurona de la capa de salida para cada par de datos entrada-salida.
@@carlosmendez6203 Por eso escribí el comentario, en 9:31 es correcto decir el error cuadrático medio porque dividimos entre el número de datos del conjunto de entrenamiento, es un error que nos sirve para medir si está mejorando o no la red. En cambio, en 1:35, 2:35 y 9:11 usamos el error cuadrático que viene dado por E = 1/2(Σ(y-o)^2) para actualizar los pesos y no tenemos por qué dividir entre j. Entiendo tu duda porque me surgió la misma en su día, tras muchas lecturas pude distinguir el uso de ambos errores, el error cuadrático para el entrenamiento y el error cuadrático medio para la medición del error de la red para el conjunto de entrenamiento, hay mucho lío con estos nombres en muchos sitios. Si te interesa, puedes echar un vistazo en la propia Wikipedia: es.wikipedia.org/wiki/Perceptr%C3%B3n_multicapa
Esta parte fue los mas dificil de entender para mi, si hubiera visto primero tu video todo hubiera sido mas facil xd, como dicen otros es el mejor video para aprender backpropagation
Me parece triste que solo tenga 344 visualizaciones, video muy dinámico, sencillo de entender y en poco tiempo, que si se quiere entrar más en detalle yo creo que con este video ya te da toda la base necesario para profundizar más el tema. Gracias :)
Gracias a ti por comentar y valorar tan bien el vídeo. La idea era lo que comentas, resumir todo lo posible pero al mismo tiempo no dejarme nada por el camino, muchas gracias por apreciarlo ^^
Amigo es increíble lo bien que explicas a detalle como funciona cada parte del proceso. Y mas sorpréndete aun las visuales, son excelentes complementan la explicación a la perfección. Después de leer varios artículos al respecto sobre el tema no había logrado comprender el backpropagation del todo, este video me ayudo muchísimo a entender el proceso de una manera muy clara, es justo como quería que me lo explicaran. Que buen video, gracias por compartir el conocimiento.
Muchas gracias por valorarlo :)))) aunque ahora veo el vídeo y me duele verlo por lo que he mejorado le tengo mucho cariño porque fue uno de los vídeos que más tiempo le di vueltas sobre cómo plantearlo para que se entendiera perfectamente. Además del tiempo que le dediqué confirmando lo que sabía por el caos que existe sobre este tema, por ejemplo definiendo de maneras distintas al error cuadrático medio de diferentes maneras en diferentes artículos, tuve que fijar un comentario a posteriori para dejar claro el concepto después de hacer otra investigación sobre el tema. De verdad, gracias por el comentario, me has animado ^^
Muchísimas gracias! Todavía recuerdo el infierno que fue hacerlo pero con comentarios así merece la pena. Tengo ganas de hacer un remake, a ver si llega pronto :)
He visto muchos vídeos en inglés y español de este tema. Y este es simplemente el mejor que he encontrado. Las visualizaciones son espectaculares. Pero específicamente cómo haces visual el "qué pasa en la red", "en qué parte específica de la red" y en "qué momento", encima con la ecuación de "cuánto". Ejemplo, consumo mucho del canal DotCSV y cuántos videos me recomienda TH-cam. Últimamente he vuelto a retomar estos temas con otros cursos de la plataforma Platzi. Y definitivamente este es el que mejor explica estos conceptos en tan poco tiempo. Yo con mucho gusto pagaría por un curso completo suyo. Creo que tiene un don para la divulgación. Saludos.
Llevo un buen rato mirando tus mensajes sin saber qué responderte porque me has dejado sin palabras. Me encanta ver que te hayas fijado en los detalles que hago para evitar que puedas perderte en la explicación, hago todo lo posible para enseñar las cosas como me hubiera gustado que me lo explicasen a mí, para que cada persona de forma autodidacta pueda aprender si se lo propone. Agradezco muchísimo tus palabras, que te digan que eres el mejor y que pagarías por un curso mío me llena de motivación para seguir con esto. Muchas gracias por tu comentario, por tu apoyo y gracias de nuevo por confiar en este proyecto. Un saludo amigo 💚
@@BitBoss a ti por hacer estas maravillas, espero que en el futuro puedas tener el tiempo, las energías y la motivación de continuar con la serie de ML. Y lo dicho, si pones contenido exclusivo de pago yo me sumo 💪 y seguro otros también 🤟
@@foobar43 Por supuesto 😉 la serie de ML va a continuar 👀 pero para ello hace falta que termine lo poco que me queda sobre las bases de Python para que nadie se pueda perder por el camino en las implementaciones que haga. Sobre lo de pago tengo cosas en mente, lo que no sé cuándo llegarán, depende mucho de cómo evolucione este proyecto y espero con ganas que llegue ese momento 🤟 Muchas gracias de nuevo 😊
Excelente video y explicación. Si se me permite matizar un poco: "Backpropagation" no es un algoritmo de aprendizaje (es del área del aprendizaje de máquina, pero no un algoritmo de aprendizaje). El método que explicaste es "Decenso de Gradiente", que no depende de Backpropagation. Algunos tipos de red incluso no lo necesitarían. Backpropagation es más bien un método de derivación automática; es decir, que mediante el almacenamiento de las derivadas calculadas a partir de la función de coste (en la última capa), las derivadas parciales de cada capa se obtienen "hacia atrás". Es la regla de la cadena; la derivada de la función de coste depende de la salida de la capa anterior (función de activación), que a su vez depende de la suma ponderada de esa capa, ... que a su vez... etc, etc. Entonces para derivar cada capa y darle el gradiente al algoritmo de decenso del gradiente se necesitan derivar funciones que dependen de funciones... Aquí el matiz es únicamente que Backpropagation no es el algoritmo mediante el cuál aprenden las redes neuronales, es simplemente un método para optimizar el cálculo de derivadas; que cuando tienes redes de muchas capas, se vuelve muy complejo si no las almacenas en memoria. Igualmente muy buen material :3
Antes de nada muchas gracias por tu comentario :3 El tema de las definiciones en este área ya de por sí es confusa y yo encima soy de la vieja escuela donde vemos el algoritmo de backpropagation como la regla delta generalizada. Puedes consultar en Wikipedia donde la definen “La propagación hacia atrás (también conocido como retropropagación del error o regla delta generalizada), es un algoritmo utilizado en el entrenamiento de estas redes, por ello, el perceptrón multicapa también es conocido como red de retropropagación (no confundir con la red de contrapropagación).” (es.wikipedia.org/wiki/Perceptrón_multicapa). En el vídeo explico lo que en su día a mí me enseñaron, backpropagation es un algoritmo que utiliza la regla delta (un algoritmo de descenso de gradiente) usada para una sola capa y la generaliza, al modificar los pesos con el gradiente es un algoritmo de optimización. Ahora, entiendo tu punto, porque esto es un problema de definiciones. Si vemos como dices que backpropagation refiere únicamente al cálculo del gradiente y que un algoritmo del descenso de gradiente es quién lo usa, efectivamente no sería un algoritmo de optimización (aunque sí podría seguir definiéndose como el algoritmo que calcula el gradiente). En la propia wikipedia en inglés lo menciona como bien dices pero también añade esto: “Strictly the term backpropagation refers only to the algorithm for computing the gradient, not how the gradient is used; but the term is often used loosely to refer to the entire learning algorithm - including how the gradient is used, such as by stochastic gradient descent.” (en.wikipedia.org/wiki/Backpropagation) de aquí el debate. Mientras entiendas cómo pueden aprender la estructura de datos que llamamos redes neuronales, está bien. Esto de las definiciones es más bien un debate sobre cómo se debería llamar a cada cosa. Particularmente, tengo sentimientos encontrados, mientras que entiendo tu punto y lo comparto en parte, no me termina de convencer ya que el descenso de gradiente es el conjunto de algoritmos que utilizan un gradiente para optimizar la solución de un problema pero no es particular de las redes neuronales y por tanto, llamar backpropagation a uno de los usados para las redes me parece también correcto, al igual que es Rprop (Resilient Backpropagation) otro algoritmo de descenso de gradiente para las redes neuronales.
@@BitBoss Tienes razón, es una cuestión de definiciones, por ello decía que se le define usualmente como algoritmo parte de aprendizaje, no como tal un algoritmo de aprendizaje, e influye mucho también el cómo te lo enseñan. En lo particular lo aprendí como procesos separados, es decir, "decenso de gradiente" como un método de optimización y "Backpropagation" como método exclusivo de derivación automática y después de eso, el "Método de aprendizaje" como una conjunción de algoritmos como los dos anteriores (y otros para el caso de adaptar el aprendizaje según el tipo de red). Está interesante esa nota en inglés de Wikipedia, voy a leer más al respecto. Igualmente muchas gracias por la retropropalimentación y sobre todo por el contenido. La dvd está muy bueno cómo explicas conceptos complejos de manera muy simple. Saludos desde la capa oculta no. 38 🤙🏻
@@ramasori2604 Me ha resultado interesante tu planteamiento porque lo considero necesario, en un futuro tengo pensado hacer un remake y para entonces investigaré un poco más sobre esto para mojarme y dar mi conclusión sobre las definiciones como he hecho con otros vídeos. Muchas gracias por valorar mi contenido! Me quedo a la espera de tu resultado desde la capa oculta no. 39 🤙
No entiendo absolutamente nada de la simbología de esas matemáticas. Y eso me frena en mis intentos de aprender sobre estos temas... No sé por dónde empezar .... En fin.. que gran trabajo y dedicación!!! Gracias loco! Saludos desde Argentina
Muchas gracias... estaba mirando el backpropagation y el gradiente y no sabía si se aplicaba por cada entrada o una vez procesada la muestra. Me ha sido de mucha utilidad.
Quiero activar la opción de miembros del canal pronto por si quieres apoyar, más adelante cuando termine la tesis si no tengo para comer seguramente acabe en Udemy xD Muchas gracias por valorar mi contenido 💚
Me han gustado mucho tus explicaciones. Son claras y detalladas de forma sencilla. Me gustaría mucho ver algo sobre Agnostic Weight Neural Network si es posible.
Muchas gracias! Le acabo de echar un vistazo y tiene buena pinta, no sé si le podré dedicar un vídeo entero por todo lo que tengo en mente pero que sepas que no es por falta de ganas jajaja gracias de nuevo 😊
@@BitBoss, Lástima que esté muy ocupado. Sería estupendo ver sus dotes explicativas aplicadas al tema de la Weight Agnostic Neural Network (he cambiado el orden en el otro post).
Muchas gracias por compartir tu conocimiento, quisiera saber cual es el criterio para elegir el numero de neuronas internas en el ejemplo de la codificación de números que usaste como ejemplo
Ensayo y error en mi experiencia, ni pocas capas para que tenga suficiente capacidad para detectar bien los patrones, ni muchas para evitar un sobreajuste y memorice el conjunto de entrenamiento, queremos que pueda abstraerse y categorizar posteriores ejemplos. Si te sirve, hace unos años hice un detector de caracteres y me suena que usé 2-3 capas con entre 10-30 neuronas en cada una. Muchas gracias por el comentario y mucho ánimo con lo que estés haciendo ^^
Una pregunta 5:03 , cuando pones la ecuación de delta le has introducido el signo negativo del gradiente? Pregunto porque cuando he calculado la derivada de dE/do , es decir la derivada del error respecto a la función de activación obtengo (oi-yi) y el delta me queda ,[oi (1-oi)(oi-yi)]. Ahora si multiplicó por el -1 que había delante de la fórmula que tenías expresada con el gradiente si me queda como muestras. A sido por eso?
Claro, la derivada dE/do es (y - o)(-1), en vez de multiplicarlo y dejarlo como (o - y) o aplicarlo al x_i dejándolo en -x_i como se ve en el vídeo, podemos dejar ese -1 para cambiar el signo de la fórmula y dejarlo todo más "bonito".
Che es genial tu canal, te puedo hacer una consulta. ¿Como animas los videos con que programa? Quiero presentar mi tesis con algunas animaciones, y me estoy volviendo loco. Muchas gracias y te felicito por tu pedagogía. Deberías tener mucho más visualizaciones
La red se usa igual, lo que cambia es el método con el que entrenas los pesos. Usando un algoritmo genético, tendrías una población de distintas redes representadas en cromosomas que evolucionarían aplicando distintos operadores en cada generación.
Acabo de darme cuenta de que no respondí a tu comentario, creo que TH-cam Studio no notifica las respuestas a comentarios, lo siento. Sobre la pregunta, yo usé en su día la documentación oficial keras.io/api/
@@BitBoss pues he visto que este es un caso para clasificación y por eso quisiera para un problema de regresión, dónde la función de costo es calificación multiclase
El ejemplo del vídeo es una clasificación multiclase usando el error cuadrático medio como función de coste. Para calcular el error de la red para cada entrada-salida se calcula la suma de los errores cuadráticos de cada neurona de la capa de salida. La suma de estos errores divididos entre el número de entradas-salidas del conjunto de entrenamiento sería el error cuadrático medio. Si no lo tienes claro o sigues teniendo dudas te leo por aquí 😉
he visto este video multiples veces durante varios meses ya que he estado aprendiendo del tema y sin duda es el mejor. sin embargo tengo una duda respecto a la función error cuadratico medio, ya que veo que está expresado como: ECM= 1/2(i = 1 -> n∑ [Y - Y^] )^2, donde y^ sería la función sigmoide, sin embargo no comprendo por que se divide esa sumatoria entre 2, he buscado en otras fuentes y la funcion ECM se expresa como la media del error al cuadrado, y si se tienen "n" neuronas en la capa de salida, debería dividirse entre "n" no?, es decir ECM= 1/n(i = 1 -> n∑ [Y - Y^] )^2, necesito ayuda
algunos autores dividen entre dos para que cuando derives quede 1/n. De todos modos funciona igual porque lo que te interesa es la tendencia de que el error disminuya, entonces no importa si estas midiendo la tendencia del error entero o de la mitad del error.
El primer vídeo en inglés o español que explica en profundidad backpropagation abordando el tema que otros evitan ( incluido 3brown1 blue) de cómo se van ajustando desde la última capa a la primera los pesos para minimizar el error. La calidad de tus vídeos no está bien representada por tus carátulas, producen desconfianza respecto a la calidad del contenido. En cualquier caso gracias por tu tiempo y la claridad y rigor de los temas que abordas
Lo siento si está demasiado comprimido, es bastante difícil resumir el cómo funciona el algoritmo Backpropagation en 10 minutos, me alegro de que al menos te sirva de resumen ;) No sé a qué te refieres con lo de que no están accesibles, si lo que buscas son las ecuaciones para actualizar los pesos, están en el minuto 6:26.
Una aclaración: En 1:35, 2:35 y 9:11 cuando digo "Error cuadrático medio" quise decir "Error cuadrático". En 9:31 cuando digo "Error cuadrático medio" es correcto porque me refiero al error cometido por el conjunto de entrenamiento, es decir, a la media de las sumas de los errores cuadráticos cometidos por cada neurona de la capa de salida para cada par de datos entrada-salida.
Un detalle, creo que la formula del error cuadratico médio tiene un error. No debería de ser E = 1/j ... en lugar de E = 1/2 ...?
@@carlosmendez6203 Por eso escribí el comentario, en 9:31 es correcto decir el error cuadrático medio porque dividimos entre el número de datos del conjunto de entrenamiento, es un error que nos sirve para medir si está mejorando o no la red. En cambio, en 1:35, 2:35 y 9:11 usamos el error cuadrático que viene dado por E = 1/2(Σ(y-o)^2) para actualizar los pesos y no tenemos por qué dividir entre j. Entiendo tu duda porque me surgió la misma en su día, tras muchas lecturas pude distinguir el uso de ambos errores, el error cuadrático para el entrenamiento y el error cuadrático medio para la medición del error de la red para el conjunto de entrenamiento, hay mucho lío con estos nombres en muchos sitios. Si te interesa, puedes echar un vistazo en la propia Wikipedia: es.wikipedia.org/wiki/Perceptr%C3%B3n_multicapa
Lo he visto entero como un película ... enganchado de pe a pá! Enhorabuena y, por favor, no dejes de subir videos ...
¿Cómo voy a dejarlo con comentarios como el tuyo? Muchísimas gracias por tu apoyo ^^
Min 3:27 momento illuminati. Excelente video, mil, mil gracias.
Esta parte fue los mas dificil de entender para mi, si hubiera visto primero tu video todo hubiera sido mas facil xd, como dicen otros es el mejor video para aprender backpropagation
Muchas gracias por valorarlo 💚 Ojalá mi vídeo te hubiese ayudado en su momento 😔
Me parece triste que solo tenga 344 visualizaciones, video muy dinámico, sencillo de entender y en poco tiempo, que si se quiere entrar más en detalle yo creo que con este video ya te da toda la base necesario para profundizar más el tema. Gracias :)
Gracias a ti por comentar y valorar tan bien el vídeo. La idea era lo que comentas, resumir todo lo posible pero al mismo tiempo no dejarme nada por el camino, muchas gracias por apreciarlo ^^
Amigo es increíble lo bien que explicas a detalle como funciona cada parte del proceso. Y mas sorpréndete aun las visuales, son excelentes complementan la explicación a la perfección.
Después de leer varios artículos al respecto sobre el tema no había logrado comprender el backpropagation del todo, este video me ayudo muchísimo a entender el proceso de una manera muy clara, es justo como quería que me lo explicaran. Que buen video, gracias por compartir el conocimiento.
Muchas gracias por valorarlo :)))) aunque ahora veo el vídeo y me duele verlo por lo que he mejorado le tengo mucho cariño porque fue uno de los vídeos que más tiempo le di vueltas sobre cómo plantearlo para que se entendiera perfectamente. Además del tiempo que le dediqué confirmando lo que sabía por el caos que existe sobre este tema, por ejemplo definiendo de maneras distintas al error cuadrático medio de diferentes maneras en diferentes artículos, tuve que fijar un comentario a posteriori para dejar claro el concepto después de hacer otra investigación sobre el tema. De verdad, gracias por el comentario, me has animado ^^
Me sumo a las felicitaciones @BitBoss. Es la mejor explicación que he visto hasta ahora sobre cómo aprende una red neuronal. Muchas, muchas gracias!!
Muchísimas gracias! Todavía recuerdo el infierno que fue hacerlo pero con comentarios así merece la pena. Tengo ganas de hacer un remake, a ver si llega pronto :)
He visto muchos vídeos en inglés y español de este tema. Y este es simplemente el mejor que he encontrado. Las visualizaciones son espectaculares. Pero específicamente cómo haces visual el "qué pasa en la red", "en qué parte específica de la red" y en "qué momento", encima con la ecuación de "cuánto".
Ejemplo, consumo mucho del canal DotCSV y cuántos videos me recomienda TH-cam. Últimamente he vuelto a retomar estos temas con otros cursos de la plataforma Platzi. Y definitivamente este es el que mejor explica estos conceptos en tan poco tiempo.
Yo con mucho gusto pagaría por un curso completo suyo. Creo que tiene un don para la divulgación. Saludos.
Llevo un buen rato mirando tus mensajes sin saber qué responderte porque me has dejado sin palabras. Me encanta ver que te hayas fijado en los detalles que hago para evitar que puedas perderte en la explicación, hago todo lo posible para enseñar las cosas como me hubiera gustado que me lo explicasen a mí, para que cada persona de forma autodidacta pueda aprender si se lo propone. Agradezco muchísimo tus palabras, que te digan que eres el mejor y que pagarías por un curso mío me llena de motivación para seguir con esto. Muchas gracias por tu comentario, por tu apoyo y gracias de nuevo por confiar en este proyecto. Un saludo amigo 💚
@@BitBoss a ti por hacer estas maravillas, espero que en el futuro puedas tener el tiempo, las energías y la motivación de continuar con la serie de ML. Y lo dicho, si pones contenido exclusivo de pago yo me sumo 💪 y seguro otros también 🤟
@@foobar43 Por supuesto 😉 la serie de ML va a continuar 👀 pero para ello hace falta que termine lo poco que me queda sobre las bases de Python para que nadie se pueda perder por el camino en las implementaciones que haga. Sobre lo de pago tengo cosas en mente, lo que no sé cuándo llegarán, depende mucho de cómo evolucione este proyecto y espero con ganas que llegue ese momento 🤟 Muchas gracias de nuevo 😊
Excelente video y explicación. Si se me permite matizar un poco: "Backpropagation" no es un algoritmo de aprendizaje (es del área del aprendizaje de máquina, pero no un algoritmo de aprendizaje). El método que explicaste es "Decenso de Gradiente", que no depende de Backpropagation. Algunos tipos de red incluso no lo necesitarían. Backpropagation es más bien un método de derivación automática; es decir, que mediante el almacenamiento de las derivadas calculadas a partir de la función de coste (en la última capa), las derivadas parciales de cada capa se obtienen "hacia atrás". Es la regla de la cadena; la derivada de la función de coste depende de la salida de la capa anterior (función de activación), que a su vez depende de la suma ponderada de esa capa, ... que a su vez... etc, etc. Entonces para derivar cada capa y darle el gradiente al algoritmo de decenso del gradiente se necesitan derivar funciones que dependen de funciones...
Aquí el matiz es únicamente que Backpropagation no es el algoritmo mediante el cuál aprenden las redes neuronales, es simplemente un método para optimizar el cálculo de derivadas; que cuando tienes redes de muchas capas, se vuelve muy complejo si no las almacenas en memoria.
Igualmente muy buen material :3
Antes de nada muchas gracias por tu comentario :3 El tema de las definiciones en este área ya de por sí es confusa y yo encima soy de la vieja escuela donde vemos el algoritmo de backpropagation como la regla delta generalizada. Puedes consultar en Wikipedia donde la definen “La propagación hacia atrás (también conocido como retropropagación del error o regla delta generalizada), es un algoritmo utilizado en el entrenamiento de estas redes, por ello, el perceptrón multicapa también es conocido como red de retropropagación (no confundir con la red de contrapropagación).” (es.wikipedia.org/wiki/Perceptrón_multicapa). En el vídeo explico lo que en su día a mí me enseñaron, backpropagation es un algoritmo que utiliza la regla delta (un algoritmo de descenso de gradiente) usada para una sola capa y la generaliza, al modificar los pesos con el gradiente es un algoritmo de optimización.
Ahora, entiendo tu punto, porque esto es un problema de definiciones. Si vemos como dices que backpropagation refiere únicamente al cálculo del gradiente y que un algoritmo del descenso de gradiente es quién lo usa, efectivamente no sería un algoritmo de optimización (aunque sí podría seguir definiéndose como el algoritmo que calcula el gradiente). En la propia wikipedia en inglés lo menciona como bien dices pero también añade esto: “Strictly the term backpropagation refers only to the algorithm for computing the gradient, not how the gradient is used; but the term is often used loosely to refer to the entire learning algorithm - including how the gradient is used, such as by stochastic gradient descent.” (en.wikipedia.org/wiki/Backpropagation) de aquí el debate.
Mientras entiendas cómo pueden aprender la estructura de datos que llamamos redes neuronales, está bien. Esto de las definiciones es más bien un debate sobre cómo se debería llamar a cada cosa. Particularmente, tengo sentimientos encontrados, mientras que entiendo tu punto y lo comparto en parte, no me termina de convencer ya que el descenso de gradiente es el conjunto de algoritmos que utilizan un gradiente para optimizar la solución de un problema pero no es particular de las redes neuronales y por tanto, llamar backpropagation a uno de los usados para las redes me parece también correcto, al igual que es Rprop (Resilient Backpropagation) otro algoritmo de descenso de gradiente para las redes neuronales.
@@BitBoss Tienes razón, es una cuestión de definiciones, por ello decía que se le define usualmente como algoritmo parte de aprendizaje, no como tal un algoritmo de aprendizaje, e influye mucho también el cómo te lo enseñan. En lo particular lo aprendí como procesos separados, es decir, "decenso de gradiente" como un método de optimización y "Backpropagation" como método exclusivo de derivación automática y después de eso, el "Método de aprendizaje" como una conjunción de algoritmos como los dos anteriores (y otros para el caso de adaptar el aprendizaje según el tipo de red).
Está interesante esa nota en inglés de Wikipedia, voy a leer más al respecto. Igualmente muchas gracias por la retropropalimentación y sobre todo por el contenido. La dvd está muy bueno cómo explicas conceptos complejos de manera muy simple.
Saludos desde la capa oculta no. 38 🤙🏻
@@ramasori2604 Me ha resultado interesante tu planteamiento porque lo considero necesario, en un futuro tengo pensado hacer un remake y para entonces investigaré un poco más sobre esto para mojarme y dar mi conclusión sobre las definiciones como he hecho con otros vídeos.
Muchas gracias por valorar mi contenido! Me quedo a la espera de tu resultado desde la capa oculta no. 39 🤙
@@BitBoss Te paso el resultado, ahí me cuentas cómo me fue *ba dun, tsss* 🥁
No entiendo absolutamente nada de la simbología de esas matemáticas. Y eso me frena en mis intentos de aprender sobre estos temas... No sé por dónde empezar .... En fin.. que gran trabajo y dedicación!!! Gracias loco! Saludos desde Argentina
Dime qué parte de la simbología no entiendes a ver si te puedo echar una mano ;) Muchas gracias por valorar el esfuerzo que le dedico! ^^
Muchas gracias... estaba mirando el backpropagation y el gradiente y no sabía si se aplicaba por cada entrada o una vez procesada la muestra. Me ha sido de mucha utilidad.
No sabes lo que me alegra leer que mi vídeo te ha ayudado. Muchas gracias por tu comentario me hace sentir que mereció la pena hacer el vídeo 💚
La mejor explicación de todas las que vi. Excelente men, muchas gracias!
Excelente Explicación de las Redes Neuronales con Backpropagation
Muchísimas gracias, me alegro que te haya gustado ^^
a día de hoy, eres el mejor explicando y sip, nadie lo explica como tú bro (:
Exelente explicación!
Me encantan tus videos! tienes una seguidora nueva y te recomiendo que subas cursos en Udemy, con gusto pagaría por tus cursos. Saludos!!!
Quiero activar la opción de miembros del canal pronto por si quieres apoyar, más adelante cuando termine la tesis si no tengo para comer seguramente acabe en Udemy xD Muchas gracias por valorar mi contenido 💚
Claro y sencillo. Gracias por el vídeo.
Gracias a ti por apoyarme comentando ^^
Excelente material. Nuevo suscriptor !!!
Muchas gracias! Bienvenido! ^^
Me gustan estos videos. Lo explica muy bien. Gracias
wow, simplemente una explicación muy buena
Me han gustado mucho tus explicaciones. Son claras y detalladas de forma sencilla. Me gustaría mucho ver algo sobre Agnostic Weight Neural Network si es posible.
Muchas gracias! Le acabo de echar un vistazo y tiene buena pinta, no sé si le podré dedicar un vídeo entero por todo lo que tengo en mente pero que sepas que no es por falta de ganas jajaja gracias de nuevo 😊
@@BitBoss, Lástima que esté muy ocupado. Sería estupendo ver sus dotes explicativas aplicadas al tema de la Weight Agnostic Neural Network (he cambiado el orden en el otro post).
Muchas gracias por compartir tu conocimiento, quisiera saber cual es el criterio para elegir el numero de neuronas internas en el ejemplo de la codificación de números que usaste como ejemplo
Ensayo y error en mi experiencia, ni pocas capas para que tenga suficiente capacidad para detectar bien los patrones, ni muchas para evitar un sobreajuste y memorice el conjunto de entrenamiento, queremos que pueda abstraerse y categorizar posteriores ejemplos. Si te sirve, hace unos años hice un detector de caracteres y me suena que usé 2-3 capas con entre 10-30 neuronas en cada una. Muchas gracias por el comentario y mucho ánimo con lo que estés haciendo ^^
Una pregunta 5:03 , cuando pones la ecuación de delta le has introducido el signo negativo del gradiente? Pregunto porque cuando he calculado la derivada de dE/do , es decir la derivada del error respecto a la función de activación obtengo (oi-yi) y el delta me queda ,[oi (1-oi)(oi-yi)]. Ahora si multiplicó por el -1 que había delante de la fórmula que tenías expresada con el gradiente si me queda como muestras. A sido por eso?
Claro, la derivada dE/do es (y - o)(-1), en vez de multiplicarlo y dejarlo como (o - y) o aplicarlo al x_i dejándolo en -x_i como se ve en el vídeo, podemos dejar ese -1 para cambiar el signo de la fórmula y dejarlo todo más "bonito".
Che es genial tu canal, te puedo hacer una consulta. ¿Como animas los videos con que programa? Quiero presentar mi tesis con algunas animaciones, y me estoy volviendo loco. Muchas gracias y te felicito por tu pedagogía. Deberías tener mucho más visualizaciones
Maravilloso 👏👏👏
Muchas gracias 😜
En la capa oculta del video esta la didactica, tan importante como el contenido.
Excelente video!
Gracias Kevin! 😄
Muy buen video tendrás la programación?
Gracias Ángel 😊 En un futuro sí pero tengo algunos vídeos pendientes.
muy buen video
muy buena su explicación, gracias por subir este video, ahora si entendi bien como funciona el algoritmo Backpropagation
Muuuuchas gracias por tu comentario, saber que te ha ayudado me motiva a seguir con el canal :)
1:16 → /¿Y como se usa una RNA epecificamente con el algoritmo genetico?
La red se usa igual, lo que cambia es el método con el que entrenas los pesos. Usando un algoritmo genético, tendrías una población de distintas redes representadas en cromosomas que evolucionarían aplicando distintos operadores en cada generación.
Holaa excelente video, muchas gracias! ocupas algún modulo de python para programar NN?
Lo que he usado hasta ahora ha sido Keras. Muchas gracias por tu comentario, me alegro que te haya gustado ^^
@@BitBoss Muchas Gracias de verdad 💕, Alguna documentación que recomienden para aprender Keras?
Acabo de darme cuenta de que no respondí a tu comentario, creo que TH-cam Studio no notifica las respuestas a comentarios, lo siento. Sobre la pregunta, yo usé en su día la documentación oficial keras.io/api/
no lo tienes con el error cuadratico medio ? Gracias por le video. Salidos!
¿A qué te refieres concretamente? Muchas gracias por tu comentario, saludos! ^^
@@BitBoss pues he visto que este es un caso para clasificación y por eso quisiera para un problema de regresión, dónde la función de costo es calificación multiclase
El ejemplo del vídeo es una clasificación multiclase usando el error cuadrático medio como función de coste. Para calcular el error de la red para cada entrada-salida se calcula la suma de los errores cuadráticos de cada neurona de la capa de salida. La suma de estos errores divididos entre el número de entradas-salidas del conjunto de entrenamiento sería el error cuadrático medio.
Si no lo tienes claro o sigues teniendo dudas te leo por aquí 😉
he visto este video multiples veces durante varios meses ya que he estado aprendiendo del tema y sin duda es el mejor. sin embargo tengo una duda respecto a la función error cuadratico medio, ya que veo que está expresado como: ECM= 1/2(i = 1 -> n∑ [Y - Y^] )^2, donde y^ sería la función sigmoide, sin embargo no comprendo por que se divide esa sumatoria entre 2, he buscado en otras fuentes y la funcion ECM se expresa como la media del error al cuadrado, y si se tienen "n" neuronas en la capa de salida, debería dividirse entre "n" no?, es decir ECM= 1/n(i = 1 -> n∑ [Y - Y^] )^2, necesito ayuda
algunos autores dividen entre dos para que cuando derives quede 1/n. De todos modos funciona igual porque lo que te interesa es la tendencia de que el error disminuya, entonces no importa si estas midiendo la tendencia del error entero o de la mitad del error.
eres muy bueno hee
Muchas gracias ☺️
El primer vídeo en inglés o español que explica en profundidad backpropagation abordando el tema que otros evitan ( incluido 3brown1 blue) de cómo se van ajustando desde la última capa a la primera los pesos para minimizar el error.
La calidad de tus vídeos no está bien representada por tus carátulas, producen desconfianza respecto a la calidad del contenido. En cualquier caso gracias por tu tiempo y la claridad y rigor de los temas que abordas
Por qué la capa oculta tiene 10 y 5? Es aleatorio para explicar el ejemplo?
Sí
perfecto
Gracias 😊
1:35, 3:20, 4:15
Hola Isabel, por curiosidad, ¿puedes decirme por qué has puesto estas marcas de tiempo?
Eres la verga viejo
por qué 15 entradas ??? buuu no entiendo
-Demasiado comprimido. GRacis igual sirve como super resumen. No esta accesible las ecuaciones
Lo siento si está demasiado comprimido, es bastante difícil resumir el cómo funciona el algoritmo Backpropagation en 10 minutos, me alegro de que al menos te sirva de resumen ;)
No sé a qué te refieres con lo de que no están accesibles, si lo que buscas son las ecuaciones para actualizar los pesos, están en el minuto 6:26.
Crack
Muchas gracias tío ;)