If you're seeing this message, it means we're having trouble loading external resources on our website.

Ако си зад уеб филтър, моля, увери се, че домейните *. kastatic.org и *. kasandbox.org са разрешени.

Основно съдържание

Защо градиентът показва посоката на най-стръмното изкачване

По начина, по който изчисляваме градиента, изглежда че той няма връзка с неговата интерпретация като посоката на най-стръмното изкачване. Но в този урок можеш да видиш каква е тази връзка.  Създадено от Грант Сандерсън.

Искаш ли да се присъединиш към разговора?

Все още няма публикации.
Разбираш ли английски? Натисни тук, за да видиш още дискусии в английския сайт на Кан Академия.

Видео транскрипция

Досега говорихме за градиента на една функция, като винаги разглеждахме функция на две променливи, защото е най-лесно за разглеждане. Например нека функцията да е f равно на х на квадрат плюс у на квадрат, много лесна функция. Когато разглеждахме градиента, оставих нещо недоизяснено. Видяхме как да го изчислим, като начинът да го изчислим е като просто съставим този вектор, чиито компоненти са частните производни на функцията. Частната производна по отношение на х и частната производна по отношение на у. Ако имаме аргумент с повече измерения, тогава стойността на функцията ще има толкова променливи, колкото е нужно. Може да е (х; у; z). ще имаме частно х, частно у и частно z. Това е начинът за изчисление. След това показах как го тълкуваме графично. Казахме, че градиентът сочи в посоката на най-стръмното изкачване, и може би начинът, по който го разглеждаш, е, че имаш дефиниционното множество, което в този случай е равнината ху, а функцията е един вид изобразяване на това дефиниционно множество върху една числова ос, в множеството на стойностите на функцията. И ако имаш някаква точка, въпросът е: от всички възможни посоки, в които можеш да се придвижиш от тази точка, всички различни посоки, в които можеш да тръгнеш, коя от тези посоки... тази точка ще се изобрази някъде в множеството от стойности на функцията, и когато се движиш в различни посоки, може би в едната посока се преместваш съвсем малко, а в друга посока се преместваш много, едното направление те премества малко в отрицателна посока, а друго те премества много в отрицателна посока. Кое от тези премествания ще предизвика най-голямо нарастване на стойността на функцията? Но това е много обща логика. Ако разсъждаваш от гледна точка на графиката, можем да разгледаме тук графиката на f равно на х на квадрат плюс у на квадрат, а това е полето на градиента на тази функция. Всички тези вектори в равнината ху са градиенти. Ако ги погледнеш отдолу, може би ще видиш защо всеки един от тях сочи в посоката, в която трябва да се движиш, за да се изкачиш по тази графика възможно най-бързо. Ако си скален катерач и искаш да се изкачиш на върха възможно най-бързо, тези вектори ти казват в коя посока да се движиш, за да се изкачиш най-бързо горе. Затова се нарича посока на най-стръмното изкачване. Ако се върнем ето тук, не виждам връзката веднага, или поне когато го учих за пръв път, не ми беше ясно защо тази комбинация от частни производни подсказва как да се избере най-подходящата посока. Сега, след като вече учихме за производната по направление, мога да ти дам малко по-логично обяснение. Да кажем, че вместо да разглеждаме всички възможни посоки и всички тези възможни изменения на изходната стойност на функцията, които имаме... сега ще допълня обяснението си. Да кажем, че имаме просто... дадена е тази точка, в която разглеждаме какво се случва, а после имаме един вектор, нека този вектор да бъде единичен вектор. Нека да приемем, че дължината на този вектор е единица. Ще се преместя тук отдясно и ще напиша, че това е вектор v, като този вектор v има дължина 1, така че това е нашият вектор. Сега знаем вече, учихме за производните по направление, чрез които можем да определим скоростта на изменение на една функция, когато се движим в тази посока, като намираме производната по направление на нашата функция. Да кажем, че тази точка – как да означим тази точка? Нека да е точка (а; b). Точка (а; b) е ето тази точка. Когато намираме производната в тази точка (а; b), начинът, по който ще го направим, е просто да намерим скаларното произведение на градиента на функцията f... Трябва да кажа скаларното произведение в тази точка, защото градиентът е векторна функция, като тук ни трябва конкретен вектор, значи изчисляваме това в нашата точка (а; b) по някакъв вектор, какъвто и да е той, който има някаква дължина, независимо каква е тя. В този случай ние разглеждаме вектор v като единичен вектор. Ето това е начинът, по който определяме скоростта на изменение, а когато за пръв път разгледахме производната по направление, аз един вид ти дадох насока защо. Ако си представиш, че умножим това по... да кажем, че това е вектор като (1; 2), можеш да си представиш, че този вектор съответства на една стъпка в посока х, на две стъпки в посока у, така че големината, с която се променят нещата, ще е едно по промяната, предизвикана от една единична стъпка в посока х, плюс две по промяната, предизвикана от една единична стъпка в посока у. Това е малко повърхностно. Можеш да гледаш видеото за производна по направление, ако искаш да навлезеш малко по-навътре в темата. А това е формулата, която имаме. Ето така получаваме инструмент да изберем посоката на най-стръмното изкачване, защото сега по същество ние задаваме въпроса кои от тези изменения водят до най-голяма промяна в стойността на функцията, може би когато се движим в тази посока има малка промяна в отрицателна посока, и искаме да разберем дали друг вектор w ще причини изменение, което ще е положително. Дали ще е възможно най-голямото изменение? Това, което правим, е да кажем, че търсим максимума за всички единични вектори, такъв че за всички вектори v, които притежават дължина единица, да намерим максималното скаларно произведение на стойността на градиента на f в тази точка, или в произволна точка, и вектор v. Търсим този максимум. Да помислим на какво съответства това скаларно произведение. Да кажем, че дойдем ето тук и примерно оценим вектора на градиента, и се окаже, че градиентът сочи в тази посока, може би това не е нужно да е единичен вектор, може да е вектор с много голяма дължина като този. Ако си представим някакъв вектор v, някакъв единичен вектор v, който сочи в тази посока. Начинът, по който интерпретираме това скаларно произведение, скаларното произведение на градиента на функцията f и този нов вектор v, е, че ще проектираме този вектор директно, все едно, че ще направим перпендикулярна проекция върху вектора на градиента, и тогава искаме да определим неговата дължина. Каква е дължината на този вектор ето тук? И само като пример, дължината на проекцията ще е по-малка от едно, нали? Понеже това е единичен вектор. Да кажем, например, че това е 0,7. После умножаваме това по дължината на самия вектор на градиента, по вектора, по който умножаваме скаларно. Може би този вектор, може би дължината на целия вектор на градиента, само като пример да приемем, че тя е 2, не е задължително да бъде толкова, може да бъде всякаква. Но начинът, по който интерпретираме това скаларно произведение е да умножим дължините на вектора и проекцията. Умножаваме 0,7, дължината на проекцията, по дължината на самия вектор. Въпросът е кога това произведение е най-голямо? За кой единичен вектор това произведение е най-голямо? Предполагам, че може би си представяш как "люлеем" този вектор, и ако, вместо този вектор, ако използваме вместо него вектор, който сочи малко по-близко до тази посока, тогава неговата проекция ще бъде малко по-дълга. Може би проекцията му ще е примерно 0,75 или нещо такова. Ако вземем единичния вектор, който сочи директно в същата посока, като този целият вектор, тогава дължината на проекцията ще е равна на дължината на самия вектор. Тя ще бъде единица, защото проекцията изобщо не го променя. Така че няма да е много трудно да се убедиш в това, и ако чувстваш несигурност по отношение на скаларното произведение на вектори, ти препоръчвам да гледаш уроците, които имаме по темата в Кан Академия. Сал е направил страхотни видеа, в които обяснява задълбочено логиката. Ако искаш да разбереш защо единичният вектор, който сочи в посоката на градиента, ще направи това произведение най-голямо, отговорът тук е, отговорът на въпроса за кой вектор това произведение е максимално, ще бъде самият вектор на градиента, нали? Векторът на градиента, който определяме в интересуващата ни точка, освен ако не я нормализираме, нали? Понеже разглеждаме само единичните вектори, за да направим това, трябва просто да разделим на дължината на вектора. Ако тази дължина е единица, това остава единица. Ако дължината е 2, тогава резултатът ще е наполовина. Ето това е отговорът. Това е посоката на най-стръмното изкачване. Мисля, че едно нещо, което трябва да отбележим тук, най-основният факт, че градиентът е инструмент за изчисляване на производните по направление. Можеш да разглеждаш този вектор като нещо, което използваме в скаларно произведение, и това е нещо много полезно, това, че градиентът не е просто един вектор, а това е вектор, който обича да бъде използван в скаларно произведение с разни други неща. Това е фундаментално. Като последствие от това посоката на най-стръмното изкачване е самият този вектор, (посочва на екрана) защото всичко – ако попитаме кой вектор максимизира скаларното произведение с този вектор, това е векторът, който сочи в същата посока като градиента. Това също така ни дава тълкуването за дължината на вектора на градиента. Знаем, че посоката на градиента е посоката на най-стръмното изкачване, но какво означава тази дължина? Да именуваме този вектор. Да именуваме нормализираната версия на вектора. Ще го означа като вектор w. Вектор w е единичният вектор, който сочи по посока на градиента. Да намерим производната на функцията f по направление на вектор w, това означава, че намираме скаларното произведение на градиента на функцията f и вектор w. Ако кажем какво означава този вектор w, това означава, че взимаме градиента на вектора, умножен по самия себе си, но понеже това е вектор w, а не градиента, ние го нормализираме. Делим, обаче не на големината на f, което няма смисъл, а на стойността на градиента, и всичко това – аз просто записвам градиента на функцията f, но може би трябва да разглеждаме градиента в точката (a;b), но аз проявих малко мързел и записах само градиента на функцията f. И накрая, когато намерим скаларното произведение със самия него, това означава, че повдигаме на квадрат неговата дължина. После цялото това се дели на дължината. Така че това един вид се съкращава. Можеш да кажеш, че тази двойка вече няма нужда да е тук, този степенен показател изчезва, и по същество производната по направление в посоката на самия градиент има стойност, която е равна на дължината на градиента. Това ни показва, че когато се движим в тази посока, в посоката на градиента, скоростта, с която функцията се променя, е равна на размера на градиента. Така че това е един наистина вълшебен вектор. Той прави много неща. Можем да намираме скаларното му произведение с други вектори, за да намерим производната по направление. Като резултат от това, той представлява посоката на най-стръмното изкачване, а дължината му ни показва скоростта, с която стойностите на функцията се променят, когато се движим в посоката на най-стръмното изкачване. Това е самата същност на скаларните функции на много променливи, и това е надграждане на производните във всяко отношение, в което бихме искали да надградим една производна.