본문 바로가기

PROJECT

[부스트코스 TensorFlow] Machine Learning 용어 와 개념과 Simple Linear Regression

1. 머신 러닝이란

  -Limitation of explict programing

   Spam filter : 규칙이 너무 많음

   Automatic driving : 이것또한 규칙이 많음

 

 결국 ..프로그래머가 배우지 않고 프로그램이 데이터를 가지고 학습하게 하자 

 

Supervised learning

   예를 들어 고양이 사진을 많이 가지고 학습시키면 어떠한 고양이 사진이라도 고양이라고 인식하게함.

 

Unsupervised learning

  자동적으로 유사한 것들을 모음. (구글 뉴스, 단어 등등... ) 

  즉, 데이터를 보고 스스로 학습

 

 

2. Supervised learning

  Traning data set : 

   아래 그림과 같이 특정 입력 값에 대해 결과값이 정해져 있는 데이터 모음을 말하는 것.

https://copycode.tistory.com/149

 결과에 따라 3가지 분류로 나눠볼 수 있다.

   -  regression

     ex ) 시간에 따른 시험 점수로 예측할 수 있게 함

     10시간 : 90점

     9 시간 : 80점 

     만약 84점이면... 9 시간 정도 공부했구나..

  - binary classification

    ex ) pass / non-pass

  - muli-label classification

    ex ) A, B, C, D, F 같이 레이블을 나누어 예측함.

 

 

3. Simple Linear Regression ( 선형회귀 ) 

 - regression

   전체의 평균으로 되돌아간다.. 라는 의미라고도 할 수 있다.

     

https://ko.wikipedia.org/wiki/%EC%84%A0%ED%98%95_%ED%9A%8C%EA%B7%80

위의 그림과 같이 빨간색을 잘 대변하도록 직선을 긋는것이며 방정식 ( y = ax + b )으로도 점들을 대변할 수 있다. 

 

-Cost : 실제 데이터 값과 선의 값과의 차이 

우리의 목표는 cost를 줄이는 것이다.

https://pythonkim.tistory.com/10

위의 식을 설명하자면 H(x) - y 즉, 가설에서 실제 데이터 값을 뺀것이 음수 또는 양수로 나타나면 cost의 값을 더하면 무의미하여 제곱을 해준다. 이후 평균을 낸 값이 위의 식이라 할 수 있다.

 

4. Simple Linear Regression ( 선형회귀 ) 구현하기

 

    - Gradient descent 

      cost를 최소화 하기위한 알고리즘

     우리의 목표는 H(w) = Wx + b에서 b는 0으로 수렴하고 H(w)와 Wx의 값이 같아지는 것이다.

 

 - 전체 코드

위에 결과를 보면 b의 값은 거의 0으로 수렴 W값은 1로 수렵하는 것을 볼 수 있다.