В предыдущем посте мы обсудили два столпа машинного обучения — статистику и вероятность, необходимые для ясного и легкого понимания всех концепций машинного обучения. При этом мы также хороши для предварительной обработки данных и аналитики данных, обсуждаемых в Знакомство с миром машинного обучения. Мы рассмотрим алгебру и вычисления, необходимые для обучения и оценки модели.

3. Алгебра

Машинное обучение во многом связано с уравнениями с несколькими переменными и их решением. И угадайте, что такое линейная алгебра. Да, линейная алгебра — это раздел математики, который имеет дело с линейными уравнениями типа y = mx + c и их представлением в векторном пространстве (векторное пространство означает, что набор векторов вместе со скалярными величинами используется для описания точки интереса). Линейная алгебра — обширная область, и ее можно интерпретировать по-разному. Тем не менее, мы будем изучать только самые важные вещи и не будем прибегать к ненужным объяснениям.

3.1 Скаляры

Даже если кто-то новичок в машинном обучении или не слышал о линейной алгебре или скаляре. Но должен был уже выполнить базовую математику, такие операции, как сложение, умножение и т. д. Каждая операция включает в себя число, которым манипулируют с помощью этих операций; эти числа называются скалярами. Подобно тому, как стоимость чего-либо, температура или уравнение типа y = 2*x + 3 представлены скалярными величинами, в приведенном выше уравнении y, x, 2 и 3 — все скаляры.

Примечание. Во всей этой серии мы будем использовать маленькие буквы без заглавных букв для обозначения скаляра.

3.2 Векторы и матрицы

3.2.1 Векторы

Многие могут подумать, что если мы можем все представить в виде скаляров, то зачем нам векторы или матрицы. Подумайте, как мы будем представлять целую коллекцию скаляров. Представьте себе данные, содержащие дома, имеющие 150 или более характеристик, таких как количество комнат, размер и т. д. Теперь, если мы хотим поговорить об одном экземпляре дома, будет очень утомительно писать все 150 скаляров для представления дома; здесь векторы спасают. Думайте о векторах как о наборе скаляров; это можно записать как

Здесь x₁, x₂, … xₙ — скаляры, а x — вектор, представляющий их набор. Вектор на изображении выше называется вектором-столбцом, и в большей части литературы используется вектор-столбец.

Примечание. Во всей этой серии векторы будут представлены полужирными буквами без заглавной буквы, такими как x.

3.2.2 Матрицы

Используя аналогичный мыслительный процесс, как бы мы представили набор векторов, весь набор данных или набор нескольких уравнений. Это требует, чтобы мы использовали что-то из двух или более измерений; под размерами мы подразумеваем размеры матрицы, как и в приведенном выше примере, вектор размерности равен (n x 1).

Примечание. Во всей этой серии матрицы будут представлены жирными заглавными буквами, такими как A.

Примечание. Матрица может быть большего размера, например (m x n x k). Но здесь, в этой серии и ML, мы ограничимся только двумерными матрицами.

3.3 Векторы и матричные операции

3.3.1 Вектор

a) Нормы. Проще говоря, норма вектора говорит нам о длине вектора. Ранее мы говорили о размере вектора; размер здесь означает размерность. Это не то же самое, что длина вектора. Норма или длина ||a|| вектора a определяется как:

b) Сложение и вычитание векторов: можно вычесть или сложить только два вектора одинаковой длины. Новый вектор вычисляется путем добавления или вычитания отдельных элементов с заданным индексом . Для двух заданных векторов x, и y

d) Скалярное произведение: Проще говоря, скалярное произведение двух векторов определяется как сумма произведений каждого элемента вектора, т. е. первый элемент умножается на первый, а второй элемент умножается на второе и т. д.Для двух заданных векторов x и y скалярное произведение определяется как :

3.3.2 Матрица

a) Транспонирование: транспонирование матрицы означает новую матрицу с перевернутыми строками и столбцами. Верхний индекс «T», то есть Aᵀ, обозначает это.

b) Инверсия:обратная матрица — это матрица, которая при умножении на матрицу дает единичную матрицу (единичная матрица означает матрицу, имеющую все диагональные единицы и остальные нулевые элементы, обозначаемую I). Процесс нахождения обратного называется инверсией.

c) Матричное умножение: матричное умножение — одна из наиболее важных и часто используемых тем при решении или объяснении любых моделей машинного обучения. Нам нужно сделать «скалярное произведение» строк и столбцов для умножения матрицы. На изображении ниже четко показан процесс:

