경사 하강법
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
경사 하강법은 함수의 기울기 반대 방향으로 이동하여 함수의 최솟값에 도달하는 최적화 알고리즘이다. 시작점을 정하고, 학습률에 따라 이동 거리를 조절하며, 지역 최적해에 수렴할 수 있지만 전역 최적해를 보장하지는 않는다. 선형 시스템 및 비선형 시스템의 해를 구하는 데 사용되며, 배치 경사 하강법, 확률적 경사 하강법, 미니 배치 경사 하강법 등의 종류가 있다. 기울기만을 고려하므로 계산이 간편하지만, 지역 최솟값, 안장점, 평탄한 영역 문제 등의 한계를 갖는다. 모멘텀, 빠른 경사 방법, 미러 하강법 등을 통해 개선될 수 있으며, 파이썬으로 구현된 예시 코드가 있다.
더 읽어볼만한 페이지
- 최적화 알고리즘 - 기댓값 최대화 알고리즘
- 최적화 알고리즘 - 유전 알고리즘
유전 알고리즘은 생물 진화 과정을 모방하여 최적해를 탐색하는 계산 최적화 기법으로, 해를 유전자로 표현하고 적합도 함수를 통해 평가하며 선택, 교차, 돌연변이 연산을 반복하여 최적해에 근접하는 해를 생성하며, 성능은 매개변수에 영향을 받고 초기 수렴 문제 해결을 위한 다양한 변형 기법과 관련 기법이 존재한다. - 빈 문단이 포함된 문서 - 광주고등법원
광주고등법원은 1952년에 설치되어 광주광역시, 전라남도, 전북특별자치도, 제주특별자치도를 관할하며, 제주와 전주에 원외재판부를 두고 있다. - 빈 문단이 포함된 문서 - 1502년
1502년은 율리우스력으로 수요일에 시작하는 평년으로, 이사벨 1세의 이슬람교 금지 칙령 발표, 콜럼버스의 중앙아메리카 해안 탐험, 바스쿠 다 가마의 인도 상관 설립, 크리미아 칸국의 킵차크 칸국 멸망, 비텐베르크 대학교 설립, 최초의 아프리카 노예들의 신대륙 도착 등의 주요 사건이 있었다.
| 경사 하강법 | |
|---|---|
| 지도 | |
| 명칭 | |
| 영어 | gradient descent, steepest descent |
| 한국어 | 경사 하강법, 최급 강하법 |
| 개요 | |
| 분야 | 최적화 알고리즘 |
| 설명 | 1차 최적화 알고리즘 |
| 목적 | 함수값을 최소화하는 파라미터를 찾음 |
| 방법 | 함수 기울기의 반대 방향으로 파라미터를 반복적으로 갱신 |
| 활용 | 머신러닝 모델 학습에 널리 사용 |
| 알고리즘 | |
| 입력 | 미분 가능한 함수 시작점 학습률 |
| 과정 | 현재 위치에서 함수 기울기 계산 기울기의 반대 방향으로 파라미터 업데이트 수렴 조건 만족할 때까지 반복 |
| 수렴 조건 | 함수값 변화가 충분히 작아지거나 반복 횟수가 충분히 커짐 |
| 유형 | 배치 경사 하강법 확률적 경사 하강법 미니배치 경사 하강법 |
| 장단점 | |
| 장점 | 구현이 간단하고 계산 효율성이 높음 |
| 단점 | 지역 최소값에 수렴할 가능성 학습률 설정에 민감 안장점 부근에서 학습이 느려질 수 있음 |
| 관련 알고리즘 | |
| 개선 알고리즘 | 모멘텀 RMSProp Adam |
| 대안 알고리즘 | 뉴턴 방법, 준 뉴턴 방법 |
| 기타 | |
| 참고 문헌 | 茨木俊秀 (2011). 최적화의 수학. 공립출판 |
2. 설명
경사 하강법은 함수의 현재 위치에서 기울기의 반대 방향으로 이동하여 최솟값에 점진적으로 접근하는 방식이다.[6][7] 이때, 이동 거리는 학습률(learning rate)이라고 불리는 매개변수()에 의해 결정된다.
최적화할 함수 에 대하여, 시작점 에서 현재 위치 가 주어졌을 때, 다음 위치 은 다음과 같이 계산된다.
:
여기서 는 학습률, 는 현재 위치에서의 기울기를 나타낸다.
이 알고리즘은 지역 최적해로 수렴할 수 있다. 따라서 구한 값이 전역적인 최적해라는 것을 보장하지 않으며, 시작점 의 선택에 따라 결과가 달라질 수 있다.
위 그림에서 파란색 곡선은 등고선을 나타내며, 빨간색 화살표는 각 점에서 음의 기울기 방향을 나타낸다.
경사 하강법은 다음과 같은 연립 일차 방정식을 풀 때 사용할 수 있다.
:
이는 이차 최소화 문제로 다시 공식화될 수 있다. 계수 행렬 가 실수 대칭이고 양정치인 경우, 목적 함수는 다음과 같은 이차 함수로 정의되며, 최소화가 이루어진다.
:
따라서
:
일반적인 실수 행렬 의 경우, 선형 최소 제곱법은 다음과 같이 정의된다.
:
실수 와 에 대한 전통적인 선형 최소 제곱법에서는 유클리드 노름이 사용되며, 이 경우
:
경사 하강법은 비선형 방정식계를 푸는 데에도 사용할 수 있다.
경사 하강법은 국소 최솟값에 수렴하고 안장점 근방에서는 속도가 느려질 수 있다.
2. 1. 기본 원리
경사 하강법은 함수의 현재 위치에서 기울기의 반대 방향으로 이동하여 최솟값에 점진적으로 접근하는 방식이다.[6][7] 이때, 이동 거리는 학습률(learning rate)이라고 불리는 매개변수()에 의해 결정된다. 학습률이 너무 크면 최솟값을 지나칠 수 있고, 너무 작으면 수렴 속도가 느려진다.최적화할 함수 에 대하여, 시작점 에서 현재 위치 가 주어졌을 때, 다음 위치 은 다음과 같이 계산된다.
:
여기서 는 학습률, 는 현재 위치에서의 기울기를 나타낸다. 즉, 현재 위치에서 기울기의 반대 방향으로 학습률만큼 이동하는 것이다.
이 알고리즘의 수렴 여부는 함수 의 성질과 학습률 의 선택에 따라 달라진다. 또한, 이 알고리즘은 지역 최적해로 수렴할 수 있다. 따라서 구한 값이 전역적인 최적해라는 것을 보장하지 않으며, 시작점 의 선택에 따라 결과가 달라질 수 있다.
이러한 문제를 해결하기 위해 다양한 시작점에 대해 경사 하강법을 적용하여 그 중 가장 좋은 결과를 선택하는 방법을 사용할 수도 있다.
위 그림에서 파란색 곡선은 등고선을 나타내며, 빨간색 화살표는 각 점에서 음의 기울기 방향을 나타낸다. 그림에서 볼 수 있듯이, 경사 하강법은 기울기의 반대 방향으로 이동하면서 점차 함수의 최솟값(그릇의 바닥)으로 수렴해 간다.
경사 하강법의 기본 원리를 산에서 안개가 짙게 낀 상황에 비유하여 설명하면 다음과 같다.

