람쥐썬더

[ML] 머신러닝 ? 본문

기타

[ML] 머신러닝 ?

람쥐썬더123 2022. 1. 6. 00:34

 

머신러닝이란 말그대로 '기계학습' 을 뜻한다

되게 그럴듯해 보이는 용어로 포장해놨지만 말 그대로 기계가 학습하는거다

우리는 기계가 학습할 수 있게끔 환경을 만들어주는 선생님 같은 존재라고 생각하면 비유가 될까

학생을 가르치는 선생님의 능력에 따라 성적이 좌우된다. ( 비싼 사교육 안한다는 가정하에 )

우리는 선생이고 학생을 가르쳐 시험을 보게했을 때 높은 성적이 나오게끔 하는것이 머신러닝의 목표다.

 

 

대표적인 머신러닝의 방법으로는

 

1. 지도학습

2. 비지도학습

+ 강화학습 ( 아직 잘 몰라서 패스 )

 

 

- 지도학습

지도학습이란 데이터에 대한 정답을 주고 기계가 학습할 수 있게끔 하는것이다.

쉽게 예를 들면 3+3 = 6 /  4+4 = 8  ..... 따위의 데이터들을 무수히 많이 던져준뒤 학습시키고

예측할때 5+5 = ? <= 이 물음표를 맞추게 끔 하는걸 지도학습이라고 할 수 있다

인간의 두뇌야 학습되어져있고 하니까 딱 보면 알겠지만 컴퓨터는 엄청난 멍청이라서 이런것 하나하나 가르쳐줘야한다.

 

 

 

- 비지도학습

반대되는 말이다 주어진 정답값 없이 학습하게끔 하여 예측하게끔 하는 모델이다.

주어진 정답이 없어서 스스로 데이터를 학습하고 각 데이터끼리 얼마나 유사한지의 특징을 학습하는 것이기 때문에 쉬운 방법은 아니다.

 

 

 

지도학습, 비지도학습 가릴것없이 머신러닝에서 자주쓰는 방법들이다.

앞에서 설명했던 것처럼 여러 데이터들을 학습 시킨뒤 시험(TEST)를 보게 했을때 시험을 잘 봐야 학습이 잘 되었다고 한다.

우리는 선생님이기 때문에 이 학생놈들이 얼마나 잘 학습했는지 평가를 꼭 해줘야한다.

공모전이나 연습 예제를 보면 알 수 있지만 분류모델의 경우는 평가를 하는 기준이 주제마다 다르기때문에( 통계적 차이 )

이를 꼭 유의해서 평가 지표설정을 해줘야한다.

 

 

 

너무 보기좋게 정리를 잘해두신 블로그가 있어서 링크를 걸어둘게용

평가지표 참고링크 : https://bigdaheta.tistory.com/53?category=965501

 

[머신러닝] 모델 성능 평가 지표 (회귀모델, 분류모델)

1.  모델 성능 평가 - 모델 성능평가란, 실제값과 모델에 의해 예측된 값을 비교하여 두 값의 차이(오차)를 구하는 것 - (실제값-예측값) =0 이 되면 오차가 없는 것으로, 모델이 값을 100% 잘 맞췄다

bigdaheta.tistory.com

 

 

 

이 평가방식은 총 세번으로 나뉜다. 

 

TRAIN(학습) VALIDATION(확인) TEST(검증)

 

 

왜 세번을 하냐..!!

그건 바로 모델의 과대적합과 과소적합을 확인하기 위해서..!!

 

이건 왜하냐?

이 학생녀석이 학교시험은 잘보는데 수능은 개판으로 쳤다? <= 이러면 편향적으로 공부했다고 보기 때문에

반대로 학교시험은 개판으로 치는데 수능은 잘봤다? <= 이건 좀 비유가 애매하네

 

아무튼 쉽게 풀어써보자면

이녀석이 검증할때는 학습이 잘됐다고 판단했는데  테스트 할때는 반대의 상황이 발생한다.

그럼 공부를 제대로 안했다고 판단하고 모델을(교육방식을) 수정해야하기 때문에 해주는것이다.

 

출처 : https://towardsdatascience.com/8-simple-techniques-to-prevent-overfitting-4d443da2ef7d

딱 보면 좀 어지러워 보이는데 사실 별거없다.

 

과대적합(Overfitting) 이다(?)

현재 검증모델에서는 아주아주 잘잡지만 그 외의 데이터가 들어왔을때는 개차반의 점수를 보여주는 녀석

( 수능특강은 기가막히게 푸는데 쎈수학 못푸는 녀석 )

 

과소적합(Underfitting) 이다(?)

여러가지 문제로 학습이 잘 진행되어지지 않은 녀석

( 수학익힘채도 못푸는 녀석? )

 

 

머신러닝(딥러닝도 마찬가지) 의 최종적인 목표는 오답(오차)을 최소화 하는것이다. ( 그럼 100점 받으니까 ! )