0% encontró este documento útil (0 votos)
82 vistas43 páginas

Full

Cargado por

devat56993
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
82 vistas43 páginas

Full

Cargado por

devat56993
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 43

LAS MATEMÁTICAS DE

LA INTELIGENCIA
ARTIFICIAL

Joaquin López Herraiz


Universidad Complutense de Madrid
Las matemáticas de la
inteligencia artificial
Joaquín L. Herraiz 1, María Teresa Benavent 2, Paula Cordero 1, Raúl González 1, Paula Ibáñez 1,
Juan Antonio Infante 3, Fernando Porqueras 4, M. Ángeles Prieto 3, Gema de Jesús Rodríguez2.
1
- Depto. de Estructura de la Materia, Física Térmica y Electrónica. Facultad de Ciencias Físicas. UCM
2
- Sec. Dep. de Astronomía y Geodesia. Depto. de Física de la Tierra y Astrofísica. Facultad de Ciencias Matemáticas. UCM
3
- Depto. de Análisis Matemático y Matemática Aplicada. Facultad de Ciencias Matemáticas. UCM
4
- Gabinete Informático. Facultad de Ciencias Matemáticas. UCM

Proyecto de Innovación de la Universidad Complutense de Madrid - Convocatoria 2020/2021

Titulo is shared under a not declared license and was authored, remixed, and/or curated by LibreTexts.
Este texto se difunde a través del Proyecto LibreTexts de Recursos Educativos Abiertos (REA) ( https://LibreTexts.org ) y, al igual
que los cientos de otros textos disponibles en esta poderosa plataforma, está disponible gratuitamente para leer, imprimir y
«consumir». La mayoría de las páginas de la biblioteca, pero no todas, tienen licencias que pueden permitir a las personas hacer
cambios, guardar e imprimir este libro. Consulte cuidadosamente las licencias aplicables antes de perseguir dichos efectos.
Los profesores pueden adoptar textos de LibreTexts existentes o remezclarlos para crear rápidamente recursos específicos del curso
que satisfagan las necesidades de sus alumnos. A diferencia de los libros de texto tradicionales, los orígenes basados en la web de
LibreTexts permiten una poderosa integración de funciones avanzadas y nuevas tecnologías para apoyar el aprendizaje.

La misión de LibreTexts es unir a estudiantes, profesores y académicos en un esfuerzo cooperativo para desarrollar una plataforma
en línea fácil de usar para la construcción, personalización y difusión del contenido de REA para reducir la carga de los costos
irrazonables de los libros de texto para nuestros estudiantes y la sociedad. El proyecto LibreTexts es una empresa colaborativa
multiinstitucional para desarrollar la próxima generación de textos de acceso abierto para mejorar la educación postsecundaria en
todos los niveles de educación superior mediante el desarrollo de un entorno de recursos de acceso abierto. El proyecto consiste
actualmente en 14 bibliotecas interconectadas y que funcionan de manera independiente y que están siendo optimizadas
constantemente por estudiantes, profesores y expertos externos para reemplazar a los libros convencionales en papel. Estas
alternativas de libros de texto gratuitos se organizan dentro de un entorno central que está integrado tanto vertical (desde el nivel
avanzado hasta el nivel básico) como horizontalmente (en diferentes campos).
Las bibliotecas de LibreTexts son Desarrollado por MindTouch ® y cuentan con el apoyo del Proyecto Piloto de Libros de Texto
Abiertos del Departamento de Educación, la Oficina del Rector de UC Davis, la Biblioteca de UC Davis, el Programa de
Soluciones de Aprendizaje Asequible de la Universidad Estatal de California y Merlot. Este material se basa en el trabajo apoyado
por la Fundación Nacional de Ciencias bajo el número de subvención 1246120, 1525057 y 1413739. A menos que se indique lo
contrario, el contenido de LibreTexts CC POR-NC-SA 3.0 .
Todas las opiniones, hallazgos y conclusiones o recomendaciones expresadas en este material son de los autores y no reflejan
necesariamente los puntos de vista de la Fundación Nacional de Ciencias ni del Departamento de Educación de los EE. UU.
¿Tiene preguntas o comentarios? Para obtener información sobre adopciones o adaptaciones, póngase en contacto
con [email protected] . Puede encontrar más información sobre nuestras actividades en Facebook
( https://facebook.com/Libretexts ), Twitter ( https://twitter.com/libretexts ) o nuestro blog ( http://Blog.Libretexts.org ).

Página de Información is shared under a not declared license and was authored, remixed, and/or curated by LibreTexts.
TABLE OF CONTENTS

Portada
Titulo
Página de Información
Table of Contents
Licensing

1: Introducción a la Inteligencia Artificial y las Redes Neuronales


1.1: Introducción General
1.2: Perspectiva Histórica
1.3: Aplicaciones presentes y futuras
1.4: Objetivos del Curso

2: Introducción al Cálculo Multivariante

3: Composición de Funciones. Regla de la Cadena


4: Aproximación Lineal de una Función Escalar de Varias Variables

5: Optimización y Método del Gradiente Descendiente


6: Redes Neuronales
6.1: Perceptrón
6.2: Funciones de Activación
6.3: Funciones de Pérdida
6.4: Perceptrón Multicapa

7: Retropropagación

8: Entrenamiento de una Red Neuronal

Apéndices
Índice alfabético
Glosario
Detailed Licensing
Bibliografia Recomendada

Table of Contents is shared under a not declared license and was authored, remixed, and/or curated by LibreTexts.

1 https://math.libretexts.org/@go/page/93067
Licensing
A detailed breakdown of this resource's licensing can be found in Back Matter/Detailed Licensing.

Licensing is shared under a not declared license and was authored, remixed, and/or curated by LibreTexts.

1 https://math.libretexts.org/@go/page/119988
CHAPTER OVERVIEW

Portada
Titulo
Página de Información
Table of Contents
Licensing

Portada is shared under a not declared license and was authored, remixed, and/or curated by LibreTexts.

1
Las matemáticas de la
inteligencia artificial
Joaquín L. Herraiz 1, María Teresa Benavent 2, Paula Cordero 1, Raúl González 1, Paula Ibáñez 1,
Juan Antonio Infante 3, Fernando Porqueras 4, M. Ángeles Prieto 3, Gema de Jesús Rodríguez2.
1
- Depto. de Estructura de la Materia, Física Térmica y Electrónica. Facultad de Ciencias Físicas. UCM
2
- Sec. Dep. de Astronomía y Geodesia. Depto. de Física de la Tierra y Astrofísica. Facultad de Ciencias Matemáticas. UCM
3
- Depto. de Análisis Matemático y Matemática Aplicada. Facultad de Ciencias Matemáticas. UCM
4
- Gabinete Informático. Facultad de Ciencias Matemáticas. UCM

Proyecto de Innovación de la Universidad Complutense de Madrid - Convocatoria 2020/2021

Titulo is shared under a not declared license and was authored, remixed, and/or curated by LibreTexts.
Este texto se difunde a través del Proyecto LibreTexts de Recursos Educativos Abiertos (REA) ( https://LibreTexts.org ) y, al igual
que los cientos de otros textos disponibles en esta poderosa plataforma, está disponible gratuitamente para leer, imprimir y
«consumir». La mayoría de las páginas de la biblioteca, pero no todas, tienen licencias que pueden permitir a las personas hacer
cambios, guardar e imprimir este libro. Consulte cuidadosamente las licencias aplicables antes de perseguir dichos efectos.
Los profesores pueden adoptar textos de LibreTexts existentes o remezclarlos para crear rápidamente recursos específicos del curso
que satisfagan las necesidades de sus alumnos. A diferencia de los libros de texto tradicionales, los orígenes basados en la web de
LibreTexts permiten una poderosa integración de funciones avanzadas y nuevas tecnologías para apoyar el aprendizaje.

La misión de LibreTexts es unir a estudiantes, profesores y académicos en un esfuerzo cooperativo para desarrollar una plataforma
en línea fácil de usar para la construcción, personalización y difusión del contenido de REA para reducir la carga de los costos
irrazonables de los libros de texto para nuestros estudiantes y la sociedad. El proyecto LibreTexts es una empresa colaborativa
multiinstitucional para desarrollar la próxima generación de textos de acceso abierto para mejorar la educación postsecundaria en
todos los niveles de educación superior mediante el desarrollo de un entorno de recursos de acceso abierto. El proyecto consiste
actualmente en 14 bibliotecas interconectadas y que funcionan de manera independiente y que están siendo optimizadas
constantemente por estudiantes, profesores y expertos externos para reemplazar a los libros convencionales en papel. Estas
alternativas de libros de texto gratuitos se organizan dentro de un entorno central que está integrado tanto vertical (desde el nivel
avanzado hasta el nivel básico) como horizontalmente (en diferentes campos).
Las bibliotecas de LibreTexts son Desarrollado por MindTouch ® y cuentan con el apoyo del Proyecto Piloto de Libros de Texto
Abiertos del Departamento de Educación, la Oficina del Rector de UC Davis, la Biblioteca de UC Davis, el Programa de
Soluciones de Aprendizaje Asequible de la Universidad Estatal de California y Merlot. Este material se basa en el trabajo apoyado
por la Fundación Nacional de Ciencias bajo el número de subvención 1246120, 1525057 y 1413739. A menos que se indique lo
contrario, el contenido de LibreTexts CC POR-NC-SA 3.0 .
Todas las opiniones, hallazgos y conclusiones o recomendaciones expresadas en este material son de los autores y no reflejan
necesariamente los puntos de vista de la Fundación Nacional de Ciencias ni del Departamento de Educación de los EE. UU.
¿Tiene preguntas o comentarios? Para obtener información sobre adopciones o adaptaciones, póngase en contacto
con [email protected] . Puede encontrar más información sobre nuestras actividades en Facebook
( https://facebook.com/Libretexts ), Twitter ( https://twitter.com/libretexts ) o nuestro blog ( http://Blog.Libretexts.org ).

Página de Información is shared under a not declared license and was authored, remixed, and/or curated by LibreTexts.
TABLE OF CONTENTS

Portada
Titulo
Página de Información
Table of Contents
Licensing

1: Introducción a la Inteligencia Artificial y las Redes Neuronales


1.1: Introducción General
1.2: Perspectiva Histórica
1.3: Aplicaciones presentes y futuras
1.4: Objetivos del Curso

2: Introducción al Cálculo Multivariante

3: Composición de Funciones. Regla de la Cadena


4: Aproximación Lineal de una Función Escalar de Varias Variables

5: Optimización y Método del Gradiente Descendiente


6: Redes Neuronales
6.1: Perceptrón
6.2: Funciones de Activación
6.3: Funciones de Pérdida
6.4: Perceptrón Multicapa

7: Retropropagación

8: Entrenamiento de una Red Neuronal

Apéndices
Índice alfabético
Glosario
Detailed Licensing
Bibliografia Recomendada

Table of Contents is shared under a not declared license and was authored, remixed, and/or curated by LibreTexts.

1 https://math.libretexts.org/@go/page/93067
Licensing
A detailed breakdown of this resource's licensing can be found in Back Matter/Detailed Licensing.

Licensing is shared under a not declared license and was authored, remixed, and/or curated by LibreTexts.

1 https://math.libretexts.org/@go/page/119988
1: Introducción a la Inteligencia Artificial y las Redes Neuronales
1.1. Introducción General
1.2. Perspectiva Histórica
1.3. Aplicaciones presentes y futuras
1.4. Objetivos del Curso

1: Introducción a la Inteligencia Artificial y las Redes Neuronales is shared under a not declared license and was authored, remixed, and/or
curated by LibreTexts.

1
1.1: Introducción General

This page is a draft and is under active development.

La inteligencia artificial, en especial el aprendizaje automático con redes neuronales, ha experimentado una importante revolución
en los últimos tiempos. Esto se ha debido al gran aumento de la cantidad de datos disponibles, el incremento de la capacidad de
cálculo de los ordenadores (especialmente con el uso de tarjetas gráficas para cálculo científico), así como importantes mejoras en
los algoritmos.
Estos avances están abriendo nuevas posibilidades en muchas áreas, tanto científicas como tecnológicas. Por ejemplo, en el campo
de la física de partículas se están empleando para mejorar los análisis de datos en laboratorios como el CERN, también se están
aplicando en el análisis de datos astrofísicos, y en el ámbito de la física médica, han demostrado llegar a igualar e incluso superar a
expertos en tareas de segmentación y reconocimientos de lesiones en imágenes. También en el campo de la robótica, imitando
comportamientos humanos, o en las entrañas de sistemas de recomendación y bots.
Todo esto hace que muchas empresas y proyectos de investigación estén estudiando cómo trasladar y aplicar estas nuevas potentes
herramientas a su campo, y haya una importante demanda de expertos en estos temas en el mercado laboral.
A pesar de estos avances, estas materias están solo empezando a formar parte integral de la formación de los estudiantes de física o
matemáticas y en general, se circunscriben al ámbito de cursos avanzados y/o de especialización. Sin embargo, el conocer sus
fundamentos puede ayudar a los estudiantes a tener una formación más adaptada a las demandas actuales del mercado de trabajo,
así como ver aplicaciones prácticas de muchos de los contenidos que se tratan en asignaturas como Cálculo Multivariable y Cálculo
Diferencial.

1.1: Introducción General is shared under a not declared license and was authored, remixed, and/or curated by LibreTexts.

1.1.1 https://math.libretexts.org/@go/page/92926
1.2: Perspectiva Histórica
Como sucede en muchas disciplinas, existen diversas interpretaciones sobre el instante en el que se puede determinar el origen de
la inteligencia artificial (IA), y las técnicas que se engloban dentro del aprendizaje automático. Esto se debe a que depende en cierta
medida de la definición concreta que se use para definir IA o aprendizaje automático, y que se apoya en distintas disciplinas previas
como la lógica matemática, la filosofía, la computación, neurociencia... Una lista de sus antecedentes históricos se puede consultar,
por ejemplo en Wikipedia.
En cualquier caso, se puede considerar que Inteligencia Artificial fue un concepto principalmente filosófico hasta mediados del
siglo XX. En 1950, Alan Turing propuso lo que se conoce como prueba de Turing una especie de «juego de imitación» en el que
participan dos personas y una computadora. Un interrogador plantea preguntas y debe determinar si las respuestas que reciben
proceden de una persona o una computadora. Si la computadora es capaz de dar respuestas tan "humanas" que no
permitan identificarlas como provenientes de una máquina, según Turing, es inteligente. Éste enfoque ofrece una respuesta sobre la
cuestión de cómo estudiar la inteligencia artificial, pero no ofrece las herramientas sobre cómo llegar a crear ese tipo de
inteligencia.
En 1956, ya apareció el término "Inteligencia Artificial" en una conferencia en Dartmouth (New Hampshire) y se plantearon unos
objetivos muy ambiciosos a corto plazo, que no se cumplieron. Tal como se ha visto posteriormente, la posibilidad de crear este
tipo de máquinas inteligentes requiere de una capacidad de cálculo muy lejos de lo que permitían la tecnología de aquella época.
En 1973, la falta de resultados hizo que los gobiernos de EEUU e Inglaterra dejaran de financiar proyectos de IA, y esa falta de
financiación se conoce como el "Invierno de la IA". Al comienzo de los años 80, el gobierno de Japón impulsó un ambicioso plan
con miles de millones de dolares de inversión en IA, pero a finales de los años 80, de nuevo la falta de los resultados esperados
hizo que se voviera a retirar ese tipo de financiación.
Hubo que esperar al siglo XXI para que las técnicas de aprendizaje automático pudieran ser aplicadas con éxito en muchos
problemas académicos y de la industria. Los nuevos métodos que se han ido desarrollando en las últimas dos décadas, junto con la
capacidad de cómputo y de memoria de las computadoras actuales ha permitido por fin que la IA tenga un gran impacto en la
sociedad.

1.2: Perspectiva Histórica is shared under a not declared license and was authored, remixed, and/or curated by LibreTexts.

1.2.1 https://math.libretexts.org/@go/page/92927
1.3: Aplicaciones presentes y futuras

This page is a draft and is under active development.

En la actualidad, el uso de la IA y más concretamente, algoritmos y métodos de aprendizaje automático (incluyendo redes
neuronales y aprendizaje profundo) se encuentran muy extendidos, y están siendo usados en la gran mayoría de disciplinas
científicas y actividades de la industria.
En muchos casos, todas estas técnicas lo que permiten es realizar un análisis de datos y de la información de un modo mucho más
general que lo que se venía usando. Por ejemplo, permiten combinar datos heterogéneos como combinaciones de imágenes y datos
numéricos, videos y señales de sensores.. En otros casos, su principal atractivo es eliminar la necesidad de disponer de un modelo
teórico previo sobre un fenómeno para poder estudiarlo.
Esto está llevando a un cambio de paradigma en ciencia desde lo que se conoce como "model-driven" a lo que se conoce como
"data-driven". Es decir, con la IA se da más importancia a los datos y a lo que se pueda determinar a partir de ellos, que a generar
un modelo teórico sencillo y explicable con ellos. Este cambio ofrece importantes ventajas prácticas, pero por supuesto, esto no
está exento de polémica y riesgos, y plantea una serie de importantes cuestiones tanto prácticas como filosóficas. Por ejemplo:
¿Cómo reconciliar los métodos "clásicos" con los que se obtienen con IA?
¿Hasta qué punto debemos seguir usando y desarrollando los métodos previos?
¿Cómo lograr "aprender" (en el sentido de generar un modelo que explique un fenómeno y que se pueda formular de manera
inteligible para los humanos) de lo que ha "aprendido" una IA?

1.3: Aplicaciones presentes y futuras is shared under a not declared license and was authored, remixed, and/or curated by LibreTexts.

1.3.1 https://math.libretexts.org/@go/page/92928
1.4: Objetivos del Curso
El objetivo de este curso es ofrecer los fundamentos de cálculo matemático en los que se basan las redes neuronales, que han
sido la principal herramienta de la IA que ha permitido abarcar problemas complejos.
Existen muchos cursos sobre IA, enfocados principalmente a la programación y el uso de estas nuevas herramientas. También
existen algunos cursos en inglés en otras universidades sobre las matemáticas de la IA, que en algunos casos incluyen también
contenidos sobre estadística y otras disciplinas que también juegan un importante papel en la IA.
En nuestro caso, nos centraremos en las cuestiones referidas al cálculo, optimización de las redes neuronales, enfocado
principalmente a cómo determinar los coeficientes de una red neuronal (lo que se conoce como "entrenamiento de la red neuronal")
a partir de una serie de medidas.

1.4: Objetivos del Curso is shared under a not declared license and was authored, remixed, and/or curated by LibreTexts.

1.4.1 https://math.libretexts.org/@go/page/92929
2: Introducción al Cálculo Multivariante
Presentamos inicialmente algunos conceptos como los de función multivariante, derivada parcial, gradiente, así como la
composición de funciones de varias variables y la regla de la cadena para su derivación. Todos ellos serán imprescindibles en el
desarrollo subsiguiente, en el que se introduce un algoritmo de aprendizaje supervisado muy utilizado para entrenar redes
neuronales. Nos valdremos para ello del método del gradiente descendente, en cuya aplicación efectiva se emplea la estrategia de
retropropagación, indicada para el cálculo del gradiente de funciones mediante la aplicación recursiva de la regla de la cadena.

 Definición 2.1

Definición 1. Una función f : R → R lleva x ∈ R en y = f(x) ∈ R . Se dice que R es el dominio de f y para cada
n k n k n

x ∈ R , el vector y = f(x) es la imagen de x por f . El conjunto de todas las imágenes se denomina también imagen de f .
n

x = (x1 , … , xn )
T
.
f(x) = (f1 (x), … , fk (x))
T
y cada f i (x) es una función coordenada de f.
Si k = 1 , f (x) ∈ R .

Observación 2.1
Los vectores x ∈ R son vectores columna. Por comodidad, usamos la notación x = (x , … , x ) para indicar el
n
1 n
T

traspuesto del vector fila (x , … , x ). En ocasiones preferiremos la notación f(x, y), que resulta más simple que f((x, y ) ).
1 n
T

 Ejemplo 2.1

Funciones Lineales
Para números reales fijos a , a , a , la función lineal
1 2 3 f de dominio R
3
dada por f (x1 , x2 , x3 ) = a1 x1 + a2 x2 + a3 x3

cumple que fijadas dos de las variables.


Por ejemplo x 1 = −3 yx 2 =5 , la función g(x 3) = −3 a1 + 5 a2 + a3 x3 es una función lineal.

 Ejemplo 2.2

Consideramos la función f (x, y) = x + y , con dominio R e imagen en R. El valor mı ń imo que toma la función es 0, en el
2 2 2

punto (0, 0). En todos los puntos (x, y) que estén sobre la circunferencia centrada en (0, 0) y radio r > 0 , la función f toma
el valor r . Si fijamos una de las variables, por ejemplo y = 3 , obtenemos la función g(x) = x + 9 , cuya gráfica es una
2 2

parábola. Podemos represintar la función f , que es la superficie de R de la gráfica siguiente:


3

Observación 2.2
Cuando trabajemos con una función f : R → R y fijemos n − 1 variables, obtenemos una función con dominio e imagen en
n

R , que podemos analizar con las técnicas ya conocidas.

2.1 https://math.libretexts.org/@go/page/93057
 Ejemplo 2.3

La función f : R → R dada por f(t) = (cos(t), sin(t)) viene definida por las funciones coordenadas f
2
1 (t) = cos(t) y
f2 (t) = sin(t) . La gráfica de f es una hélice contenida en R . La imagen de f es 3
el conjunto
:= {(x, y) ∈ R : x + y = 1} , ya que para todo t ∈ R se cumple que cos (t) + sin (t) = 1 .
2 2 2 2 2
C

 Ejemplo 2.4
1
Nos encontraremos con la función sigmoide σ(x) = , que es derivable y (¡Compruébalo!) su derivada es
1 + e−x

σ (x) = σ(x)(1 − σ(x))

Revisamos para una función f : R → R (es decir: n = k = 1 ), la noción de derivada en un punto x.

 Definición 2.2

La derivada de f en x, que notamos f ′


(x) , viene dada (¡Cuando existe!) por:
f (x + h) − f (x)
lim (2.1)
h→0 h

Recuerda que ′
f (x) es la pendiente de la recta que más se asemeja a la gráfica de la función entre las que pasan por el punto
d−b
(x, f (x)) . Como la recta que une los puntos (a, b) y (c, d) tiene pendiente , la recta que une (x, f (x)) con
c −a
f (x + h) − f (x)
(x + h, f (x + h)) tiene como pendiente , por lo que f ′
(x) ́ ite de las pendientes de estas rectas.
es el lı m
h

 Ejemplo 2.5
Si f : R → R cumple que f (3) = 1 y f (3) = 2 , el valor f (3) no puede ser mı ń imo (ni máximo), ya que la gráfica cerca de 3

es similar a la recta y = f (3) + f (3)(x − 3) = 1 + 2(x − 3) ; es decir, y = 2x − 5 .


2.2 https://math.libretexts.org/@go/page/93057
 Ejemplo 2.6

Si pensamos en la función g(x) = x y x = −3 , como g (−3) = −6 , a la derecha de −3 la función tomará valores menores
2 ′

que g(−3) = 9 . El valor mı ń imo de la función, que es g(0) = 0 , se alcanza en un punto donde la derivada es nula.

Para comprender cómo varı á una función f : R → R que depende de varias variables empecemos fijando todas las variables
n

salvo una. Consideramos la función resultante (que tiene dominio e imagen en R ). Para el ejemplo f (x, y) = x + y , fijada la 2 2

variable y obtenemos una función g (x) = x + y , que es decreciente para x < 0 y creciente para x > 0 , ver la figura del
1
2 2

ejemplo Ejemplo 2 (se da lo análogo para g (y) = x + y , con x fijo). Nos centramos, por ejemplo, en el punto del plano
2
2 2

(−3, 4), para el que f (−3, 4) = 25 , queremos encontrar valores h y h para los que f (−3 + h , 4 + h ) < 25 . Podemos
1 2 1 2

conseguirlo siempre −3 < −3 + h < 0 y 0 < 4 + h < 4 . Mientras la derivada g (−3) < 0 nos alienta a elegir h > 0 , la
1 2 1

1

derivada g (4) > 0 nos impulsa a elegir h < 0 . La misma estrategia podrá ser utilizada para buscar mı ń imos de funciones

2 2

escalares acudiendo a las nociones de derivada parcial y gradiente de la función f : R → R . La derivada parcial con respecto a
n

una variable x reflejará la tasa de variación de f en la dirección de ese eje.


j

 Definición 2.3

La derivada parcial de la función f : R


n
→ R con respecto a la variable xj en x = (x1 , … , xj−1 , xj , xj+1 , … , xn )
T
, que

denotamos , viene dada por
f (x)
∂xj

f (x1 , … , xj−1 , xj + h, xj+1 , … , xn ) − f (x1 , ⋯ , xj−1 , xj , xj+1 , … , xn )


lim (2.2)
h→0 h

2.3 https://math.libretexts.org/@go/page/93057
 Ejemplo 2.7
∂ ∂
La función f (x, y) = x
2
+y
2
tiene como derivadas parciales f (x, y) = 2x y f (x, y) = 2y . La función
∂x ∂y

f (x1 , x2 , x3 ) = a1 x1 + a2 x2 + a3 x3 tiene como derivada parcial con respecto a xj el número aj , para 1 ≤j≤3 . La

función f (x, y) = sin(x y ) + x y
3 2
tiene como derivadas parciales f (x, y) = y
3 3
⋅ cos(x y ) + 2xy y
∂x

f (x, y) = 3x y
2 3
cos(x y ) + x
2
.
∂y

 Definición 2.4

Dada una función f : R
n
→ R con derivadas parciales f (x), el gradiente de f se denota por ∇f (x) y tiene por
∂xj


coordenadas las funciones f (x) , con 1 ≤ j ≤ n .
∂xj

 Ejemplo 2.8

La función f (x, y) = x
2
+y
2
tiene como gradiente la función ∇f (x, y) = (2x, 2y) . T
La función
f (x1 , x2 , x3 ) = a1 x1 + a2 x2 + a3 x3 tiene como gradiente el vector constante ∇f (x) = (a , a , a ) . 1 2 3
T

Observación 2.3
Como veremos más adelante, el hecho de que la dirección del gradiente ∇f (x) sea la de máximo crecimiento de la función f
en cada punto x y la dirección dada por su opuesto, −∇f (x), la de mayor decrecimiento, permite establecer una estrategia
para minimizar la función escalar f (x). Para la función f (x, y) = x + y en el punto (−3, 4) hemos elegido valores
2 2

(h , h ) de signos opuestos al gradiente (−6, 8) para obtener puntos (−3 + h , 4 + h ) en los que f toma valores menores
1 2 1 2

que f (−3, 4) = 25.

Si trabajamos con una función f : R → R de k coordenadas f , f , … , f , cuando existan las n derivadas parciales de cada una
n k
1 2 k

de ellas podemos considerar la función matricial de k filas y n columnas formada por los k gradientes ∇f . Se trata de la matriz k

jacobiana de la función f.

2: Introducción al Cálculo Multivariante is shared under a not declared license and was authored, remixed, and/or curated by LibreTexts.

2.4 https://math.libretexts.org/@go/page/93057
3: Composición de Funciones. Regla de la Cadena
Si la imagen de una función f está contenida en el dominio de una función g , puede aplicarse g a los
valores f(x) y obtener la composición g ∘ f .
Por ejemplo, f : R → R dada por f(t) = (cos(t), sin(t)) puede componerse con la función g(x, y) = x + y
2
o con 2 2

g(x, y) = sin(x y ) + x y , obteniendo, respectivamente, las funciones dadas por


3 2
g∘ f : R → R

(g ∘ f)(t) = g(cos(t), sin(t)) = cos (t) + sin (t) ≡ 1 y (g ∘ f)(t) = g(cos(t), sin(t)) = sin(cos(t) sin (t)) + cos (t) sin(t) .
2 2 3 2

Para las funciones f (x , x , x ) = a x + a x + a x


1 2 3y h(t) = (cos(t), sin(t)) podemos considerar la composición
1 1 2 2 3 3

h∘f : R → R
3
que se expresa por
2

(h ∘ f )(x1 , x2 , x3 ) = h(a1 x1 + a2 x2 + a3 x3 ) = (cos(a1 x1 + a2 x2 + a3 x3 ), sin(a1 x1 + a2 x2 + a3 x3 )) (3.1)

pero no f ∘ h , ya que la imagen de h está contenida en R y el dominio de f es R . En general, consideramos composiciones de


2 3

funciones g ∘ f , donde f : R → R y g : R → R ; analizamos las m coordenadas de la composición y, para cada una de ellas,
n k k m

estudiamos las respectivas derivadas parciales con respecto a las n variables. Por ello, en los ejemplos nos centraremos en el caso
m = 1.

 Regla de la Cadena

Dadas dos funciones derivables f y g con dominio e imagen en R y su composición g ∘ f , se calcula la derivada de la función
g ∘ f a través de la denominada regla de la cadena. En concreto, (g ∘ f ) (x) = g (f (x))f (x) .
′ ′ ′

 Ejemplo 3.9

La función se compone con la función y da lugar a (g ∘ f )(x) = e , cuya derivada es


2
2 x x
f (x) = x g(x) = e

2x . Análogamente, (f ∘ g)(x) = (e ) (de hecho, (f ∘ g)(x) = e ) y por la regla de la cadena


2
′ x x 2 2x
(g ∘ f ) (x) = e

(f ∘ g) (x) = 2 e e = 2 e
x
. x 2x

Veamos cómo operar en el caso en que las funciones tengan dominio o imagen en R , con d>1. d

f : R
2
→ R y g : R → R . Utilizamos las variables s, t para f y la variable x para g . Entonces
y = g(x) = (g ∘ f )(s, t) := F (s, t) y
∂ d ∂
F = g f (3.2)
∂s dx ∂s

Análogamente,
∂ d ∂
F = g f (3.3)
∂t dx ∂t

 Ejemplo 3.10

Si y , la función tiene como gradiente


3
3 x 3 s(1−t )
f (s, t) = s(1 − t ) g(x) = e F (s, t) = (g ∘ f )(s, t) = g(s(1 − t )) = e

.
3 3
s(1−t ) 3 s(1−t ) 2 T
∇F (s, t) = (e (1 − t ), e s(−3 t ))

f = (f1 , f2 )
T
: R
2
→ R
2
yg:R 2
→ R . Utilizamos las variables s, t para f y las variables x, y para g . Entonces
z = g(x, y) = (g ∘ f)(s, t) := F (s, t) y
∂ ∂ ∂ ∂ ∂
F = g f1 + g f2 (3.4)
∂s ∂x ∂s ∂y ∂s

Análogamente,
∂ ∂ ∂ ∂ ∂
F = g f1 + g f2 (3.5)
∂t ∂x ∂t ∂y ∂t

3.1 https://math.libretexts.org/@go/page/92818
 Ejemplo 3.11

Si 2
(x, y) = f(s, t) = (s t, s(4 − 3t)) , y
g(x, y) = cos(x − 2y)
F es la función
2
F (s, t) := (g ∘ f)(s, t) = g(s t, s(4 − 3t)) = cos(s t − 2s(4 − 3t)) admite derivadas parciales. Calcula directamente
2

la derivada parcial con respecto a cada una de las variables y hazlo usando la regla de la cadena multivariante para ver
que coinciden.

Si f = (f , . . . , f )
1 k
T
: R
n
→ R
k
yg:R k
→ R admiten derivadas parciales, las de la función F =g∘f vienen dadas, para
cada 1 ≤ j ≤ n , por
k
∂ ∂ ∂
F =∑ g fi (3.6)
∂xj ∂xi ∂xj
i=1

 Ejemplo 3.12

La composición de f(s, t) = (e
s−t 2
, cos(s t)y g(x, y) = (x , x − y ) 2
da
3
lugar a la función
F (s, t) = ((e
s−t 2
) ,e
s−t 2
− (cos(s t)) . Utiliza de nuevo la doble vı á para comprobar la fórmula de las derivadas parciales
en este caso.

3: Composición de Funciones. Regla de la Cadena is shared under a not declared license and was authored, remixed, and/or curated by
LibreTexts.

3.2 https://math.libretexts.org/@go/page/92818
4: Aproximación Lineal de una Función Escalar de Varias Variables

This page is a draft and is under active development.

Recordemos que, bajo ciertas condiciones de derivabilidad, una función real puede aproximarse por una recta cuando se producen
cambios pequeños (ε ) en la variable independiente (aproximación por la recta tangente, figura 5),

f (x + ε) ≈ f (x) + εf (x) (4.1)

Fig. 5 - Aproximación de una función por su recta tangente

 Ejemplo 4.13

La función f (x) = x puede aproximarse, en puntos cerca de x = 1 por la recta:


2


f (1 + ε) ≈ f (1) + f (1)ε = 1 + 2ε (4.2)

Del mismo modo, para una función f : R


n
→ R que depende de varias variables, tendremos:
n
∂f
f (x1 + ε1 , x2 + ε2 , . . . , xn + εn ) ≈ f (x1 , x2 , . . . , xn ) + ∑ εi (x1 , x2 , . . . , xn ) (4.3)
∂xi
i=1

Esta expresión puede escribirse de forma más compacta usando la definición de gradiente (Definición 4) y llamando
ε = (ε , ε , . . . , ε ) , vector fila donde se agrupan los pequeños cambios que se producen en cada una de las variables
1 2 n

independientes:
f (x + ε) ≈ f (x) + ε∇f (x) (4.4)

En este caso, si tenemos n = 2 , aproximamos la función cerca de un punto, por su plano tangente.

 Ejemplo 4.14
La función f (x, y) = x + xy + y , en un entorno de (1, 0), tomará valores cercanos a la aproximación de primer orden.
2 2

Para calcularla necesitamos f (1, 0) y ∇f (1, 0) que valen


∙ f (1, 0) = 1

∙ ∇f (1, 0) = (2x + y, x + 2y) | x=1,y=0 = (2, 1)

y se emplean para determinar el plano tangente en el punto (1, 0, f (1, 0)), cuya ecuación es 2x + y = 2 . El vector normal al
plano es ∇f (1, 0).

4.1 https://math.libretexts.org/@go/page/92829
Fig. 6 - Aproximación de una función por su plano tangente

4: Aproximación Lineal de una Función Escalar de Varias Variables is shared under a not declared license and was authored, remixed, and/or
curated by LibreTexts.

4.2 https://math.libretexts.org/@go/page/92829
5: Optimización y Método del Gradiente Descendiente
Vamos a describir el método del gradiente descente, que sirve para encontrar un punto donde la función f : R
n
→ R alcanza un
valor mínimo.
El proceso se puede resumir en:

Comenzamos eligiendo un valor arbitrario inicial de x.


Buscamos la dirección v en la que f decrece más rápidamente alrededor de x. A v le llamamos dirección de máximo
descenso.
Variamos “un poco” los valores iniciales en la dirección v:
x → x + εv (5.1)

Repetimos.

Nos detenemos ahora en el segundo paso de este proceso: cómo determinar la dirección de descenso más rápido. Como se ha visto
en la sección anterior:
f (x + v) ≈ f (x) + v∇f (x) . (5.2)

Por la definición de producto escalar, suponiendo que v es un vector de módulo 1, la expresión anterior se escribe
f (x + v) ≈ f (x) + v∇f (x) = f (x) + ∥∇f (x)∥ cos(θ) , (5.3)

donde θ es el ángulo que forman los vectores v y ∇f (x).


Con vistas a que f decrezca lo más rápido posible, debemos elegir θ de forma que cos(θ) sea lo menor posible, esto es,
cos(θ) = −1 .

Esto ocurre cuando θ vale π (180 ) o, lo que es lo mismo, si v tiene el sentido opuesto a ∇f (x).
0

El proceso queda reescrito como:

Comenzamos eligiendo un valor arbitrario inicial de x.


La dirección v que hace descender más rápidamente a f alrededor de x es −∇f (x). Calculamos ∇f (x).
Variamos un poco los valores iniciales en la dirección v:
x → x − ε∇f (x (5.4)

Repetimos.

Para aplicar este algoritmo iterativo es necesario fijar dos parámetros: el número de iteraciones y el valor de ε (que se conoce como
tasa de aprendizaje).
Se dirá que el algoritmo converge si la sucesión de soluciones en el proceso iterativo se acerca a la solución óptima (esto es, el
mínimo global). La cantidad de iteraciones que se necesita para que el método del gradiente descendente converja puede variar
mucho (dependiendo del problema, desde unas pocas iteraciones hasta miles de ellas). En cualquier caso, la tasa de aprendizaje
condicionará el número mínimo de iteraciones necesario para la convergencia.
La tasa de aprendizaje ε es una constante, con 0 < ε < 1 , que afectará de forma significativa la efectividad del algoritmo: un
valor demasiado pequeño puede llevar a que el algoritmo precise un número elevado de iteraciones antes de converger; mientras
que si el valor asignado es demasiado grande, puede saltarse el mínimo global (pasando a tomar valores mayores) y no
proporcionar una buena solución.

5: Optimización y Método del Gradiente Descendiente is shared under a not declared license and was authored, remixed, and/or curated by
LibreTexts.

5.1 https://math.libretexts.org/@go/page/92836
CHAPTER OVERVIEW

6: Redes Neuronales

This page is a draft and is under active development.

6.1: Perceptrón
6.2: Funciones de Activación
6.3: Funciones de Pérdida
6.4: Perceptrón Multicapa

6: Redes Neuronales is shared under a not declared license and was authored, remixed, and/or curated by LibreTexts.

1
6.1: Perceptrón
El perceptrón fue propuesto en 1958 por Frank Rosenblatt en un proyecto del laboratorio de aeronaútica de la Universidad de
Cornell financiado por la oficina de investigación naval de los EEUU. Se planteó inicialmente como una máquina, más que un
programa o un algoritmo, dado que los pesos que se iban optimizando se actualizaban con motores eléctricos y potenciómetros.
En la actualidad, se considera el perceptrón como la unidad fundamental de una red neuronal, siendo el esquema principal del
perceptrón el que se muestra a continuación:

Es decir, un perceptrón toma una serie de señales de entrada x, a las que multiplica por unos pesos w y obtiene la suma total de ese
resultado. A ese valor se le aplica una función de activación y finalmente se obtiene un valor de salida. Ese valor de salida puede, a
su vez, ser la entrada de otro perceptrón posterior. Un ejemplo de cálculo con cuatro valores de entrada, a los que se aplica una
serie de pesos y un bias, y una función de activación de tipo escalón se muestra en la siguiente figura.

Existen muchas funciones de activación. Por ejemplo, una con valor de umbral b se puede definir como:

6.1: Perceptrón is shared under a not declared license and was authored, remixed, and/or curated by LibreTexts.

6.1.1 https://math.libretexts.org/@go/page/92932
6.2: Funciones de Activación
Las funciones de activación se aplican sobre el resultado final de cada perceptrón, permitiendo introducir efectos no lineales al
cálculo. Ese es un aspecto fundamental a la hora de trabajar con redes neuronales. Sin estas funciones de activación, una red
neuronal del tipo perceptrón multicapa se convertiría en una transformación lineal entre los datos de entrada y de salida, lo que
limitaría mucho el tipo de casos que se podrían modelizar con redes neuronales.
La función escalón (binaria) y la función sigmoide fueron las primeras en proponerse y emplearse con éxito, pero se han ido
proponiendo muchas otras a lo largo del tiempo. En la actualidad, la función RELU (que pone los número negativos de entrada a
cero) es la más empleada. La siguiente imagen muestra la gran variedad de funciones de activación que se han propuesto: (Fuente:
https://mlfromscratch.com/activation-functions-explained)

Hay que tener en cuenta que en muchos casos interesa que sean funciones derivables, dado que se necesita para la optimización de
la red. En puntos en lo que esto no sucede (Como RELU en el origen) se suelen usar aproximaciones numéricas para solventarlo.

6.2: Funciones de Activación is shared under a not declared license and was authored, remixed, and/or curated by LibreTexts.

6.2.1 https://math.libretexts.org/@go/page/97304
6.3: Funciones de Pérdida
Consideramos que estamos trabajando con aprendizaje supervisado, en el que se dispone de datos de referencia de entrada y salida,
y nuestro objetivo es entrenar una red para que aprenda a realizar el mapeo entre ambos conjuntos. Las funciones de pérdica,
funciones de coste, o funciones de eror, determinan cómo cuantificamos las diferencias entre las salidad de la red neuronal
(estimaciones de los valores) que denominaremos (p), y las medidas de referencia (y). El entrenamiento de la red consistirá en la
minimización de esta función.
Existen muchas posibles formas de definir esta función de pérdida, pero es importante seleccionar la más apropiada para cada
problema, en función del tipo de datos, el problema que estemos afrontando (clasificiación, regresión...) así como el tipo de error
estadístico que puedan tener nuestras medidas. Una adecuada selección de la función de pérdida es fundamental para obtener una
correcta solución.
Un listado completo de las funciones de pérdida se puede consultar en referencias como "Loss Functions". Algunas de las
funciones de pérdida más comunes son:
Error Cuadrático Medio - (MSE) - ||y-p||2 Corresponde a la norma L2 de la diferencia entre medidas y estimaciones.
Generalmente válido con errores de tipo Gaussiano.
Error Absoluto Medio (MAE) - ||y-p||1 Corresponde a la norma L1 de la diferencia entre medidas y estimaciones. Es mejor
cuando puede haber algunos datos medidos (outliers) que se puedan desviar mucho del valor esperado, y que pueden introducir
un sesgo importante en los resultados. Esa robustez lo hace especialmente útil en situaciones en las que no se dispone de
información sobre el tipo de ruido de los datos. El hecho de que el valor absoluto no sea diferenciable en el origen se soluciona
haciendo aproximaciones numéricas en ese punto.

6.3: Funciones de Pérdida is shared under a not declared license and was authored, remixed, and/or curated by LibreTexts.

6.3.1 https://math.libretexts.org/@go/page/92940
6.4: Perceptrón Multicapa
El perceptrón multicapa consiste en la concatenación de capas de perceptrones en un esquema similar al que se muestra a
continuación:

En este esquema de una red neuronal del tipo perceptrón multicapa, las entradas figuran en rojo, las salidas en azul, y los distintos
perceptrones en amarillo.
Como se puede observar, en este tipo de de red neuronal (denominado feed-forward en inglés), los perceptrones se organizan en
capas (las distintas columnas en la figura), de manera que los perceptrones o neuronas de cada capa realizan operaciones de manera
simultánea sobre los datos precedentes (ya sean de entrada o de una capa previa). El alto número de capas típico de estas redes que
se emplea en problemas complejos es lo que llevó a calificarlas como "redes profundas" y derivó en el concepto de "Aprendizaje
profundo" o Deep Learning.
Existen muchos otros tipos de redes neuronales, que se diferencian principalmente en la forma en la que se establecen las
conexiones entre los perceptrones o neuronas de la red, estableciendo conexiones recursivas, saltando una serie de capas.. El diseño
de las conexiones óptimas de los perceptrones de una red es un importante campo de investigación en la actualidad.

6.4: Perceptrón Multicapa is shared under a not declared license and was authored, remixed, and/or curated by LibreTexts.

6.4.1 https://math.libretexts.org/@go/page/92933
7: Retropropagación

This page is a draft and is under active development.

Idea intuitiva de la retropropagación


El algoritmo de retropropagación es un método muy utilizado en redes neuronales para minimizar la conocida como función de
pérdida o de error de la red. Esta función proporciona, durante el entrenamiento de la red neuronal, una medida de cuánto se
desvían los valores proporcionados por la red de los valores reales o deseados. Los parámetros desconocidos de la red, que son las
incógnitas del problema y suelen denominarse pesos, se modifican de tal forma que los valores de salida de la red se ajusten lo más
posible a los deseados. Para ello, se utiliza el método del gradiente descendente, que permite minimizar el error en función de los
pesos. Puesto que el error se calcula al final de la red (en la capa de salida) es más fácil calcular el efecto de las variaciones de los
pesos (y, por tanto, ajustarlos) comenzando desde el final, esto es, cambiando los pesos que llegan a la capa de salida.
Sucesivamente, se modifican los de cada capa intermedia en dirección hacia la capa inicial. En este proceso será de utilidad la regla
de la cadena.

 Ejemplo 7.15

Vamos a considerar las funciones escalares f (x) = x , g(y) = sin y y h(z) = exp(−z) . La composición de las tres funciones
2

dJ
(h ∘ g ∘ f )(x) da lugar a J(x) = exp(− sin x 2
) . Vamos a calcular utilizando el algoritmo de retropropagación.
dx
Aunque la composición de funciones se realiza hacia delante:
2
x → y = f (x) = x → z = g(y) = sin y → J(x) = h(z) = exp(−z) (7.1)

el cálculo de la derivada lo realizamos hacia atrás, utilizando la regla de la cadena:


1. Empezamos por h(z) = exp(−z) :
dJ
→ − exp(−z) (7.2)
dz

2. Después por z = g(y) = sin(y) :


dJ dJ dz dz
→ , = cos(y) (7.3)
dy dz dy dy

3. Por último por y = f (x) = x : 2

dJ dJ dy dy
→ , = 2x (7.4)
dx dy dx dx

4. Así, resulta
dJ 2 2
(x) = −2x cos(x ) exp(− sin(x )) (7.5)
dx

 Ejemplo 7.16
1
Sean x = (x1 , x2 ) y las funciones: f (x1 , x2 ) = a1 x1 + a2 x2 con a1 y a2 constantes, g(y) = 1 + e
−y
y h(z) = . La
z
1
composición de las tres funciones (h ∘ g ∘ f )(x) da lugar a J(x 1, x2 ) = . Esto es:
−( a1 x1 +a2 x2 )
1 +e

1
−y
(x1 , x2 ) → y = f (x1 , x2 ) = a1 x1 + a2 x2 → z = g(y) = 1 + e → J(x) = h(z) = (7.6)
z


El objetivo en este caso es el cálculo del gradiente de la función J , ∇J(x) , que tiene por coordenadas J(x) , para
∂xi

i = 1, 2 .

7.1 https://math.libretexts.org/@go/page/92837
1
1. Empezamos por h(z) = :
z

∂J 1
→ − (7.7)
2
∂z z

2. Después tomamos z = g(y) = 1 + e −y


:
∂J ∂J ∂z ∂z −y
→ , = −e (7.8)
∂y ∂z ∂y ∂y

3. Por último, para y = f (x 1, x2 ) = a1 x1 + a2 x2 :


∂J ∂J ∂y ∂y
→ , = a1
∂x1 ∂y ∂x1 ∂x1

∂J ∂J ∂y ∂y
→ , = a2
∂x2 ∂y ∂x2 ∂x2

7: Retropropagación is shared under a not declared license and was authored, remixed, and/or curated by LibreTexts.

7.2 https://math.libretexts.org/@go/page/92837
8: Entrenamiento de una Red Neuronal

This page is a draft and is under active development.

En lo que sigue, vamos a analizar el proceso de entrenamiento en una RNA de dos capas (ver figura 3). La red consta de una capa
de entrada (correspondiente a l = 0 , con dos neuronas), una capa intermedia oculta (correspondiente a l = 1 , con tres neuronas) y
la capa de salida (l = 2 y dos neuronas). El objetivo es calcular los pesos de la RNA, utilizando el algoritmo de retropropagación
de la siguiente forma:

Ejemplo de red neuronal


Las entradas (en l = 0 ), x = (x , x ) son valores constantes. Vamos a denotar por h la salida de la neurona i de la capa
1 2
T
i

l = 1 , que serán a su vez entradas de la capa l = 2 . Análogamente, denotamos por y e y las salidas de la capa l = 2 (salidas
1 2

de la RNA).
Los parámetros que debemos ajustar son los pesos (enlaces entre neuronas de diferentes capas). Se denotan por w , donde el l
ij

superíndice l hace referencia a la capa a la que llega y los subíndices i y j a las neuronas de las capas l y l − 1 , respectivamente,
que conecta este peso.
En las neuronas de la capa oculta y de la capa de salida se realizan dos procesos:
El primero, que simbolizamos con Σ, corresponde en ambas capas a la combinación lineal de la salida de la capa anterior
con los pesos correspondientes. Esto es:
En la neurona i (i = 1, 2, 3) de la capa l = 1 : a = x w
1
i 1
1
i1
+ x2 w
1
i2
.
En la neurona k (k = 1, 2) de la capa l = 2 : a = h w
2
k 1
2
k1
+ h2 w
2
k2
+ h3 w
2
k3
.
El segundo, que represintamos en la figura con f , corresponde a la función de activación que suponemos que es la misma
para l = 1, 2:
1
σ(u) = (8.1)
−u
1 +e

8.1 https://math.libretexts.org/@go/page/92838
Recordemos que la derivada de esta función es:
−u
e

σ (u) = = σ(u)(1 − σ(u)) (8.2)
−u 2
(1 + e )

Entonces, tenemos que las salidas de cada capa son:


hi = σ(a )
1
i
, i = 1, 2, 3
yk = σ(a )
2
k
, k = 1, 2
Definimos la función de pérdida o de error, como se hace usualmente, mediante la desviación cuadrática media
2
1 2
L(y1 , y2 ) = ∑ (yk − tk ) (8.3)
2
k=1

siendo t (k = 1, 2 ) los valores deseados correspondientes a cada salida y de la RNA.


k k

Puesto que nuestro objetivo es minimimar la función de pérdida, debemos buscar los pesos que lo consiguen, utilizando el
algoritmo de retropropagación. Se trata de un proceso iterativo en el que se parte de unos valores iniciales para los pesos y estos se
van modificando mediante el método del gradiente descendiente. Con los valores iniciales de los pesos, a partir de los valores x se
calculan los de a , h, a e y. Con ellos, partiendo de la capa de salida, vamos hacia atrás:
1 2

1. Aplicamos la regla de la cadena


2
∂L ∂L ∂yk ∂a
k
→ (8.4)
2 2 2
∂w ∂yk ∂a ∂w
ki k ki

con (k = 1, 2) :

2 2 2 2
a (w ,w ,w ) = hi (i = 1, 2, 3)
2 k k1 k2 k3
∂w
ki

∂yk ∂
2 2 2
= σ(a ) = σ(a )(1 − σ(a )) = yk (1 − yk )
2 2 k k k
∂a ∂a
k k


L(y1 , y2 ) = (yk − tk )
∂yk

Resulta, sustituyendo:
∂L
→ (yk − tk ) yk (1 − yk )hi (8.5)
2
∂w
ki

2. Siguiendo el método del gradiente descendente, actualizamos los pesos w en esta capa. Llamando w 2
ki
2
= (w
2
ki
)
k=1,2;i=1,2,3

2 2
w ← w − ε∇w2 L (8.6)

3. Aplicamos la regla de la cadena en la capa oculta:


1
∂L ∂L ∂hi ∂a
i
→ (8.7)
1 1 1
∂w ∂hi ∂a ∂w
ij i ij

con (i = 1, 2, 3):

1 1 1
a (w ,w ) = xj (j = 1, 2)
1 i i1 i2
∂w
ij

∂hi ∂
1 1 1
= σ(a ) = σ(a )(1 − σ(a )) = hi (1 − hi )
1 1 i i i
∂a ∂a
i i

∂L
Para calcular tenemos en cuenta la dependencia de las funciones respecto a las distintas variables: L(y 1, , 2
y2 ) yk (a )
k
y
∂hi
2
a (h1 , h2 , h3 )
k
. Así, aplicando la regla de la cadena:
2 2
∂L ∂L ∂y1 ∂a1 ∂L ∂y2 ∂a2
→ + (8.8)
∂hi ∂y1 ∂a2 ∂hi ∂y2 ∂a2 ∂hi
1 2

8.2 https://math.libretexts.org/@go/page/92838
∂L ∂yk
Ya habíamos obtenido anteriormente las expresiones para y 2
, por lo que sólo queda calcular el último factor de
∂yk ∂a
k

cada sumando:
k
∂a
2 2
=w
ki
∂hi

Sustituyendo:
2
∂L
2
→ xj hi (1 − hi ) ∑ [(yk − tk )yk (1 − yk )w ] (8.9)
1 ki
∂w
ij k=1

4. Finalmente, se actualizan los pesos w . Llamando w


1
ij
1
= (w
1
ij
)
i=1,2,3:j=1,2

1 1
w ← w − ε∇w1 L (8.10)

Con esto se ha dado un paso de la iteración de la actualización de los pesos. A continuación, se volvería a repetir el proceso
partiendo de los valores de los datos x.
En la práctica se suele contar para el entrenamiento con un conjunto de datos (no solo uno) y la función que se minimiza entonces
es la suma de todas las “pérdidas” que se tienen al considerar todos esos datos.

8: Entrenamiento de una Red Neuronal is shared under a not declared license and was authored, remixed, and/or curated by LibreTexts.

8.3 https://math.libretexts.org/@go/page/92838
CHAPTER OVERVIEW

Apéndices
Índice alfabético
Glosario
Detailed Licensing
Bibliografia Recomendada

Apéndices is shared under a not declared license and was authored, remixed, and/or curated by LibreTexts.

1
Índice alfabético
C L R
composicion de funciones Loss Functions regla de la cadena
3: Composición de Funciones. Regla de la Cadena 6.3: Funciones de Pérdida 3: Composición de Funciones. Regla de la Cadena

Índice alfabético is shared under a not


declared license and was authored, remixed,
and/or curated by LibreTexts.

1 https://math.libretexts.org/@go/page/93065
Glosario
Sample Word 1 | Sample Definition 1 Glosario is shared under a not declared license LibreTexts.
and was authored, remixed, and/or curated by

1 https://math.libretexts.org/@go/page/93066
Detailed Licensing
Overview
Title: Las matemáticas de la inteligencia artificial
Webpages: 27
All licenses found:
Undeclared: 100% (27 pages)

By Page
Las matemáticas de la inteligencia artificial - Undeclared 4: Aproximación Lineal de una Función Escalar de
Portada - Undeclared Varias Variables - Undeclared
Titulo - Undeclared 5: Optimización y Método del Gradiente Descendiente -
Página de Información - Undeclared Undeclared
Table of Contents - Undeclared 6: Redes Neuronales - Undeclared
Licensing - Undeclared 6.1: Perceptrón - Undeclared
1: Introducción a la Inteligencia Artificial y las Redes 6.2: Funciones de Activación - Undeclared
Neuronales - Undeclared 6.3: Funciones de Pérdida - Undeclared
6.4: Perceptrón Multicapa - Undeclared
1.1: Introducción General - Undeclared
1.2: Perspectiva Histórica - Undeclared 7: Retropropagación - Undeclared
1.3: Aplicaciones presentes y futuras - Undeclared 8: Entrenamiento de una Red Neuronal - Undeclared
1.4: Objetivos del Curso - Undeclared Apéndices - Undeclared

2: Introducción al Cálculo Multivariante - Undeclared Índice alfabético - Undeclared


3: Composición de Funciones. Regla de la Cadena - Glosario - Undeclared
Undeclared Detailed Licensing - Undeclared
Bibliografia Recomendada - Undeclared

Detailed Licensing is shared under a not declared license and was authored, remixed, and/or curated by LibreTexts.

1 https://math.libretexts.org/@go/page/119989
Bibliografia Recomendada
Mathematics for Machine Learning
https://mml-book.github.io/
PDF https://mml-book.github.io/book/mml-book.pdf

Dive into Deep Learning


https://d2l.ai/chapter_appendix-mathematics-for-deep-learning/index.html
PDF https://d2l.ai/d2l-en.pdf

Coursera:
https://www.coursera.org/learn/multivariate-calculus-machine-learning

Curso de Introducción a la Inteligencia Artificial:


https://www.elementsofai.com/
https://buildingai.elementsofai.com

Blogs:
http://www.aprendemachinelearning.com/
https://towardsdatascience.com/three-month-plan-to-learn-mathematics-behind-machine-learning-74335a578740

Bibliografia Recomendada is shared under a not declared license and was authored, remixed, and/or curated by LibreTexts.

1 https://math.libretexts.org/@go/page/93108
Índice alfabético
C L R
composicion de funciones Loss Functions regla de la cadena
3: Composición de Funciones. Regla de la Cadena 6.3: Funciones de Pérdida 3: Composición de Funciones. Regla de la Cadena

Índice alfabético is shared under a not


declared license and was authored, remixed,
and/or curated by LibreTexts.

1 https://math.libretexts.org/@go/page/93065
Glosario
Sample Word 1 | Sample Definition 1 Glosario is shared under a not declared license LibreTexts.
and was authored, remixed, and/or curated by

1 https://math.libretexts.org/@go/page/93066
Detailed Licensing
Overview
Title: Las matemáticas de la inteligencia artificial
Webpages: 27
All licenses found:
Undeclared: 100% (27 pages)

By Page
Las matemáticas de la inteligencia artificial - Undeclared 4: Aproximación Lineal de una Función Escalar de
Portada - Undeclared Varias Variables - Undeclared
Titulo - Undeclared 5: Optimización y Método del Gradiente Descendiente -
Página de Información - Undeclared Undeclared
Table of Contents - Undeclared 6: Redes Neuronales - Undeclared
Licensing - Undeclared 6.1: Perceptrón - Undeclared
1: Introducción a la Inteligencia Artificial y las Redes 6.2: Funciones de Activación - Undeclared
Neuronales - Undeclared 6.3: Funciones de Pérdida - Undeclared
6.4: Perceptrón Multicapa - Undeclared
1.1: Introducción General - Undeclared
1.2: Perspectiva Histórica - Undeclared 7: Retropropagación - Undeclared
1.3: Aplicaciones presentes y futuras - Undeclared 8: Entrenamiento de una Red Neuronal - Undeclared
1.4: Objetivos del Curso - Undeclared Apéndices - Undeclared

2: Introducción al Cálculo Multivariante - Undeclared Índice alfabético - Undeclared


3: Composición de Funciones. Regla de la Cadena - Glosario - Undeclared
Undeclared Detailed Licensing - Undeclared
Bibliografia Recomendada - Undeclared

Detailed Licensing is shared under a not declared license and was authored, remixed, and/or curated by LibreTexts.

1 https://math.libretexts.org/@go/page/119989
Bibliografia Recomendada
Mathematics for Machine Learning
https://mml-book.github.io/
PDF https://mml-book.github.io/book/mml-book.pdf

Dive into Deep Learning


https://d2l.ai/chapter_appendix-mathematics-for-deep-learning/index.html
PDF https://d2l.ai/d2l-en.pdf

Coursera:
https://www.coursera.org/learn/multivariate-calculus-machine-learning

Curso de Introducción a la Inteligencia Artificial:


https://www.elementsofai.com/
https://buildingai.elementsofai.com

Blogs:
http://www.aprendemachinelearning.com/
https://towardsdatascience.com/three-month-plan-to-learn-mathematics-behind-machine-learning-74335a578740

Bibliografia Recomendada is shared under a not declared license and was authored, remixed, and/or curated by LibreTexts.

1 https://math.libretexts.org/@go/page/93108

También podría gustarte