Machine Learning/기본개념

머신러닝, 선형회귀에 대해 알아보자

CoderHan 2023. 5. 18. 02:09
반응형

https://developers.google.com/machine-learning/

 

Machine Learning  |  Google for Developers

머신러닝을 위한 교육 리소스

developers.google.com

Youtube에서 생활코딩 머신러닝 강의를 통해 기본 개념을 익혔지만

구글에서 제공하는 강의를 통해 머신러닝에 대한 기본 토양을 더욱 단단하게 만들기 위해 공부 시작!

 

머신러닝이란?

ML 시스템은 입력 방식을 결합하여 이전에 본 적 없는 데이터에 대한 유용한 예측을 생성하는 방법을 학습한다.

여기서 핵심은 입력방식 결합과 데이터에 대한 유용한 예측이다.

 

용어정리 

라벨 : 라벨은 예측하는 항목, 즉 y변수이다.

특성 : 입력변수로 단순 선형 회귀의 x변수이다.

예 : 데이터의 특정 인스턴스인 x를 의미한다. 라벨이 있는 예와 없는 예로 나뉜다.

모델 : 특성과 라벨 간의 관계를 정의한다. 우리가 머신러닝을 하면 만들어 지는 녀석이다.

 

선형회귀

y = mx + b

y : 우리가 예측할 값(라벨)

b : 편향이라고 칭하는 y절편이며 m0라고도 한다.

m : x특성의 가중이고 기울기와 동일하다.

x : 특성

여기서는 하나의 특성만 사용했지만 보다 정교한 모델은 각각 별도의 가중치를 갖는 여러 특성을 사용할 수 있다.

y = m1x1 + m2x2 +m3x3 + b와 같은 식은 세 가지 특성을 사용하는 모델이다.

 

우리가 학습한 모델을 실제 데이터와 비교하면 오차가 존재하는데 이 오차가 바로 손실이다.

개별 손실을 유의미한 방식으로 집계하는 수학적 함수인 손실함수가 있다.

 

= the square of the difference between the label and the prediction
  = (observation - prediction(x))2
  = (y - y')2

 

 

손실함수로 모델 간 더 정확도가 높음을 비교할 수 있다.

손실 줄이기

대표적인 예로 경사하강법이 있는데 위에서 쓰인 가중치를 함수로 만들어 최소를 찾는 방법이다.

경사하강법은 U자 형태로 생긴 그래프를 예로 들면 이해하기 쉬운데 U굴곡의 최하단점이

손실을 최소화 하는 기울기 m의 값이다.

 

시작점은 크게 중요하지 않고 학습률이 중요한데 여기서 학습률은 시작점에서 얼마나 이동할지를 정하는 값이다.

최소값의 경사가 0이라고 한다면 시작점의 경사가 음의 값이라면 U에서 왼편에 위치함을 뜻하므로 학습률만큼

오른쪽으로 이동한다 이를 반복하는 행위이며 만약 U자의 오른편으로 가서 경사가 양의 값이라면 학습률만큼 왼쪽으로

이동해서 최소값을 찾는 학습법이다.

 

경사하강법에서 1개의 배치가 전체 데이터세트였다고 가정했기 때문에 쉽게 해결할 수 있었지만 실제 데이터 세트에

수십억 또는 수천억 개의 예가 포함되는 경우가 많다. 그러므로 결과적으로 배치가 클 수 있으며 배치가 매우 크면

단일반복조차도 컴퓨팅하는데 시간이 매우오래 걸릴 수 있다.

 

따라서 이렇게 계산하는 것보다 확률적 경사하강법(GSD)를 통해 10~1000개의 예시를 무작으로 선택하여 실행하면 훨씬 효율적으로 원하는 갑을 얻을 수 있다.

반응형