14강의 예시 데이터를 통한 답을 구하는 과정에서의 문의
1
1 asked
14강 최소제곱법을 이용한 다중선형회귀에서 강사님께서 언급하신 예시 데이터의 특징이, X^TX 가 Singular Matrix 이기 때문에 유사역행렬을 이용하여 해를 찾는다고 하셨는데요.
최소제곱법에 의한 풀이법을 좀 더 검색하고 알아보니, 강사님께서 설명하신 방법인 X, y 값을 평균값으로 중심이동해서 구하는 방법 말고, X 데이터 행렬의 맨 앞에 1로 채워진 열벡터 데이터를 삽입하고 W 벡터를 w1, w2, w3 이 아닌 w0=b, w1, w2, w3 으로 하여 중심이동 없이 바로 W와 b를 구하는 방법이 소개되어있었습니다. 그런데 14강의 예제를 통해 그렇게 풀어보니 W와 b의 결과가 전혀 다르게 나왔는데 (몇번을 검산해도 똑같습니다.) 이 이유가 궁금합니다.
다시 말해 X^TX 가 Singular Matrix 가 아니라면 역행렬이 명백히 존재하므로 어떻게 계산해도 같은 결과가 나오는것이고, X^TX 가 Singular Matrix 이기 때문에 행렬의 rank 가 적어 어떤 방법으로 유사 역행렬을 구하여 계산했느냐에 따라 다른 답이 나올 수도 있는것인지 궁금합니다.
이에 대한 답변을 부탁드립니다.
Answer 1
0
안녕하세요, 인프런 AI 인턴입니다. Andrew Shin님.
최소제곱법을 이용한 다중선형회귀에서 Singular Matrix와 유사 역행렬(pseudo-inverse)의 사용에 관한 문의를 주셨네요. 학습 시에 사용하는 행렬이 Singular Matrix일 경우 역행렬이 존재하지 않아서 직접적인 해를 구하기 어려운데요, 이때 유사 역행렬을 사용하여 해를 유도하게 됩니다.
핵심 개념 요약:
Singular Matrix: 행렬의 열(또는 행)이 서로 선형 독립이 아닐 때 singular가 됩니다. 이는 행렬의 rank이 full이 아니라는 것을 의미합니다.
유사 역행렬(Pseudo-inverse): 역행렬이 존재하지 않을 때 대안으로 사용하는 방법입니다. 일반적으로 무어-펜로즈 유사 역행렬을 많이 사용합니다.
중심이동과 바이어스 추가:
- 중심이동(중심화)은 데이터의 평균을 중심으로 이동시켜 계산의 수렴성을 향상시킬 수 있습니다.
- 바이어스를 포함하지 않을 경우, 중심이동된 데이터에 대해서도 결과가 바뀔 수 있습니다.
- 중심이동(중심화)은 데이터의 평균을 중심으로 이동시켜 계산의 수렴성을 향상시킬 수 있습니다.
질문에 대한 해답:
말씀하신 것처럼, X^TX가 singular일 경우 특정한 방법으로 해를 구해야 하며, 방법에 따라 유사 역행렬로 얻는 해가 다르게 나올 수 있습니다. 사용법의 차이와 데이터 중심의 차이가 계산 결과에 영향을 미칠 수 있습니다.
따라서, 중심이동없이 바이어스 벡터를 포함하는 방법과 중심이동된 방법의 계산 결과가 다를 수 있는 것은 자연스러운 차이입니다. 이는 사용된 수치적 방법의 차이에 기인할 수 있습니다.
참고 자료:
유사 역행렬 및 Singular Matrix에 대한 이해를 돕는 다음 자료들을 추천드립니다.
- Singular Matrix 개념
- 가의 역행렬 이론
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
영문 계정
0
4
1
강의가 재생되지 않습니다.
0
5
0
슬랙 스레드 대답
0
8
3
데이터베이스 만들기에서
0
7
0
github 세팅 자체를 github desktop을 사용해도 되나요?
0
9
1
기출 11회 작업형 2_전체 데이터 학습 여부
0
18
1
8강 디버깅 하네스는 verification 하네스와 비슷하게 느껴지는데 결정적인 차이가있을까요?
0
6
0
RateLimitError
0
11
2
예측값 결과 소수점 차이
0
23
2
3강 context harness에서 제시하주신 개념들에 대해 소개된 공식문서나 자료가 있을까요?
0
8
0
여태까지 발견한 이슈들 공유드립니다.
1
21
1
기출 문제와 실전챌린지 연습문제 무엇부터 푸는게 나은가요?
0
17
0
전처리 train() test([ ])
0
18
2
작업형 1 배경지식 질문
0
20
2
슬슬 따라하기가 힘들어진다.
0
27
2
옳게 풀은건지 질문드립니다!
0
14
1
roc_auc_score
0
24
2
재귀함수 연산법
0
13
2
추가질문 합니다
0
17
2
시험환경 구름
0
18
2
섹션5 강의자료 다운로드
0
18
2
2유형 질문드려요
0
17
2
헤르메스와 코덱스 연결 관련
0
12
1
퀴즈가 cowork와 맞지 않아요.
0
10
0

