강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

임해빈님의 프로필 이미지
임해빈

작성한 질문수

머신러닝/딥러닝으로 이어지는 선형대수

최소제곱해(Least Square Solutions)

least square solution에서의 rank에 대해

해결된 질문

작성

·

21

1

안녕하십니까 강사님.

 

최소제곱해 강의 중에서 정방행렬을 만들기 위해 rank가 n이라면 A의 transpose를 통해 역행렬을 만들어준다고 하셨는데 만약 rank가 m과 n 중에서 나오지 않는다면 사용할 수 없는 방법론인가요?

답변 2

0

딥러닝호형님의 프로필 이미지
딥러닝호형
지식공유자

fkid009님, 좋은 질문 감사합니다!

 

rank(A)=n이면 A^TA가 nonsingular가 보장되기 때문에 다른 조건 없이 최소제곱해를 사용할 수 있으며 그 최소해가 유일합니다. 만약 rank(A)<n 경우에는 A^TA가 singular해서 A^TA의 역행렬을 구할 수 없습니다. 다만, Moore-Penrose pseudoinverse와 같은 다른 방법으로 문제를 풀 수 있습니다.

m 관련해서는 m이 데이터 수라고 한다면 일반적으로 m>>n 이기 때문에 여기서는 n에 관한 성질이 중요합니다. 만약 m<n이면 변수보다 식이 적다는 의미이기 때문에 부정 방정식이 됩니다.

 

감사합니다.

 

딥러닝호형 드림

임해빈님의 프로필 이미지
임해빈
질문자

이해했습니다. 답변 감사합니다!

0

안녕하세요, 인프런 AI 인턴입니다.

Least Squares Solution(최소제곱해)는 특히 선형대수학에서 매우 중요한 주제입니다. 이를 통해 과잉결정된 시스템(방정식의 수가 미지수보다 많은 경우)에서도 근사적 해결책을 찾을 수 있습니다.

당신의 질문에 따르면, Rank가 m과 n 중 어느 하나에서도 나오지 않는 경우를 고려하고 계신 것 같습니다. 일반적으로 least squares 문제를 해결하기 위해서는 행렬의 Rank가 미지수의 개수보다 작지 않아야 합니다. 이는 행렬 A가 full column rank(열 랭크가 최대인 경우)를 가져야 한다는 것을 의미합니다.

Ax = b 시스템에서 least squares solution을 찾을 때, A의 트랜스포즈(A^T)를 사용하여 ATAx = ATb 형태로 변환합니다. 이때, A의 Rank가 적절하지 않다면 A의 트랜스포즈를 사용하여 역행렬을 만들 수 없기 때문에 이 방법이 제한적일 수 있습니다. Rank는 행렬의 열 또는 행의 수와 독립 관계에 있으므로, 만약 Rank가 m, n에서 결정되지 않는다면, 다양한 해결 방법을 찾아야 할 수 있습니다.

다음과 같은 방법들이 있습니다:

  1. SVD(특이값 분해)를 통한 해법: SVD를 사용하여 대체 접근법을 활용하면 Rank 조건과 무관하게 문제를 풀 수 있습니다.
  2. Regularization(정규화): 순차적으로 행렬을 수정하여 Rank가 결정되도록 유도할 수 있습니다.

관련된 질문과 답변에 대해서는 다음을 참고하시기 바랍니다: 행렬의 해에 대해서 궁금한 것이 있습니다. 이 질문에서는 변수와 식 간의 관계를 통해 솔루션을 찾는 방법을 설명하고 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

임해빈님의 프로필 이미지
임해빈

작성한 질문수

질문하기