블랙 박스 기능의 불연속성을 찾는 가장 좋은 방법은 무엇입니까?


20

이 질문은 내가 이전에 요청했던 Mathematics Stack Exchange보다이 질문에 더 적합한 곳이라고 제안되었습니다 .

지정된 간격 에서 어디서나 (저렴하게) 평가할 수 있고 노이즈가없는 (예 : 부동 소수점 입도 제외 ) 블랙 박스 기능이 있다고 가정합니다 . 이 기능의 불연속성을 찾는 가장 좋은 방법은 무엇입니까? 나는 얼마나 많은 불연속이 있을지 모른다.[a,b]

나는 간단한 방법 (균일 한 샘플링, 샘플간에 큰 차이가있는 곳을 개선하는 등)을 생각할 수 있지만 더 좋은 방법이 있습니까?

이 기능은 "합리적인"기능으로, 높은 파생 상품과 동일하게 거의 무한히 많은 불연속성이 있다고 가정 할 수 있습니다. 작은 병리학 적 불연속성이 누락 된 경우에는 신경 쓰지 않습니다. .

-

대답 한 모든 사람, 특히 페드로에게 감사합니다. Pachón, Platte 및 Trefethen에 설명 된 방법이 나에게 가장 좋은 접근 방법 인 것처럼 보입니다.


제안 된 방법이 처리 할 수 ​​있는지 궁금합니다.
1x1x
JM

@ JM : 구현이 끝나면이 함수의 플롯을 추가 할 것입니다.
n00b

@ n00b :이 개념이 유용 할 수 있습니다. : mathoverflow.net/q/165038/14414
Rajesh Dachiraju

답변:


18

Matlab을 사용하는 경우 Chebfun 프로젝트에 관심이있을 수 있습니다 . Chebfun은 함수를 취하여 샘플링하여 다항 보간법으로 나타내려고합니다. 함수에 불연속성이있는 경우 Chebfun은 splitting on명령 을 통해이를 감지 할 수 있어야합니다 . 여기에서 몇 가지 예를 찾을 수 있습니다 .

기본 알고리즘에 관심이 있다면 Pachón, Platte 및 Trefethen의 논문 " Piecewise Smooth Chebfuns "를 참조하십시오.


고마워 Pedro, 나는 Chebfun에 대해 잘 알고있다. 그러나 그것은 크다. (그리고 Matlab 라이센스를 통한 엄청난 암묵적 비용이 따른다). 그래서 나는 실제로 내가 구현할이 문제에 대한 작고 단단한 알고리즘을 찾고 있습니다.
n00b

@ n00b : 좋은 지적입니다. 예를 들어 가장자리 감지와 같은 기본 알고리즘을 설명하는 논문에 대한 참조를 추가했습니다.
페드로

아, 훌륭합니다! 나는이 논문을 보지 못했고, 나의 기대와 달리 Chebfun 불연속 파인더가 실제로 Chebfuns를 사용하지 않는 것 같습니다. 나는 그것을주의 깊게 읽고 해당 코드를 검사합니다 ....
n00b

11

나는 chebfun 알고리즘이 더 실용적으로 보일 것 같지만 불연속, 즉 이산 웨이블릿 변환을 감지하는 또 다른 방법을 언급 할 필요가있다. 이 Mathematica 문서 페이지 를 살펴보면> 애플리케이션> 불연속 및 에지 감지 섹션을 참조 하여 작동 방식에 대한 아이디어를 얻을 수 있습니다 .

간단히 말해서, 균일하게 샘플링 된 지점에서 DWT를 가져 와서 고주파수 계수를 볼 수 있습니다. 가장 큰 것은 아마도 불연속 점에 해당합니다.f


8

WENO (Weighted Essentially Non-Oscillatory) 방법은 "부드러움 표시기"를 사용하여 유한 체적 및 차이 방법의 불연속성을 감지합니다. Pedro가 준 Chebfun에 대한 설명에서, 일반적인 생각은 같습니다. 보간 다항식을 구성하고 그것들을 사용하여 평활도를 계산합니다.

가중 ENO 체계의 효율적인 구현, J.Comput.Phys., vol. 126, 202--228, 1996 쪽.


5

@Pedro와 함께 에지 감지 알고리즘을 살펴볼 것입니다. 불연속성은 미분에서 무한대이므로 점점 더 미세한 메쉬를보고 관심 영역을 타겟팅하는 것을 고려하십시오.

메쉬가 다듬어 질 때 연속 함수의 미분에 대한 유한 차이 근사값이 감소해야합니다. 메시 간 미분 값에 대한 유한 차이 결과를 비교하면 신호 불연속 신호의 기울기 변화가 나타날 수 있습니다.

편집 : Ok, 불연속에는 무한 도함수가 있지만 무한 도함수가 항상 불연속은 아닙니다 (예를 지적하기 위해 @ n00b 덕분). 에서 와 같은 예제의 경우 유한 차이는 단계 크기 으로 줄어 듭니다 . 분석 유도체는 연속적이지 않다.x=0시간x0f(x)=sign(x)|x|x=0hx0


1
문제의 미묘한 점은 불연속성이 미분에서 무한대를 갖는 것으로 볼 수 있지만 그 반대는 사실이 아닙니다. 함수 sign (x) * sqrt (| x |)는 x = 0에서 완벽하게 연속적입니다. 그러나 미분은 거기서 무한합니다
n00b

나는 또한 "연속적인 기능은 충분히 작은 규모로 부드러워 야한다"는 의견에 동의하지 않는다. 매끄러움은 연속 파생물과 관련이 있습니다. 원래 기능의 연속성은 필요한 조건이지만 충분하지는 않습니다.
Geoff Oxberry

1
@GeoffOxberry : 그 말을 제거했습니다. FD에서는 합리적인 결과이지만 분석적으로는 아닙니다.
Phil H
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.