01. 머신러닝 간단 알아보기

2021. 9. 22. 19:46파이썬/머신러닝

자 머신러닝에 대해서 알아보자.

 

머신러닝이란 어떠한 과제를 해결하는 과정에서 특정한 평가 기준을 바탕으로 학습의 경험을 쌓아나가는 프로그램이다.

학습을 한다는 의미에서 인간과 유사하다. 그래서 머신러닝은 Artificial Inteligence, 즉 AI의 범주에 포함되고 있다.

 

머신러닝의 모델은 데이터를 가장 잘 설명할 수 있는 함수이다. 이 결과를 평가하고 더 나은 결과를 위해서 모델을 개선하며 수정한다.

모델은 이렇게 간단하지 않지만 예를 들자면 위 사진처럼 들 수 있다. 빨간 색인 기울기와 , y절편 등을 변화시키면서 모델의 적합도를 높인다.

 

머신러닝의 분류

1) Supervised learning (지도 학습)

- Input data에 대한 정답을 예측하기 위해 학습. 

- 데이터에 정답(Lable, Target)이 존재함.

- Output의 형태에 따라 실수 영역 전체에서 나타나는 회귀 분석과 불연속값으로 나타나는 분류 분석으로 나눌 수 있음

 

회귀 분석

예) 자녀의 키 예측,  주식 가격 예측, 회사의 수익 예측 등

분류 분석

예) 유방암 진단, 이미지 인식 등

 

2) Unsupervised learning (비지도 학습)

- Input data 속에 숨어있는 규칙성을 찾기 위해 학습

- 데이터에 정답이 존재하지 않음.

 

예) 고객군 분류, 장바구니 분석, 추천 시스템 등

 

3) Reinforcement learning (강화 학습)

- Trial & Error를 통한 학습

- 주위 환경과 자신의 행동 사이의 반복적 상호작용을 바탕으로, 최종적으로 얻게 될 기대 보상을 최대화하기 위한 행동 선택 정책을 학습

- 연속적인 단계 마다 상태(State)를 인식하고, 각 상태에 대해 결정한 행동(Action)들의 집합에 대해, 환경으로부터 받는 보상(Reward)을 학습하여, 전체 행동에 대한 보상을 최대화하는 행동 선택 정책을 찾는 알고리즘.

 

- 각 현재 상태에 대한 행동에 대해 보상을 받고, 전체적으로 보상을 최대화하자.

 

예) 로봇 제어, 공정 최적화, Automated data augmentation

 

학습(Learning)이란?

실제 정답과 예측 결과 사이의 오차를 줄여나가는 최적화 과정.

 

학습시킨 데이터에 대해 너무 타이트하게 fit하면 새로운 데이터가 들어올 때 에러를 일으킴.

새로운 데이터들에 대해서도 좋은 결과를 내게 하려면?

 

Cross validation (교차 검증)

데이터를 3개의 그룹으로 나눈다.

60%~70%의 Training data / 15%~20%의 validation data / 15%~20% Test data

모델을 학습                   / 가장 좋은 모델을 최적화,선택 / 모델의 정확도 파악 (평가)

- 여러 모델 or Hyper params 중 선택을 해야하는 경우가 아니라면 validation과 test를 나누지 않고 진행하기도함.

 

 

 

 

다음 이시간에.. (to be continue..)

반응형