# ML : Features and Polynomial Regression

Polynomial Regression


  • 다항 변수로 이루어진 regression
  • For example, if our hypothesis function is hθ(x)=θ0+θ1x1 then we can create additional features based on x1, to get the quadratic function hθ(x)=
    θ0
    +θ1x1+θ2x21
     or the cubic function hθ(x)=θ0+θ1x1+θ2x21+θ3x31
    • cubic function에 대한 내용은 밑에서 소개할 것!
  • 위와 같은 집이 있다고 가정하면, 집의 크기는 가로(frontage) * 세로(depth)가 된다.
  • 결국 집의 크기를 변수로 할 때, 변수의 갯수가 증가하여 다항식이 될 수도 있다.
  • 이렇게 변수 중 다차항(x의 제곱 또는 세제곱 그 이상)이 존재하는 경우를 Polynomial Regression 이라고 부른다. 
  • 만약 2차다항식(파란색 화살표)으로 표현한다면, 크기(size)가 증가할수록 어느 순간부터 가격이 감소하게 된다. 집의 크기가 커질수록 가격이 줄어든다는 것은 말이 안되기 때문에, 다른 다항식을 생각해야 한다.
  • 이 경우에는 3차 다항식을 사용하게 되는데, 3차 다항식을 사용하면 크기가 증가할수록 계속해서 가격이 올라가게 된다.
    • x1 = 크기, x2 = 크기의 제곱, x3 = 크기의 세제곱이라고 할 때, 집의 크기가 1에서 1000 사이의 범위를 갖는다면, x2 = 1에서부터 1000000, x3는 1에서부터 1000000000까지의 범위를 가질 것이다.
  • 여기서 x의 제곱으로 이루어진 모델을 quadratic function, x의 세제곱으로 이루어진 모델을 cubic function이라고 부른다.
  • 하지만, 3차 다항식으로 계속 증가하게 된다면 값이 너무 크게 표시될 수 있다.
    • 우리는 '값이 계속 증가하지만, 그 증가 폭이 너무 크지 않아야 한다'
    • 제곱근을 사용하게 되면 훨씬 편리하다.
  • 또는 Feature Scaling을 이용하여 값의 범위를 줄일 수 있다.
  • 만약 기억나지 않는다면 이전 포스팅을 참고해야 할 것이다. 각 size 값을 해당 식의 범위만큼 나누어서 표준값으로 만들어준다. 이렇게 되면 대략적으로 0에서 1 사이의 값을 갖게 될 것이므로 값의 범위가 굉장히 많이 줄어들게 된다.










댓글