Понятия линейной алгебры с высоты птичьего полета для начинающих, включая читателей, не занимающихся информатикой и не математикой

Будущее здесь. Нравится вам это или нет, но машинное обучение (ML) будет иметь огромное значение в определении нашего общего будущего. Способность учиться, несомненно, является одним из отличительных качеств человека, а машинное обучение - это та область компьютерных наук, которая обещает дать эту уникальную способность нашим машинам и программному обеспечению.

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

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

Итак, без лишних слов, давайте намочим ноги.

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

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

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

Некоторые из наиболее часто используемых математических объектов:

Скаляр - это просто число, например 24.

Вектор - это упорядоченный массив значений, который может храниться как строка или столбец. Вектор всегда одномерный (строка или столбец). Мы ссылаемся на значение внутри вектора с его индексом. Например, третье значение в приведенных выше векторах равно 7. Размер обоих векторов, указанных выше, равен 1x1 (1 строка и 1 столбец).

Матрица - это вектор, расширенный как по строкам, так и по столбцам. Матрицы обычно двумерные (строка x столбец). Для обозначения любого элемента в матрице мы используем 2 индекса. Первый индекс указывает, к какой строке принадлежит элемент. Второй индекс указывает, к какому столбцу принадлежит элемент. Например, в (1,2) у нас есть элемент 4 (который находится на пересечении 1-й строки и 2-го столбца). Размер указанной выше матрицы составляет 2x3 (2 строки и 3 столбца).

Если бы я дал один термин для всех этих структурированных математических объектов, я бы назвал его тензором. Тензор может быть n-мерным массивом, а что угодно - вектором (Тензор 1-го порядка - одно измерение) до матрицы (тензор 2-го порядка - два измерения) или выше (три измерения или более).

Итак, это было краткое описание того, как линейная алгебра определяет хороший «язык данных». Так же, как мы определили приведенные выше соглашения о том, как хранить наши данные в стандартном формате, линейная алгебра также разъясняет правила вычислений (сложение, вычитание, умножение, деление и т. Д.) С этими структурами данных. Поскольку мы играем с целыми наборами чисел, линейная алгебра ясно учит нас, как манипулировать этими структурами и получать ключевые результаты из этих операций.

Теперь давайте поговорим о том, где именно эти идеи используются в области машинного обучения.

Это отрывок из популярного набора данных, используемого в машинном обучении, набора данных Iris flowers. Набор данных содержит набор из 150 записей по пяти атрибутам: длина лепестка, ширина лепестка, длина чашелистика, ширина чашелистика и вид. Здесь каждая запись / строка представляет одно наблюдение, и каждое из пяти значений в строке соответствует пяти атрибутам, упомянутым выше. Этот тип данных - именно тот вид, который нам нужен для обучения наших моделей машинного обучения для изучения формата линейной алгебры двумерной матрицы.

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

Предположим, вы хотите представить категориальные данные, чтобы научить свой классификатор правильно распознавать. Например, у вас есть 2 категории - Собака и Кошка. Если вы хотите указать набор изображений с точки зрения того, какое животное они представляют, вы можете сделать это следующим образом:

Итак, первое изображение, которое у нас есть, - это собака (1 в категории "собака"). Второе изображение - это кошка. Третий - собака. На самом деле это популярный метод под названием «горячая кодировка», потому что именно от его появления зависит, к какой категории принадлежит ваше изображение.

Точно так же метод скрытого семантического индексирования, используемый в обработке естественного языка, представляет целые документы в виде больших матриц вхождений слов. Здесь строки могут представлять предложения, абзацы или страницы, а столбцы представляют слова в словаре текста. Каждая ячейка в этой матрице обычно содержит количество соответствующих слов в этом предложении / параграфе / странице. Часто эти матрицы будут разреженными, т.е. несколько записей будут нулевыми (что означает отсутствие этих слов). Эти нулевые значения обычно не имеют большого значения и безопасно отфильтровываются, чтобы сохранить только суть документа с помощью таких методов, как разложение по сингулярным значениям (SVD). Документы, обработанные таким образом, намного проще сравнивать, запрос и использование в качестве основы для модели машинного обучения с учителем.

Линейная алгебра занимает центральное место в описании методов глубокого обучения через матричную нотацию для реализации методов глубокого обучения, таких как библиотека Python TensorFlow от Google, в названии которой есть слово «тензор».

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

Если вам понравилась эта статья, нажмите на значок «хлопать в ладоши». Благодарим вас за чтение этой статьи и надеемся, что она вдохновила вас продолжить чтение по этой теме.