비선형 커브 피팅 LM
- 업데이트 날짜:2025-07-30
- 4분 (읽기 시간)
레벤버그-마르카토 알고리즘을 사용하여 비선형 함수 y = f(x,a)로 표현되는 입력 데이터 포인트(X, Y)의 집합에 가장 적합한 파라미터 집합을 결정합니다. 이 때 a는 파라미터의 집합입니다. 반드시 사용할 다형성 인스턴스를 수동으로 선택해야 합니다.

입력/출력
데이터
—
데이터는 실행시 사용자 정의 함수가 필요로 하는 정적 데이터를 지정합니다.
f(x,a)
—
f(x,a)는 피팅 모델을 수행하는 VI에 대한 참조입니다. a는 LabVIEW가 계산하는 파라미터 세트입니다. Labview\vi.lib\gmath\NumericalOptimization\LM 모델 함수 및 gradient.vit에 있는 VI 템플릿을 사용하여 템플릿에서 VI를 생성합니다.
Y
—
Y는 종속적인 값 또는 측정값의 배열을 지정합니다. 입력 포인트의 개수는 반드시 0보다 커야 합니다.
X
—
X는 독립적인 값의 배열을 지정합니다. 입력 포인트의 개수는 반드시 0보다 커야 합니다.
가중치
—
가중치는 측정 데이터 Y에 대한 가중치의 배열입니다. 가중치가 연결되지 않은 경우, 이 VI는 가중치의 모든 원소를 1로 설정합니다. 가중치가 Y보다 더 적은 원소를 가진 경우, 이 VI는 가중치의 끝을 1로 채워 가중치의 길이가 Y의 길이와 같도록 만듭니다. 가중치가 Y보다 많은 원소를 가진 경우, 이 VI는 가중치 끝의 남는 원소를 무시합니다. 가중치의 원소가 0보다 작은 경우, 이 VI는 원소의 절대값을 사용합니다.
초기 파라미터
—
초기 파라미터는 최적 피팅 파라미터에 대한 초기 추정치를 지정합니다. 초기 파라미터의 길이는 f(x,a)에서 a의 길이와 같아야 합니다. 비선형 커브 피팅의 성공은 초기 파라미터가 최적 피팅 파라미팅에 얼마나 가까운지에 달려 있습니다. 따라서 이 VI를 사용하기 이전에 솔루션에 대해서 좋은 초기 추정 파라미터를 얻기 위해서 사용 가능한 리소스를 모두 사용합니다.
에러 입력(에러 없음)
—
에러 입력은 이 노드의 실행 전에 발생한 에러 조건을 설명합니다. 이 입력은 표준 에러 입력 기능을 제공합니다.
종료
—
종료는 피팅 프로세스에 대한 정지 조건을 지정합니다.
함수 호출의 횟수
—
함수 호출의 횟수는 피팅 프로세스동안 LabVIEW가 f(x,a)를 호출한 횟수를 반환합니다.
최적 비선형 피팅
—
최적 비선형 피팅은 X의 독립값에 대응하는 피팅된 모델의 y 값을 반환합니다.
최적 피팅 파라미터
—
최적 피팅 파라미터는 최적 비선형 피팅과 Y의 측정값 사이의 가중된 에러 제곱 평균을 최소화하는 파라미터의 배열을 반환합니다.
공분산
—
공분산은 공분산의 행렬을 반환합니다. Cjk는 a[j]와 a[k] 사이의 공분산입니다. c[jj]는 a[j]의 분산입니다. 이 VI는 다음 방정식에 따라 공분산 C를생성합니다: C = (0.5D)^-1 여기서 D는 매개 변수에 대한 함수의 헤시안입니다.
에러 출력
—
에러 출력은 에러 정보를 포함합니다. 이 출력은 표준 에러 출력 기능을 제공합니다.
오차
—
오차는 최적 비선형 피팅과 Y 사이의 가중된 에러 제곱 평균을 반환합니다. |
이 VI는 레벤버그-마르카토법을 사용하여 Y와 최적 비선형 피팅의 측정값 사이의 가중된 에러 제곱 평균을 최소화하는 최적 피팅 파라미터를 계산합니다. 다음 식은 커브 모델을 정의합니다:
y[i] = f(x[i], a0, a1, a2, …)이 때 a0, a1, a2,… 는 파라미터입니다.
레벤버그-마르카토법에서는 파라미터와의 선형 관계를 구하는데 y가 필요하지 않습니다.
헤시안 행렬은 뉴턴법과 같은 수치 최적화 방법에서 일반적인 행렬입니다. 특이 헤시안 행렬의 단점을 피하기 위해, 레벤버그-마르카토법은 양의 정부호 대각 행렬을 헤시안 행렬에 추가합니다. 이 양의 정부호 대각 행렬이 레벤버그-마르카토법과 가우스 뉴턴법 사이의 주된 차이점입니다. 레벤버그-마르카토법에 대한 더 자세한 정보는 수학 관련 문서 토픽의 수치 최적화를 참조하십시오.
비선형 레벤버그-마르카토법을 사용하여 선형이나 비선형 커브를 피팅합니다. 그러나 선형 커브를 피팅할 때에는 이 VI보다 [일반 선형 피팅] VI가 더 효율적입니다. 레벤버그-마르카토법이 언제나 올바른 결과를 보증하지는 않기 때문에 이 방법으로 얻은 결과는 반드시 검증해야 합니다.
예제
LabVIEW 포함되는 다음 예제 파일을 참조하십시오.
- labview\examples\Mathematics\Fitting\Ellipse fit.vi
- labview\examples\Mathematics\Fitting\Sum of 3 Gaussians with offset fit.vi
- labview\examples\Mathematics\Fitting\Gaussian surface with offset fit.vi
데이터
—
f(x,a)
—
Y
—
에러 입력(에러 없음)
—
종료
—
최대 반복
—
허용오차
—
함수 호출의 횟수
—
최적 비선형 피팅
—
공분산
—
에러 출력
—
오차
—