SlideShare una empresa de Scribd logo
1 de 7
La regla de la cadena
The Chain Rule En el Capítulo 7, cuando construyamos una red neuronal, vamos a necesitar
un truco matemáticoespecial llamado regla de la cadena. Cuando compongamos las capas
de la red neuronal, tendremos que desenredar las derivadas de cada capa. Pero por ahora
aprendamos la regla de la cadena con un ejemplo algebraico simple. Digamos que te dan
dos funciones:
y = x2
+ 1
z = y3 - 2
Observe que estas dos funciones están vinculadas, porque y es la variable de salida en la
primera función pero es la variable de entrada en la segunda. Esto significa que podemos
sustituir la primera función y en la segunda función z así:
Entonces, ¿cuál es la derivada de z con respecto a x ? Ya tenemos la sustitución
expresando z en términos de x. Usemos SymPypara calcular eso en el ejemplo 1-24.
Ejemplo 1-24. Encontrar la derivada de z con respecto a x
from sympy import *
z = (x**2 + 1)**3 - 2
dz_dx = diff(z, x)
print(dz_dx)
# 6*x*(x**2 + 1)**2
Entonces nuestra derivada de z con respecto a x es 6x (x2
+1) 2
:
Pero mira esto. Comencemos de nuevo y tomemos un enfoque diferente. Si tomamos las
derivadas de las funciones y y z por separado, y luego las multiplicamos juntas, ¡esto
también produce la derivada de z con respecto a x ! Vamos a intentarlo:
Muy bien, 6 xy2
puede no parecerse a 6 x (x2
+1) 2, pero eso es solo porque aún no hemos
sustituido la función y. Haga eso para que toda la derivada se exprese en términos
de x sin y.
Ahora vemos que tenemos la misma función derivada 6x (x2
+1)2 !
Esta es la regla de la cadena, que dice que para una función dada y (con variable de entrada
x ) compuesta en otra función z (con variable de entrada y ), podemos encontrar la derivada
de z con respecto a x multiplicando las dos derivadas respectivas :
El ejemplo 1-25 muestra el código SymPy que hace esta comparación, mostrando que la
derivada de la regla de la cadena es igual a la derivada de la función sustituida.
Ejemplo 1-25. Calcular la derivada dz/dx con y sin la regla de la cadena, pero aún
obteniendo la misma respuesta
fromsympy import*
x, y = symbols('x y')
# derivativeforfirstfunction
# needtounderscore y to preventvariable clash
_y = x**2 + 1
dy_dx = diff(_y)
# derivativeforsecondfunction
z = y**3 - 2
dz_dy = diff(z)
# Calculate derivativewithandwithout
# chainrule,substitute yfunction
dz_dx_chain = (dy_dx * dz_dy).subs(y, _y)
dz_dx_no_chain = diff(z.subs(y, _y))
# Prove chainrule byshowingbothare equal
print(dz_dx_chain) # 6*x*(x**2 + 1)**2
print(dz_dx_no_chain) # 6*x*(x**2 + 1)**2
La regla de la cadena es una parte clave del entrenamiento de una red neuronal con los
pesos y sesgos adecuados. En lugar de desenredar la derivada de cada nodo en forma de
cebolla anidada, podemos multiplicar las derivadas en cada nodo, lo cual es
matemáticamente mucho más fácil.
Integrales
Lo contrario de una derivada es una integral, que encuentra el área bajo la curva para un
rango dado. En los Capítulos 2 y 3, encontraremos las áreas bajo distribuciones de
probabilidad. Aunque no usaremos integrales directamente, y en su lugar usaremos
funciones de densidad acumulativa que ya están integradas, es bueno saber cómo las
integrales encuentran áreas bajo curvas. El Apéndice A contiene ejemplos del uso de este
enfoque en distribuciones de probabilidad.
Quiero adoptar un enfoque intuitivo para aprender integrales llamado Reimann Sums, uno
que se adapte de manera flexible a cualquier función continua. Primero, señalemos que
encontrar el área de un rango debajo de una línea recta es fácil. Digamos que tengo una
función f( x ) = 2x y quiero encontrar el área debajo de la línea entre 0 y 1, como se muestra
en la figura 1-9.
Figura 1-9. Cálculo de un área bajo una función lineal
Observe que estoy encontrando el área delimitada entre la línea y el eje x, y en el rango x
de 0,0 a 1,0. Si recuerdas las fórmulas básicas de geometría, el área A de un triángulo es
donde b es la longitud de la base y h es la altura. Podemos detectar visualmente que
b = 1 y h = 2. Entonces, al conectarnos a la fórmula, obtenemos para nuestra área 1.0
como se calcula aquí:
A = 1
Eso no estuvo mal, ¿verdad? Pero veamos una función en la que es difícil encontrar el área
debajo: f ( x ) = x 2
+ 1. ¿Cuál es el área entre 0 y 1 sombreada en la figura 1-10 ?
Figura 1-10. Calcular el área bajo funciones no lineales es menos sencillo
Nuevamente, estamos interesados en el área debajo de la curva y sobre el eje x, solo dentro
del rango x entre 0 y 1. La curvatura aquí no nos brinda una fórmula geométrica clara para
encontrar el área, pero aquí hay un pequeño truco inteligente. tu puedes hacer.
¿Qué pasa si empaquetamos cinco rectángulos de igual longitud debajo de la curva como
se muestra en la Figura 1-11, donde la altura de cada uno se extiende desde el eje x hasta
donde el punto medio toca la curva?
El área de un rectángulo es A = length × width A = largo × ancho , por lo que podríamos
sumar fácilmente las áreas de los rectángulos. ¿Nos daría eso una buena aproximación del
área bajo la curva? ¿Qué pasa si empacamos 100 rectángulos? 1,000? 100,000? A medida
que aumentamos el número de rectángulos mientras disminuimos su ancho, ¿no nos
acercaríamos al área bajo la curva? Sí, lo haríamos, y es otro caso más en el que
aumentamos/disminuimos algo hacia el infinito para acercarnos a un valor real.
Figura 1-11. Rectángulos de embalaje debajo de una curva para aproximar el área
Probémoslo en Python. Primero necesitamos una función que aproxime una integral que
llamaremos approximate_integral(). Los argumentos a y b especificarán el mínimo y el
máximo del rango x, respectivamente. n será el número de rectángulos a empaquetar y f
será la función que estamos integrando. Implementamos la función en el Ejemplo 1-26 y
luego la usamos para integrar nuestra función f ( x ) = x2
+ 1 con cinco rectángulos, entre
0.0 y 1.0.
Ejemplo 1-26. Una aproximación integral en Python
def approximate_integral(a, b, n, f):
delta_x = (b - a) / n
total_sum = 0
for i in range(1, n + 1):
midpoint = 0.5 * (2 * a + delta_x * (2 * i - 1))
total_sum += f(midpoint)
return total_sum * delta_x
def my_function(x):
return x**2 + 1
area = approximate_integral(a=0, b=1, n=5, f=my_function)
print(area) # prints 1.33
Entonces obtenemos un área de 1.33. ¿Qué pasa si usamos 1,000 rectángulos?
Probémoslo en el ejemplo 1-27.
Ejemplo 1-27. Otra aproximación integral en Python
area = approximate_integral(a=0, b=1, n=1000, f=my_function)
print(area) # prints 1.333333250000001
Bien, estamos obteniendo algo más de precisión aquí y obteniendo algunos lugares
decimales más. ¿Qué pasa con un millón de rectángulos como se muestra en el
Ejemplo 1-28 ?
Ejemplo 1-28. Otra aproximación integral en Python
area = approximate_integral(a=0, b=1, n=1_000_000, f=my_function)
print(area) # prints 1.3333333333332733
Bien, creo que estamos obteniendo un rendimiento decreciente aquí y convergiendo
en el valor 1. 333 ¯ donde la parte ".333" se repite para siempre. Si fuera un número
racional, probablemente 4/3 = 1. 333. A medida que aumentamos el número de
rectángulos, la aproximación comienza a alcanzar su límite con decimales cada vez
más pequeños.
Ahora que tenemos cierta intuición sobre lo que estamos tratando de lograr y por
qué, hagamos un enfoque más exacto con SymPy, que es compatible con los
números racionales, en el Ejemplo 1-29.
Ejemplo 1-29. Uso de SymPy para realizar la integración
from sympy import *
# Declare 'x' to SymPy
x = symbols('x')
# Now just use Python syntax to declare function
f = x**2 + 1
# Calculate the integral of the function with respect to x
# for the area between x = 0 and 1
area = integrate(f, (x, 0, 1))
print(area) # prints 4/3¡
Enfriar! Entonces, el área en realidad es 4/3, que es en lo que convergió nuestro
método anterior. Desafortunadamente, Python simple (y muchos lenguajes de
programación) solo admiten decimales, pero los sistemas de álgebra computacional
como SymPy nos brindan números racionales exactos. Usaremos integrales para
encontrar áreas bajo curvas en los Capítulos 2 y 3, aunque scikit-learn hará el
trabajo por nosotros.
CÁLCULO DE INTEGRALES CON LÍMITES
Para los súper curiosos, así es como calculamos integrales definidas usando límites
en SymPy. ¡Por favor! Omita o regrese a esta barra lateral más tarde si tiene
suficiente para digerir. Pero si te sientes bien y quieres profundizar en cómo se
derivan las integrales usando límites, continúa!
La idea principal sigue mucho de lo que hicimos antes: empaqueta rectángulos bajo
una curva y hazlos infinitamente más pequeños hasta que nos acerquemos al área
exacta. Pero, por supuesto, los rectángulos no pueden tener un ancho de 0.. solo
tienen que seguir acercándose a 0 sin llegar nunca a 0. Es otro caso de usar límites.
Khan Academy tiene un excelente artículo que explica cómo usar los límites para
las Sumas de Reimann, pero así es como lo hacemos en SymPy, como se muestra
en el Ejemplo 1-30.
Ejemplo 1-30. Usar límites para calcular integrales
fromsympy import*
# Declare variablestoSymPy
x, i, n = symbols('x i n')
# Declare functionandrange
f = x**2 + 1
lower, upper = 0, 1
# Calculate widthandeachrectangle heightatindex "i"
delta_x = ((upper - lower) / n)
x_i = (lower + delta_x * i)
fx_i = f.subs(x, x_i)
# Iterate all "n"rectanglesandsumtheirareas
n_rectangles = Sum(delta_x * fx_i, (i, 1, n)).doit()
# Calculate the areabyapproachingthe number
# of rectangles"n"to infinity
area = limit(n_rectangles, n, oo)
print(area) #prints4/3
Aquí determinamos la longitud de cada rectángulo delta_x y el inicio de cada
rectángulo x_i donde i es el índice de cada rectángulo. fx_i es la altura de cada
rectángulo en el índice i. Declaramos un número n de rectángulos y sumamos sus
áreas delta_x * fx_i, pero aún no tenemos un valor de área porque no hemos
asignado un número para n. En cambio, nos acercamos a n hacia el infinito para ver
en qué área convergemos, ¡y deberías obtener 4/3!
Conclusión
En este capítulo cubrimos algunos fundamentos que usaremos para el resto de este
libro. Desde la teoría de números hasta los logaritmos y las integrales de cálculo,
destacamos algunos conceptos matemáticos importantes relevantes para la ciencia
de datos, el aprendizaje automático y el análisis. Es posible que tenga preguntas
acerca de por qué estos conceptos son útiles. ¡Eso vendrá después!
Antes de pasar a discutir la probabilidad, tómate un poco de tiempo para repasar
estos conceptos una vez más y luego haz los siguientes ejercicios. Siempre puede
volver a visitar este capítulo a medida que avanza en este libro y actualizar según
sea necesario cuando comience a aplicar estas ideas matemáticas.

