Numpy 

 

Array의 Indexing와 Array의 Slicing

 

Python의 List와 유사하게 진행한다.

 

Array의 Broadcasting

 

Numpy가 연산을 진행하는 특수한 방법이다.

 

  1. M x N, M x 1
    • M x 1 부분을 N만큼 똑같이 복제해서 계산한다.
  2. M x N, 1 x N
    • 1 x N 부분을 M만큼 똑같이 복제해서 계산한다.
  3. M x 1, 1 x N
    • 서로 보완하는 구조로 M x 1 부분은 N만큼, 1 x N 부분은 M만큼 복제해서 계산하여 M x N 구조의 Array가 결과물로 출력된다.

 

영벡터를 numpy로 선언

 

영벡터 = 원소가 모두 0인 벡터(행렬)

 

np.zeros(dim)을 통해 생성한다.


일벡터(일행렬)을 numpy로 선언

 

일벡터 = 원소가 모두 1인 벡터(해열)

 

np.ones(dim)을 통해 생성


대각행렬 (diagonal matrix)

 

Main diagonal을 제외한 성분이 0인 행렬

 

np.diag(main_diagonal)을 통해 생성


항등행렬 (identity matrix)

 

Main diagonal이 1인 대각행렬

 

np.eye()를 사용


행렬곱 (dot product)

 

행렬간의 곱연산

 

np.dot or @ 사용


Linear Algebra with Numpy

 

트레이스 (trace)

 

Main diagonal의 합

 

np.trace()를 사용


행렬식 (determinant)

 

행렬을 대표하는 값들 중 하나 => 선형변환

 

ex)

 

1 4 7

2 5 8

3 6 9

 

=> 

 

1(5 * 9 - 6 * 8) - 4(2 * 9 - 3 * 8) + 7(2 * 6 - 3 * 5) = - 3 + 24 - 21 = 0

 

Full rank가 아니다. 즉, 선형변환 과정에서 차원의 손실이 일어난다.

 

선형변환을 통해 insight를 얻을 수 있다!

 

np.linalg.det()으로 계산


역행렬

 

행렬 A에 대해 AB = BA = 1을 만족하는 행렬 B = A^-1

 

np.linalg.inv()으로 계산


고유값과 고유벡터 (eigenvalue and eigenvector)

 

 Ax = λx가 있을 때 이 등식을 만족시키는 λ값과 이에 대응하는 x를 각각 고유값과 고유벡터라고 한다.

 

np.linalg.eig()으로 계산.

이 때 결과는 column을 기준으로 eigenvector가 된다.

표본분포

 

  • 통계적 추론
    • 표본 조사를 통해 모집단에 대한 해석을 진행
    • 전수조사는 실질적으로 불가능한 경우가 많다.
  • 표본 조사는 반드시 오차가 발생
    •  표본과 모집단과의 관계를 이해해야 한다.
    • 적절한 표본 추출 방법이 필요하다.
  • 표본 조사를 통해 파악하고자 하는 정보
    • 모수 (Parameter)
  • 모수의 종류
    • 모평균, 모분산, 모비율 등
    • 모수를 추정하기 위해 표본을 선택해 표본 평균이나 표본 분산 등 계산
  • 통계량 (statistic)
    • 표본 평균이나 표본 분산과 같은 표본의 특성값
    • 표본 평균이 가질 수 있는 값도 하나의 확률분포를 갖는다. => 표본분포 (sampling distribution)
  • 표본 평균
    • 모평균을 알아내는데 쓰이는 통계량
  • 표본 평균의 분포
    • x_1, x_2, ... , x_n
      • 평균 : μ, 분산 : σ^2
    • 표본평균
      • xbar = 1/n(n(sigma(x_i)i)
      • Xbar ~ N ( μ, σ^2/n )

중심극한정리(central limit theorem)

 

  • 정규모집단에서 추출된 표본의 측정값
  • 표본평균
    • xbar = 1/n(n(sigma(x_i)i))
    • n이 충분히 큰 경우 (n ≥ 30)
      • 근사적으로 Xbar ~ N (μ, σ^2/n ) => 근사적으로 정규분포를 따른다!

모평균의 추정

 

표본평균의 특성

 

  • 모집단이 정규분포인 경우
    • 표본평균 사용
    • xbar = 1/n(n(sigma(x_i)i))
  • 대표본인 경우 (N>=30)
    • 중심극한 정리에 의해 표본평균이 정규분포를 따른다 가정
  • 점추정
    • 표본평균이 점 추정값 (추정량)이 된다.
  • 구간추정
    • 모평균 μ의 100(1-a)% 신뢰구간 (confidnece interval)
      • (μ 추정량) ± z_(a/z)(추정량의 표준편차)
      • 정규분포에서 σ를 알 때, (xbar - z_(alpha/z)σ / root(n), xbar + z_(a/z)σ / root(n)) (알파는 0.? 이런 값들을 나타낼 때 주로 사용)
      • 실용적이지 못하다. 대부분의 경우는 정규분포가 아니거나 표준편차가 알려져 있지 않기 때문에...
    • 표본의 크기가 클 때 중심극한 정리 사용
      • (μ의 추정량) ± z_(alpha/z)(추정량의 표준편차)
      • (xbar - z_(a/2)s / root(n), xbar + z_(a/2)s / root(n))
    • ex) 어떤 학교의 고1 남학생의 평균키를 추정하기 위해 36명을 표본으로 추출하여 그 표본평균과 표본표준편차를 계산해 그 결과가 아래와 같다.
      • xbar = 173.6, s = 3.6
      • 평균키에 대한 95% 신뢰 구간을 구하시오.
        • a = 0.05
        • z_(a/2) = z_0.025 = 1.96
        • z_(a/2)s / root(n) = 1.96 x 3.6 / root(36) = 1.98 x 3.6 / 6 = 1.176
        • 95% 신뢰구간 = (173.6 - 1.176, 173.6 + 1.176) = (172.4, 174.8)

