MATLAB 코드를 통한 압축 감지


13

압축 감지라는 주제에 익숙하지 않습니다. 나는 R.Baranuik, Y.Eldar, Terence Tao 등이 그것에 관한 몇 가지 논문을 읽었습니다.이 모든 논문은 기본적으로 그 뒤에 수학적 세부 사항, 즉 희소성, RIP, L1 규범 최소화 등을 제공합니다. 그러나 누구나 MATLAB 코드를 제공 할 수 있습니다 압축 감지를 달성합니까?

도움을 주셔서 감사합니다.


1
코드 요청은 여기에서 주제를 벗어납니다.
pichenettes

답변:


18
  • 코드의 대부분은 일반 Matlab 코드입니다
  • 패키지의 각 폴더는 특정 신호 모델을 기반으로하는 CS 복구 알고리즘과 해당 복구 알고리즘을 테스트하는 스크립트로 구성됩니다. 스크립트 이름은 일반적으로 '_example.m'으로 끝납니다.
  • Manopt . 실제로 다른 도구 상자에 알고리즘을 포함시키기 위해 사용하는 것입니다.

매니 폴드 최적화는 비선형 최적화 문제를 해결하기위한 강력한 패러다임입니다.

이 도구 상자는 중복 사전에서 스파 스 확장을 계산하고 스파 스 정규화 (및 TV 정규화)의 역 문제를 해결하기위한 여러 알고리즘을 구현합니다.

그러나이 도구 상자 목록에는이 모든 것이 포함되어 있습니다.

어려운 부분이 psuedocode를 찾는다는 것을 알았습니다. 이곳에서 실제로 알고리즘을 설명합니다. 다음은 psuedocode가 포함 된 알고리즘의 예입니다.


8

나는 여기서 논외 주제에 대답한다고 가정하지만 L1 최적화 접근법의 경우 YALL1 ( http://yall1.blogs.rice.edu/ ) 및 SPGL1 ( http://www.cs.ubc.ca/ ~ mpf / spgl1 / ) 매우 유용하고 효율적인 패키지. TFOCS ( http://cvxr.com/tfocs/ )는 사용하기가 다소 어려울 수 있지만 상당히 유연해야합니다. CVX ( http://cvxr.com/cvx/ ) 도 있으므로 볼록 최적화 문제를 코드에 직접 입력하는 것이 매우 쉽지만 압축 감지 관련 문제를 해결하는 데 상당히 느립니다. 매우 일반적인 해결사.

Sparselab ( http://sparselab.stanford.edu/ ) 에서 사용 가능한 재구성 알고리즘도 있습니다 .

희소 재구성 코드의 더 큰 목록은 다음과 같습니다. https://sites.google.com/site/igorcarron2/cs#reconstruction


6

L1만이 압축 감지에 대한 유일한 접근 방법은 아닙니다. 에서 우리의 연구 , 우리는 대략적인 메시지 전달 (Message Passing) (AMP) 더 나은 성공을 거두었습니다. "성공"을 더 낮은 오류, 더 나은 위상 전이 (더 적은 관측으로 복구 할 수있는 능력) 및 더 낮은 복잡성 (메모리 및 CPU 모두)으로 정의하고 있습니다.

대략적인 메시지 전달 알고리즘은 선형 시스템의 입력 및 출력이 확률 모델에 의해 결정되는 대규모 선형 시스템에서 알 수없는 벡터를 추정하기 위해 베이지안 프레임 워크를 설정합니다 (예 : "이 벡터는 노이즈로 측정되었습니다", "이 벡터에는 0 "). RanganDonoho위조 한 원래의 AMP 방식Matlab 코드를 사용 하여 일반화 된 대략적인 메시지 전달 방식 으로 개선했습니다.. 입력 및 출력은 거의 임의의 확률 밀도 함수일 수 있습니다. 우리의 연구에서 우리는 GAMP가 L1 볼록 접근법과 욕심 접근법 (예 : 직교 정합 추구)보다 일반적으로 더 빠르고 정확하고 강력합니다 (읽기 : 더 나은 위상 전이 곡선).

고문과 저는 방금 GAMP for Analysis CS 사용에 대한 논문 을 썼습니다 . 여기서 알려지지 않은 벡터 x가 아니라 알려지지 않은 Wx의 선형 함수에서 0이 풍부 할 것으로 기대합니다.



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