Добавил:
Зам Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

СистемыКомпьютернойМатематики

.pdf
Скачиваний:
0
Добавлен:
01.06.2026
Размер:
1.34 Mб
Скачать

Системы компьютерной математики - 2 семестр

Компьютерная математика

Python + Jupyter + математика – фундамент компьютерной математики для ML и Big Data

1.Математика - формальный язык и модели.

2.Python - язык для их реализации.

3.Jupyter Notebook - среда для интерактивного эксперимента, документации и обучения.

Определение: Компьютерная математика - экспериментальное исследование математических моделей с помощью кода

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

1.Синтаксис как псевдокод – простота синтаксиса для записи математических выражений.

2.Экосистема для вычислений:

NumPy: Векторы, матрицы, линейная алгебра. SciPy: Научные вычисления, оптимизация.

Pandas: Таблицы, анализ данных (как Excel на стероидах). Scikit-learn: Готовые алгоритмы ML.

Многие другие библиотеки

3. Интерактивность работы с Python в среде формата Jupyter Notebook Библиотеки:

1.NumPy: Векторы, матрицы, линейная алгебра

2.SciPy: Научные вычисления, оптимизация

3.Pandas: Таблицы, анализ данных

1

4. Matplotlib: Визуализация, графики и диаграммы

import numpy as np # Базовая математика import pandas as pd # Данные

import scipy #Продвинутая математика import matplotlib.pyplot as plt # Визуализация

Не вся математика, а конкретные операции

Линейная алгебра & NumPy: Векторы, матрицы, умножение.

Математический анализ, оптимизация & SkyPi: Производные, градиенты, поиск минимума функции.

Теория вероятностей & Pandas: Распределения, среднее, дисперсия. 2D/3D графики & Matplotlib: Визуализация.

Определение: Ядро (Kernel) - вычислительный движок, который выполняет код, содержащийся в документе

Определение: Ячейка (Cell) - код или текст в разметке Markdown.

Стандарт языка Python - PEP8. Есть два подхода к форматированию - Змейка

(user_name) и Верблюд (ClassName).

Определение: Большие данные (Big Data)– большие массивы данных, отличающиеся главным образом такими характеристиками объем, разнообразие, скорость обработки и/или вариативность, которые требуют использования технологии масштабирования для эффективного хранения, обработки, управления и анализа.

Определение: Объём данных (data volume) – количественная характеристика данных, влияющая на выбор ресурсов для вычислений и хранения, а также на управление данными в процессе обработки.

Определение: Скорость обработки данных (data velocity) – скорость потока с которой данные создаются, передаются, сохраняются анализируются или визуализируются

2

Определение: Разнообразие данных (data variety) – диапазон форматов, логических моделей, временных шкал и семантики массива данных. Основные термины и понятия

Определение: Вариативность данных (data variability) – изменения в скорости передачи, формате или структуре, семантике или качестве массива данных.

Markdown

Определение: Markdown - это облегчённый язык разметки для форматирования текстовых документов.

3

4

<div class="alert alert-info"> <br><b>Ответ:</b></br>

Текст задания синий

</div>

Массивы NumPy

Скаляр, вектор, матрица, 3D матрица, тензор. Атрибуты массива:

Метод

Назначение

0D

1D

2D

3D

 

 

 

 

 

 

ndim

Размерность

0

1

2

3

 

 

 

 

 

 

shape

Число элементов в

()

3

(3,3)

(3,3,3)

 

каждом измерении

 

 

 

 

 

 

 

 

 

 

size

Всего элементов

1

3

6

27

 

 

 

 

 

 

5

Массив размером (4,5,2) -

Math

Встроенные функции: -, +, /, *, //, %, **, abs(x), round(x,n), pow(x,y), divmod(x,y), min(), max(). Math: pi, e, inf, -inf, pow, sqrt, log(x,base), log10, log2, ceil, foor, trunc, round.

Функции NumPy

np.sum() - сумма массива. В качестве второго аргумента можно указать ось (axis=n). np.mean() - среднее значение массива. В качестве второго аргумента можно указать ось. Третий аргумент - тип выходных данных.

