2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


Посмотреть правила форума



Начать новую тему Ответить на тему
 
 Нахождение плоскости для множества точек с выбросами
Сообщение09.05.2019, 10:48 


24/06/12
33
Есть множество точек в линейном пространстве, заданные координатами $x, y, z$. Нужно построить плоскость вида $Ax + By + Cz + D = 0$ таким образом, чтобы более 50% точек отклонялись от данной плоскости не более, чем на заданную величину $p$.

Для начала я попробовал решить задачу без учета выбросов, т.е. беру функцию суммы квадратов расстояний от точек до предполагаемой плоскости: $F = \sum\limits_{i=1}^{n}\frac{(Ax + By + Cz + D)^2}{A^2 + B^2 + C^2}$ и минимизирую ее путем приравнивания производных по A, B, C и D к нулю. Если не рассматривать вертикальные плоскости, то можно упростить уравнение плоскости так: $Ax + By + z + D = 0$ и использовать такой способ.

Вопрос в том, что делать с выбросами? Допустим, есть множество точек с двумя выбросами. Я применяю к ним метод, описанный выше и получаю такую картину:

Изображение

По картинке явно видно, что большинство точек находятся в горизонтальной плоскости внизу, но 2 выброса все портят. Подскажите пожалуйста, куда копать?

 Профиль  
                  
 
 Re: Нахождение плоскости для множества точек с выбросами
Сообщение09.05.2019, 11:33 


16/04/19
161
То есть нужно решить систему типа такой:
$$\sum\limits_{i=1}^{N}r_i^2\cdot\theta(p-r_i)=\min$$
$$\sum\limits_{i=1}^{N}\theta(p-r_i)\geqslant N/2$$
где $r_i$ - расстояние от $i$-й точки до плоскости,но это как-то сложно и тут может быть несколько решений.

Поэтому можно использовать шаманство: находить плоскость, так же как вы это делаете, минимизируя
$\sum\limits_{i=1}^{N}r_i^2\cdot\omega_i$
где $\omega_i$-весовые коэффициенты. Сначала взять единичные весовые коэффициенты, а потом уменьшать для одной или нескольких самых отдалённых точек от плоскости, затем повторять минимизацию, пока слагаемые для точек-выбросов не обнулятся.

Если много итераций противопоказано, можно так сделать: $r_i^2$ заменить на некоторую функцию (подобрать исходя из исходной постановки задачи), которая растёт от $0$ до $p$, а затем падает до 0, тогда останется вопрос о том как найти локальный минимум, при котором максимум точек окажутся рядом с плоскостью.

 Профиль  
                  
 
 Re: Нахождение плоскости для множества точек с выбросами
Сообщение11.05.2019, 18:15 
Заслуженный участник
Аватара пользователя


05/12/09
1769
Москва
Можно предложить более робастный метод. Перебрать все тройки точек, по каждой тройке найти (точно) свои коэффициенты проходящей через них плоскости. Потом взять по каждому коэффициенту медиану.

 Профиль  
                  
 
 Re: Нахождение плоскости для множества точек с выбросами
Сообщение13.05.2019, 17:09 


24/06/12
33
Спасибо за ответы! Задача решилась с помощью стохастического градиентного спуска с huber в качестве loss-функции.

 Профиль  
                  
 
 Re: Нахождение плоскости для множества точек с выбросами
Сообщение14.05.2019, 09:06 


16/04/19
161
С функцией Хьюбера $\frac{1}{2}x^2\cdot(|x|\leqslant c)+c(|x|-\frac{1}{2}c)\cdot(|x|>c)$ решение значительно улучшается?
В чём преимущество стохастического градиентного спуска по сравнению с обычным, если минимум единственный (с функцией Хьюбера)?

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: YandexBot [bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group