머신러닝

 


머신 러닝(Machine Learning)은 사람이 일일이 규칙을 정해주지 않아도, 컴퓨터가 스스로 데이터를 보고 학습하며 점점 더 똑똑해지는 기술이다. 예전에는 어떤 문제를 해결하려면 사람이 일일이 '이럴 땐 이렇게 해라'라고 알려줘야 했지만, 머신 러닝은 예시만 많이 보여주면 컴퓨터가 스스로 패턴을 찾아내는 방식이다.

머신러닝 개념

머신 러닝은 크게 세 가지로 나뉜다. 지도 학습, 비지도 학습, 그리고 강화 학습이다.

먼저 비지도 학습은 정답을 알려주지 않고, 비슷한 데이터를 알아서 묶는 방법이다. 예를 들어 마트 고객들의 구매 기록을 바탕으로 고객을 분류한다고 해 보자. 어떤 고객이 '우수 고객'인지 아닌지에 대한 정답은 없지만, 비슷하게 쇼핑하는 사람들끼리 묶어서 유형을 나눌 수 있다. 나중에 이 그룹들을 다시 분석하면이 그룹은 우수 고객 같고, 이쪽은 관심 고객 같네하고 판단할 수 있다. 비지도 학습에서는 이런 분류를 사람이 다시 보고 해석해야 한다. 이때 대표적으로 쓰이는 알고리즘이 바로 k-평균(k-means) 알고리즘이다. 이 방법은 고객을 예를 들어 5개의 그룹으로 나눈다고 하면, 각 그룹의 중심을 정해 놓고, 그 중심과 가까운 고객들을 같은 그룹으로 묶는다. 그리고 중심을 계속 조정하면서 그룹을 좀 더 정교하게 나눈다.

다음은 지도 학습이다. 지도 학습은 정답이 있는 데이터를 이용해서 학습하는 방법이다. 예를 들어 주가 예측을 하고 싶다면, 과거의 주가와 그에 영향을 준 여러 요소들(뉴스, 거래량, 금리 등)을 데이터로 넣어준다. 그러면 컴퓨터는 이 데이터를 보고이런 조건일 땐 주가가 이렇게 되더라는 규칙을 스스로 만들어 낸다. 이렇게 학습된 모델은 새로운 데이터를 받으면, ‘이 상황에서는 주가가 이만큼 오를 것 같아라고 예측할 수 있게 된다.

가장 많이 알려진 예는 개와 고양이를 구분하는 문제다. 컴퓨터가 그림만 보고 이게 개인지 고양이인지 구별할 수 있게 만들고 싶다면, 먼저이건 개인 사진’, ‘이건 고양이 사진이라고 표시된 수많은 사진을 컴퓨터에게 보여줘야 한다. 그러면 컴퓨터는 각각의 사진에서 어떤 특징이 있는지를 배우게 되고, 나중에는 새로운 사진을 보여주면 이게 개인지 고양이인지 스스로 판단할 수 있게 된다. 이처럼 지도 학습은 정답을 미리 알려주고, 그걸 기준으로 학습하는 방식이다.

마지막으로 강화 학습은 조금 다른 접근이다. 지도 학습이나 비지도 학습은 데이터가 한 번에 주어지고 그것을 기준으로 학습하지만, 강화 학습은 행동을 한 다음에 그에 따른 보상을 받으면서 학습한다.

예를 들어 아기가 걸음마를 배우는 과정을 생각해 보자. 아기는 처음부터 잘 걷지 못한다. 왼쪽 다리를 먼저 들었다가 오른쪽으로 넘어지면 아프다. 그럼 다음엔 반대로 시도해 본다. 서서히 덜 넘어지는 방법을 배워 나가는 것이다. 부모가 칭찬해주고, 시야가 넓어지고, 스스로 뿌듯해지는 경험은잘 걸었을 때 받는 보상이다. 아기는 반복 실험을 통해, 즉 여러 번 넘어지고 다시 일어서면서이렇게 하면 덜 아프고 더 잘 걸을 수 있네하는 방식을 배운다. 강화 학습도 이런 식이다. 무엇이 정답인지 미리 주어지지 않는다. 다만 어떤 행동을 했을 때 '잘했어!' 혹은 '이건 아니야' 같은 신호를 받고, 그걸 바탕으로 더 나은 선택을 하도록 학습해 나간다.

이 과정을 수학적으로 설명한 것이 바로 MDP(Markov Decision Process)이다. 강화 학습은 MDP를 기반으로 해서 만들어졌고, 강화 학습을 진짜로 이해하려면 MDP 개념도 꼭 알아야 한다. 이 부분은 뒤에서 자세히 다룰 예정이다.

이 책의 목표는 강화 학습을 이해하는 것이므로, 그와 관련이 깊은 지도 학습에 대해서는 좀 더 자세히 다루고, 비지도 학습에 대해서는 간단히만 짚고 넘어가려 한다. 너무 어렵게 느끼지 말고, 하나씩 천천히 따라오면 된다.


댓글 쓰기

Please Select Embedded Mode To Show The Comment System.*

다음 이전