인간의 몸을 이해하려면 몸을 구성하는 기본 단위인 세포의 역할을 이해하듯이 딥러닝의 가장 말단에서 이루어지는 가장 기본적인 두 가지 계산 원리를 알아야 한다!
그것이 바로 선형 회귀와 로지스틱 회귀!
먼저 선형회귀란 가장 훌륭한 예측선 긋기라는 의미와 동일한데
예를 들어 사람은 ------를 해야 키가 크다. 라는 말이 있다.
여기서 ------는 독립변수(X), 큰 키는 종속변수(Y)이다.
우리가 알고 있는 키가 크기 위한 요인들은 유전, 식습관, 수면시간 등등이 있는데 여기서 말한 요인들이 독립변수이다.
만약 수집해온 데이터들을 가지고 실제 큰 키를 형성하는 요인들을 확실히 분석할 수 있다면
독립변수가 종속변수에 얼마나 영향을 주는 지의 정도를 알 수 있을 것이다.
이때 사용되는 대표적 방법이 바로 최소 제곱법!
최소제곱법이란 간단하게 모형과 데이터가 있다면
(모형,데이터)의 거리를 최소화하는 선을 찾는 것.
구하는 방법은 독립변수와 독립변수의 평균의 차이를 제곱한 모든 경우(시그마) /(독립변수와 독립변수의 평균과의 차이) * (종속변수와 종속변수의 평균과의 차이)의 모든 경우(시그마).
=> 가중치! 기울기라고도 표현한다.
그 거리를 최소화하는 선이 예측을 가장 정확히 한 직선이라는 것이다. 이 최소제곱법을 통해 나오는 그 영향을 주는 정도가 바로 가중치이며 독립변수와 그에 해당되는 가중치를 곱하면 종속변수가 된다.
즉, Y(큰 키) = a*X1 + bX2 + cX3 + ... + k
저 가중치를 알려면 기존 데이터를 가지고 어떤 선이 그려질지를 예측한 뒤, 아직 답이 나오지 않은 그 무언가를 그 선에 대입해야된다. 그만큼 선형 회귀의 개념을 이해하는 것이 딥러닝에 들어가는 첫 발판일 정도로 중요하다!
모두의 딥러닝에서 나온 파이썬 코드로 설명을 하면

이와 같이 x,y의 데이터들로 최소제곱법을 통해 최고의 기울기 a, y 절편 b(예측선)을 구했다!
하지만 이 최소제곱법으로는 여러 개의 입력을 처리하는 딥러닝을 들어가는데 어려움이 많기 때문에 또 다른 방식을 알아야 한다.
바로 평균 제곱근 오차 방법!
평균 제곱근 오차란 임의의 선을 그리고 난 후 이 선이 얼마나 잘 그려졌는지 평가하며 조금씩 수정해 가는 방법이다. 그러기 위해서는 이전에 그린 선과 현재 그린 선의 변화가 긍정적인지 부정적인지 판단해야 한다. 즉 오차를 작은 쪽으로 변화시키는 알고리즘을 사용한다.
그것이 바로 데이터와 예측 값의 차이의 제곱 최소화이다. 즉 실제 데이터와 예측 값의 거리가 가까울수록 좋다. 하지만 이렇게 계산하면 값이 커져 마지막에 제곱근을 씌워 준다고 해서 평균 제곱근 오차(Root Mean Squared Error, RMSE)라고 부른다.

다음 장에서는 오차를 줄이는 방법인 '경사 하강법'에 대해 알아보겠습니다!
열심히 한다고 했는데 10월 뒤로 고민이 많아져서 블로그가 좀 늦었습니다.. ㅠㅠㅠ
'딥러닝' 카테고리의 다른 글
모두의 딥러닝 (5) - 퍼셉트론 (0) | 2019.12.23 |
---|---|
모두의 딥러닝 (4) - 참 거짓 판단 장치 : 로지스틱 회귀 (0) | 2019.12.23 |
모두의 딥러닝 (3) - 오차 수정하기 : 경사 하강법 (0) | 2019.12.23 |
모두의 딥러닝 (1) - 처음 해보는 딥러닝 (0) | 2019.10.10 |
모두의 딥러닝 (0) | 2019.10.10 |