Más contenido relacionado

Similar a La regla de la cadena.docx

Unidad i calculo 2
Unidad i calculo 2Unidad i calculo 2
Unidad i calculo 2stephanieeps
 
Calculo integral
Calculo integralCalculo integral
Calculo integralaameeriikaa
 
Programacion Convexa Presentacion Definitivo
Programacion Convexa Presentacion DefinitivoProgramacion Convexa Presentacion Definitivo
Programacion Convexa Presentacion Definitivowadar3
 
análisis matemático
análisis matemático análisis matemático
análisis matemático Mariana Solano
 
Integración numérica muy bueno
Integración numérica muy buenoIntegración numérica muy bueno
Integración numérica muy buenoLuis Elias
 
Notacion Sigma y el Teorema Fundamental del Cálculo
Notacion Sigma y el Teorema Fundamental del CálculoNotacion Sigma y el Teorema Fundamental del Cálculo
Notacion Sigma y el Teorema Fundamental del CálculoThomas Turkington
 
RAÍCES DE ECUACIONES
RAÍCES DE ECUACIONESRAÍCES DE ECUACIONES
RAÍCES DE ECUACIONESJenny López
 
Ecuaciones y sist de ecuaciones no lineales
Ecuaciones y sist de ecuaciones no linealesEcuaciones y sist de ecuaciones no lineales
Ecuaciones y sist de ecuaciones no linealesRonny Malpica
 
