본문 바로가기

머신러닝

경사하강법(Gradient Discent)

반응형

배경

1차원 선형 함수에 대해서 직관 + 수동적인 방법으로 선형모델의 w, b 값을 찾아보았었다

그 과정에서 손실(loss)값이 줄어드는 방향으로 진행하였고 이것은 곧 선형대수에서 말하는 함수의 편미분(기울기) 값이 0인 부분을 찾는다는 것을 뜻한다

따라서, 이번엔 경사하강법(Gradient Descent)을 사용하여 모델을 트레이닝시켜보도록 한다

 

 

경사하강법(Gradient Descent)

f(x), f^(x) 를 비교하여, 손실 경향성(기울기)을 이용, 극값(global minimum)을 찾기 위한 방법론

→ 함수의 편미분(기울기)를 이용하므로 직관적이고 적용하기 쉽다는 장점

→ 단, epoch(세대) 이 진행되는 과정에서 학습률(learning rate)을 얼마나 반영할지, 다차원 함수의 경우 극값을 찾기 어려운 것을 어떻게 고려해야할지, 영향력이 작은 피쳐들을 어떻게 판별하고 제거해나갈지 등 다양한 이슈들이 남아있다

 

 

 

다차원 경사하강법 추가조사

선형함수의 극점은 단 한개이기 때문에 학습하기 좋았지만 실제 함수들은 더 복잡한 형태를 가진다. 다차원 함수에 경사하강법을 적용하는 것은 훨씬 복잡한 문제로 보인다

다차원 경사하강법 + 데모 시뮬레이션

→ 피쳐가 많을경우 초기값을 잡기도 어렵고 피팅해나가기도 어렵다는 것을 지난 실험과 이번 실험을 통해 알 수 있었다

→ 글로벌 미니멈 지점(극점)을 찾길 원하는데 이때 함수(모델)의 기울기를 활용한다는 것을 배웠다. 하지만 로컬 미니멈들의 존재 여부가 극점을 찾는데 어려움이 생긴다

→ 추가적으로, (위 레퍼런스와 관련 자료들에서)기울기에 대한 편미분값인 곡률(기울기의 기울기)을 활용하여 극점 여부를 판단, 나아가서 모델 최적화를 할 수 있다는 것처럼 말하고 있는것 같다 (내용이 어려워 느낌적으로)

→ 헤세 함수, 헤세 행렬(곡률 정보)을 통해 극점인지, 로컬 미니멈인지 판단할 수 있다는 것 같다

 

 

실습

모델, 트레이닝 추상화 적용

 

반응형

'머신러닝' 카테고리의 다른 글

모델 학습 및 추론 과정(논리 흐름도)  (0) 2023.11.20