본문 바로가기
활동/2022 동계 모각코

[22동계모각코] 2회 계획 및 평가

by JJong | 쫑 2023. 1. 3.

시작 시간 : 23-01-03 오후 6시

오늘의 목표

LG Aimers: AI전문가과정 - Module 3. 『지도학습(분류/회귀)』 수강


linear regression

선형 회귀를 하는 방식은 'y = ax + b' 혹은 'Y = θ0 + θ1 * x1' 라는 식에서 시작한다(x0 = 1). 더 자세한 이야기를 강의에서 들었지만 머리에 잘 들어오진 않았다. 하지만 이 식만은 제대로 알아가기로 했다.

입력 x에 대해서 올바른 출력 Y를 하기 위해서는 bias(b, θ0)와 weight(a, θ1)가 중요하다. 그리고 인공지능은 이 값들을 마구 바꿔 계산해보며 모든 학습 데이터에 대해 올바른 값을 내는 작업을 수행한다. 이것이 바로 학습이다.

그렇다면 이 값들은 무슨 기준으로 이리저리 바꾸어보는 것일까? 그냥 단순하게 random으로? 아니면 휴리스틱한 방법으로?

정답은 Hypothesis funtion(h함수)으로 바꾸는 것이다. 선형 함수는 선형대수의 linear equation을 통한다면 금방 계산할 수 있다. 이것은 나도 자신이 없는 부분이니 당장은 메모만 하고 넘어가겠다.

  1. 처음에는 파라미터(θ0, θ1)에 무작위으로 아무 값을 설정한다.
  2. 그리고 그것을 MSE(최소제곱오차, Mean Squared Error; 출력값과 정답 사이의 차를 제곱한 값의 평균)을 통해서 평가한다.
  3. 최적해 알고리즘으로 적당한 θ0, θ1을 구해나간다.

Gradient descent vs normal equation

오늘 배운 최적해 알고리즘은 위 두 가지였다. 하나는 너무도 많이 들어본 경사하강법(전자), 다른 하나는 오늘 처음 알게 된 알고리즘이다.

각 알고리즘의 장단점을 정리만 하겠다.


Gradient descent

여러 번의 반복적인 과정을 수행을 통해 해를 얻어 나간다. 행렬의 크기가 크더라도 반복적으로 해를 구해나갈 수가 있다. 하지만 global optimum가 아닌 local optimum에 빠지는 문제가 있다.

파라미터들이 이루는 error surface를 미분했을 때, 그 값이 0이 되는 지점이 바로 최적해(optimum)이다. 그리고 이때의 파라미터들로 학습을 종료한다.


normal equation

한 번의 계산으로 해를 구한다. 하지만 그 해를 구하기 위해선 X^T * X^-1 를 계산해야 한다. 이 경우에는 샘플 사이즈가 굉장히 늘어나게 되는 경우에 역행렬을 구하기 어려워지는 문제가 발생한다.

 

댓글