inflearn logo
강의

Course

Instructor

Deep Learning with PyTorch Part 1: Mastering Basic Algorithms from A to Z

Lecture 14: Multiple Linear Regression Using the Least Squares Method

14강의 예시 데이터를 통한 답을 구하는 과정에서의 문의

42

Andrew Shin

4 asked

0

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 가 적어 어떤 방법으로 유사 역행렬을 구하여 계산했느냐에 따라 다른 답이 나올 수도 있는것인지 궁금합니다.

이에 대한 답변을 부탁드립니다.

 

python 딥러닝 pytorch 인공지능(ai)

Answer 2

1

communityai8509

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

최소제곱법을 이용한 다중선형회귀에서 Singular Matrix와 유사 역행렬(pseudo-inverse)의 사용에 관한 문의를 주셨네요. 학습 시에 사용하는 행렬이 Singular Matrix일 경우 역행렬이 존재하지 않아서 직접적인 해를 구하기 어려운데요, 이때 유사 역행렬을 사용하여 해를 유도하게 됩니다.

핵심 개념 요약:

  1. Singular Matrix: 행렬의 열(또는 행)이 서로 선형 독립이 아닐 때 singular가 됩니다. 이는 행렬의 rank이 full이 아니라는 것을 의미합니다.

  2. 유사 역행렬(Pseudo-inverse): 역행렬이 존재하지 않을 때 대안으로 사용하는 방법입니다. 일반적으로 무어-펜로즈 유사 역행렬을 많이 사용합니다.

  3. 중심이동과 바이어스 추가:

    • 중심이동(중심화)은 데이터의 평균을 중심으로 이동시켜 계산의 수렴성을 향상시킬 수 있습니다.
    • 바이어스를 포함하지 않을 경우, 중심이동된 데이터에 대해서도 결과가 바뀔 수 있습니다.

질문에 대한 해답:

말씀하신 것처럼, X^TX가 singular일 경우 특정한 방법으로 해를 구해야 하며, 방법에 따라 유사 역행렬로 얻는 해가 다르게 나올 수 있습니다. 사용법의 차이와 데이터 중심의 차이가 계산 결과에 영향을 미칠 수 있습니다.

따라서, 중심이동없이 바이어스 벡터를 포함하는 방법과 중심이동된 방법의 계산 결과가 다를 수 있는 것은 자연스러운 차이입니다. 이는 사용된 수치적 방법의 차이에 기인할 수 있습니다.

참고 자료:

유사 역행렬 및 Singular Matrix에 대한 이해를 돕는 다음 자료들을 추천드립니다.
- Singular Matrix 개념
- 가의 역행렬 이론

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

0

softcampus

안녕하세요 소프트 캠퍼스 입니다. 질문에 답을 드리겠습니다.


X^T가 Singular일 때 발생하는 현상: 무수히 많은 해

선형회귀에서 X^TX의 역행렬이 존재하지 않는다는 것은 독립변수들 사이에 완벽한 다중공선성(Perfect Multicollinearity)이 존재하거나, 변수의 개수가 데이터 개수보다 많다는 뜻입니다.

이 경우 데이터를 만족하는 회귀계수(W)의 조합은 단 하나가 아니라 무수히 많이 존재하게 됩니다. 즉, 어떤 방법을 쓰든 '오차 제곱합을 최소화한다'는 목적은 달성할 수 있지만, 그 목적을 달성하는 W와 b의 값 자체는 고정되지 않고 여러 형태가 될 수 있습니다.


2두 방식의 수학적 차이와 의사역행렬

의사역행렬은 무수히 많은 해 중에서 "계수 벡터의 L2 Norm(길이)이 가장 작은 해"를 찾는 특성을 가지고 있습니다. 질문하신 두 방법은 의사역행렬을 적용하는 '대상'의 구조가 다르기 때문에 최적화 기원(Origin)이 달라져 다른 숫자를 뱉어냅니다.


