관리자

머신러닝의 개념에 대해 알아보자

머신러닝(machine learning)이란?

한국어로 직역하면 기계학습.

말 그대로 기계가 스스로 배우는 것이다.

흔히 기계는 멍청하다고 한다. 시키는 것 밖에 못하기 때문이다.

 

그래서 기계한테 작업을 시키려면, 프로그래머가 모든 경우의 수를 고려해서

A의 경우에는 a를 하고,

B의 경우에는 b를 하고,

C의 경우에는 c를 해. 라고 정해줘야 한다.

 

하지만,

1) 프로그래머가 모든 경우의 수를 생각할 수 없는 경우도 많고 ( 손글씨 )

2) 인간도 그 기준을 모르는 경우도 있다. ( 사진 속에서 고양이 찾기 )

 

예를 들어보자.

도형이 많이 그려진 그림 속에서 정사각형을 찾는다고 해보자.

이건 어렵지 않다.

검은색 선들 중에서 서로 수직이고, 길이가 같은, 연결된 4개의 선분을 찾으면 된다.

이렇게 기준이 명확한 건, 기계한테 기준을 주고 시킬 수 있다.

 

 

1) 하지만, 손으로 쓴 글자를 인식하는 경우를 생각해보자.

컴퓨터로 대충 그린 숫자 7만 해도 이렇게 다양한데, 기계한테 7은 이렇게 생긴거야~라고 명확한 기준을 말해줄 수 있을까?

 

2) 고양이를 묘사하라고 하면 어떻게 설명할 수 있을까?

사람마다 머릿속에 그려지는 이미지가 동일하지는 않지만, 우리는 사진을 보고 고양이인지, 아닌지 구별할 수 있다.

하지만 왜 이 사진이 고양이 사진인지 설명하라고 하면, 참 어렵다....

우리도 그 기준을 잘 모르는데, 컴퓨터한테 고양이는 이렇게 생겼으니까 고양이인지 아닌지 판단해봐~라고 시킬 수 있을까?

 

하지만, 머신러닝을 이용하면

1) 모든 경우의 수를 생각하기 어려운 경우,

2) 우리 조차 기준을 명확하게 모르는 경우

의 문제도 해결할 수 있다.

 

어떻게??

 

바로 학습을 통해.

 

여기서 학습이란,

1) 이미 답을 알고 있는 데이터를 통해, 답을 모르는 경우도 판단할 수 있도록 하는 것과

2) 여러 시나리오를 가정하고 계산해본 뒤, 가장 좋은 결과를 가져오는 것을 선택하는 것으로 생각할 수 있다.

 

비유하자면,

1) 연습 문제를 통해 유형을 익힌 뒤 시험을 보는 것과

2) 고양이 사진일 확률과 고양이 사진이 아닐 확률을 계산해서 더 확률이 높은 경우를 선택하는 것

으로 생각할 수 있다.

 

나름 풀어쓴 건데 와닿는 설명인지 잘 모르겠다....

 

다음 포스트에서는 머신러닝의 종류에 대해 알아보자

 

 

+ Recent posts