Aplicacion de la derivada
Aplicacion de la derivadaAplicacion de la derivada
Aplicacion de la derivadayicel abella
 
Derive 5(funciones de varias variables)
Derive 5(funciones de varias variables)Derive 5(funciones de varias variables)
Derive 5(funciones de varias variables)jalidf
 

Similar a La regla de la cadena.docx (20)

Semana 05 software libre maxima
Semana 05 software libre maximaSemana 05 software libre maxima
Semana 05 software libre maxima
 
Unidad i calculo 2
Unidad i calculo 2Unidad i calculo 2
Unidad i calculo 2
 
Calculo integral
Calculo integralCalculo integral
Calculo integral
 
Programacion Convexa Presentacion Definitivo
Programacion Convexa Presentacion DefinitivoProgramacion Convexa Presentacion Definitivo
Programacion Convexa Presentacion Definitivo
 
45905804 cd-u1-ev-ruvc
45905804 cd-u1-ev-ruvc45905804 cd-u1-ev-ruvc
45905804 cd-u1-ev-ruvc
 
análisis matemático
análisis matemático análisis matemático
análisis matemático
 
Integración numérica muy bueno
Integración numérica muy buenoIntegración numérica muy bueno
Integración numérica muy bueno
 
Notacion Sigma y el Teorema Fundamental del Cálculo
Notacion Sigma y el Teorema Fundamental del CálculoNotacion Sigma y el Teorema Fundamental del Cálculo
Notacion Sigma y el Teorema Fundamental del Cálculo
 
Calculo integral
Calculo integralCalculo integral
Calculo integral
 
Funcion cuadratic a
Funcion cuadratic aFuncion cuadratic a
Funcion cuadratic a
 
analisis matematico
analisis matematicoanalisis matematico
analisis matematico
 
RAÍCES DE ECUACIONES
RAÍCES DE ECUACIONESRAÍCES DE ECUACIONES
RAÍCES DE ECUACIONES
 
Ecuaciones y sist de ecuaciones no lineales
Ecuaciones y sist de ecuaciones no linealesEcuaciones y sist de ecuaciones no lineales
Ecuaciones y sist de ecuaciones no lineales
 
Matematicas cap5
Matematicas cap5Matematicas cap5
Matematicas cap5
 
Aplicacion de la derivada
Aplicacion de la derivadaAplicacion de la derivada
Aplicacion de la derivada
 
Interpolacion 1
Interpolacion 1Interpolacion 1
Interpolacion 1
 
Fourier.pdf
Fourier.pdfFourier.pdf
Fourier.pdf
 
