기계학습(machine learning; ML)에서 알고리즘(algorithm)과 모델(model)이라는 용어를 많이 접합니다. “이번엔 어떤 모델을 사용했다”, “어떤 알고리즘을 사용했다”는 등 두 용어를 혼용해서 자주 사용하곤 합니다. 완전히 같은 의미인지 아니면 어떤 차이가 있는지 살펴보도록 합시다.


먼저 위키피디아의 용어로 살펴보자[1,2]. 알고리즘보다 모델이 좀 더 추상화된 개념이라고 느낄 수 있다.

  • 알고리즘은 어떤 문제를 풀기 위해 명확히 명시된 유한한 계산 시퀀스이다.
  • 모델은 엔티티(개념)와 관계를 표현하는 것이다.

다음은 ‘미래를 바꾼 아홉가지 알고리즘’ 책을 쓴 존 맥코믹이 언급한 문장이다. 아이디어는 모델과 비슷한 구석이 있어 보인다[3].

  • 알고리즘이란 문제를 푸는 데 필요한 단계의 순서를 명확히 명시하는 구체적인 계산법이다.
  • 컴퓨터를 시켜 특정 문제를 풀게 하기 전에 해당 문제를 풀 수 있는 알고리즘부터 개발해야 한다.
  • 수학과 물리학 같은 일반 과학 분야에서 중요한 결과는 대게 하나의 공식으로 포착된다. 이와는 대조적으로 컴퓨터과학에서 위대한 아이디어는 일반적으로 알고리즘을 이용해 문제를 푸는 방법을 기술한다.

위의 내용과 함께 일반적인 맥락으로 보면 모델이 알고리즘의 상위 개념으로 추정할 수 있다. 또한, 모델은 우리가 풀어야 할 문제와 동등한 관계임을 느낄 수 있다.

기계학습 도메인에서는 어떠할까?


기계학습 알고리즘

기계학습에서 알고리즘은 컴퓨터과학에서 정의하는 일반적인 알고리즘의 의미와 같다. 단지 방대한 알고리즘 세계에서 데이터를 학습(learning)하기 위한 알고리즘일 뿐이다. 즉 버블 정렬 알고리즘과 선형 회귀 알고리즘은 같은 종류라는 뜻이다. 심지어 문자의 길이를 측정하는 단순한 알고리즘도 같은 종류로 볼 수 있다.

Bubble sort algorithmLinear regression algorithm
Depth first search algorithmK-Nearest neighbor algorithm
Kadane’s algorithmRandom forests algorithm

기계학습 모델

기계학습 모델은 “데이터로 학습이 완료된 기계학습 알고리즘”으로 생각할 수 있다. 즉 기계학습에서 모델은 데이터와 이를 학습하는 알고리즘으로 구성할 수 있다.

모델 = 데이터 + 알고리즘

여기서 알고리즘은 넓게 생각해서 기계학습 알고리즘과 함께 전/후처리 알고리즘, 최적화 알고리즘 등을 포함할 수 있다. 앞서 언급한 모델이 알고리즘의 상위 개념임을 이해할 수 있다.

모델 = 데이터 + 전/후처리 알고리즘 + 최적화 알고리즘 + 기계학습 알고리즘

기계학습 알고리즘 vs. 기계학습 모델

수식을 통해 둘 사이의 관계를 이해해보자.

기계학습 알고리즘은 다음 수식 그 자체일 뿐이다. 일반 과학 분야에서 흔히 보는 하나의 공식과도 같다.

y = ax^2 + bx + c

반면, 기계학습 모델은 계수가 채워진 방정식이며 학습이 완료된 상태이다. 입출력이 가능한 하나의 완성된 컴퓨터 프로그램과 같다. 기계학습 모델은 입력에 대한 출력이 반환되고 그 출력을 곧바로 의사결정에 사용할 수 있다. 알고리즘만으로는 의사결정을 하지 못한다.

y = 3x^2 + 5x - 9

데이터와 최적화 과정이 필요한 기계학습을 위한 알고리즘이 아닌 단순한 로직의 알고리즘이라면 알고리즘과 모델의 의미는 비슷해질 수도 있다. 하지만, 그런 경우에는 모델이라는 의미가 무겁게 느껴지기도 한다.


모델은 알고리즘보다 상위 개념입니다. 알고리즘은 특정 도구와 같고 모델은 풀어야 하는 문제 자체와 같습니다. 기계학습에서도 똑같이 적용됩니다. 많은 경우 알고리즘이 아닌 모델이 의사결정 단계에서 사용할 수 있는 단위가 됩니다.

레고 조각은 데이터, 레고 설명서는 알고리즘과 같은 느낌이 있습니다. 완성된 레고 작품은 모델 같습니다. 널부러진 레고 조각들과 설명서만으로는 아이들의 흥미를 이끌어낼 수 없습니다.


Reference

  1. (위키) Algorithm
  2. (위키) Conceptual model (computer science)
  3. (책) 9 Algorithms That Changed the Future – John MacCormick
  4. Difference Between Model and Algorithm
  5. Difference Between Algorithm and Model in Machine Learning
  6. What is the difference between an algorithm and a model in machine learning?