Чтобы убедиться, что я правильно понимаю проблему: каждый образец образует очень редко заполненный вектор. Отсутствующие данные различаются между выборками, поэтому трудно использовать какую-либо евклидову или другую метрику расстояния для оценки сходства выборок.
Если это так, то я видел, как эта проблема раньше проявлялась в машинном обучении — в призовом конкурсе Netflix, но конкретно не применялась к KNN. Сценарий там был очень похожим: у каждого профиля пользователя были оценки для некоторых фильмов, но почти никто из пользователей не видел все 17 000 фильмов. Средний профиль пользователя был довольно разреженным.
У разных людей были разные способы решения проблемы, но, насколько я помню, они подставляли фиктивные значения для отсутствующих значений, обычно среднее значение конкретного значения по всем образцам с данными. Затем они использовали евклидово расстояние и т. д., как обычно. Вероятно, вы все еще можете найти обсуждения этой проблемы с отсутствующими значениями на этом форуме. Это была особенно распространенная проблема для тех, кто пытался реализовать декомпозицию по сингулярным числам, которая стала довольно популярной и, если я правильно помню, довольно много обсуждалась.
Вы можете начать здесь: http://www.netflixprize.com//community/viewtopic.php?id=1283
Вам придется немного покопаться. У Саймона Фанка был немного другой подход к этому, но он был более специфичен для СВД. Вы можете найти его здесь: http://www.netflixprize.com//community/viewtopic.php?id=1283 Он называет их пробелами, если вы хотите перейти к соответствующим разделам.
Удачи!
person
J Trana
schedule
19.09.2011