Part 1. 머신러닝을 위한 최소한의 수학/통계 (CH 04_ 확률)
목차
- 통계의 경우 오랜 시간동안 배워야 하기 때문에 확률과 정보이론에 관한 내용을 위주로 공부할 예정
4-1. 확률
1. random experiments
- 주사위, 외부 상황에 시시각각 바뀌기 때문에 랜덤하다고 생각할 수 있음.
- 로또나 도박과 뗄 수 없음.
(<-> deterministic)
2. sample space
- 1에서 얻을 수 있는 모든 원소들의 집합.
- descrete한 샘플 들의 집합.
- 이 모든 확률들을 sample space라고 정의할 수 있음.
3. outcomes
- sample space가 가지고 있는 원소
4. events
- outcome에서 조건을 넣은 경우
- 우리가 가지고 있는 sample space의 subset이라고 말할 수 있음.
5. probabilities
- 확률
- P(H) = 1/2
- 확률은 집합에서 부터 나온다.
- 어떤 event에서 부터 확률이 정의가 된다.
4-2. 확률의 계산
Equally Likely Outcomes
- 결과가 모두 동일하게 나오는 경우에는 숫자를 세는 것만으로도 (개수) 확률을 계산할 수 있다
- 1/n으로 나오게 되는 outcome을 갖게 된다.
- 교집합과 합집합의 원소의 개수를 찾으면서 할 수 있다.
- 순열 조합
Unions/Intersections and Probabilities
- P(AUB) = P(A) + P(B) - P(A교B)
Disjoint Event
- 교집합이 없는 경우
- 동시에 만족할 수 없음.
- 개수를 센다면 확률은 0, 합집합은 서로 더해주기만 하면 된다.
- 여사건의 확률도 같은 의미로 접근할 수 있음.
4-3. 조건부 확률
Conditional Probabilities
- 어떤 사건이 일어났다는 가정 하에서 어떤 사건이 일어날 확률
- 서로 일어날 확률에 영향을 미치는 지 파악할 수 있다.
- reduced universe
- 음성 합성, 텍스트를 만드는 경우에 많이 사용하게 됨.
- 실제 머신 러닝에서 자연스러운 문장이나 효과를 만들기 위해서 이러한 것이 필요함.
Independent Events
- 이 사건의 경우에는 벤다이어그램으로 봤을 때 비율로 따져봐야 하므로 한 눈에 보이지는 않고 수치를 따져보아야 한다.
4-4. 베이즈 정리
Bayes' Theorem
- P(A|B)가 구하기 어려울 때 이런 식으로 구하면 됨.
- 우리가 구하기 어려운 확률을 그나마 구하기 쉬운 확률로 변환해서 계산한다.
- 여러 개의 클래스를 생각할 수 있음. C1,C2,...,Cn
4-5. 확률 변수
- 정의를 아는 것이 중요!
- 함수의 결과인 outcome을 숫자(실수)에 대입하는 것. (-> 연산하기 위해서)
- 변수라고 생각하지 말고 함수라고 생각하는 게 편하다
- 함수의 특징; 하나의 x는 여러개의 y에 대응할 수 있다.
- 중요한 건, 우리가 어떤 문제를 푸느냐에 따라 다른 실수값에 대응될 수 있다는 것이다.
- 카드 놀이에서 하나를 뽑았을 때, 서로 다른 숫자를 가지고 있어야 한다.
Continuous / Discrete R.V.
- 여러 랜덤 variable에 대해서 descrete한지 (뚝 뚝 떨어져 있는지)를 파악해야 함.
- 문제 자체에서 주어진 값이 random variable인 경우가 많음.
- 연속적인 값 자체도 가능
4-6. 확률 변수의 기댓값과 산포도
Expected Values
- 기대값.
- 투자하는 것과 기대하는 것의 계산을 해볼 수 있음.
- 함수값과 확률을 곱해서 각각 더해주면서 계산을 함.
Variance(산포도)
- 모든 x에 대해서 평균을 빼주기 때문에 기댓값으로 부터의 거리라고 생각해도 됨.
- 제평평제. 제평마평제(분산)
- 평균에서부터 얼마큼 떨어져 있는가에 대한 기대값
Standard Deviations(표준편차)
- 확률 변수 x와 같은 유닛을 같게 됨.
- 같은 축 위에서 표현할 수 있다는 장점을 갖게 된다.
- 분산에 루트를 씌운 값
4-7. 이산, 연속 확률 분포
Probability Mass / Density Functions
- 오른 쪽에 나와있는 것은 continuous하다는 것이 중요하다.
- 이러한 경우, 확률을 범위를 설정해서 구해야 한다.
- 넓이를 구했을 때 이 넓이가 바로 '밀도'를 뜻한다 (적분)
- 전체 넓이는 확률이기 때문에 무조건 1이 되어야 한다.
Binomial Distribution
- 두 가지 케이스가 나오게 된다.
- 0일 때, 1일 때
- 전체 확률을 1이 되어야 하고, 하나가 p로 설정이 되었기 때문에 나머지는 1-p이다.
Normal Distribution
- 수학적으로 굉장히 중요한 분포
- continuous하다는 특징을 가진다.
- outlier; 데이터를 벗어난 0.3%의 데이터들..
- normal distribution와 같이 알아두면 좋음.
4-8. 시그모이드와 소프트맥스
Logits
- 확률을 다르게 표현한 것. **
- 사건이 일어날 확률과 일어나지 않을 확률의 비율
- 0부터 무한대까지 나올 수 있다.
- 1보다 클 수 있다 !
- 그래프 상으로 표현했을 때.
- 오른 쪽 위는 P(A)가 더 클 때
- 왼쪽 아래는 P(A)의 여집합이 더 클 때
- 중요한건, -무한대에서 +무한대까지 뻗어나간다는 것
- 역함수를 구해서 살펴보면,
- logit(x); 확률을 받아서 로짓으로 바꿔주는 것
- 시그마(x); logit -> p
Sigmoid and Logits
- 시그모이드는 로짓을 받아서 확률을 만들 때 넣어주는 장치.
- 단순히 activation이라고만 생각하지 말고 수치적으로 생각해보기.
Probability Vector and Softmax
- 시그모이드를 조금 더 general 하게 만든 것.
- 오타 수정. 확률이 아니라 l(t)를 받는 것이다.
4-9. 정보와 엔트로피
Shannon Information
- 정보를 어떻게 수치화 시킬 수 있을 까에 대한 고민.
- 확률이 낮으면 정보량이 많고, 확률이 높으면 정보량이 적다.
- 정보에 log값을 씌워준다.
- 확률이 실제 가질 수 있는 값인 1까지만 잘라준다.
Shannon Entropy
- 놀람의 정도를 측정하는 방법 -> 불확실성이 커진다.
4-10. 크로스 엔트로피
Binary Entropy
- Entropy; 불확실성
- 엔트로피를 bn에 적용시킨 것이다.
Binary Cross Entropy
- 어떤 확률분포 사이에 서로 유사도를 측정하는 도구
- 머신러닝에서 많이 사용하는 내용
- 유사성은 거리와 비슷.
- 거리가 작으면 예측을 잘 한 것이다.
Cross Entropy
- 엔트로피가 높을 수록 로스가 줄어든다.