Добавил:
Developer Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Кулагин ответы экзамен.docx
Скачиваний:
111
Добавлен:
17.01.2024
Размер:
7.42 Mб
Скачать
  1. Математические основы нейронных сетей.

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

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

Чтобы подготовить модель к обучению, нужно настроить еще три параметра для этапа компиляции:

·оптимизатор — механизм, с помощью которого сеть будет обновлять себя, опираясь на наблюдаемые данные и функцию потерь;

·функцию потерь — которая определяет, как сеть должна оценивать качество своей работы на обучающих данных и, соответственно, корректировать ее в правильном направлении;

·метрики для мониторинга на этапах обучения и тестирования — здесь нас будет интересовать только точность (доля правильно классифицированных изображений).

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

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

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

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

  1. Нейронные сети. Представление данных.

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

Что же такое тензор? Фактически тензор — это контейнер для данных, обычно числовых. Проще говоря, контейнер для чисел.

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

Одномерный массив чисел называют вектором, или тензором первого ранга. Тензор первого ранга имеет единственную ось.

Пусть имеется вектор

x = (12, 3, 6, 14, 7).

Этот вектор содержит пять элементов и потому называется пятимерным вектором.

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

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

Массив векторов — это матрица, или тензор второго ранга, или двумерный тензор. Матрица имеет две оси (часто их называют строками и столбцами).

Тензор определяется тремя ключевыми атрибутами, такими как:

- количество осей (ранг) — например, трехмерный тензор имеет три оси, а матрица — две;

- форма — кортеж целых чисел, описывающих количество измерений на каждой оси тензора. Например, матрица в предыдущем примере имеет форму (3, 5), а тензор третьего ранга — (3, 3, 5). Вектор имеет форму с единственным элементом, например (5), тогда как у скаляра форма пустая — ();

- тип данных (обычно в библиотеках для Python ему дается имя dtype) — это тип данных, содержащихся в тензоре; например, тензор может иметь тип float16, float32, float64, uint8 и др.