(사진=셔터스톡)
(사진=셔터스톡)

지난 회에서 머신러닝 또는 기계 학습은 컴퓨터나 기계가 제공된 데이터를 사용해 스스로 학습하는 것이라고 설명했고, 그중 1990년대에 통계 기반의 머신러닝이 발전한 배경에 대해 알아봤다. 그런데, 학습한다는 것은 무엇일까. 어떻게 하는 것이 학습했다고 할 수 있을까. 

머신러닝에서 주어진 데이터로 학습한다는 것은 다양한 의미를 내포하고 있지만, 주어진 데이터를 분류, 회귀, 군집화해서 상황이나 사물을 이해하고 미지의 상황이나 사물에 대해 예측하고 판단해서 다음 동작을 결정하는 것이라고 할 수 있다. 군집화는 분류에 해당하는 것으로 볼 수 있으며, 분류나 회귀에 해당하지 않는 강화 학습(RL)도 머신러닝에서 학습을 하는 하나의 방법이다.

그중에서 먼저 분류(Classification)에 대해 살펴보자. 인간의 인식이나 판단은 대단히 복잡한 것이지만, 그 판단과 인식의 가장 기본적인 요소까지 따라가면 분류 문제라고 볼 수도 있다. 먹을 수 있는 것인지 못 먹는 것인지, 안전한지 위험한지, 적인지 우군인지, 암컷인지 수컷인지 등 세상에서 보이는 모든 것에 대해 기본적이면서 다양한 분류를 하고, 이를 바탕으로 인간은 고급 지능을 활용해 생존을 유지한다. 

사람이 경험을 통해 분류하고 새로운 대상을 어느 분류 그룹에 넣을지 판단하듯, 머신러닝에서 분류는 학습된 데이터를 바탕으로 새로운 데이터를 여러 종류 중 어디에 해당하는지 구별하는 것을 말한다. 

기본적으로 YES/NO처럼 2가지 중 하나를 구별하는 것을 ‘이진 분류’라고 하며, 이진 분류를 바탕으로 확대해 나가면 수많은 종류에 해당하는 ‘다중 분류’도 가능해진다. 군집화(Clustering)는 라벨이 붙지 않은 데이터를 유사한 속성을 갖는 일정 수의 군집으로 그룹화해 분류하고, 새로운 데이터에 대해서 유사한 항목의 그룹에 포함하는 것을 말한다.

분류와 달리 회귀(Regression)라는 용어는 쉽게 의미가 다가오지 않는다. 회귀는 한바퀴 돌아서 제자리로 돌아간다는 뜻인데, 이를 이해하기 위해서는 많은 통계 용어를 만들어낸 영국의 사회학자이자 통계학자인 프랜시스 골턴(Francis Galton)을 이야기해야 한다. 

유전학자인 찰스 다윈과 사촌간인 골턴은 우생학의 지지자로 부모와 자식 간의 키에 대한 유전 영향을 조사하던 중, 부모의 키가 아무리 커도 자식의 키는 해당 세대의 평균에 가깝게 분포한다는 사실을 확인했다. 부모의 키와 관계없이 자식들의 키는 평균으로 돌아간다는 의미에서 '평균으로 회귀(Regression toward the mean)'라는 용어를 사용했다. 현대에는 평균으로 돌아간다는 의미가 희미해졌지만, 데이터의 실측치와 모형의 예측치 차이를 말하는 수학 용어인 ‘잔차(Residual)’가 평균값으로 회귀하는 것으로 사용된다. 

그러나 일반적으로 회귀는 두 변수의 상관 관계를 분석하는 방법을 의미하며 추세를 따라가는, 즉 데이터에서 연속적인 패턴을 찾는 것을 의미한다. 머신러닝에서도 회귀는 주어진 데이터에서 데이터 간의 상관관계를 분석, 예측값을 추정하는 것을 말한다. 따라서 데이터 간의 연속성이 없는 분류와 달리, 회귀는 데이터 간의 연속성을 갖는 것이 일반적이다.  

간단히 정리하면 ‘분류’와 ‘군집화’는 공통점이 있는 데이터의 집합으로 나누는 것이고, ‘회귀’는 데이터에서 연속적인 패턴을 찾는 것이다. 이렇게 분류, 회귀, 군집화 그리고 강화 학습을 근간으로 예측하는 머신러닝의 알고리즘은 책 한권 이상의 분량으로 설명해야 할 만큼 그 종류도 많고 내용도 다양하다. 이번 회에서는 이전부터 연구된 통계적 이론이 머신러닝으로 발전한 알고리즘들에 대해 알아보고, 다음 회에서는 1990년대에 새로 개발된 머신러닝 알고리즘에 대해 알아본다. 