np.min() - минимальное значение массива. np.max() - максимальное значение массива. argmin() - индекс минимального значения массива. argmax() - индекс минимального значения массива.

argsort() - список индексов, по которым будет выполняться сортировка.

6

Функции модуля random

random.randint(a, b) - возвращает случайное целое число N в диапазоне [a, b]. В качестве третьего аргумента можно указать размер массива (size=(n,n)). random.uniform(a, b) - возвращает случайное число с плавающей запятой в [a, b]. random.seed() - фиксирует начальное значение генератора случайных чисел для повтора.

Введение в искусственный интеллект

Классическое понимание интеллекте - качественный показатель: 1. Умение приспосабливаться (принятие решений)

7

2.Умение обучаться через знания и опыт

3.Взаимодействие

Искусственный интеллект - способность компьютера решать те же задачи, что и человек.

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

Задачи:

1.Освобождение от рутины

2.Решения, когда нет времени

3.Устранение непонимания.

4.Автоматизация получения новых фундаментальных знаний.

Линейная алгебра и NumPy

Скаляр: Математика - классические буквы, коэффициент - греческие полные, статистика - змейка, вектор - буквы, матрица - заглавные буквы.

2D: A,B,C - общие, M,N - прямоугольные матрицы, I - единичная, D - диагональная, Z - нулевая, слово - прописные.

3D: Прописные множественные число. Матрицы специального вида: np.zeros((2,3))

np.eye(3)

np.ones((2,2))

np.diag([10,20,30])

np.random.rand(3,3)

np.arange(0,10,2)

np.linspace(0,1,5)

Операция

Линейная алгебра

Numpy

Совпадает

 

 

 

 

8

+

A+B поэлементно

A+B

Да

 

 

 

 

-

A-B поэлементно

A-B

Да

 

 

 

 

*

A*B матричное

A*B поэлементно

Нет

 

 

 

 

\

Не определено

A\B поэлементно

Нет

 

 

 

 

^

матричное

A**k поэлементно

Нет

Матричная степень np.linalg.matrix_power(A,2)

Матричное умножение A@B

Обратная матрица np.linalg.inv(A)

Транспонирование np.transpose(A) A.T np.linalg.det(A)

np.allclose(A,B)

rtol - относительная погрешность. atol - абсолютная погрешность.

Транслирование

Растягивание массива до нужного размера. 2 массива совместимы, если их размеры одинаковые или один из размеров равен 1.

Нормализация и стандартизация данных

Нормализация и стандартизация являются методами изменения диапазонов значений - методы масштабирования. Масштабирование особенно полезно в машинном обучении, поскольку разные атрибуты могут измеряться в разных диапазонах, или значения одного атрибута варьируются слишком сильно. Например, один атрибут имеет диапазон от 0 до 1, а второй - от 1 до 1000.

Нормализация – метод масштабирования, который приводит к изменению диапазона данных без изменения формы распределения. Нормализация сохраняет

9

распределение данных и соотношения в исходных данных. Наиболее часто нормализаций приводит данные к диапазону [0;1].

Стандартизация – метод масштабирования, который изменяет диапазон данных и форму распределения данных (приводится к нормальному распределению со средним значением =0 и стандартным отклонением =1).

Методы масштабирования применяют на этапе подготовке данных к машинному обучению – этапе предобработки данных.

Методы нормализации данных: МИН-МАКС ​нормализация (MinMaxScaler)

Абсолютная МАКС-нормализация (MaxAbsScaler) Робастная нормализация (RobustScaler) Нормализация к единичной норме (Normalizer) ​ Методы стандартизации данных: Z-преобразование (StandardScaler)

Наиболее часто нормализация применяется к атрибутам (столбцам). Методы

MinMaxScaler, MaxAbsScaler, RobustScaler, StandardScaler применяется к атрибутам или признакам (столбцам) данных.

Метод Нормализация к единичной норме (Normalizer) применяется к объектам наблюдения (строкам).

МИН-МАКС нормализация (MinMaxScaler) – метод нормализации, который преобразует данные таким образом, что все значения находятся в диапазоне от 0 до 1. где x – исходное значение, x_norm – нормализованное значение,

min(x) и max(x) – минимальное и максимальное значения в наборе данных соответственно.​

10