123강 문제 1의 첫 줄에서 이상한 것을 봤습니다.
첫 주사위가 짝수라는 정보를 얻었는데 합이 일 확률이 전혀 변하지 않았습니다. 정보가 아무 쓸모가 없었습니다.
이 상황에 이름을 붙이는 것이 이 강의의 출발점입니다.
곱셈법칙 에 를 넣은 것이며, 이 곱 형태가 독립의 정의가 됩니다. 조건부 형태보다 곱 형태를 정의로 삼는 이유는 일 때도 말이 되고 대칭적이기 때문입니다.
독립은 확률론에서 가장 강력한 가정입니다. 결합분포를 곱으로 쪼갤 수 있으면 개 변수의 확률이 개 수가 아니라 개 수로 기술되기 때문입니다.
| 개 이진 변수 | 필요한 수 |
|---|---|
| 일반 결합분포 | |
| 독립이라 가정 |
이면 억 대 입니다. 그래서 실무는 독립을 가정하려 하고, 그 가정이 언제 정당한지가 문제가 됩니다.
그리고 이 강의의 절반은 더 미묘한 개념입니다. 조건을 걸면 독립이 생기기도 하고 사라지기도 합니다. 그 현상을 읽는 것이 인과 구조를 읽는 첫 걸음입니다.
문제. 주사위 두 개에서 는 합이 , 는 첫 눈이 짝수, 는 둘째 눈이 짝수, 는 합이 이상, 는 첫 눈이 입니다.
(1) 각 쌍에서 와 를 비교하세요.
(2) 독립인 쌍을 찾으세요.
(3) 합이 인 사건이 왜 특별한지 설명하세요.
생각의 실마리. 123강에서 였습니다. 양변에 를 곱하면 곱 형태가 나옵니다. 이 형태로 판정하는 것이 편합니다.
풀이. (1)(2) 검산 결과입니다.
| 쌍 | 차이 | 독립 | ||
|---|---|---|---|---|
| 참입니다 | ||||
| 참입니다 | ||||
| 참입니다 | ||||
| 아닙니다 | ||||
| 아닙니다 |
(3) 합이 인 사건은 어느 한 주사위와도 독립입니다. 첫 눈이 무엇이든 둘째 눈이 정확히 하나 맞춰 주면 되므로 확률이 언제나 이기 때문입니다.
합이 이상인 는 그렇지 않습니다. 첫 눈이 크면 유리하고 작으면 불리하므로 정보가 확률을 바꿉니다.
이 문제에서 배우는 것: 독립의 정의.
독립. 두 사건 와 가
를 만족하면 서로 독립이라 합니다.
곱 형태를 정의로 삼는 이유가 세 가지 있습니다.
| 이유 | 설명 |
|---|---|
| 대칭적입니다 | 와 의 역할이 같습니다 |
| 이어도 됩니다 | 조건부 형태는 정의되지 않습니다 |
| 여러 개로 확장하기 쉽습니다 | 곱을 늘리면 됩니다 |
조건부 형태와 동치입니다. 이면
이며 "가 에 대해 정보를 주지 않는다"와 "가 에 대해 정보를 주지 않는다"가 같은 말입니다. 123강 심화 4의 정보량 대칭성이 여기서 다시 나타납니다.
여사건도 독립입니다. 와 가 독립이면 와 , 와 , 와 도 모두 독립입니다.
증명이 한 줄입니다.
직관적으로 당연합니다. 가 정보를 안 주면 "가 아니다"도 정보를 안 줍니다.
바로 확인 1.
확인 1-1. 독립의 정의를 곱 형태로 쓰세요.
답. 입니다.
확인 1-2. 곱 형태를 정의로 쓰는 이유 두 가지를 쓰세요.
답. 대칭적이고 일 때도 정의되기 때문입니다.
확인 1-3. 와 가 독립이면 와 는 어떻습니까?
답. 역시 독립입니다.
문제. 세 쌍 , , 를 봅니다.
(1) 각 쌍이 배반인지, 독립인지 판정하세요.
(2) 배반이면서 독립인 경우가 있는지 조사하세요.
(3) 두 개념의 관계를 한 문장으로 쓰세요.
생각의 실마리. 배반은 이고 독립은 입니다. 둘 다 성립하려면 이어야 합니다.
풀이. (1) 검산 결과입니다.
| 쌍 | 배반 | 독립 | ||
|---|---|---|---|---|
| 참 | 거짓 | |||
| 거짓 | 참 | |||
| 참 | 거짓 |
세 가지 조합이 모두 나타납니다. 배반이지만 독립이 아닌 경우가 둘, 독립이지만 배반이 아닌 경우가 하나입니다.
(2) 배반이면서 독립이려면 이어야 하는데 검산에서 , 이라 곱이 이므로 이 아닙니다. 확률이 이 아닌 두 사건은 배반이면 결코 독립일 수 없습니다.
(3) 배반은 가장 강한 종속입니다.
이 문제에서 배우는 것: 배반과 독립은 정반대다.
핵심 대비. 배반은 가 일어나면 가 절대 못 일어난다는 뜻이고, 독립은 가 일어나도 의 확률이 전혀 안 변한다는 뜻입니다.
"를 알면 의 확률이 으로 떨어진다"는 것은 정보가 최대한 많다는 뜻입니다. 정보가 없다는 독립과 정반대입니다.
| 배반 | 독립 | |
|---|---|---|
| 정의 | ||
| 그림 | 겹치지 않습니다 | 직사각형 모양입니다 |
| 정보 | 최대입니다 | 없습니다 |
| 둘 다 성립 | 일 때뿐입니다 |
121강 심화 5의 직사각형 사건이 여기서 정체를 드러냅니다. 곱 표본공간 에서 와 꼴이면
이므로 자동으로 독립입니다. 와 가 독립이었던 것이 이 구조입니다.
바로 확인 2.
확인 2-1. 배반과 독립 중 어느 쪽이 정보가 많습니까?
답. 배반이며 한쪽을 알면 다른 쪽이 불가능해집니다.
확인 2-2. 배반이면서 독립일 조건을 쓰세요.
답. 일 때뿐입니다.
확인 2-3. 곱 표본공간에서 자동으로 독립이 되는 사건의 모양을 쓰세요.
답. 각 성분에만 조건을 거는 직사각형 사건입니다.
문제. 공정한 동전 두 개를 던집니다. 는 첫 동전이 앞, 는 둘째 동전이 앞, 는 두 결과가 같음입니다.
(1) 세 쌍이 각각 독립인지 확인하세요.
(2) 셋이 함께 독립인지 확인하세요.
(3) 결과를 설명하세요.
생각의 실마리. 는 와 로 완전히 결정됩니다. 결정되는 관계인데 쌍으로는 독립일 수 있는지가 이 문제의 요점입니다.
풀이. (1)(2) 검산 결과입니다.
| 쌍 | (교집합) | 곱 | 쌍별 독립 |
|---|---|---|---|
| 참입니다 | |||
| 참입니다 | |||
| 참입니다 |
| 셋 | 상호 독립 | ||
|---|---|---|---|
| 아닙니다 |
세 쌍이 모두 독립인데 셋은 독립이 아닙니다.
(3) 와 를 둘 다 알면 가 완전히 정해집니다. 실제로 가 일어나면 두 결과가 같으므로 도 반드시 일어나며
입니다. 하나만 알 때는 정보가 없는데 둘 다 알면 완전한 정보가 됩니다.
이 문제에서 배우는 것: 상호 독립은 쌍별 독립보다 강하다.
상호 독립. 사건 이 상호 독립이려면 모든 부분집합에 대해 곱 관계가 성립해야 합니다.
조건이 개입니다. 이면 쌍 세 개와 삼중 하나로 네 개이며, 이 문제는 셋만 만족하고 마지막 하나가 깨진 예입니다.
이런 예를 베른슈타인의 예라 부릅니다.
| 개념 | 요구 |
|---|---|
| 쌍별 독립 | 모든 쌍에 대해 곱 관계 |
| 상호 독립 | 모든 부분집합에 대해 곱 관계 |
| 관계 | 상호 독립이면 쌍별 독립이지만 역은 거짓입니다 |
실무에서 이 구별이 중요합니다. 상관계수가 인 변수들을 모아 놓고 독립이라 가정하면 이 함정에 빠집니다. 138강에서 상관이 이어도 독립이 아닐 수 있다는 사실과 같은 구조입니다.
독립을 요구하는 정리들은 대개 상호 독립을 요구합니다. 142강의 큰 수의 법칙과 143강의 중심극한정리가 그렇습니다.
바로 확인 3.
확인 3-1. 상호 독립의 정의를 쓰세요.
답. 모든 부분집합에 대해 교집합의 확률이 확률의 곱과 같아야 합니다.
확인 3-2. 개 사건에 필요한 조건의 개수를 쓰세요.
답. 개입니다.
확인 3-3. 쌍별 독립이면 상호 독립입니까?
답. 아닙니다. 베른슈타인의 예가 반례입니다.
문제. 는 첫 눈이 짝수, 는 둘째 눈이 짝수이며 문제 1에서 독립임을 확인했습니다.
(1) 조건 없이, 합이 짝수라는 조건에서, 첫 눈이 이하라는 조건에서 각각 독립인지 판정하세요.
(2) 독립이 깨지는 경우를 자세히 분석하세요.
(3) 조건과 독립의 관계를 정리하세요.
생각의 실마리. 조건부확률도 확률이므로(123강 문제 4) 조건부 세계에서도 독립을 정의할 수 있습니다. 문제는 원래 세계의 독립이 유지되느냐입니다.
풀이. (1) 검산 결과입니다.
| 조건 | 조건부 독립 | ||
|---|---|---|---|
| 조건 없음 | 참입니다 | ||
| 합이 짝수 | 아닙니다 | ||
| 첫 눈 | 참입니다 |
합이 짝수라는 조건에서 독립이 깨집니다.
(2) 합이 짝수이려면 두 눈의 홀짝이 같아야 합니다. 따라서 조건부 세계에서 와 는 완전히 같은 사건이 됩니다.
이므로 는 에 완전히 포함됩니다. 첫 눈이 짝수라는 것을 알면 둘째 눈도 반드시 짝수입니다.
(3) 독립과 조건부 독립 사이에는 어느 방향의 함의도 없습니다.
이 문제에서 배우는 것: 조건부 독립.
조건부 독립. 일 때
이면 와 가 가 주어졌을 때 조건부 독립이라 하고 로 씁니다.
두 개념이 서로를 함의하지 않습니다.
| 상황 | 구조 | 예 |
|---|---|---|
| 독립인데 조건부 종속 | 공통 결과를 조건으로 검 | 이 문제의 합이 짝수 |
| 종속인데 조건부 독립 | 공통 원인을 조건으로 검 | 아래의 실력과 두 시험 |
첫째를 충돌자 구조라 부릅니다. 두 원인이 하나의 결과에 함께 작용할 때, 결과를 알면 원인들이 서로 얽힙니다. **"합이 짝수인데 첫 눈이 홀수라면 둘째도 홀수여야 한다"**는 추론이 그 얽힘입니다.
둘째를 공통 원인 구조라 부릅니다. 같은 학생의 수학 점수와 영어 점수는 상관이 높지만, 실력을 알고 나면 두 점수는 서로 정보를 주지 않습니다. 상관의 출처가 공통 원인이었기 때문입니다.
| 구조 | 그림 | 조건을 걸면 |
|---|---|---|
| 사슬 | 매개 | 독립이 됩니다 |
| 갈래 | 공통 원인 | 독립이 됩니다 |
| 충돌 | 공통 결과 | 종속이 됩니다 |
세 구조의 구별이 인과추론의 기초이며 S8에서 정면으로 다룹니다. 충돌자를 조건으로 거는 것이 흔한 분석 실수이며, 123강 심화 3의 선택 편향이 대개 이 형태입니다.
바로 확인 4.
확인 4-1. 조건부 독립의 정의를 쓰세요.
답. 입니다.
확인 4-2. 독립이면 조건부 독립입니까?
답. 아닙니다. 충돌자를 조건으로 걸면 깨집니다.
확인 4-3. 종속인데 조건부 독립이 되는 구조를 쓰세요.
답. 공통 원인 구조이며 그 원인을 조건으로 걸면 됩니다.
문제. 메일 통 중 스팸이 통, 정상이 통입니다. 단어 두 개의 등장 여부를 봅니다.
(1) 각 클래스에서 두 단어가 조건부 독립인지 확인하세요.
(2) 두 단어가 모두 등장한 메일이 스팸일 확률을 정확한 결합분포와 나이브 가정으로 각각 구하세요.
(3) 두 결과를 비교하세요.
생각의 실마리. 나이브 베이즈는 각 클래스 안에서 특징들이 조건부 독립이라 가정합니다. 그 가정이 실제로 맞는지 먼저 확인합니다.
풀이. (1) 검산 결과입니다.
| 클래스 | (둘 다) | 조건부 독립인가 | |||
|---|---|---|---|---|---|
| 스팸 | 아닙니다 | ||||
| 정상 | 아닙니다 |
두 클래스 모두에서 가정이 깨집니다. 스팸에서는 인데 곱은 로 두 배 차이입니다.
(2)(3) 그럼에도 두 방식의 결론을 비교합니다.
| 방식 | 판정 | ||
|---|---|---|---|
| 정확한 결합 | 스팸 | ||
| 나이브 가정 | 스팸 |
확률값은 만큼 틀렸지만 판정은 같습니다.
이 문제에서 배우는 것: 나이브 베이즈의 조건부 독립 가정.
나이브 베이즈. 클래스 가 주어졌을 때 특징들이 조건부 독립이라 가정합니다.
이 가정이 사는 것은 파라미터 수입니다.
| 이진 특징 개 | |
|---|---|
| 결합분포 그대로 | 클래스당 개 |
| 나이브 가정 | 클래스당 개 |
이면 다룰 수 없는 수와 천 개의 차이입니다. 가정 없이는 계산 자체가 불가능합니다.
가정이 거의 언제나 틀린데도 잘 작동하는 이유가 있습니다.
분류는 확률값이 아니라 대소만 필요합니다. 두 클래스의 점수를 비교할 때 나이브 가정의 왜곡이 양쪽에 비슷하게 들어가면 순서가 보존됩니다. 이 문제에서 확률은 틀렸지만 스팸 쪽이 크다는 사실은 그대로입니다.
다만 확률값 자체를 믿으면 안 됩니다. 나이브 베이즈의 출력은 대개 이나 에 지나치게 몰리며, 상관된 특징을 여러 번 세기 때문입니다. 보정이 필요한 대표적인 모형이며 212강에서 다룹니다.
| 쓰임 | 나이브 베이즈 |
|---|---|
| 분류 판정 | 잘 맞습니다 |
| 순위 매기기 | 대체로 괜찮습니다 |
| 확률값 그대로 사용 | 위험합니다 |
바로 확인 5.
확인 5-1. 나이브 베이즈의 가정을 쓰세요.
답. 클래스가 주어졌을 때 특징들이 조건부 독립이라 가정합니다.
확인 5-2. 그 가정이 절약하는 것을 쓰세요.
답. 파라미터 수가 클래스당 에서 로 줄어듭니다.
확인 5-3. 가정이 틀려도 분류가 되는 이유를 쓰세요.
답. 확률값이 아니라 대소만 필요하고 왜곡이 양쪽에 비슷하게 들어가기 때문입니다.
| 개념 | 식 |
|---|---|
| 독립 | |
| 동치 형태 | |
| 여사건 | 독립이면 여사건끼리도 독립입니다 |
| 상호 독립 | 모든 부분집합에서 곱 관계 |
| 조건부 독립 | |
| 나이브 가정 |
| 배반 대 독립 | |
|---|---|
| 배반 | 정보가 최대입니다 |
| 독립 | 정보가 없습니다 |
| 둘 다 | 일 때뿐입니다 |
| 인과 구조 | 조건을 걸면 |
|---|---|
| 사슬 | 독립이 됩니다 |
| 갈래 | 독립이 됩니다 |
| 충돌 | 종속이 됩니다 |
| 자주 하는 실수 | 바로잡기 |
|---|---|
| 배반이면 독립이라 봅니다 | 정반대입니다 |
| 쌍별 독립을 상호 독립이라 봅니다 | 베른슈타인의 예가 반례입니다 |
| 독립이면 조건부 독립이라 봅니다 | 충돌자에서 깨집니다 |
| 나이브 베이즈의 확률값을 믿습니다 | 판정만 믿습니다 |
문제 6. 독립의 정의를 곱 형태로 쓰세요.
답. 입니다.
문제 7. 곱 형태를 정의로 삼는 이유 두 가지를 쓰세요.
답. 대칭적이고 일 때도 정의되기 때문입니다.
문제 8. 독립이면 와 도 독립임을 한 줄로 보이세요.
답. 입니다.
문제 9. 주사위 두 개에서 "합이 "과 첫 눈에 관한 사건의 관계를 쓰세요.
답. 언제나 독립이며 다른 눈이 맞춰 주기 때문입니다.
문제 10. 배반과 독립 중 정보가 많은 쪽을 쓰세요.
답. 배반이며 한쪽을 알면 다른 쪽이 불가능해집니다.
문제 11. 배반이면서 독립일 조건을 쓰세요.
답. 일 때뿐입니다.
문제 12. 독립일 때 를 쓰세요.
답. 입니다.
문제 13. 상호 독립의 정의와 조건 개수를 쓰세요.
답. 모든 부분집합에서 곱 관계이며 개입니다.
문제 14. 베른슈타인의 예를 쓰세요.
답. 동전 두 개에서 첫 앞, 둘째 앞, 두 결과가 같음이며 쌍별 독립이지만 상호 독립이 아닙니다.
문제 15. 조건부 독립의 정의를 쓰세요.
답. 입니다.
문제 16. 독립이 조건부 종속이 되는 구조를 쓰세요.
답. 충돌자 구조이며 공통 결과를 조건으로 걸 때입니다.
문제 17. 나이브 베이즈의 가정과 파라미터 절약을 쓰세요.
답. 클래스별 조건부 독립이며 에서 로 줄어듭니다.
문제 18. 나이브 베이즈의 확률값을 믿으면 안 되는 이유를 쓰세요.
답. 상관된 특징을 여러 번 세어 과 로 몰리기 때문입니다.
심화 1. 독립의 기하적 정체를 정리하세요.
문제 2에서 곱 표본공간의 직사각형 사건이 자동으로 독립이라고 했습니다. 역도 어느 정도 성립합니다.
에 곱 확률을 준 경우, 첫 성분만 보는 사건과 둘째 성분만 보는 사건은 언제나 독립입니다.
그런데 직사각형이 아니어도 독립일 수 있습니다. 문제 1의 (합이 )가 대각선인데 와 독립이었습니다.
곱 형태를 넓이로 읽으면 이해됩니다. 를 단위 정사각형으로 보고 를 넓이라 하면
는 안에서 가 차지하는 비율이 전체에서 차지하는 비율과 같다는 뜻입니다. 모양이 어떻든 비율만 맞으면 됩니다.
| 조건 | 독립인가 |
|---|---|
| 직사각형 사건 | 언제나 독립입니다 |
| 대각선 사건 | 비율이 맞으면 독립입니다 |
| 배반 사건 | 확률이 이 아니면 독립이 아닙니다 |
139강에서 확률변수의 독립을 다룰 때 이 그림이 다시 나옵니다. 결합밀도가 주변밀도의 곱으로 갈라지는 것이 독립이며, 그때 지지집합이 직사각형이어야 한다는 조건이 따라붙습니다.
심화 2. 독립의 곱 구조가 계산을 어떻게 바꾸는지 정리하세요.
개 사건이 상호 독립이면 여러 계산이 한 줄이 됩니다.
| 목표 | 일반 | 독립일 때 |
|---|---|---|
| 모두 일어남 | 곱셈법칙 연쇄 | |
| 하나도 안 일어남 | 포함배제 | |
| 적어도 하나 | 포함배제 항 |
셋째 줄이 122강 심화 6의 독립 근사입니다. 항이 개에서 개로 줄어듭니다.
가 모두 작으면 더 단순해집니다. 이므로
이고, 가 작으면 다시 입니다. 부울 부등식의 상한이 이 경우 거의 정확해집니다.
122강 문제 5의 교란순열이 정확히 이 계산이었습니다. 이 개라 이고 이 나왔습니다.
로그를 취하면 합이 되는 것이 핵심이며, 이것이 149강 최대우도추정에서 로그가능도를 쓰는 이유입니다. 독립 표본의 결합확률이 곱이므로 로그를 취하면 합이 되어 미분이 쉬워집니다.
심화 3. 조건부 독립의 성질을 정리하세요.
조건부 독립 는 여러 성질을 만족하며, 이를 그래포이드 공리라 부릅니다.
| 이름 | 내용 |
|---|---|
| 대칭성 | |
| 분해 | |
| 약결합 | |
| 축약 | 이고 이면 |
이 공리들이 확률그래프모형의 근거입니다. 그래프에서 경로가 막혔는지 보는 것만으로 조건부 독립을 읽어 낼 수 있는 이유가 여기 있습니다.
주의할 것은 다음이 성립하지 않는다는 점입니다.
각 조건 아래서 독립이어도 전체로는 종속일 수 있습니다. 123강 심화 3의 심프슨의 역설과 같은 구조이며, 조건별로 성립하는 성질이 합쳐서 깨지는 현상입니다.
반대로 결합성이라 부르는 성질도 일반적으로 거짓입니다.
밀도가 어디서나 양수라는 조건을 붙이면 성립하며, 이를 교차 성질이라 합니다.
심화 4. 충돌자를 조건으로 거는 실수의 사례를 모으세요.
문제 4에서 공통 결과를 조건으로 걸면 원인들이 얽힌다고 했습니다. 실무의 사례가 많습니다.
첫째로 버크슨의 역설입니다. 병원 입원 환자만 조사하면 서로 무관한 두 질병이 음의 상관을 보입니다. 둘 중 하나만 있어도 입원할 수 있으므로, 입원했는데 한쪽이 없다면 다른 쪽이 있을 가능성이 커집니다. 입원이 충돌자입니다.
둘째로 채용된 인재의 역설입니다. 학력과 경력이 모두 높아야 채용된다면, 채용된 사람들 안에서는 학력과 경력이 음의 상관을 보입니다. 합격선이 충돌자입니다.
셋째로 모형 평가의 함정입니다. 추천 시스템에서 노출된 항목만 클릭 데이터가 쌓입니다. 노출 여부가 항목의 품질과 사용자 취향 모두에 영향을 받으므로 충돌자이며, 노출된 것만 보면 품질과 취향이 인위적으로 얽힙니다.
| 사례 | 충돌자 | 생기는 착시 |
|---|---|---|
| 버크슨의 역설 | 입원 | 무관한 질병이 음의 상관 |
| 채용 데이터 | 합격 | 학력과 경력이 음의 상관 |
| 추천 로그 | 노출 | 품질과 취향이 얽힘 |
| 생존 기업 분석 | 생존 | 전략들이 인위적 상관 |
공통 원인을 통제하는 것은 옳고 공통 결과를 통제하는 것은 틀립니다. 둘 다 "변수를 하나 고정한다"는 같은 조작으로 보이므로 구별하려면 인과 구조를 알아야 하며, S8의 주제입니다.
심화 5. 독립 가정이 학습 이론에서 하는 역할을 정리하세요.
기계학습의 표준 가정은 데이터가 독립이며 같은 분포를 따른다는 것입니다.
이 가정 위에 거의 모든 이론이 서 있습니다.
| 정리 | 독립을 어디에 쓰는가 |
|---|---|
| 큰 수의 법칙(142강) | 표본평균의 분산이 로 줄어듭니다 |
| 중심극한정리(143강) | 합이 정규분포로 갑니다 |
| 호에프딩 부등식(146강) | 지수적 집중을 줍니다 |
| 최대우도추정(149강) | 가능도가 곱으로 갈라집니다 |
| 교차검증(212강) | 분할이 독립 추정을 줍니다 |
독립이 깨지면 이 도구들이 전부 흔들립니다.
| 깨지는 상황 | 결과 |
|---|---|
| 시계열 데이터 | 유효 표본 수가 줄어듭니다 |
| 같은 사용자의 여러 기록 | 과신하는 신뢰구간이 나옵니다 |
| 데이터 증강 | 독립적인 새 표본이 아닙니다 |
| 중복 데이터 | 훈련과 시험이 오염됩니다 |
넷째 줄이 대규모 언어모형에서 특히 심각합니다. 웹에서 긁은 데이터에 같은 문서가 여러 번 들어가면 시험 집합과 겹쳐 성능이 부풀려집니다. 중복 제거가 전처리의 핵심 단계인 이유입니다.
같은 분포라는 가정이 깨지는 것이 분포 이동이며, 이쪽이 실무에서 더 자주 문제가 됩니다.
심화 6. 독립과 상관의 관계를 미리 정리하세요.
138강에서 상관계수를 배우지만 관계를 미리 짚어 둡니다.
반례가 간단합니다. 가 에 균등하고 이면
이라 공분산이 입니다. 그런데 를 알면 가 완전히 정해지므로 독립과는 정반대입니다.
이유는 상관이 선형 관계만 잡기 때문입니다. 곡선 관계는 보지 못합니다.
| 척도 | 잡아내는 것 |
|---|---|
| 공분산, 상관계수 | 선형 관계만 |
| 상호정보량 | 모든 의존성 |
| 독립 | 의존성이 전혀 없음 |
예외가 하나 있습니다. 결합분포가 다변량 정규분포이면 무상관과 독립이 같습니다. 140강에서 다루며, 정규분포가 유독 다루기 쉬운 이유 중 하나입니다.
실무에서 이 구별이 중요합니다. 상관행렬을 보고 "상관이 낮으니 독립적인 특징"이라 판단하는 것은 위험하며, 비선형 의존이 남아 있을 수 있습니다.
import numpy as np, itertools
S = list(itertools.product(range(1, 7), repeat=2))
N = len(S)
P = lambda E: len(E)/N
A = {w for w in S if w[0] + w[1] == 7} # 합이 7
B = {w for w in S if w[0] % 2 == 0} # 첫 눈 짝수
C = {w for w in S if w[1] % 2 == 0} # 둘째 눈 짝수
D = {w for w in S if w[0] + w[1] >= 10} # 합이 10 이상
E1 = {w for w in S if w[0] == 1} # 첫 눈이 1
# --- 문제 1: 독립은 곱으로 갈라지는 것이다 ------------------------------
print(" 독립 판정: P(X and Y) 와 P(X)*P(Y) 를 비교합니다")
print(" 쌍 P(교집합) P(X)*P(Y) 차이 독립")
for nm, X, Y in [("A, B", A, B), ("A, E1", A, E1), ("B, C", B, C),
("D, B", D, B), ("A, D", A, D)]:
pi, pp = P(X & Y), P(X)*P(Y)
print(" %-12s %10.6f %11.6f %11.6f %10s"
% (nm, pi, pp, pi - pp, abs(pi - pp) < 1e-12))
print(" 합이 7 은 어느 한 주사위와도 독립입니다. 다른 눈이 맞춰 주기 때문입니다")
# 독립 판정: P(X and Y) 와 P(X)*P(Y) 를 비교합니다
# 쌍 P(교집합) P(X)*P(Y) 차이 독립
# A, B 0.083333 0.083333 0.000000 True
# A, E1 0.027778 0.027778 0.000000 True
# B, C 0.250000 0.250000 0.000000 True
# D, B 0.111111 0.083333 0.027778 False
# A, D 0.000000 0.027778 -0.027778 False
# 합이 7 은 어느 한 주사위와도 독립입니다. 다른 눈이 맞춰 주기 때문입니다
# --- 문제 2: 배반과 독립은 정반대다 -------------------------------------
print(" 배반이면 한쪽이 일어난 순간 다른 쪽은 불가능해집니다")
print(" 쌍 P(교집합) P(X)P(Y) 배반 독립")
for nm, X, Y in [("A, D", A, D), ("A, B", A, B), ("B, E1", B, E1)]:
pi, pp = P(X & Y), P(X)*P(Y)
print(" %-10s %10.6f %10.6f %6s %6s"
% (nm, pi, pp, pi == 0.0, abs(pi - pp) < 1e-12))
print(" 배반이면서 독립이려면 P(X)P(Y) = 0 이어야 합니다")
print(" P(A)=%.6f, P(D)=%.6f 이라 곱이 %.6f 이고 0 이 아닙니다" % (P(A), P(D), P(A)*P(D)))
# 배반이면 한쪽이 일어난 순간 다른 쪽은 불가능해집니다
# 쌍 P(교집합) P(X)P(Y) 배반 독립
# A, D 0.000000 0.027778 True False
# A, B 0.083333 0.083333 False True
# B, E1 0.000000 0.083333 True False
# 배반이면서 독립이려면 P(X)P(Y) = 0 이어야 합니다
# P(A)=0.166667, P(D)=0.166667 이라 곱이 0.027778 이고 0 이 아닙니다
# --- 문제 3: 쌍별 독립이어도 셋이 독립은 아니다 -------------------------
print(" 동전 두 개. X=첫 앞, Y=둘째 앞, Z=두 결과가 같다")
T = list(itertools.product([0, 1], repeat=2))
Q = lambda E: len(E)/len(T)
X = {t for t in T if t[0] == 1}
Y = {t for t in T if t[1] == 1}
Z = {t for t in T if t[0] == t[1]}
print(" 쌍 P(교집합) P곱 쌍별 독립")
for nm, U, V in [("X, Y", X, Y), ("X, Z", X, Z), ("Y, Z", Y, Z)]:
print(" %-10s %10.6f %8.6f %10s"
% (nm, Q(U & V), Q(U)*Q(V), abs(Q(U & V) - Q(U)*Q(V)) < 1e-12))
print(" 셋 P(X and Y and Z) P(X)P(Y)P(Z) 상호 독립")
print(" %-10s %14.6f %14.6f %10s"
% ("X, Y, Z", Q(X & Y & Z), Q(X)*Q(Y)*Q(Z),
abs(Q(X & Y & Z) - Q(X)*Q(Y)*Q(Z)) < 1e-12))
print(" X 와 Y 를 둘 다 알면 Z 가 완전히 정해지므로 셋은 독립일 수 없습니다")
# 동전 두 개. X=첫 앞, Y=둘째 앞, Z=두 결과가 같다
# 쌍 P(교집합) P곱 쌍별 독립
# X, Y 0.250000 0.250000 True
# X, Z 0.250000 0.250000 True
# Y, Z 0.250000 0.250000 True
# 셋 P(X and Y and Z) P(X)P(Y)P(Z) 상호 독립
# X, Y, Z 0.250000 0.125000 False
# X 와 Y 를 둘 다 알면 Z 가 완전히 정해지므로 셋은 독립일 수 없습니다
# --- 문제 4: 조건을 걸면 독립이 생기거나 사라진다 -----------------------
print(" B=첫눈짝수, C=둘째눈짝수 는 독립입니다. 조건을 걸어 봅니다")
G = {w for w in S if (w[0] + w[1]) % 2 == 0} # 합이 짝수 (공통 결과)
def cond(X, Y, K):
pk = P(K)
return P(X & Y & K)/pk, (P(X & K)/pk)*(P(Y & K)/pk)
print(" 조건 P(B and C | K) P(B|K)P(C|K) 조건부 독립")
for nm, K in [("조건 없음", set(S)), ("합이 짝수", G), ("첫눈 <= 4", {w for w in S if w[0] <= 4})]:
a, b = cond(B, C, K)
print(" %-14s %14.6f %14.6f %14s" % (nm, a, b, abs(a - b) < 1e-12))
print(" 합이 짝수를 알면 B 와 C 는 완전히 같은 사건이 되어 독립이 깨집니다")
print(" P(B | 합짝) = %.6f, P(C | 합짝) = %.6f, P(B and C | 합짝) = %.6f"
% (P(B & G)/P(G), P(C & G)/P(G), P(B & C & G)/P(G)))
# B=첫눈짝수, C=둘째눈짝수 는 독립입니다. 조건을 걸어 봅니다
# 조건 P(B and C | K) P(B|K)P(C|K) 조건부 독립
# 조건 없음 0.250000 0.250000 True
# 합이 짝수 0.500000 0.250000 False
# 첫눈 <= 4 0.250000 0.250000 True
# 합이 짝수를 알면 B 와 C 는 완전히 같은 사건이 되어 독립이 깨집니다
# P(B | 합짝) = 0.500000, P(C | 합짝) = 0.500000, P(B and C | 합짝) = 0.500000
# --- 문제 5: 나이브 베이즈의 가정이 틀려도 왜 쓰는가 --------------------
print(" 메일 200통. 스팸 100, 정상 100. 단어 두 개의 등장 여부를 봅니다")
# 실제 결합분포 (스팸에서 두 단어가 강하게 함께 등장 = 조건부 독립이 깨짐)
joint = {"spam": np.array([[50, 5], [5, 40]], dtype=float), # [w1=0/1][w2=0/1]
"ham": np.array([[80, 8], [9, 3]], dtype=float)}
print(" 클래스 P(w1=1) P(w2=1) P(둘다) P(w1)P(w2) 조건부 독립인가")
for c in ["spam", "ham"]:
M = joint[c]; n = M.sum()
p1, p2, p12 = M[1].sum()/n, M[:,1].sum()/n, M[1,1]/n
print(" %-8s %8.4f %8.4f %8.4f %11.4f %14s"
% (c, p1, p2, p12, p1*p2, abs(p12 - p1*p2) < 1e-9))
print(" 두 단어가 모두 등장한 메일이 스팸일 확률을 두 방식으로 냅니다")
prior = {"spam": 0.5, "ham": 0.5}
exact = {}; naive = {}
for c in ["spam", "ham"]:
M = joint[c]; n = M.sum()
exact[c] = prior[c] * (M[1,1]/n)
naive[c] = prior[c] * (M[1].sum()/n) * (M[:,1].sum()/n)
ze, zn = sum(exact.values()), sum(naive.values())
print(" 방식 P(스팸|두 단어) P(정상|두 단어) 판정")
print(" %-12s %16.6f %16.6f %8s"
% ("정확한 결합", exact["spam"]/ze, exact["ham"]/ze,
"스팸" if exact["spam"] > exact["ham"] else "정상"))
print(" %-12s %16.6f %16.6f %8s"
% ("나이브 가정", naive["spam"]/zn, naive["ham"]/zn,
"스팸" if naive["spam"] > naive["ham"] else "정상"))
print(" 확률값은 %.4f 만큼 틀렸지만 판정은 같습니다"
% abs(exact["spam"]/ze - naive["spam"]/zn))
# 메일 200통. 스팸 100, 정상 100. 단어 두 개의 등장 여부를 봅니다
# 클래스 P(w1=1) P(w2=1) P(둘다) P(w1)P(w2) 조건부 독립인가
# spam 0.4500 0.4500 0.4000 0.2025 False
# ham 0.1200 0.1100 0.0300 0.0132 False
# 두 단어가 모두 등장한 메일이 스팸일 확률을 두 방식으로 냅니다
# 방식 P(스팸|두 단어) P(정상|두 단어) 판정
# 정확한 결합 0.930233 0.069767 스팸
# 나이브 가정 0.938804 0.061196 스팸
# 확률값은 0.0086 만큼 틀렸지만 판정은 같습니다
문제 3의 두 표를 나란히 보십시오. 세 쌍이 모두 으로 독립인데, 셋을 함께 보면 대 으로 정확히 두 배 어긋납니다. 쌍만 검사해서는 독립을 확인할 수 없습니다.
문제 4의 가운데 줄이 이 강의의 절정입니다. 아무 조건도 없을 때 독립이던 두 사건이, 합이 짝수라는 정보 하나로 완전히 같은 사건이 됩니다. 조건이 독립을 만들기도 하고 없애기도 한다는 것이 수치로 드러납니다.
문제 5는 틀린 가정이 쓸모 있을 수 있음을 보여 줍니다. 조건부 독립 가정은 두 클래스 모두에서 명백히 거짓인데, 그 위에서 계산한 판정은 정확한 계산과 같습니다. 모형의 가정이 참인지와 모형이 쓸모 있는지는 다른 질문입니다.
정답.
| 기호 | 읽는 법 | 뜻 |
|---|---|---|
| 에이와 비가 독립 | ||
| 케이 아래 조건부 독립 | 조건부 세계에서 곱으로 갈라집니다 | |
| 쌍별 독립 | pairwise independence | 모든 쌍에서만 성립합니다 |
| 상호 독립 | mutual independence | 모든 부분집합에서 성립합니다 |
| 베른슈타인의 예 | Bernstein's example | 쌍별이지만 상호가 아닌 예입니다 |
| 충돌자 | collider | 공통 결과이며 조건을 걸면 종속이 됩니다 |
| 갈래 | fork | 공통 원인이며 조건을 걸면 독립이 됩니다 |
| 버크슨의 역설 | Berkson's paradox | 충돌자 조건화의 착시입니다 |
| 나이브 베이즈 | naive Bayes | 클래스별 조건부 독립을 가정합니다 |
| iid | 독립 동일 분포 | 학습 이론의 표준 가정입니다 |
| 무상관 | uncorrelated | 선형 관계가 없다는 뜻뿐입니다 |
| 그래포이드 공리 | graphoid axioms | 조건부 독립이 만족하는 성질입니다 |
다음 125강에서는 베이즈 정리를 다룹니다. 123강 문제 3에서 이미 한 번 썼던 계산을 정식으로 세웁니다. 곱셈법칙 두 방향을 잇는 한 줄에서 사전확률, 가능도, 사후확률이라는 구조가 나오고, 심화 1에서 본 검사의 역설이 기저율 무시로 설명됩니다. 데이터를 보고 믿음을 갱신하는 절차가 여기서 완성되며, 이것이 150강 최대사후추정과 S13 언어모형의 추론까지 이어집니다.