모비율의 추정

 

  • 점 추정
    • 확률변수 X 
      • n개의 표본에서 특정 속성을 갖는 표본의 개수
    • 모비율 p의 점추정량
      • phat = X / n
    • ex) 대학교 1학년생의 흡연율을 조사하기 위해 150명을 랜덤하게 선택하여 흡연여부를 조사했다. 이 중 48명이 흡연을 하고 있다. 이 대학교 1학년생의 흡연율의 평균을 점추정하시오.
      • n = 150, X = 48
      • phat = X / n = 48 / 150 = 0.32
  • 구간 추정
    • n이 충분히 클 때
      • nphat > 5, n(1-phat) > 5일 때를 의미
      • X~N(np, np(1-p))
    • 확률변수 X의 표준화
      • Z = X - np / root(nphat(1-phat)) = phat - p / root(phat(1-phat)/n)
      • 근사적으로 표준정규분포 N(0, 1)를 따름
    • P(|Z| ≤ z_(a/z) = 1- alpha
      • P(-z_(alpha/2) ≤ Z ≤ z_(alpha/2)) = P(-z_(alpha/2) ≤ phat-p/root(phat(1-phat)/n) = 1 - alpha
    • 모비율 p의 100(1 - alpha)% 신뢰구간 (confidence interval)
      • (phat - z_(a/2)root(phat(1-phat)/n, phat + z_(a/2)root(phat(1-phat)n))
    • ex) 대학교 1학년생의 흡연율을 조사하기 위해 150명을 랜덤하게 선택하여 흡연여부를 조사하였다. 이 중 48명이 흡연을 하고 있었다. 이 때, 흡연율 p의 95% 신뢰구간 (confidence interval)을 구하시오.
      • alpha = 0.05, z_(alpha/2) = z_0.025 = 1.96, phat = 0.32
      • root(phat(1-phat)/n) = root((0.32)(0.68)/150) = 0.038

검정

 

통계적 가설 검정

 

  • 가설 검정
    • 가설의 주장을 검증하는 것
    • 표본평균 Xbar가 μ_0보다 얼마나 커야 모평균 μ가 μ_0보다 크다고 할 수 있을 것인가?
      • 표본평균은 표본의 선택에 의해 달라진다!
    • 귀무가설 H_0 : μ = μ_0
      • 귀무가설을 기각하기 위해선 Xbar가 큰 값이 나와야 한다.
        • 귀무가설을 참이라 가정할 때, 랜덤하게 선택한 표본에서 지금의 Xbar가 나올 확률을 계산할 필요가 있다. 이 때, 확률이 낮다면 귀무가설이 참이 아니라고 판단한다.
      • 대립가설 H_1 : μ > μ_0
    • 확률이 낮다는 기준점이 필요하기 때문에 유의수준 alpha를 도입한다.
    • P(Xbar ≥ k) ≤ alpha가 되는 k를 찾아야 한다.
    • 표준정규확률변수로 변환한 것을 검정통계량이라고 한다.
      • Z = Xbar - μ / (S / root(n)) ~ N(0, 1)
      • P(Z ≥ z_alpha) = alpha
    • 따라서 Xbar를 Z로 변환한 후 Z값이 z_alpha보다 큰지 검토
      • 크다면 귀무가설을 기각하고, 그렇지 않다면 귀무가설을 채택한다.
    • 검정의 단계
      • H_0, H_1 설정
      • 우의수준 alpha 설정
      • 검정통계량 계산
      • 기각역 또는 임계값 계산
      • 주어진 데이터로부터 유의성 판정

  • 대립가설
    • 문제에서 검정하고자 하는 것이 무엇인지 파악이 필요하다.
      • 대립가설 H_1 채택을 위한 통계적 증거 확보가 필요하다.
      • 증거가 없으면 귀무가설 H_0를 채택한다.
      • H_1 : μ > μ_0 
      • H_1 : μ > μ_0
      • H_1 : μ ≠ μ_0
  • 검정통계량
    • n ≥ 30인 경우
      • 중심극한 정리 사용
      • Z = Xbar - μ / (s / root(n)) ~ N(0, 1)
    • 모집단이 정규 모집단이고, 모표준편차 σ가 주어진 경우
      • Z = Xbar - μ / (σ / root(n)) ~ N(0, 1)

엔트로피 (Entropy)

 

  • 자기정보 (Self-information)
    • i(A) = log_b(1 / P(A)) = -log_bP(A)
      • A : 사건
    • 확률이 높은 사건은 정보가 많지 않다.
    • 정보의 단위
      • b = 2 : bits
      • b = e : nets
      • b = 10 : hartleys
    • 특성
      • i(AB) = log_b(1 / P(A)P(B)) = log_b(1 / P(A)) + log_b(1 / P(B)) = i(A) + i(B)
    • P(H) = 1/8, P(T) = 7/8
      • i(H) = 3비트, i(T) = 0.193비트
  • 엔트로피
    • 자기 정보의 평균
      • H(X) = sigma(P(A_j)i(A_j))j = -sigma(P(A_j)((log_2)P)(A_j))j
    • 특성
      • 0 ≤ H(X) ≤ ((log_2)K)
        • K : 사건의 수
    • 활용
      • 평균비트수 표현
      • 데이터 압축에 사용
    • 4가지 정보를 표현하는데 필요한 비트수는 일반적으로 2비트
    • i(X)를 활용하는 경우
      • 평균비트수
        • 1 x 1/2 + 2 x 1/4 + 3 x 1/8 + 3 x 1/8 = 14/8 = 7/4 비트
  • 교차 엔트로피
    • 확률분포 P와 Q
      • S = { A_j }
        • P(A_j) : 확률분포 P에서 사건 A_j가 발생할 확률
        • Q(A_j) : 확률분포 Q에서 사건 A_j가 발생할 확률
        • i(A_j) : 확률분포 Q에서 사건 A_j의 자기정보
          • i(A_j) = -(log_2)Q(A_j)
          • 자기 정보는 A_j를 표현하는 비트수이다.
          • 잘못된 확률분포 Q를 사용하게 되면, 실제 최적 비트수를 사용하지 못하게 된다.
    • H(P, Q)
      • 집합 S상 확률분포 P에 대한 확률분포 Q의 교차 엔트로피
      • 확률분포 P에서 i(A_j)의 평균
        • H(P, Q) = sigma(P(A_j)i(A_j))j = -sigma(P(A_j)(log_2)Q(A_j))j = -sigma(P(x)(log_2)Q(x))x∈X
          • 이 값은 정확한 확률분포 P를 사용했을 때의 비트수보다 크게 된다. 따라서 이 값은 P와 Q가 얼마나 비슷한지를 표현한다.
            • 같으면 H(P, Q) = H(P)
            • 다르면 H(P, Q) > H(P)
          • Q(X)를 가정하고 코드를 부여한다.
            • 평균비트수
              • 3 x 1/2 + 3 x 1/4 + 2 x 1/8 + 1 x 1/8 = 21 / 8 비트
              • 1.5배나 더 많은 비트를 사용해야 한다.
    • 분류 문제에서의 손실함수
      • 분류문제
        • 주어진 대상이 A인지 아닌지 판단
        • 주어진 대상이 A,B,C, ... 중 어느 것인지 판단
      • 기계학습에선 주어진 대상이 각 그룹에 속할 확률을 제공한다.
        • ex) [0.8, 0.2] : A일 확률 0.8, 아닐 확률 0.2
        • 이 값이 정답과 얼마나 다른지 측정이 필요하다.
      • 원하는 답 P = [p_1, p_2, ... , p_n], p_1 + p_2 + ... + p_n = 1
        제시된 답 Q = [q_1, q_2, ... , q_n], q_1 + q_2 + ... + q_n = 1
        • P와 Q가 얼마나 다른지에 대한 척도가 필요하다.
      • 제곱합
        • sigma(p_i - q_i)^2
        • 확률이 다를수록 큰 값을 가지지만 학습 속도가 느리다.
      • 교차 엔트로피 H(P, Q)
        • 확률이 다를수록 큰 값을 가지며, 학습 속도가 빠르다.
        • 분류 문제에서 주로 교차 엔트로피를 사용한다.

확률 (probability)

 

상대 도수에 의한 정의이다.

 

확률의 고전적 정의

 

  • 표본공간 (sample space)
    • 모든 가능한 실험결과들의 집합
  • 사건 - 대문자로 표현
    • 관심있는 실험결과들의 집합
    • 표본 공간의 부분집합
  • 어떤 사건이 일어날 확률 - P로 표현
    • 표본 공간의 모든 원소가 일어날 확률이 같은 경우
    • 사건의 원소의 수 / 표본공간의 원소의 수
    • 확률은 0에서 1사이의 값을 가짐
      • 1은 무조건 사건이 일어남
      • 0은 절대 사건이 일어나지 않음

 

ex) 주사위를 2번 던졌을 때 합이 10일 확률

 

