동주의 세상

Clean and minimal personal blog

확증 편향과 반례 찾기

Posted at — Jun 9, 2021

나는 오랫동안 확증 편향을 숫자와 논리에 익숙치 않음과 동일시해왔다. 최근 들어 단어의 개념이 새롭게 느껴져 경험을 공유하고자 한다.

확증 편향은 우리에게 친숙한 개념이다. 원래 갖고 있는 생각이나 신념을 확인하려는 경향을 일컫는다. 내가 원하는 정보만 수용하고 보려는 경향이다. 대부분의 사람에게 이는 자신이 지닌 합리성과는 거리가 멀고, 일부 몰상식한 이들이 지닌 특성이다.

인스타그램에서 시간 죽이기용 피드를 보고 있자면, 가끔 이런 추론 문제가 보인다.

1 = 2
2 = 8
3 = 18
4 = 32
5 = 50
7 = ?

단순한 예시이다

7번째 숫자는 무엇일까?

 


 

확증 편향이라는 용어가 처음 쓰인건 Peter Wason 이라는 심리학자의 1960년 실험1에서인데, 나는 처음 접했을때 매우 신선했다. 간단한 개요는 이렇다.

내가 실험 참가자라고 생각한다면, 쉬운 조건을 보고 얼른 맞출 생각에 흥분했을 것 같다.

결과는 충격적이다. 29명의 참가자 중 6명만 정답을 맞추었고, 나머지는 한 번 이상 틀리고서야 규칙을 찾았다. 모든 참가자들의 지적 능력은 높았다.

참가자들은 긍정 예시 -자신의 가설에 부합하는 세 자리 숫자- 만을 테스트하려는 경향이 아주아주 강했다. 2, 4, 6을 본 참가자들은 직관적으로 2씩 증가하는 수열이라고 추측하고 10, 12, 14와 같은 수열을 검증받는다. 자신의 이론에 부합하지 않는 수열을 검증 받으려는 시도 자체가 매우 적었다. 예측이 틀리지 않았는지 검증하는 대신 자신의 예측을 확증하는 사례만 제시하는 것이다.

자신의 최종 정답이 틀렸다는 사실을 들은 13명의 참가자는 충격을 받고 나서야 자신의 이론을 무너뜨리는 예시들을 생각해내기 시작했고, 마침내 어떤 식으로든 증가하는 세 개의 숫자 라는 규칙을 찾아낼 수 있었다.

 


 

소프트웨어 테스팅을 공부하다 읽은 구절에서는 테스터를 이렇게 묘사한다.

A good tester wields a sledgehammer and beats the program everywhere it might be vulnerable, so that those vulnerabilities can be eliminated.

테스터는 소프트웨어의 결함을 찾아내고 실패하게 한다. 이는 역설적이게도 더 나은 소프트웨어를 만드는 과정이다. 집착은 성장으로 치환된다.

개발자 공채 공고를 보면 원하는 인재상에 이런 늬앙스의 특징을 자주 발견한다.

 

무언가를 끝까지 파본 ‘덕질’ 경험

 

개발자에게 있어서 알 때까지 붙잡고 늘어지는 능력은 논리력 사고력 만큼이나 중요한 자질이다.

이쁘게 주어지는 input과 친절한 조건 하에서의 알고리즘 문제 풀이조차 내가 직관적으로 맞다고 믿는 접근법, 수도코드의 반례를 찾기가 얼마나 어려운지 경험을 통해 안다.

내 코드는 테스트 케이스를 거의 다 통과하는데 한 두개 놓친 부분이 있는 것 같다. 좋은 게 좋은거지, 내 힘으로 알고리즘 짠거나 다름없으니 코너 케이스 몇개는 남의 예제 보고 넘어가야겠다. 아차, 여기구나, 처음에 특정 인풋에 대해서는 예외 처리해야겠다.

반대로 이런 경험도 있다. 맞았다고 하는데도 찝찝해. 직관적으로 짠 코드고 당장의 반례도 떠오르는 것은 없지만 남의 코드를 긁어온 것 마냥 완전히 이해되지 않는 부분이 있다. 문제 조건을 조금만 틀면 디버깅할 엄두도 못내고 망가져버릴 것만 같은 기분이 든다.

직관은 시작이다. 직관으로 문제를 풀 수도, 못 풀 수도 있다. 정상의 성취보다 정상 바로 직전까지 헤메고, 편향을 길들이고, 새로운 사고 회로를 뚫어내던 순간이 마지막까지 내 편이 되어줄 가치임을 믿는다.

 


 

처음으로 돌아가서, 나는 7번째 숫자를 잘 모르겠다. 누군가가 제시한 답이 그 사람의 설명으로 이해되는지까지가 알 수 있는 영역이다. 물음표에 들어갈 숫자는 무엇인가? 는 이제 내가 답할 수 있는 질문이 아니다.

 


  1. Wason and the 2-4-6 Task ↩︎