이 단원 목차
무엇을 근사하는지 먼저 정하기
저랭크 근사는 적은 수의 성분으로 원본을 얼마나 잘 표현하는지 묻습니다. 오차를 논하려면 랭크의 종류와 노름을 정해야 합니다. 이 실습은 서로 직교하는 두 좌표 바깥곱을 사용하고, 원소별 제곱합으로 정의되는 Frobenius 노름을 씁니다.
기준 a=3,b=1에서는 첫 성분이 더 큽니다. 막대와 표는 원본의 모든 여덟 값 및 선택한 성분으로 복원한 값을 보여줍니다. 축 좌표를 연속 공간의 곡선처럼 보간하지 않습니다.
직교 성분의 오차를 계산하기
두 좌표 성분은 내적이 0입니다. 따라서 버린 성분의 제곱 가중치를 더하면 오차 제곱이 됩니다. 첫 성분만 남기면 오차는 1입니다.
선택은 부호가 아닌 절댓값 크기 순입니다. 음수 성분도 큰 정보를 담을 수 있습니다. 절댓값이 같은 경우 실습은 좌표 순으로 고르지만, 이것이 유일한 최적 표현이라는 뜻은 아닙니다.
보존 에너지와 영 배열
기준에서 한 성분을 보존하면 9/10=0.9, 둘 다 보존하면 1입니다. 둘 다 버리면 원본 노름이 오차가 됩니다. 원본이 영 배열이면 분모도 0이므로 비율은 정의되지 않습니다. 실습은 이 경우 숫자 1을 꾸며 넣지 않고 비율을 비워 표시합니다. 절대 오차는 여전히 0입니다.
행렬 정리를 적용할 수 있는 범위
일반 텐서의 CP 근사는 행렬 SVD와 다릅니다. 이 예제는 펼침 행렬의 특잇값이 |a|,|b|이므로 행렬의 랭크 1 근사 하한과 실제 구성의 오차가 일치합니다. 그래서 여기서는 큰 성분을 남기는 선택이 최적입니다. 이 근거를 임의의 텐서에 옮겨서는 안 됩니다.
일반 차수 3 이상 텐서는 고정 CP 랭크 이하 집합이 닫혀 있지 않아 최적 근사가 존재하지 않는 경우도 있습니다. Tucker나 TT의 절단은 각 형식에 맞는 별도의 오차 분석이 필요합니다. 실제 모델 압축에서는 출력 오차가 작은지와 작업 성능이 유지되는지도 추가로 평가해야 합니다.
확인 문제
- a=−3,b=1이면 무엇을 남기나요? 절댓값이 큰 −3 성분입니다.
- 원본이 0이면 보존 비율은? 0/0으로 정의되지 않습니다.
- 두 성분을 모두 남기면? 이 예제의 복원 오차는 0입니다.
추가 읽기: Kolda–Bader, Tensor Decompositions and Applications. 본문의 작은 배열·복원·비용 예제는 직접 구성했습니다.
설명할 수 있나요?
실험 설정과 무관한 기준 예제를 묻습니다. 답을 고르고 설명을 확인해보세요.
선택한 답과 학습 표시는 이 브라우저에 저장됩니다. 다시 풀거나 표시를 해제할 수 있습니다.