숫자를 원소로 가지는 리스트 또는 배열
공간에서 한 점을 나타냄
원점으로부터 상대적 위치를 표현
같은 모양을 가지면 사칙 연산 가능
norm
원점에서부터의 거리
L1 (변화량의 절대값)
L2 (유클리드 거리)
norm의 종류에 따라 기하학적 성질이 달라짐
두 벡터 사이의 거리, 각도
vector를 원소로 가지는 2차월 배열
같은 모양을 가지면 사칙 연산 가능
행렬 곱셈
행렬 내적 (수학에서 말하는 내적과 다름)
행렬의 이해
어떤 행렬의 연산을 거꾸로 되돌리는 행렬
행과 열 숫자가 같고 행렬식(determinant)이 0이 아닌 경우에만 계산 가능
유사역행렬 (또는 무어펜로즈)
변수의 움직에 따른 함수값의 변화를 측정하기 위한 도구
주어진 점에서의 접선의 기울기
미분값을 더하면 경사상승법(gradient ascent), 극대값의 위치를 구할 때 사용
미분값을 빼면 경사하강법, 극소값의 위치를 구할 때 사용
알고리즘
# gradient: 미분을 계산하는 함수
# init: 시작점, lr: 학습률, eps: 알고리즘 종료조건
var = init
grad = gradient(var)
while abs(grad) > eps:
var = var - lr*grad
grad = gradient(var)
그레디언트(gradient) 벡터
벡터가 입력인 다변수 함수의 경우 변미분을 사용
선형회귀 목적식: ∥y − Xβ∥2
목적식을 최소화하는 β를 찾아야함 → 그레디언트 벡터를 구해야한다.
알고리즘
# norm: L2-norm을 계산하는 함수
# lr: 학습률, T: 학습횟수
for t in range(T):
error = y - x @ beta
grad = -transpose(X) @ error
beta = beta - lr * grad
경사하강법은 만능?
확률적 경사하강법 (Stochastic Gradient Descent)
선형 모델
다음과 같이 표현 가능
softmax 연산(함수)
모델의 출력을 확률로 해석할 수 있게 변환해 주는 연산
분류 문제를 풀 때 사용
신경망 (비선형 모델)
선형 모델과 활성함수(activation function)을 합성한 함수
활성함수
비선형 함수
종류
구조 (σ는 활성함수)
다층을 쌓는 이유?
역전파 (backpropagation)
딥러닝 학습원리
연쇄법칙(chain-rule) 기반 자동미분(auto-differentiation)을 사용
각 층 패러미터의 그레디언트 벡터는 윗층부터 역순으로 계산