9 месяцев назад
​​Векторное пространство - это математическое понятие, которое обобщает понятие совокупности всех векторов обычного трехмерного пространства. Векторные пространства являются ключевыми объектами в линейной алгебре. Векторное пространство определяется как множество элементов, называемых векторами, которые можно складывать вместе и умножать на числа (скаляры). Эти операции должны удовлетворять определенным свойствам, таким как коммутативность, ассоциативность и дистрибутивность. Одна из главных характеристик векторного пространства - его размерность. Размерность представляет собой максимальное число линейно независимых элементов пространства. Векторное пространство может быть конечномерным (если его размерность конечна) или бесконечномерным (если его размерность бесконечна). Векторное пространство также может быть наделено дополнительными структурами, такими как норма или скалярное произведение, что позволяет определить понятия близости и непрерывности. Важным понятием в векторных пространствах является базис. Базис векторного пространства - это совокупность линейно независимых векторов, упорядоченная и в своей численности равная размерности пространства. Векторные пространства встречаются во многих разделах математики. Например, пространство всех матриц определенного размера с элементами из определенного поля является векторным пространством. На языке программирования Rust векторы используются для работы с массивами переменной длины. В Rust векторы представлены структурой данных Vec. Они позволяют добавлять, удалять и изменять элементы массива динамически. Например, для создания вектора из трех элементов типа i32 можно использовать следующий код: v = vec![100, 32, 57]; Векторы в Rust также поддерживают операции сложения и умножения, что делает их похожими на векторные пространства в математике. Однако, в контексте программирования, векторы в Rust являются структурами данных, предназначенными для хранения элементов определенного типа, и не полностью соответствуют математическому понятию векторного пространства. Таким образом, векторы в Rust представляют собой мощный инструмент для работы с массивами переменной длины, однако они отличаются от абстрактного математического понятия векторного пространства. В языке программирования Rust векторы представлены структурой данных Vec, которая служит для хранения элементов определенного типа и обеспечивает динамическое изменение размера массива. Однако, в контексте программирования, векторы не полностью соответствуют абстрактному математическому понятию векторного пространства. Основные различия между векторами в Rust и математическими векторными пространствами заключаются в следующем: 1. Абстрактность: Векторное пространство в математике - это абстрактное понятие, описывающее набор элементов и операций над ними, в то время как векторы в Rust являются конкретной реализацией структуры данных для хранения элементов. 2. Математические операции: Векторное пространство включает в себя определенные математические операции, такие как сложение, умножение на скаляр, норма и скалярное произведение, которые имеют строгое математическое определение. Векторы в Rust поддерживают операции добавления, удаления и изменения элементов, но не имеют встроенной поддержки для математических операций, за исключением умножения на скаляр. 3. Алгебраические свойства: Векторные пространства в математике обладают определенными алгебраическими свойствами, такими как коммутативность и ассоциативность операций. Векторы в Rust не обязательно удовлетворяют этим свойствам, так как их поведение определяется конкретной реализацией. Таким образом, хотя векторы в Rust предоставляют мощный инструмент для работы с массивами переменной длины, они отличаются от абстрактного математического понятия векторного пространства из-за своей конкретной прикладной природы и отсутствия полного соответствия математическим определениям и свойств ам векторных пространств.
250 читали · 5 лет назад
День 8: Слишком много векторов. Убираем лишнее. Линейная зависимость.
Как я говорил ранее, прежде чем начать построение любой модели данные следует подготовить. Один из таких этапов - это удаление лишних, избыточных данных. Но как понять какие данные лишние? Для начала разобъём наш dataset на векторы-столбцы, то есть векторы будут хранить значения всех объектов своего одного признака. Одна из таких техник - это поиск линейно зависимых признаков. Линейная зависимость является симптомом того, что один признак может быть выведен из другого признака. Например, хранение одних и тех же данных в разных размерностях...