답변:
mex
확실하지는 않지만 호출 할 수 있습니다 .
- 코드의 대부분은 일반 Matlab 코드입니다
- 패키지의 각 폴더는 특정 신호 모델을 기반으로하는 CS 복구 알고리즘과 해당 복구 알고리즘을 테스트하는 스크립트로 구성됩니다. 스크립트 이름은 일반적으로 '_example.m'으로 끝납니다.
매니 폴드 최적화는 비선형 최적화 문제를 해결하기위한 강력한 패러다임입니다.
이 도구 상자는 중복 사전에서 스파 스 확장을 계산하고 스파 스 정규화 (및 TV 정규화)의 역 문제를 해결하기위한 여러 알고리즘을 구현합니다.
그러나이 도구 상자 목록에는이 모든 것이 포함되어 있습니다.
어려운 부분이 psuedocode를 찾는다는 것을 알았습니다. 이곳에서 실제로 알고리즘을 설명합니다. 다음은 psuedocode가 포함 된 알고리즘의 예입니다.
IST
.나는 여기서 논외 주제에 대답한다고 가정하지만 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
L1만이 압축 감지에 대한 유일한 접근 방법은 아닙니다. 에서 우리의 연구 , 우리는 대략적인 메시지 전달 (Message Passing) (AMP) 더 나은 성공을 거두었습니다. "성공"을 더 낮은 오류, 더 나은 위상 전이 (더 적은 관측으로 복구 할 수있는 능력) 및 더 낮은 복잡성 (메모리 및 CPU 모두)으로 정의하고 있습니다.
대략적인 메시지 전달 알고리즘은 선형 시스템의 입력 및 출력이 확률 모델에 의해 결정되는 대규모 선형 시스템에서 알 수없는 벡터를 추정하기 위해 베이지안 프레임 워크를 설정합니다 (예 : "이 벡터는 노이즈로 측정되었습니다", "이 벡터에는 0 "). Rangan 은 Donoho 가 위조 한 원래의 AMP 방식 을 Matlab 코드를 사용 하여 일반화 된 대략적인 메시지 전달 방식 으로 개선했습니다.. 입력 및 출력은 거의 임의의 확률 밀도 함수일 수 있습니다. 우리의 연구에서 우리는 GAMP가 L1 볼록 접근법과 욕심 접근법 (예 : 직교 정합 추구)보다 일반적으로 더 빠르고 정확하고 강력합니다 (읽기 : 더 나은 위상 전이 곡선).
고문과 저는 방금 GAMP for Analysis CS 사용에 대한 논문 을 썼습니다 . 여기서 알려지지 않은 벡터 x가 아니라 알려지지 않은 Wx의 선형 함수에서 0이 풍부 할 것으로 기대합니다.
Matlab UNLocBox를 확인하고 싶을 수도 있습니다 : http://unlocbox.sourceforge.net 데모 페이지에는 4 개의 압축 감지 스크립트가 있습니다 : http://unlocbox.sourceforge.net/doc/demos/index.php
초보자를위한 CS, MP, OMP 등의 기본 사항을 설명하는 코딩 자습서에 여러 가지 실습을 작성했습니다. https://sparse-plex.readthedocs.io/en/latest/demos/index.html 에서 확인할 수 있습니다.
GitHub https://github.com/indigits/sparse-plex 에서 사용할 수있는 내 라이브러리 스파 스 플렉스의 일부입니다.