선은 두 세트의 점을 분리합니다


19

두 개의 점 세트가 선으로 분리 될 수 있는지 식별 할 수있는 방법이 있습니까?

우리는 두 지점의 세트가 와 B를 분리하는 라인이있는 경우 와 B가 같은 모든 지점 만 라인의 한쪽에, 그리고 모든 지점 BB 반대편에.ABABAABB

내가 찾은 가장 순진한 알고리즘은 B에 볼록 다각형을 만들고 교차점을 테스트하는 것입니다. 볼록 다각형을 구성 할 때 시간 복잡성이 O ( n log h ) 이어야하는 시간을 보입니다 . 실제로 나는 시간 복잡성에서 어떤 개선도 기대하지 않는다. 나는 그것이 전혀 개선 될 수 있는지 확신 할 수 없다. 그러나 최소한 그러한 선이 있는지 판단하는 더 아름다운 방법이 있어야합니다.ABO(nlogh)

답변:


19

uli와 Dave Clarke는 이것이 더 큰 차원에서도 (이 두 점 집합이 초평면으로 분리 될 수 있는가) 선형 프로그래밍 문제임을 올바르게 관찰하므로 다항식 시간으로 해결할 수 있습니다. 그러나 점이 평면에 있기 때문에 문제는 실제로 시간 내에 해결할 수 있습니다 . 여기서 n 은 총 점 수입니다.O(n)n

가장 간단한 해결책은 아마도 Seidel의 무작위 알고리즘 일 것입니다. 입력 점 를 무작위로 균일하게 선택 하고 p를 제외한 모든 점에 대해 분리선 를 재귀 적으로 계산하십시오 .p p

  • 그러한 선이 없으면 원래 점을 분리 할 수 ​​없습니다.

  • 경우 올바른쪽에 다음 ℓ은 원래 지점 분리한다.p

  • 의 잘못된쪽에 있으면 원래 점을 p를 통해 선으로 분리 하거나 원래 점을 전혀 분리 할 수 ​​없습니다. 이 조건은 O ( n ) 시간 [운동] 에서 쉽게 확인할 수 있습니다.ppO(n)

O(n)


대단히 감사합니다.이 논문을 자세히 살펴볼 것입니다.
com

p

10

두 데이터 집합의 속성은 선형 분리 가능성 의 속성입니다 . 간단히 말해서 두 줄을 구분하는 선이 있다는 것입니다. 많은 기계 학습은 관심있는 분리를 수행하는 선인 선형 분류기 를 찾는 데 전념합니다 .

w1w2w3(a1,a2)Aw1a1+w2a2w3(b1,b2)Bw1b1+w2b2<w3w1x+w2yw3A

w1,w2,w3AB

w1,w2,w3

w1a1i+w2a2iw3i=1,..,|A|A={(a11,a21),,(a1|A|,a2|A|)}

w1b1j+w2b2j<w3j=1,..,|B|B={(b11,b21),,(b1|B|,b2|B|)}

이러한 제약 조건이 일치하면 선이 존재합니다.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.