본문 바로가기

경사하강법3

21. 경사하강법의 개선 - Adam 저번 시간에 단순경사하강법을 개선한 Momentum과 RMSprop를 알아보았다. Momentum은 기울기를 변화시키는 방법으로 지역 최소점에 빠지지 않게 도와주었고 RMSprop는 학습률을 변화시키는 방법으로 진동을 줄여 빠른 시간내에 수렴할 수 있도록 도와주었다. 이 둘을 합치면 더 좋은 성능을 낼 수 있지 않을까? Adam은 Momentum과 RMSprop를 합친 최적화 방법이다. 즉 Momentum의 직진성과 RMSprop의 감쇠가 합쳐진 것으로 생각해 볼 수 있다. 수식을 보자 Adam 방법은 위의 수식에서 볼 수 있듯이 Momentum과 RMSprop를 합친 경사하강법이다. 그런데 이 식을 그대로 사용하다간 작은 문제가 생긴다. 바로 초기값 v = 0, s = 0이 문제다. 초기값에 따라 지수.. 2022. 2. 5.
2. 선형회귀 구현하기(실습) 저번시간에 X = [1, 2, 3], Y = [3, 5, 7] 의 입력(X)와 출력(Y)가 있을 때 이 둘의 관계를 Y = wx + b로 가정하고 w, b를 구하기 위해 도함수를 구하고 경사하강법을 이용한다고 하였다. 입력값 input X, 목표값 target Y, weight W, bias B를 Numpy로 표현하면 아래와 같다. (아래 learning_rate는 추후에 설명) import numpy as np np.random.seed(220102) input = np.array([[1.], [2.], [3.]]) target = np.array([[3.], [5.], [7.]]) W = np.random.randn(1, 1) # [[0.97213265]] correct value = 2 B = np.. 2022. 1. 3.
1. 선형회귀 구현하기(이론) (시작하기 앞서 기본적인 수학 이론을 공부해야 한다. 아래 링크를 정주행하는 것을 추천한다. https://toyourlight.tistory.com/category/%ED%8C%8C%EC%9D%B4%EC%8D%AC%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D/%EB%94%A5%EB%9F%AC%EB%8B%9D%EA%B3%BC%20%EC%88%98%ED%95%99 ) → 일단 7. 2차원 행렬을 입력받는 합성함수의 도함수(실습) 까지 보면 된다. 1. 선형회귀 정의 가장 단순한 선형회귀를 표현해 볼 것이다. 예를 들어 X = [1, 2, 3], Y = [3, 5, 7] 의 입력(X)와 출력(Y)가 있을 때 이 둘의 관계를 Y = wx + b로 가정하고 w, b를 구.. 2022. 1. 3.