- Published on
BA01.[Bayesian Data Noir] 침묵의 공장, 진실을 조각하는 베이즈의 미학
직관과 데이터의 경계선에서: 사출공장의 쇼트샷 사건
기계는 거짓말을 하지 않는다. 침묵할 뿐
공장은 거대한 짐승의 뱃속 같다. 쿵- 치익, 쿵- 치익. 수백톤의 사출기의 규칙적인 심장박동 소리가 바닥을 울린다. 이 소리는 공장의 심장박동이다. 하지만 오늘 그 리듬은 미묘하게 어긋나 있었다.
검사반장이 땀에 젖은 작업복을 입고 달려왔다. 그의 손에는 불완전하게 성형된 플라스틱 케이스, 일명 ‘쇼트샷(Short Shot)’ 불량품이 들려 있었다.
아침부터 심상치 않습니다. 끝부분이 다 채워지질 않아요. 벌써 몇 번째인지 모릅니다.
'쇼트샷(Short Shot)'. 용융된 플라스틱이 금형 끝까지 도달하지 못한 채 굳어버린 미성형 불량. 현장의 엔지니어들은 이 불량을 '유령'이라 부른다. 원인이 너무 다양해서다.
작업반장이 기름 묻은 장갑을 벗으며 묻는다. "배럴 온도가 낮은 겁니까, 아니면 사출 압력이 딸리는 겁니까? 히터부터 뜯을까요?"
현장에선 보통 '감(Gut Feeling)'으로 결정한다. "날이 추우니 온도 문제겠죠." 그리고 그 감이 틀리면 수백만 원의 금형 수정 비용이 공중분해 된다.
고개를 저었다. "아니요, 아직입니다. 아직은 확실하지 않습니다. 좀 더 확인해 봅시다"
나는 빈 노트를 집어들었다. 나의 무기인 "베이즈 추론(Bayesian Inferenc)"을 꺼내 든 것이다. 베이지 수학은 차가운 데이터를 통해 뜨거운 진실을 찾아가는 과정, 바로 "베이지안 업데이트(Bayesian Update)"의 기록이다.
나는 잠시 용의자를 쫒아 범인을 찾아내는 형사(Detective)가 되기로 한다. 범인은 공장안에 있다. 내 머리속엔 즉시 두 명의 용의자(Suspect)가 떠올랐다.
용의자(Suspect)
용의자 A: 온도()
성격: 변덕스러움. 배럴 온도가 낮거나 헌팅(hunting)이 생기면 수지가 굳어버려 끝까지 흐르지 못한다. 충전이 불안정한 쇼트샷 불량을 일으킨다.
특이점: 이 녀석이 범인이라면 불량률은 8%(p = 0.08)까지 치솟는다
용의자 B: 압력()
성격: 소심하고 힘이 부족함. 이 놈은 보압이 약해서 가끔 끝까지 밀어 넣지 못하는 문제가 있다.
특이점: 이 녀석이라면 비교적 얌전해서 불량률은 4%(p = 0.04) 정도이다
경험적인 직관과 의심, 사전지식(Prior: 사전확률).
범인은 둘 중 하나다. 하지만 섣불리 기계를 세우고 히터를 뜯어볼 순 없다. MES(생산관리시스템)의 지난 분기 기록을 보니, 쇼트샷 사고의 60%는 '온도' 놈의 소행이었다.
"과거의 전과 기록을 보니. 이번에도 온도 녀석일 확률이 높군."
내 머리속의 사전 믿음(Prior Belief)이 세팅된다. 나는 데이터들을 노트에 기록하기 시작했다.
- 사전확률(Prior)
온도일 확률 P() : 60% (유력 용의자)
압력일 확률 P() : 40%
프로들은 확률보다 오즈(Odds, 승산)를 즐겨 쓴다.
(해석: 현재 나는 온도가 범인이라는 쪽에 압력보다 1.5배 더 돈을 걸고 있다.)
첫 번째 증거: 오전의 습격 (Update 1).
"작업반장, 우리 지금 생산된 거 50개만 무작위로 검사해 봅시다."
오전 10시, 첫 번째 증거물()이 책상 위에 쏟아 졌다. 50개의 샘플 중 5개가 쇼트샷이다. ()
"50개 중 5개라… 불량률 10%?"
순간 등골이 서늘해졌다. 압력 문제()라면 50개 중 기껏해야 2개 정도 나와야 정상이다. 녀석의 짓이라기엔 너무 과격하다. 5개는 너무 많다. 오히려 난폭한 온도(8% 불량률) 녀석의 시그니처(Signature)에 가깝다.
여기서 베이즈의 핵심 무기인 **우도(Likelihood)**가 등장한다. "누가 범인이어야 이 증거(5/50)가 더 말이 되는가?"
나는 빠르게 베이즈 인자(Bayes Factor), 즉 '증거의 무게'를 계산했다.
4.7배.
이 데이터(50개 중 5개 불량)는 압력보다 온도 가설을 4.7배나 더 강력하게 지지하고 있다.
이제 나는 내 믿음을 갱신(Update)해야 한다. [내 원래 믿음(1.5)]에 [증거의 힘(4.7)]을 곱한다.
베이즈 업데이트 (Posterior 1): 확신의 급 상승.
기존 오즈(1.5)에 증거(4.7)가 결합된다.
이를 확률로 환산하면:
새로운 확신: 온도가 범인일 확률이 60% → 87.6%로 폭등했다. 데이터가 "범인은 온도야!"라고 비명을 지르고 있다.
"히터 쪽 문제일 확률이 90% 가까이 됩니다! 작업반장, 정비팀 대기시키세요. 배럴 온도 체크 들어갑니다!" 나의 목소리는 확신에 차 있었다. 승리감에 도취되어 커피를 한 모금 마셨다
두 번째 증거: 베이즈의 반격(Update 2).
이 시나리오의 하이라이트는 지금부터다. 많은 사람이 베이즈를 '한 번 계산하고 끝내는 것'으로 착각한다. 하지만 베이즈의 진정한 힘은 누적(Update Loop)에 있다.
오후 2시. 정비팀이 도착하기 직전, 작업반장이 묘한 표정으로 2차 샘플(D2)을 들고 왔다. "점심 먹고 50개를 더 뽑아봤는데요... 이상합니다."
[총 50개 중, 불량 1개 발생]
"뭐? 1개라고?"내 확신에 금이 가는 소리가 들렸다. 만약 진짜 범인이 난폭한 온도(평소 8%)라면, 50개 중 1개(2%)는 너무 적다. 오히려 이건 얌전한 압력(평소 4%) 녀석이 저지를 법한 일이다.
데이터가 외치고 있다. "범인은 온도가 아닐 수도 있어!"
자, 이제 베이즈 추론의 마법이 시작된다. 아까 내가 가졌던 87.6%의 확신(Posterior). 그것은 사라지는 게 아니다. 그것은 오후의 추론을 위한 **새로운 출발점(New Prior)**이 된다.
[오전의 결론 = 오후의 시작] 이것이 인공지능이, 그리고 우리가 세상을 배우는 방식이다. 나는 다시 계산하기 시작했다. 바로 오전의 계산결과(사후확률)를 이번 계산의 사전확률로 업데이트해서 데이터(D2)의 증거 능력을 검증한다.
값이 1보다 한참 작다. 이것은 "온도 가설에 불리한 증거"라는 뜻이다. 정확히 말하면 두 번째 증거는 압력 가설을 4배가량 더 지지하는 것이다. 엄청난 반증이다. 오전의 확신이 무너지는 소리가 들렸다.
베이즈 2차 업데이트(Posterior 2): 베이즈의 심판, 겸손해지는 확신.
이제 '오전의 확신(Odds 7.05)'에 '오후의 반전(0.244)'을 곱한다.
확률로 환산하면:
진실은 수렴한다.
머릿속의 확률 그래프가 요동쳤다. 나는 급히 정비팀 호출을 멈췄다.
"잠깐, 대기하세요. 아직 히터 뜯지 마십시오."
나는 땀을 닦으며 의자에 기대앉았다. 오전엔 87% 확신했지만, 지금은 64%로 뚝 떨어졌다. 여전히 온도가 의심스럽긴 하지만, '압력'일 가능성도 36%나 되살아났다. 만약 아까 흥분해서 히터를 뜯었다면, 멀쩡한 히터만 교체하고 진짜 원인일지도 모르는 압력 문제는 놓쳤을 것이다. 공장은 가장 중요한 시간을 날리고 헛돈도 쓸 뻔했다.
"작업반장, 다음 Lot에서 샘플 50개만 더 뽑읍시다. 데이터가 하나만 더 있으면… 확실히 잡을 수 있습니다."
데이터가 쌓이면, 안개는 걷히고 진실이 드러나게 된다. 진실은 데이터가 쌓일수록 수렴한다. 그것이 베이즈가 우리에게 가르쳐준 방식이다.
나는 다시 기계의 고동 소리에 귀를 기울였다. 우리는 섣불리 "범인은 너야!"라고 소리치지 않는다. 다만 끊임없이 들어오는 데이터를 보며, '가장 진실에 가까운 확률'로 업데이트해 나갈 뿐이다.
이 시나리오의 핵심 Insight
직관의 수치화 : "온도 문제 같은데?"라는 감을 P(H)=0.6이라는 숫자로 바꾸는 순간, 관리가 가능해집니다. 0.6이 그 순간 진실이 아니어도 괜찮습니다. 데이터가 쌓이고 계속 업데이트 되면서 모델 스스로 학습합니다. 결국 진실로 수렴될 것이기 때문입니다.
데이터의 무게(LLR): 5/50 불량은 강력한 증거(+1.55)였지만, 두 번째의 1/50 양호한 결과는 그만큼 강력한 반증(-1.39)이 되어 균형을 맞춥니다.
동적 의사결정: 베이지안 관점은 고정된 결론이 아닙니다. "지금까지의 정보로는 여기까지 안다"는 겸손하고 유연한 태도가 엔지니어를 실수로부터 구원합니다.
[가이드] 수학 해설집, 파이썬코드 부록
이 긴박한 수사극 속에서 우리는 이미 베이지안 통계의 핵심 4단계를 경험하였습니다.
사전확률 (Prior): "과거를 보니 쟤가 범인 같은데?" (초기 믿음)
우도 (Likelihood): "현장 증거가 쟤 스타일이랑 딱 맞네!" (증거의 적합성)
베이즈 인자 (Bayes Factor): "이 증거는 A보다 B를 몇 배 더 지지하는가?" (증거의 무게)
사후확률 (Posterior): "증거를 반영해서 내 믿음을 수정하자." (최종 결론)
그리고 가장 중요한 것. 오늘의 사후확률은 내일의 사전확률이 된다. 이것이 바로 학습(Learning)의 본질입니다.
수학: 본 이야기는 단순한 에피소드가 아닙니다. 철저한 수학적 계산 위에 구축된 성입니다. 교과서에서 배우는 '전통적인 베이즈 정리'가 현장에서 쓰이는 '오즈와 베이즈 인자'로 어떻게 변환되는지, 그 수학적 청사진(Blueprint)을 별도의 부록 글에서 공개합니다.
파이썬 코드: 본문의 시나리오를 그대로 파이썬 코드화 시킨 또 다른 부록 글을 참조할 수 있습니다.
ERP-Native GAI Hub
Enterprise-native GAI agents that reason and execute directly over complex structured data based on context. Intelligently extract strategic value hidden in data.