[머신러닝] 2. 머신러닝 시스템의 종류 - 1

두비니

·

2020. 3. 1. 09:00

이 글은 '핸즈온 머신러닝' 책에

기반하여 작성되었습니다.

 

 

 

2. 머신러닝 시스템의 종류 - 1

 

 


 

 

머신러닝 시스템의 종류는 크게 세가지 범주로 나누어 생각합니다.

 

-사람이 지도하는가 (지도학습, 비지도학습, 준지도학습, 강화 학습)

-실시간으로 학습을 하고있는가 (온라인학습, 배치학습)

-실제 사례 기반인지 예측하는것인지 (사례기반학습, 모델기반학습)

 

 

 

오늘은 첫 번째 범주에대해 이야기해보겠습니다.

 

 

 

2.1) 지도학습, 비지도학습, 준지도학습, 강화학습

 

 

2.1.1) 지도학습

 

지도학습에는 알고리즘에 주입하는 훈련 데이터에 레이블이라는 원하는 답이 포함된다.

보통 분류하는 작업이 대표적인 예이며, 스팸필터를 예로 들자면

 

메일 샘플에 정상메일과 스팸메일의 태그를 달아서 일정량의 메일이 있는 훈련 세트를 머신러닝을 시킨 후, 새로운 샘플을 보고 스팸메일인지 정상메일인지 확인하는 것이죠.

 

 

또다른 전형적인 작업은 예측 변수를 설정해 새로운 샘플에 대한 타깃 수치를 예측하는 것입니다.

이런 작업은 회귀라고합니다.(주로 통계에서 많이 쓰이는 단어죠)

 

 

 

 

말로는 이해하기 어렵기때문에 예를 들어보면, 

중고차의 가격을 예측하려고 합니다.

중고차의 주행거리, 연식, 브랜드 등의 예측변수를 설정해 회귀분석 과정을 거친 후,

이를 기반으로 새로운 샘플의 타깃 수치인 가격을 예측하는 것입니다.

 

(응용통계학시간에 배운 회귀분석이 생각나네요..)

 

회귀분석 자체가 추정이기때문에(모든 머신러닝 시스템이 비슷한 느낌이긴 하지만..) 분류에 많이 쓰이는 로지스틱 회귀는 클래스에 속할 확률을 출력합니다.

 

 

 

2.1.2) 비지도 학습

 

 

비지도학습은 말그대로 지도학습의 반대로, 라벨링 없이 그냥 훈련세트만 주어지고, 머신러닝이 알아서 분류하는 방법입니다.

 

 

 

위 사진은 비지도 학습 알고리즘입니다. 이에대해서는 나중에 자세히 공부합시다.

다만 알아야 할 점은 상황에 맞는 알고리즘을 쓰는게 실행속도 및 성능에 영향을 끼치겠죠?

각각에 대한 설명을 쓰는건 귀찮으니 구글링을 하거나 책을 봅시당(저같은경우에는 '핸즈온 머신러닝'책 참고하였습니다.)

 

 

 

2.1.3) 준지도학습

 

 

그럼 준지도학습은 대충 지도와 비지도학습의 중간이겠죠?

 

준지도학습은 데이터의 일부만 레이블이 있는 경우를 말합니다.

삼성폰을 쓰시면 아실텐데, 사진 여러장을 보고 이 사람이 누구냐고 물을 때가 있습니다. 이때 이름을 입력해주면(A씨라고 합시다) 다른 사진에도 A씨가 인식되어있는 것을 볼 수 있습니다.

 

이를 시스템의 관점에서 분석하자면, A씨는 사진 2, 7, 23에 있다고 이미 인식을 했을텐데, 사람마다 하나의 레이블만 주어진다면 사진에있는 모든 사람의 이름을 알 수 있겠죠.(물론 시스템이 완벽하다는 전제 하에) 이러한 방법을 준지도학습이라고 합니다.

 

보통의 준지도학습 알고리즘은 지도학습과 비지도학습을 섞어 사용합니다. 보통 비지도학습으로 어느정도의 알고리즘을 얻은 후, 알고리즘을 조절한 후 지도학습방식으로 조정됩니다.

 

 

 

2.1.4) 강화 학습

 

 

강화학습은 위의 방법과는 사뭇 다릅니다. 우선 학습하는 시스템을 에이전트라고 칭하며, 환경에 대한 행동을 실행해 보상, 혹은 벌점을 받습니다. 그렇게 시간이 지나면 최상의 전략, 즉 정책을 학습하게 됩니다.

 

강화학습의 예는 딥마인드의 알파고나, 예전에 유투브에서 유행했던 '유전적 알고리즘으로~'시리즈가 있겠네요.

 

**정정합니다. 밑의 유투브영상은 강화학습이라기보다는 그냥 고전적 알고리즘 접근이라고 할 수 있겠네요. 허나 다음 세대로 이어지는 유전자들을 보상, 그리고 도태되는 유전자들을 벌점이라고 생각한다면 '이런 느낌이다'라는 이해를 도울 수 있을 것 같아 따로 지우진 않겠습니다.**

https://www.youtube.com/watch?v=Yr_nRnqeDp0

 

 

 

글이 너무 길어져서 일단 여기까지!