Есть бесчисленное множество проблем, которые мы можем решить с помощью бесчисленных методов. Давайте посмотрим на математическую в этой статье.
Давайте сначала разберемся, что такое математика:
Есть две точки зрения на этот вопрос. Первый, интерпретирующий математику как язык природы, то есть средство интерпретации природы. Вторая точка зрения состоит в том, чтобы рассматривать математику как язык по умолчанию, понятный человеческому мозгу. Все, что мы чувствуем, так или иначе интерпретируется математически.
Теперь давайте посмотрим, что такое машинное обучение:
Машинное обучение считается субдисциплиной в области искусственного интеллекта. Он направлен на автоматическое улучшение производительности компьютерных алгоритмов, разработанных для конкретных задач, с использованием опыта. В исследовании машинного обучения опыт извлекается из обучающих данных, которые можно определить как выборочные данные, собранные на основе ранее записанных наблюдений или обратной связи в реальном времени. Обучение проверяется с использованием тестовых данных, и алгоритм настраивается, чтобы минимизировать ошибку и быть эффективным.
Различные перспективы изучения искусственного интеллекта/машинного обучения:
- Математическая или статистическая перспектива.
- Перспектива компьютерных наук.
- Биологическая или эволюционная перспектива.
- Психологическая перспектива.
- Этическая или политическая точка зрения.
В этой статье мы будем придерживаться только математической точки зрения:
Начнем с абстрактного мыслительного процесса. Представьте себе ребенка в возрасте, скажем, 3 лет. Родители начинают учить его числам, показывая ему, как каждая цифра выглядит на бумаге, или пытаются развить интуицию, выражая ее пальцами. Он хранит в своей памяти изображение цифры со связанной с ней меткой (8 как восемь). Через сутки ему показывают цифру 8. Он пытается ее вспомнить, но раз или два терпит неудачу. Ребенок узнает, что он делает ошибку, и пытается уменьшить ошибку. Скажем, в первый раз он говорит 1, затем 3 (что визуально больше похоже на 8), а затем тузы, угадав правильно. Давайте разберемся, что здесь происходит. Сначала малыш должен угадать 1 цифру из заданных 10 цифр. Вероятность =0,1. Вероятность ошибки 90%. Теперь он сокращает свою догадку до диапазона цифр, похожих на 8 (3,6,8,9). Теперь вероятность ошибки снижена до 1/4 = 25%. Теперь малыш сокращает спектр до двух цифр. Он уверен, что это цифра либо 8, либо 9. И при следующем угадывании он, очевидно, угадает правильную цифру. Это классический пример того, как обучается даже машина. Наша задача как раз и состоит в том, чтобы помочь машине лучше имитировать человека. Теперь давайте посмотрим на реальную математику, xD.
Это классическая проблема математической оптимизации: выбор лучшего элемента из набора доступных альтернатив, который оптимизирует задачу.
мин f(x); такое, что fi(x) ≤ bi, где i находится в диапазоне от 1 до m.
Где x — переменная оптимизации, f — целевая функция (угадайте правильную цифру в данном примере), а fi — связанные ограничения. Пусть x* обозначает оптимальное решение поставленной выше задачи. (8 в приведенном примере). Теперь давайте посмотрим, как математически решить такую задачу оптимизации:
Решение проблем с оптимизацией:
Очень полезное наблюдение состоит в том, что если f — целевая функция, которая максимизируется или минимизируется в точке x, то касательная к графику в точке (x, f (x)) будет горизонтальной, так как в противном случае мы можем найти некоторое значение x, близкое к к x, для которого f(x ) больше. Это означает, что мы можем сузить поиск максимального и минимального значений f, взглянув только на значения f(x), для которых f(x) = 0. В зависимости от типа целевой функции и ограничений существует два общих основные способы решения задачи оптимизации
- Выпуклость:данное выпуклое множество C (множество всех точек a, b, принадлежащих C, отрезок, соединяющий любые две заданные точки, лежит в одном и том же множестве C), локальные минимумы множества будут глобальные минимумы. Отсюда оптимальное решение.
2.На основе градиента. Теперь предположим, что у нас есть целевая функция более чем одной переменной, например, функция
F(x,y) = 2x + 10y − x² + 2xy − 3y²
Этот вектор производной обычно называют градиентом функции F в точке (x, y) и записывают как ∇F(x, y). В векторной записи (запись x для (x, y) и h для (h, k)) приближение к F вблизи (x, y) равно
F(x + h) ≈ F(x) + h ·∇F.
Таким образом, ∇F указывает направление, в котором F увеличивается наиболее быстро, если вы начинаете с x, а величина ∇F представляет собой наклон «графика» F в этом направлении. Компоненты a и b градиента можно рассчитать с помощью частичного дифференцирования. Число а говорит нам, как быстро изменяется F(x,y) при изменении x при фиксированном y:
a = ∂F(x,y) /∂x = 2 − 2x + 2y. (1)
Сходным образом,
b = ∂F(x,y)/∂y = 10 + 2x − 6y. (2)
После решения двух вышеупомянутых одновременных уравнений (1 и 2) мы получаем x = 4 и y = 3. Это наше оптимальное решение.
3. Лагранжиан: это лучший метод решения задачи оптимизации с ограничениями. Потому что лагранжиан преобразует задачу с ограничениями в задачу без ограничений. Например:
Целевая функция: максимизировать F(x,y) = 4y-x (3)
Ограничения: G(x,y) = x²-xy+y²-x+y-4=0 (4)
Важно отметить, что оптимизирующая линия касается кривой: прямая и кривая параллельны в своей общей точке. Линия была выбрана как контур функции F. Кривая также является контуром: 0-контуром G. Мы знаем, что эти контуры перпендикулярны градиентам F и G соответственно (в рассматриваемой точке). Таким образом, два вектора градиента параллельны друг другу и, следовательно, кратны друг другу:
∇F(x,y) = λ∇G(x,y) , G(x,y) = 0 (5)
Из уравнений 3 и 4 получаем:
x = 2 + λ/3λ ,
y= 7 − λ/3λ (6)
Подставляя эти значения в уравнение G(x,y) = 0, получаем
13(1- λ²)/3λ² = 0
что дает нам два решения λ = 1 и λ = -1. Если в (6) подставить λ=1, получим точку (1,2), в которой F максимальна. Принимая λ = -1 на другой стороне, мы получаем точку, в которой F минимальна. Здесь число λ называется множителем Лагранжа. Переформулировка лагранжиана дает нам:
L(x,y, λ) = F(x,y) − λG(x,y)
.Объединяя приведенные выше уравнения (5) в одно уравнение:
∇L = 0.
Примечательным фактом этой переформулировки является то, что она превратила задачу оптимизации с ограничениями, включающую x и y, в задачу без ограничений, включающую x, y и λ.
Это некоторые из основных решений оптимизации, используемых в алгоритмах машинного обучения, таких как линейная регрессия, которая использует метод наименьших квадратов в качестве функции потерь. И решение получается путем применения правил Лагранжа и ККТ (о которых я расскажу в своей следующей статье).
Я надеюсь, что читатель, по крайней мере, получил интуитивное представление о том, как работает математика, стоящая за машинным обучением. Спасибо!