표본공간 = { ( 1, 1 ), ( 1, 2 ), ( 1, 3 ), ... , ( 6, 6 ) } 총 36가지

 

합이 10일 사건 A = { ( 4, 6 ), ( 5, 5 ), ( 6, 4 ) } 총 3가지

 

확률 P(A) = 3/36 = 1/12

 


확률의 계산

 

조합 (combination)이란? 어떤 집합에서 순서에 상관없이 뽑은 원소의 집합

 

n개 중 r개를 뽑는 조합의 수

 


덧셈 법칙 (Addition Law)

 

  • 사건 A나 사건 B가 일어날 확률
    • P(A∪B)
  • 사건 A와 사건 B가 동시에 일어날 확률
    • P(A∩B)
  • P(A∪B) = P(A) + P(B) - P(A∩B)

 

 

서로 배반 (Mutually Exclusive)

 

  • 두 사건의 교집합이 공집합일 경우 사건 A와 사건 B가 서로 배반한다고 한다.
    • P(A∩B) = 0
    • P(A∪B) = P(A) + P(B)

조건부 확률 (Conditional probability)

 

  • 어떤 사건 A가 일어났을 때, 다른 사건 B가 일어날 확률
  • P(B|A) = P(A∩B)/P(A)
  • 단, P(A) > 0

 

