STUDY/Python

머신러닝? 선형회귀, 손실함수, 코랩 | 앞으로 배울 머신러닝 , 딥러닝 | 모국어가 어려워진다.

nicesugi 2022. 5. 12. 15:18

앞으로 배울 기본 구조는 항상 선형 1차 함수에서 시작 ! 

계산은 기계가 하니까 개념만 이해하면 된다고 한당..

 

 

모든 문제는 선형으로 풀 수 있다라는 가정이  "선형회귀"

일단 선형으로 풀어보겠다는 것이고 이 선형은 1차 함수로 알고 있으면 된다.

 

H(x) = Wx + b          <     얘가 기본으로 깔고 가는 형식인 듯

h : hypothesis

w : weight 가중치

b : bias 편향성

 

행렬 형태로 매트릭스 형태임

 

머신러닝은 기계가 스스로 학습하는걸 뜻하고 AI 하위 집합 개념이다.

정답을 맞추기 위한 가설의 시작은 선형회귀

가설을 정답값에 맞추기 위해 손실함수 cost function, loss funcion 이 생기는데

이 손실함수를 기계는 

H(x) = Wx + b  의 [ w와 b ]를  바꿔가면서 cost가 미니마이즈가 되도록 방향으로 학습 시킨다.

 

저 코스트가 미니마이즈가 되기 위한 실험 방법 중 경사 하강법이라는게 있는데,

gradient descent method 경사 하강법 ^^(난 한글이 더 어려워보인다는거)

아무튼

목표는 cost가 최소인 지점을 찾아가는 것.

말 그대로 조금씩 w값을 조정해 cost를 움직이고 움직여 정답값을 향해 간다.

정답값에 가까워지는 방향이 (하강)이라면 보상을 주고 반대방향으로 간다면 보상을 주지않아서 기계가 정답값을 향해 갈 수 있다.

이런 iternation 반복학습을 통해 경사하강법을 하는 '간격'의 거리 또한 중요하다.

learning rate라고 하는데 global cost minimum을 찾기 위해 값을 바꿔가면서 실험하는 것이 좋다.

간격이 크면 팅겨서 무한대 overshooting를 표시한다고 한다.

 

경사하강법은 그래프의 굴곡이 완만하지 않아 굴곡에 빠질 때가 있다. > local minimum

initial rate는 랜덤 시작이라는 점을 참고해

optimizer 안에 경사하강법 방법이 포함되어 여러가지 옵티마이저를 써서 글로벌 미니멈을 찾을 수 잇는지 확인을 한당.

이 과정이 굉장히 노가다라고 하더라,..

 

이런 방법을 이용해 머닝러닝 모델을 학습시키고 평가를 해야하는데

이걸 통틀어 데이터셋 분할 Original Set.이라함

크게 [학습 training] 과 [평가 testing] 로 나누고,

학습 training은 [training set] + [validation set], 학습과 검증으로 나눈다.

 

나는 평가를 제외한 학습과 검증을 배울 예정이다.

training set 에서는 머신러닝 모델을 학습시키고

validation set 에서는 성능을 검증하고 튜닝하는 지표의 용도로 사용한다.

   이 데이터는 정답 라벨이 있지만 직접 보여주진 않고, cost와 optimizer 등을 바꾸면서 모델을 검증하는 용도로 사용한다.

 

 

실습은 Colab에서 진행될 예정

코딩을 한다고 꼭 파이참, vsc 등 설치할 필요가 없다.

홈페이지를 방문에 어떤 시스템인지 확인 해보는 것도 좋을 것 같다.

 

 

Colab이 궁금하다면 클릭 !

 

Welcome To Colaboratory

Run, share, and edit Python notebooks

colab.research.google.com

 

 

 

 

 

대표사진 출처 : https://www.sap.com/korea/insights/what-is-machine-learning.html

반응형