После кластеризации на 10 кластеров у каждой из 10 многомерных обученных монеток появились веса, которые можно перевести обратно в картинки, в итоге получилось довольно близко к естественным изображениям лиц.
У картинок оставил три цветовых канала, но сами цвета, как и в предыдущем случае уменьшил до 2, что бы в итоге остались 0 и 1. Смесь распределений Бернулли сформировала несколько размытых кластеров, но некоторые кластера-картинки получились довольно четкие
🔥1
Прочитал статью на Хабре о решении уравнения Эйконала методом быстрого марша (Fast Marching Method - FMM) и вспомнил, что когда-то занимался решением уравнений Максвелла, а уравнение Эйконала как раз получается из уравнений Максвелла в приближении, когда длина волны очень мала. Оно связывает геометрическую оптику с волновой и считает, что световые лучи перпендикулярны волновому фронту, а модуль градиента фазы волны в каждой точке пространства равен показателю преломления в этой точке. Сам же FMM является алгоритмом Дейкстры (поиск кратчайших путей) заточенным под сеточные графы, что позволяет ему работать за O(N*log(N)) от числа вершин.
🔥1
Я взял картинки (простите Вермеер и Уорхол) и с помощью FMM рассчитал волновой фронт от источника (красная точка) в трёх RGB каналах, приняв яркость пикселя в каждом канале за степень оптической вязкости (чем светлее пиксель, тем медленнее через него движется волна). Это похоже на неравномерно растекающееся по поверхности масло. В итоге каждому пикселю сопоставляется время, за которое до него дошла волна от источника: чем светлее, тем больше потребовалось времени. Растекшееся масло заиграло радужными переливами.
🔥1
Привет. Визуализация больших графов - большая проблема (подробнее тут), визуализация даже небольших, но динамических графов (когда ребра и вершины то появляются, то исчезают) - проблема не меньше, но информации в сети об этом не так много, ровно, как и доступных инструментов. Парочка найденных библиотек работает крайне медленно. Один из выходов использовать статические укладки (я использовал multidimensional scaling - алгоритм оценивает кратчайшие пути между вершинами и пытается сохранить их в 2d проекции) в каждый момент времени + нормировку и экспоненциальное сглаживание, что бы изменения в укладках были хоть немного сглажены, впрочем, это все равно не исключает дрожания и прыжки между соседними укладками.
This media is not supported in your browser
VIEW IN TELEGRAM
Тут, в динамике по дням, представлен граф постов с reddit топика - r/TikTokCringe, собранных с июня 2023. Я формировал ребро между двумя вершинами - постами топика, только если как минимум 5 одних и тех же пользователей оставили комментарии под обоими постами. Цветом показаны основные теги постов.
Датасет взят тут -> https://www.kaggle.com/datasets/curiel/rtiktokcringe-post-and-comments
Датасет взят тут -> https://www.kaggle.com/datasets/curiel/rtiktokcringe-post-and-comments
🔥1
Привет, всякий раз, когда приходится иметь дело с рисками (прогноз погоды, медицинская диагностика, финансы, беспилотные авто и тд) возникает задача прогнозирования не просто точечного значения, а целого диапазона, в идеале всего условного распределения F(Y|X). Среди доступных для этого инструментов: Байесовские методы, квантильная регрессия, конформные предсказания и ансамблевые методы. К последним относится модификация случайного леса - Distributional Random Forest. Отличие от классического леса только в конце - для выбранного X оценивается близость со всеми точками из train набора по тому, как часто X попадает с ними в одни и те же листья в деревьях. Полученные меры близости используются в качестве весов для соответствующих значений Y из обучающей выборки, что в итоге дает непараметрическую оценку условного распределения F(Y|X).