ex) 주사위를 하나 던졌는데, 4이상의 수가 나왔다. 이 때 그 수가 짝수일 확률은?

 

사건 A : 4 이상의 수가 나오는 확률 

사건 B : 짝수가 나오는 사건

 

P(B|A) = P(A∩B)/P(A) = (1/2) / (1/3) = 2/3

 


곱셈 법칙 (Multiplication law)

 

  • P(B|A) = P(A∩B)/P(A)
  • P(A∩B) = P(B|A)P(A)

ex) 어떤 학교에서 60%의 학생이 남학생이다. 그 학교 남학생의 경우 80%는 축구를 좋아한다. 그 학교에서 학생 1명을 랜덤하게 뽑았을 때 축구를 좋아하는 남학생일 확률은?

 

P(A∩B) = P(B|A)P(A) = 0.8 * 0.6 = 0.48

 

서로 독립 (Mutually Independent)

 

  • P(B|A) = P(B)인 경우 사건 A와 B는 서로 독립이라고 한다.
  • P(A∩B) = P(B|A)P(A) = P(B)P(A) = P(A)P(B)

여사건

 

  • 사건 A의 여사건
    • 사건 A가 일어나지 않을 사건
    • A^c로 표시
  • 어떤 사건과 그 여사건은 서로 배반이다. 즉, 둘 중 하나는 반드시 일어난다.
    • P(A∪A^c) = P(A) + P(A^c) = 1
    • P(A) = 1 - P(A^c)

확률의 분할 법칙

 

그림출처 : 프로그래머스 스쿨

 

  • 사건 B는 다음과 같이 나누어진다.
    • B = (A∩B)∪(A^c∩B)
    • (A∩B)와 (A^c∩B)는 서로 배반
    • P(B) = P[(A∩B)∪(A^c∩B)] = P(A∩B)∪P(A^c∩B) = P(B|A)P(A) + P(B|A^c)P(A^c)

 

ex) 어떤 사파리에서 70%가 사자고, 나머지가 호랑이다. 사자는 60%가 2살 이상이고, 호랑이는 40% 정도가 2살 이상이다. 전체 동물 중 2살 이상인 동물의 비율은?

 

사건 A : 동물이 사자인 사건

사건 B : 동물이 2살 이상인 사건

P(B) = P(B|A)P(A) + P(B|A^c)P(A^c) = 0.6 x 0.7 + 0.4 x 0.3 = 0.54

 


베이즈 정리

 

  • 처음의 확률
    • 사전 확률 (prior probability)
  • 수정된 확률
    • 사후 확률 (posterior probability)
  • P(A|B) = P(A∩B) / P(B) = P(B|A)P(A) / P(B|A)P(A) + P(B|A^c)P(A^c)

 

ex) 앞 예제에서 동물 한 마리를 랜덤하게 선택했는데, 이 동물이 2살 이었다. 이 동물이 사자일 확률은?

 

P(A|B) = P(A∩B) / P(B) = P(B|A)P(A) / P(B|A)P(A) + P(B|A^c)P(A^c) = 0.6 x 0.7 / 0.6 x 0.7 + 0.4 x 0.3 = 0.78

 

그림출처 : 프로그래머스 스쿨

 

 

ex) 어떤 사람이 검은색과 흰색의 셔츠를 갖고 있는데, 매일 아침 3/4 정도는 검은색 셔츠를 입고, 1/4 정도는 흰색 셔츠를 입는다. 이 사람이 검은색 셔츠를 입었을 때는 3/4 정도 넥타이를 매고, 흰색 셔츠를 입었을 땐 1/2 정도 넥타이를 맨다 하자. 어느 날 이 사람이 넥타이를 맸다면 이 사람이 검은색 셔츠를 입었을 확률을 구하라.

 

사건 A : 아침에 검은색 셔츠를 입는 사건 P(A) = 3/4

사건 B : 넥타이를 맨 사건 P(B|A) = 3/4, P(B|A^c) = 1/4

 

구하는 확률

 

P(A|B) = (3/4)x(3/4)/(3/4)x(3/4)+(1/2)+(1/4) = 9/11


확률 변수 (random variable)

 

  • 랜덤한 실험 결과에 의존하는 실수. 표본 공간의 부분 집합에 대응하는 실수
  • 보통 표본 공간에서 실수로 대응되는 함수로 정의
  • 보통 X나 Y 같은 대문자로 표시

이산확률변수 (discrete random variable)

 

확률변수가 취할 수 있는 모든 수 값들을 하나씩 셀 수 있는 경우

 

연속확률변수 (continuous random variable)

 

셀 수 없는 경우


확률 분포 (Probability Distribution)

 

확률변수가 가질 수 있는 값에 대해 확률을 대응시켜주는 관계

 

ex) 어떤 확률 변수 X가 가질 수 있는 값 : 0, 1, 2, 3

 

각 값이 나올 확률

 

P(X=0) = 0.5

P(X=1) = 0.2

P(X=2) = 0.2

P(X=3) = 0.1

 

ex) 주사위 2개를 던지는 실험

 

확률 변수 X : 주사위 숫자의 합

 

