온라인 학습 실패의 미스터리
[♪ 밝은 음악]
이지은: 안녕하세요, '안개 속을 걷다'의 이지은입니다! 오늘도 불확실성과 친해지는 시간, 함께해요!
오늘은 특별한 사연으로 시작할게요. 대학생 아드님을 둔 어머니가 보내주신 사연인데요.
"지은님, 저희 아들이 작년부터 유명한 온라인 플랫폼에서 파이썬 프로그래밍을 배우고 있어요. 6개월 동안 매일 강의를 들었는데, 아직도 간단한 프로그램 하나 못 짜요. 강의료가 아까워서가 아니라, 아이가 자신감을 잃어가는 게 안타까워요. 문제가 뭘까요?"
[한숨] 안타까운 사연이네요. 그런데 이런 경우가 생각보다 흔해요. 온라인 교육이 대세가 됐지만, 왜 어떤 사람은 성공하고 어떤 사람은 실패할까요?
[띠링!]
오늘은 우리가 배운 베이지안 도구를 활용해서, 이 미스터리를 함께 풀어볼게요. 마치 탐정이 된 것처럼, 단서를 하나씩 모으고, 가능성을 저울질하면서 진실에 다가가 봅시다!
제목하여, '사건 파일: 60시간의 미스터리!' 준비되셨나요?
대학생 K군은 지난 6개월간 유명 온라인 플랫폼에서 파이썬 프로그래밍 강의를 들었습니다. 총 60시간에 달하는 강의를 꼼꼼히 시청했지만, 간단한 프로그램조차 제대로 짜지 못했습니다. 기초 개념을 묻는 테스트에서는 겨우 40점을 받았습니다. 이 당황스러운 '학습 실패'를 어떻게 설명할 수 있을까요? 여기서 40점은 우리가 설명해야 할 현상, 즉 수사의 출발점입니다. 원인을 밝히기 위한 증거는 이제부터 하나씩 모아갈 겁니다.
베이지안 탐정이 되어 이 사건을 분석해 봅시다. 먼저 큰 틀에서 두 가지 방향의 모델을 설정할 수 있습니다. 외부 요인 모델은 강의나 플랫폼에 문제가 있다고 봅니다. 내부 요인 모델은 학습자의 학습 방법에 원인이 있다고 봅니다. 실제로는 두 요인이 동시에 작용할 수 있지만, 여기서는 어느 쪽이 주된 원인인지를 가리는 것으로 단순화합니다.
외부 요인 모델 안에는 여러 가설이 있습니다. 강의 콘텐츠가 부실할 가능성(가설 사전 확률)을 50%로 봅시다. 유명 플랫폼이라도 모든 강의가 좋은 것은 아니니까요. 플랫폼의 실습 환경이나 피드백 시스템에 문제가 있을 가능성은 30%, 초급자에게 너무 어려운 교육과정일 가능성은 20%로 설정합니다. 온라인 교육의 문제점이 자주 지적되는 요즘, 이 외부 요인 모델의 사전 확률을 60%로 잡았습니다.
내부 요인 모델에는 다른 가설들이 있습니다. K군이 강의만 수동적으로 보고 실습을 하지 않았을 가능성이 70%, 실습은 했지만 효율적이지 못한 방법으로 했을 가능성이 30%입니다. 온라인에서도 성공적으로 학습하는 사람들이 많다는 점을 고려해, 내부 요인 모델의 사전 확률은 40%로 잡겠습니다.
정리해 보겠습니다. 앞으로 증거를 만날 때마다 이 표의 빈 열들을 하나씩 채워나갈 겁니다.
첫 번째 단서가 나타났습니다. K군이 들은 강의의 평점은 4.5점(5점 만점)이며, 수강생은 3만 명이 넘습니다. "최고의 파이썬 강의", "설명이 정말 쉬워요" 같은 리뷰가 가득합니다. 이 증거를 각 가설이 얼마나 잘 설명할 수 있을까요? Ep.9에서 배운 가설 데이터 지지도를 떠올려보세요.
만약 콘텐츠가 나빴다면 이런 높은 평점이 나올 가능성은 5%에 불과합니다. 플랫폼에 문제가 있었다면 15%, 난이도가 너무 높았다면 30% 정도의 가능성이 있습니다. 초급자에게 어려운 강의도 전체적으로는 좋은 평가를 받을 수 있으니까요.
반면 학습자가 수동적으로만 학습했다면? 강의 자체는 훌륭할 수 있으므로 85%의 가능성으로 높은 평점이 나올 수 있습니다. 잘못된 방법으로 능동 학습을 했다면 80% 정도입니다. 이 가능성이 곧 각 가설의 데이터 지지도입니다.
이제 가설 데이터 지지도를 추가합니다.
먼저 가설 수준에서 베이지안 업데이트를 진행합니다. 각 가설별로 사전 확률과 데이터 지지도를 곱해 가중 점수를 구합니다. 그리고 이 가중 점수를 모델별 합으로 나누어 정규화하면 가설 사후 확률을 계산할 수 있습니다. 그 결과는 다음과 같습니다.
다음은 모델 수준입니다. 모델 데이터 지지도는 가설 사전 확률을 가중치로 사용하여 가설 데이터 지지도의 가중 평균을 구한 값입니다. 위에서 가중 점수를 모델별로 합산하면 그것이 곧 모델 데이터 지지도가 됩니다. 예를 들어, 외부 요인 모델의 모델 데이터 지지도는 2.5점 + 4.5점 + 6점 = 13점이 됩니다. 이와 같은 식으로 먼저 모델 데이터 지지도를 입력하고, 이를 모델 사전 확률과 곱한 후, 끝으로 정규화를 통해 모델 사후 확률을 계산하면 다음과 같습니다.
만약 전체 100% 믿음이 다섯 가지 가설에 어떻게 분배되는지를 계산하고 싶다면, 각 모델 내 가설 사후 확률에 그 모델의 사후 확률을 곱해 조정하면 됩니다.
첫 번째 증거만으로도 우리의 믿음이 크게 바뀌었습니다! 처음에는 외부 요인을 60%나 의심했지만, 이제는 19%로 줄었습니다. 용의선상이 좁혀졌지만, 수사는 아직 끝나지 않았습니다.
두 번째 단서는 K군의 학습 행동 패턴입니다. 플랫폼의 학습 기록을 확인해 보니 흥미로운 사실이 드러났습니다. 영상 시청률은 95%로 매우 높지만, 실습 파일 다운로드율은 10%, 과제 제출률은 5%에 불과했습니다. 프로그래밍은 수영이나 자전거 타기처럼 직접 해봐야 배울 수 있는데, K군은 보기만 했던 것입니다.
이 패턴을 각 가설이 설명할 가능성을 평가해 봅시다. 콘텐츠에 문제가 있었다면 학생들이 실습을 포기할 수도 있으니 20% 정도, 플랫폼 문제라면 25%, 난이도가 높아서 포기했다면 30%의 가능성이 있습니다. 하지만 수동적 학습이 원인이라면? 이런 패턴이 나올 가능성이 90%나 됩니다. 정확히 수동적 학습의 전형적인 모습이니까요. 잘못된 능동 학습이라면 그래도 실습은 시도했을 테니 10% 정도에 그칩니다.
방금 설정한 가설 데이터 지지도를 정리하면 다음과 같습니다. 참고로 첫 번째 단서를 처리한 후의 사후 확률이 곧 새로운 증거를 처리하기 전의 사전 확률이 되었음에 주목하세요.
이제 첫 번째 증거를 처리할 때와 같은 방식으로 가설 수준과 모델 수준의 베이지안 업데이트를 적용합니다. 가설 수준의 빈 열은 직접 채워보세요. 결과만 말씀드리면, 내부 요인 모델 안에서 수동적 학습의 사후 확률은 96%, 잘못된 학습 방법은 4%로 벌어졌습니다.
모델 수준도 직접 계산해 보세요.
종합하면, K군의 학습 실패는 91.5%의 확률로 학습 방법의 문제이며, 그 안에서도 수동적 학습이 96%를 차지합니다. 전체로 환산하면 91.5% × 96% = 87.8%에 달하죠. 강의를 시청하기만 했을 뿐, 직접 코드를 작성하거나 문제를 해결하는 연습을 하지 않았던 것입니다.
진단이 나왔으니 처방의 방향은 분명합니다. 프로그래밍은 이론이 아니라 기술입니다[1]. 피아노 연주 영상을 아무리 많이 봐도 건반을 직접 치지 않으면 연주를 배울 수 없듯이, 코딩도 직접 해봐야 합니다. 보는 시간을 줄이고 직접 하는 시간을 늘리는 것, 관찰자에서 참여자로 전환하는 것이 핵심입니다. 구체적인 비율이나 방법은 사람마다 다르겠지만, 방향만큼은 베이지안 분석이 가리키고 있습니다.
처음엔 외부 탓을 했지만, 증거 두 개만으로 생각이 뒤집혔습니다. 그리고 그 결론이 곧 처방이 됐습니다.
이번 분석에서 결론을 결정한 건 사전 확률보다 데이터 지지도의 격차였습니다. 외부 요인 가설들의 데이터 지지도는 5~30점 범위였지만, 내부 요인 가설들은 80~90점 범위로, 증거가 한쪽을 강하게 가리켰습니다. 만약 이 격차가 작았다면 결론은 훨씬 불확실했을 것이고, 증거를 더 모아야 했을 겁니다. 이번 분석에서처럼 데이터 지지도를 직관적으로 설정할 때는, 그 값 자체에 분석자의 판단이 들어간다는 점을 기억하세요.
무엇보다 중요한 것은, 91.5%의 높은 확신을 가지면서도 여전히 8.5%의 가능성을 열어둔다는 점입니다. K군이 제안된 방법을 시도했는데도 개선이 없다면? 그때는 외부 요인을 다시 살펴봐야 합니다.
그런데 궁금하지 않나요? 처음에 외부 요인을 90%로 강하게 믿고 시작했다면 결론이 달라졌을까요? 계산해 보면, 첫 번째 증거(높은 강의 평점) 후에도 외부 요인이 여전히 약 58%로 우세합니다. 하지만 두 번째 증거(수동적 학습 패턴)까지 더해지면 외부 요인은 약 35%까지 떨어집니다. 90%에서 시작했는데도 두 번의 증거만으로 과반 아래로 내려온 겁니다. 처음부터 어떤 가능성을 완전히 0으로 닫아버리지만 않는다면, 증거가 쌓일수록 출발점과 관계없이 같은 방향으로 수렴합니다. 선입견이 강하더라도 증거를 정직하게 반영하면 진실에 가까워질 수 있습니다.
[♪ 차분한 음악]
이지은: 어떠셨나요? 오늘 우리는 베이지안 탐정이 되어 청취자의 사연에 담긴 문제를 풀어보았습니다.
가장 인상적인 건, 모든 가능성이 동시에 업데이트된다는 거예요. 큰 틀(모델)의 확률도 바뀌고, 그 안의 세부 가설들의 확률도 모두 조정됩니다. 수채화에 물방울이 떨어져 색이 번지듯, 하나의 증거가 모든 가능성의 농도를 바꿔놓습니다!
최종적으로 내부 요인 모델을 선택한 후에도, 그 안에서 '수동적 학습(96%)'이 문제였을 가능성이 압도적으로 높다는 것까지 알 수 있었죠.
[띠링!]
오늘의 미션! '나만의 베이지안 수사'
여러분 주변의 '미스터리'를 하나 골라서:
2-3개의 모델(큰 가설) 설정
각 모델 내 2-3개의 세부 가설 설정
모든 확률 초기값(사전 확률) 부여
증거 3개 이상 수집
각 증거마다 모델과 가설 확률 모두 갱신
최종 '범인' 모델 선택 + 그 안에서 가장 가능성 높은 가설 찾기!
예를 들어 '왜 스마트폰 배터리가 빨리 닳을까?'라는 미스터리라면, 사용 문제를 모델 A로 두고 그 안에 앱 과다 실행(60%)과 화면 밝기(40%)를 넣을 수 있습니다. 기기 문제를 모델 B로 두고 배터리 노후(70%)와 잦은 과충전(30%)을 넣을 수도 있고요. 증거들을 모으며 모든 확률이 어떻게 변하는지 지켜보세요! 증거를 평가하려면 데이터 지지도를 설정해야 합니다. 정확한 값을 정하기 어렵게 느껴진다면, '앱 과다라면 배터리가 빨리 닳을 가능성이 높고, 과충전이라면 중간 정도' 같이 대소 관계만 잡아도 충분해요.
불확실성 속에서 모든 가능성을 열어두되, 증거에 따라 유연하게 — 이것이 베이지안 사고의 정수입니다. 초기 믿음을 세우고, 증거를 따라 갱신하고, 여러 렌즈를 비교하고, 필요하면 하나를 선택하는 것까지. 여기까지 오신 여러분은 이제 세상을 읽는 도구를 갖추셨어요. 다음 시즌에서는 이 도구를 들고 진짜 선택과 행동의 순간으로 나가봅니다. 저는 이지은이었습니다.
[♪ 밝은 음악]
참고문헌
1. Robins, A., Rountree, J., & Rountree, N. (2003). Learning and teaching programming: A review and discussion. Computer Science Education, 13(2), 137-172. https://doi.org/10.1076/csed.13.2.137.14200