d) Определитель: Определитель можно вычислить только для квадратной матрицы (квадратные матрицы — это матрицы с одинаковыми номерами строки и столбца). Итак, определитель квадратной матрицы, обозначаемый det(A) или |A| это объем коробки со стороной, заданной строками A. Он также говорит нам, можно ли инвертировать квадратную матрицу, т. е. если det(A) = 0, то матрица не может быть перевернутый. Подробнее об определителях можно прочитать здесь.

e) Ранг:ранг матрицы — это количество независимых векторов-строк матрицы. Независимый означает, что вектор не может быть представлен с помощью векторного сложения или вычитания других оставшихся векторов-строк. Это то, что потребуется в машинном обучении, но если кому-то интересно узнать больше, они могут обратиться к этому.

3.4 Собственные векторы и собственные значения

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

Математически собственное значение A матрицы обозначается скаляром λ, а собственный вектор, как следует из его названия, представляет собой вектор v, заданный уравнением:

                               Av = λv

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

4. Расчет

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

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

4.1 Дифференциация и производные

С точки зрения непрофессионала, дифференцирование означает нахождение скорости изменения любой зависимой переменной y по отношению к любой независимой переменной x. Зависимый означает, что y можно записать в терминах x примера y = 2x или в любой другой форме. Проще говоря, мы рассчитываем скорость как скорость изменения расстояния по отношению ко времени. Оператор обозначает это

Это также обозначается маленькой чертой в верхней части функции, такой как f(x)’. Производные означают дифференцирование какой-либо конкретной функции. Ниже перечислены несколько основных производных, которые вам потребуются:

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

4.2 Частные производные и градиент

4.2.1 Частные производные

Производная говорит нам, какое изменение произойдет в зависимой переменной y, если мы изменим независимую переменную x на единицу. Это верно, если yзависит только от одной независимой переменной x, но если есть две или более независимых переменных, и мы хотим вычислить изменение только по отношению к одной. Например, предположим, что мы хотим рассчитать изменение наших знаний по отношению к количеству времени; кажется, что это проблема, которую нужно решить путем вычисления производной. Тем не менее, помимо времени на наше знание влияют и другие факторы, такие как уровень нашей концентрации, наш источник и многое другое. Итак, здесь нам требуется вычислить частную производную знания по времени. Символ обозначает это:

Предположим, что зависимая переменная y зависит от двух независимых переменных x и z, и пусть отношение будет y = 2x^2 + z, теперь мы хотим вычислить частную производную y относительно (относительно) x. Также важно отметить, что при вычислении частной производной по переменной все остальные переменные считаются постоянными. Его можно увидеть на рисунке ниже:

4.2.2 Градиент

Градиент — это просто набор частных производных по всем его независимым переменным. Он представлен в виде вектора. Дано:

Например, y = 2x^2 + z в частной производной градиент равен:

4.3 Цепное правило

Теперь рассмотрим ситуацию, в которой переменная y зависит от переменной x, которая также зависит от переменной z. Теперь, если мы хотим сначала вычислить производную от y по отношению к z, мы должны преобразовать уравнение y в форме x в переменную z , а в случае больших уравнений это становится неуклюжим процессом. Здесь нас спасают цепные правила. По цепному правилу:

Заключение

В сегодняшнем блоге мы рассмотрели два столпа машинного обучения, которые отвечают за все части обучения и оценки в конвейере машинного обучения. Сначала мы рассмотрели основы работы с векторами и матрицами и для чего они нужны, а затем узнали об их основных операциях. Наконец, в этом разделе мы кратко обсудили ранг, собственные значения и собственные векторы матрицы.

В этом разделе мы обсудили производные самым простым способом и рассмотрели некоторые из наиболее важных и необходимых производных. Затем мы узнали, как вычислить производную переменной с более чем одной независимой переменной. После этого мы обсудили способ представления всех частных производных в виде вектора, т.е. градиента. Наконец, мы обсудили самое важное цепное правило.

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

Если вам понравился наш пост, пожалуйста, подпишитесь на меня Сартака Малика и моего коллегу Харшита Ядава на Medium и подпишитесь на наш список рассылки, чтобы получать регулярные обновления и оставаться с нами в этом путешествии.

Спасибо,

Предыдущий блог из этой серии:Четыре столпа машинного обучения №1 — статистика и вероятность

Следующий блог в серии:Ваше руководство по машинному обучению с учителем — регрессия