X가 가질 수 있는 값

 

2, 3, ..., 12

 

P( X = 12 ) = 1 / 36

 

확률 변수 Y : 주사위 숫자의 차

 

Y가 가질 수 있는 값

 

0, 1, 2, ..., 5

 

P( Y = 5 ) = 2 / 36 = 1 / 18

 

확률 변수 X는 주사위를 던질 때마다 값이 달라질 수 있다.

n번 실험하면, n개의 숫자가 나온다. 이 n개의 숫자의 평균과 분산을 계산할 수 있다.

 

즉, 확률 변수 X도 평균과 분산을 갖는다. 이 평균과 분산을 모집단의 평균과 분산이라 할 수 있다.

 

확률분포의 표현

 

표, 그래프, 함수 등 다양하게 표현 가능하다.

 


이산확률변수

 

  • 이산확률변수의 확률분포는 보통 함수로 주어진다.
    • 확률변수 X가 x라는 값을 가질 확률
      • P(X = x) = f(x)
      • 확률질량함수
  • 이산확률변수의 평균
    • 기대값 (expected value)라고도 한다.
    • E(X) = sigma(xP(X=x)x = sigma(xf(x))x

 

ex) 만약 100,000번의 실험을 했다면, 

 

0이 대략 10,000번 나오고,

2이 대략 30,000번 나오고,

5이 대략 60,000번 나왔다고 하면 평균은

 

0X10000 + 2X30000 + 5X60000 / 100000 = 3.6

 

  • 이산확률변수의 분산
    • 실험을 할 때마다 확률변수의 값은 달라진다. 따라서 그 변동의 정도인 분산을 계산할 수 있다.
    • σ^2 = 1/N(N(sigma(x_i-μ)^2)i=1)
    • (X - μ)^2의 평균
    • σ^2 = E[(X - μ)^2] = (sigma(x - μ)^2)P(X = x) = E(X^2) - {E(X)}^2
    • Var(X)라고도 한다.

 

 

ex) 위의 예에서의 분산을 구하면

 

σ^2 = ((0 - 3.6)^2x10,000 + (2 - 3.6)^2x30,000 + (5 - 3.6)^2x60,000)/100,000 = 3.24


결합확률 분포 (Joint probability distribution)

 

두 개 이상의 확률 변수가 동시에 취하는 값들에 대해 확률을 대응시켜주는 관계

 

결합확률분포를 통해 각 확률변수의 확률분포를 도출할 수 있다.

=> 주변확률분포 (marginal probability distribution)


공분산 (Covariance)

 

두 개의 확률변수의 선형 관계를 나타내는 값

 

Cov(X, Y) -= E[(X - μ_x)(Y - μ_y)] = E(XY) - μ_xμ_y = E[XY] - E[X]E[Y]

 


상관계수 (correlation coefficient)

 

공분산은 각 확률 변수의 절대적인 크기에 영향을 받는다. 따라서 단위에 의한 영향을 없앨 필요가 있다.

 

ρ = Corr(X, Y) = Cov(X, Y)/σ_xσ_y


이항분포 

 

베르누이 시행 (Bernoulli trial)

 

정확하게 2개의 결과만을 갖는 실험. ex) 동전 던지기

보통 성공과 실패로 결과를 구분하며, 성공의 확률을 p라고 한다.

 

이항확률변수

 

확률변수 X는 n번의 베르누이 시행에서 성공의 횟수이다. 

 

이항분포(binomail distribution)

 

이항확률변수의 확률분포이다.

 

 

ex) 어떤 랜덤박스의 뽑기 성공 확률이 0.2이다. 3개를 뽑았을 때, 적어도 하나 이상의 성공이 발생할 확률은?

 

 

  • 평균
    • E(X) = np
  • 분산
    • Var(X) = np(1-p)
  • 표준편차
    • SD(X) = root(np(1-p))

정규분포

 

연속확률 변수의 확률 분포. 확률밀도함수(probability density function)로 표현한다.

 

P[a ≤ X ≤ b] = b(integral(f(x)dx))a

 

그래프의 넓이가 확률이 된다.

 

정규분포의 확률밀도함수

 

 

X ~ N (μ, σ^2) => 평균이 μ고, 분산이 σ^2인 정규분포를 따른다는 뜻이다.

 

표준정규확률변수 (standard normal random variable)

 

Z = X - μ / σ

 

 

표준정규분포 (standard normal distribution)

 

Z ~ N (0, 1)

 

표준 정규분포표 => P[Z ≤ z]

 

ex) X~N(4, 3^2)

 

P[X ≤ 4]

= P[X - μ / σ ≤ 4 - μ / σ]

= P[Z ≤ 4-4 / 3] = P[Z ≤ 0]

=0.5

 

ex2)

 

P[4  X ≤ 7]

= P[X ≤ 7] + P[X < 4]

P[Z  7-4 / 3] - P[Z < 0]

= P[Z ≤ 1 ] - P[Z < 0] = 0.8413 - 0.5 = 0.3413


포아송 분포 (Poisson distribution)

 

일정한 시간단위 또는 공간 단위에서 발생하는 이벤트의 수의 확률분포

 

확률분포함수 (확률질량함수)

 

P[X = x] = f(x) = λ^x(e^-λ / x!), x = 0,1, 2, ...

평균 : λ

분산 : λ

 

