Логистическая регрессия. Лекция 8. — Transcript

Лекция 8 курса по машинному обучению трансформеров от Евгения Разинкова посвящена логистической регрессии и её применению в классификации.

Key Takeaways

  • Логистическая регрессия — базовый, но важный алгоритм классификации, применяемый в современных нейросетях.
  • One-hot encoding позволяет эффективно кодировать классы для многоклассовой классификации.
  • Прямая линейная регрессия не подходит для классификации из-за отсутствия вероятностной интерпретации и проблем с оптимизацией.
  • Функция Softmax преобразует выходы модели в вероятностный вектор, что решает проблему интерпретации и обучения.
  • Градиентный спуск и обратное распространение являются ключевыми методами обучения логистической регрессии и нейросетей.

Summary

  • Введение в тему логистической регрессии как алгоритма классификации.
  • Объяснение кодирования классов с помощью one-hot encoding.
  • Связь логистической регрессии с нейронными сетями и deep learning.
  • Обсуждение проблем прямого применения линейной регрессии для классификации.
  • Идея обучения K линейных регрессий для оценки уверенности принадлежности к классам.
  • Проблемы с оптимизацией целевой функции при простом подходе к классификации.
  • Необходимость получения вероятностного вектора с суммой компонентов равной единице.
  • Введение функции Softmax для преобразования выходов модели в вероятности.
  • Формулировка целевой функции для многоклассовой классификации.
  • Обзор градиентного спуска и обратного распространения для обучения модели.

Full Transcript — Download SRT & Markdown