산에서 길을 잃은 사람이 안개가 짙어 시야가 확보되지 않은 상황에서 산 아래로 내려가려고 한다고 가정해 보자. 이때, 현재 위치에서 가장 가파르게 내려가는 방향으로 조금씩 이동하면서 최저 지점을 찾는 방법이 경사 하강법과 유사하다.
- 사람: 알고리즘
- 산 아래로 내려가는 길: 알고리즘이 탐색할 매개변수 설정
- 언덕의 경사: 해당 지점에서 함수의 기울기
- 경사 측정 기기: 미분
- 이동 방향: 해당 지점에서 함수의 기울기
- 측정 후 이동하는 시간: 학습률
이 비유에서처럼, 경사 하강법은 현재 위치에서 가장 가파르게 감소하는 방향으로 이동하면서 함수의 최솟값을 찾아간다. 하지만, 안개 속에서 산 속 호수와 같은 구멍(지역 최솟값)에 갇힐 수 있듯이, 경사 하강법도 지역 최솟값에 빠질 수 있다는 단점이 있다.
단계 크기 γ가 너무 작으면 수렴이 느려지고, γ가 너무 크면 과도하게 넘어서 발산하게 되므로, γ의 적절한 설정을 찾는 것은 중요하다. 필립 울프는 "영리한 [강하] 방향 선택"을 주장했다.[8] 최급강하 방향에서 벗어나는 방향을 사용하는 것이 직관에 반하는 것처럼 보일 수 있지만, 더 작은 기울기가 훨씬 더 긴 거리에 걸쳐 유지됨으로써 보상될 수 있다는 것이다.
과 의 적절한 설정을 찾는 데는 약간의 고려가 필요하다. 우선, 업데이트 방향이 내리막을 가리키기를 원한다. 수학적으로, 과 사이의 각도를 으로 표시하면, 이어야 한다.
함수 가 감소될 수 있는 양은 강하 방향과 음의 기울기 사이의 각도, 그리고 강하 방향을 따라 기울기가 얼마나 빨리 변하는지에 따라 달라진다.
원칙적으로 최적의 단계 크기와 방향을 선택하기 위해 과 에 대해 최적화할 수 있다.
이 문제를 해결하는 방법은 다음과 같다.
- 으로 설정하여 영리한 강하 방향의 이점을 포기하고, 선형 탐색을 사용하여 Wolfe 조건을 만족하는 것과 같은 적절한 단계 크기 을 찾는다.
- 가 두 번 미분 가능하다고 가정하고, 그 Hessian 를 사용하여 근사한다.
- 가 Lipschitz이라고 가정하고, 그 Lipschitz 상수 를 사용하여 경계를 짓는다.
- 의 사용자 지정 모델을 만든다.
- 볼록성과 같은 함수 에 대한 더 강력한 가정하에, 더 고급 기법이 가능하다.
일반적으로 위의 방법 중 하나를 따르면, 국소 최소값으로의 수렴을 보장할 수 있다. 함수 가 볼록한 경우, 모든 국소 최소값은 전역 최소값이기도 하므로, 이 경우 기울기 강하법은 전역 해로 수렴할 수 있다.
n 차원의 벡터 를 인수로 하는 함수를 라 하고, 이 함수의 극소값을 구하는 것을 생각해 보자.
경사 하강법은 반복법을 이용하여 를 해에 가깝게 해 나간다. k 번째 반복에서 해가 위치에 있을 때, 최급강하법은 다음과 같이 값을 갱신한다.[34]
여기서 는 한 번에 갱신하는 수치의 가중치를 결정하는 매개변수이며, 일반적으로 작은 양의 상수이다. 매개변수 의 적절한 범위는 대부분 다루는 문제의 성질에 따라 결정된다.
예를 들어, 의 최소값 탐색에서 인 경우, 반복할 때마다 나쁜 해로 향한다. 해의 탐색 능력, 수렴 속도는 에 강하게 의존하며, 가 너무 크면 발산의 우려가 있고, 너무 작으면 수렴이 느려진다. 따라서 탐색의 초기에는 크게 하고, 어느 정도 수렴하면 작게 하는 방법도 사용된다.
경사 벡터 는 함수 의 변화율이 가장 큰 방향을 향한다. 따라서 가 적절한 값을 가지면 는 반드시 보다 작아진다.
최급강하법은 다음과 같다.[34]:
# 의 초기값 을 결정한다.
# 이라면 종료한다.
# 위의 설명에 따라 를 갱신한다.
# 2로 돌아간다.
2. 2. 경사 하강법의 종류
경사 하강법은 함수의 기울기(경사)를 반복적으로 이용하여 함수의 극솟값을 찾는 방법이다. 이 방법은 현재 위치에서 기울기의 반대 방향으로 이동하여 점차 최적의 해에 접근한다.경사 하강법에는 여러 종류가 있는데, 대표적인 방법은 다음과 같다.
- 배치 경사 하강법 (Batch Gradient Descent): 전체 학습 데이터를 사용하여 기울기를 계산한다. 한 번 업데이트할 때마다 전체 데이터를 사용하므로 계산 비용이 크지만, 안정적으로 수렴하는 경향이 있다.
- 확률적 경사 하강법 (Stochastic Gradient Descent, SGD): 무작위로 선택된 하나의 샘플 데이터를 사용하여 기울기를 계산한다. 매번 하나의 데이터만 사용하므로 계산 속도가 빠르지만, 업데이트가 불안정하고 진동하는 경향이 있다.
- 미니 배치 경사 하강법 (Mini-batch Gradient Descent): 전체 데이터의 일부(미니 배치)를 사용하여 기울기를 계산한다. 배치 경사 하강법과 확률적 경사 하강법의 중간 형태로, 계산 효율성과 수렴 안정성의 균형을 맞춘 방법이다.
각 방법은 계산 비용, 수렴 속도, 안정성 등에서 차이를 보이므로, 문제의 특성에 따라 적절한 방법을 선택해야 한다.
2. 3. 한계
경사 하강법은 지역 최솟값에 수렴하고 안장점 근방에서는 속도가 느려질 수 있다. 이는 짙은 안개 속에서 산을 내려가는 사람이 현재 위치의 경사만 보고 가장 가파른 내리막길로 이동하다가 산 속 호수(지역 최솟값)나 평평한 곳(안장점)에 갇힐 수 있는 상황과 유사하다.[1]이러한 한계를 극복하기 위해 제안된 방법 중 하나는 확률적 경사 하강법이다. 이 방법은 여러 초기값에서 탐색을 시작하여 가장 좋은 결과를 선택함으로써 지역 최솟값 문제를 완화한다.[1]
또한, 경사 하강법은 기울기(1계 미분)만을 고려하기 때문에 극솟값에 쉽게 갇힐 수 있으며, 전역적인 최솟값을 찾는 데 어려움이 있다. 함수 의 편미분을 계산할 수 있어야 한다는 제약 조건도 있다.[1]
3. 선형 시스템 상에서의 풀이
경사 하강법은 다음과 같은 연립 일차 방정식을 푸는 데 사용될 수 있다.
:
이는 이차 최소화 문제로 다시 공식화될 수 있다. 계수 행렬 가 실수 대칭이고 양정치인 경우, 목적 함수는 다음과 같은 이차 함수로 정의되며, 최소화가 이루어진다.
:
따라서
:
일반적인 실수 행렬 의 경우, 선형 최소 제곱법은 다음과 같이 정의된다.
:
실수 와 에 대한 전통적인 선형 최소 제곱법에서는 유클리드 노름이 사용되며, 이 경우
:
각 반복에서 국소적으로 최적인 단계 크기 를 찾는 선형 탐색 최소화는 이차 함수에 대해 해석적으로 수행될 수 있으며, 국소적으로 최적인 에 대한 명시적인 공식이 알려져 있다.[11][12]
예를 들어, 실수 대칭이고 양정치인 행렬 의 경우, 간단한 알고리즘은 다음과 같다.[11]
:
각 반복에서 를 두 번 곱하는 것을 피하기 위해, 는 를 의미한다는 점에 유의하면, 전통적인 알고리즘을 얻을 수 있다.[13]
:
이 방법은 선형 방정식을 푸는 데 거의 사용되지 않으며, 가장 인기 있는 대안 중 하나는 켤레 기울기법이다. 경사 하강법 반복 횟수는 일반적으로 계수 행렬 의 스펙트럼 조건수 (의 최대 고유값과 최소 고유값의 비율)에 비례하는 반면, 켤레 기울기법의 수렴은 일반적으로 조건수의 제곱근에 의해 결정되므로 훨씬 빠르다. 두 방법 모두 전처리의 이점을 얻을 수 있으며, 경사 하강법은 전처리기에 대한 가정이 덜 필요할 수 있다.[13]
4. 비선형 시스템 상에서의 풀이
경사하강법은 비선형 방정식계를 푸는 데에도 사용할 수 있다. 다음은 경사하강법을 사용하여 세 개의 미지수 ''x''1, ''x''2, ''x''3를 구하는 예시이다.
다음과 같은 비선형 방정식계를 고려하자.
:
이 방정식계와 관련된 함수 를 다음과 같이 정의한다.
:
여기서
:
목적 함수 는 다음과 같이 정의할 수 있다.
:
초기값 에서 시작하여 최소값을 찾는다.
다음 단계의 값은 다음과 같이 계산된다.
:
여기서 야코비 행렬 는 다음과 같다.
:
초기값에서 계산하면 다음과 같다.
:
따라서
:
이고,
:
이다.
로 설정하면,
:
이고, 이 값에서 목적 함수를 평가하면
:
이다.
에서 으로 감소하였으므로, 목적 함수가 상당히 감소하였다. 이후 단계를 통해 값을 더 줄여나가면 시스템의 근사해를 찾을 수 있다.
5. 평가 및 장단점
경사 하강법은 다양한 장점과 단점을 가지며, 다른 최적화 알고리즘과 비교하여 특징을 살펴볼 수 있다.
경사 하강법은 모든 차원과 모든 공간에서 적용 가능하며, 심지어 무한 차원(함수 공간)에서도 사용 가능하다.[10] 기울기(1계 미분)만을 고려하기 때문에 방법이 간편하고 계산 속도가 빠르다.[10]
하지만, 경사 하강법은 지역 최적해로 수렴하는 경향이 있으며, 전역적인 최적해를 보장하지 않는다.[34] 시작점 의 선택에 따라 결과가 달라지기 때문에, 여러 시작점에 대해 하강법을 적용하여 가장 좋은 결과를 선택하는 방법이 사용되기도 한다.
또한, 경사 하강법은 안장점 근방에서 속도가 느려질 수 있다. 제약 없는 이차 최소화 문제에서조차, 반복이 진행됨에 따라 후속 값들의 지그재그 패턴을 생성하여 수렴 속도가 느려진다. 함수의 곡률에 따라서 거의 같은 위치에서 시작했음에도 불구하고 완전히 다른 결과로 이어질 수도 있다.
정확성을 위해서는 극값으로 이동함에 있어 매우 많은 단계를 거쳐야 하며, 단계 크기(학습률) γ가 너무 작으면 수렴이 느려지고, γ가 너무 크면 발산하게 되므로, γ의 적절한 설정을 찾는 것이 중요하다.[8]
이러한 경사 하강법의 단점을 극복하기 위해 여러 개선 방법이 제안되었다. 예를 들어, 모멘텀[15], 네스테로프 가속 경사법[16], 프랭크-울프[17]와 같은 방법들이 있다. 또한, Adam, DiffGrad, Yogi, AdaBelief 등과 같이 지수 이동 평균[18] 및 양수-음수 모멘텀[19]을 활용하는 최적화 알고리즘도 개발되었다.
뉴턴 방법 및 헤세 행렬의 역행렬을 켤레 기울기 기법을 사용하여 계산하는 방법이 더 나은 대안이 될 수 있지만,[20][21] 일반적으로 이러한 방법은 더 적은 반복으로 수렴하지만, 각 반복의 비용은 더 높다. 매우 큰 문제의 경우, L-BFGS와 같은 제한된 메모리 방법을 사용해야 한다.
5. 1. 장점
경사 하강법은 모든 차원과 모든 공간에서 적용 가능하며, 심지어 무한 차원(함수 공간)에서도 사용 가능하다.[10] 구현이 비교적 간단하고 계산 비용이 적게 든다. 특히 기울기(1계 미분)만을 고려하기 때문에 방법이 간편하고 계산 속도가 빠르다. 다양한 문제에 적용할 수 있는 범용성을 가진다. 예를 들어, 연립 일차 방정식을 풀거나,[11][12] 비선형 방정식계를 푸는 데에도 사용될 수 있다.5. 2. 단점
경사 하강법은 지역 최솟값, 안장점, 평탄한 영역 문제 등으로 인해 전역 최솟값을 찾지 못할 수 있다.[34] 학습률 설정에 따라 성능이 크게 달라지며, 함수의 곡률에 따라 수렴 속도가 달라질 수 있고, 특정 경우에는 매우 느리게 수렴할 수 있다.- 지역 최솟값 문제: 경사 하강법은 현재 위치에서 기울기가 가장 가파른 방향으로 이동하기 때문에, 지역 최솟값(local minimum)에 빠지면 전역 최솟값(global minimum)으로 이동하지 못하고 갇힐 수 있다. 이는 마치 산에서 안개 속에 갇혀 내려갈 때, 작은 구덩이에 빠져 더 낮은 곳으로 가지 못하는 상황과 유사하다.
- 안장점 문제: 안장점(saddle point)은 한 방향에서는 극솟값이지만 다른 방향에서는 극댓값인 지점이다. 경사 하강법은 안장점 근처에서 기울기가 0에 가까워져 매우 느리게 수렴하거나, 잘못된 방향으로 이동할 수 있다.
- 평탄한 영역 문제: 함수의 표면이 평탄한 영역(plateau)에서는 기울기가 매우 작아져 경사 하강법의 이동 속도가 매우 느려진다. 이는 마치 넓고 평평한 고원에 갇힌 것과 유사한 상황이다.
- 학습률(learning rate) 설정 문제: 학습률은 한 번에 얼마나 크게 이동할지를 결정하는 값이다. 학습률이 너무 작으면 수렴 속도가 느려지고, 너무 크면 발산하거나 최적점을 지나칠 수 있다.
- 곡률(curvature) 문제: 함수의 곡률이 방향에 따라 크게 다르면, 경사 하강법은 특정 방향으로 진동하며 수렴 속도가 느려질 수 있다. 이는 마치 좁고 구불구불한 계곡을 따라 내려가는 것과 유사한 상황이다.
이러한 단점을 극복하기 위해 다양한 개선된 경사 하강법 알고리즘(예: 모멘텀, Adam 등)이 개발되었다.[15][16][17][18][19]
5. 3. 모멘텀 (Momentum)
모멘텀(운동량) 또는 중력구법(heavy ball method)은 최소화하려는 함수의 값 표면 위를 미끄러지는 무거운 공에 비유하거나, 점성 매질 내의 보존력장에서의 뉴턴 역학을 통한 질량 운동에 비유하여 설명할 수 있다.[11] 모멘텀을 사용한 경사 하강법은 각 반복에서 해의 업데이트를 기억하고, 다음 업데이트를 기울기와 이전 업데이트의 선형 결합으로 결정한다. 제약 없는 이차 최소화의 경우, 중력구법의 이론적 수렴 속도 경계는 최적의 켤레 기울기법과 점근적으로 동일하다.[11]이 기법은 확률적 경사 하강법에 사용되며, 인공 신경망을 훈련하는 데 사용되는 역전파 알고리즘의 확장으로도 사용된다.[29][30]
5. 4. 빠른 경사 방법 (Fast Gradient Methods)
유리 네스테로프(Yurii Nesterov)가 제안한 방법은 볼록 문제에 대해 더 빠른 수렴을 가능하게 하는 간단한 수정 방법이며, 이후 더 일반화되었다.[8] 제약 없는 매끄러운 문제의 경우, 이 방법을 빠른 경사하강법(Fast Gradient Method, FGM) 또는 가속 경사하강법(Accelerated Gradient Method, AGM)이라고 한다.미분 가능한 함수가 볼록하고 가 립시츠 연속이며, 가 강 볼록 함수라고 가정하지 않는 경우, 경사하강법에 의해 각 단계에서 생성된 목적 함수 값의 오차는 O(1/k)로 경계된다. 네스테로프 가속 기법을 사용하면 오차는 로 감소한다.[8][34] 비용 함수 감소에 대한 속도는 1차 최적화 방법에 대해 최적임이 알려져 있다.
그럼에도 불구하고, 상수 계수를 줄임으로써 알고리즘을 개선할 여지가 있는데, 최적화된 경사하강법(Optimized Gradient Method, OGM)은 상수를 2배 줄이며 대규모 문제에 대한 최적의 1차 방법이다.[34]
제약 조건이 있거나 매끄럽지 않은 문제의 경우, 네스테로프의 FGM을 빠른 근접 경사하강법(Fast Proximal Gradient Method, FPGM)이라고 하며, 이는 근접 경사하강법의 가속화된 버전이다.
5. 5. 기타 방법
Adam영어, AdaGrad영어, RMSProp영어 등 다양한 적응적 학습률(adaptive learning rate) 알고리즘들이 경사 하강법의 단점을 보완하기 위해 개발되었다.[15][16][17][18][19] 이러한 최적화 알고리즘들은 모멘텀, 지수 이동 평균 등의 기법을 활용한다.6. 프로그램 코드 예제
다음은 파이썬 언어로 작성한 경사 하강법 알고리즘으로, f|에프영어(x) = x4 − 3x3 + 2 함수의 극값을 미분값인 f|에프영어'(x) = 4x3 − 9x2를 통해 찾는 예시를 보여준다.[36]
```python
# 계산을 통해 극솟값이 x=9/4에서 발생할 것이라고 예상할 수 있다.
x_old = 0
x_new = 6 # 알고리즘은 x=6에서 시작한다.
eps = 0.01 # 이동 크기(step size)
precision = 0.00001
def f_prime(x):
return 4 * x3 - 9 * x2
while abs(x_new - x_old) > precision:
x_old = x_new
x_new = x_old - eps * f_prime(x_old)
print(f"극솟값은 다음 위치에서 발생한다: {x_new}")
```[37]
위 코드는 x 값 하나에 대해서만 극값을 파악한다. 실제로는 여러 개의 특징값(feature)들이 있으므로, 해당 값들마다 '''병행적으로''' 결과 값을 구하면서 반복해야 한다.
7. 한국에서의 활용 및 연구 동향
이 문단은 비어 있습니다. 내용을 추가해 주세요.
참조
[1]
서적
Convex Optimization
http://dx.doi.org/10[...]
Cambridge University Press
2004-03-08
[2]
학술지
Cauchy and the Gradient Method
https://www.math.uni[...]
2020-01-26
[3]
학술지
Mémoire sur le problème d'analyse relatif à l'équilibre des plaques élastiques encastrées
1908
[4]
학술지
Variational methods for the solution of problems of equilibrium and vibrations
1943
[5]
학술지
The Method of Steepest Descent for Non-linear Minimization Problems
[6]
학술지
Two-Point Step Size Gradient Methods
[7]
서적
Optimization and Control with Applications
Springer
[8]
학술지
Convergence Conditions for Ascent Methods
1969-04
[9]
arXiv
On the distance between two neural networks and the stability of learning
2020-06-12
[10]
서적
Adaptive filter theory
Pearson Education India
[11]
서적
Introduction to Optimization
https://www.research[...]
[12]
서적
Iterative methods for sparse linear systems
https://archive.org/[...]
Society for Industrial and Applied Mathematics
[13]
학술지
Nonsymmetric Preconditioning for Conjugate Gradient and Steepest Descent Methods
[14]
서적
Functional Analysis
Pergamon Press
[15]
학술지
Survey of Optimization Algorithms in Modern Neural Networks
2023-01
[16]
학술지
Generalized Momentum-Based Methods: A Hamiltonian Perspective
https://epubs.siam.o[...]
2021-01
[17]
학술지
Accelerated Frank–Wolfe Algorithms
http://epubs.siam.or[...]
1974-11
[18]
arXiv
Adam: A Method for Stochastic Optimization
2017-01-29
[19]
학술지
Positive-Negative Momentum: Manipulating Stochastic Gradient Noise to Improve Generalization
https://proceedings.[...]
PMLR
2021-07-01
[20]
서적
Numerical Recipes in C: The Art of Scientific Computing
https://archive.org/[...]
Cambridge University Press
[21]
서적
Data Fitting and Uncertainty: A Practical Introduction to Weighted Least Squares and Beyond
Springer Vieweg
[22]
학술지
An optimal control theory for nonlinear optimization
2019-07
[23]
서적
Introductory Lectures on Convex Optimization : A Basic Course
Springer
[24]
웹사이트
Fast Gradient Methods
https://www.seas.ucl[...]
2019
[25]
학술지
Nesterov's Method for Convex Optimization
https://epubs.siam.o[...]
2023
[26]
학술지
Optimized First-order Methods for Smooth Convex Minimization
[27]
학술지
The Exact Information-based Complexity of Smooth Convex Minimization
2017
[28]
학술지
On the momentum term in gradient descent learning algorithms
1999-01
[29]
웹사이트
Momentum and Learning Rate Adaptation
http://www.willamett[...]
Willamette University
2014-10-17
[30]
웹사이트
The momentum method
https://www.coursera[...]
2018-10-02
[31]
서적
Fixed-Point Algorithms for Inverse Problems in Science and Engineering
Springer
[32]
웹사이트
Mirror descent algorithm
https://tlienart.git[...]
[33]
arXiv
Theory of Convex Optimization for Machine Learning
[34]
서적
最適化の数学
共立出版
2011-06-23
[35]
기타
경사 상승법
[36]
wiki
미분을 통해 계수를 유도하는 이유
[37]
블로그
이 코드에 대한 해설
https://m.blog.naver[...]
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com