집합론 기초
파이썬에서 집합 구현하기
파이썬에서 집합은 set 또는 frozenset 자료형을 이용해 구현할 수 있다.
- set은 내용 변경이 가능한 뮤터블(mutable) 자료형이다.
- frozenset 은 내용 변경이 불가능한 임뮤터블(immutable) 자료형이다.
1
2
3
set([1,2,3])
frozenset([1,2,3])
집합의 크기
집합의 크기 = 집합 원소 갯수 다.
$\lvert x \rvert$ 또는 $card(x)$ 로 집합의 크기를 나타낼 수 있다.
파이썬에서 집합의 크기를 알려면 len() 명령을 쓰면 된다.
합집합 (union, OR)
정의 :
집합 A 또는 집합 B에 속하는 모든 원소로 구성된 집합을 합집합 이라고 한다.
$A\cup{B}$
- OR 연산이다.
파이썬에서
1
2
3
4
A = {1,2,3}
B = {3,4,5}
A.union(B)# 합집합 메서드
또는
1
A | B # 합집합 연산자
로 집합 A와 집합 B의 합집합을 구한다.
교집합 (intersection, AND)
정의 :
집합 A 그리고 집합 B에 동시에 속하는 원소들로만 구성된 집합을 교집합 이라고 한다.
$A\cap{B}$
- AND 연산이다.
파이썬에서
1
2
3
4
A = {1,2,3}
B = {3,4,5}
A.intersection(B)
또는
1
A & B
로 집합 A와 집합 B의 교집합을 구한다.
부분집합
정의 :
어떤 집합의 원소 중 일부만을 포함하는 집합
- 모든 집합에서 자기자신은 자기자신의 부분집합이다.
A $\subset$ A
파이썬에서 집합 A가 집합 B의 부분집합인지. 아닌지. 보려면 issubset() 메서드를 쓰면 된다.
1
2
3
4
5
# A는 B의 부분집합인가?
A = {1,2,3}
B = {1,2,3,4,5}
A.issubset(B)
진부분집합
정의 :
집합 A의 부분집합 중에서 자기자신을 뺀 나머지 부분집합들을 진부분집합 이라고 한다.
차집합 (difference)
정의 :
집합 A 원소 중에 집합 B에 속하는 원소를 모두 제거하고, 남은 것들로만 이루어진 집합을 집합 A에서 B를 뺀 차집합 이라고 한다.
$A-B$
1
2
3
4
5
6
7
8
9
# 차집합 메서드
A = {1,2,3,4}
B = {2,3,4}
A.difference(B)
# 또는
A-B
여집합
정의 :
전체집합 $\Omega$ 중에서 부분집합 A에 속하지 않은 원소들로만 이루어진 $\Omega$ 의 부분집합
또는
전체집합 $\Omega$ 원소들 중에서 부분집합 A에 속하는 원소들만을 뺀 나머지로 이루어진 집합($\Omega - A$)
을 여집합 이라고 한다.
$A^{C}$
공집합 (null set)
정의 :
원소가 아무것도 안 들은 집합
$\varnothing$
- 공집합은 모든 집합의 부분집합이다.
$\varnothing \subset A$
- 공집합과 어떤 집합 A의 합집합은 집합 A다.
$\varnothing \cup{A} = A$
- 공집합과 어떤 집합 A의 교집합은 공집합이다.
$\varnothing \cap{A} = \varnothing$
- 집합 A 여집합과 집합 A의 교집합은 공집합이다.
$A^{C} \cap{A} = \varnothing$
집합이 갖는 부분집합의 갯수
정리 :
어떤 집합은 $2^{n}$ 개의 부분집합을 갖는다.
합집합과 교집합 분배법칙
덧셈과 곱셈 연산은 분배법칙이 성립했다.
$a\times (b+c) = (a\times b) + (a\times c)$
합집합과 교집합에 대해서도 위와같은 분배법칙이 성립한다.
$A\cup{(B\cap{C})} = (A\cup{B})\cap{(A\cup{C})}$
$A\cap{(B\cup{C})} = (A\cap{B})\cup{(A\cap{C})}$
확률의 수학적 정의, 확률값의 의미를 해석하는 두 가지 관점
확률의 수학적 정의
표본공간 $\Omega$
정의 :
‘가능한’ 모든 표본의 집합.
표본 (sample, data)
정의 :
1회 시행의 결과.
사건
정의 :
표본공간의 ‘부분집합’ & 표본들의 집합
확률
정의 :
‘사건’을 입력으로 받아 ‘특정한 실숫값’(확률값) 출력하는 ‘함수’
확률은 함수다.
확률은 ‘확률이라면 무조건 모두 만족해야 하는’ 공리를 가지고 있다.
콜모고로프의 공리 (확률의 기본 공리)
$0 \le P(A)$
$P(\Omega) = 1$
교집합이 공집합 $\varnothing$ 일 때, $P(A\cup{B}) = P(A) + P(B)$
표본값 하나하나에는 확률값이 할당되어 있지 않다.
대신, 특정한 표본값이 나오는 ‘사건’(경우)에 대해서는 확률값을 할당한다.
$\Rightarrow$ 확률은 표본이 아니라 ‘사건’에 대해 정의한다.
$P(1) \ne \frac{1}{6}$
A = { 1 }, $P(A) = \frac{1}{6}$
콜모고로프 공리만 지켜진다면, 표본공간 상의 사건에 대해 확률값을 마음대로 할당해도 된다.
다만 별 다른 정보. 조건이 따로 제시되지 않으면 ‘공정한 주사위’를 가정한다.
이때 확률은 다음과 같이 계산한다.
$P(A) = \frac{card(A)}{card(\Omega)}$
하지만 이것 또한 수많은 확률 할당법 중에 하나일 뿐이다. 공리만 지켜진다면, 여전히 확률값을 마음대로 할당할 수 있다.
공리만 지키면 아무렇게나 확률값을 할당해도 된다는 건, 언뜻 보기에 확률값이 아무 의미 없어 보인다.
의미 없어 보이는 확률값에 의미를 부여하고, 의미를 해석하는 두 가지 방법이 있다.
확률값의 의미를 해석하는 두 가지 관점
- 빈도주의 관점 (반복.비율)
- 베이지안 관점 (신뢰도)
1. 빈도주의 관점에서 확률값 바라보기
빈도주의 관점 정의 :
n번 ‘반복’했을 때, 특정 사건이 발생한 횟수의 ‘비율’이 확률값이다.
$\frac{특정사건 발생 횟수}{시행 반복 횟수} =$ 확률값(비율)
핵심 키워드 : 반복, 비율
2. 베이지안 관점에서 확률갑 바라보기
베이지안 관점 정의 :
확률값은 ‘선택된 표본이 특정한 사건의 원소 중 하나라는 주장의 신뢰도’ 이다.
- 사건 - 주장
예를 들어 { 1 } 이라는 사건은 “선택된 표본이 1 이다!’ 라는 주장이다.
사건이 담고 있는 원소들 - 정답(선택된 표본) 후보군
확률값 - 주장의 신뢰도
선택된 표본이 1이다! 라는 주장의 신뢰도
베이지안 관점에서
‘사건이 발생했다’ 의 의미
예를 들어 사건 A가 발생했다고 해보자.
‘사건 A가 발생했다’ 의 의미는
“선택된 표본이 사건 A의 원소 중 하나였다.”
또는
“사건 A의 주장이 진실이었다” 는 의미다.
한 가지 확률값에 대해 베이지안 관점과 빈도주의적 관점으로 동시에 해석할 수 있다.
확률값에 대한 베이지안 관점과 빈도주의적 관점은 서로 배타적인 관계가 아니다. 서로 양립할 수 있다.