Вопрос или проблема
У меня есть обучающие данные, которые состоят из дат и времени, когда разные люди входили в здание.
Тестовые данные состоят из дат и времени, а также их псевдонимов вместо настоящих имен. Мне нужно правильно сопоставить этих людей с их псевдонимами 1-1.
Я планирую запомнить поведение каждого из этих людей в виде дискретного вероятностного распределения, учитывая, когда они входили в здание. А затем для каждого из псевдонимов рассчитать дискретное вероятностное распределение псевдонима, а затем в некотором смысле рассчитать расстояние между ним и распределением каждого из реальных людей и выбрать человека с наименьшим расстоянием.
Я предполагаю, что у каждого человека может быть свое очень отличное внутреннее распределение. Я также предполагаю, что у каждого человека есть нормальное рассеяние относительно их точного времени прихода (опоздание или ранний приход) с одинаковой (возможно, различной) дисперсией.
Будет ли этот простой классификатор ближайших соседей оптимальным? Правильно ли называть это классификатором ближайших соседей? Я думаю, что он должен быть оптимальным в том смысле, что предоставляет правильное решение, но может быть не оптимальным с точки зрения памяти и времени выполнения, но это сейчас для меня не столь важно. Было бы здорово получить второе мнение.
Будет ли этот простой классификатор ближайших соседей оптимальным?
Нет, явно нет.
Вы не ввели функцию потерь, с помощью которой мы могли бы оценить оптимальность.
При отсутствии этого критерия нет возможности оценить такое утверждение.
… и затем рассчитать в некотором смысле расстояние между ним и распределением каждого из реальных людей …
Правильно ли называть это классификатором ближайших соседей?
Конечно, это звучит правильно.
Хотя “в некотором смысле” кажется недостаточно строгим, скажем, по сравнению с определением “нормы L^2”.
Каждый человек уникален.
У некоторых людей расписание прихода в офис определяется днями недели и выходными,
например, в зависимости от того, запланирована ли у них работа или встреча,
или есть ли у них обязанности по уходу за детьми.
У некоторых людей могут быть расписания, имеющие дополнительные ограничения, скажем,
по вторникам и четвергам, из-за повторяющихся событий вне работы.
Федеральные праздники могут нарушать расписания людей.
Ваша модель имеет возможность изучать такие детали,
агрегированные по всей группе или по каждому работнику.
Размер доступных обучающих и тестовых наборов данных, вероятно, будет самым большим ограничением.
Ответ или решение
Метод ближайших соседей для задачи идентификации классов: подробный анализ
Введение
Ваша задача по идентификации людей по псевдонимам на основе временных и датированных данных о входе в здание является интересным примером применения метода ближайших соседей (k-nearest neighbors, KNN) в рамках классификации. В данном ответе мы рассмотрим характеристики вашего подхода, его возможность оптимизации и потенциальные ограничения, а также предложим дополнительные рекомендации для улучшения модели.
Описание задачи
Имея тренировочные данные, которые состоят из дат и времени входа различных людей в здание, и тестовые данные с псевдонимами, ваша цель заключается в том, чтобы сопоставить псевдонимы с реальными именами на основе поведенческих паттернов людей, проявляющихся через распределение вероятностей их времени входа.
Вы планируете:
- Запомнить поведение каждого человека в виде дискретного распределения вероятностей.
- Рассчитать для каждого псевдонима его собственное дискретное распределение вероятностей.
- Определить "расстояние" между распределениями и выбрать человека с минимальным расстоянием.
Оценка подхода
Формулировка потерь
Ключевой аспект, который требует дальнейшего рассмотрения, — это формулировка функции потерь. Для оценки "оптимальности" вашего метода вам необходимо иметь четкие критерии, позволяющие измерить точность классификации. В текущем виде ваш подход не будет оптимальным, так как не учитывает разнообразие возможных алгоритмов и отсутствие определения потерь для вашей задачи.
Корректность классификатора
Некоторые аспекты, которые стоит учесть для корректного использования KNN:
-
Метод измерения расстояния: Когда вы упоминаете "расстояние", важно определить, какой именно порядок нормы (например, L^1, L^2 и т.д.) будет использоваться для вычисления расстояний между распределениями. Поскольку у каждого человека могут быть уникальные поведенческие паттерны, выбор метрики может существенно повлиять на результаты.
-
Анализ множества параметров: Ваша модель должна учитывать дополнительные факторы, такие как день недели или сезонные вариации, которые могут значительно повлиять на режим входа людей в здание.
Ограничения и рекомендации
-
Размер выборки: Вы сами отметили, что размер доступных тренировочных и тестовых наборов данных может стать критическим ограничением для вашей модели. Следует стремиться к увеличению объема данных для повышения точности классификации.
-
Сложность поведения: Как было замечено, поведение каждого человека может изменяться из-за различных факторов, таких как расписание на нерабочие дни или участие в мероприятиях. Обучение модели на основе контекстной информации может улучшить точность.
-
Оптимизация вычислений: Хотя вы упомянули, что память и время выполнения не являются приоритетными, для повышения эффективности важно рассмотреть алгоритмы сокращения размерности и оптимизации поиска ближайших соседей.
Заключение
Выбор метода ближайших соседей для вашей задачи имеет право на существование, однако для достижения наилучших результатов важно продумать дополнительные аспекты и уточнить параметры модели. Рекомендуется провести дальнейшие исследования относительно оптимизации алгоритма, выбора функций потерь и включения дополнительных факторов, влияющих на поведение людей.
Если у вас остались вопросы или требуется дополнительная помощь, не стесняйтесь обращаться!