Как Calculus обеспечивает машинное обучение и искусственный интеллект

Наука о данных и машинное обучение подогрели интерес к математике. Многие люди, которые совершенствуют свои навыки в области машинного обучения и искусственного интеллекта, впервые в своей жизни осознали практическое применение математических концепций. Во время моего приключения в области AI / ML я осознал, насколько сложные математические идеи (такие как исчисление и векторная алгебра) были воплощены в школе и колледже, чем они были на самом деле! Я предполагаю, что многие люди разделяют это чувство. Эта статья представляет собой попытку фундаментального объяснения исчисления и его приложений без использования печально известного жаргона и больших ужасных уравнений исчисления. Я ожидаю, что это чтение раскроет красоту, простоту и магию исчисления и математики в целом. Идея состоит в том, чтобы вы влюбились в него!

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

У людей есть одно великое качество - «Любопытство». Любопытство побуждает человечество наблюдать и понимать природу. Науку в широком смысле можно назвать изучением природы, в то время как математика - это язык для ее выражения.

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

Как видно, существует связь между скоростью и временем. Со временем скорость автомобиля увеличивается с постоянной скоростью. Каждую минуту скорость автомобиля увеличивается в 5 раз. Эту связь можно выразить следующим образом:

Скорость - это функция времени

Скорость = f (время)

S = 5* t

Визуально вы можете увидеть, что существует линейная зависимость между скоростью и временем.

Вы можете представить, что это отношение фактически представляет собой уравнение линии:

y = mx + b

где m - наклон, а b - пересечение линии.

В нашем примере уравнение принимает вид s = 5t + 0.

Сосредоточьтесь на этой вещи, известной как «Уклон». Что это собой представляет? Мы знаем, что со временем скорость автомобиля меняется. По какому фактору это меняется? Мы можем узнать, проверив, насколько изменилась скорость за изменение времени. например, между t = 1 и t = 2 скорость изменилась с 5 на 10. Это можно записать как:

Когда что-то меняется, более полезным показателем будет «Скорость изменения». Скорость изменения дает нам представление о том, насколько одна величина зависит от другой. Если ставка больше, будет большая корреляция между количествами и наоборот. (А теперь подумайте, что вы пытаетесь сделать с помощью машинного обучения. Вы видите связь?)

В нашем случае, если мы разделим «изменение скорости» на «изменение во времени», это даст нам скорость изменения

Это скорость изменения скорости по отношению к изменению во времени. В нашем примере это постоянная скорость. Вы можете взять другие временные интервалы (например, t = 2 и t = 5) и измерить изменение скорости (25–10). Ставка такая же - 5

(25-10)/(5–2)

Скорость изменения также известна как наклон или градиент. Обратите внимание, что чем больше скорость изменения, тем больше будет наклон линии (следовательно, больше наклон). Сравните наклон оранжевой и синей линий на графике ниже:

При чем здесь исчисление? Фактически, это исчисление.

Исчисление - это раздел математики, изучающий изменения

Исчисление помогает определить взаимосвязь между двумя переменными (величинами), измеряя, как одна переменная изменяется при изменении другой переменной и как эти изменения накапливаются с течением времени.

В нашем примере выше скорость автомобиля увеличивается с постоянной скоростью. Что произойдет, если эта скорость изменения не будет постоянной? Что делать, если машина ускоряется, а скорость изменения скорости меняется каждую минуту

Как измерить скорость изменения в этом случае, если она разная для разных периодов времени? Мы не можем определить единую скорость изменения скорости для такого рода данных.

Вы можете заметить, что скорость изменения скорости увеличивается с течением времени. Математическая функция, фиксирующая эту взаимосвязь, представляет собой не прямую линию, а ее «изогнутую линию».

Из нашего предыдущего примера мы знаем, что наклон или градиент прямой линии дает нам скорость изменения переменной оси Y (скорость) по отношению к оси X -осевая переменная (время). Свойство «прямолинейности» означает, что скорость изменения была постоянной.

Но…

Как измерить «наклон» или «наклон» изогнутой линии?

Свойство «извилистости» означает, что скорость изменения непостоянна.

А вот и красота исчисления …….

Что вы можете сделать, так это представить кривую как набор множества «очень маленьких отрезков прямой линии»

Теперь мы будем вычислять наклон «очень маленького» отрезка кривой. Этот наклон представляет собой «очень маленькое» изменение скорости по сравнению с «очень маленьким» изменением во времени.

Обозначим «очень маленькое» изменение скорости как «ds».

Аналогично «очень маленькое» изменение во времени, как «dt»

Наклон этого «очень маленького» отрезка линии составляет

Его можно рассчитать следующим образом:

Обратите внимание, что поскольку «dt» уже очень мало, то нижеследующее станет очень маленьким и, следовательно, им можно будет пренебречь.