Derive 5(funciones de varias variables)
Derive 5(funciones de varias variables)Derive 5(funciones de varias variables)
Derive 5(funciones de varias variables)
 
Capitulo 3-primera-parte
Capitulo 3-primera-parteCapitulo 3-primera-parte
Capitulo 3-primera-parte
 
INF_JARCH
INF_JARCHINF_JARCH
INF_JARCH
 

Más de ssuserd2a0fa

SUMAS EN SYMPY.docx
SUMAS EN SYMPY.docxSUMAS EN SYMPY.docx
SUMAS EN SYMPY.docxssuserd2a0fa
 
Repaso de cálculo y matemáticas básicas.docx
Repaso de cálculo y matemáticas básicas.docxRepaso de cálculo y matemáticas básicas.docx
Repaso de cálculo y matemáticas básicas.docxssuserd2a0fa
 
python y estadistica.docx
python y estadistica.docxpython y estadistica.docx
python y estadistica.docxssuserd2a0fa
 
La regla de la cadena.docx
La regla de la cadena.docxLa regla de la cadena.docx
La regla de la cadena.docxssuserd2a0fa
 
SUMAS EN SYMPY.docx
SUMAS EN SYMPY.docxSUMAS EN SYMPY.docx
SUMAS EN SYMPY.docxssuserd2a0fa
 
Repaso de cálculo y matemáticas básicas.docx
Repaso de cálculo y matemáticas básicas.docxRepaso de cálculo y matemáticas básicas.docx
Repaso de cálculo y matemáticas básicas.docxssuserd2a0fa
 
python y estadistica.docx
python y estadistica.docxpython y estadistica.docx
python y estadistica.docxssuserd2a0fa
 

Más de ssuserd2a0fa (7)

SUMAS EN SYMPY.docx
SUMAS EN SYMPY.docxSUMAS EN SYMPY.docx
SUMAS EN SYMPY.docx
 
Repaso de cálculo y matemáticas básicas.docx
Repaso de cálculo y matemáticas básicas.docxRepaso de cálculo y matemáticas básicas.docx
Repaso de cálculo y matemáticas básicas.docx
 
python y estadistica.docx
python y estadistica.docxpython y estadistica.docx
python y estadistica.docx
 
La regla de la cadena.docx
La regla de la cadena.docxLa regla de la cadena.docx
La regla de la cadena.docx
 
SUMAS EN SYMPY.docx
SUMAS EN SYMPY.docxSUMAS EN SYMPY.docx
SUMAS EN SYMPY.docx
 
Repaso de cálculo y matemáticas básicas.docx
Repaso de cálculo y matemáticas básicas.docxRepaso de cálculo y matemáticas básicas.docx
Repaso de cálculo y matemáticas básicas.docx
 
python y estadistica.docx
python y estadistica.docxpython y estadistica.docx
python y estadistica.docx
 

Último

PIZARRO-parte4.pdf apuntes de física 3, electricidad y magnetismo
PIZARRO-parte4.pdf apuntes de física 3, electricidad y magnetismoPIZARRO-parte4.pdf apuntes de física 3, electricidad y magnetismo
PIZARRO-parte4.pdf apuntes de física 3, electricidad y magnetismoArturoDavilaObando
 