ex) 어느 웹사이트에 시간당 접속자 수는 평균이 3 (λ = 3)인 포아송 분포를 따른다고 할 때, 앞으로 1시간 동안 접속자 수가 2명 이하일 확률은? 

 

P [X ≤ 2] = P [X = 0] + P [X = 1] + P [X = 2] = 3^0(e^-3 / 0!) + 3^1(e^-3 / 1!) + 3^2(e^-3 / 2!)

= 0.04998 + 0.14936 + 0.22404 = 0.42319

 


지수분포 (Exponential distribution)

 

포아송 분포에 의해 어떤 사건이 발생할 때, 어느 한 시점으로부터 이 사건이 발생할 때까지 걸리는 시간에 대한 확률 분포

 

확률밀도 함수

 

f(t) = λe^(-λt)

λ : 포아송 분포 평균

평균 : E(T) = 1 / λ

분산 : Var(T) = 1 / λ^2

 

ex) 어느 웹사이트에 시간당 접속자 수는 λ = 3인 포아송 분포를 따른다 한다. 지금부터 시작하여 첫번째 접속자가 30분 이내 올 확률은?

 

P[T ≤ 0.5] = 0.5(integral(λe^(-λt))0)dt = 0.5(integral(3e^(-3t))0)dt = 0.5([-e^(-3t)])0 = 1-e^(-1.5) = 1-0.2231 = 0.7769

벡터의 표현

 

고등 교과과정에서의 정의

 

n벡터는 크기와 방향을 가진 물리량으로 다음과 같이 표현될 수 있다.

 

좌표계 없이 표현

 

  • v : 화살표로 표현
  • v의 크기 : 화살표의 길이 측정
  • v의 방향 : 화살표의 방향 측정

 

좌표계 도입하여 표현

 

  • v = ( v₁, v₂, ..., vn )
  • v의 크기

  • v의 방향


벡터의 내적

 

좌표계 없이 표현

 

u * v  = ||u|| ||v|| cosΘ

 

좌표계를 도입해 표현

 

u * v = u₁v₁ + u₂v₂ + ... + unvn

 

두 벡터 u, v간 내적이 0이면 두 벡터는 직교(orthogonal)이다.

 

u * v = 0 ⇔ u⊥v

 

u방향으로의 전진은 v 방향에서 전혀 측정되지 않는다. 그 반대도 마찬가지이다.


투영(projection)

 

두 벡터 u, a가 있을 때, 벡터 u를 a위에 투영한 벡터를

라 하고 다음과 같이 구한다.

                    길이      방향    기저 a에 대한 좌표값

 

벡터 u를 a 위에 투영하고 남은 보완 벡터 (complement vector)는

이다.

 

이 때, 투영 벡터와 보완 벡터는 직교한다.

또, 투영 벡터와 보완 벡터를 더하면 원래의 벡터로 돌아온다.


직교행렬(Orthogonal Matrix)

 

직교행렬이란? 주어진 행렬의 모든 열벡터가 서로 직교하는 행렬을 말한다.

 

ex)

 

| 2  2 -4 |

| 2  1  7 |

| 6 -1 -1 |

 

정규직교행렬(orthonormal matrix)이란? 주어진 행렬이 직교행렬이고 모든 열벡터의 크기가 1인 행렬이다.

 

선형시스템에서의 직교행렬 이용

 

선형시스템 Ax = b에서 행렬 A가 직교행렬이면, 해 x는 역행렬 A^-1의 계산 없이 다음과 같이 구할 수 있다.

 

x의 i번째 요소는 투영으로 계산할 수 있다. 즉, 벡터 b를 행렬 A의 각 열벡터 ai에 투영한 연산 

으로부터

임을 계산할 수 있다.

 

그리고 x의 i번째 요소와 j번째 요소의 계산은 독립적이므로 x의 계산은 병렬처리가 가능하다.

 

ex)

 

|  1 4 | | x₁ | = |  6 |

| -2 2 | | x₂ |    | -2 |

 

x₁ = 1*6 + (-2)*(-2) / 1^2 + (-2)^2 = 10 / 5 = 2

x₂ = 4*6 + 2*(-2) / 4^2 + 2^2 = 20 / 20 = 1

 

 

선형시스템에서 정규직교행렬(=회전행렬)의 이용

 

x의 i번째 요소는 내적(inner product)로 계산할 수 있다. 즉, 벡터 b를 행렬 A의 각 열벡터 ai에 투영한 연산 

로부터

xi = b*ai

임을 계산할 수 있다.

이 또한 마찬가지로 병렬처리가 가능하다.


QR 분해 : A = QR 주어진 행렬에서 정규직교행렬 추출

 

QR 분해란? 아래의 형태를 갖는 두 행렬의 곱으로 나누는 행렬분해이다.

 

   A           Q        R 

| * * * |    | * * * | | * * * | 

| * * * | = | * * * | | 0 * * |

| * * * |    | * * * | | 0 0 * |

 

Ax = b => (QR)x = b => Q(Rx) = b => Qy = b (단, Rx = y )

 

선형시스템을 다음과 같이 두 단계로 간단히 해결할 수 있다.

 

1) 내적(inner product) : y 구하기

 

   Q       y   =  b

| * * * |  | y₁ |    | * | 

| * * * |  | ...  | = | * |

| * * * |  | yn |    | * |

  

