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
1813
Москва
Можно предложить более робастный метод. Перебрать все тройки точек, по каждой тройке найти (точно) свои коэффициенты проходящей через них плоскости. Потом взять по каждому коэффициенту медиану.

 Профиль  
                  
 
 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 ] 

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



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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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