Loading...
2022. 1. 2. 23:01

경사하강법(gradient descent)의 한계

1. 선형회귀분석 주어진 n개의 데이터에서 이들을 가장 잘 설명하는 선형모형을 찾는다 이전에는 무어펜로즈 역행렬을 이용하여 찾았다 무어펜로즈 역행렬을 이용하여 오차의 norm을 최소화하여 회귀계수 $\beta$를 찾는다. 무어펜로즈 역행렬은 컴퓨터 계산 시간 측면에서 비효율적이다 변수 수 m에 따라 $O(m^{2})$이라고 한다. 대안으로 경사하강법을 이용하여 회귀계수를 추정할 수 있다. 2. 선형회귀분석에서의 경사하강법 선형회귀분석은 위에서도 보였지만 \[y-X\beta\]의 norm을 최소화하는 $\beta$를 찾는것. 그러므로 \[y-X\beta\]의 norm을 $\beta$로 미분한 그래디언트 벡터를 구한다 그래디언트 벡터를 구하면 경사하강법을 이용하여 $\beta$에 그래디언트 벡터를 빼서 얻은..

2022. 1. 2. 00:05

여러가지 optimizer의 원리

1. Optimizer 일반적으로 최적화 알고리즘으로 gradient descent method를 사용하는데 손으로 하기도 어렵고 귀찮다. 그래서 요즘 컴퓨터가 다 계산해주는데 어떻게 계산해주느냐에 따라 여러가지 종류가 나왔다. 2. Gradient Descent 일반적인 gradient descent 방법 가중치에 그래디언트와 learning rate의 곱을 빼면서 update한다. 문제는 learning rate를 어떻게 잡아야할지가 고민이다. 너무 크게 잡자니 overshooting으로 학습이 안되는 현상이 나타나고 너무 작게 잡자니 너무 학습이 느림 3. Momentum 어떻게 하면 최적치에 더 빨리 갈수 있을까라는 생각에 이전 gradient의 정보를 가진 momentum을 이용하자. 이전에 g..

2021. 12. 31. 23:45

신경망은 무엇이고 딥러닝에서 활성화함수를 왜 사용하는가?

1. 신경망(neural network) 보통 인간의 뇌에서 애매하게 영감받아 만들어낸 컴퓨팅 시스템?이라고 말한다 왜 신경망이 성능이 좋을까? 인간의 뇌를 모방해서 잘 작동한다? 꼭 그렇지는 않다 왜냐하면 역전파 알고리즘이 우리 뇌에서 작동하는가? 그렇지는 않잖아 수학적으로 신경망은 affine transformation(행렬 변환)과 nonlinear transformation의 순차적이고 반복적인 곱의 형태로 구해지는 함수 근사 모형이다. 신경망은 선형모형과 비선형함수인 활성화함수의 합성함수이다. 활성화함수는 기본적으로 선형모형의 결과를 원하는 방향으로 해석하게 도와준다. 활성화함수를 쓰지 않으면 딥러닝은 선형모형과 차이가 없다 2. linear neural network 일반적으로 잘 아는 기본 ..

2021. 12. 31. 21:41

여러가지 활성화함수(activation function)

1. sigmoid(logistic function) 함수가 [0,1]에서 값을 가지며 큰 x>0와 작은 x

2021. 12. 30. 21:38

경사하강법 알고리즘(gradient descent algorithm)

1. 그래디언트 벡터(gradient vector) 어떤 변수 벡터 $x=(x_{1}, x_{2}, x_{3}, .... , x_{n})$에 대하여 함수 $f(x)$의 gradient vector는 각 변수별로 편미분한 성분을 원소로 갖는 벡터 \[\bigtriangledown f(x) = (\frac{df(x)}{x_{1}}, \frac{df(x)}{x_{2}}, ... , \frac{df(x)}{x_{n}})\] gradient vector $\bigtriangledown f(x)$는 점 x에서 함수 f가 가장 빠르게 증가하는 방향을 가리킨다. 당연하지만 -gradient vector인 $-\bigtriangledown f(x)$은 점 x에서 함수 f가 가장 빠르게 감소하는 방향을 가리킨다 2. 편미..

2021. 12. 29. 22:40

미분계수에 대하여

1. 미분계수의 정의 변수의 움직임에 따른 함숫값의 변화를 측정 변화율, 기울기의 극한값 함수 f(x)위의 한 점 (x,f(x))의 접선의 기울기 기본적으로 함수의 모양이 매끄러워야 미분가능 미분계수의 모임이 도함수 도함수를 요즘에는 컴퓨터가 다 계산해준다 python의 sympy를 이용하여 함수식을 다룰수 있고 도함수를 구할 수 있다 2. 미분계수의 성질 한 점에서 접선의 기울기를 알면 어느 방향으로 점을 움직여야 함숫값이 증가하는지, 감소하는지 알 수 있다. 함숫값을 증가시키려면 미분값을 더하고 감소시키려면 미분값을 빼주면 된다. 2차원이면 눈으로 쉽게 보이지만 앞으로 고차원을 다루기 때문에 잘 이해하는 것이 중요함 3. 미분에 대하여 너무 오랜만에 미분 했는지 아주아주 기본적인 부분에서 실수했다 저..