ВВЕДЕНИЕ:

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

Машинное обучение:

Машинное обучение (МО) — это разновидность искусственного интеллекта (ИИ), которая позволяет программным приложениям становиться все более эффективными в прогнозировании результатов без явного программирования их для этого. Алгоритмы машинного обучения оценивают новые выходные значения, используя в качестве входных данных исторические данные.

Искусственный нейрон:

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

Как работают нейроны:

Рассмотрим следующую таблицу. Вам не потребуется много времени, чтобы понять, что это функция y = 3x + 2, которая является простой линейной функцией y = mx + c. Итак, какое это имеет отношение к нейрону? Отличный вопрос! Позвольте мне проиллюстрировать это графически.

Используя параметры m и c, нейрон на диаграмме используется для преобразования заданного параметра x в желаемое значение y. На самом деле, на языке ИИ параметры m и c известны как Weight и Bias и обозначаются буквами W и B. Однако, поскольку мы больше знакомы с терминологией, такой как градиент (m) и константа в математике, я продолжу используйте их Как было сказано ранее, нейрон — это просто математическая функция, которая будет присваивать различные значения параметрам m и c в зависимости от необходимости преобразовать входной параметр x в желаемый результат y (присвоенное значение имеет большое применение в глубоком обучении, где много слоев нейронов, но пока давайте просто остановимся на одном нейроне). Вам может быть интересно, как нейрон определяет параметры m и c. Итак, начнем с простого предположения! Каким бы ни было предположение и насколько оно далеко от истинного значения, нейрону потребуется отправная точка. Итак, если он догадается, что значения m и c равны 7, функция, на которую он ссылается, будет y = 7x + 7.

В приведенной выше таблице показано, как нейрон будет сравнивать полученное значение y из предположения параметров m и c в уравнении y = 7x + 7 с желаемыми значениями y из заданного x. (с). Ошибка, также известная как потеря на языке ИИ, представляет собой разницу между предполагаемым и желаемым значением y. Задача нейрона — уменьшить потери до нуля или почти до нуля, чтобы он мог правильно угадать параметры m и c. Пока что квадрат ошибки останется загадкой, так что терпите меня. Предположим, что нейрон делает еще одно предположение о параметрах m и c, на этот раз со значением 5, присвоенным каждому из них. Таким образом, функция, которую оценили нейроны, теперь равна y = 5x + 5.

Оценка нейронов по-прежнему ошибочна и далека от истинных значений y. Однако стоит отметить, что это предположение не такое плохое, как предыдущее (y = 7x + 7), и откуда мы знаем? Потеря меньше, чем предыдущее предположение, что указывает на то, что система обучается (приближается к правильному ответу в терминологии ИИ). Он будет продолжать делать все более точные предположения, пока потери не станут нулевыми (по крайней мере, в большинстве случаев). Теперь, я уверен, вам интересно, как машина определяет, что она все ближе и ближе приближается к целевым значениям параметров m и c. Почему он не делает более нелепых догадок и просто не приближается к ответу? Что позволяет ему делать такие обоснованные предположения? Все эти вопросы верны, и ответ на самом деле довольно прост: нейрон использует математику! Как? Итак, давайте рассмотрим это.

Математика и машинное обучение.

Ранее я просил вас проигнорировать объяснение того, почему я возмещаю убытки. На самом деле я возвел его в квадрат, чтобы получить средний убыток, но подождите секунду! Почему бы просто сразу не принять средний убыток? Зачем усреднять квадрат потерь? Мы пытаемся определить среднюю разницу между реальной стоимостью и оценочной стоимостью, которая является причиной. Однако, поскольку есть отрицательные значения, среднее значение не будет истинным, поскольку ни положительные, ни отрицательные числа не могут указывать на отклонение от среднего (среднее значение является реальным значением). Чтобы понять это просто, визуализируйте числовую линию с нулем в качестве желаемого значения. Рассмотрим отрицательное число, например -3, и сделаем его положительным, добавив единицу (3). Эквивалентны ли действительные числа (3,-3) желаемому значению, которое является средним значением двух целых чисел, которое должно быть равно 0? Нет! (Хотя их среднее значение не обязательно, так как мы концентрируемся на реальных значениях.) Следовательно, мы должны сначала определить, насколько каждое отклонение от среднего, которое равно 0. Для этого мы попробуем усреднить два, что приведет к ( -3+3)/2 и ответ 0. Фактическое стандартное отклонение равно 0? Нет, это 3, так же как и его положительный эквивалент 3, который представляет собой расстояние между 0 и -3. Так как же определить отклонение от нормы? Для этого мы должны сначала возвести две цифры в квадрат, чтобы каждая из них дала в сумме 9, затем сложить их вместе (9 + 9), чтобы получить 18, а затем разделить на два, чтобы получить 9. У нас все еще нет желаемого результата. ; мы надеялись на 3 — истинное отклонение от среднего. Однако, поскольку мы возвели числа в квадрат, мы можем определить отклонение от среднего, взяв корень ответа. Чтобы вычислить стандартное отклонение, мы сначала вычисляем дисперсию, возводя в квадрат все отклонения от среднего, независимо от того, положительные они или отрицательные. Затем мы суммируем все отклонения вместе и берем среднее значение. Затем дисперсию можно преобразовать в стандартное отклонение, взяв ее корень, но в данном контексте это необязательно. Функция стоимости, обычно известная как среднее значение квадрата функции потерь, хорошо нам служит. Позвольте мне проиллюстрировать это графикой.