글 머리에서 머신러닝은 컴퓨터나 기계가 제공된 데이터를 사용해 스스로 학습하고 분류나 회귀를 통해 예측할 수 있도록 하는 연구 분야라고 했는데, 분류의 가장 쉬운 방법 중 하나는 데이터를 가장 비슷한 것끼리 하나의 집합으로 묶는 것이다. 새로운 데이터의 분류를 위해 기존 정보를 바탕으로 데이터의 산포 가운데 가장 근접한 점을 찾아 비슷한 것끼리 하나의 집합으로 나누는 것으로, 간단히 ‘유유상종’ 방법이라고 할 수 있다. 이를 구현한 알고리즘이 ‘최근접 이웃 방법(Nearest Neighbor algorithm)’으로 버클리 대학의 통계학자 픽스(Evelyn Fix)와 호지스(Joseph Hodges Jr.)가 1951년에 논문을 통해 정의했다. 

이후 최근접 이웃 방법은 스탠포드대학교 전기공학 및 통계학과 교수였던 커버(Thomas Cover)의 1967년 논문에 의해 확장되며 발전했고, 단 하나의 가장 가까이 있는 이웃만으로 구하는 것이 아니라 임의 개수(k개)에 가까운 이웃들을 이용해서 분류하는 ‘k-NN’ 알고리즘으로 진화했다. 새로운 데이터를 줬을 때 몇(k)개의 근접한 데이터 그룹을 선정해 사용할 것인가를 적용한 것이 ‘k-최근접 이웃 방법’ 즉, k-NN(k-Nearest Neighbor)이다. 

사실 k-NN은 분류와 회귀에 모두 사용되며, 머신러닝 발전에 가장 기본적인 기여를 했는데, 특별한 학습 절차가 필요 없고 알고리즘이 비교적 간단하면서도 성능이 좋아 ‘게으른 학습(Lazy Learning)’이라고도 한다. 다만 학습 데이터의 양이 많으면 성능은 더욱 좋아지지만, 분류 속도가 느려지고 많은 메모리를 사용해야 한다는 단점이 있다. 

