선형대수 실무 개념 과제: ML 현장에서 마주치는 문제들
이 글은 선형대수 1~4장 에서 다룬 개념들을 머신러닝 실무 시나리오에 적용하는 연습 문제 모음입니다. 수식 계산보다 개념의 적용과 해석에 초점을 맞춥니다.
Part 1. 데이터와 행렬#
문제 1-1. 데이터 행렬의 랭크 해석#
어떤 데이터셋에 1,000개의 샘플과 50개의 피처(feature)가 있습니다. 이 데이터를 행렬 로 표현했을 때 의 랭크가 30이라면 무슨 의미인가요?
정답 보기
랭크 30은 선형 독립인 피처가 실질적으로 30개 라는 의미입니다.
- 50개의 피처 중 20개는 나머지 피처들의 선형 조합으로 표현 가능 → 중복 정보
- 이 데이터가 실제로 담고 있는 정보의 차원은 50이 아닌 30
실무 시사점: PCA를 적용하면 50차원 → 30차원으로 줄여도 정보 손실이 없습니다. 실제로는 상위 몇 개 주성분만으로 대부분의 분산을 설명할 수 있어 30보다 더 줄일 수 있습니다.
문제 1-2. 다중공선성(Multicollinearity) 문제#
선형 회귀 모델을 학습할 때, 피처 인 관계가 있다면 행렬 는 어떤 성질을 가질까요? 이것이 모델 학습에 어떤 영향을 미치나요?
정답 보기
이므로 데이터 행렬의 열들이 선형 종속입니다.
따라서 는 특이 행렬(singular) 이 되어:
선형 회귀의 closed-form 해 를 구할 수 없게 됩니다.
해결책:
- 중복 피처 제거
- L2 정규화(Ridge): — 항상 역행렬이 존재
- PCA로 독립 성분만 추출
문제 1-3. 배치 정규화와 행렬 연산#
딥러닝에서 배치 정규화(Batch Normalization)는 각 배치의 데이터를 평균 0, 분산 1로 변환합니다. 이 과정을 행렬 연산으로 표현하면?
정답 보기
배치 행렬 (행 = 샘플, 열 = 피처)에 대해:
1단계 — 평균 중심화:
여기서 는 각 피처의 평균 벡터, 은 ones 벡터
2단계 — 표준편차로 나누기:
이것이 PCA의 데이터 중심화 단계와 동일한 연산입니다. 선형대수적으로는 데이터를 공분산 행렬의 고유벡터 방향으로 정렬하는 준비 단계입니다.
Part 2. 모델 학습과 최적화#
문제 2-1. 행렬식과 모델 수렴#
신경망 학습 중 가중치 행렬의 행렬식이 계속 0에 가까워진다면 어떤 문제가 발생하나요?
정답 보기
가중치 행렬 의 은 행렬이 특이 행렬에 가까워지는 것을 의미합니다.
발생하는 문제들:
- 그래디언트 소실(Vanishing Gradient): 역전파 시 행렬 곱으로 그래디언트가 전파되는데, 특이에 가까운 행렬을 곱하면 그래디언트가 0으로 수렴
- 표현력 손실: 랭크가 낮아져 신경망이 표현할 수 있는 공간이 좁아짐
- 역행렬 불안정: 계산이 수치적으로 불안정해짐
해결책: 배치 정규화, 잔차 연결(ResNet), 적절한 가중치 초기화(Xavier, He 초기화)
문제 2-2. 선형 변환으로 보는 레이어#
신경망의 한 레이어 에서 가중치 행렬 가 이라면 이 레이어는 어떤 변환을 수행하나요? 역변환이 가능한가요?
정답 보기
가 (4행 3열)이면:
- 입력 차원: 3 (3차원 벡터 )
- 출력 차원: 4 (4차원 벡터 )
이 레이어는 3차원 공간 → 4차원 공간으로의 선형 변환입니다.
역변환 불가: 가 정방행렬이 아니므로 역행렬이 존재하지 않습니다. 다만 의사역행렬(pseudoinverse) 를 사용해 근사 역변환은 가능합니다.
직관: 3차원 데이터를 4차원으로 끌어올리는 것은 임베딩(embedding)과 유사합니다. 오토인코더의 인코더/디코더가 이런 비정방 변환을 사용합니다.
문제 2-3. SVD와 모델 압축#
행렬 를 특이값 분해(SVD)하면 로 쓸 수 있습니다. 상위 개의 특이값만 남긴 를 사용하는 것이 모델 압축에 어떻게 도움이 되나요?
정답 보기
SVD는 행렬을 정보 중요도 순서로 분해합니다. 큰 특이값 = 많은 정보를 담은 방향.
원래 행렬:
개만 유지:
압축 효과:
- 원본 저장: 개 파라미터
- 압축 저장: 개 파라미터
- 이면 큰 압축률
실무 적용: LoRA(Low-Rank Adaptation)가 이 원리를 사용해 LLM을 효율적으로 파인튜닝합니다. 큰 가중치 행렬을 두 개의 저랭크 행렬로 근사합니다.
Part 3. 차원 축소와 임베딩#
문제 3-1. PCA vs 피처 선택#
100개의 피처를 10개로 줄여야 합니다. PCA를 쓰는 것과 상위 10개 피처를 그냥 선택하는 것의 차이는?
정답 보기
| 방법 | 피처 선택 | PCA |
|---|---|---|
| 결과 | 원본 피처 10개 유지 | 새로운 10개 주성분 생성 |
| 해석성 | 높음 (원래 피처 의미 유지) | 낮음 (주성분은 원래 피처의 선형 결합) |
| 정보 보존 | 선택된 90개 피처 정보 손실 | 분산 기준 최대 정보 보존 |
| 다중공선성 | 여전히 존재할 수 있음 | 주성분끼리 완전 직교 (독립) |
선택 기준:
- 해석이 중요하다면 → 피처 선택
- 정보 보존이 중요하다면 → PCA
- 다중공선성이 문제라면 → PCA가 해결책
문제 3-2. 고유값으로 설명 분산 계산#
공분산 행렬의 고유값이 일 때, 첫 2개 주성분이 전체 분산의 몇 %를 설명하나요? (전체 합 = 25)
정답 보기
해석: 첫 2개 주성분만으로 전체 데이터 분산의 약 55%를 설명합니다.
실무 판단 기준:
- 일반적으로 80~95% 이상의 설명 분산을 유지하는 주성분 수를 선택
- Scree Plot(고유값을 큰 순으로 그린 그래프)에서 기울기가 급격히 꺾이는 지점(elbow)을 선택
문제 3-3. 벡터 유사도와 추천 시스템#
사용자 의 영화 선호 벡터가 , 사용자 의 벡터가 일 때, 두 사용자는 비슷한 취향인가요? 어떤 지표를 쓰나요?
정답 보기
코사인 유사도 를 사용합니다 (점곱 / L2-노름의 곱):
코사인 유사도가 0.46으로 낮은 편입니다. 두 사용자의 취향은 크게 다릅니다 (A는 액션·SF 선호, B는 로맨스·드라마 선호 패턴).
실무: 협업 필터링(Collaborative Filtering) 추천 시스템이 이 원리를 사용합니다.
Part 4. 신경망과 행렬#
문제 4-1. 행렬 곱셈으로 보는 포워드 패스#
2층 신경망의 포워드 패스를 행렬 곱으로 표현해보세요.
- 입력:
- 1층 가중치: , 편향:
- 2층 가중치: , 편향:
- 활성화 함수: (ReLU)
정답 보기
전체 배치로 처리할 때 (개 샘플):
이처럼 신경망의 포워드 패스 전체가 행렬 곱셈의 연속으로 표현됩니다. GPU는 이 대규모 행렬 곱을 병렬 처리합니다.
문제 4-2. 역전파와 연쇄 법칙#
손실 에 대한 의 그래디언트 를 구하는 과정을 선형대수 관점에서 설명하세요.
정답 보기
역전파는 연쇄 법칙의 행렬 버전입니다.
각 단계:
-
출력층에서 그래디언트 계산:
-
1층으로 역전파:
- : 전치 행렬을 곱해 차원을 맞춤
- : 원소별 곱 (Hadamard product)
-
의 그래디언트:
핵심: 역전파에서 전치 행렬이 등장하는 이유는 포워드 패스의 선형 변환을 역방향으로 추적하기 때문입니다. 선형 변환의 역방향 = 전치 행렬 곱.
퀴즈: 개념 종합#
Q1. 다음 중 역행렬이 존재하는 행렬은?
정답 보기
- → 특이, 역행렬 없음
- → 비특이, 역행렬 존재 ✓
- → 특이, 역행렬 없음
정답: B
Q2. 머신러닝에서 L2 정규화(Ridge)가 다중공선성 문제를 해결하는 선형대수적 이유는?
정답 보기
다중공선성이 있으면 가 특이 행렬이 되어 역행렬이 존재하지 않습니다.
L2 정규화는 대각 원소에 를 더합니다:
단위 행렬 를 더하면 모든 고유값에 가 추가됩니다:
따라서 행렬식이 항상 0보다 크고 역행렬이 항상 존재하게 됩니다.
Q3. PCA에서 고유벡터들이 서로 직교(orthogonal)하는 이유는?
정답 보기
공분산 행렬 는 대칭 행렬입니다 ().
대칭 행렬의 성질:
- 서로 다른 고유값에 대응하는 고유벡터는 항상 직교합니다
- 이를 스펙트럼 정리(Spectral Theorem) 라고 합니다
직교하는 주성분들은 서로 독립적인 방향을 가리키므로, 각 주성분이 겹치지 않는 독립적인 정보를 담게 됩니다. 이것이 PCA가 다중공선성을 자동으로 제거하는 이유입니다.
관련 포스트
선형대수 코딩 과제: NumPy로 구현하는 행렬 연산
NumPy를 사용해 행렬 연산, 가우스 소거법, 고유값 분해, PCA를 직접 구현해보는 코딩 과제입니다. 각 문제에 단계별 힌트와 전체 풀이 코드가 포함되어 있습니다.
고유값·고유벡터와 PCA: 선형대수 기초 4장
행렬식의 기하학적 의미, 기저와 생성, 고유값·고유벡터 계산, 차원 축소(PCA)의 작동 원리와 수식, 마르코프 행렬까지 선형대수 핵심을 완결합니다.
벡터, 선형 변환, 행렬 곱셈과 역행렬: 선형대수 기초 3장
벡터의 노름·점곱·스칼라 곱, 선형 변환의 개념, 행렬 곱셈, 역행렬 계산법, 그리고 이 모든 개념이 뉴럴 네트워크(퍼셉트론)에서 어떻게 연결되는지 정리했습니다.