Математика и Питон для анализа данных

Производная и ее применения

Функция

Гладкая и не гладкая

Предел функции

Производная функции

Предел дает понять непрерывна ли функция в данной точке

Производная определяет скорость роста функции в конкретной точке

Гладкая функция -- функция, в которой есть непрерывная производная

Производная -- угол наклона функции в конкретной точке

Если производная резко меняет свое значение в некоторой точке -- мы нашли излом

Экстремум -- минимум или максимум функции. В окретсонстях экстремума функция не принимает значение меньше (больше) экстремума #

Необходимое условия -- равенстно нулю производной в нем (то есть касательная параллельна оси Х)

Выпуклость и вогнутость

Производная >= 0 -- функция возрастает
Производная <= 0 -- функция убывает

Вторая производная >= 0 -- функция выпукла
Вторая производная <= 0 -- функция вогнутая #

Достаточное условие -- вторая производная в точке строго больше нуля

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

Векторы

Аксиомы векторного пространства

Векторное пространство -- совокупость всех векторов N-мерного пространства

Линейно-зависимые векторы -- когда один можно вывести из другого путем умножение на каоке-то целое число

Метод гаусса показывает, линейно ли зависимы векторы

Размерность пространства -- максимальное число линейно-независимых векторов в пространстве

Норма вектора ( ||x|| ) -- обобщение понятия длины вектора

Евклидова норма

Манхэттэнская норма

Скалярное произведение

Позволяет ввести угол между векторами

Можно выразить норму #

Матрицы

Транспонирование -- поворот относительно главной диагонали

Ранг матрицы -- количество линейно независимых векторов матрицы. Характеризует количество информации в матрице

Определитель -- площадь параллелипида, составленного из векторов матрицы

Система линейных уравнений

Может быть представлена в виде матрицы A -- уравнения, A|b -- уравнения плюс столбец с вектором ответов

3 случая

Нет решений: ранг А < ранга (А|b)

Единственное решение: ранги равны

Много решений: ранг А < ранга (A|b)

Особые виды матриц

Диагональные матрицы (на главной диагонали числа, на другой -- нули). Они растягивают i-тую координату в сколько-то раз.

Ортогональные матрицы (транспонированная версия является обратной). Они поворачивают фигуры.

Симметричные матрицы (транспонированная версия совпадает с исходной). Можно представить в виде произведения диагональной, ортогональной и еще одной диагональной

Оптимизация и матричные разложения

Градиент и оптимизация гладких функций

Частные производные -- производные одной функции по разным аругментам. Фиксируем одну переменную и берем производную по нему. Потом то же самое с другой. Потом складываем

Градиент -- вектор из частных производных функции. Он задает направление наискорейшего роста функции

Градиентный спуск: принцип, когда мы будем вычитать из функции антиградиент, пока не спустимся в минимум функции

Производная по направлению -- скорость роста функции в выбранном направлении

Оптимизация негладких функций

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

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

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

Алгоритм Нелдера-Мида. Формируем симплеск (т.е. объект с n+1 точек от изначального пространства. Например, для 2-хмерного пространства -- это треугольник. Для 3-хмерного пространства -- пирамида и т.д. Начинаем его деформировать в сторону минимума функции.

Матричные разложения

Иногда удобно представить матрицу как результат умножения других матриц

Спектральное разложение

Только для симметричных

Х = S(трансп.)DS, где
S - ортогональная
D - диагональная #

Сингулярное разложение (SVD)

X = UDV, где
U, V -- ортогональные
D -- диагональная

Приближение матрицей меньшего ранга

Иногда матрицу можно упростить, редуцировав ее, уменьшив ее ранг.

Приблизить -- значит преобразовать X в UV(трансп), при этом норма разности должна быть минимальной: ||X-UV(t)|| => min

Норма Фробениуса