부트캠프/구름ICT AI

태태개발일지 - 구름톤 선형회귀

태태코 2025. 6. 4. 17:09
반응형

선형회귀

x에 대한 변수가 하나일 때
단순선형회귀

 

 

ex) y = ax + b

 

x는 독립 변수 , y는 종속변수이다. 즉 => x의 값에따라 y값이 변한다.

다만 정확하게 계산 하려면 a와 b의 값을 정확하게 알아야한다.

 

즉: 선형회귀는 a와b의 값을 정확하게 찾아내는 작업이다.

 

최소제곱법을 사용하면, a와 b를 바로 구할 수 있다.

 

a = sum((x-x평)(y-y평))/sum((x-x평)**2)

 

 

 

평소에는 힘든 최소 제곱법

앞으로 만나게 될 문제에는 이 최소 제곱법을 사용하기엔 힘들다!

그이유는 실제 예시들은 변수가 많은 경우가 대다수이기 때문이다.

 

 

그래서 가장 많이 사용하는 방법은,  조금씩 변화를 주고, 변화가 긍정적이면 오차가 최소가 될 때까지 이방법을 반복하는 방법이다.

 

하지만, 선을 긋고 수정하는 과정에서 빠지면 안되는 것이, 나중에 그린 선이 먼저 그린 선보다 더 좋은지 나쁜지를 판단하는 방법이다.

주로 이 방법이 평균 제곱 오차이다.

 

출처: 모두의 딥러닝

 

오차의 합의 제곱을 = error로 두고

오차의 합의 제곱의 평균을 MSE(평균 제곱 오차) 라고한다.

 

A(기울기)의 최적의 값

 

a 즉 기울기는 너무 커도 너무 작아도 안되고 제일 최소값인 m의 위치에 있을 떄가 가장 오차가 적다.

이러한 판단을 하게 하는 방법이 바로 미분 기울기를 이용하는 경사 하강법(gradient decent)이다.

 

미분값이 0인 곳이 x푹과 평행한 직선이 된다. 즉 미분값이 0 인 지점을 찾는 것이다.

 

1 | a1에서 미분을 구한다.

2 | 구한 기울기의 반대 방향(기울기가 +면 음의 방향, -면 양의 방향)으로 얼마간 이동시킨 a2에서 미분을 구한다

3 | 앞에서 구한 미분 값이 0이 아니면 1 2 과정을 반복한다.

 

기울기의 부호를 바꾸어 이동시킬 때 적절한 거리를 찾지 못해 너무 이동시키면 a 값이 한점으로 모이지않고 발산하는데, 이를 조절하는 것을 학습률 (learning rate) 라고한다.

 

경사 하강법은 오차의 변화에 따라 이차 함수 그래프를 만들고 적절한 학습률을 설정해 미분 값이 0인 지점을 구하는 것이다.

 

 

반응형