jisung-02notes
← Archive

벡터와 행렬

벡터와 행렬의 기본 연산을 익히고 내적을 이용한 선형 모델의 예측과 설계 행렬의 의미를 정리한 노트입니다.

jisung-02

한 줄 요약

선형 모델의 예측은 가중치 벡터와 피처 벡터의 내적 ⟨w,x⟩\langle w, x \rangle이며, 전체 데이터셋에 대한 예측은 설계 행렬과 가중치 벡터의 곱 y^=Xw\hat{y} = Xw로 한 번에 표현된다.

핵심 개념

  • 피처 벡터(Feature Vector) xi∈Rpx_i \in \mathbb{R}^p: 한 샘플의 특징을 pp개의 실수로 표현한 벡터. 학습 데이터는 (xi,yi), i=1,…,n(x_i, y_i),\ i = 1, \dots, n (nn = 샘플 수).
  • 선형 모델 = 가중합: 예측은 피처의 가중합이고, 이는 곧 내적이다. ww는 학습으로 찾는 가중치, 목표는 손실 L(y^i,yi)L(\hat{y}_i, y_i) 최소화.
  • 내적 표기의 동치: ⟨w,xi⟩=w⊤xi=xi⊤w\langle w, x_i \rangle = w^\top x_i = x_i^\top w (모두 같은 스칼라).
  • 기하학적 해석: ⟨w,x⟩=0\langle w, x \rangle = 0이 결정 경계. 부호로 클래스를 가르며, 가중치 벡터 ww는 결정 경계에 수직이다.
  • Bias(편향) w0w_0: 상수항. 피처 벡터에 1을, 가중치 벡터에 w0w_0를 추가하면 다시 y^=⟨w,x⟩\hat{y} = \langle w, x \rangle 형태로 통일된다. 역할은 결정 경계의 위치 조정(offset).
  • 설계 행렬(Design/Feature Matrix) X∈Rn×pX \in \mathbb{R}^{n \times p}: 행 = 샘플, 열 = 피처. xijx_{ij} = ii번째 샘플의 jj번째 피처.

y^=Xw\hat{y} = Xw의 두 가지 해석

관점표현의미
내적 관점(Xw)i=⟨xi,w⟩(Xw)_i = \langle x_i, w \rangleXX의 각 행과 ww의 내적
선형결합 관점Xw=∑jwj⋅(X의 j번 열)Xw = \sum_j w_j \cdot (X의\ j번\ 열)피처 컬럼들의 가중합

핵심 통찰: 예측 y^\hat{y}는 피처 컬럼들의 선형결합이다.

내적 vs 외적

식결과
내적(Inner)u⊤vu^\top v스칼라
외적(Outer)uv⊤uv^\top행렬
  • u⊤v=0u^\top v = 0 → 직교(orthogonal), ∥u∥=1\|u\| = 1 → 정규화(normalized), 둘 다면 정규직교(orthonormal).
  • 행렬곱 = 외적의 합: UV=u1v1⊤+⋯+ukvk⊤UV = u_1 v_1^\top + \dots + u_k v_k^\top (앞 행렬의 열들과 뒤 행렬의 행들의 외적 합).

핵심 수식 / 예시

  • 선형 모델 / 내적: y^i=w1xi1+⋯+wpxip=⟨w,xi⟩=w⊤xi\hat{y}_i = w_1 x_{i1} + \dots + w_p x_{ip} = \langle w, x_i \rangle = w^\top x_i
  • 전체 예측 (차원 확인 필수): y^=Xw,(n×1)=(n×p)(p×1)\hat{y} = Xw, \quad (n \times 1) = (n \times p)(p \times 1) X의 열 개수 = ww의 행 개수여야 곱이 정의된다.
  • 다항식 피팅 (Vandermonde 행렬): 곡선 데이터도 선형 모델로 처리 가능. 선형 모델이지만 비선형 관계를 표현한다. y^i=w0+w1zi+w2zi2+w3zi3,X=[1z1z12z13⋮⋮⋮⋮1znzn2zn3]\hat{y}_i = w_0 + w_1 z_i + w_2 z_i^2 + w_3 z_i^3, \quad X = \begin{bmatrix} 1 & z_1 & z_1^2 & z_1^3 \\ \vdots & \vdots & \vdots & \vdots \\ 1 & z_n & z_n^2 & z_n^3 \end{bmatrix}
  • 추천 시스템 (행렬 분해): 사용자-아이템 평점 행렬의 빈칸 채우기. R≈UV⊤R \approx U V^\top RR: 평점(users × items), UU: 사용자 특성(users × features), VV: 아이템 특성(items × features). 큰 행렬을 작은 두 행렬로 분해(차원 축소)하여 빈 평점을 예측.