Coding Diary.

(Machine Learning) 선형 경사 하강법 구현하기 본문

Coding/Machine Learning

(Machine Learning) 선형 경사 하강법 구현하기

life-of-nomad 2023. 7. 12. 09:52
728x90
반응형

1. 선형 회귀 경사 하강법

앞에 글에서 손실함수 J의 최소점을 찾을 때까지

위 식을 반복하면 되었습니다. 이 식을 직접 구현하기 위해 error을 다음과 같이 정의하겠습니다.

벡터 x의 평균을 u_x로 나타내면

라고 표현할 수 있다고 이 전 글에서 설명하였습니다. 밑의 공식을 바탕으로 구현해보겠습니다.

2. gradient_descent 함수

함수 gradient_descent는 실제 경사 하강법을 구현하는 함수입니다. 파라미터로는 임의의 값을 갖는 파라미터들 theta_0, theta_1, 입력 변수 x, 목표 변수 y, 경사 하강법을 몇 번을 하는지를 나타내는 변수 iterations, 학습률 alpha를 갖습니다.

 

처음에 gradient_descent 함수에 넘겨주는 theta_0, theta_1 변수들은 0 또는 임의의 값입니다. gradient_descent 함수는 경사 하강법을 이용해서 최적의 theta_0, theta_1 값들을 찾아서 리턴합니다.

 

3. 선형 회귀 경사 하강법 코딩

위의 두 가지 개념을 참고하여 직접 구현해보면 다음과 같습니다.

위의 식을 실행하면 아래와 같은 결과를 얻게됩니다.

728x90
반응형