2) 후방대치법(Back-substitution) : x 구하기

 

    R         x    =   y

| * * * |    | x₁ |    | y₁ | 

| 0 * * | = | ...  | = | ... |

| 0 0 * |    | xn |    | yn |

 

QR 분해는 그람-슈미트 과정(Gram-Schmidt process)을 행렬로 코드화한 것이다.

 

  • Q : 행렬 A에서 정규직교성을 추출한 행렬
  • R : 행렬 A에서 정규직교성 추출 후 남은(residual), upper triangular matrix(상삼각행렬)

 

QR 분해는 어디에 활용되는가?

 

  • 빠른 계산 : 선형시스템 Ax = b의 해를 구할 때 정규직교행렬 Q를 이용한 계산 부분은 병렬처리로 빨리 계산할 수 있다. R은 병렬처리할 수 ㅇ벗다.
  • b가 자주 업데이트되는 경우 : 선형시스템 Ax = b에서 행렬 A는 고정되어 있고, b는 자주 변하는 문제가 있을 때 미리 QR로 분해해두면 b가 업데이트될 때마다 해 x를 실시간으로 구할 수 있다.

 

QR 분해 vs LU 분해

 

  • LU 분해는 병렬처리할 수 없다.
  • QR 분해는 Q 행렬이 꽉찬 구조를 가진 행렬이라 메모리 사용량이 많다.

특이값 분해(SVD, Singular Value Decomposition)

 

Amxn  =   Umxm   Dmxn (V^T)nxn

| * * * |    | * * * * | | * 0 0 | | * * * |

| * * * | = | * * * * | | 0 * 0 | | * * * |

| * * * |    | * * * * | | 0 0 0 | | * * * |

| * * * |    | * * * * | | 0 0 0 | | * * * |

 

행렬 U, D, V는 다음과 같은 의미가 있다.

 

  • U : m차원 회전행렬 (정규직교행렬)
  • D : n차원 확대축소 (확대축소 크기에 따른 정렬 형태)
  • V : n차원 회전행렬 (정규직교행렬)

ex)

 

그림출처 : 프로그래머스 스쿨

 

U, D, V의 열벡터를 순서대로 p개 취한다면, 강한 응집성을 가지는 p개의 방향으로 수선의 발을 내린 A의 근사치 A'를 재구성할 수 있다. (근사치를 취한 값도 원래의 행렬과 똑같은 형태를 띄게 되지만, 의미 있는 정보만이 남아있게 된다.)

 

그림출처 : 프로그래머스 스쿨


주성분분석(Principal Com ponent Analysis, PCA)

 

주성분분석이란? 데이터의 공분산행렬(covariance matrix)에 대한 고유값 분해에 기반을 둔 직교분해이다.

 

K개의 n차원 데이터 

가 있을 때, 데이터의 중심 m과 공분산행렬 C는 다음과 같이 구한다.

 

 

공분산행렬에 대한 주성분분석은 아래와 같다.

 

 Cnxn  =  Wnxn    Dnxn  (W^T)nxn

| * * * |    | * * * | | λ₁ 0 0 | | * * * |

| * * * | = | * * * | | 0 ... 0  | | * * * | 

| * * * |    | * * * | | 0 0 λn | | * * * |

 

  • W : n차원 회전행렬
  • D : n차원 확대축소

집합(Set)

 

연산에 닫혀 있는 집합

 

집합이 연산이 닫혀 있다는 것은? 집합에서 임의의 원소를 뽑아 연산을 수행한 결과가 여전히 집합의 원소로 있다면, 해당 집합은 연산에 닫혀 있다고 한다.

 

ex) 

 

{ x|x ∈ R } 실수 집합

 

위 집합은 덧셈 연산과 곱셉 연산 모두 닫혀 있다.

 

{ -1, 0, 1 }

 

위 집합은 덧셈 연산에는 닫혀 있지 않지만 곱셈 연산에는 닫혀 있다.


공간(space)

 

공간이란? 두 연산에 닫혀 있는 집합

 

  • 덧셈 연산에 닫혀 있다.
  • 스칼라 곱 연산에 닫혀 있다.

모든 n벡터 집합 R^n은 n차원 벡터 공간(vector space)이라 부를 수 있다.

 

열공간(Column Space)

 

행렬 A의 열벡터들에 대한 가능한 모든 선형조합의 결과를 모아 집합으로 구성할 수 있다. 이 집합을 열공간이라 하고 다음과 같이 표기한다.

 

col(A)

 

  • Consistenent Linear System
    • b ∈ col(A) 만족
  • Inconsistent Lienar System
    • b ∈ col(A) 불만족

최소제곱법(least squares method)

 

최소제곱법이란? 해가 없음에도 불구하고 할 수 있는 최선을 구하는 것이다.

 

행렬 A가 정의하는 열공간에서 목표 b를 만들 수 없을 때, 가장 b와 유사한 벡터는 열공간에 투영한 지점일 것이다.

즉, 달성가능한 최선의 목표 proj_wb를 생각할 수 있다. (이제 ^는 윗 첨자 _는 아랫첨자를 표시하는데 사용하겠다...)

 

최소제곱법은 원래의 선행시스템 Ax = b가 아닌 다음의 선형시스템을 해결한다.

 