Теоретически мы можем сделать ds и dt бесконечно малыми, так что этот «очень маленький» отрезок прямой станет точкой. Скорость изменения или наклона в этот момент или момент времени фактически является касательной к кривой.

Итак, функция и скорость изменения этой функции в конкретный момент, в нашем примере, есть

В терминологии математического анализа процесс определения скорости изменения одной переменной по отношению к другой известен как «дифференциация». Другими словами, если

y = f(x)

тогда процесс определения dy / dx известен как «дифференциация» или «дифференциация». Отношение dy / dx называется «дифференциальным коэффициентом y по отношению к x» или «производной». Помните, это не что иное, как скорость изменения y по отношению к x.

Имейте в виду - «dx» означает очень маленькую часть x.

Что, если «y» - константа. Что в этом случае будет dy / dx? Будет 0, так как значение y не меняется. Это константа.

Применение дифференциального исчисления в машинном обучении

Наиболее надежным приложением исчисления в машинном обучении является алгоритм градиентного спуска в линейной регрессии (и нейронных сетях).

Линейная регрессия включает использование данных для вычисления линии, которая наилучшим образом соответствует этим данным, а затем использование этой линии для прогнозирования оценок одной переменной на основе другой. Прогноз - это просто процесс оценки результатов (или зависимой) переменной на основе оценок прогнозирующей (или независимой) переменной. Чтобы создать линию регрессии, мы ищем линию наилучшего соответствия. Линия, которая может лучше объяснить взаимосвязь между независимой и зависимой переменной (ами), считается наиболее подходящей линией. Разница между наблюдаемым значением и фактическим значением дает ошибку. Формула для вычисления этой ошибки также называется функцией стоимости.

Математически линия наилучшего соответствия будет выражена как

Y = m.x + c

где m и c - наклон и пересечение линии соответственно. Это два коэффициента, которые должен определить алгоритм градиентного спуска.

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

Здесь используется исчисление. Мы можем найти скорость изменения ошибки по отношению к различным значениям коэффициентов. Значение, для которого скорость изменения минимальна (т. Е. 0, нижняя часть кривой), является оптимальным значением.

Таким образом, дифференцирование используется, чтобы найти точку минимума кривой. Эта точка дает оптимальное значение искомого коэффициента!

Несколько слов об интеграции

У исчисления есть вторая часть - интеграция. Это просто обратное дифференциации.

При дифференциации мы разбиваем вещи на все меньшие и меньшие части.

При интеграции мы накапливаем или складываем все меньшие части вместе. Символ интеграции:

Каждый раз, когда вы видите этот символ, просто замените его в уме на «Сложить все».

Какова будет сумма всех малых частей x?

(Существует замечательная книга Сильвануса П. Томпсона Calculus Made Easy, которая прекрасно объясняет эти концепции в деталях)

Зачем мы это делаем? Зачем нужна интеграция? Простой ответ -

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

Возьмем прямоугольник:

Мы знаем, что площадь прямоугольника равна Длина * Ширина (y * x).

Вы можете доказать это? Думайте в терминах исчисления. Представьте себе прямоугольник меньшего размера, взяв немного ширины (dx).

Весь прямоугольник можно представить как сумму всех меньших прямоугольников, ширина которых равна dx.

Итак, теперь у нас есть «x» маленьких прямоугольников, каждый шириной dx и длиной как y.

Если вы представляете dx очень маленьким, мини-прямоугольник в конечном итоге уменьшится до линии (ширина близка к 0, а длина равна y). Прямоугольник целиком представляет собой набор «линий», каждая из которых имеет длину «y». Сколько строк? - Икс.

Общая площадь = Длина линии 1 + Длина линии 2 + ……. + Длина линии X

Площадь = Y * X

Ключевые выводы

  1. Обучение (человеческое или машинное) - это поиск взаимосвязей между переменными.
  2. Если изменение значения переменной вызвано изменением значения другой переменной, часто очень полезно узнать скорость изменения. Этот показатель фактически является мерой взаимосвязи между двумя переменными. С математической точки зрения это также известно как наклон или градиент. Исчисление - это раздел математики, изучающий «изменения»
  3. Дифференциация - это процесс определения скорости изменения одной переменной по отношению к изменению другой переменной. Отношение dy / dx представляет эту скорость изменения. Геометрически он представляет собой наклон касательной к функции.
  4. В машинном обучении алгоритмы регрессии используют процесс дифференциации для измерения скорости изменения ошибки в модели при изменении значения выбранного коэффициента. Значение коэффициента, при котором скорость изменения равна 0, дает оптимальное значение.

Как только вы начнете понимать интуицию, лежащую в основе математических понятий, весь образ мышления может измениться. Дифференциация и интеграция позволяют нам рассматривать мир как набор маленьких частей и сумму этих маленьких частей.

Вам также могут понравиться следующие статьи:

  1. Почему в Data Science данные представлены как вектор?
  2. Открытие математического мышления
  3. Человеческое обучение против машинного обучения