
지난 시간에 함께 공부한 문제는 다음과 같습니다. 여러분은 다음날 어떤 회사의 주식이 오를지 내릴지 관심이 있습니다.(등락의 폭은 상관하지 않습니다.) 아무 정보도 없이 무턱대고 예상을 하는 것은 너무 멍청하다고 생각한 여러분은 총
다음은 지난 포스트에서 같이 알아본 내용을 간략히 정리한 것입니다.
- 만약 (누구인지는 모르지만) 전문가 집단 중 매번 예측을 맞추는 달인이 존재하면,
번 안에 해당 달인을 찾아낼 수 있습니다. - 일반적인 경우 어떤 작은
에 대해 번째 날까지 가장 적중률이 좋은 전문가가 예측에 실패한 횟수를 번이라고 할 때, 아무리 못해도 번만 실패하며 예측하는 방법이 존재합니다. 이는 이 적당히 작고, 가 충분히 크다는 전제 하에서는 최고의 전문가가 실패하는 횟수의 약 두 배 정도로 실패하는 수준이 됩니다.
좀더 자세한 내용이 궁금하시면 이전 글을 참조하세요.
2020/05/30 - [온라인 알고리즘/Prediction] - 어떤 전문가의 말을 들어야 할까? (Prediction with Expert Advice)
어떤 전문가의 말을 들어야 할까? (Prediction with Expert Advice)
우리는 미래를 모릅니다. 하지만 알고 싶어 합니다. 당장 한 달 후에 어떤 회사의 주식이 급등할지, 일 년 후에 어느 부지에 국가 사업이 진행될지, 십 년 후에 어떤 나라가 투자 가치가 높은 나��
gazelle-and-cs.tistory.com
이번 시간에는 이전 글에서 두 번째로 소개한 알고리즘인 가중 다수결 알고리즘(weighted majority algorithm)을 좀더 발전시켜보도록 하겠습니다.(번역은 제가 직접 한 것입니다. 인터넷에 찾아 봤는데 적당한 우리말이 없는 것 같아 지었습니다.) 어떻게 하면 알고리즘을 발전시킬 수 있을까요? 바로 확률을 이용하는 것입니다. 이전에 소개한 알고리즘은 결정론적(deterministic)이었습니다. 즉, 동일한 입력에 대해서는 동일한 출력을 내는 알고리즘이라는 뜻이죠. 하지만 알고리즘에 확률을 도입하면 같은 입력에 대해서도 다른 결과를 도출할 수 있기 때문에 경우에 따라서는 더 좋은 결과를 "기대"할 수 있게 됩니다. 놀랍게도 이 알고리즘에 확률이라는 조미료로 약간만 양념을 치면 적중률이 가장 좋은 전문가에 준하는 예측 방법을 기대할 수 있게 됩니다.
들어가기에 앞서 지난 시간에 요긴하게 사용한 부등식을 가지고 오겠습니다. 증명은 이전 글에서 확인할 수 있습니다.
정리 1. 유용한 부등식 1
정리 2. 유용한 부등식 2
임의의
모델 정의
알고리즘을 소개하기 앞서 이번 시간에 공부할 문제의 모델을 적확히 짚고 넘어가도록 하겠습니다. 온라인 문제(online problem)에서는 대개 불공평한 상대방(adversary)을 상정하여 문제를 구성합니다. 이 문제에서도 비슷하게 상대방이 존재합니다. 하지만 약간 다른 점도 있습니다. 바로 전문가들이 문제의 한 축을 담당한다는 것이죠.
여기서 전문가의 위치가 약간 애매합니다. 완전히 제삼자의 위치에 있을지, 아니면 상대방의 편에서 우리를 완전 망치려고 드는 사람들일지 결정할 필요가 있습니다. 이 글에서는 상대방과는 완전 무관한 제삼자의 위치에 있다고 가정합니다. 그렇지만 전문가들이 상대방과 모종의 "커넥션"이 있는 경우라도 아래의 알고리즘은 동일한 성능을 가집니다. 다만 전자든 후자든 반드시 만족시켜야 하는 한 가지 조건이 있는데, 바로 전문가가 모두 정직하다는 점입니다. 다시 말해, 전문가가 대외적으로는 오른다고 설쳐 놓고 속으로는 내려간다고 투표하는 경우는 없다는 것이죠.
사실 정직한 전문가를 가정한 경우라면, 상대방도 무지각형 상대방(oblivious adversary)이든 적응형 상대방(adaptive adversary)이든 상관이 없습니다. 어차피 우리의 목표는 가장 높은 적중률을 보인 전문가에 필적하도록 예측하는 것이니까요. 이 글에서는 무지각형 상대방을 가정하겠습니다. 즉, 모든 날의 오를지 내려갈지에 대한 답을 미리 정해두고, 매일 정해 놓은 답을 차례로 보여주는 상대방입니다.
위 논의를 기초로 하여 문제의 모델이 다음과 같은 순서대로 진행한다고 정의하겠습니다.
- 매일 모든 전문가들은 지금까지 알려진 정보를 토대로 오늘 주식이 오를지 내려갈지에 대한 예측을 내놓습니다.
- 우리도 지금까지 알려진 정보를 토대로 오를지 내릴지를 예측합니다.
- 마지막으로 상대방은 오늘의 결과를 발표합니다.
여기서 지금까지 알려진 정보라 함은 지금껏 세 번째 단계에서 밝혀진 모든 결과를 비롯하여 전문가들이 지금까지 어떻게 예측을 했는지 등 매일 시작할 때 얻을 수 있는 모든 정보를 총칭합니다. 거기에다 오늘 전문가들의 예측이 어떤지에 대한 정보까지 두 번째 단계에서 우리는 알 수 있습니다.
알고리즘 및 분석
이제 가중 다수결 알고리즘에 확률을 섞어보도록 하죠.
알고리즘 1. Randomized weighted majority algorithm
초기 입력: 전문가 집합
출력: 매번 당일 예측 결과
- 모든
에 대해 - 매
번째 날에 다음을 수행한다.- 전문가
를 의 확률로 선택한 후 와 동일한 선택을 내린다. - (
번째 날 결과 발표) - 잘못된 예측을 한 전문가의 집합
라고 했을 때, 모든 에 대해,
이 알고리즘이 예측에 실패한 횟수의 기댓값이 가장 예측을 잘한 전문가의 그것과 비슷한 수준이 된다는 점을 분석하겠습니다.
정리 3. 알고리즘 1의 성능
임의의
[증명] 임의의
(어떻게 그렇게 됐는지는 상관 없이)
첫 번째 등식은
이번에는
그러므로
먼저 알고리즘의 1번 단계에 의해
마치며
이것으로 가중 다수결 알고리즘에 확률을 도입하여 최고의 전문가의 예측 능력에 준하는 예측 방법을 기대할 수 있는 알고리즘이 있다는 것을 모두 살펴보았습니다. 사실 이 알고리즘을 약간만 수정하면 일반적인 비용 함수가 주어진 상황에서도 비슷한 결과를 출력하는 알고리즘으로 만들 수 있습니다. 좀더 엄밀하게 문제의 모델을 설명해 보겠습니다. 전문가의 집합을
정리 4. 일반화된 모델에서의 예측 성능
위 모델에서 임의의
이 모델이 위 문제를 표현할 수 있다는 점은 쉽게 파악할 수 있습니다. 잘못된 예측을 한 전문가
궁금하신 점이 있으시면 알려주시기 바랍니다. 읽어 주셔서 고맙습니다.
참조
[1] 전체적인 내용 : www.cs.cornell.edu/courses/cs683/2007sp/lecnotes/week1.pdf
'학습 이론 > Expert advice prediction' 카테고리의 다른 글
어떤 전문가의 말을 들어야 할까? (Prediction with Expert Advice) (0) | 2020.05.30 |
---|