Optimización sin Restricciones: método de Newton

00:38:37
https://www.youtube.com/watch?v=Fqhwb6h58EI

Summary

TLDREl vídeo se centra en el método de Newton para minimización, explicando su superioridad frente al método del gradiente debido a su capacidad para resolver más eficazmente funciones cuadráticas utilizando aproximaciones cuadráticas. Detalla cómo se calcula el gradiente y la matriz Hessiana y describe el algoritmo paso a paso, incluyendo su implementación en MATLAB. El enfoque se centra en crear aproximaciones cuadráticas para resolver problemas de minimización de funciones, asegurando que la matriz Hessiana sea definida positiva y sugiriendo ajustes cuando esta condición no se cumple. Además, se aborda cómo estos conceptos se aplican programáticamente, presentando un código de ejemplo en MATLAB e ilustrando la velocidad de convergencia y las condiciones necesarias para que el método funcione correctamente. El video también compara la minimización de funciones con la resolución de sistemas de ecuaciones y menciona posibles problemas, como condiciones mal definidas en la matriz.

Takeaways

  • 🔄 El método de Newton es más rápido que el del gradiente para algunas funciones.
  • 📉 Se basa en aproximaciones cuadráticas al utilizar la matriz Hessiana.
  • 💻 Implementable en MATLAB, especialmente eficiente si la matriz Hessiana es definida positiva.
  • 🛠️ Si la matriz no es definida positiva, sumar un múltiplo de la identidad puede corregirlo.
  • 📈 Convergencia rápida si la matriz Hessiana es continua y definida positiva.
  • 🔧 Necesario manejar bien condiciones mal definidas para obtener resultados precisos.
  • 🆚 Comparación con el método del gradiente muestra generalmente mejor eficiencia.
  • 📊 El proceso de implementación incluye cambios iterativos y resolución de sistemas lineales.
  • ➕ La programación en MATLAB ilustra el algoritmo paso a paso.
  • ℹ️ Comparación con resolver sistemas de ecuaciones destaca diferencias clave en requisitos.

Timeline

  • 00:00:00 - 00:05:00

    El video comienza introduciendo el tema del método de Newton para minimización, destacando su eficacia frente al método del gradiente. Se explica por qué el método de Newton podría converger más rápido para ciertas funciones y se presenta como un método que resuelve sistemas de ecuaciones lineales sucesivamente usando aproximaciones cuadráticas, haciendo uso del polinomio de Taylor.

  • 00:05:00 - 00:10:00

    Se plantea un algoritmo básico de Newton para lo cual se requiere un punto inicial y determinar la dirección de Newton resolviendo un sistema de ecuaciones lineales. Se advierten posibles inconvenientes con este sistema, como la falta de soluciones o matrices mal condicionadas. También se introduce el concepto de actualizar el iterado usando la dirección y longitud de paso, mencionando la necesidad de que la matriz sea definida positiva para asegurar que sea una dirección de descenso.

  • 00:10:00 - 00:15:00

    Se proponen soluciones para el caso de matrices que no son definidas positivas, como sumar un múltiplo de la matriz identidad para transformar la matriz en definida positiva. Sin embargo, para matrices mal condicionadas, el método de Newton no puede ser aplicado y se sugiere cambiar la dirección utilizando el método del gradiente. Posteriormente, se aborda la programación del método en MATLAB, explicando detalladamente las diferentes partes del código y la lógica detrás de cada función implementada.

  • 00:15:00 - 00:20:00

    El video avanza explicando cómo el método de Newton puede fallar si no se encuentra un punto estacionario, lo que puede llevar a infinitos y detener el algoritmo. Se analizan los casos en los que el método de Newton necesita cambiar de dirección cuando la matriz no es apropiada y cómo se puede reprogramar este comportamiento en MATLAB.

  • 00:20:00 - 00:25:00

    Se diseña un experimento en MATLAB mostrando las comparaciones entre el método de Newton y el gradiente, notando que el primero es generalmente más eficiente. Se explica cómo variar los puntos iniciales afecta la convergencia del algoritmo y se observan resultados detallados de la aplicación del método a una función específica, mostrando pasos de iteración y valores asociados.

  • 00:25:00 - 00:30:00

    El video menciona un teorema importante que garantiza la convergencia cuadrática del método de Newton bajo ciertas condiciones, destacando la influencia de la matriz hessiana y su continuidad lipschitz. Se recalca que el método de Newton es más rápido que el gradiente bajo condiciones adecuadas y se discute la importancia de escoger un buen punto inicial.

  • 00:30:00 - 00:38:37

    Finalmente, se compara el método de Newton para minimización con el para resolver sistemas de ecuaciones, enfatizando que aunque ambos utilizan una matriz y resuelven un sistema, los objetivos y métodos de actualización son diferentes, especialmente en la búsqueda de la "landa" apropiada para cada método.

Show more

Mind Map

Video Q&A

  • ¿Qué es el método de Newton para minimización?

    Es un método para encontrar los mínimos de una función utilizando aproximaciones cuadráticas y resolviendo sistemas de ecuaciones lineales.

  • ¿Por qué se prefiere el método de Newton sobre el método del gradiente?

    El método de Newton converge más rápido para algunas funciones debido a su uso de aproximaciones cuadráticas y matriz Hessiana.

  • ¿Cómo se implementa el método de Newton en MATLAB?

    Se implementa resolviendo sistemas de ecuaciones lineales y actualizando puntos iterativamente, usando gradiente y matriz Hessiana.

  • ¿Cuáles son las ventajas del método de Newton?

    Converge rápidamente y es eficiente para funciones cuadráticas, especialmente cuando la matriz Hessiana es definida positiva.

  • ¿Qué se debe considerar al usar el método de Newton?

    Es crucial que la matriz Hessiana sea simétrica y definida positiva, y se debe manejar bien cuando esta no cumple esas condiciones.

  • ¿El método de Newton siempre es la mejor opción?

    Por lo general, sí, pero puede haber casos donde el método del gradiente sea más apropiado dependiendo de la función.

  • ¿Qué problemas pueden surgir con el método de Newton?

    Si la matriz Hessiana no es bien condicionada, los resultados pueden ser incorrectos, y se debe usar una dirección alternativa.

  • ¿Cómo se resuelve si la matriz Hessiana no es definida positiva?

    Se puede sumar un múltiplo de la matriz identidad para convertirla en definida positiva.

  • ¿Qué se hace si hay problemas de condición en la matriz?

    Se puede cambiar la dirección de Newton por el método del gradiente.

  • ¿Qué diferencias hay entre minimizar funciones y resolver sistemas de ecuaciones con el método de Newton?

    Para minimizar funciones se necesita que la matriz Hessiana sea definida positiva, mientras que para resolver sistemas solo se requiere que el Jacobiano sea no singular.

