목차
본 글은 확률 및 랜덤 프로세스 강의의 교재인 "Probability, Statistics, and Random Process for Electrical Engineering"를 읽고 강의 내용과 함께 정리한 내용을 담고 있다. 사실 한글 교재가 있는데 그것을 내가 pdf로 구하는 것을 실패(...)한 관계로 그냥 영어로 읽는다. 이 책의 목차는 다음과 같으며 현재 다루고 있는 파트는 밑줄 표시했다.
예제 문제들이 있다. 해당 문제들은 따로 글을 작성하여 정리를 해둔다.
- Probability Models in Electrical and Computer Engineering
- Basic Concepts of Probability Theory
- Discrete Random Variables
- One Random Variable
- Pairs of Random Variables
- Vector Random Variables
- Soums of Random Variables and Long-Term Averages
- Statistics
- Random Processes
- Analysis and Processing of Random Signals
- Markov Chains
- Introduction to Queueing Theory
1.1 Mathematical Models as Tools in Analysis and Design 분석과 디자인의 도구로서의 수학적 모델들
먼저 짧게 이 장을 소개하자면 이 책이 왜 공학도를 위해서 필요한지를 어필하는 장이라고 할 수 있다. 따라서 확률의 아주 기초적인 언급을 하고 어떻게 실생활에 적용될 수 있는지, 엔지니어링 과정에서 어떤 부분에서 쓰일 수 있는지를 개괄한다. 그래서 본격적인 이론적 내용은 거의 등장하지 않으므로 이미 확률론의 필요성을 절실히 느끼고 있는 친구는 이 장을 건너뛰어도 상관이 없다(나는 왜 이 첫 장을 부득이하게 읽어야 한다고 판단하고 읽은 것일까)!
본격적으로 들어가보자. 복잡한 시스템 디자인을 할 때는 다양한 방법 중 실현 가능한 것을 선택하는 것이 보통이다. 이때 기준은 비용이나 신뢰성, 성능 같은 것이 된다. 그런데 우리는 다양한 방법과 접근법들에 대해 이 기준들을 전부 확인하는 것은 녹록치 않다. 그래서 우리는 통상 '모델'이라는 것을 세워서 평가를 진행한다.
모델이란? 현실 상황에 대한 추상화된 표현이다. 모델은 간단한 규칙을 통해 세워진다. 잘 세워진 규칙이라면 현실 세계를 잘 예측하고 설명하는 것이 가능할 것이다. 이러한 모델이라면 현실 세계를 설명하는 좋은 해답이 되어줄 것이다. 이 모델을 통해 위에서 말했듯이 개발자는 시스템 디자인을 할 때 큰 도움을 받을 수 있을 것이다.
그럼 수학적 모델은 언제 쓰이는가? 측정 가능한 현실, 현상에 대한 모델을 세울 때 쓰인다. 마찬가지로 수학적 모델도 비용적으로 현실 관측이 힘들 것 같은 상황들에 대해 강력한 대안이 되어준다. 수학적 모델은 가정으로 수학적 관계를 표현하는데 제대로된 모델이라면 이러한 관계를 통해 도출되는 값들이 현실의 값을 대변해줄 것이기 때문이다.
흔한 모델링 프로세스. 가설을 설정하고, 관련 실험을 설계한다. 그리고 현실 관측과 모델의 예측을 비교하고 다르면 모델을 수정한다. 잘 맞으면 모든 관점에서 고려됐는지 살피고 끝!
그런데 수학적 모델에 대해서는 사실 이러한 절차가 성립되는 것이 조금 힘들다. 모델을 실험적으로 검증하는 것이 불가능하기 때문이다. 이럴 때는 컴퓨터 시뮬레이션을 통해 대체적으로 확인하는 것이 가능하다.
수학적 모델에는 결정론적 모델과, 확률론적 모델이 존재한다. 이 둘을 각각 살펴보자.
1.2 Deterministic Models 결정론적 모델
결정론적 모델은 실험에서 명확한 하나의 결과를 통해 실험을 입증할 수 있는 모델을 말한다. 보통 등호를 통해 표현되는 식들이 결정론적 모델에 속한다. 대표적인 예가 바로 회로 이론이다. 나는 잘 모르기에 자세한 설명은 생략!
이런 모델은 같은 환경과 조건에서는 실험은 몇 번을 반복하더라도 항상 같은 결과를 도출해야 한다.
1.3 Probability Models 확률론적 모델
우리가 볼 것은 바로 이것이다! 사실 우리가 보는 현상들은 대체로 랜덤성(무작위성)이 존재한다. 이러한 상황에서의 실험은 당연히 랜덤한 결과를 이끌어낼 것이다. 결정론적 모델과는 달리 같은 상황, 같은 조건임에도 다른 결과가 도출될 수 있다는 것이다.
간단한 예시를 생각해보자. 0,1,2가 쓰여진 공 3개가 들어간 바구니! 우리는 이 바구니를 마구 섞은 다음 공을 하나 꺼낼 것이다. 꺼낸 공의 수를 기록하고 다시 바구니에 넣고 마구 섞을 것이다. 이때 표본 공간 S는 {0,1,2}가 될 것이다(자세한 표현은 이후에 더 자세히 배울 것).
이런 상황이 있다면, 우리가 한번 공을 꺼낼 때마다 값이 확정적으로 나올 것인가? 0,1,2 사이에서 무작위로 계속 튀어나올 것이다.
Statistical Regularity 통계적 규칙성
당연하지만, 각 숫자는 각각 $\frac{1}{3}$의 확률로 나올 것이다. 공을 계속 뽑아대면 규칙성이 있을 것이란 말이다. 시행 횟수가 적으면 일정하지 않겠지만, 시행이 무한하게 일어난다면 각 공을 뽑는 사건을 결국 근사적으로 $\frac{1}{3}$에 수렴할 것이다. 시행 횟수가 커짐에 따라 어떤 값에 수렴하는 이러한 특성을 통계적 규칙성이라고 부른다.
사실 확률 이야기를 하기 이전에, 정확하게는 상대 도수, 또는 상대 빈도(relative frequency)에 대해 먼저 말해야만 한다.
상대 도수 : 각 변량의 도수의 총 도수에 대한 비율, 달리 말하자면 전체에 대한 상대적 크기.
더 간단히 말하면 n번 시행했을 때 몇 번 해당 값이 나왔는지에 대한 비율!
스스로 적으면서 하다보니 조금 정리하면서 하는 중. 자세한 설명은 사진으로 대체한다. 엄밀하게 확률은 관측된 값은 아니다. 관측된 값을 통해 나타내는 것은 상대 도수이다. 그러나 그것을 무한 시행할 때 이를 확률이라 하는 것이다.
교재 그림에서도 n값을 늘린 상황에서의 상대 도수 값을 보여주고 있다. 보다시피 0.333..에 상대 도수가 수렴해가는 것이 보인다.
Properties of Relative Frequency 상대 도수의 속성
상대 도수는 위와 같은 속성이 있다. 상대 도수의 정의, 본질로부터 당연히 튀어나오는 것이니 속성이라 할 수 있다.
아직은 나오지 않은 사건 이야기도 해보자. 사건은 표본공간의 부분집합이다. 주머니에서 공 꺼내기의 실험에서 사건을 생각해본다면, 짝수 공을 뽑는 사건을 생각해볼 수 있을 것이다. 0이나 2가 적힌 공('이나', 즉 or 이게 중요하다!)을 뽑을 때 해당 사건이 일어나는 것이다. 이때 0을 뽑는 것과 2를 뽑는 것이 동시에 일어날 수는 없다(can not occur simultaneously).
달리 말하면 n번의 시행에서 짝수를 뽑는 사건의 횟수는 0을 뽑는 사건의 횟수와 2를 뽑는 사건의 횟수를 더한 것과 같다는 것이다.
그래서 또 이러한 속성을 꺼낼 수 있다.
- $\Large 0 \leq f_k(n) \leq 1$
- $\Large \sum^{K}_{k=1} f_k(n) =1$
- C는 A 또는 B가 일어나는 사건이고 A와 B가 서로 배반 사건일 때, $\Large f_C(n) = f_A(n) + f_B(n)$
이렇게 3 가지가 상대 도수의 기본 속성이다. 대충 이렇게 있다는 것만 알고 넘어가면 될 듯하다.
The Axiomatic Approach to a Theory of Probability 확률론에 대한 공리적 접근
우리는 위에서 통계적 규칙성을 통해 상대 도수가 확률이 되는 과정을 보았다. 무한한 시행을 하면 확률이 된다! 그런데 이런 정의를 통해 확률을 접근하게 되면 수학이론으로서의 확률을 논하기가 힘들어진다.
왜? 일단 우리는 무한이 존재하는지, 한계가 있는 것은 아닌지 모른다. 그리고 우리가 실제로 무한번의 시행을 할 수는 없으니 정확한 확률은 알 수가 없다. 마지막으로 상대 도수는 반복이 가능할 때 성립하기에 반복이 안 되는 상황에 대해 확률을 적용할 수 없게 된다.
그래서 우리가 취할 수 있는 방법은, 확률의 특정한 적용 방식에 얽매이지 말고 실용적으로 접근하는 것이다. 굳이 어렵게 말해서 이런 거지, 그냥 우리의 탁월한 직관으로 상대 도수로 볼 수 있는 상황에 확률 적용시키고 보자는 말이다! 확률을 상대 도수 보듯이 하라.
이때 우리는 상대 도수가 속성으로 가지던 그 3가지를 확률에 그대로 적용시킬 수 있다. 그러나 이때는 확률에 정의에서 저것들이 그대로 튀어나오지는 않기에, 저것들을 확률에 대한 공리로 지정한다.
조금 더 엄격하게 말해보자.
- 랜덤 실험이 정의됐고, 표본 공간 S가 모든 가능한 결과를 가지고 있다.
- S의 부분집합으로 사건 A가 특정된다.
- 사건 A는 확률 P[A]를 가진다.
위 세 가지 속성이 만족될 때 다음 세 가지 공리가 성립한다.
- $\Large 0 \leq P[A] \leq 1$
- $\Large P[S] = 1$
- A와 B가 배반 사건일 때,$\Large P[A\ or\ B] = P[A] + P[B]$
보잘 것 없어보이지만, 이 세 가지 공리에서 우리는 확률의 무수한 정리들이 탄생하는 것을 보게 될 것이다.
Building a Probability Model 확률 모델 만들기
이제 우리는 확률론을 랜덤한 상황에 적용시킬 방법을 찾았다. 랜덤한 상황과, 그 속의 모든 경우를 따질 수 있으며, 각 경우가 일어날 확률을 계산할 수 있다면 우리는 위 세 공리를 통해 확률론을 펼쳐나갈 수 있다.
이제부터는 이것을 현실에, 특히 개발자들이 많이 보게 될 영역에 적용시키는 작업을 해나갈 것이다. 그럼으로써 왜 확률론이 개발자에게 중요한지 짚어보는 것이다!
전화기 대화
전화를 통한 대화를 할 때 사람은 얼마나 말을 할까? 대화에 있어서 사실 사람은 모든 시간 동안 말하지 않는다. 평균적으로 대화에 참여한 사람은 1/3 정도의 시간을 발화에 활용한다(순수하게 발성하는 시간!). 그 나머지 시간은 상대가 하는 말을 듣거나, 대화 간 잠시 흐르는 정적 혹은 단어나 구문 사이의 짧은 여백에 쓰인다. 이제부터 이 예시에서 실제로 대화하는 것은 active speech, 실제 발화라고 표현하고 이외에 침묵하는 것은 silence, 침묵이라고 해보겠다.
우리는 이제 이 예시를 확률론적 관점을 대입해 생각해볼 수 있게 된다. 48명의 대화자가 있다고 해보자. 이때 24명의 사람들이 동시에 실제 발화할 확률이 얼마나 될 것인가? 이런 식으로 현실 문제에 우리는 확률론적 모델을 끌어들일 수 있다는 것이다!
1.4 A Detailed Example: A Packet Voice Transmission System 상세 예시: 패킷 음성 전송 시스템
위 전화기 대화 상황을 이제 개발자 입장에서 생각해볼 것이다. 우리는 사람들이 대화에서 1/3 정도의 시간만을 실제 발화에 사용한다는 것을 알고 있다. 이때 우리가 통화하는 시스템을 만드는 상황에 놓인 개발자라고 생각해보자.
기본적으로 음성이 전화기를 통해 전달될 때는 '패킷'이라는 단위를 통해 전달된다. 사람의 목소리는 먼저 디지털 신호로 변환된 이후 전송의 최소 단위인 패킷에 담겨 전송이 되게 되는 것이다. 그리고 이 패킷을 우리는 10 밀리초마다 한번 송신에 최대 48개를 동시에 보낼 수 있다. 그렇게 디지털 정보로 전환되어 유무선을 통해 전달된 목소리는 다시 소리로 변환하는 과정을 거쳐서 수신자가 목소리로 들을 수 있는 것이다.
이 상황에서 우리는 모든 10 밀리초마다 48개의 패킷을 매번 보내는 식으로 우리의 시스템을 설계할 수도 있다. 그게 가장 기본적인 접근법이다. 그러나, 우리는 사람이 대화할 때 실제 발화를 하는 시간은 1/3밖에 되지 않는 것을 안다. 그렇다면, 우리는 단위 시간 당 패킷을 꼭 48개를 보낼 필요는 없지 않을까? 전송하는 패킷의 수를 줄인다면 우리의 시스템이 견뎌야 할 비용이 줄어들 것이다. 예를 들면, 한 40개의 패킷만 보낸다고 쳐보자. 이 40개에 사람의 목소리가 전부 담긴다면 실제 대화에서는 아무런 문제가 발생하지 않을 것이다. 물론 사람이 길게 말하고 있어서 실제 발화하는 사람의 목소리가 48개의 패킷을 전부 사용해야 하는 상황이었다면 어느 정도 소리 정보가 손실되는 것을 감안해야 할 것이다. 우리는 원활한 대화가 이뤄지는 시스템을 원하기에 사용자가 불편하지 않을 정도로 손실되는 음성을 줄여야할 것이다.
여기까지는 우리가 위에서 본 내용이다. 여기에서 조금만 더 나아가보자. 확률은 확률인데, 평균도 구할 수 있지 않을까? 평균적으로 몇 개의 패킷이 활성화될까? 이를 보는 방법은 두 가지가 있다.
이렇게 하여 평균에서 기댓값까지 간략하게 확인을 해보았다(개념 정의도 아직 제대로 안 돼있어서 정말 간략하게..). 우리는 사실 단순하게 A의 기댓값(평균적으로 얼마인지)이 16이라는 것을 알 것이다. 요지는 이제 우리가 얼마만큼의 패킷 수를 전송해야 적당하게 시스템을 완성할 수 있는지 알게 됐다는 것이다.
이것을 보았을 때, 대충 24 패킷까지만 전송하는 프로그램을 만들면 충분히 무리없이 통신이 이뤄질 것이라고 감안할 수 있다.
이런 것들을 볼 수 있게 해주는 것이 바로 확률 모델! 저자는 확률 모델이 예측이 필요한 시스템 디자인 상황에서 장기적인(n을 크게 하는) 관점이 유용하다고 이야기한다. 그러면서 엔지니어가 마주할 수 있는 다른 실용적 예시들을 열거한다.
1.5 Other Examples 다른 예시
그냥 정말 예시들일 뿐이라, 간략하게만 짚고 넘어가겠다. 혹시라도 이후 예제에서 이쪽 이야기를 활용할지도 모르겠다 싶어서 정리는 해둔다.
Communication over Unreliable Channels 신뢰할 수 없는 채널을 통한 통신
통신시스템은 가장 작은 단위에서 이진 입출력을 주고 받는다. 그런데 주고 받는 과정 상에서 받을 때 에러가 일어나 잘못 받는 경우가 존재한다. 가령 입력은 1이었는데 출력이 0으로 나오는 상황이 나온다는 것이다.
그래서 이를 막기 위해 0을 000으로, 1을 111로 보내는 방법을 사용한다. 받는 입장에서는 많은 숫자로 입력으로 간주한다. 가령 011이면 1, 010이면 0이라는 방식인 것이다. 이러면 에러가 상대적으로 줄어들게 될 것이다. 이러한 방식은 시간과 에너지 비용을 올리는 결과를 낳지만, 에러가 줄어든다는 점에서 의미가 있다.
Compression of Signals 신호 압축
시간에 대해서도 확률론적인 접근을 할 수 있다. 음악 신호를 압축한 뒤, 이를 다시 원래대로 예측하는 상황이 있을 수 있다. 압축하여 정보량을 줄이고, 이후 예측 시스템을 통해 다시 복원하는 것이다. 이 예측 시스템은 압축된 값에서 상관성을 따져 최적의 복원을 해야 하는데, 이때 확률론이 의미 있게 쓰인다.
Reliability of Systems 시스템의 신뢰성
은행 간 거래 시스템에서는 돈이 오가기 때문에 시스템이 쉽게 다운되지 않고 잘 유지되는 것이 매우 중요하다. 이때 시스템은 거래에 쓰이는 자원들을 병렬화하여 한 시스템이 다운되더라도 다른 시스템들이 작업을 이어나갈 수 있도록 한다. 이때 확률론적인 접근을 통해 얼마나 자원들을 병렬화해야 하는지 예측할 수 있다.
Resource-Sharing Systems 자원 공유 시스템
개인들이 자원을 쓸 때 모든 개인에게 자원을 할당하면 어떤 개인은 적게 쓸 것이고, 어떤 개인은 많이 쓸 것이다. 또 대체로 개인들은 한 짧은 기간에 많은 사용을 한다. 이 자원을 효율적으로 사용하기 위해서는 자원을 공유해서 사용해야 한다. 가령 웹 서버가 운용되고 있을 때 이 웹 서버는 클라이언트의 요청을 큐의 형태로 쌓아 받아서 처리한다. 이때 서버는 원활한 서비스를 위해 빠르게 클라이언트에게 응답하고, 연결이 끝나지 않은 상태에서 닫히면 안 되고, 연산 자원을 효율적으로 활용해야 한다. 이때 연결에 필요한 클릭, 쿼리 수행 시간 등을 확률적으로 접근해야 한다.
Internet Scale Systems 인터넷 규모의 시스템
현대에는 인터넷 규모의 시스템이 많다. 이 시스템들은 복잡하고 광범위하게 연결되어 처리된다. 이 네트워크 속 개체들의 연결은 트래픽이며 이러한 트래픽이 과열되지 않도록 해결할 때 확률론적인 접근이 요구된다.
'학교 공부 > 확률및랜덤프로세스' 카테고리의 다른 글
3. Discrete Random Variables(이산 확률 변수) (0) | 2023.03.31 |
---|---|
2. Basic Concepts of Probability Theory(확률 이론의 기초 개념) ... 3 (0) | 2023.03.22 |
2. Basic Concepts of Probability Theory(확률 이론의 기초 개념) ... 2 (0) | 2023.03.22 |
2. Basic Concepts of Probability Theory(확률 이론의 기초 개념) ... 1 (0) | 2023.03.21 |