Тот же пост в немного другом формате. Давайте попробуем и посмотрим, что нам больше подойдет.

Проектирование набора данных MSE

Введение
Сегодня я хочу нарушить нашу строгую последовательность публикаций и перейти к текущей проблеме.

Я хочу открыть свой проект на GitHub и предоставить пользователям хороший набор данных для тестирования нашего метода. Уже существует хороший набор данных для функции логарифмических потерь, и я изо всех сил пытался разработать его для MSE. Итак, вот что мы имеем: у нас есть модель, которая может группировать объекты и находить лучшую линейную комбинацию базисных функций, чтобы минимизировать потери. Как нам создать красивый и интересный набор данных для такой модели? Пристегнитесь – давайте погрузимся.

Набор данных «сделай сам»

Прежде всего, я начал с небольшого рукоделия и написал точками на листе бумаги «Extra Boost». Затем я загрузил его в ChatGPT и начал сеанс кодирования Vibe. В мгновение ока я превратил точки в точечную диаграмму. Но, как вы знаете, экранная и математическая системы координат различаются по направлению оси Y, поэтому мой заголовок был перевернут.

Это кажется тривиальным и едва ли стоит упоминания. И, вероятно, это есть в мире традиционного программирования. А вот в вайберкодинге это стало совсем неприятно. Как два глупых слуги в старом советском мультфильме, модель сделала две вещи одновременно: изменила набор данных и перевернула знак Y. В результате я довольно долго смотрел на перевернутый заголовок. Через некоторое время я разобрался в чем дело и получил нормальную диаграмму рассеяния.

— И что теперь? — вероятно, этот вопрос сейчас у вас в голове. Не волнуйтесь, у меня был тот же вопрос. Затем я начал думать о свойствах моего подхода:

он может группировать объекты по статическим признакам;
он может найти наилучшее соответствие для нескольких базисных функций.
Поэтому мне понадобились несколько интересных базисных функций. ОК: [1, t, sin(kt), cos(kt)]. Константа позволяет перемещать график вверх и вниз — всегда полезно. Это для тенденций. Пара sin(kt) и cos(kt) позволяет нам разместить гармоническую составляющую там, где мы хотим; с правильными амплитудами вы можете сдвинуть его влево или вправо.

Давайте остановимся здесь. Где эти базовые функции появляются в нашем заголовке «Extra Boost» — я объясню в следующем посте.