View more video summaries

Get instant access to free YouTube video summaries powered by AI!
Subtitles
es
Auto Scroll:
  • 00:00:01
    [Música]
  • 00:00:11
    en este vídeo vamos a hablar del método
  • 00:00:14
    de youtube para minimización
  • 00:00:17
    entre los métodos que existen para
  • 00:00:20
    minimizar ya vimos el método del
  • 00:00:23
    gradiente
  • 00:00:24
    o más exactamente menos el gradiente
  • 00:00:28
    o también conocido como método de máximo
  • 00:00:31
    descenso
  • 00:00:32
    pero el método de newton ha resultado
  • 00:00:35
    ser el método más exitoso
  • 00:00:39
    para minimizar
  • 00:00:42
    por supuesto hay variantes que podemos
  • 00:00:44
    analizar
  • 00:00:46
    y vamos a demostrar en este en esta
  • 00:00:48
    clase que vamos a ver que puede
  • 00:00:51
    convertir mucho más rápido para algunas
  • 00:00:53
    funciones
  • 00:00:55
    vamos a interpretar de qué se trata el
  • 00:00:58
    método de newton para minimización
  • 00:01:05
    supongamos que tenemos el caso ideal de
  • 00:01:07
    tener una ecuación una función
  • 00:01:09
    cuadrática en varias variables
  • 00:01:13
    como esta ya hemos visto que su derivada
  • 00:01:17
    o su ingrediente
  • 00:01:18
    se calcula
  • 00:01:20
    simplemente con una equis
  • 00:01:23
    así que su solución en su solución el
  • 00:01:27
    gradiente debe dar cero
  • 00:01:30
    es decir para resolver un problema
  • 00:01:33
    cuadrática
  • 00:01:35
    es suficiente con resolver un sistema de
  • 00:01:38
    ecuaciones lineales a x igual a b y
  • 00:01:42
    encontramos de manera inmediata en un
  • 00:01:44
    solo paso la solución
  • 00:01:47
    tratando de llevar esta idea
  • 00:01:50
    vamos a ver cómo se desarrolló el método
  • 00:01:54
    del yute y haciendo aproximaciones
  • 00:01:57
    cuadráticas
  • 00:01:58
    esto nos lleva a pensar en el polinomio
  • 00:02:01
    de taylor
  • 00:02:05
    y pensemos en cómo sería una
  • 00:02:06
    aproximación cuadrática
  • 00:02:09
    bueno para una función dos veces
  • 00:02:11
    diferenciables
  • 00:02:13
    de rn en r
  • 00:02:16
    la aproximación de trino tendría esta
  • 00:02:19
    forma
  • 00:02:21
    sería hd de igual a fx más el gradiente
  • 00:02:25
    df tras puesto porte más un medio desde
  • 00:02:30
    atrás puesto por la matriz es jana en x
  • 00:02:33
    por d
  • 00:02:36
    como es una función cuadrática
  • 00:02:39
    el mínimo o mínimis más bien el
  • 00:02:42
    minimizador de esta función se puede
  • 00:02:45
    localizar
  • 00:02:46
    resolviendo un sistema de ecuaciones
  • 00:02:49
    lineales
  • 00:02:50
    recuerden que el gradiente de h vendría
  • 00:02:53
    siendo
  • 00:02:56
    la matriz es jana de efe o sea lo que en
  • 00:03:00
    el caso que acabamos de ver era la
  • 00:03:02
    matriz
  • 00:03:04
    por de más el gradiente de que en el
  • 00:03:10
    ejemplo anterior era b
  • 00:03:13
    para encontrar una solución de este
  • 00:03:16
    problema de esta aproximación
  • 00:03:17
    tendríamos simplemente que resolver un
  • 00:03:20
    sistema de ecuaciones lineales
  • 00:03:23
    este sistema de ecuaciones
  • 00:03:26
    y es en esta idea que se basa el método
  • 00:03:29
    de neutro resolver de manera sucesiva un
  • 00:03:33
    número finito de problemas
  • 00:03:38
    cuadra ticos
  • 00:03:40
    voy a tratar de ilustrarlo con la
  • 00:03:43
    siguiente con el siguiente digo vamos a
  • 00:03:46
    suponer que queremos minimizar esta
  • 00:03:49
    función en una variable
  • 00:03:52
    queremos empezar en el 2
  • 00:03:55
    entonces a partir de ese punto inicial
  • 00:03:58
    vamos a construir una función cuadrática
  • 00:04:02
    y como ésta tiene una solución fácil de
  • 00:04:06
    calcular ya una fórmula cerrada para el
  • 00:04:09
    caso de una cuadrática de la forma
  • 00:04:12
    x2 más bx más el minimizador se
  • 00:04:17
    encontraría en menos b sobre dos años
  • 00:04:21
    en este caso en esta aproximación
  • 00:04:23
    podemos encontrar cuál es el minimizado
  • 00:04:26
    este sería el segundo punto de la
  • 00:04:29
    sucesión repetimos el proceso
  • 00:04:33
    encontramos una aproximación que pase
  • 00:04:35
    por el punto x suma f x 1 nos da otra
  • 00:04:38
    cuadrática encontramos el minimizador
  • 00:04:41
    ese sería x2
  • 00:04:44
    ahora repetimos el proceso
  • 00:04:47
    aproximamos en ese punto con un modelo
  • 00:04:50
    cuadrática
  • 00:04:51
    resolvemos este problema usando la
  • 00:04:55
    fórmula cerrada y así nos vamos
  • 00:04:58
    aproximando a la solución de este
  • 00:05:01
    problema recuerde el minimizador de el
  • 00:05:06
    problema es lo que estamos buscando
  • 00:05:08
    teniendo esto claro
  • 00:05:11
    vamos a plantear un algoritmo
  • 00:05:14
    de newton como sería el algoritmo básico
  • 00:05:18
    de vida
  • 00:05:23
    lo primero que necesitamos es un punto
  • 00:05:28
    inicial
  • 00:05:29
    e ingresar un punto inicial
  • 00:05:33
    x 0
  • 00:05:38
    después determinamos la dirección de
  • 00:05:41
    newton resolviendo el problema
  • 00:05:46
    es ya la matriz en ciana df por de
  • 00:05:49
    dedica igual a menos el gradiente de
  • 00:05:53
    observen que este es un sistema
  • 00:05:57
    de ecuaciones lineales
  • 00:06:01
    como es un sistema de ecuaciones
  • 00:06:02
    lineales se puede resolver por eliminar
  • 00:06:05
    su obra social
  • 00:06:06
    pero también tiene sus inconvenientes
  • 00:06:11
    porque como ustedes saben un sistema de
  • 00:06:13
    ecuaciones lineales podrían no tener
  • 00:06:15
    solución o aunque tuvieran la matriz que
  • 00:06:20
    determina el sistema podría estar mal
  • 00:06:23
    condicionada y los resultados que noten
  • 00:06:26
    pueden ser basura
  • 00:06:30
    hay que tenerlo en cuenta en cuenta a la
  • 00:06:33
    hora de la programación
  • 00:06:35
    el siguiente paso después de tener la
  • 00:06:37
    dirección del minuto es actualizar el
  • 00:06:40
    literal
  • 00:06:43
    sumando landa por de ese land azúcar se
  • 00:06:47
    obtiene con búsqueda lineal y exacta
  • 00:06:51
    no tenemos un detalle a pesar de que el
  • 00:06:55
    método de newton para minimización se
  • 00:06:58
    basa en un modelo cuadrática no es
  • 00:07:02
    necesario que en cada paso se plantee
  • 00:07:05
    quién es la función h
  • 00:07:08
    esta función cuadrada no es necesario
  • 00:07:10
    solamente nos movemos a través de las
  • 00:07:13
    soluciones que dan esos modelos
  • 00:07:16
    cuadraditos
  • 00:07:19
    bueno después de tener esto como
  • 00:07:23
    de tener este método pues queremos saber
  • 00:07:26
    cómo implementarlo pero recuerden hay un
  • 00:07:30
    asunto a tener en cuenta con un sistema
  • 00:07:36
    ahora nos preguntamos la dirección de
  • 00:07:39
    newton es una dirección de descenso
  • 00:07:42
    claro que sí bajo la hipótesis de que la
  • 00:07:46
    matriz decían que siempre debe ser
  • 00:07:49
    simétrica
  • 00:07:50
    la hipótesis es que esta matriz sea
  • 00:07:53
    definida positivo
  • 00:07:56
    veamos
  • 00:07:58
    supongamos que tenemos que resolver este
  • 00:08:01
    sistema de ecuaciones y multiplicamos a
  • 00:08:05
    la izquierda por de atrás puesto de sus
  • 00:08:08
    caras
  • 00:08:11
    si la hipótesis se cumple de que la
  • 00:08:14
    matriz diana es definida positiva el
  • 00:08:16
    término que está a la izquierda es
  • 00:08:20
    positivo
  • 00:08:23
    así que si es positivo entonces también
  • 00:08:28
    lo es menos de atrás puesto por el
  • 00:08:31
    gradiente de f
  • 00:08:33
    y eso quiere decir que es una dirección
  • 00:08:37
    de descenso
  • 00:08:38
    recuerden que el producto interno de
  • 00:08:41
    conmutativa y para que una dirección sea
  • 00:08:44
    de descenso debe cumplirse que el
  • 00:08:46
    gradiente con el producto interno por d
  • 00:08:49
    debe dar negativo y eso es lo que está
  • 00:08:52
    pasando aquí
  • 00:08:56
    tenemos que considerar como mencioné
  • 00:08:58
    antes los problemas que puede tener
  • 00:09:01
    resolver un sistema de ecuaciones
  • 00:09:02
    lineales
  • 00:09:04
    para este problema hay dos cosas que
  • 00:09:08
    debemos considerar para el problema
  • 00:09:10
    relacionado con el método del judo
  • 00:09:15
    un problema
  • 00:09:18
    que a no sea definida es positiva
  • 00:09:23
    en otras condiciones nos interesaría
  • 00:09:25
    simplemente que afuera no singular
  • 00:09:30
    pero como aquí necesitamos que sea una
  • 00:09:33
    dirección de descenso no solamente le
  • 00:09:36
    vamos a pedir que sea no singular sino
  • 00:09:38
    que sea definida positiva es decir que
  • 00:09:43
    no tenga cero como valor propio pero que
  • 00:09:45
    sus valores propios sean positivos
  • 00:09:49
    y no queremos tener que en cada programa
  • 00:09:53
    en el programa tengamos que calcular los
  • 00:09:55
    valores propios porque eso sería muy
  • 00:09:58
    costoso desde el punto de vista
  • 00:09:59
    computacional
  • 00:10:02
    si la matriz no es definidas positivas
  • 00:10:04
    que podemos hacer
  • 00:10:06
    voy a explicar una alternativa que ha
  • 00:10:09
    resultado muy práctica
  • 00:10:12
    y sumar a la matriz a un múltiplo de la
  • 00:10:17
    matriz identidad
  • 00:10:19
    esta perturbación
  • 00:10:21
    alterará un poco a la matriz pero
  • 00:10:25
    podría convertirla en definida positiva
  • 00:10:29
    si no lo hace nuevamente le sumamos view
  • 00:10:33
    por mí o es un número pequeño así que
  • 00:10:37
    estaríamos sumando esa misma cantidad en
  • 00:10:41
    los elementos de la diagonal
  • 00:10:43
    haciendo así que el espectro de la
  • 00:10:45
    matriz se vuelva positivo o esté en un
  • 00:10:48
    conjunto positivo
  • 00:10:51
    para el caso particular que estamos
  • 00:10:53
    tratando a quien deberíamos perturbar
  • 00:10:56
    esa la matriz social
  • 00:10:59
    sumándole un poli
  • 00:11:01
    el otro problema es que la matriz no sea
  • 00:11:05
    bien condicionada
  • 00:11:07
    si la matriz ya no está bien
  • 00:11:09
    condicionada
  • 00:11:11
    lamentablemente no podemos hacer nada
  • 00:11:14
    no podemos corregirla
  • 00:11:17
    el problema cada vez que usemos el
  • 00:11:20
    sistema de ecuaciones al no estar bien
  • 00:11:23
    condicionada nos va a arrojar basura lo
  • 00:11:26
    que arroja los valores que nos dé como
  • 00:11:29
    respuesta no son confiables así que dado
  • 00:11:33
    que esto puede pasar en medio del
  • 00:11:35
    algoritmo
  • 00:11:36
    tendríamos que buscar una alternativa y
  • 00:11:40
    es cambiar la dirección de minutos por
  • 00:11:43
    una dirección que aunque no sea
  • 00:11:48
    la de newton sea efectiva como pasa con
  • 00:11:53
    el método del gravity
  • 00:11:55
    así que en el caso de que eso pase lo
  • 00:11:59
    que vamos a hacer es cambiar la
  • 00:12:00
    dirección de por menos el gradiente
  • 00:12:03
    esa sería la solución
  • 00:12:06
    como se programa vamos a hacer un
  • 00:12:08
    experimento a ver como se programa esto
  • 00:12:11
    en manda
  • 00:12:14
    hablemos de la programación del método
  • 00:12:16
    de newton
  • 00:12:19
    aquí tengo programado no está escrito
  • 00:12:21
    como función sino como un script que se
  • 00:12:23
    puede ejecutar desde aquí
  • 00:12:26
    empecemos hablando de la primera línea
  • 00:12:28
    clc para borrar la pantalla cada vez que
  • 00:12:32
    se ejecute en el punto x es el punto
  • 00:12:35
    inicial
  • 00:12:36
    observen que a x no escribo cada
  • 00:12:39
    componente sino simplemente escribo x y
  • 00:12:43
    aquí como vector columna las componentes
  • 00:12:45
    que necesiten
  • 00:12:47
    efe x es la función evaluada en x la
  • 00:12:52
    función fue escrita en esta parte
  • 00:12:55
    aquí tengo varias pero en este momento
  • 00:12:58
    estoy hablando de la última más adelante
  • 00:13:01
    voy a explicar cuál es el problema de
  • 00:13:03
    resultado
  • 00:13:05
    el gradiente en gradiente de la función
  • 00:13:07
    también he escrito como vector columna
  • 00:13:11
    es efe es la función que calcula la
  • 00:13:14
    matriz s a
  • 00:13:17
    desde el tamaño de paso que inicialmente
  • 00:13:21
    es un pica es un contador que nos
  • 00:13:24
    indicará el número de operaciones
  • 00:13:27
    tipo es una variable alfa numérica que
  • 00:13:30
    nos va a indicar si se usa el método de
  • 00:13:33
    newton o el método del gradiente o del
  • 00:13:36
    máximo descenso que es el que vamos a
  • 00:13:39
    usar para comparar
  • 00:13:42
    empezamos aquí en un ciclo con la línea
  • 00:13:45
    9 del ciclo white se va a detener cuando
  • 00:13:49
    la norma del gradiente con la norma
  • 00:13:51
    infinito la norma del gradiente sea
  • 00:13:55
    menor que 10 a la menos 3 se va a
  • 00:13:59
    detener así que en el 'wild va la
  • 00:14:02
    negación
  • 00:14:03
    aquí lo que dice es haga mientras la
  • 00:14:06
    norma infinita del gradiente sea mayor o
  • 00:14:10
    igual que díaz a la menos 3
  • 00:14:15
    que acá sea menor o igual que equipo es
  • 00:14:18
    un número bastante grande pero realmente
  • 00:14:20
    no es necesario que sea tan grande es
  • 00:14:22
    con 200 estará bien
  • 00:14:26
    ahora el fp
  • 00:14:29
    mostrará una tabla como se ve aquí en la
  • 00:14:32
    columna de la derecha mostrará estos
  • 00:14:35
    datos quiero que la primera sea el
  • 00:14:38
    contador acá pero escrito como ente por
  • 00:14:41
    eso dice aquí
  • 00:14:43
    1.0 o sea 0 de simán es 0 cifras
  • 00:14:47
    decimales
  • 00:14:48
    cuando uno escribe por ciento él sabe
  • 00:14:51
    que va a escribir una variable y cuando
  • 00:14:54
    pone f que va a ser en punto flotante
  • 00:14:56
    así que entre por ciento y f debes decir
  • 00:14:59
    cómo va a ser el formato de la variable
  • 00:15:04
    el enlace a este comando para dar en la
  • 00:15:09
    tabulación
  • 00:15:11
    aquí escribir los paréntesis nuevamente
  • 00:15:14
    por ciento en el número que voy a
  • 00:15:17
    escribir aquí tiene tres cifras
  • 00:15:19
    decimales
  • 00:15:21
    y es un número en punto flotante lo
  • 00:15:23
    mismo pasa con la segunda componente
  • 00:15:25
    noten que hay una diferencia acá en la
  • 00:15:29
    última boya voy a ocultar esta parte
  • 00:15:33
    para poder hablar de esta línea por
  • 00:15:36
    completo
  • 00:15:38
    aquí está la primera variable que
  • 00:15:40
    variable aquí la primera que aparezca en
  • 00:15:43
    esta línea
  • 00:15:45
    la segunda variable que va aquí después
  • 00:15:48
    del paréntesis es x sur
  • 00:15:51
    y así sucesivamente
  • 00:15:52
    recuerden que la variable tipo no es un
  • 00:15:56
    número es una variable alfa numérica
  • 00:15:58
    aquí es n y la otra opción es g que uno
  • 00:16:03
    dice s que el gradiente ok
  • 00:16:07
    entonces él va a escribir en la última
  • 00:16:09
    columna para mostrar que es
  • 00:16:11
    una variable alfa numérica escribimos
  • 00:16:14
    por ciento ese 1% f como pasa con los
  • 00:16:18
    números de punto flotante sino por
  • 00:16:21
    ciento s
  • 00:16:23
    así que aquí va la variable que vamos a
  • 00:16:26
    ejecutar
  • 00:16:29
    ahora recuerden que la matriz diana es
  • 00:16:32
    una matriz simétrica para que el método
  • 00:16:35
    de newton converge la matriz es jana
  • 00:16:38
    debe ser definida positiva simétrica
  • 00:16:41
    obviamente y definida positiva eso no
  • 00:16:45
    siempre pasa como hablamos antes hay dos
  • 00:16:48
    problemas al resolver un sistema de
  • 00:16:50
    ecuaciones que la matriz no sea
  • 00:16:53
    invertirle o que sea invertible pero el
  • 00:16:55
    número de condición sea muy mal
  • 00:16:58
    para resolverlo primero para resolver
  • 00:17:01
    que sea que se mejore que la matriz que
  • 00:17:04
    es simétrica y definida positiva he
  • 00:17:08
    construido un algoritmo que se llama
  • 00:17:10
    mejor este algoritmo está aquí descrito
  • 00:17:16
    él recibe la matriz y da como salida la
  • 00:17:19
    matriz h
  • 00:17:23
    pregunta si es definida positiva este
  • 00:17:26
    comando de matlab si p es igual a 0 es
  • 00:17:29
    definida positiva si no da igual a cero
  • 00:17:32
    entonces
  • 00:17:34
    quiere decir que no lo es entonces le
  • 00:17:37
    sumamos un múltiplo de la identidad y
  • 00:17:40
    eso lo hacemos tantas veces hasta que la
  • 00:17:43
    matriz se vuelva definida positiva
  • 00:17:47
    incluso si la matriz en la matriz nula
  • 00:17:50
    esto algún día
  • 00:17:52
    se convertirá en una matriz
  • 00:17:55
    simétrica y definida positiva por eso no
  • 00:17:58
    tiene un contador para evitar un bucle
  • 00:18:01
    infinito
  • 00:18:02
    pero la idea es que se altere un poquito
  • 00:18:06
    la matriz no mucho para que ella sea
  • 00:18:09
    definida positiva
  • 00:18:11
    bien esto es lo que también se le conoce
  • 00:18:14
    en álgebra lineal numérica como una
  • 00:18:15
    perturbación
  • 00:18:17
    así que la salida es una matriz que
  • 00:18:21
    a lo mejor sea una perturbación de la
  • 00:18:25
    matriz que entró y si la matriz que
  • 00:18:29
    entró ya es definida positiva
  • 00:18:30
    simplemente sale igual
  • 00:18:34
    volvamos al algoritmo
  • 00:18:36
    entonces aquí ya se proporciona una
  • 00:18:38
    matriz h que es una matriz mejorada ya
  • 00:18:43
    es simétrica y definida positiva
  • 00:18:46
    ahora vamos a sortear el otro problema
  • 00:18:48
    si el número condición es muy pequeño
  • 00:18:53
    este ere como no es el número
  • 00:18:55
    condiciones el recibo como se llama
  • 00:18:58
    recíproco el número de condición
  • 00:19:01
    recíproco entre más cercano sea 0 la
  • 00:19:05
    matriz es más inestable es mal
  • 00:19:08
    condicional
  • 00:19:10
    así que si eso ocurre entonces la
  • 00:19:13
    dirección que vamos a usar será la
  • 00:19:14
    dirección de menos el gradiente y
  • 00:19:17
    marcará
  • 00:19:19
    esa esa integración con que para saber
  • 00:19:23
    qué uso la dirección del gradiente
  • 00:19:26
    en caso contrario resolvemos el sistema
  • 00:19:29
    menos h
  • 00:19:32
    slash de x esta rayita no es una
  • 00:19:36
    división esto resuelve el sistema
  • 00:19:40
    h
  • 00:19:42
    de igual al menos de equis
  • 00:19:45
    si voy a escribirlo aquí
  • 00:19:48
    vamos a escribir aquí cómo sería para
  • 00:19:51
    entenderlo mejor si yo tengo el problema
  • 00:19:53
    a x igual a b entonces uno debería
  • 00:19:58
    escribir x igual
  • 00:20:01
    x igual a a
  • 00:20:05
    islas beck
  • 00:20:08
    si no debe entenderse eso ese está
  • 00:20:11
    incorporado en matlab usa factorización
  • 00:20:14
    iu lv eliminación de oceana y resuelve
  • 00:20:17
    ese sistema
  • 00:20:19
    en caso de que se use esta dirección
  • 00:20:21
    marcará line
  • 00:20:24
    después se actualizan los valores steele
  • 00:20:27
    que está aquí es búsqueda lineal la
  • 00:20:30
    búsqueda lineal
  • 00:20:32
    recuerden que lo que hace es encontrar
  • 00:20:35
    el tamaño de paso adecuado vamos a ver
  • 00:20:38
    como está programado
  • 00:20:43
    como dato de entrada el punto ese punto
  • 00:20:46
    no está cambiando lo que es también lo
  • 00:20:48
    que va a salir aquí es el es solamente
  • 00:20:51
    el tamaño del paso entonces ingreso el
  • 00:20:53
    punto la dirección obtenida en la el
  • 00:20:59
    valor de la función de f y el valor del
  • 00:21:01
    gradiente de f
  • 00:21:03
    entonces aquí aparece como tamaño de
  • 00:21:06
    paso inicial el 1 los valores alfa que
  • 00:21:09
    es el de la condición de armijo beta la
  • 00:21:12
    condición de coste y aquí aparece en
  • 00:21:15
    uruguay la negación de las dos cosas que
  • 00:21:18
    deben pasar
  • 00:21:20
    y aquí también tiene un c este para
  • 00:21:23
    evitar un ciclo infinito
  • 00:21:25
    empieza en 1 y termine en siempre si se
  • 00:21:29
    cumple la condición del mismo para sale
  • 00:21:32
    inmediatamente sino el tamaño de paso se
  • 00:21:36
    multiplica por un medio o sea se hace
  • 00:21:38
    contracción de paso
  • 00:21:41
    lo mismo pasa si está de acá
  • 00:21:44
    deja de cumplirse
  • 00:21:48
    bueno deben dejar de cumplirse la tos
  • 00:21:50
    para que para que pueda
  • 00:21:55
    y salir de ahí
  • 00:21:57
    volvamos al método
  • 00:22:00
    se puede obtener el tamaño del paso
  • 00:22:02
    actualizamos el x sumando x le sumamos
  • 00:22:06
    el deporte
  • 00:22:08
    nuevamente calculamos efe calculamos y
  • 00:22:11
    actualizamos acá
  • 00:22:13
    el ciclo se repite y nos mostrará nos
  • 00:22:17
    dará a esta pregunta de nuevo y lo hará
  • 00:22:20
    hasta que encuentre la respuesta o
  • 00:22:22
    supere el número de interacciones
  • 00:22:24
    hay una tercera opción
  • 00:22:28
    en la dires el punto inicial que hayamos
  • 00:22:31
    escogido no encuentre una dirección en
  • 00:22:37
    un punto estacionaria entonces empieza a
  • 00:22:40
    bajar y suponiendo que en esa dirección
  • 00:22:42
    la función no tiene ínfimo si podría ser
  • 00:22:46
    una función que no tenga el ínfimo sino
  • 00:22:49
    que defienda en alguna dirección a
  • 00:22:51
    infinito en ese caso el algoritmo se va
  • 00:22:55
    a detener porque los números ya no son
  • 00:22:57
    los valores ya no son números son
  • 00:23:00
    cantidades exageradas el algoritmo se va
  • 00:23:03
    a detener o sea que él nunca podemos
  • 00:23:06
    garantizar de que si hace pocas
  • 00:23:08
    iteraciones significa necesariamente
  • 00:23:11
    que el algoritmo o que el punto inicial
  • 00:23:15
    es correcto vamos a ver esta afirmación
  • 00:23:18
    en práctica aquí empezamos en menos 11 y
  • 00:23:22
    hizo estos no uso la dirección del
  • 00:23:25
    gradiente siempre la de u2
  • 00:23:27
    el tamaño del paso ha ido cambiando el
  • 00:23:29
    valor inicial fue 1 después fue 1.25
  • 00:23:33
    este número puede subir o bajar
  • 00:23:35
    dependiendo de lo que se necesite la
  • 00:23:38
    tercera columna es el gradiente y ya en
  • 00:23:42
    la última es pues el valor que está
  • 00:23:45
    tomando como dijimos que el gradiente
  • 00:23:47
    fue en hacia la menos 3 aquí ya se
  • 00:23:49
    satisface
  • 00:23:51
    el último valor es el valor de la
  • 00:23:54
    función
  • 00:23:56
    si cambiamos el punto inicial vamos a
  • 00:23:58
    cambiarlo
  • 00:24:00
    vamos a poner 1 1 1
  • 00:24:04
    veamos al ejecutar miren que hace siete
  • 00:24:07
    iteraciones pero en la séptima iteración
  • 00:24:11
    los números son tan grandes
  • 00:24:14
    ya no puede que hacer el cambio nn
  • 00:24:18
    quiere decir nada a number no son
  • 00:24:22
    números entonces el algoritmo se detiene
  • 00:24:25
    y no está no encontró nada esto por qué
  • 00:24:28
    ocurre esto
  • 00:24:29
    ocurre cada vez que la función en por
  • 00:24:35
    alguna razón o por la misma definición
  • 00:24:37
    de la función hay una dirección en la
  • 00:24:40
    que la función tiende a menos infinito
  • 00:24:43
    un lado de la función si tal vez por
  • 00:24:46
    ejemplo como pasa en la función cúbica
  • 00:24:49
    si viajas a la izquierda y empiezas a
  • 00:24:52
    buscar un lado más abajo pues
  • 00:24:55
    seguramente siempre vas a encontrar un
  • 00:24:57
    punto más abajo y del algoritmo no va a
  • 00:25:00
    funcionar
  • 00:25:02
    si entonces este es la programación del
  • 00:25:04
    método delito
  • 00:25:08
    qué le parece si ahora hacemos un
  • 00:25:10
    ejemplo
  • 00:25:11
    tomemos la función que se implementó
  • 00:25:15
    esta función
  • 00:25:17
    [Música]
  • 00:25:19
    es
  • 00:25:22
    x al cuadrado más
  • 00:25:25
    x por 3 - x a la 2
  • 00:25:29
    como ven no es una función cuadrática
  • 00:25:32
    porque la si fuera cuadrática la re
  • 00:25:34
    superior
  • 00:25:39
    en este caso el gradiente nos da este
  • 00:25:41
    vector columna
  • 00:25:46
    y la matriz es jana
  • 00:25:49
    la siguiente matriz simétrica
  • 00:25:57
    vamos a ver cómo queda esta
  • 00:25:59
    implementación vamos a ver de verdad
  • 00:26:02
    vamos a probar el problema de bien esta
  • 00:26:06
    es la función es x 1 x 1 x menos todo
  • 00:26:14
    esto al cuadrado más y por abro
  • 00:26:19
    paréntesis 3 x x a la 2
  • 00:26:22
    este es efe noten que aquí arriba no
  • 00:26:25
    peor que escribir x etc
  • 00:26:29
    solamente x y entonces al definir lo que
  • 00:26:32
    se sabe cuánta variable tiene
  • 00:26:35
    el con el gradiente está la función
  • 00:26:37
    gradiente este punto de coma en un salto
  • 00:26:40
    de línea en el punto y coma que aparece
  • 00:26:42
    aquí así que es un vector columna si
  • 00:26:45
    también el valor de entrada en x y acá
  • 00:26:48
    es que se sabe cuántas variables tienen
  • 00:26:51
    la matriz es jana aquí este es el
  • 00:26:54
    gradiente la función la matriz diana es
  • 00:26:57
    muy cortita
  • 00:26:59
    2 - 2 y coma - 2 - 2x es simétrica y acá
  • 00:27:06
    queda duros
  • 00:27:08
    bueno ahora sí probar al probarlo
  • 00:27:11
    le damos a ejecutar
  • 00:27:13
    y no sale ocho pasos
  • 00:27:17
    como ven todos los pasos que se hicieron
  • 00:27:19
    fueron pasos de youtube
  • 00:27:21
    la solución es la que aparece aquí al
  • 00:27:24
    final
  • 00:27:25
    el tamaño del paso no siempre es uno
  • 00:27:29
    sino que fue 05 en la mayoría de los
  • 00:27:31
    casos y en la tercera columna
  • 00:27:36
    y nos muestra la norma del gradiente
  • 00:27:39
    la cuarta columna es el valor de la
  • 00:27:41
    función
  • 00:27:43
    bueno es normal que nos preguntemos
  • 00:27:44
    bueno es mejor el método del minuto
  • 00:27:46
    momento del gradiente
  • 00:27:48
    bueno la respuesta es que en la mayoría
  • 00:27:51
    de los casos es mejor el método de
  • 00:27:53
    newton
  • 00:27:55
    pero hay funciones que es que son deben
  • 00:27:59
    de cierta forma que podría ser que
  • 00:28:02
    tengan las mismas interacciones en ambos
  • 00:28:05
    métodos o incluso que podría ser al
  • 00:28:09
    revés
  • 00:28:10
    vamos a cambiar aquí un poquito y vamos
  • 00:28:13
    a obligar a que siempre use el método
  • 00:28:17
    del gradiente entonces vamos a poner
  • 00:28:20
    esto aquí y vamos a comentar esto para
  • 00:28:23
    que solamente haga el método de newton
  • 00:28:27
    le vamos a guardar lo recuerde que hubo
  • 00:28:30
    ocho iteraciones y que este es el punto
  • 00:28:34
    solución vamos a iniciar en el mismo
  • 00:28:36
    punto compilar nos da 12 interacciones
  • 00:28:40
    el dobles de declaraciones
  • 00:28:43
    y aquí dicen yuto porque acá
  • 00:28:47
    y dice n pero ya saben que fue solamente
  • 00:28:49
    una prueba
  • 00:28:52
    bueno realmente no es el doble todo se
  • 00:28:54
    instalaciones se incrementó
  • 00:28:57
    en cuatro interacciones más se obtuvo la
  • 00:29:01
    misma solución también cambian los
  • 00:29:04
    tamaños de paso los tamaños de pasas el
  • 00:29:07
    de pasos son específicos para cada
  • 00:29:09
    interacción y para cada mes así que
  • 00:29:12
    eso no se compara no es comparable
  • 00:29:15
    entonces vamos a dejarlo como el cama
  • 00:29:21
    y con eso hemos probado que para este
  • 00:29:24
    ejemplo el método de newton es más
  • 00:29:28
    rápido que el método del gradiente
  • 00:29:33
    vamos a ver estos resultados con más
  • 00:29:35
    detalles
  • 00:29:37
    aquí tenemos la tabla que se obtuvo
  • 00:29:40
    en matlab
  • 00:29:43
    note que en ocho interacciones empezando
  • 00:29:47
    en menos uno menos uno se obtuvo este
  • 00:29:50
    punto que es un punto de esta ciudad
  • 00:29:54
    bueno aquí en la norma del gradiente de
  • 00:29:57
    0.02 es casi cero
  • 00:30:01
    seguramente si usamos más decimales y
  • 00:30:04
    llegamos a tener un noveno paso vamos a
  • 00:30:06
    obtener
  • 00:30:07
    más precisión pero ya tenemos un punto
  • 00:30:10
    en donde vamos a encontrar un vídeo
  • 00:30:14
    también pueden ver que el tamaño de
  • 00:30:17
    lambda
  • 00:30:19
    puede ser 105 y para cada paso que se
  • 00:30:24
    actualiza dependiendo de lo que necesite
  • 00:30:28
    bueno ahora porque para algunos casos
  • 00:30:31
    porque para algunos valores
  • 00:30:33
    y nos dio como esperábamos o sea nos
  • 00:30:36
    daba un números demasiado grandes o muy
  • 00:30:40
    pequeños muy negativos vamos a ver
  • 00:30:56
    miremos esta gráfica
  • 00:30:59
    vamos a tratar de ver la superficie
  • 00:31:04
    estamos estudiando esta es la función
  • 00:31:07
    efe
  • 00:31:08
    noten hay tres puntos especiales dos
  • 00:31:11
    azules y uno amarillo pero que lo estén
  • 00:31:14
    viendo
  • 00:31:16
    los azules son o máximos o puntos de
  • 00:31:19
    silla
  • 00:31:21
    el punto que estamos buscando es el
  • 00:31:23
    punto amarillo
  • 00:31:24
    observen que si estamos cerca del punto
  • 00:31:28
    azul
  • 00:31:29
    podemos vernos por un precipicio que es
  • 00:31:32
    lo que se ve allí así que si estamos
  • 00:31:34
    cerca y buscando una dirección de
  • 00:31:37
    descenso nos va a enviar hacia menos
  • 00:31:40
    infinito
  • 00:31:43
    ese es el peligro de no saber dónde
  • 00:31:46
    vamos a escoger el punto inicial
  • 00:31:49
    esa es la pregunta una pregunta una
  • 00:31:51
    buena pregunta cómo escoger el punto
  • 00:31:53
    inicial
  • 00:31:54
    realmente eso no se sabe cada caso es
  • 00:31:57
    diferente
  • 00:31:59
    bueno este es el punto que tenemos que
  • 00:32:01
    ubicar
  • 00:32:02
    el punto amarillo en donde se encuentra
  • 00:32:04
    el mínimo de esta función
  • 00:32:09
    después de tener ese punto vamos a
  • 00:32:12
    tratar de ubicar los puntos de la
  • 00:32:14
    sucesión que hemos ido encontrando
  • 00:32:17
    con el algoritmo de newton para ver cómo
  • 00:32:20
    se llegó a ese a ese valor veamos desde
  • 00:32:25
    el punto inicial - 11 y noten cómo los
  • 00:32:28
    puntos rojos van llegando a la solución
  • 00:32:30
    del problema
  • 00:32:33
    esto es lo que hace el método del
  • 00:32:36
    si escogemos un punto inicial adecuado
  • 00:32:43
    hay un teorema muy importante que nos
  • 00:32:46
    dice los sirvientes
  • 00:32:57
    sea el de rn en r
  • 00:33:02
    y esta es una función
  • 00:33:04
    de ese 2
  • 00:33:14
    y
  • 00:33:15
    bueno si la matriz es ya la elipsis
  • 00:33:18
    continua como funciona miren eso la
  • 00:33:21
    matriz la función cristiana como función
  • 00:33:24
    elipsis continua
  • 00:33:27
    escogemos un punto inicial
  • 00:33:30
    si x estrella es un minimizador local de
  • 00:33:34
    efe y además en las en la solución la
  • 00:33:38
    matriz de cidades definida positiva
  • 00:33:42
    y entonces existe un épsilon por lo
  • 00:33:44
    tanto existe una vecindad tal que si x0
  • 00:33:48
    y equis estrella están suficientemente
  • 00:33:51
    cerca
  • 00:33:53
    y tomando holanda subcampeona igual que
  • 00:33:56
    uno
  • 00:33:57
    la sucesión
  • 00:33:58
    xk generada por el algoritmo de youtube
  • 00:34:02
    satisface los siguientes
  • 00:34:05
    primero
  • 00:34:09
    la matriz cian a en todos los puntos de
  • 00:34:12
    la sucesión son debilidades positivas
  • 00:34:16
    claro esa parte nos interesa mucho si
  • 00:34:19
    estamos cerca de la solución
  • 00:34:21
    entonces no vamos a tener el problema de
  • 00:34:25
    necesitar convertir la matriz cristiana
  • 00:34:28
    en definida positiva
  • 00:34:31
    segundo
  • 00:34:36
    la sucesión converge la sucesión
  • 00:34:39
    generada por el algoritmo de luto con
  • 00:34:42
    vez
  • 00:34:44
    y tercero
  • 00:34:49
    existe un c positivo tal que el error
  • 00:34:54
    aquí hace una comparación entre errores
  • 00:34:57
    sucesivos
  • 00:34:59
    pero en esencia lo que dice es que si la
  • 00:35:03
    matriz es jana es
  • 00:35:07
    discontinua el algoritmo de newton
  • 00:35:10
    converge de manera cuadrática
  • 00:35:14
    claro eso mucho más rápido que la
  • 00:35:16
    convergencia que obtuvimos para el
  • 00:35:19
    método el gradiente que era solamente
  • 00:35:21
    lineal se puede obtener convergencia
  • 00:35:25
    cuadrática bajo la hipótesis de que la
  • 00:35:29
    matriz es jana sea lipshitz contigo
  • 00:35:33
    qué interesante verdad bueno con esto
  • 00:35:36
    hemos terminado de hablar sobre el
  • 00:35:39
    método de newton
  • 00:35:42
    sin embargo
  • 00:35:45
    puede que surja una inquietud y está
  • 00:35:48
    relacionada con el método de newton para
  • 00:35:51
    resolver sistemas de ecuaciones
  • 00:35:55
    qué les parece si hacemos una
  • 00:35:57
    comparación para ver cuál es la
  • 00:35:59
    diferencia entre el método del youtube
  • 00:36:02
    para minimización
  • 00:36:07
    el método de newton para resolver
  • 00:36:10
    sistemas de ecuaciones
  • 00:36:14
    primer asunto el problema que se
  • 00:36:16
    resuelve es diferente
  • 00:36:18
    para minimizar
  • 00:36:19
    efe de rn jr y hay que minimizar esa
  • 00:36:24
    función
  • 00:36:26
    en el sistema de ecuaciones se tiene una
  • 00:36:29
    función de rn en rn y lo que vamos a
  • 00:36:33
    buscar es en donde esas esa función de
  • 00:36:37
    hacer
  • 00:36:41
    cada paso de newton para cada problema
  • 00:36:44
    se puede ver así para el caso de
  • 00:36:47
    minimización
  • 00:36:49
    la matriz cian es la que la matriz del
  • 00:36:53
    sistema mientras que en el sistema de
  • 00:36:57
    ecuaciones el jefe prima conocida como
  • 00:37:01
    la matriz hakobyan a de f
  • 00:37:03
    también hay que resolver un sistema pero
  • 00:37:06
    los problemas a afrontar son un poco
  • 00:37:09
    diferentes
  • 00:37:10
    en el caso de la matriz diana queremos
  • 00:37:13
    que sea
  • 00:37:14
    simétrica y definida positiva
  • 00:37:18
    en el caso del jacob ya no nos interesa
  • 00:37:21
    únicamente que la matriz sea no singular
  • 00:37:25
    con eso será suficiente
  • 00:37:29
    además
  • 00:37:32
    la manera de actualizar el integrante
  • 00:37:35
    también un poco diferente
  • 00:37:37
    para minimización se encuentra blanda
  • 00:37:43
    con búsqueda lineal es decir con la
  • 00:37:46
    condición de armijo la condición de
  • 00:37:48
    goldstein u otras equivalentes
  • 00:37:51
    pero como acá no hay una función
  • 00:37:54
    potencial que como efe entonces
  • 00:37:59
    no podríamos encontrar un tamaño de paso
  • 00:38:02
    a menos que el sistema de ecuaciones se
  • 00:38:06
    convierta por medio de una función de
  • 00:38:08
    mérito en un problema de minimización
  • 00:38:11
    entonces aquí simplemente landa siempre
  • 00:38:14
    va a ser
  • 00:38:17
    bien espero que estas aclaraciones les
  • 00:38:19
    hayan servido y que les haya quedado
  • 00:38:21
    claro de cómo funciona el método de
  • 00:38:24
    newton para minimización
  • 00:38:28
    hasta la próxima clase
  • 00:38:29
    [Música]
Tags
  • Newton
  • minimización
  • gradiente
  • matriz Hessiana
  • programación
  • algoritmo
  • convergencia
  • perturbación
  • sistemas de ecuaciones