머신러닝

머신러닝 정의와 종류

민랑이 2021. 6. 16. 21:56

- 머신러닝이란?


 4~5년 전만 하더라도 머신러닝을 인공지능과 비슷한 개념으로 많이 사용해왔습니다. 인능지능이라 해봤자 뭔가 분류하거나 예측하는 것 이상은 할 수 없었기 때문이죠. 하지만 4~5년 전부터 딥러닝이 발전하면서 머신러닝과 인공지능을 구분해 부르기 시작했습니다. 머신러닝의 정의는 인공지능과 똑같지만, 사용하는 분야가 조금 다르다고 보면 될 것 같습니다. 최근의 머신러닝은 행과 열이 존재하는 행렬을 이용해 뭔가 예측 또는 분류하고 싶은 때 사용한다고 보면 됩니다. 이미지 또는 텍스트와 같은 정형화돼 있지 않은 데이터를 사용할 때는 딥러닝을 사용한다고 보면됩니다. 크게보면 머신러닝은 인공지능 안에 포함되는 개념이라 볼 수 있습니다. 다만 비전문가나 대중에게 이야기 할때는 용어를 혼용하기도 합니다. 

 

-머신러닝의 종류


 머신러닝과 딥러닝의 공통 다어인 러닝('Learning'), 즉 학습을 하려면 '가이드' 또는 '정답'이 필요합니다. 머신러닝 모델의 학습 목표는 '데이터(input)에 대한 모델의 결과(output)가 정답(Label)에 가깝게 나오도록 학습시키는 것'이라 볼 수 있습니다. 예를 들면, 고양이 사진을 모델에 입력하면 고양이로 분류하는 모델을 학습시키거나 과거의 주가 데이터를 입력하면 미래의 주가를 예측하는 모델을 만드는 것이라 볼 수 있습니다. 그렇다면 어떤 방법으로 학습을 시킬까요? 전반적으로 머신러닝은 다음과 같은 방식을 사용합니다.

1. 데이터를 모델에 넣고 결과를 낸다.

 

2. 결과를 정답과 비교해 다른 만큼 모델을 변경한다.

 

3. 특정 조건이 만족할 때까지 1,2를 반복한다.

 

위의 2번째 단계에서 모델의 결괏값이 실제 정답과 어떤 차이가 있는지 수치화할 필요가 있습니다.

즉, 이 수치화된 차이를 함수화한 것을 '손실함수(Loss Function)' 또는 '비용 함수(Cost Function)'라고 합니다. 

다시 말해, 손실 함수는 모델의 선택에 대해 얼마나 손실이 일어났는지를 정의하는 함수로, 이 의미의 맞게 모델을 손실 함수의 값을 줄이는 방향으로 학습합니다. 손실 함수는 보통 스칼라값으로 정의하는데, 모델이나 Task에 따라 다양한 종류가 존재합니다. Loss를 어떻게 설정하느냐가 모델 학습의 중요한 핵심 요인이 되기도 합니다. 손실 함수 중 가장 대표적인 함수로는 Mean Squared Error(MSE)를 들 수 있습니다.