Aborto Enzootico Ovino.pptx La clamidiosis ovina (aborto enzoótico de las ove...
Aborto Enzootico Ovino.pptx La clamidiosis ovina (aborto enzoótico de las ove...Aborto Enzootico Ovino.pptx La clamidiosis ovina (aborto enzoótico de las ove...
Aborto Enzootico Ovino.pptx La clamidiosis ovina (aborto enzoótico de las ove...JhonFonseca16
 
EXPOSICION NORMA TECNICA DE SALUD 2024 -
EXPOSICION NORMA TECNICA DE SALUD 2024 -EXPOSICION NORMA TECNICA DE SALUD 2024 -
EXPOSICION NORMA TECNICA DE SALUD 2024 -FridaDesiredMenesesF
 
Límites derivadas e integrales y análisis matemático.pptx
Límites derivadas e integrales y análisis matemático.pptxLímites derivadas e integrales y análisis matemático.pptx
Límites derivadas e integrales y análisis matemático.pptxErichManriqueCastill
 
artropodos fusion 2024 clase universidad de chile
artropodos fusion 2024 clase universidad de chileartropodos fusion 2024 clase universidad de chile
artropodos fusion 2024 clase universidad de chilecatabarria8
 
Ensayo ENRICH (sesión clínica, Servicio de Neurología HUCA)
Ensayo ENRICH (sesión clínica, Servicio de Neurología HUCA)Ensayo ENRICH (sesión clínica, Servicio de Neurología HUCA)
Ensayo ENRICH (sesión clínica, Servicio de Neurología HUCA)s.calleja
 
ECOGRAFIA RENAL Y SUS VARIANTES ANATOMICAS NORMALES
ECOGRAFIA RENAL Y SUS VARIANTES ANATOMICAS NORMALESECOGRAFIA RENAL Y SUS VARIANTES ANATOMICAS NORMALES
ECOGRAFIA RENAL Y SUS VARIANTES ANATOMICAS NORMALEScarlasanchez99166
 
Generalidades de Anatomía - Ayudantía de Cátedra AHCG .pdf
Generalidades de Anatomía - Ayudantía de Cátedra AHCG .pdfGeneralidades de Anatomía - Ayudantía de Cátedra AHCG .pdf
Generalidades de Anatomía - Ayudantía de Cátedra AHCG .pdfdennissotoleyva
 
enfermedades infecciosas diarrea viral bovina presentacion umss
enfermedades infecciosas diarrea viral bovina presentacion umssenfermedades infecciosas diarrea viral bovina presentacion umss
enfermedades infecciosas diarrea viral bovina presentacion umssCinthyaMercado3
 
Informe Aemet Tornados Sabado Santo Marchena Paradas
Informe Aemet Tornados Sabado Santo Marchena ParadasInforme Aemet Tornados Sabado Santo Marchena Paradas
Informe Aemet Tornados Sabado Santo Marchena ParadasRevista Saber Mas
 
Mata, S. - Kriegsmarine. La flota de Hitler [2017].pdf
Mata, S. - Kriegsmarine. La flota de Hitler [2017].pdfMata, S. - Kriegsmarine. La flota de Hitler [2017].pdf
Mata, S. - Kriegsmarine. La flota de Hitler [2017].pdffrank0071
 
registro cardiotocografico interpretacion y valoracion
registro cardiotocografico interpretacion y valoracionregistro cardiotocografico interpretacion y valoracion
registro cardiotocografico interpretacion y valoracionMarcoAntonioJimenez14
 
López, L. - Destierro y memoria. Trayectorias de familias judías piemontesas ...
López, L. - Destierro y memoria. Trayectorias de familias judías piemontesas ...López, L. - Destierro y memoria. Trayectorias de familias judías piemontesas ...
López, L. - Destierro y memoria. Trayectorias de familias judías piemontesas ...frank0071
 
Fresas y sistemas de pulido en odontología
Fresas y sistemas de pulido en odontologíaFresas y sistemas de pulido en odontología
Fresas y sistemas de pulido en odontologíaDanyAguayo1
 
Codigo rojo manejo y tratamient 2022.pptx
Codigo rojo manejo y tratamient 2022.pptxCodigo rojo manejo y tratamient 2022.pptx
Codigo rojo manejo y tratamient 2022.pptxSergioSanto4
 
EXAMEN ANDROLOGICO O CAPACIDAD REPRODUCTIVA EN EQUINOS.pptx
EXAMEN ANDROLOGICO O CAPACIDAD REPRODUCTIVA  EN EQUINOS.pptxEXAMEN ANDROLOGICO O CAPACIDAD REPRODUCTIVA  EN EQUINOS.pptx
EXAMEN ANDROLOGICO O CAPACIDAD REPRODUCTIVA EN EQUINOS.pptxJhonFonseca16
 
Procedimiento e interpretación de los coprocultivos.pdf
Procedimiento e interpretación de los coprocultivos.pdfProcedimiento e interpretación de los coprocultivos.pdf
Procedimiento e interpretación de los coprocultivos.pdfCarlaLSarita1
 
Patologias del quiasma optico .pptxxxxxx
Patologias del quiasma optico .pptxxxxxxPatologias del quiasma optico .pptxxxxxx
Patologias del quiasma optico .pptxxxxxxFranciscaValentinaGa1
 
valoracion hemodinamica y respuesta a fluidorerapia
valoracion hemodinamica y respuesta a fluidorerapiavaloracion hemodinamica y respuesta a fluidorerapia
valoracion hemodinamica y respuesta a fluidorerapiaresiutihjaf
 
Tema 1. Generalidades de Microbiologia Universidad de Oriente
Tema 1. Generalidades de Microbiologia Universidad de OrienteTema 1. Generalidades de Microbiologia Universidad de Oriente
Tema 1. Generalidades de Microbiologia Universidad de OrienteUnaLuzParaLasNacione
 

Último (20)

PIZARRO-parte4.pdf apuntes de física 3, electricidad y magnetismo
PIZARRO-parte4.pdf apuntes de física 3, electricidad y magnetismoPIZARRO-parte4.pdf apuntes de física 3, electricidad y magnetismo
PIZARRO-parte4.pdf apuntes de física 3, electricidad y magnetismo
 
Aborto Enzootico Ovino.pptx La clamidiosis ovina (aborto enzoótico de las ove...
Aborto Enzootico Ovino.pptx La clamidiosis ovina (aborto enzoótico de las ove...Aborto Enzootico Ovino.pptx La clamidiosis ovina (aborto enzoótico de las ove...
Aborto Enzootico Ovino.pptx La clamidiosis ovina (aborto enzoótico de las ove...
 
EXPOSICION NORMA TECNICA DE SALUD 2024 -
EXPOSICION NORMA TECNICA DE SALUD 2024 -EXPOSICION NORMA TECNICA DE SALUD 2024 -
EXPOSICION NORMA TECNICA DE SALUD 2024 -
 
Límites derivadas e integrales y análisis matemático.pptx
Límites derivadas e integrales y análisis matemático.pptxLímites derivadas e integrales y análisis matemático.pptx
Límites derivadas e integrales y análisis matemático.pptx
 
artropodos fusion 2024 clase universidad de chile
artropodos fusion 2024 clase universidad de chileartropodos fusion 2024 clase universidad de chile
artropodos fusion 2024 clase universidad de chile
 
Ensayo ENRICH (sesión clínica, Servicio de Neurología HUCA)
Ensayo ENRICH (sesión clínica, Servicio de Neurología HUCA)Ensayo ENRICH (sesión clínica, Servicio de Neurología HUCA)
Ensayo ENRICH (sesión clínica, Servicio de Neurología HUCA)
 
ECOGRAFIA RENAL Y SUS VARIANTES ANATOMICAS NORMALES
ECOGRAFIA RENAL Y SUS VARIANTES ANATOMICAS NORMALESECOGRAFIA RENAL Y SUS VARIANTES ANATOMICAS NORMALES
ECOGRAFIA RENAL Y SUS VARIANTES ANATOMICAS NORMALES
 
Generalidades de Anatomía - Ayudantía de Cátedra AHCG .pdf
Generalidades de Anatomía - Ayudantía de Cátedra AHCG .pdfGeneralidades de Anatomía - Ayudantía de Cátedra AHCG .pdf
Generalidades de Anatomía - Ayudantía de Cátedra AHCG .pdf
 
enfermedades infecciosas diarrea viral bovina presentacion umss
enfermedades infecciosas diarrea viral bovina presentacion umssenfermedades infecciosas diarrea viral bovina presentacion umss
enfermedades infecciosas diarrea viral bovina presentacion umss
 
Informe Aemet Tornados Sabado Santo Marchena Paradas
Informe Aemet Tornados Sabado Santo Marchena ParadasInforme Aemet Tornados Sabado Santo Marchena Paradas
Informe Aemet Tornados Sabado Santo Marchena Paradas
 
Mata, S. - Kriegsmarine. La flota de Hitler [2017].pdf
Mata, S. - Kriegsmarine. La flota de Hitler [2017].pdfMata, S. - Kriegsmarine. La flota de Hitler [2017].pdf
Mata, S. - Kriegsmarine. La flota de Hitler [2017].pdf
 
registro cardiotocografico interpretacion y valoracion
registro cardiotocografico interpretacion y valoracionregistro cardiotocografico interpretacion y valoracion
registro cardiotocografico interpretacion y valoracion
 
López, L. - Destierro y memoria. Trayectorias de familias judías piemontesas ...
López, L. - Destierro y memoria. Trayectorias de familias judías piemontesas ...López, L. - Destierro y memoria. Trayectorias de familias judías piemontesas ...
López, L. - Destierro y memoria. Trayectorias de familias judías piemontesas ...
 
Fresas y sistemas de pulido en odontología
Fresas y sistemas de pulido en odontologíaFresas y sistemas de pulido en odontología
Fresas y sistemas de pulido en odontología
 
Codigo rojo manejo y tratamient 2022.pptx
Codigo rojo manejo y tratamient 2022.pptxCodigo rojo manejo y tratamient 2022.pptx
Codigo rojo manejo y tratamient 2022.pptx
 
EXAMEN ANDROLOGICO O CAPACIDAD REPRODUCTIVA EN EQUINOS.pptx
EXAMEN ANDROLOGICO O CAPACIDAD REPRODUCTIVA  EN EQUINOS.pptxEXAMEN ANDROLOGICO O CAPACIDAD REPRODUCTIVA  EN EQUINOS.pptx
EXAMEN ANDROLOGICO O CAPACIDAD REPRODUCTIVA EN EQUINOS.pptx
 
Procedimiento e interpretación de los coprocultivos.pdf
Procedimiento e interpretación de los coprocultivos.pdfProcedimiento e interpretación de los coprocultivos.pdf
Procedimiento e interpretación de los coprocultivos.pdf
 
Patologias del quiasma optico .pptxxxxxx
Patologias del quiasma optico .pptxxxxxxPatologias del quiasma optico .pptxxxxxx
Patologias del quiasma optico .pptxxxxxx
 
valoracion hemodinamica y respuesta a fluidorerapia
valoracion hemodinamica y respuesta a fluidorerapiavaloracion hemodinamica y respuesta a fluidorerapia
valoracion hemodinamica y respuesta a fluidorerapia
 
Tema 1. Generalidades de Microbiologia Universidad de Oriente
Tema 1. Generalidades de Microbiologia Universidad de OrienteTema 1. Generalidades de Microbiologia Universidad de Oriente
Tema 1. Generalidades de Microbiologia Universidad de Oriente
 

La regla de la cadena.docx

  • 1. La regla de la cadena The Chain Rule En el Capítulo 7, cuando construyamos una red neuronal, vamos a necesitar un truco matemáticoespecial llamado regla de la cadena. Cuando compongamos las capas de la red neuronal, tendremos que desenredar las derivadas de cada capa. Pero por ahora aprendamos la regla de la cadena con un ejemplo algebraico simple. Digamos que te dan dos funciones: y = x2 + 1 z = y3 - 2 Observe que estas dos funciones están vinculadas, porque y es la variable de salida en la primera función pero es la variable de entrada en la segunda. Esto significa que podemos sustituir la primera función y en la segunda función z así: Entonces, ¿cuál es la derivada de z con respecto a x ? Ya tenemos la sustitución expresando z en términos de x. Usemos SymPypara calcular eso en el ejemplo 1-24. Ejemplo 1-24. Encontrar la derivada de z con respecto a x from sympy import * z = (x**2 + 1)**3 - 2 dz_dx = diff(z, x) print(dz_dx) # 6*x*(x**2 + 1)**2 Entonces nuestra derivada de z con respecto a x es 6x (x2 +1) 2 : Pero mira esto. Comencemos de nuevo y tomemos un enfoque diferente. Si tomamos las derivadas de las funciones y y z por separado, y luego las multiplicamos juntas, ¡esto también produce la derivada de z con respecto a x ! Vamos a intentarlo: Muy bien, 6 xy2 puede no parecerse a 6 x (x2 +1) 2, pero eso es solo porque aún no hemos sustituido la función y. Haga eso para que toda la derivada se exprese en términos de x sin y.
  • 2. Ahora vemos que tenemos la misma función derivada 6x (x2 +1)2 ! Esta es la regla de la cadena, que dice que para una función dada y (con variable de entrada x ) compuesta en otra función z (con variable de entrada y ), podemos encontrar la derivada de z con respecto a x multiplicando las dos derivadas respectivas : El ejemplo 1-25 muestra el código SymPy que hace esta comparación, mostrando que la derivada de la regla de la cadena es igual a la derivada de la función sustituida. Ejemplo 1-25. Calcular la derivada dz/dx con y sin la regla de la cadena, pero aún obteniendo la misma respuesta fromsympy import* x, y = symbols('x y') # derivativeforfirstfunction # needtounderscore y to preventvariable clash _y = x**2 + 1 dy_dx = diff(_y) # derivativeforsecondfunction z = y**3 - 2 dz_dy = diff(z) # Calculate derivativewithandwithout # chainrule,substitute yfunction dz_dx_chain = (dy_dx * dz_dy).subs(y, _y) dz_dx_no_chain = diff(z.subs(y, _y)) # Prove chainrule byshowingbothare equal print(dz_dx_chain) # 6*x*(x**2 + 1)**2 print(dz_dx_no_chain) # 6*x*(x**2 + 1)**2 La regla de la cadena es una parte clave del entrenamiento de una red neuronal con los pesos y sesgos adecuados. En lugar de desenredar la derivada de cada nodo en forma de cebolla anidada, podemos multiplicar las derivadas en cada nodo, lo cual es matemáticamente mucho más fácil. Integrales Lo contrario de una derivada es una integral, que encuentra el área bajo la curva para un rango dado. En los Capítulos 2 y 3, encontraremos las áreas bajo distribuciones de probabilidad. Aunque no usaremos integrales directamente, y en su lugar usaremos funciones de densidad acumulativa que ya están integradas, es bueno saber cómo las integrales encuentran áreas bajo curvas. El Apéndice A contiene ejemplos del uso de este enfoque en distribuciones de probabilidad. Quiero adoptar un enfoque intuitivo para aprender integrales llamado Reimann Sums, uno que se adapte de manera flexible a cualquier función continua. Primero, señalemos que encontrar el área de un rango debajo de una línea recta es fácil. Digamos que tengo una función f( x ) = 2x y quiero encontrar el área debajo de la línea entre 0 y 1, como se muestra en la figura 1-9.
  • 3. Figura 1-9. Cálculo de un área bajo una función lineal Observe que estoy encontrando el área delimitada entre la línea y el eje x, y en el rango x de 0,0 a 1,0. Si recuerdas las fórmulas básicas de geometría, el área A de un triángulo es donde b es la longitud de la base y h es la altura. Podemos detectar visualmente que b = 1 y h = 2. Entonces, al conectarnos a la fórmula, obtenemos para nuestra área 1.0 como se calcula aquí: A = 1 Eso no estuvo mal, ¿verdad? Pero veamos una función en la que es difícil encontrar el área debajo: f ( x ) = x 2 + 1. ¿Cuál es el área entre 0 y 1 sombreada en la figura 1-10 ?
  • 4. Figura 1-10. Calcular el área bajo funciones no lineales es menos sencillo Nuevamente, estamos interesados en el área debajo de la curva y sobre el eje x, solo dentro del rango x entre 0 y 1. La curvatura aquí no nos brinda una fórmula geométrica clara para encontrar el área, pero aquí hay un pequeño truco inteligente. tu puedes hacer. ¿Qué pasa si empaquetamos cinco rectángulos de igual longitud debajo de la curva como se muestra en la Figura 1-11, donde la altura de cada uno se extiende desde el eje x hasta donde el punto medio toca la curva? El área de un rectángulo es A = length × width A = largo × ancho , por lo que podríamos sumar fácilmente las áreas de los rectángulos. ¿Nos daría eso una buena aproximación del área bajo la curva? ¿Qué pasa si empacamos 100 rectángulos? 1,000? 100,000? A medida que aumentamos el número de rectángulos mientras disminuimos su ancho, ¿no nos acercaríamos al área bajo la curva? Sí, lo haríamos, y es otro caso más en el que aumentamos/disminuimos algo hacia el infinito para acercarnos a un valor real.
  • 5. Figura 1-11. Rectángulos de embalaje debajo de una curva para aproximar el área Probémoslo en Python. Primero necesitamos una función que aproxime una integral que llamaremos approximate_integral(). Los argumentos a y b especificarán el mínimo y el máximo del rango x, respectivamente. n será el número de rectángulos a empaquetar y f será la función que estamos integrando. Implementamos la función en el Ejemplo 1-26 y luego la usamos para integrar nuestra función f ( x ) = x2 + 1 con cinco rectángulos, entre 0.0 y 1.0. Ejemplo 1-26. Una aproximación integral en Python def approximate_integral(a, b, n, f): delta_x = (b - a) / n total_sum = 0 for i in range(1, n + 1): midpoint = 0.5 * (2 * a + delta_x * (2 * i - 1)) total_sum += f(midpoint) return total_sum * delta_x def my_function(x): return x**2 + 1 area = approximate_integral(a=0, b=1, n=5, f=my_function) print(area) # prints 1.33 Entonces obtenemos un área de 1.33. ¿Qué pasa si usamos 1,000 rectángulos? Probémoslo en el ejemplo 1-27. Ejemplo 1-27. Otra aproximación integral en Python area = approximate_integral(a=0, b=1, n=1000, f=my_function) print(area) # prints 1.333333250000001 Bien, estamos obteniendo algo más de precisión aquí y obteniendo algunos lugares decimales más. ¿Qué pasa con un millón de rectángulos como se muestra en el Ejemplo 1-28 ? Ejemplo 1-28. Otra aproximación integral en Python
  • 6. area = approximate_integral(a=0, b=1, n=1_000_000, f=my_function) print(area) # prints 1.3333333333332733 Bien, creo que estamos obteniendo un rendimiento decreciente aquí y convergiendo en el valor 1. 333 ¯ donde la parte ".333" se repite para siempre. Si fuera un número racional, probablemente 4/3 = 1. 333. A medida que aumentamos el número de rectángulos, la aproximación comienza a alcanzar su límite con decimales cada vez más pequeños. Ahora que tenemos cierta intuición sobre lo que estamos tratando de lograr y por qué, hagamos un enfoque más exacto con SymPy, que es compatible con los números racionales, en el Ejemplo 1-29. Ejemplo 1-29. Uso de SymPy para realizar la integración from sympy import * # Declare 'x' to SymPy x = symbols('x') # Now just use Python syntax to declare function f = x**2 + 1 # Calculate the integral of the function with respect to x # for the area between x = 0 and 1 area = integrate(f, (x, 0, 1)) print(area) # prints 4/3¡ Enfriar! Entonces, el área en realidad es 4/3, que es en lo que convergió nuestro método anterior. Desafortunadamente, Python simple (y muchos lenguajes de programación) solo admiten decimales, pero los sistemas de álgebra computacional como SymPy nos brindan números racionales exactos. Usaremos integrales para encontrar áreas bajo curvas en los Capítulos 2 y 3, aunque scikit-learn hará el trabajo por nosotros. CÁLCULO DE INTEGRALES CON LÍMITES Para los súper curiosos, así es como calculamos integrales definidas usando límites en SymPy. ¡Por favor! Omita o regrese a esta barra lateral más tarde si tiene suficiente para digerir. Pero si te sientes bien y quieres profundizar en cómo se derivan las integrales usando límites, continúa! La idea principal sigue mucho de lo que hicimos antes: empaqueta rectángulos bajo una curva y hazlos infinitamente más pequeños hasta que nos acerquemos al área exacta. Pero, por supuesto, los rectángulos no pueden tener un ancho de 0.. solo tienen que seguir acercándose a 0 sin llegar nunca a 0. Es otro caso de usar límites. Khan Academy tiene un excelente artículo que explica cómo usar los límites para las Sumas de Reimann, pero así es como lo hacemos en SymPy, como se muestra en el Ejemplo 1-30. Ejemplo 1-30. Usar límites para calcular integrales fromsympy import* # Declare variablestoSymPy x, i, n = symbols('x i n') # Declare functionandrange f = x**2 + 1
  • 7. lower, upper = 0, 1 # Calculate widthandeachrectangle heightatindex "i" delta_x = ((upper - lower) / n) x_i = (lower + delta_x * i) fx_i = f.subs(x, x_i) # Iterate all "n"rectanglesandsumtheirareas n_rectangles = Sum(delta_x * fx_i, (i, 1, n)).doit() # Calculate the areabyapproachingthe number # of rectangles"n"to infinity area = limit(n_rectangles, n, oo) print(area) #prints4/3 Aquí determinamos la longitud de cada rectángulo delta_x y el inicio de cada rectángulo x_i donde i es el índice de cada rectángulo. fx_i es la altura de cada rectángulo en el índice i. Declaramos un número n de rectángulos y sumamos sus áreas delta_x * fx_i, pero aún no tenemos un valor de área porque no hemos asignado un número para n. En cambio, nos acercamos a n hacia el infinito para ver en qué área convergemos, ¡y deberías obtener 4/3! Conclusión En este capítulo cubrimos algunos fundamentos que usaremos para el resto de este libro. Desde la teoría de números hasta los logaritmos y las integrales de cálculo, destacamos algunos conceptos matemáticos importantes relevantes para la ciencia de datos, el aprendizaje automático y el análisis. Es posible que tenga preguntas acerca de por qué estos conceptos son útiles. ¡Eso vendrá después! Antes de pasar a discutir la probabilidad, tómate un poco de tiempo para repasar estos conceptos una vez más y luego haz los siguientes ejercicios. Siempre puede volver a visitar este capítulo a medida que avanza en este libro y actualizar según sea necesario cuando comience a aplicar estas ideas matemáticas.