4. 자료와 학습(중급) part1. 머신 러닝(1) : 지도학습

part1. 머신 러닝(1) : 지도학습

  위의 사진에는 4마리의 동물이 있습니다. 눈을 크게 뜨고, 사진에서 개와 고양이를 찾아봅시다. 개와 고양이는 각각 몇 마리일까요?

 여러분은 사진 속 동물들이 개인지 고양이인지 어떻게 알아냈나요? ‘그냥 보기만 해도 알 수 있다고 생각했을지도 모르겠습니다. 어쩌면 개와 고양이의 특징을 찾아 이야기할 수도 있겠네요.

 그렇다면 우리들은 개와 고양이를 어떻게 구별할 수 있을까요? 개와 고양이를 한 번도 보지 못한 사람은 구별할 수 있을까요? 당연히 개와 고양이를 보지 못하고 특징을 학습한 적이 없다면 그 사람은 개와 고양이를 구별할 수 없습니다. 개와 고양이를 경험하면서 학습하였기에 구별이 가능한 것입니다.

 그렇다면 기계(컴퓨터)도 인간처럼 경험을 통해 학습하면 개와 고양이를 정확히 찾아낼 수 있지 않을까? 라는 생각에서 기계학습(Machine Learning)이 시작되었습니다. 즉 기계학습은 데이터를 이용해 기계를 학습시켜, 스스로 결정을 내리거나 예측을 할 수 있도록 하는 인공지능의 한 방법입니다. 기계가 경험을 통해 무언가를 학습하는 기계학습을 알아볼까요?

기계학습(머신 러닝)이란?

기계학습 방법에는 지도학습(Supervised Learning), 비지도학습(Unsupervised Learning)강화 학습(Reinforcemnet learning)의 세 가지 주요 범주가 있습니다. 필요에 따라서는 세 가지 방법을 적절히 섞어서 사용하기도 합니다.

 먼저 지도 학습은 문제와 답이 정해져 있는 자료들을 기계가 학습하는 방법입니다. 예를 들어 개와 고양이를 직접 보여주거나 사진을 주면서 이것은 개’, ‘이것은 고양이이렇게 답을 제시하면서 학습시키는 방법입니다

 다음 비지도 학습은 개와 고양이를 학습하지 않은 기계에게 개와 고양이 사진을 주면서 스스로 공부해보도록 하는 것입니다. 컴퓨터가 스스로 개와 고양이의 특징을 찾아 구별을 하도록 합니다. 답을 스스로 찾아야 하기 때문에 일반적으로 지도 학습보다 많은 데이터가 필요하고 결과값이 사람이 원하지 않은 결과가 나올 수 있습니다.

 마지막으로 강화 학습은 기계에게 목표를 알려주고 데이터를 통해서 결정할 때마다 그 결정에대한 보상을 합니다. 목표에 가까운 결정일수록 높은 보상을 하면서 사람이 원하는 방향으로 기계가 학습하도록 합니다.

먼저 지도 학습에 대해서 좀 더 자세히 알아볼까요?

