최소 기술 길이(Minimum description length)
자료를 설명하는 가설 가운데, 가설을 적는 길이와 그 가설로 자료를 적는 길이의 합이 가장 짧은 것을 고르라는 원리. 부호 길이를 확률(probability)로 읽으면 사전확률(prior probability) 2^(−길이)를 두고 사후확률(posterior probability)이 가장 큰 가설을 고르는 베이즈 추론과 같은 답을 내고, 복잡한 가설에 값을 치르게 하므로 과적합(overfitting)을 억누른다.
동전을 20번 던져 앞면이 14번 나왔습니다. 이 기록을 친구에게 비트로 보낸다고 합시다. '공정한 동전'이라고 보면 던질 때마다 1비트, 모두 20비트입니다. '치우친 동전'이라고 보면 먼저 앞면이 몇 번인지(0부터 20까지 21가지,
최소 기술 길이(MDL) 원리는 이 셈을 원칙으로 삼습니다. 자료 D를 설명하는 가설 H마다 먼저 가설을 적는 길이
이 원리는 1978년 IBM 샌호세 연구소의 요르마 리사넨이 내놓았습니다. 그보다 앞선 1968년, 오스트레일리아의 크리스 월리스와 데이비드 볼턴이 분류 문제에서 아주 가까운 생각을 발표했고, 이것은 뒤에 '최소 메시지 길이(MML)'라는 이름으로 불리게 됩니다. 두 흐름의 뿌리는 1960년대의 콜모고로프 복잡도(Kolmogorov complexity)와 레이 솔로모노프의 귀납 이론에 있습니다.
던진 횟수
공정한 동전은
이 원리가 왜 그럴듯한지는 세 가지 사실로 설명됩니다. 첫째는 길이와 확률이 서로 바뀐다는 사실입니다. 받는 쪽이 한 가지로만 끊어 읽을 수 있는 부호라면, 낱말 길이들은 크래프트 부등식(Kraft inequality)
둘째, 그렇게 읽으면 두 부분 부호는 베이즈 추론이 됩니다.
셋째, 위의 '개수를 적고 배치를 적는' 부호는 아무렇게나 고른 것이 아닙니다. 앞면의 확률 p를 0과 1 사이에서 고르게 퍼진 것으로 보고, 자료의 확률을 모든 p에 대해 평균(mean)하면(이것을 베이즈 주변 확률이라 합니다)
흔한 오해가 셋 있습니다. 하나, 부호는 자료를 보기 전에 정해야 합니다. 자료를 본 뒤 그 자료에 짧은 이름을 붙이는 부호를 만들면 무엇이든 1비트로 '설명'할 수 있습니다. 그 부호 자체를 받는 쪽에 보내야 한다는 것을 잊은 것이고, 이것이 과적합의 가장 노골적인 모양입니다. 둘, MDL은 참 모형이 있다고 가정하지 않습니다. 사인(sine) 곡선에 잡음이 섞인 자료에 다항식(polynomial)을 맞출 때처럼 어느 후보도 참이 아니어도, 주어진 자료를 가장 짧게 적는 후보를 고를 뿐입니다. 리사넨이 줄곧 강조한 점입니다. 셋, '가장 짧은 설명이 참일 가능성이 높다'는 것은 정리가 아닙니다. 정리는 '짧음'을 '사전확률'로 바꿔 읽을 수 있다고 말할 뿐입니다. 짧게 적히는 가설을 더 믿어야 한다는 것은 과적합을 피하려는 선택이자, 우리 세계가 지금까지 대체로 그래 왔다는 관찰입니다. 무엇이 짧은지는 어떤 부호(언어)를 쓰느냐에 따라서도 달라집니다.
위의 두 부분 부호는 거친 판입니다. 1990년대 이후의 MDL은 모형의 값을 더 정확히 세는 부호를 씁니다. 모든 가능한 자료에서 최대가능도가 받는 확률을 모아 정규화한 '정규화된 최대가능도(normalized maximum likelihood)' 부호, 그리고 모형을 보내지 않고 자료를 하나씩 앞의 자료로 예측하며 적는 순차 예측(prequential prediction) 부호가 대표적입니다. 뒤의 것에서는 복잡한 모형이 자료가 적은 초반에 엉뚱한 예측으로 값을 치릅니다. 모형을 아직 보지 못한 자료로 평가한다는 점에서 교차 검증(cross-validation)과 닮은 생각입니다.
이어지는 곳. 다항식의 차수를 고를 때 계수 비트와 잔차(residual) 비트가 저울질되는 모습, 케플러의 셋째 법칙이 행성 표를 몇 비트 줄이는지, 문맥 모형과 언어 모델(language model)을 압축기로 재는 이야기는 긴 글 「압축하는 것이 이해하는 것이다」에 있습니다. 가설을 적는 길이를 사전확률로 읽으면 규제의 벌점은 사전확률에 음의 로그를 씌운 것이 됩니다. 릿지는 계수에 정규분포(normal distribution)를, 라소(lasso)는 라플라스 분포(Laplace distribution)를 사전확률로 둔 셈이니, 둘이 왜 과적합을 억누르는지가 이 원리로 설명됩니다. 모형의 값과 잔차의 값을 맞바꾸는 저울질은 편향–분산 분해(bias–variance decomposition)가 오차의 말로 하는 이야기와 닮았습니다. 부호 길이의 바탕인 엔트로피(entropy)와 KL 발산(KL divergence)은 잘못된 모형을 쓸 때 몇 비트를 더 치르는지 알려 주고, 가능한 모든 프로그램으로 가설의 범위를 넓히면 콜모고로프 복잡도와 솔로모노프의 보편 예측이 되는데, 그 대가는 정지 문제(halting problem) 때문에 계산할 수 없게 된다는 것입니다. 개수를 적고 배치를 적는 부호의 뼈대는 이항계수(binomial coefficient)입니다. n이 크면