또 다른 분류 알고리즘으로 널리 사용된 ‘나이브 베이즈(Naïve Bayes)’는 확률에 관한 유명한 정리인 ‘베이즈의 정리(Bayes' Theorem)’를 사용하는 방법이다. 베이즈의 정리는 1700년대 영국의 목사였던 베이즈(Thomas Bayes)가 정리한 확률 이론으로, 데이터의 특징마다 어느 카테고리 혹은 레이블에 잘 들어맞는지 확률을 곱해 가장 그럴듯한 카테고리를 찾는 방법이다. 1950년대 이후부터 광범위하게 연구되고 있는데, 쉽게 구현 가능하면서도 꽤 효과적인 방법이다. 

주로 텍스트 분류에 많이 사용되며, 1990년대 후반 이후 이메일 스팸 필터링, 문서 분류, 고객 세그멘테이션 등의 텍스트 분류와 자동 의료 진단 분야에서 간단하면서도 강력한 알고리즘으로 알려지며 많이 활용됐다. 나이브 베이즈는 간단하고 효율적인 알고리즘으로 훈련 데이터가 많지 않아도 잘 작동한다는 장점이 있지만, 수치 특성이 많은 데이터셋에는 적합하지 않으며, 데이터의 특성 간에 동등성과 독립성이 있어야 한다는 가정을 가진 단점이 있다. 실제 세계 데이터들의 일부 특성들은 다른 특성에 비해 결과에 좀 더 결정적인 영향을 미치기도 하고, 또 특성 간에 어느 정도 상관성을 갖고 있기도 하기 때문에 나이브 베이즈가 좋은 성능을 발휘하지 못하는 경우도 있다.

군집화(Clustering)는 간단한 개념과 달리 상당한 컴퓨터 연산을 요구하는데, 따라서 속도가 느린 단점이 있었다. 이를 개선하기 위해 1960년대에 개발된 k-평균(k-Mean)을 활용한 k-평균 클러스터링(k-Means Clustering)이 1980년대에 대중화됐다. 이는 클러스터 내의 유사성은 높게, 클러스터 간의 유사성은 되도록 낮게 하는 k개의 클러스터를 만들어서, 유사한 데이터끼리 그룹화해, 패턴을 찾아내는 방식이다.

이를 위해 처음에는 각 클러스터의 중심을 임의의 점에서 시작하는데, 알고리즘 연산을 반복해서 더 나은 결과를 만들어 낸다. k-평균 클러스터링은 데이터 간의 거리를 기반으로 균등하게 분류를 만들어 군집화하는 방식인데, 이는 데이터의 가중치를 반영하지 못하는 한계가 발생할 수도 있다. 그래서 거리 기반이 아닌 데이터의 가중치나 밀도를 기반으로 군집화한 DBSCAN(Density Based Spartial Clustering of Applications with Noise)이 1996년에 개발됐는데, 가장 흔히 사용되는 군집화 알고리즘이다. 그 외에도 이 시기에 계층 기반이나, 그래프 기반 그리고 신경망 기반 등 다양한 군집화 알고리즘이 개발됐다.   

대표적인 회귀 알고리즘으로는 선형 회귀분석(Linear Regression Analysis)이 있다. 이는 데이터의 특성이 한가지 특성인 독립변수에 대한 다른 특성인 종속 변수의 분포가 선형적으로 상관관계가 나타나는 모델에 대해 새로운 데이터를 예측하는 방식이다. 

쉽게 설명하자면 한 학급 학생의 키와 몸무게를 예로 들 수 있다. 이 경우 100% 일치하지는 않더라도 대체로 키가 크면 몸무게도 많이 나가는데, 이를 x, y 평면에 그려보면 어느 정도 일직선의 추세로 나타나게 된다. 이런 추세를 바탕으로 새로운 학생의 키를 알면 몸무게를 추정할 수 있게 된다는 것이다. 이 경우 x축에 나타낸 키가 독립변수가 되고, y축의 몸무게가 종속 변수가 되는 데, 하나의 독립변수를 기반으로 하면 단순 선형 회귀, 둘 이상의 독립 변수에 기반하면 다중 선형 회귀라고 한다. 

선형 회귀 분석은 통계학의 가장 오래되고 널리 사용되는 도구 중 하나로 18세기에 천문학자들이 관측 오차를 최소화하는 방법을 연구하면서 싹트기 시작했다. 오차 제곱의 합을 최소화하는 방식으로 회귀 계수를 추정하는 방법인 ‘최소 제곱법(Least Squares)’은 이전부터 연구됐지만, 1805년에 최초로 명확하고 간결한 설명이 제시됐다. 이후 통계학의 관점에서 지속적인 이론의 발전이 있었지만, 20세기 중반까지는 모델의 복잡성에 제한이 있었다. 컴퓨터의 보급과 통계 소프트웨어의 발전은 선형 회귀 분석을 대규모 데이터에 적용하는 것을 가능하게 해주어 다양한 분야에서 표준적인 데이터 분석 도구로 자리 잡게 됐다. 

1990년대는 머신러닝으로 선형 회귀 분석을 활용하며 더 복잡한 비선형 관계를 다루고 과적합 문제를 해결하기 위한 새로운 변형 및 확장 모델들이 활발히 연구됐으며, 로지스틱 회귀와 같이 분류 문제에도 적용하기 시작했다. 1970년대에 개발된 릿지(Ridge) 회귀는 머신러닝에서 과적합 방지와 모델 안정성 향상에 대한 인식이 높아지며 1990년대 다시 주목받았으며, 1996년데 개발된 라쏘(Lasso) 회귀는 90년대 후반에 큰 인기를 얻었다. 추세 분석 등이 가장 대표적인 사용 예이며, 쉽게 구현 가능하고 해석이 간단하지만 정확도가 낮을 수 있고 실제 데이터가 선형적이지 않을 경우 적용하기 어려운 단점이 있다.  

(사진=셔터스톡)
(사진=셔터스톡)

분류나 회귀 알고리즘은 아니지만 강화 학습의 알고리즘인 ‘Q 러닝(Q-Learning)’도 이 시기에 개발됐다. 이는 1950년대 처음 고안되고, 1960년 스탠포드대학교 경영학과 교수인 하워드(Ronald Howard)에 의해 연구된 마르코프 결정 과정(MDP, Markov Decision Process)’을 기반으로 하고 있다. 

MDP는 불확실한 상황에서의 의사 결정 과정을 수학적으로 모델링하는 것으로, 현대 머신러닝 강화 학습에서 가장 중요한 핵심 이론이며 최적화 문제의 유용한 도구로 제어 자동화, 로봇 공학, 경제학 등에 널리 사용되고 있다. 영국 런던대학교 킹스 칼리지에서 박사과정 중이던 왓킨스(Christopher Watkins)는 1989년의 박사 논문 ‘지연된 보상으로부터의 학습’에서 마르코프 결정 과정의 제어를 최적화하기 위해 보상과 처벌 시스템을 적용한 강화 학습 모델을 도입했는데, Q-러닝이라는 새로운 알고리즘을 제안했다. 

이로 인해 머신러닝에서 강화 학습의 실용성과 타당성이 크게 향상됐으며, Q-러닝을 기반으로 한 다양한 알고리즘들이 개발됐다.

구글에 인수되기 전 딥마인드는 Q-러닝에 딥러닝을 결합한 ‘DQN(Deep Q-Network)’ 알고리즘을 개발, 2013년 인간 수준으로 아타리 게임 시연을 보이며 단번에 인공지능(AI) 연구계의 주목을 받게 됐다.   

문병성 싸이텍 이사 moonux@gmail.com

관련기사
저작권자 © AI타임스 무단전재 및 재배포, AI학습 및 활용 금지