평균 중심이동 (Centering) 후 의사역행렬

데이터를 평균만큼 이동시켜 b(절편)의 영향을 먼저 제거한 뒤, 독립변수들 간의 관계만 가지고 의사역행렬을 구합니다. 이 방식은 "절편을 제외한 가중치들(w1, w2, ... )의 제곱합을 최소화"하는 방향으로 해를 찾습니다.


1로 채워진 열벡터 추가 (Augmentation) 후 의사역행렬

X 행렬 맨 앞에 1을 추가하여 Wnew = [b, w_1, w_2, ...]^T 구조를 만듭니다. 이 상태에서 의사역행렬을 구하면, 컴퓨터는 "절편 b를 포함한 모든 가중치의 제곱합을 최소화"하는 해를 찾습니다.


두 방법 모두 오차(Residual)를 최소화한다는 목적은 동일하게 달성하지만, 의사역행렬이 최소화하려는 대상(가중치 벡터의 크기)에 편향(b)이 포함되느냐 마느냐의 차이가 생깁니다.

X^TX가 Singular이기 때문에 이 작은 기준 차이가 완전히 다른 Wb 값이라는 결과로 나타나는 것입니다.


만약 X^TX가 Singular가 아니라면? (Full Rank)

정확히 짚어주신 대로, 만약 X^TX의 역행렬이 명백히 존재하는 상황(Full Rank)이라면 어떤 방식을 사용하든 수학적으로 완벽히 동일한 Wb가 도출됩니다. 유일한 하나의 해(Unique Solution)가 존재하기 때문에, 중심이동을 해서 구한 뒤 b를 따로 계산하든, 1을 추가해서 한 번에 구하든 최종 회귀 방정식은 일치하게 됩니다.


본 과정은 선형 대수학을 자세히 다루는 과정이 아니기 때문에 강의에서 언급하는 기본적인 내용만 알고 가시면 됩니다. 따로 선형 대수학을 자세히 공부하시면 더 헷갈리고 어려우실 겁니다. 딥러닝의 수학적인 내용은 가볍고 보고 넘어가시길 권장드립니다. 감사합니다.

커서창

0

6

1

gpt 모델계열 및 추론강도에 대한 문의

0

6

0

wave terminal 설치 문의

0

6

1

pytorch 설치 업데이트좀요

0

8

2

커서 색상 및 클로드코드 프롬프트 입력칸 설정 문의

0

6

1

unit 3.9 kanban google workspace 인증 문제

0

6

2

강의 제작

0

8

0

23강 질문드립니다, 강사님.

0

7

1

import

0

3

1

클로드 질문에서 줄 바꿈

0

8

1

45강 예제4번에서 질문 있어요!

0

5

0

45강 강의 10분 03초 내용에서 x + 1 을 하는 이유는 뭔가요?

0

5

1

Json.stringify 관련 오류일까요?

0

6

2

깃허브 저장소에 코덱스 연동하는 방법 문의드립니다

0

13

1

3강, 7강 화면이 안나옵니다. 그냥 검은화면으로만 노출되요;;

0

7

0

2강 퀴즈를 푸려는데 자꾸 수강하지 않은 수업이있는데.. 다들었습니다 ㅜ

0

12

1

cursor 환경

1

11

2

Gradio 실행 시 에러 발생 문의

0

10

2

Gradio 실행 시 Jinja2 / ASGI TypeError: unhashable type: 'dict' 에러 문의

0

10

2

안녕하세요, 강의자료 요청드립니다

0

10

1

개발 환경 준비와 프로젝트 구조 강의 관련

1

9

2

[긴급요청2] 28강 동영상 오류(27강 음성 재생) 수정 예정일자를 알려주세요

0

30

1

[긴급요청] 28강 동영상 전체에 오디오가 잘못들어가있습니다.

0

31

1

17강 강의 마지막 부분에서 헷갈리는 부분이 있습니다.

0

35

1