Люблю, ненавижу, боюсь, уважаю математику. Говоря коротко, испытываю к ней чувства, дышу к ней неровно.
Сегодня я расскажу о двух ее персонажах, которым при жизни (в офлайне) не довелось встретиться. Но "кибернетикэ может усе". Посмотрим же, что получится, если скрестить коня и трепетную лань, ужа и ежа.
Лагранж
Математик из прошлого, довольно далекого, как по времени, так и географически.
Среди много прочего, он изобрел "полином Лагранжа" - функцию, график которой проходит через заданные точки и принимает в них заданные значения.
См. об этом несколько подробнее на канале-союзнике Математика и программирование
Сигмоида
Модная штучка, знаменита и очень востребована в нейронных сетях, можно сказать, нарасхват. В миру - любая монотонная ограниченная функция. Но не смотрите, что она ограниченная. Это совсем в другом смысле. А так, она из себя очень даже ничего. Да и вообще, она не одна такая, их, сестер, - большое семейство, и все, по большому счету, - сигмоиды. Да что там про такую красоту говорить.. Красоту надо видеть. Вот как из себя эти сестрички выглядят:
Понравились? Стройность, гибкость стана. То-то и оно. Лагранжу они, наверняка, понравились бы тоже. Кстати, хорошо, что они не встретились в офлайне. Мало ли что, он ведь мог и ум потерять от такой красоты.
Вот и проверим на деле фразу: "Умное тянется к красивому", устроим им встречу в онлайне.
Ах да, действующих лиц всех вроде перечислил. А вот с антуражем (декорациями) закавыка вышла. Исправляю оплошность. Знакомьтесь - декорация к спектаклю - наборы точек.
Наборы точек
Это объекты вида [[x_1,y_1],...,[x_n,y_n]] (т.е. список точек плоскости), над которыми выполняется интерполяция.
Поскольку мы хотим познакомить Его и Ее основательно, нам нужен не один набор, а целая коллекция. Например, такая
На рисунке точки умеют двигаться. Если они неподвижны, нажмите полупрозрачную стрелку на рисунке.
Здесь представлена серия наборов точек. При каждом значении параметра t от 0 до 4 имеем набор точек
[[1 + t/5, t], [4 - t/3, t - 2], [5 + 1/(t + 1), t + 2], [6 + 15/(t + 4), 6 - t]].
Мы видим, что первые три точки при изменении параметра t двигаются вверх, четвертая - вниз. Это объясняется формулами координаты y этих четырех точек [t,t-2,t+2,6-t].
Либретто (кратко)
Лагранж ищет повода познакомиться с сигмоидой. Чего не сделаешь из уважения к великому ученому.
Мы подготовили целый план. Вот он:
1. Общие формулы интерполяции
2. Интерполяция полиномом Лагранжа
3. Интерполяция сигмоидами
4. Совместная интерполяция
1. Общие формулы интерполяции
Задача интерполяции состоит в нахождении функции, проходящей через заданные точки на плоскости [[x1,y1],..,[xn,yn]], т.е. принимающей в точках x1..xn значения y1..yn. Интерполяцию можно осуществить по формуле
2. Интерполяция полиномом Лагранжа
Интерполяция по Лагранжу получается, если выбрать
Вот как эта интерполяция работает на нашей тестовой серии точек
Здесь мы видим воочию, лицезреем, как форма кривой услужливо изгибается (чего изволите?) вслед за изменением линии партии (сдвигом исходных точек). При этом первое правило интерполяции - кривая должна, ну просто обязана, проходить через заданные точки, свято (скрупулезно - для неверующих) выполняется.
3. Интерполяция сигмоидами
Мы выберем "двоюродную" сестру семейства сигмоид - "сигмоидную единицу" - функцию тоже ограниченную, но не монотонно возрастающую, а унимодальную (имеющую один максимум). Это удобно в ситуации, когда нам нужна функция, похожая на символ Кронекера (равный единице в одной точке, и нулю - в остальных).
Вот эта кузина: psi(x) = 1 - abs(x)/sqrt(x^2 + 1).
А вот как выглядит ее личико.
Применим сигмоидную единицу для выбора функции phi_i общей формулы интерполяции, в следующей форме
Легко видеть, что требование общей формулы к функции phi _i выполнено.
Интерполяция на тестовой серии точек выглядит так:
4. Совместная интерполяция
При совместной интерполяции мы применяем полиномы Лагранжа для части точек, и сигмоиды - для оставшихся.
Для нашего набора из четырех точек применим к первым двум точкам функцию psi(x)=x ("функциональная" единица - это соответствует интерполяции Лагранжа), а к следующим двум - функцию \psi(x) = 1-abs(x)/sqrt(x^2 + 1) (сигмоидная единица). График получившейся интерполяции выглядит в этом случае так:
Эпилог
Подводя итоги, можно сказать, что знакомство великого ученого и молодой подающей надежды функции состоялось-таки (хоть и в онлайне).
Лиха беда начало. Да здравствует дружба (и даже любовь - она же платоническая) пусть даже самых отдаленных частей математики!
Подписаться на канал Математика и программирование
Вокруг ЕГЭ: разложить x^5+1 на множители с вещественными коэффициентами
Web Scraping: преобразовать иерархическую структуру в табличную
Web Scraping: преобразовать табличную структуру в иерархическую
Web Scraping: всероссийская перепись 1917
Как я поженил Лагранжа и сигмоиду
Интерполяция функций и правило Лопиталя
Подписаться на канал Новости из царской России
VisualStudioCode. html. Урок 1
Вокруг ЕГЭ: разложить x^5+1 на множители с вещественными коэффициентами
Web Scraping: преобразовать иерархическую структуру в табличную
Web Scraping: преобразовать табличную структуру в иерархическую
Web Scraping: всероссийская перепись 1917
Как я поженил Лагранжа и сигмоиду
Оглавление статей канала "Новости из царской России"
YouTube "Новости из царской России"