Loading...
2023. 10. 18. 01:34

담금질 기법(simulated annealing) 배우고 최소 외접원 문제(smallest enclosing circle problem) 풀기

1. 담금질 기법(simulated annealing) 담금질 기법은 인공지능에서 말하는 gradient descent와 비슷하다. 목적함수를 설정하고, 해당 함수를 최적화하는 해를 찾는 것이다. 현재 답의 근처 해를 적당히 찾은 다음, 해가 더 좋아질 경우에는 갱신하고 해가 좋아지지 않을 경우에는 확률적으로 갱신하는 기법이다. 다항시간에 해를 찾기 어렵다고 생각되면 적당히 좋은 해를 찾기 위해 사용되는 휴리스틱(heuristic) 방법이다. 마치 금속을 뜨거운 온도에 담금질하여 원하는 금속으로 만드는 과정과 비슷하다고 하여 이름 붙여진 듯 하다. 원하는 금속으로 만들려면 적절한 온도에 담그는게 중요한데, 담금질 기법의 핵심은 온도 설정에 있다. 인공지능의 gradient descent에서도 weight..

2022. 1. 26. 21:22

backpropagation의 개괄적인 설명

손실함수를 가중치나 절편에 대해 최소화시키는 방법 L이 loss이고 W는 가중치 b는 절편 손실함수를 가중치나 절편에 대해 최소화시키는 방법 그런데 미분값을 계산하는 과정에서 최상층에서 최하층으로, 역으로 미분 계산이 진행된다해서 Backpropagation이라 부른다. 합성함수 미분법에 의한 연쇄법칙이 기반 예제) 2층신경망의 역전파 알고리즘 방법은? 비슷한 방식으로 도 구할 수 있다. 확률적 경사하강법 등을 이용하여 손실함수 L을 최소화시키는 방향으로 가중치 W와 절편 b을 계속 갱신해나감

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$에 그래디언트 벡터를 빼서 얻은..

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. 미분에 대하여 너무 오랜만에 미분 했는지 아주아주 기본적인 부분에서 실수했다 저..

2021. 12. 29. 01:12

gradient descent method 핵심요약

1. Gradient Descent 미분가능한 함수의 반복적인 1차미분으로 국소적 최솟값(local minimum)을 찾는 과정 loss가 감소할 때 optimum이라 기대하는 지점이 존재하는 loss function이 존재할 것이라고 가정 최적을 찾고자 하는 parameter로 loss에 대해 편미분을 함 2. stochastic gradient descent 매 학습 스텝마다 random single sample 이용한 gradient 계산 random sample 1개만 사용하여 gradient를 계산함 가장 불안정하지만 가장 빠르게 계산 가능 3. mini batch gradient descent 매 학습 스텝마다 random subset of data sample을 이용한 gradient 계산 ..