Ax' = b' (단, b' = proj_wb)

 

이 방법은 목표 b와 달성가능한 목표 b'의 차이를 나타내는 벡터 ( b - b' )의 제곱길이를 최소화시키는 의미를 가지기 때문에 최소제곱법이라 불리운다.

 

최소제곱법 해를 구하는 법

 

주어진 선형 시스템의 양변에 전치행렬 A^T를 곱하면 최소제곱법의 해룰 구할 수 있다.

 

Ax = b

⇒ A^T Ax' = A^Tb

⇒ x' = ( A^T A )^-1 A^Tb

 

최소제곱법으로 구한 해는 원래의 선형시스템을 만족하는 해는 아니나, 다음을 만족하는 근사해가 된다.

 

Ax' = proj_wb

 

최소제곱법 응용 

 

2차원 공간에 m개의 정점 (({(x_i, y_i)}^m)_i=1)이 그림과 같이 있을 때, 이를 잘 설명할 수 있는 직선 y = mx + b를 구하는 문제를 생각해 보자. 이를 선형회귀(linear regression) 문제라 한다.

 

선형회귀 문제는 다음과 같이 최소제곱법으로 풀 수 있다.

 

1) 선형시스템 구성 : 직선이 각 정점을 모두 지나간다고 가정하고 선형시스템 Ax = b 구성 (단, 해는 존재 X)

2) 최소제곱법 적용 : A^TAx' = A^Tb를 생각하고, x' = | m' | 를 구한다.

                                                                      |  b' | 

 


통계학(statistics)

 

통계학이란? 데이터 수집(collection), 구성(organization), 분석(analysis), 해석(interpretation), 표현(presentation)에 관한 학문

 

통계학의 구분

 

  • 기술통계학 (descriptive statistics) - 수집, 구성, 표현
  • 추측통계학 (inferential statistics) - 분석, 해석

 

개념 정의

 

  • 모집단 (population)
    • 어떤 질문이나 실험을 위해 관심의 대상이 된느 개체나 사건의 집합
    • ex) 전교 남학생의 키
  • 모수 (parameter)
    • 모집단의 수치적 특성
    • ex) 키의 평균
  • 표본 (sample)
    • 모집단에서 선택된 개체나 사건의 집합

도수(Frequency)

 

도수란? 어떤 사건이 실험이나 관찰로부터 발생한 횟수

 

표현 방법

 

  • 도수분포표 (Frequency Distribution Table)
  • 막대그래프 (Bar graph)
    • 질적 자료
  • 히스토그램 (Histogram) (막대그리프와 비슷한 형태지만 순서가 중요하고, 막대끼리 띄워진 부분이 없음)
    • 양적 자료

 

상대도수

 

도수를 전체 원소의 수로 나눈 것

 


줄기-잎 그림

 

양적 자료를 줄기와 잎으로 구분하는 것이다.

 

그림출처 : www.safetygo.com/xe/index.php?mid=column&listStyle=viewer&category=392&document_srl=12470

줄기-잎 그림 예시

그림에 나타난 데이터는 18, 19, 19, 20, 20, 20, 21 ... , 61, 64이다.

분포도와 데이터값을 바로 알 수 있다.


평균 (mean)

 

전체 데이터를 더한 후 데이터의 갯수만큼 나눈 것

 

x₁ + x₂ + ... + x_n / n = 1/n (n(sigma)i=1)x_i

 

모평균 μ (population mean)

 

모집단 전체 자료일 경우

 

표본 평균 xbar

 

모집단에서 추출한 표본일 경우


중앙값(Median)

 

평균의 경우 극단 값의 영향을 많이 받는다. 이를 보완하기 위한 것이 중앙값이다.

 

중앙값이란? 주어진 자료를 높은 쪽 절반과 낮은 쪽 절반으로 나누는 값, 자료를 순서대로 나열했을 때 가운데 있는 값을 의미

 

자료의 수가  n일 때,

 

n이 홀수면 (n+1)/2번째 자료값

n이 짝수면 n/2번째와 n/2+1번째 자료값의 평균


분산 (Variance)

 

편차의 제곱의 합을 자료의 수로 나눈 값이다. (편차란? 값과 평균의 차이)

 

자료가 모집단일 경우는 모분산(population variance)

 

σ^2 = 1/N(N(sigma)i=1)(x_i - μ)^2

 

자료가 표본일 경우는 표본분산(sample variance) scipy 모듈의 분산은 표본분산을 이용하는 것이다.

 

s^2 = 1/n-1(n(sigma)i=1)(x_i - xbar)^2


표준편차 (Standard Deviation)

 

분산의 양의 제곱근이다.

 

모표준편차(population standard deviation)

 

σ = root(1/N(N(sigma)i=1)(x_i - μ)^2)

 

표본표준편차(sample standard deviation)

 

s^2 = root(1/n-1(n(sigma)i=1)(x_i - xbar)^2)


범위(Range)

 

자료를 정렬하였을 때 가장 큰 값과 가장 작은 값의 차이


사분위수 (Quartile)

 

전체 자료를 정렬했을 때 1/4, 1/2, 3/4 위치에 있는 숫자

 

사분위범위 (IOR, interquartile range)

 

Q₃ - Q₁


z-score

 

어떤 값이 평균으로부터 몇 표준편차 떨어져있는지를 의미하는 값

 

모집단의 경우

 

z = x - μ / σ

 

표본의 경우

 

z = x - xbar / s

 

 

+ Recent posts