..

Search

4) 머신러닝이란?

머신러닝이란?


머신러닝(Machine Learning)이란?

과거에는 인공지능을 개발할 때 해당 분야의 전문가들이 만든 많은 양의 샘플들을 데이터베이스화하여 자료들을 일일이 수작업으로 컴퓨터에 직접 등록하는 방법을 사용했습니다.

 

하지만 이러한 방법은 대부분의 작업이 사람의 손을 거쳐야 하므로 필연적으로 많은 노력과 비용이 발생하게 됩니다.

또한, 시대가 발전함에 따라 사람조차 명확하게 구분할 수 없는 지식(no explicit knowledge)을 구현해야 하거나, 사람이 일일이 구현하기에는 너무 많은 양의 규칙들이 필요한 경우가 생겨나기 시작합니다.

 

이러한 경우에 사용할 수 있도록 고안된 방법이 바로 머신러닝(Machine Learning)입니다.

기계학습이라고도 불리는 머신러닝은 컴퓨터를 인간처럼 학습시킴으로써 인간의 도움 없이 컴퓨터가 스스로 새로운 규칙을 생성할 수 있지 않을까 하는 발상으로부터 시작되었습니다.


머신러닝의 동작 방식

머신러닝이란 컴퓨터가 스스로 학습할 수 있도록 도와주는 알고리즘이나 기술을 개발하는 분야를 가리킵니다.

 

이러한 머신러닝은 일반적으로 다음과 같은 순서대로 동작합니다.

 

1. 일정량 이상의 샘플 데이터를 입력한다.

2. 입력받은 데이터를 분석하여 일정한 패턴과 규칙을 찾아낸다.

3. 찾아낸 패턴과 규칙을 가지고 의사결정 및 예측 등을 수행한다.

 

따라서 머신러닝을 한마디로 정의하자면 수많은 데이터를 학습하여 일정한 패턴을 찾아내고 그것을 활용하는 행위라고 할 수 있습니다.


벡터(vector)와 특징량

 

vector

 

위와 같은 그림을 보여주며 네모 칸에 들어갈 알맞은 모양을 말해보라고 하면 대부분의 사람들이 별모양이라고 답할 것입니다.

이는 사람이 가지고 있는 지각능력을 사용하여 각 모양이 뭉쳐 있는 위치관계를 무의식적으로 파악했기 때문입니다.

하지만 컴퓨터는 지각능력을 가지고 있지 않으므로, 이러한 위치관계를 그냥은 인식하지 못합니다.

 

이때 활용되는 것이 바로 벡터(vector)입니다.

벡터란 공간에서 크기와 방향을 가지는 것을 의미하며, 위의 그림에서는 별모양과 원모양의 점들이 바로 하나하나의 벡터가 되는 것입니다.

또한, 특정 벡터들이 모여 있는 것을 특징량이라고 부르며, 머신러닝에서는 바로 이 특징량을 바탕으로 벡터들을 서로 구분하게 됩니다.

 

vector

 

앞선 그림에 특징량을 바탕으로 이처럼 구분선을 하나 그으면, 비로소 컴퓨터도 두 특징량을 쉽게 구분할 수 있게 됩니다.

머신러닝은 계산을 통해 이러한 구분선을 찾아내는 행위라고도 볼 수 있습니다.


특징추출(feature extraction)

머신러닝에서 컴퓨터가 스스로 학습하려면, 즉 컴퓨터가 입력받은 데이터를 분석하여 일정한 패턴이나 규칙을 찾아내려면 사람이 인지하는 데이터를 컴퓨터가 인지할 수 있는 데이터로 변환해 주어야 합니다. 이때 데이터별로 어떤 특징을 가지고 있는지를 찾아내고, 그것을 토대로 데이터를 벡터로 변환하는 작업을 특징추출(feature extraction)이라고 합니다.

 

feature

 

일반적으로 사용되는 머신러닝을 위한 학습 기계는 범용적인 목적을 위해 제작된 것이므로, 여러분이 원하는 특징을 자동으로 추출해주는 기능은 가지고 있지 않습니다. 따라서 여러 특징 중에서 어떤 특징을 추출할지를 바로 개발자가 결정해야하며, 이것이 바로 머신러닝 개발의 핵심이라고 볼 수 있습니다.

왜냐하면 적절한 특징을 선택해야만 더욱 효과적인 머신러닝을 수행할 수 있기 때문입니다.

 

예를 들어, 학습 기계에 장미꽃을 학습시킨다고 하면, 우선 어떤 특징을 사용할 것인지를 결정해야 하며 그것을 벡터로 변환해야 합니다.

이때 특징으로 장미꽃의 색상, 꽃잎 수, 모양 등을 사용할 수 있을 것입니다.


회귀 분석(regression analysis)

앞서 특징량을 바탕으로 구분선을 찾아내는 것을 머신러닝이라고 정의하였는데, 이러한 구분선을 찾아내는 방법 중 가장 널리 사용되는 방식이 바로 회귀 분석(regression analysis)입니다.

 

통계학에서 주로 사용되는 회귀 분석(regression analysis)이란 여러 자료들 간의 관계성을 수학적으로 추정하고 분석하는 데이터 분석 방법 중 하나입니다. 이러한 회귀 분석은 주로 시간에 따라 변화하는 데이터나 가설, 인과 관계 등의 통계적 예측에 사용됩니다.

 

회귀 분석에서 종속변수란 우리가 알고 싶어 하는 결괏값을 가리키며, 독립변수란 이러한 결괏값에 영향을 주는 입력값을 가리킵니다.

그리고 하나의 종속변수와 하나의 독립변수 사이의 관계를 분석할 경우를 단순 회귀 분석(simple regression analysis)이라고 구분하여 부릅니다.

 

regression

 

단순 회귀 분석에서 하나의 방정식은 독립변수와 종속변수의 상관관계를 보여주는 분포구성을 통해 중심을 지나가는 하나의 선으로 표시할 수 있으며, 바로 이것을 이용하여 머신러닝에서는 특징량에 따른 구분선을 찾아낼 수 있게 되는 것입니다.


연습문제