본문 바로가기
  • Seizure But Okay Developer
머신러닝/Coursera 강의 정리

1주차 강의 내용 정리 - 2

by Sky_Developer 2023. 3. 8.

개요

전체적인 Supervised learning 의 과정에 대해서 살펴볼텐데, 그 중 Linear regression 이라는 모델에 대해서 살펴볼것임

Linear regression

  • Supervised learning 에 속하는 모델로 현재 가장 많이 사용됨

예제를 통해 Linear regression 에 대하여 알아보도록 하자,

아래 그림처럼, 최근 집이 팔린 내역에 대한 데이터가 그래프에 나타나 있고, 당신은 집 크기에 따른 가격을 예측하고 싶다고 하자. 만약 1,250 feet 크기의 집 가격을 알고 싶다면 어떻게 하면 될까?

 

우리가 시도할 수 있는 것중 하나는 아래 데이터 셋들을 가지고 Linear regression 모델을 만드는 것이다.

그렇게 만든 모델은 아래 그림과 같이 데이터들의 분포에서 일자 형태의 선으로 나타난다.

  • 집값이 분포된 위 그래프에서 초록색 선이 linear regression 모델이다. 추측컨데 right answer 을 통해서 학습을 하기 때문에 선형적인 그래프로 표현되는 것일꺼다.
  • 1,250 feet 크기의 집의 가격은 Linear regression 모델에 교차되는 y축 값을 따라가다보면 대략 220,000 달러로 책정이 된다.
  • Linear regression model은 Supervised learning의 특정 타입 중 Regression Model에 속한다. Regression model은 숫자를 예측한다. Predict number, Infinitely many possible outputs.
    • Supervised learning에 속하는 이유는 정답을 통해 학습하기 때문이다. 위 예제에선 각 크기에 따른 집값들을 통해 학습을 했다. 그리고 집값을 예측하기 때문에 Regression model에 속한다.
  • Regression model과 상반되는 모델은 Classification model 이다. Classification model은 분류를 예측하거나 분류를 나눈다. Predict categories
    • 개/고양이 판별, 환자 병 진단 등
    • Small number of possible outputs, 적은 수의 출력값만 존재한다. 적은 수라는게 상대적이고 중의적인 표현이지만 쉽게 생각하면 된다. 예를 들면 개/고양이 판별의 경우 개 또는 고양이라는 2가지 출력값만 존재하고, 병 진단을 통해 결과가 10개가 나올 경우 이 또한 무한하지 않은 제한된 출력값만 존재한다.

이제 그래프의 데이터를 표로 나타내어 보자.

  • 위에선 47개의 학습 데이터가 있고, 그래프의 x 표시들은 표 안에 데이터들을 나타낸 것이다.
  • model 을 학습할 때 쓰는 데이터들은 training set 이라고 부른다.
    • 만약 고객의 집 가격을 알려주려고 하는데 기존 데이터 목록에 존재하지 않는 경우 어떻게 해야 할까? 기존 데이터 목록을 training set 으로 하여 model에게 학습시키면 고객이 원하는 집의 가격을 예측할 수 있다.
  • machine learning의 표준 표기법으로 input 과 output 을 나타내면 각각 x, y 에 해당한다.
    • x 는 input, y는 output 이며, m 은 데이터 전체 갯수이다.

  • 각 변수 별로 좀 더 자세히 설명하자면 아래와 같다.
    • x는 input 값이며 "feature" 라고도 한다.
    • y는 output 값이며 "target" 라고도 한다.
    • m은 학습 예제의 전체 갯수 이다.
    • (x,y) 는 한 개의 학습 예제이다.
    • (x^(i), y^(i)) 는 i 번째의 학습 예제이다.

 

이제 배운 내용을 아래 그림으로 정리해보자

  • training set은 feature(input) 과 target(output)의 집합이다.
  • learning algorithm은 training set 을 통해 학습을 한다.
  • 그러면 learning algorithm은 f 라는 function(함수)을 생성한다.
  • x -> f -> y-hat 그림 설명
    • x는 feature, f 는 model, y-hat 은 prediction(예측값) or estimated value of y (예상되는 y값) 이라고 부른다.
      • y-hat 과 y의 차이는, y는 target 즉 training set에서 존재하는 실제 값을 의미한다면 y-hat 은 실제하지 않는 예측값을 의미한다. 그래서 예측값이 예상대로 일치할 때도 있고 일치하지 않을 수도 있다.
    • 비유하자면 f는 커피머신이고 x는 원두이며 y는 에스프레소다..
    • 만약 당신이 집을 판다고 한다면, 집 사이즈를 input으로 제공할 경우 우리의 model (f)은 집의 예상값을 제공한다.
  • f 는 함수라고 했는데 이걸 수학 방정식으로 어떻게 표현할 수 있는가?
    • 현재는 f 가 그래프에서 선 형태로 그려진다고 가정하자. 그러면 아래와 같이 나타낼 수 있다.
    • f(x) = wx + b (위 그림의 아래 첨자 f(w,b) 는 생략해서 왼쪽과 같이 나타낼 수 있음)
    • w,b 는 숫자이며 이들 값에 의해 x(input)에 기반하는 y-hat 의 값이 결정된다. 
      • 정리하면 f는 함수이며 x를 input 값으로 받아들여 w, b 값에 의존해 이들 값에 따라서 예측값(y-hat) 을 산출해낸다.

 

이쯤에서 non-linear function 의 사용방법이 궁금해지는데, 우선은 linear function 에 대해서 기본적으로 알고 난 후 다양한 상황에서 쓰일 수 있는 non-linear function에 대해서 알아본다.

 

Linear regression Model 은 명확하게 표기하면 아래와 같다.

  • Linear regression with one variable.
    • 하나의 feature 만이 존재, ex) 집 크기
  • univariate linear regression
    • 하나의 변수 만이 존재

나중에 가선 다양한 종류의 regression을 확인할 것이고, 이들은 하나의 변수나 feature 만이 아닌 다양한 input들을 값을 예측할 수 있다.

이제 linear regression model 이 동작하게 하기 위해선 cost function을 설계해야 한다. cost function은 linear regression을 학습시키는 데 외에 다른 여러 AI 모델들을 학습시키는데 사용이 된다.

 

댓글