01:43
Speaker A
Так, теперь должен быть звук. А я всех приветствую на восьмой лекции по курсу машинное обучение трансформеров. Сегодняшняя тема — логистическая регрессия.
02:08
Speaker A
Да, отлично. Спасибо большое за комментарии по поводу звука. Я потому что забыл, оказывается, подключить микрофон. Обычно мы изучали её лекции так на 5, в
02:32
Speaker A
этот раз 8, потому что курс обрастает новыми подробностями, деталями. Я думаю, что это хорошо. Вот. Но тем не менее, так, давайте приступим непосредственно к нашему материалу. Мы с вами изучаем классификацию какое-то количество времени, это получается, кажется, третья лекция. Мы говорили о том,
02:48
Speaker A
что у нас с вами будет есть вектор X, который представляет наш объект. Сегодня это всё важнее, потому что мы будем непосредственно использовать и 7 класс — есть номер класса в данном случае, в данном примере класса 3: кошки, собаки, лошади соответственно 1, 2, 3. К — большое
03:06
Speaker A
количество классов, нас будет равно 3. И мы с вами обсуждали, что мы можем номер класса закодировать как вам hot encoding vector, который будет камерный, будет состоять из нулей и будет содержать единичку в одной единственной позиции, которая будет совпадать с номером класса. Да.
03:23
Speaker A
Соответственно, для кошки, которая является представителем первого класса, это будет 100, для собаки второго класса — 010, единичка на позиции 2, и для лошадей это будет 001, единичка на позиции 3. Сегодня будем это использовать. На прошлой лекции изучали метрики, как и на позапрошлой,
03:49
Speaker A
обсуждали бинарную классификацию, повести ошибки первого и второго рода, престижный рекол, обсуждали всякие тонкости, что иногда вообще нам доступны только престижных задач обнаружения аномалий, например, обсуждали более продвинутые вещи, какие такие как престижный кол, кривая и average precision, обсуждали многоклассовую классификацию
04:11
Speaker A
и confusion matrix. И вот наконец-то сегодня мы переходим непосредственно к самому алгоритму логистической регрессии, который, как это ни странно, является алгоритмом классификации, несмотря на название. Так что и обратите внимание, пожалуйста, что несмотря на то, что мы с вами изучаем
04:36
Speaker A
этот простейший алгоритм классификации, вам может показаться, что это какая-то вещь неважная в будущем. Однако хочу вас заверить, что это не так. То есть на самом деле с какой-то точки зрения, да, мы можем сказать, что ну что, ChatGPT — это очень большая
04:53
Speaker A
нейронная сеть, которая усиливает хорошие характеристики, а в конце применяет к ним логистическую регрессию. То есть это всё и линейная регрессия, логистическая регрессия — это все стандартные последние слои в сколь угодно модных нейронных сетях, и логика обучения по крайней, ну то
05:14
Speaker A
есть normal equation, да, и прямое решение задачи, как в случае регрессии, в случае нейронных сетей сильно нам недоступна, а решение с помощью обратного распространения — это ровно то, что нас ждёт потом всегда. Соответственно, мы с вами изучаем важные deep learning
05:36
Speaker A
компоненты прямо сейчас. По поводу того, как рассказывается логистическая регрессия, я выработал некоторую свою определённую тактику, и я не могу сказать, я не помню, что я видел это где-то ещё, поэтому все хорошие стороны этого объяснения считайте, что я где-то украл, а все худшее
05:57
Speaker A
считайте, что я это придумал сам. А вот эта логика, которую мы сегодня, то есть как мне нравится рассказывать, да, машинному обучению, мне нравится связывать темы вместе. Обратите внимание, я говорю про логистическую регрессию, но я уже забрасываю удочки вперёд и говорю о том,
06:17
Speaker A
как мы будем её применять для того, чтобы тема хорошо выглядела в контексте, вам было понятно, зачем вы это слушаете. Также я люблю опираться на материал предыдущих лекций. Соответственно, сегодня я хотел бы опереться на материал лекции про регрессию и попробовать
06:42
Speaker A
пробросить здесь небольшой мостик, таким образом добиться того, что вам будет это понимать лучше. Смотрите, как вам. То есть вот у меня есть, вот мы умеем строить регрессию линейными функциями, безбашенной функции не принципиально. Возникает вопрос: как нам из этого получить
07:05
Speaker A
алгоритм классификации? Наивный путь мог бы быть следующий: мы сейчас с вами немного фантазируем, так чуть-чуть по-детски, но я думаю, что об этом думать полезно, что мы могли бы сделать. Мы могли бы сказать: давайте мы возьмём, вот у нас есть, значит, допустим, у нас
07:28
Speaker A
одномерный вход, и давайте мы с вами назначим нашим элементам нашей выборки, да, давайте назначим какие-то диапазоны. Соответственно, есть элемент принадлежит классу один, мы, например, заставим предсказывать одну вторую, если классу 2 — то полтора, и потом будем смотреть, попадает предсказанная переменная
07:40
Speaker A
в тот или иной интервал. Да, есть, соответственно, падает от двух до трёх — говорит, что это класс 3, от 1 до 2 — класс 2, от 0 до 1 — класс 1, и так далее. Какие здесь миллион, на самом деле,
08:02
Speaker A
проблем с такой логикой. И самое главное, мы с вами уже обсуждали, что регрессия такую ошибку совершит редко, когда она перепутает вот этот класс и вот этот класс, а для классификации пятый класс перепутался с десятым или с третьим или с четвёртым, и всё равно главное, чтобы перепутали класс. Эту логику, да, эту структуру ошибок
08:30
Speaker A
мы хотели бы с вами сохранить, но мы можем здесь с вами придумать немного другой подход. Представьте, что я обучу K линейных регрессий, скажем так, и моя первая линейная регрессия
08:54
Speaker A
будет отвечать за то, насколько мы уверены, что это класс один, моя вторая линейная регрессия будет отвечать за то, насколько мы уверены, что это класс 2, и так далее, и так далее, и моя K-я регрессия будет отвечать за то, насколько мы
09:19
Speaker A
уверены, что это класс K. На что вы можете возразить? А как мы вообще будем с вами обучать такие регрессии? Как мы можем это регулировать? Пока не думайте об этом, это мы всё с вами построим, но главное, что выглядит неплохо.
09:42
Speaker A
Получается, мои регрессии никакого значения могут выдавать, зачем ограничены в каком-то плане ничем? Да, то есть мы можем ожидать сами выходы от минус бесконечности до плюс бесконечности. Давайте мы сразу с вами дадим этим выходам, двум выходам линейных регрессий, какое-то название. Я
10:38
Speaker A
традиционно обозначаю эту букву Z. И теперь мы можем с вами сказать: окей, если Z с индексом k больше, чем zita для любого i, неравного k, то в этом случае мы будем говорить, что это класс k, например. Что с этим решением? То есть если мы с вами
11:06
Speaker A
попробуем пойти по этому пути и больше ничего не добавим, то с какими проблемами с вами столкнёмся? Давайте чуть-чуть порассуждаем. Во-первых, наш алгоритм пока нет очевидного пути, как наш алгоритм мог бы выдавать уверенность в ответе. То есть мы помним, да, что мы вообще
11:26
Speaker A
предпочитали бы получать вектор камерный, где все компоненты суммируются в единицу, и каждый из компонентов от 0 до единицы, да, то есть то, что мы могли бы интерпретировать как вектор вероятности. Окей, это первый момент вполне валидный, но есть и другой момент:
11:58
Speaker A
что если я пойду просто по этому пути, то какую бы я не сделал целевую функцию, её производная будет равна нулю во всех точках, в которых она будет существовать. Частное производное по параметрам модели. Почему? Потому что вот у вас, например,
12:27
Speaker A
вы сделали функцию, которая учитывает, какой класс предсказывается. Понятное дело, что микроскопические изменения, конечно, мало изменения ваших обучаемых параметров не будут приводить к тому, что вот это неравенство перестанет выполняться. Если оно не перестанет выполняться, это означает, что целевая функция там будет иметь то же
12:40
Speaker A
самое значение. Да, и соответственно, если она не изменилась при изменении обучаемого параметра, это означает, что её частная производная по данным параметрам равна нулю, а это означает, что мы не сможем на самом деле такой алгоритм оптимизировать с помощью градиентного
13:03
Speaker A
спуска. То есть мы ещё целевую функцию не сформулировали, но главное, что если она будет зависеть от того, просто какой класс предсказан, то она обречена иметь нулевые частные производные, вектор градиента причём быть нулевым вектором везде, где он существует. Так получается вторая проблема:
13:58
Speaker A
частное производное целевой функции по произвольно обучаемому параметру будет равна нулю везде, где она существует. Хорошо, эту проблему мы будем исправлять. Для решения этой проблемы есть прямая серебряная пуля, скажем так. А так теперь, да, уважаемые слушатели, уважаемые студенты, поставьте, пожалуйста, плюс, если
14:19
Speaker A
вот эта логика рассуждения она немн...
15:04
Speaker A
пересекаются да получается у нас с вами Z1 это будет некоторое W 10 плюс w11 на X1 плюс и так далее и так далее W1 Давайте м на XM Сейчас посмотрим у меня на сайте так да за два получается это будет w20 + w21 на
15:43
Speaker A
X1 плюс и так далее и так далее плюс w 2m XM и так далее и так далее И вот наконец-то z-кате k0 + W К1 X1 плюс w км XM что мы здесь с вами видим да мы с вами
16:22
Speaker A
видим что на самом деле мы из этих наших W можем уже составить матрицу потому что их всего к умножить на м штук получится Матрица W 1.0 w11 w12 W Давайте тут единственный момент наверное давайте мы [музыка] Да мы немножко по-другому сами сделаем
17:03
Speaker A
Простите поспешил я немного с матрицей у нас с вами будет немного свое обозначение логистической регрессии а это потом тоже перекочует в нейронной сети мы с вами Вот Эти свободные параметры которые не умножаются ни на что будем обозначать другой буквой
17:27
Speaker A
буквой B и получим следующее у нас здесь будет B1 плюс получается некоторые векторы W1 умножается на X здесь B2 плюс w2 умноженный на X напомню что в этой лекции во всех лекциях Вектор это всегда Вектор столбец мне подсказали что если смотреть Мой
18:00
Speaker A
курс середины то можно это не понять вполне разумно БК Т плюс w КТ транспонированная на X И вот теперь мы с вами из этих W можем составить матрицу Так как мне нужны строчки здесь да то я буду вектора транспонировать
18:32
Speaker A
или иначе говоря да это w11w12 и так далее так далее w1n здесь W К1 К2 W к м Окей А вот эти значения B которые у нас будут называться смещениями или на английском это бас то есть они соберутся в вектор
19:15
Speaker A
B1 B2 и так далее и так далее смещение отсюда и соответственно первые буквы название так отлично с этим разобрались или не разобрались Давайте подумаем Да еще один момент теперь можно сказать смотрите что я вот эти вычисления могу на самом деле записать векторно
19:57
Speaker A
я могу построить Вектор Z который будет террасе компоненты за 1 за 2 и так далее так далее затка ты и выразить этот Вектор через произведение матрицы w и Вектор X и прибавить после этого Vector B то есть как-то могло бы
20:13
Speaker A
выглядеть мы могли бы сказать что у нас есть Вектор Z который содержит все эти значения и получается Если я матрицу W умножу на Вектор X и прибавлю Вектор Б я получу ровно то что у меня написано записано вот здесь
20:53
Speaker A
да то есть смотрите у меня Матрица первую строчку Рядовой 1 нажать на X вторую строчку это Вектор w2 умножать на X и так далее так Уважаемые слушатели Уважаемые студенты Поставьте пожалуйста плюс кому Понятно как мы получили эту формулу
21:25
Speaker A
отлично так хорошо а теперь собственно говоря возвращаемся к нашей проблеме наш алгоритм не способен выдавать уверенности в ответе наш алгоритм такой что какая бы не была целевая функция Если она зависит от номера класса Да и частное производное по
21:55
Speaker A
обучаем параметрам будут везде равны нулю Где будут существовать но собственно говоря все то есть этот алгоритм не будет обучаем с помощью градиентного спуска что мы можем сделать смотрите как ни странно решение проблемы оно едино как бы есть две проблемы Да
22:21
Speaker A
уверенность и проблема с частными производными Если я сделаю так да какую-то надстройку над своим алгоритмом то есть Смотрите меня будет некоторая функция FZ вычисляться которая будет описывать уверенность и она будет отправляться в мою целевую функцию в Лос то во-первых
22:58
Speaker A
я получу вычисление уверенности для моего алгоритма да то есть я закрою первую проблему а вторую да И при этом смотрите Да когда я незначительно меняю свои обучаемые параметры возвращаемый класс не меняется но уверенность в этом классе уже может
23:24
Speaker A
меняться да то есть получается Если целевая функция будет зависеть не от предсказываемого класса от уверенности в этом предсказании то в этом случае целевая функция уже будет меняться при бесконечно Малом изменении обучаемых параметров Я получаю наконец-то частные производные неравные нулю и моя система
23:45
Speaker A
может обучаться то есть что нам нужно для того чтобы решить эти проблемы это придумать некоторую функцию которую я бы вычислил от вектора Z которые бы так или иначе описывал мои уверенности в предсказании а целевую функцию я вычислял уже от F
24:14
Speaker A
Давайте подумаем о том Какими свойствами должна обладать эта функция для того чтобы она смогла эту роль сыграть наши требования к функции f Да Обратите внимание что эта функция у нас будет Вектор функций То есть она будет возвращать не скаляр а вектор и этот
24:45
Speaker A
Вектор на самом деле у нас будет камерным да то есть уверенность в ответе для каждого класса точнее уверенность принадлежности объекта каждому из классов всего классовка большое Итак первое требование Да так как мы хотим чтобы этот компонент этой функции
25:11
Speaker A
могли интерпретировать к уверенности или иначе говоря как вероятности принадлежности Мы хотим чтобы все компоненты были не отрицательные второе Мы хотим чтобы не суммировались единицу 3 помните мы с вами говорили что если Z и т больше чем Z йоты точнее если это
25:56
Speaker A
больше чем все другие компонент Вектор Z То вероятно это класс Точнее то мы считаем что наш алгоритм предсказывает что это класс И соответственно Мы хотим чтобы из того что Z и т больше Z йотова следовало что Fit Z больше F йотого
26:32
Speaker A
то есть мы с вами получаем следующее что если какая-то компонентов Z была больше чем все другие компоненты то это же компонента F должна быть больше чем все другие компоненты вроде бы разумно а теперь четвертое требование частное производное fe2
27:06
Speaker A
по смотрите Сейчас секунду на деле это работает следующим образом Ладно по-любому W Давайте йод йод-этому не равна нулю так Итак первые три проблемы нам закрывают проблемы с уверенностями первые три свойства и четвертое свойство закрывает нам проблему с равенством градиента нулевым
28:06
Speaker A
вектором соответственно найдем функцию которая этим свойством удовлетворяет то в этом случае мы Решаем проблему Вы не поверите но такая функция есть эта функция она постоянно будет нам пригождаться то есть вообще говоря каждая нейронная сеть которая решает задачу классификации
28:29
Speaker A
ладно не каждая но почти каждая содержит эту функцию эта функция называется функцией Soft Max этого софт Макса разговоров о нем у нас будет много Итак как же эта функция выглядит эта функция выглядит следующим образом вот нас с вами есть входной Вектор Z
29:10
Speaker A
функция софт Макс это тоже камерный вектор где первая компонента это экспонента в степени Z первое деленное на сумму здесь получается будет и от единицы до ка большого экспонента в степени Z и T вторая компонента экспонента в степени Z2
29:50
Speaker A
деленное на сумму и от единицы до ка большого экспоненты в степени Z и так далее и так далее и так далее экспоненты в степени Z K большое деленное на сумму и от единицы до K большого деленное на экспоненту в
30:17
Speaker A
степени так вот наша функция Soft Max давайте мы с вами убедимся что что она удовлетворяет всем тем свойствам которые нас интересует первое свойство все компоненты этой функции не отрицательны Давайте посмотрим вот компоненты этой функции экспонентов вещественной степени это не
30:59
Speaker A
отрицательное число соответственно у нас знаменатель неотрицательный потому что сумма экспонентов вещественных степенях и числительные отрицательный потому что это экспоненты вещественных степенях получается что первое свойство Выполняет все компоненты неотрицательные второе требование у нас было чтобы компоненты суммировались в единицу Я
31:22
Speaker A
думаю что вы уже видите на всякий случай Давайте посмотрим еще раз действительно Если мы с вами просуммируем все компоненты у них одинаковые знаменатель знаменатель останется прежним а в числителе будет сумма и от единицы до Большого экспонента понятно что это одно и то же
31:49
Speaker A
и мы получаем единичку так второе свойство нас тоже выполняется давайте убедимся что нас выполняется третье свойство что если больше чем зад Yota то Fitz больше чем Fiat То есть это компонента F должна быть больше ну и для компонентов Макса
32:14
Speaker A
должна быть больше чем Yota компонентов получается дано больше чем Z йоты данном надо сравнить экспоненту степени Z деленное на сумму Давайте будь то Камала от единицы такая большого экспонент в степени z-ката просто индекс и я уже использовал здесь Камала обратить внимание
32:47
Speaker A
надо получается определить что больше и что мы с вами видим Мы видим что числители одинаковые у этих дробей положительные соответственно если мы от них избавимся знак неравенства не изменится а дальше мы с вами знаем что экспоненты в степени защиты это у нас функция
33:20
Speaker A
монотонного возрастающая она в нуле проходит через единичку и выглядит вот так Поэтому соответственно если у вас Z и T здесь Азат Yota здесь Да и ты больше чем то экспонента в степени будет больше Поэтому мы можем с вами
33:51
Speaker A
уверенно заключить что это компонента функции больше чем это компонентов соответственно третье свойство У нас тоже будет выполняться последнее что у нас осталось это что частное производное любой из компонентов любому из обучаемых параметров не будет равна нулю а давайте мы сейчас это с вами быстро
34:47
Speaker A
покажем не знаю есть ли смысл или нет то есть просто нам два раза придется вычислять эти производные а нет нормально мы с вами сейчас их вычислим а потом просто переиспользуем эти вычисления Итак задача номер один Ладно давайте мы просто это свойство быстро докажем и
35:39
Speaker A
все Итак дано Давайте возьмем частную производную от какого-то F и этого по какому-то W elta к или лучше Ката или что мы с вами имеем что это частное производное от экспоненты в степени Z деленное на сумму здесь экспоненты в степени
36:15
Speaker A
z-йоты сумма пойдет и частное производное по W к этому эльтону Обратите внимание что у нас вы все знаете цепное правило дифференцирования и поэтому вы знаете что да во-первых что нам нужно знать нам нужно знать что от W к этого
36:45
Speaker A
зависит только Z с нижним индексом канала другие из этого не зависит почему вот отсюда Это можно увидеть то есть вот у вас там от всех W у которых первый индекс 2 от них зависит только второй Z просто потому как мы это
37:10
Speaker A
с вами построили соответственно W к L влияет только на закаты причем частное производное за отката по W к этому это у нас с вами Excel то можно видеть опять же из этой формулы так то есть в общем случае это число
37:51
Speaker A
которое не равно нулю оно может быть равно 0 иногда Но если вас Excel и равно нулю то соответственно здесь неравенство не будет так Получается что частное производное выходов Макса по произвольному обучаемым параметру это Согласно цифровым правила дифференцирования производная
38:12
Speaker A
этого выхода софт Макса по Z к этому на производную z-катова по wkl а это в свою очередь равняется умножить на X соответственно для того чтобы это у нас всегда равнялось нулю нам нужно что вот это равнялась нулю потому что Excel у
38:40
Speaker A
нас всегда равняться не будет если у вас будет он все время равняться нулю вам нужно эту компоненту просто выбросить из исходного вектора потому что у вас соответствующий параметр То есть просто не будет учиться и он ни на что не будет никогда влиять
38:54
Speaker A
так вот теперь возникает вопрос и ты компонента софт Макса как частное ее производная по Z к этому она нулевая или нет Ну и ответ нет Если у вас этот то есть грубо говоря это каком-то плане Понятно Наверное интуитивно потому что
39:15
Speaker A
за отката есть в записи и соответственно всегда влияет на результат давайте мы взяли себе доказывать мы это докажем и все-таки эти формулы мы Потом сможем переиспользовать так получается вроде бы сможем если я хочу взять производную по Просто у нас с вами есть два варианта
39:54
Speaker A
первый вариант первый вариант экспонента в степени Z и т деленное на экспоненты в степени z-йота да и не равняется к и мы берем производную от этого ползает к этому и другой вариант Когда у вас здесь производную будем брать что мы с
40:32
Speaker A
вами увидим мы с вами Увидим что экспоненты в степени z-ита это Константа относительно затка она просто остается как множитель дальше выражение которое в знаменателе мы можем сказать что это выражение в минус первой степени поэтому здесь появится минус единица После этого у нас
40:48
Speaker A
здесь с вами появится наше выражение В знаменателе В квадрате дату степени была -1 -2 потому что мы единицу вычитаем из показателей степени А теперь мы должны это умножить на пишу чтобы не было сомнений что мы делаем здесь теперь это надо умножить на производную
41:12
Speaker A
этой суммы выражение которое в знаменателе по Z к этому отзыв отката зависит только экспоненты в степени Z5 Поэтому нам необходимо взять производную от exprent в степени Z5 это производная равна экспонента степень Соответственно что мы с вами получаем мы
41:32
Speaker A
с вами получаем минус экспонента в степени экспоненту в степени Z5 на квадрат суммы что интересно здесь Кроме того что я написал совершенно не читабельно что интересно здесь Да что это не что иное как произведение F этого на F к
42:15
Speaker A
То есть вы иду и катую компоненту выхода из функций Soft Max переносите между собой вы получите вот это да с минусом а мы с вами знаем что это больше нуля мы с вами знаем что это больше нуля соответственно мы знаем отсюда что
42:34
Speaker A
частное производное F по z-катаму не равна нулю и поэтому это выражение тоже не равно 0 То есть это не выполняется у нас еще один вариант ситуация когда у нас здесь откаты то есть тот же за откаты по которым мы
42:59
Speaker A
берем производную что мы получаем мы получаем то что теперь числитель не является константой поэтому мы с вами разложим это как произведение двух функций первая функция числитель и второе это единица деленное знаменатель поэтому здесь берем заткатую как не константу Да соответственно
43:31
Speaker A
считаем ее производную по Z к этому точнее экспоненту из отката а единица деленная на знаменателе это наша Константа теперь плюс ситуация где мы первую функцию рассматриваем как Константа а исходную не берем от нее производную Здесь тоже надо отметить что мы не как
44:01
Speaker A
Константа рассматривали просто не брали производные я напоминаю какую формулу я пользуюсь Да здесь соответственно наша F то есть вот это это наша F Да а единицы деленное на знаменатель от наших G так немного получилось теперь плюс F экспонента в степени z-каты Камала везде
44:44
Speaker A
обратить внимание на производную единицу деленная собственно говоря Вот это выражение наше Да мы с этим уже сталкивались соответственно это будет минус единица на единицы деленное на наш знаменатель в квадрате на экспоненту в степени Z Обратите внимание что производная
45:11
Speaker A
экспонентов поэтому мы можем от этого просто избавиться у нас будет Вот такое выражение что здесь интересно есть интересно то что вот это это F5 а вот это это минус ft в квадрате соответственно все Выражение у нас равняется минус Простите равняется F к
45:56
Speaker A
минус fkt в квадрате это выражение тоже У нас не равно 0 почему потому что чтобы она равнялась нулю Нам необходимо чтобы в Ката равнялась либо нулю либо единицы фката не может равняться нинулю ни единицы почему она не может равняться нулю мы
46:12
Speaker A
уже рассмотрели да потому что числители нас с вами это экспоненты в частной степени а единица она не может равняться потому что она с вами в знаменателе есть сумма которая экспоненту в степени а начислитель тоже включает этого там есть
46:26
Speaker A
другие положительные числа соответственно компонентов функции Soft Max всегда меньше единицы так и мы с вами показали что что наша с вами функция функция Soft Max удовлетворяет всем тем требованиям которые мы предъявляем и поэтому мы хотим ее использовать так
46:52
Speaker A
Уважаемые слушатели Поставьте пожалуйста плюс если вы вам все понятно И вы не потеряли нить рассуждения Уважаемые студенты тоже отлично прям меня очень радует Спасибо Так может быть Есть какие-то вопросы был бы рад ответить так вопрос вроде бы нет но если что
47:53
Speaker A
пишите Отлично я рад что все понятно спасибо Даниил так all right у что получается получается что наш алгоритм Да вот он в таком ключе мы вычищали Z и все что нам нужно теперь чтобы получить такую функцию такую Вектор функцию
48:18
Speaker A
которую может быть отправлена в какую-то целевую функцию и решает нашу задачу это подать обход функции Soft Max получается алгоритм нашей с вами логистической регрессии имеет следующий вид это функция Soft Max от W на X плюс B Вот это есть не что иное как наше
49:05
Speaker A
Логистическая регрессия вопрос только в том какую задать целевую функцию чтобы это можно было обучить Но это то что мы будем с вами минимизировать и мы главное добились с вами решения вот этой проблемы Да у нас есть теперь уверенности функция
49:22
Speaker A
Soft Max возвращает нам Вектор с неотрицательными компонентами суммы которую она единица то есть мы можем интерпретировать его как Вектор вероятности по крайней мере как Вектор вероятности с точки зрения нашего алгоритма принадлежности объектом мыльному классу и мы решили с вами
49:37
Speaker A
проблему с частным производными они у нас теперь будут не нулевые почти всегда хорошо Вот соответственно мы с вами заменили здесь нулевые наши W которые не умножаются на X заменили на значение B Да у нас получилось векторная запись сразу скажу что когда я пишу на планшете
50:14
Speaker A
Я ставлю верхней черточки Да над векторами А когда мы с вами будем смотреть на слайдах это будет просто жирные буквы то есть маленькая жирная буква это вектор большая нежирная буква это Матрица маленькая не жирная буква это скаляр Да и соответственно вот мы хотели бы это
50:39
Speaker A
то что мы с Вами проговорили просто на слайдах это есть мы хотели бы чтобы наш алгоритм возвращал нам не столь номер класса как вектор уверенности до который вы суммируется единицы были бы не отрицательны и вот нам приходит на
50:55
Speaker A
помощь функция Soft Max забавный момент То есть я только сейчас в последние заходы начал нормально осознавать что Да в общем просто лучший курс получается год от года мне это нравится Вот соответственно наш алгоритм логистической регрессии так он выглядит
51:23
Speaker A
и теперь возникает вопрос а какая должна быть у этого алгоритма целевая функция теперь я подумаю У меня есть два варианта Первый вариант закончить лекцию сейчас вывод целевой функции дать в следующий раз и вычисления частных производных тоже в следующий раз или целевую функцию
51:53
Speaker A
сегодня а вычисление частных производных в следующий раз Сейчас я чуть подумаю над этим у меня осталось полчаса этого достаточно для того чтобы вывести целевую функцию может быть даже достаточно чтобы вывести все Давайте попробуем Я думаю что если мы
52:20
Speaker A
сможем сегодня добить полностью логистическую регрессию то тогда то это будет хорошо для курса в целом давайте это сделаем так во-первых первое что нам необходимо с вами сделать так это мы хотим получить целевую функцию это вспомнить про принцип максимального
52:43
Speaker A
правдоподобия принцип максимального подобия гласит что Ну то что он гласит что-то Но идея в следующем что мы хотим построить с вами такой алгоритм который мог бы назначать какие-то вероятности мог бы назначать какие-то вероятности целевым значением То есть у нас есть
53:23
Speaker A
входной Вектор X Да и мы теперь можем сказать шанс что мы встретим метку Т С точки зрения нашего алгоритма он такой-то И теперь мы хотим построить такой алгоритм с точки зрения которого те целевые переменные которые мы наблюдаем в нашей обучающей выборке были бы
53:48
Speaker A
вероятны это тот принцип который мы руководствовали с вами когда обсуждали регрессию то же самое только в классификация это будет проще сейчас найду тот слайд чтобы Вам напомнить об этом вот он помните мы говорили мы хотим построить модель такую что то значение T которое мы
54:37
Speaker A
наблюдаем оно было бы таким что функция плотности в этой точке была достаточно велика тот же принцип будет и здесь то есть если реальность которую мы наблюдаем является достаточно вероятной с точки зрения нашего алгоритма наш алгоритм хорош если она является невероятной или
54:57
Speaker A
маловероятной с точки зрения нашего алгоритм наш алгоритм плохо Давайте теперь подумаем просто о том Что такое Как мы можем для классификации описать эту самую реальность смотрите во-первых у нас есть алгоритм Y от xw который теперь выражается как софтмакс
55:26
Speaker A
от W Давайте тут меня W будет какой-то Вот такое w x + B можно так Или я могу сказать что это просто обучаемые параметры тета и здесь переписать что это у нас это Матрица w и Вектор B то есть наш алгоритм имеет выдавать
56:01
Speaker A
мнение вероятности мы это будем использовать да то есть мы с вами будем интерпретировать Y и T Да это компонента получается функция Soft Max как мнение нашего алгоритма а вероятности того что X описывает объект принадлежащий классу и теперь Давайте посмотрим
56:32
Speaker A
Насколько вероятно с точки зрения нашего алгоритма мы для некоторого входного вектора X и этого увидим метку т и т Насколько вероятно это с точки зрения нашего алгоритма Все очень просто да вероятность этого с точки зрения нашего алгоритма это
56:56
Speaker A
Y с нижним индексом tita от x этого То есть если ты второй класс то я беру y 2 до вторую компоненту функции Set Max и говорю это вот вероятность того что будет такой класс с точки зрения нашего алгоритма
57:22
Speaker A
хорошо теперь другой вопрос У меня большой там много элементов возникает вопрос с точки зрения нашего алгоритма с какой вероятностью мы с вами будем наблюдать вот эти значения T в качестве целевых переменных предположении что все записи у нас являются независимыми событиями да то я
58:03
Speaker A
могу взять произведение получается Y T 1 от x 1 тета умножить на Y T второе от их 2 тета умножить и так далее и так далее умножить на Y с нижним индексом tn от X или иначе говоря я могу это записать как
58:35
Speaker A
произведение и от единиц большого Y с нижним индексом Ti от x этого так вот Вот это и есть наша функция правдоподобия то есть мы с вами хотим Вот это выражение максимизировать относительно тета то есть найти такие тета при которых это произведение будет
59:19
Speaker A
максимально Но это плохая целевая функция нам придется над ней немного поработать во-первых давайте мы с вами наконец-то вспомним про наш One Hotel colding Vector то есть нас есть какое-то T и One vectort и Давайте которую будет содержать единичку
59:56
Speaker A
На позиции а сразу ввиду обозначения мы будем это рассматривать точнее Вот так это первая компонента вектора т и т это вторая компонента то есть Нижний индекс Отвечая за то какому элементу обучающий выборке соответствует эту onector а верхний индекс соответствует номеру компоненты
60:28
Speaker A
внутри вектора то есть иначе говоря иначе говоря т и т с верхним индексом у нас будет равняться единице то есть вот номер класса остальные будут равны нулю что интересно чем мне помогает введение такого вектора это мне помогает тем что
61:02
Speaker A
я могу теперь вот это выражение записать Немного по-другому это будет на самом деле мне полезно я могу теперь записать Y tita от x это вот это как как произведение теперь у нас будет камалая от единиц Дока большого то есть по всем классам
62:00
Speaker A
Y с нижним индексом Камала в степени T и T с верхним индексом Камала Давайте посмотрим что мы здесь сделали а мы взяли произведение по всем по всем получается компонентам One hotting colding Vector и перемножили все выходы наших функций Soft Max возведенные в
62:36
Speaker A
степень соответствующие компоненты One hoten Holding Vector зачем мы это сделали штука в том что все компоненты кроме одной onecoin вектора это нули соответственно Когда вы Y позволите в степень 0 вы получаете единицу то есть в этом произведении из k- множителей равны
62:58
Speaker A
единицы все кроме одного кроме какого кроме того который соответствует той компоненте он ходит директор где единичка а это получается та компонента которая имеет номер совпадающий с правильным классом поэтому получается что это будет Y Давайте какое-то Кас волной будет равняться Как ни странно
63:34
Speaker A
номер класса поэтому на самом деле это будет Y т и т где Таит это номер класса то есть смотрите у нас с вами этот y3 вот здесь и мы его теперь заменим на Вот это выражение вам может показаться что это
63:56
Speaker A
как бы шаг назад только усложняет все но это промежуточный шаг перед некоторыми преобразованием поэтому Идем сюда забираем отсюда нашу функцию правдоподобие и поехали произведение и от единиц большого Y т и т от x это вот это равняется произведение сохраняем
64:59
Speaker A
Y от единиц ой и от единицы до н большого теперь произведение по всем классам камалы от единицы Дока большого теперь Y в степени T и T с верхним индексом K малая от x этого смотрите эта функция правдоподобие и мы
65:23
Speaker A
с вами будем ее максимизировать чтобы мы хотели с вами получить это какую-то целевую функцию которую мы можем легко от которой производные соответственно Мы в таких функциях не любим произведения любим суммы и наш излюбленный прием это логарифмирование и мы хотели бы чтобы это была задача
65:46
Speaker A
минимизации просто из соображений традиции Я раньше на лекциях шутил и говорил что минимизировать проще чем максимизировать поэтому мы можем это на -1 очевидно что это не так вкуснее но когда мне студенты потом на зачатительные экзамене говорили что мы умножаем на минус единицы потому что
66:07
Speaker A
минимизировать проще чем максимизировать в общем я перестал эту шутку без дисклеймера что это шутка большая озвучивать так поэтому мы с вами получается берем минус логарифм от наших функций правдоподобие получаем минус первое произведение превратится в сумму сумму и от единиц большого второе
66:37
Speaker A
произведение превратится в сумму Камала от единицы до ка большого теперь когда мы возьмем логарифм от Y в какой-то степени да степень выйдет за знак логарифма поэтому мы здесь Получим с верхним индексом натуральный логарифм Y простите простите натуральный логарифм Y катава
67:25
Speaker A
и в итоге это то что вы видите это есть наша целевая функция давайте мы красиво вынесем Итак Вот это есть целевая функция для задачи классификации не только для логистической регрессии но та эта целевая функция будет использоваться нами на протяжении всего курса
68:08
Speaker A
по-другому она называется функция кросс энтропии или кросс Эндер Пилот соответственно мы с вами хотим это минимизировать так Уважаемые студенты Уважаемые слушатели Поставьте пожалуйста плюс если вам все понятно вы меня Я вас не потерял так и если какие-то вопросы тоже
68:57
Speaker A
Пожалуйста задавайте А минимизировать мы нашу с вами целевую функцию сегодня все-таки не успеем Как стало понятно это мы с вами сделаем следующий раз так для чего этот переход к степеням у меня спросили почему За что За переход степеням смотрите Мы перешли к степеням
69:15
Speaker A
для того чтобы мы могли с вами получить целевую функцию вот в таком виде Потому что когда мы логарифмируем в нашей степени идет как множитель Так почему минус поставили с функцией А минус поставили перед глаз функцией просто для того чтобы перейти озадачу
69:43
Speaker A
максимизации к задаче минимизации То есть если мы это описываем как если функция правдоподобие принято максимизировать Да мы хотим чтобы чем правдоподобнее тем лучше то когда мы говорим что это Например функция потерь или функция ошибок чем она меньше тем лучше правильно
70:03
Speaker A
просто чтобы сохранить Вот эту традицию минимизации целевой функции Поэтому нам проще поставить Просто перед ней минус И у нас снова задача минимизации такая вся привычная и традиционная то есть исключительно дело вкуса так соответственно здесь у нас с вами
70:35
Speaker A
наши вычисления то есть вот мы с вами то есть единственное что есть немного по-другому индексы Записал Да у меня к не верху в скобочках А внизу Вот это хороший момент для скриншота с красивыми формулами и вот получается постановка задачи
70:58
Speaker A
обучения логистической регрессии классификации вот логистической регрессии только здесь Обратите внимание Я параметры обучаем обозначен через эту А через wе большое и W большое как бы в себе инкапсулирует матрицу W не жирную уже и Вектор Б теперь я просто пару слов скажу о том
71:28
Speaker A
как мы это будем минимизировать мы будем минимизировать целевую функцию с помощью метавергентного спуска то есть мы с вами определенным образом работаем данные мы инициализируем обучаем параметры W после этого на каждом шаге на чем оперативный процесс будем вычислять Градиент целевой функции
71:51
Speaker A
совершает шаг направление именно с градиента обновлять веса и этот процесс зацикливается мы с вами это обсуждали на лекции по минимизации принцип будет тот же самый то что мы с вами сделаем на следующей лекции Вероятно это мы как раз вычислим вектор
72:10
Speaker A
градиента для по Весам всем Градиент функции которые будут использоваться потом при минимизации Так у меня на сегодня все Уважаемые слушатели а если есть какие-то вопросы пожалуйста давайте есть все было понятно пожалуйста поставьте плюс чтобы я знал что вам все
72:38
Speaker A
понятно и соответственно Уважаемые студенты вы можете размешиваться задавать вопросы голосом а я буду отвечать так а стоп сейчас секундочку возможно я вас не слышу если что Спросите Да я вас не услышу Извините у меня звуковой микрофон вот сейчас момент для того
73:05
Speaker A
чтобы Разумеется задать вопрос и если вы задавали вопросы голосом в течение лекции то я вас не слышал Извините пожалуйста вам могу оказаться что я слышу игнорирую это не так Техническая неполадка вот сейчас очень можно задать так пишет все понятно
73:21
Speaker A
вопросы все еще не слышу хорошо вроде бы нет вопросов тогда Большое спасибо всем что присоединились Желаю всем хорошего дня и до свидания
Topics:логистическая регрессиямашинное обучениеклассификацияone-hot encodingsoftmaxнейронные сетиградиентный спускобратное распространениецелевые функциимногоклассовая классификация

Frequently Asked Questions

Что такое логистическая регрессия и зачем она нужна?

Логистическая регрессия — это алгоритм классификации, который позволяет предсказывать вероятность принадлежности объекта к определённому классу. Она является базовым элементом многих современных моделей, включая нейронные сети.

Почему нельзя просто использовать линейную регрессию для классификации?

Прямая линейная регрессия не даёт вероятностной интерпретации и приводит к проблемам с оптимизацией, так как целевая функция становится негладкой и её градиенты равны нулю в большинстве точек.

Как функция Softmax помогает в логистической регрессии?

Softmax преобразует выходы модели в вектор вероятностей, где сумма компонентов равна единице. Это позволяет интерпретировать результаты как уверенность модели в принадлежности к каждому классу и облегчает обучение с помощью градиентного спуска.

Get More with the Söz AI App

Transcribe recordings, audio files, and YouTube videos — with AI summaries, speaker detection, and unlimited transcriptions.

Or transcribe another YouTube video here →