Функция стоимости представляет собой параболу, так почему же? Как вы знаете, функция стоимости создается путем сначала возведения в квадрат функции потерь, а затем усреднения результатов, поэтому давайте определим функцию потерь. Ответ будет (y(ожидаемый)-y(исходный)). Поскольку вы знаете, что функция стоимости представляет собой квадрат функции потерь, умноженный на среднее значение всех входных элементов, она будет выглядеть примерно так: (оригинал)) 2 - это ответ. Поскольку функция потерь должна быть возведена в квадрат, результатом будет квадратичная функция. Как известно, квадратичная функция с положительным коэффициентом будет представлять собой U-образную параболу и иметь точку минимума. Цель нейрона будет состоять в том, чтобы достичь этой точки из исходной позиции предположения, которая будет где-то на кривой функции стоимости.

Использование исчисления.

Здесь мы применяем исчисление, чтобы получить минимум. Знание производных весьма полезно в этой ситуации. Используя производные, мы можем определить направление наклона вниз, выведя уравнения всех касательных на кривой из уравнения данной кривой. Поэтому мы начнем с определения градиента функции потерь (dy/dx). Нейрон может рассчитать скорость обучения — также известную как размер шагов, которые он может сделать при спуске — с помощью этого градиента в дополнение к направлению, в котором он должен падать. Например, если градиент, скажем, -50, нейрон может сделать серьезное предположение, будучи уверенным, что он не пропустит точку минимума, потому что он знает, что он далек от значения с наименьшими потерями или истинного значения (где градиент был бы равен 0). Градиент будет становиться менее крутым по мере его снижения, и он будет делать меньшие прогнозы, чтобы гарантировать, что он не пропустит точку минимума. Этот процесс улучшения предположений нейрона путем оценки градиента известен как оптимизация. Нейрон будет улучшать свои предположения, пока градиент не станет равным нулю. В этот момент стоимость станет минимальной, как и потери, и нейрон будет знать, что он достиг точки, в которой предположение является наиболее точным. На этом он остановится и вернет значения параметров в этой точке.

Заключение:

Это довольно простое объяснение очень сложного процесса, и пока мы сосредоточились на работе одного нейрона. ИИ, однако, выходит далеко за рамки этого и гораздо сложнее. Однако в этой статье мы сосредоточились на основах. В реальном мире функции не так просты, и для всех заданных значений x все искомые значения y не образуют прямую линию (не все точки будут лежать на прямой). Функция стоимости используется для создания линии наилучшего соответствия, где общие потери будут наименьшими (все же будут некоторые потери, в отличие от примера с функцией 3x + 2, где потери полностью отрицаются и доводятся до 0). Поэтому мы отложим эту тему на другой день. Вы также можете быть знакомы с термином «глубокое обучение», в котором также используется нейронная сеть. Нейронная сеть состоит из нескольких отдельных слоев нейронов, каждый из которых выполняет отдельную функцию, синхронизированную со всеми остальными слоями для одной основной функции (например, идентификация рукописных чисел). В этом посте мы узнали, как нейроны помогают машине обучаться и как один нейрон использует математику для получения правильных ответов. Использование глубокого обучения и его математическая основа будут основными темами следующей статьи (которая, кстати, намного сложнее, чем в одном нейроне). Большое спасибо!