지도학습(Supervised Learning)

 지도학습은 컴퓨터에게 문제와 답을 알려주는 방법입니다. 컴퓨터는 문제(입력)와 답(출력)을 학습하여, 새로운 문제에 대한 답을 찾아내지요. 이러한 지도학습의 종류는 크게 분류(Classification)회귀(Regression)가 있습니다. 분류와 회귀는 어떤 차이점을 가질까요? 학생의 공부 시간을 예로 들어봅시다. 지금까지 시험을 봤던 수많은 학생들의 공부 시간과 점수, 합격과 불합격 여부를 학습한 컴퓨터가 있습니다. 이 컴퓨터가 공부 시간에 따라 합격/불합격 여부를 예상하여 답을 내린다면, 이는 분류에 해당합니다. 반면, 100점 만점에 몇 점 정도를 받을지를 숫자 값으로 답한다면, 이는 회귀에 해당합니다. 각각에 대해 조금 더 자세히 살펴봅시다.

  분류

 분류(Classification)는 미리 배운 레이블(Label)을 바탕으로, 주어진 데이터가 어느 그룹에 속하는지 찾는 방법입니다. 앞서 우리가 다루었던 개와 고양이에 관한 예시는 분류의 대표적 사례라고 볼 수 있습니다. 수많은 개와 고양이 사진을 학습한 뒤, 주어진 사진이 개인지 고양이인지 확인하는 것이지요. 만약 개, 고양이, 토끼라는 3가지 레이블을 학습했다면, 컴퓨터는 주어진 데이터를 개, 고양이, 토끼 중에 가장 비슷한 레이블로 분류하게 됩니다. , 고양이, 토끼만 학습했기 때문에 코끼리 사진을 보여주더라도 세 가지 중에 가장 비슷한 것을 골라 대답하게 됩니다. , 학습한 레이블 안에서만 답을 내릴 수 있으며, 코끼리라는 새로운 레이블이 갑자기 생기는 경우는 발생하지 않습니다.

  그렇다면 컴퓨터는 어떤 원리로 분류 문제를 학습할까요? 먼저 고양이로 분류된 각각의 데이터들의 특징(Feature)을 파악합니다. 그러다보면 개인지 고양이인지를 판가름할 수 있는 결정적인 특징들을 찾게 됩니다. 여러분은 어떤 특징이 떠오르나요? 꼬리의 길이일 수도 있고, 입이 튀어나온 정도일 수도 있습니다. 뒷다리나 귀의 모양일지도 모릅니다. 컴퓨터는 우리처럼 꼬리를 알아보지는 못하지만, 데이터를 분석함으로써 개인지 고양이인지를 결정할 수 있는 경계점을 찾습니다. 그리고 이에 근거하여 새로운 데이터가 개인지 고양이인지를 판가름합니다. 따라서 분류 문제의 정확도가 높아지려면, 학습된 데이터를 잘 분류할 수 있는 함수를 찾는 것이 중요합니다. 학습 데이터의 특징을 명확히 구분할 수 있는 함수일수록 새로운 데이터를 잘 구분할 가능성이 높겠죠?

 이처럼 분류는 주어진 데이터에 대한 답을 학습한 레이블 중 하나로 정할 때 사용됩니다. 토끼와 사자의 중간, 06의 중간과 같은 애매한 답을 내리는 것이 아니라, 더 가까운 레이블을 찾아 답으로 정합니다. 마치 보기는 5개이고, 답은 하나인 문제를 푸는 것과 같습니다. 정답이 3번인지 4번인지 헷갈리더라도 우리는 반드시 하나의 답을 정해야 합니다. 당연히 더 정답일 것 같은 보기를 고를 수밖에 없겠죠?

② 회귀

 

 

 회귀(Regression)는 통계와 관련이 깊습니다. 1등급, 2등급, 3등급과 같이 정해진 몇 개의 레이블 안에서 대답을 정하는 게 아니라, 1.5, 4.2553, 2.6처럼 실수 범위 내에서 다양한 값을 답으로 출력할 수 있는 경우입니다. 

 위 그래프는 학생들의 키와 체중을 조사한 내용입니다. 이 그래프에서 규칙을 찾을 수 있나요? 각 점들이 직선에서 너무 멀지 않도록, 점의 분포와 비슷한 위치에 직선을 그려봅시다. 빨간색 직선은 학생들의 키와 체중 데이터들의 경향성을 대표할 수 있는 직선입니다. 그렇다면 이 직선으로 조사하지 않은 학생들의 체중을 예상해볼 수 있습니다.

 

 

 

 새로 그린 직선 그래프를 바탕으로 키가 160cm인 학생의 체중을 예상해봅시다. 위 그래프에 따르면 키가 160cm인 학생의 체중은 67.5kg일 것이라고 예상할 수 있습니다. 물론, 키가 160cm인 모든 학생의 체중이 67.5kg인 것은 아닙니다. 여기에서는 키와 체중만을 따졌고, 컴퓨터가 학습한 데이터의 양 역시 아주 적기 때문에 정확도는 당연히 떨어질 수밖에 없습니다. 이때 컴퓨터의 예측값과 실제값의 차이를 오차라고 합니다. 이 그래프는 아직 오차가 매우 크겠죠? 데이터를 더 많이 학습할수록, 더 다양한 데이터를 고려할수록 오차는 줄어듭니다. 따라서 회귀 문제에서는 오차를 줄이는 것이 중요한 과제입니다. 성별, 어린 시절의 비만 여부, 일주일 평균 운동량 등을 함께 고려한다면 더 정확한 예상이 가능합니다.

이상으로 지도학습에 대해 알아보았습니다. 다음은 비지도 학습에 대해서 알아보겠습니다.

part1. 머신 러닝(1) : 지도학습 Quiz

1. 기계학습 방법의 세 가지 주요 범주를 모두 고르시오.

Please select 3 correct answers

Correct! Wrong!

2. 지도학습, 비지도학습, 강화 학습을 섞어서 함께 사용하는 것은 불가능하다. (O, X)

Correct! Wrong!

3. 지도학습의 종류는 크게 분류(Classification)와 회귀(Regression)가 있다. (O, X)

Correct! Wrong!

4. 지도학습에 대해 알맞게 설명한 것을 모두 고르시요.

Please select 2 correct answers

Correct! Wrong!