선형 회귀 알고리즘

Lia·2021년 8월 17일
0

AI

목록 보기
3/11
Contents
1. 선형 회귀 알고리즘의 목표와 학습방식
2. 평균 제곱 오차
3. 경사하강법
4. 경사하강법의 한계

# 01 - 선형 회귀 알고리즘의 목표와 학습방식

선형 회귀 알고리즘은 단어 그대로 한 집합 내에서
값들을 가장 잘 예측할 수 있는 선형 방정식을 학습합니다.

위와 같은 단순 선형 방정식 이 있을 때에 선형 회귀 알고리즘은
적절한 W 와 b 를 찾게 됩니다.

그렇다면 선형 회귀 알고리즘이 찾은 W 와 b 값이 적절한 지는
어떻게 판단하게 될까요?


# 02 - 평균 제곱 오차

선형 회귀 알고리즘은 비용 함수의 값을 최소화 하는것을 목적으로
학습을 하게 됩니다.

이때 사용하게 되는 비용 함수의 한 종류인 평균 제곱 오차(MSE)
를 많이 사용하게 됩니다.

단순 제곱 오차의 공식은 위와 같습니다.
위 식 그대로 실제값 - 예측값 을 제곱한 다음 모두 더해 평균을 구합니다.
구한 평균이 바로 평균 제곱 오차의 결과값입니다.

그렇다면 선형 회귀 알고리즘은 어떠한 방식으로
평균 제곱 오차의 값을 최소화 할까요?


# 03 - 경사하강법

경사하강법이 바로 비용 함수의 값을 최소화 하는 방법 중 하나입니다.
경사하강법은 함수의 기울기를 이용하여 함수의 최솟값을 찾을 수 있는 방법입니다.

함수의 기울기와 비용함수의 관계를 나타내면 위와 같이
이차함수와 비슷한 모양의 그래프가 그려집니다.
이때 W를 기울기로 가지는 함수는 y=Wx 입니다.

함수의 기울기가 음수이면 함수값은 감소하게 되고
함수의 기울기가 양수이면 함수값은 증가되게 됩니다.

따라서 경사하강법에서는 기울기를 이용하여
x축의 이동할 방향을 정해야 합니다.
방향을 정할 때에는 다음과 같은 공식을 사용하게 됩니다.

an+1a_{n+1} : 이동할 x축 좌표
ana_{n} : 현재 x축 좌표
rnr_{n} : 이동 거리
PnP_{n} : 기울기 부호

위 식에서 rnr_{n}step size 라고도 부릅니다.
경사하강법에서는 이 step size 의 크기를 정하는것이 매우 중요합니다.
또한 rnr_{n} 값에 기울기를 직접적으로 사용할 수 있습니다.

위 그림은 과도하게 step size 의 크기를 크게 했을때에 상황을 나타내고 있습니다.
step size 를 과도하게 크게 정하면 위와 같이 발산하게 됩니다.
따라서 적절한 step size 를 정하는 것이 중요합니다.


# 04 - 경사하강법의 한계

경사하강법의 한계는 명확합니다.

경사하강법은 시작점을 무작위로 정하기 때문에 자칫 잘못하면
경사하강법으로 찾은 최솟값이 함수의 최솟값이 아닐수도 있습니다.

profile
하고싶은게 많아요

0개의 댓글