확률분포(3): 초기하 분포

이항분포를 공부하면서 이항분포의 전제 조건들이 현실에서 충족되기 쉽지 않을 것이라는 생각이 든 독자들이 있었을 것이다. 성공확률이 일정하다는 조건도 그렇고, 시행이 독립적이라는 조건도 그렇다.

초기하 확률분포(hypergeometric probability distribution)는 그런 아쉬움을 채워주는 확률 모형이다. 이 분포에서는 성공확률이 일정하지 않아도 되고, 시행이 독립적이 아니어도 된다. 확률변수 X가 초기하 분포를 따르면 다음과 같이 표시된다.

N: 모집단의 크기    K: 모집단에서 성공 원소의 갯수    n: 시행 횟수(표본의 크기)

초기하 확률분포의 모양을 결정하는 퍼라미터가 이 세 개이다. 확률변수 X 는 표본 중의 성공 원소의 갯수()이다. 초기하 확률분포는 다음과 같이 정의된다.

: n 번 시행에서 x개가 성공할 확률(n 크기의 표본에 성공원소가 x개 포함될 확률)

식 (1)에서 분모 은 모집단 N개 중에서 표본 n개를 추출하는 방법의 수이고, 분자에서 는 성공원소 모집단 K개에서 x개를 추출하는 방법의 수이며, 는 실패원소 모집단 N-K개에서 n-x개를 추출하는 방법의 수이다.

초기하 분포의 수학적 정의가 상당히 복잡해 보인다. 그런데 사실 조합 기호가 들어가서 표기가 좀 복잡하게 보일 뿐 내용상으로는 오히려 다른 확률분포의 정의에 비해 단순하다. 좀 거칠게 표현하면, 성공원소추출 방법의 수와 실패원소추출 방법의 수를 곱한 값을 전체 표본의 추출방법의 수로 나눈 것이 초기하 분포의 확률함수이다.

초기하 확률분포의 기대값과 분산은 다음과 같다.

예제를 가지고 살펴보자.

예제 1) 온타리오 전기는 전기 퓨즈를 생산한다. 한 박스에 12개의 퓨즈를 넣는다. 품질 검사자는 박스에 들어 있는 12개의 퓨즈에서 무작위로 3개를 뽑아 검사한다. 박스에 5개의 불량품이 있을 경우 검사자가 뽑은 3개의 퓨즈 중 불량품이 1개 들어 있을 확률은?

해제) 이 문제에서는 불량품이 성공원소이다.

확률변수 X는 표본(n = 3) 중 성공원소의 갯수(x = 1)이다.  N = 12, K = 5. 이 값들을 식 (1)에 대입한다.

엑셀에서 초기하분포의 확률을 구하는 함수는 HYPGEOM.DIST이다.

위 표에서 f(1) = 0.477273이다. 앞에서 수작업으로 계산한 결과와 동일하다.

예제 2) 20장으로 된 한 묶음의 카드가 있다. 그중 6장은 붉은 카드이고 14장은 검정 카드이다. 비복원 무작위 추출로 5장의 카드를 뽑는다. 그중 4장의 붉은 카드가 뽑힐 확률은?

해제) 비복원 추출이니 시행별 확률이 일정하지 않다. 따라서 이항분포를 적용할 수 없고 초기하분포를 적용해야 한다.

퍼라미터: N = 20, K =6, n = 5          x = 4. 이 값들을 식 (1)에 대입하면 확률 f(4)를 구할 수 있다.

위 표에 보면, f(4) = 0.013544892이다. 수작업으로 계산한 확률값과 동일하다.

예제 3) 어떤 작은 선거구에 101명의 여성 유권자와 95명의 남성 유권자가 있다. 그 중 10명을 무작위로 뽑는다. 거기에 7명의 여성 유권자가 뽑힐 확률은? 

해제) 비복원추출이니 이항분포를 적용할 수 없고 초기하분포를 적용한다. 확률변수 X는 10명 표본 중 여성유권자의 수이다. 여성유권자는 0명부터 10명까지 뽑힐 수 있다.

퍼라미터: N = 196명, K = 101명, n = 10       x = 7. 이 값들을 식 (1)에 대입한다.

엑셀을 이용해서 확률분포, 기대값, 분산을 구해보자.

위 표에서 f(7) = 0.130396이다. 수작업으로 계산한 결과와 소숫점 다섯자리까지 일치한다.

예제 4) 코로나 19로 인해 많은 사람들이 온라인 쇼핑을 한다. 물론 코로나 19에도 불구하고 오프라인 쇼핑을 하려는 사람도 있다. 10명의 쇼핑객 중 7명은 온라인으로 쇼핑하는 것을 좋아하고 3명은 오프라인 쇼핑을 좋아한다고 가정하자. 그 10명 중 3명을 무작위로 추출하였다. 

1) 2명이 온라인 쇼핑을 좋아할 확률은?

2) 2명 이상이 온라인 쇼핑을 좋아할 확률은?

해제)  비복원추출이므로 이항분포 대신 초기하분포를 적용한다.

문제 1) N = 10, K = 7, n = 3, x =2을 식 (1)에 대입한다.

엑셀을 이용해서 확률분포, 기대값, 분산을 구해보자.

문제 2) 전체 확률에서 온라인 쇼핑을 좋아하는 쇼핑객이 한명도 뽑히지않을 확률과 한 명 뽑힐 확률을 빼면 될 것이다.  1 – 0.0083 – 0.175 = 0.8167(위 표 참조).

예제 5) 컴퓨터 부품회사 A는 수원과 파주 두 곳에 공장을 가지고 있다. 수원에는 40명의 종업원이, 파주에는 20명의 종업원이 있다. 10명의 종업원을 뽑아서 설문조사를 하였다.

1) 파주에서 근무하는 종업원이 한 명도 뽑히지 않을 확률은?

2) 파주에서 근무하는 종업원이 한 명 뽑힐 확률은?

3) 파주에서 근무하는 종업원이 두 명 이상 뽑힐 확률은?

해제) 설문조사는 비복원추출이므로 초기하분포를 적용한다. 확률변수 X는 10명 표본 중 파주 종업원의 수이다.

N = 60, K = 20, n = 10을 PDF에 대입한다.

수작업 계산은 생략하고 엑셀을 이용해서 확률분포를 구한다.

문제 1) 0.011243

문제 2) 0.072536

문제 3) 1 – 0.011243 – 0.072536 = 0.916221

이상으로 초기하 확률분포에 대해 알아보았다. 예제들을 통해서 초기하 분포가 이항분포를 보완하는 확률모형임을 알았으리라 생각한다. 이산확률분포에 대해서는 여기까지 공부하고 이제 연속확률분포에 대해서 알아보자. (2020-08-29)

확률분포(2): 포아송 분포

이산확률분포에서는 이항분포 다음으로 포아송 분포(Poisson distribution)가 중요하다. 포아송 분포는 단위 시간이나 단위 공간에서 무작위로 발생하는 사건의 발생횟수에 적용되는 분포이다. 포아송분포는 이항분포와 성격이 비슷하나, 시행횟수 n이 크고, 사건의 발생(성공) 확률 p는 매우 작은 경우에 사용된다. 확률변수 X가 포아송 분포를 따를 때 다음과 같이 표기한다.

다음의 두 가지 조건을 만족하면 발생회수라는 확률변수는 포아송 확률분포를 따른다.

1) 두 구간의 길이가 같다면 발생확률이 동일하다(일정성).

2) 어떤 구간에서 발생하거나 발생하지 않는 사건은 다른 구간에서 발생하거나 발생하지 않는 사건과 독립이다(독립성).

포아송분포는 수학적으로 다음과 같이 정의된다.

여기서  = 구간에서 x회 발생할 확률; (람다) = 단위시간당 평균발생횟수(기대값)(이다); (극한값 e)

위의 PDF에서 분모가 이다. 이는 발생횟수가 상당히 큰 수이면 가 0에 가까워지며, 그것을 무시할 수 있음을 시사한다.

포아송 분포의 기대값과 분산:

기대값과 분산이 동일하게 이다.

포아송 분포는 아래와 같은 다양한 현상에 적용될 수 있다. 그것의 적용 범위가 매우 넓은 확률 모형임을 알 수 있다.

  • 하루동안 발생하는 출생자 수 혹은 사망자 수
  • 하루동안 발생하는 고속도로 교통사고 수
  • 한 시간 내 찾아오는 방문객의 수
  • 하루에 찾아오는 환자의 수
  • 한 시간 동안 세차장에 도착하는 자동차의 수
  • 어떤 특정 진도 이상의 지진이 발생하는 수
  • 어떤 특정량의 방사선을 DNA에 쬐었을 때 발생하는 돌연변이 수
  • 검진한 환자 1만명 당 희귀병 환자의 수
  • 한 시간 내 스타박스의 드라이브스루 창구에 도착하는 자동차의 수
  • 일정 시간 동안 톨게이트를 통과하는 차량의 수
  • 한 시간 동안 은행에 다녀간 고객의 수
  • 한 시간 동안 사무실에 걸려온 전화(phone call)의 수
  • 국도 1km 당 패인 구멍의 수
  • 어떤 책의 한 페이지에 존재하는 오타의 수
  • 일정량의 혈액 속에 있는 적혈구의 수
  • 단위 길이당 옷감의 흠집수

참고로 포아송(Poisson) 분포를 위의 사례 중 phone call(시간 당 사무실에 걸려온 전화 수)과 연계해서 기억하면 연상 작용에 도움이 될 것이다. 베타(Beta) 분포는 bat(야구선수의 타율)과 연관해 기억하면 그렇듯이.

포아송 분포의 모양을 결정하는 퍼라미터는  하나이다. 아래 그림을 보면, 가 1일 때, 4일 때, 그리고 10일 때 확률분포의 모양이 크게 달라짐을 알 수 있다. 이는 매우 직관적인 특성이다. 특정 시간 구간에서 사건이 x회 발생할 확률()이 단위시간당 사건의 평균적인 발생 횟수()에 달려있다는 것이니 충분히 직관적이지 않는가.

예제 1) 주중 아침 15분 동안 드라이브스루 뱅킹 서비스를 받기 위해 창구에 도착하는 자동차가 평균 10대라고 한다. 그렇다면 15분 동안에 5대가 도착할 확률은?

해제) 여기서 단위 시간은 15분이고, 확률변수 X는 15분 동안 창구에 도착하는 자동차 대수, 단위시간 당 평균은 10대이다. 단위시간에 발생하는 사건의 발생횟수에 관심을 갖고 있고, 단위시간 당 발생횟수(10대)가 일정하며, 어떤 단위 시간의 발생하는 사건은 다른 단위시간의 발생하는 사건과 독립적이므로 X는 포아송분포를 따른다.

공식 (1)에 = 10, X = 5를 대입해서 풀면,

즉, 15분 동안에 5대가 도착할 확률은 0.0378이다.

엑셀을 이용해서 확률분포를 구해보자. 기대값과 분산은 계산할 필요없이 10대이다[식(2) 적용]. 포아송확률분포를 구하는 엑셀 함수는 POISSON.DIST이다.

X(도착하는 자동차 대수)가 0에서 20대까지의 확률을 계산해 보았다. 위 표에서 X가 5일 때 0.0378로 위에서 공식을 사용해 수작업으로 한 계산과 동일하다. 흥미 있게도 그래프의 모양이 정규분포와 유사하다. 그래프의 무게 중심은 X =10(람다)이다.

예제 2) 우리나라의 에이즈 유병율이 0.04%이다. 에이즈 검사를 받은 사람 1만명 중 에이즈에 전염된 환자가 1명일 확률은?

해제) 여기서 확률변수는 검사 대상 1만명 당 에이즈 환자의 수이다. 관심 대상이 단위 집단 당 사건 발생 수이고, 단위 집단 당 발생횟수가 일정하고, 어떤 단위 집단과 다른 단위 집단 사이의 사건 발생은 독립적이므로 이 문제에는 포아송 분포가 적용될 수 있다. 퍼라미터 람다는 단위 집단 당 평균적인 에이즈 발병 횟수이므로, 에이즈 유병율이 0.04%일 때, 1만명 평균적 발생 에이즈 환자의 수()는 0.0004*10000 = 4(명)이다.

퍼라미터: (0.0004*10000); X = 1

엑셀을 이용해 확률분포를 구하면 아래와 같다.

예제 3) 도로를 새로 포장한 후 한달 동안 심각한 파손이 1km 당 평균 1개가 있다고 하자. 길이 3km에 파손 지점이 없을 확률은?

해제) 같은 길이의 어떤 구간에서도 파손이 있을 확률은 동일하고, 어느 한 구간에서의 파손 발생은 다른 구간에서의 파손 발생에 영향을 주지 않는다고 하면, 이 문제에 포아송 분포를 적용할 수 있다.

확률변수 X: 신도로 3km 당 파손 지점의 수

(3km 당 평균 파손 지점의 수) = 1*3 = 3

P(X = 0|3)?

위 표를 보면, X = 0일 때 발생확률은 0.0498이다.

예제 4) 미국의 국립 해양 및 대기 관리청(NOAA)에 따르면 콜로라도 주는 6월 평균 18건의 토네이도가 발생한다. 6월은 30일이 있다는 점을 기억하자.

1) 하루에 토네이도가 평균 몇 회 발생하는가?

2) 하루에 토네이도가 한 번도 발생하지 않을 확률은?

3) 하루에 토네이도가 한 번 발생할 확률은?

4) 하루에 토네이도가 두 번 이상 발생할 확률은?

해제) 이 문제는 하루라는 단위 시간에 발생하는 토네이도라는 사건의 발생횟수에 관심이 있다. 6월 중 일간 토네이도의 발생은 독립적이고,  그것의 확률은 일정하다고 간주될 수 있기 때문에 포아송 분포의 적용이 가능하다.

포아송분포를 수학적으로 계산하려면, (람다)를 알아야 한다. 람다는 단위시간 당 평균적인 발생횟수이다. 이 문제에서 단위 시간은 하루이다. 그런데 문제에 주어진 정보는 월 단위로 되어 있으므로 먼저 이것을 일 단위로 변환해서 람다를 구해야 한다. 그것에 대한 질문이 문제 1)이다.

1) 하루에 토네이도가 평균 몇 회 발생하는가? 18건을 30일로 나누면, 18/30 = 0.6(회). 즉,

2) 하루에 토네이도가 발생하지 않을 확률은? 이는 확률변수 X가 0일 확률을 묻는 질문이다. , X = 0를 PDF인 식 (1)에 대입한다.

3) 하루에 토네이도가 한 번 발생할 확률은? f(1)의 값을 묻고 있으므로,

4) 하루에 토네이도가 두 번 이상 발생할 확률은? 이 문제는 누적확률분포에 관한 것이다. 전체 확률 1에서 f(0)의 값, 0.5488과 f(1)의 값, 0.3293을 빼면 될 것이다.

엑셀을 이용해서 확률분포를 구해보자.

위 표에서 f(0) = 0.548812, f(1) = 0.329287이므로 앞에서 수작업으로 구한 결과와 일치함을 알 수 있다. 그래프를 보면, 토네이도가 대체로 하루에 한 번도 없거나 한 번 정도 발생하는 것을 알 수 있다. 토네이도가 간혹 하루 2회도 발생하지만 하루 3회 이상 발생은 거의 하지 않는 것으로 보인다.

예제 5) 어느 콜센터에 한 시간 동안 평균 36회 전화가 걸려온다. 

1) 5분 동안 전화가 2회 걸려올 확률은?

2) 15분 동안 5회 전화가 걸려올 확률은?

해제) 이 문제에서 관심사는 걸려오는 전화 횟수이다. 단위시간 당 걸려오는 전화 횟수가 독립적이고, 그것의 확률은 일정하다고 생각할 수 있으므로 포아송 분포가 적용될 수 있다.

문제 1) 여기서는 5분을 단위시간으로 볼 수 있으며, 확률변수 X는 5분 동안 걸려오는 전화 횟수가 된다. 그런데 우리에게 주어진 정보는 한 시간 동안 걸려오는 평균 전화 횟수 36회이므로, 람다는 36을 12(=60/5)로 나누면 구할 수 있다.

퍼라미터: ; X = 2

문제 2) 여기서는 15분을 단위시간으로 볼 수 있으므로, 확률변수 X는 15분 동안 걸려오는 전화 횟수가 된다. 그렇다면, 람다는 36을 4(=60/15)로 나누면 구할 것이다.

퍼라미터: ; X = 5

이상으로 포아송 확률분포를 살펴보았다. 포아송분포은 퍼라미터가 하나()인 분포이다. 람다는 단위시간 당 평균적 발생빈도이다. 그것만 알면 확률분포를 구할 수 있고, 따라서 당연히 단위시간 당 특정 발생횟수가 가진 확률값을 구할 수 있다. 이 정도는 기억해 두면 좋을 것이다. (2020-08-29)

확률분포(1): 이항확률분포

입문 수준의 베이즈 통계를 위해서 꼭 익혀 두어야 할 확률분포는, 이산분포에서 이항분포, 포아송분포, 초기하분포, 연속분포에서 균일분포, 정규분포, 지수분포, 감마분포, 베타분포 8개 정도가 아닌가 생각된다. 이 가운데 정규분포는 빈도주의 통계에서도 꼭 알아두어야 하는 확률분포이다. 빈도주의 통계에서는 추가로 t분포, F분포, 분포를 익혀야 할 것이니, 전체적으로 보면 입문 수준의 사회통계에서 11개 정도의 확률분포를 익혀두면 충분하지 않을까 생각된다.

빈도주의 통계에서 정규분포, t분포, F분포, 분포를 모르면, 모수를 통계적으로 추정할 수 없다. 비슷하게 베이즈 통계에서 위에서 언급한 8개를 모르면, 베이즈 정리를 다양한 예측에 적용하기 어렵다. 베이즈통계에서 예측은 관찰된 데이터를 가지고 사전분포를 업데이트하여 사후분포를 추정하는 것이기 때문이다.

통계를 이용한 추정과 예측에서 확률분포가 차지하는 비중이 워낙 크기 때문에 확률분포에 대해 충분히 시간을 갖고 공부할 필요가 있다. 그래서 전에 확률분포에 관해 몇 개의 글을 올렸지만, 너무 간략히 소개했던 것 같아 다시 베이즈통계에 필요한 10개의 분포를 하나 하나 좀 더 쉽고 자세하게 설명해 보도록 하겠다.

먼저 이산확률분포부터 시작하자. 이항확률분포(binomial probability distribution)는 가장 대표적 이산확률분포이며 정규분포에 버금가게 중요한 확률분포이다. 실제 이항분포가 적용될 수 있는 사회현상이 많기도 하다.

이항확률분포는 이항실험(binomial experiment)과 연관되어 있다. 이항실험은 네 가지의 특성을 갖고 있다. 

  1) 실험은 n개의 동일한 시행으로 구성된다.

  2) 각 시행은 두 가지 결과를 가진다. 그 결과를 성공, 실패라고 부른다.

  3) 각 시행에서 성공 확률은 p이며, 성공 확률은 반복 시행에서 변하지 않는다. (성공확률 불변 조건)

  4) 각 시행은 독립적으로 행해진다. (독립시행 조건)

위에서 1번을 제외한 세 가지 특성을 가진 실험을 베르누이 시행(Bernoulli Trial)이라고 한다. 베르누이 시행이 n회 반복된 실험이 이항실험이다. 

수업에서 가장 흔히 드는 이항실험의 사례는 동전 던지기이다. 동전을 던져서 특정한 면이 나오는 실험이다. 예컨대, 100원 주화를 다섯 번 던져서 앞면(이순신 장군 얼굴)이 나오는 횟수를 세는 실험은 이항실험이다. 실험은 5회의 동일한 시행으로 구성되며, 각 시행은 앞면과 뒷면의 두 가지 결과를 가지고, 각 시행에서 앞면이 나올 확률은, 정직한 동전이라면, 0.5이며, 그것은 반복 시행에서도 달라지지 않는다. 따라서 이항실험 조건을 충족한다. 그리고 동전 던지기 실험에서 앞면이 나오는 횟수는 이항확률분포를 갖는다.

이항실험의 예를 더 들어보자.

예제 1) 한 개의 주사위를 5회 던질 때 1의 눈이 2회 나올 확률은?

주사위는 육면체이고 여섯 개의 숫자로 되어 있지만, 이 실험에서 던질 때마다  1이 나오거나(성공) 1이 아닌 다른 수가 나오는(실패) 두 가지 결과밖에 없다. 주사위가 정직하게 만들어져 있다면, 1이 나올 확률(성공확률)은 1/6이고, 성공확률은 모든 시행에서 동일하게 1/6이다. 그리고 각 시행은 상호 독립적이며, 실험은 다섯 번의 시행으로 구성된다. 따라서 이 실험은 이항실험 조건을 충족하며, 일정 횟수만큼의  반복적인 주사위 던지기에서 1의 눈이 나오는 횟수는 이항확률분포를 갖는다.

예제 2) 어느 공장에서 생산되는 제품의 5%가 불량품이다. 이 제품 10개를 검사하였을 때 2개가 불량품일 확률은?

좀 이상하게 들리기도 하겠지만, 불량품이 나오는 결과는 기대하는 사건이 발생했다는 의미에서 확률적으로 성공이라고 간주될 수 있으며, 그 성공확률은 0.05이다. 각 제품의 생산은 하나의 시행이 되며, 매 시행에서 성공확률은 0.05이다. 각 제품의 생산은 독립 시행이며, 실험은 10번의 독립 시행으로 구성되어 있다. 따라서 이항실험 조건을 충족하며, 이 제품 검사에서 불량품의 갯수는 이항확률분포를 갖는다.

예제 3) 코로나 19로 인한 국가 위기에서 2차 긴급재난지원금을 지급해야 하는가에 대한 한 언론사의 성인 대상 여론조사(응답자 1,000명)에서  80%의 응답자가 찬성을, 20%의 응답자가 반대하는 것으로 나타났다. 만일 임의로 성인 10명을 선정했을 때 6명이 찬성할 확률은?

응답자에 관한 다른 정보가 없다면, 어떤 응답자가 찬성이라고 응답할 확률(성공 확률)은 0.8이며, 그것은 그 여론조사에 참여한 모든 응답자에게 동일하다고 가정될 수 있다.  그리고 각 응답자의 응답은 독립 시행으로 간주될 수 있으며, 임의로 10명을 뽑아서 동일한 질문을 물었을 때 찬성한 사람의 수를 구하는 것은 이항실험이며, 찬성한 사람의 수는 확률변수이다. 그리고 그 확률변수는 이항확률분포를 갖는다.

예제 4)  어떤 양궁 선수가 화살을 쏘았을 때 명중할 확률이 0.6이라고 한다. 이 선수가 7번 화살을 쏘았을 때 몇 번이나 명중할까?

현실에서 양궁 선수가 화살을 여러 차례 쏠 경우, 어떤 시행에서 화살의 명중확률은 이전에 쏜 화살이 명중했는가 아닌가에 따라 영향을 받게 될 것이다. 앞선 시행의 결과에 의해 대부분의 선수들이 심리적 영향을 받을 것이기 때문이다.

그런데 다소 비현실적이기는 하지만 앞선 시행 결과의 영향이 없다고 가정하면 독립시행으로 간주될 수 있다. 여기서는 그렇게 가정하자. 그럴 경우 명중(성공) 확률은 0.6으로 일정하다. 이 선수가 7번 화살을 쏜 것은 7번의 독립시행으로 간주될 수 있을 것이며, 명중(성공) 횟수는 확률변수이고, 그것은 이항확률분포를 이룰 것이다.

예제 5) 어느 회사원이 승용차로 출근하는 길에 신호등이 5개 있다고 한다. 각 신호등에서 빨간불에 의해 신호 대기할 확률은 0.2이고, 각 신호등에서 신호 대기 여부는 서로 독립적이라고 가정한다. 어느 날 이 회사원이 5개의 신호등 중 1개의 신호등에서만 신호대기에 걸리고 출근할 확률은?

각 신호등에서 빨간불에 의해 신호 대기할 확률(0.2)은 성공 확률로 간주될 수 있고, 신호등 통과는 독립시행이며, 여러 개의 신호등을 통과하는 데, 몇 번이나 빨간불에 걸리는가는 하나의 이항실험이 될 것이다. 그리고 빨간불에 걸리는 횟수는 확률변수이며, 일정한 갯수의 신호등을 통과하는데 있어 빨간불에 정지당하는 횟수는 이항확률분포를 이룰 것이다.

현실에서 이항분포는 공산품 제조에서 불량품 예측, 영업사원의 제품 판매 예측, 통신망에서 신호의 전달(혹은 실패) 예측, 도로의 분기점에서 자동차의 선회 방향 예측, 임직원의 통근 방법 예측 등 시행의 결과가 두 가지로 나오는 사회 현상에 광범위하게 적용될 수 있다. 이항실험 조건을 충족하는 사회 현상이 많기 때문이다. 더구나 주사위의 예에서 보듯이 시행의 결과가 두 가지 이상일 때도 관심을 갖는 하나의 결과를 중심으로 보면 시행 결과는 항상 두 가지로 나누어 질 수 있다. 따라서 독립시행 조건과 성공확률 불변 조건을 추가로 충족하면 사회현상은 이항확률분포를 적용할 수 있다.

이항실험은 베르누이 시행을 n회 반복한 것이고, 그렇게 해서 얻어진 것이 이항확률분포이다. 확률변수 X가 베르누이 분포를 따르면, 다음과 같이 표시된다.

여기서 B는 Bernoulli의 첫글자, p는 성공확률, 1-p는 실패확률이다. 이것을 일반화하는 함수로 표기하면,

여기서 . X =1은 성공, X=0은 실패.

기대값:

분산:

예컨대, 성공확률이 0.6인 베르누이 분포에서 성공할 확률은 PDF(Probability Density Function, 확률밀도함수: 이산분포의 경우 PMF, Probability Mass Function, 확률질량함수라고도 하지만 여기서는 그냥 PDF로 통일함)를 이용해 아래와 같이 구해진다.

실패할 확률은 아래와 같다.

확률변수 X의 기대값은 0.6, 분산은 0.24이다.

이항확률분포는 통상 로 표기한다. B는 Binomial(이항)의 첫글자이며, n은 베르누이 시행의 횟수, p는 성공확률이다. 확률변수 가 이항확률분포를 가지면 다음과 같이 표시된다.

이항확률분포는 다음과 같이 정의된다. 이항확률분포의 PDF는, 

여기서 는 n회 시행에서 성공의 횟수가 x일 확률; x = 성공횟수; n = 시행 횟수;  p = 각 시행에서 성공이 일어날 확률; 1-p = 각 시행에서 실패가 일어날 확률;

이항확률분포의 기대값과 분산은 다음과 같다.

이항확률분포의 기대값과 분산은 베르누이 분포의 기대값과 분산의 각 n배이다.

이항확률분포에 관한 정의를 가지고 위 예제들을 풀어보자.

예제 풀이

예제 1) 한 개의 주사위를 5회 던질 때 1의 눈이 2회 나올 확률은?

퍼라미터(parameter, 모수)가 n = 5, p = 1/6(0.17)인 이항분포에서 확률변수 X의 값이 2인, 즉, x = 2에 해당되는 확률을 구하는 문제이므로, 위에서 이항분포의 PDF인 식 (5)에 이 세 가지 값을 대입하면 된다.

문제에는 없지만, 한 개의 주사위를 5회 던질 때 1의 눈이 나오는 횟수를 확률변수 X라고 하고 X의 확률분포를 구해보자.

X는 0, 1, 2, 3, 4, 5를 값으로 가질 수 있을 것이다. 즉, 1의 눈이 한번도 나오지 않을 경우(X = 0), 1의 눈이 1회 나오는 경우(X = 1), 1의 눈이 2회 나오는 경우(X = 2), 1의 눈이 3회 나오는 경우(X = 3), 1의 눈이 4회 나오는 경우(X = 4), 그리고 1의 눈이 5회 나오는 경우(X = 5)가 있을 것이다. 확률변수의 각 값에 대한 확률은 다음과 같다.

기대되는 평균값(기대값)은 얼마일까?

이항분포의 기대값을 구하는 공식 (6)에 n = 5, p = 0.17을 대입하면 될 것이다.

이 기대값은 주사위를 5회 던졌을 때 1의 눈이 나오는 횟수가 평균 0.85회 정도라는 의미이다.

분산은?

공식 (7)에 n = 5, p = 0.17, 1-p = 0.83을 대입하면 구해진다.

아래는 MS 엑셀에서 확률분포, 기대값, 분산을 구하고, 확률분포를 그래프로 나타낸 것이다. 엑셀에서 이항확률분포를 구하는 함수는 BINOM.DIST이다. 공식을 이용해서 수작업으로 구한 결과와 엑셀 함수로 구한 결과가 일치한다. 그래프를 보면, 무게중심이 1의 약간 왼쪽에 있음을 알 수 있다. 그것이 기대값 0.85이다.

예제 2) 어느 공장에서 생산되는 제품의 5%가 불량품이다. 이 제품 10개를 검사하였을 때 2개가 불량품일 확률은?

퍼라미터: n = 10, X = 2, p = 0.05

확률변수 X : 10개 검사할 때 불량품의 갯수

엑셀을 이용해서 확률분포, 기대값, 분산을 구하면 다음과 같다.

예제 3) 코로나 19로 인한 국가 위기에서 2차 긴급재난지원금을 지급해야 하는가에 대한 한 언론사의 성인 대상 여론조사(응답자 1,000명)에서  80%의 응답자가 찬성을, 20%의 응답자가 반대하는 것으로 나타났다. 만일 임의로 성인 10명을 선정했을 때 6명이 찬성할 확률은?

이 문제에서 확률변수(X)는 찬성한 사람의 수이다. 퍼라미터는, n = 10, x = 6, p = 0.8. 이 값들을 PDF에 대입하면 답을 구할 수 있다.

엑셀을 이용해서 X의 확률분포, 기대값, 분산을 구하면 아래와 같다.

성공확률이 높으니 확률분포의 왼쪽 꼬리가 길다. 무게 중심은 X = 8에 있다.

예제 4)  어떤 양궁 선수가 화살을 쏘았을 때 명중할 확률이 0.6이라고 한다. 이 선수가 7번 화살을 쏘았을 때 몇 번이나 명중할까?

확률변수 X는 명중 횟수이다. 이항확률분포의 퍼라미터는, n = 7, p = 0.6 일 때 기대값(평균적인 명중 횟수)을 구하는 문제이다.

위에서 공식 (6)에 퍼라미터 값을 대입하면 된다.

즉, 예상되는 명중 횟수는 약 4번이다.

엑셀을 사용해서 확률분포, 기대값, 분산을 구해보자.

예제 5) 어느 회사원이 승용차로 출근하는 길에 신호등이 5개 있다고 한다. 각 신호등에서 빨간불에 의해 신호 대기할 확률은 0.2이고, 각 신호등에서 신호 대기 여부는 서로 독립적이라고 가정한다. 어느 날 이 회사원이 5개의 신호등 중 1개의 신호등에서만 신호대기에 걸리고 출근할 확률은?

이 문제에서는 빨간불 신호대기에 걸린 횟수가 확률변수 X이다. 이항확률분포의 퍼라미터는, n = 5, p = 0.2. 그리고 X = 1. 이 값들을 PDF에 대입하면 아래와 같다.

엑셀을 이용해 확률분포, 기대값, 분산을 구해보자.

빨간불 신호대기에 걸릴 평균적인 횟수(기대값)는 한 번이다. 그래프에서 무게중심도 1임을 알 수 있다.

이상으로 이항(확률)분포에 대한 설명을 마친다. 이항분포의 특성 중 두 가지를 첨언한다면, 이항분포에서 시행 횟수(n)이 크고, 성공확률(p)가 작으면 다음에 살펴 볼 포아송 분포가 되고, 이항분포의 시행 횟수가 많아지면 정규분포에 가까워진다. 그리고 성공확률이 0.5이면, 확률분포 그래프가 기대값을 중심으로 좌우대칭이 된다.

이항분포의 중요성은 아무리 강조해도 부족하다. 확률과 베이즈통계를 위해서는 꼭 기억해 둘 필요가 있다. (2020-08-28)

데이터 강국으로 가는 길(1)

지난 주에 발족한 ‘AI-데이터 얼라이언스’라는 민간 단체의 운영위원장을 맡았다. 두 해 전 모든 공적 활동에서 은퇴했기 때문에 그 자리의 제안을 거절해야 했다.

그러나, 20년 전 전자정부 때가 떠올랐다. 고민하다 결국 미력이라도 보태지 않을 수 없는 상황이라고 판단하고 참여를 결심했다.

정부가 대규모로 추진하는 ‘한국판 뉴딜’ 정책이 성공하려면, 민간 부분에서의 인풋이 필수적이다. 그 정책의 목표가 일자리 창출을 통한 경제회복에 있고, 일자리 창출은 궁극적으로 민간 기업과 기관의 역할이 될 것이기 때문이다.

단체의 핵심 멤버들과 사무국 직원들이 우수해서 내 역할을 최소화할 수 있을 것 같다. 이익 단체를 넘어서 공익을 추구하는 시민적 기구가 될 수 있기를 기원한다.

발족과 동시에 개최한 토론회에서는 좋은 발제와 열띤 토론이 있었다. 그 내용을 사무국이 보고서 형태로 잘 만들었다. 이렇게 해야 어려운 시간을 내서 참석한 분들의 소중한 발언이 헛되지 않을 것이다. 이 문서를 참여자들에게 회람하고 피드백을 받아 수정을 한 다음 최종적으로 함께 공유하고 관계 기관에 전달하게 될 것이다.

보고서의 드래프트를 아래에 공유한다. (2020-07-01)

AI·빅데이터 포럼 Review Report_draft(20200630)_marked

정보에 관한 지식기반 이론

2010년에 발표된 정보에 관한 지식기반 이론(Konwledge-Based Theory of Information, 이하 KBI)은 DIKW 모형을 개념적으로 계승하면서 한 단계 더 나이가 데이터, 정보, 지식 사이의 관계를 정교하게 규정하고 있다. KBI는 지식과 데이터가 상호작용하여 정보를 생성한다는 의미에서 상호작용적 모형(interactive model)이라고도 불린다.

KBI는 정보가 지식과 데이터로부터 생성된다는 인식에서 출발한다. 데이터는 상황에 관한 선결조건(pre-conditions) 혹은 투입값(input values)이며, 그것을 기반으로 정보가 생산된다. 정보는 주어진 상황에서 행위자가 의사결정 혹은 행동의 선택을 가능하게 하는 요소이다.  지식은 데이터로부터 정보가 생산되는 과정 혹은 프레임워크이다(아래 그림 참조).

KBI에서, 데이터는 “객체나 사건에 관한 서술 혹은 측정 결과”이다.  예컨대 “A형 부품이 17개 남아 있다” 혹은 “비가 내리고 있다”가 데이터이다. 이 데이터만으로서는 의사결정이나 행동을 선택하는데 필요한 정보가 생성될 수 없다. 거기에는 반드시 지식이 필요하다.

지식은 “구성물 사이의 관계에 대한 정당화된 진실된 믿음이다(is justified true belief of the relationship between constructs).” 이 정의를 풀어보면, 지식은 믿음의 한 유형인데, 그것은 진실이거나 진실에 접근하는 것이어야 하며,  전문가나 권위자에 의해 인정된 것이어야 한다. 다시 말해, 지식은 객관적으로 검증된 믿음, 권위있는 전문가들에 의해 인정된(혹은 합의된) 믿음이다.

그리고 지식은 구성물 사이의 관계에 대한 믿음이다. 지식의 가장 흔한 형식은 If-Then 짝이다. 예컨대 어떤 새가 백조라면, 그 새는 하얄 것이다라는 명제는 지식이다. 

정보는 지식 프레임워크(framework)를 토대로 데이터로부터 생산된 의미(meaning)이다. 의미란 어떤 경험에 부여된 해석을 말한다. 정보에 의해 선택, 판단, 혹은 불확실성의 감소가 일어난다.

아래 사례들을 보면, 지식, 데이터, 정보에 대한 KBI의 핵심적인 주장이 이해될 것이다.

(사례 1)

지식: 만약 A형의 부품의 재고가 20개 이하이면, 부품 부족을 예방하기 위해 A형의 부품을 주문해야 한다.

데이터: A형의 부품이 17개 남아 있다.

위의 지식과 데이터가 결합되면, A형 부품을 3개 이상 주문해야 한다는 정보가 생성된다. 

(사례 2)

지식: 만약 비가 내리고, 당신이 비를 맞기 싫어한다면, 외출하기 전에 우산을 챙겨야 한다.

데이터: 비가 내리고 있다.

정보: 위 지식과 데이터가 결합되면, 우산을 챙기라는 정보가 생산된다.

 KBI를 자율주행 자동차에 적용해 보면, 우선 자동차는 교통데이터, 도로데이터, 기후데이터, 사건데이터 등을 처리할 수 있는 데이터분석 모형이 필요할 것이다. 그리고 도로 상황, 교통 상황, 기후 상황, 사건 상황에 관한 데이터를 실시간으로 받을 수 있는 센서(sensor)나 네트워크이 필요할 것이다. 데이터 분석 모형은 지식 프레임워크에 해당되고, 센서에서 입력되는 신호는 데이터이다. 데이터 분석 모형이 센서 데이터를 받으면 실시간으로 액츄에이터(actuator)가 행동할 수 있는 정보를 생산할 것이다. 그 기능을 모두 갖춘 AI가 자동차에 내장되면 자율주행 자동차가 만들어 질 것이다.   

참고문헌: Kettinger, William J and Yuan Li (2010). “The infological equation extended: towards conceptual clarity in the relationship between data, information and knowledge,” European Journal of Information Systems, 19(4): 409-421.

데이터과학을 위한 수학 복습(4)

이번에는 미분과 시그마(∑)를 복습하자. 데이터과학에서 미분은 아주 중요하다. 최대값이나 최솟값을 구하는 도구로 사용되기 때문이다. 미분(derivative)이란 어느 순간에 발생하는 변화량이다. 그 변화량이 기울기이다. 미분은 다음과 같이 표시된다.

함수 가 있을 때, 미분의 정의는,

함수 에 대해 미분한다는 의미는, 가 아주 조금 변했을 때 가 얼마나 변했는지를 구한다는 것이다. 1차방정식의 기울기는 다음과 같이 구할 수 있다.

식 (1)과 (2)는 기본적으로 동일한 의미이다. 단지 식 (2)에서 를 0에 가까운 값을 가지게 하면 식(1)과 같이 된다.

과 같이 함수가 상수인 경우, 미분값은 항상 0이다.

그래프로 그려보면, 함수가 상수이면 어느 장소든 기울기가 0이다.

가 상수일 때, 에 대한 간단한 미분 함수는 다음과 같이 정의된다.

예컨대,  를 에 대해 미분하면, 를 에 대해 미분하면, 이다.

함수의 최솟값, 최대값을 찾는 문제에서 미분이 주로 많이 이용된다. 다음과 같은 2차 함수가 있다고하자.

최솟값은 미분함수가 0이 되도록 방정식을 풀면 된다.

그래프에서 보면 함수곡선이 y축과 만나는 점인 (0,1)의 x값이다.

편미분(partial derivative, , 델타): 어떤 함수가 여러 개의 변수를 가질 때 각 변수에 대해 수행하는 미분을 편미분이라고 한다. 편미분의 표시는 다음과 같다.

와 같이 변수가 두 개인 다음 방정식을 보자.

이 식을 에 대해서 편미분하면, 과 4는 과 관계가 없으므로 상수항 취급을 받는다. 따라서 편미분 결과는 다음과 같다.

에 대해서 편미분하면 같은 원리로,

편미분은 중다회귀분석, 딥러닝, 신경망에 사용된다. 미분에 대해 몇 가지 사항을 추가하면,

합성함수의 미분은 연쇄법칙(chain rule)을 따른다. 가 에 대해 미분 가능할 때, 의 도함수는

이를 말로 표현하면, 전체를 미분한 다음 속의 식을 미분하여 곱한다는 것이다. 한 예로 에 대하여 미분해보자.

로 둔다. 그러면 이 된다. 이 때 이므로 이다. 그런데 이므로

이다. 결국 전체식을 미분한 값[]에다 속의 식을 미분한 값[]을 곱한 값이다.

또 하나 기억해 둘만한 식은  이다. 상수가 곱해진 함수의 편미분은 함수를 편미분한 값에 그 상수를 곱한 것과 같다.

데이터과학에서 가장 자주 사용되는 수학 도구는 시그마(∑)이다. 시그마의 성질을 몇 가지만 기억해두자.

이 중 마지막 식만 말로 바꾸면, 시그마(합)의 편미분은 편미분의 시그마(합)이다(Partial derivative of a sum is just the sum of the partial derivatives).

미분과 시그마를 선형회귀에 적용해보자.

회귀식에 의한 예측은 . 오차는 관측값과 회귀방정식에 의한예측값과의 차이 . 최소제곱법에 의하면, 오차제곱의 합(Sum of Squares of Errors, SSE)을 최소화하는 계수(b, a)를 구해야 한다. 그럴려면, SSE을 각 회귀계수(와 절편)에 대하여 미분한 값이 0이 되어야 한다.

먼저 절편 b에 대해 편미분하면,

여기에 시그마의 편미분은 편미분의 시그마라는 공식, 합성함수의 미분은 전체식의 미분 곱하기 속의 식의 미분이라는 공식 등이 적용되었다. 이 식을 정리하면 아래와 같다.

다음 에 대해 편미분하면,

이 식을 정리하면,

(4)와 (5)를 정규방정식(normal equation)이라고 한다. 데이터를 가지고 이 연립방정식을 풀어서 절편과 기울기를 구한다.

이상으로 미분과 시그마에 대한 복습을 마친다. 데이터과학을 수행하다 보면 여기서 복습한 내용보다 더 복잡한 수식이 필요하곤 하지만 그때 그때 인터넷 등을 참고하면 이해할 수 있을 것이다.

데이터과학을 위한 수학복습(3)

벡터에 대한 학습은 이 정도로 마치고 이제 행렬(matrix)에 대해 복습해 보자. 행렬은 벡터의 개념을 확장시켜 일반화한 것이다. 벡터는 행렬의 특수한 경우이다.

아래 사례를 보자. 프로야구 선수 다섯명의 타수 데이터이다.

이 데이터를 행렬로 간단히 표시할 수 있다.

첫 열은 안타, 둘쨋 열은 2루타, 셋째 열은 3루타를 나타낸다. 첫 행은 김선빈, 둘번째 행은 박건우, 셋번째 행은 박민우, 네번째 행은 나성범, 다섯번째 행은 박용택 선수의 기록이다. 각 선수의 안타 기록을 동일한 순서로 나타낸 것이다.

일반적으로 가로 n 줄(n행), 세로 m줄(m열)로, 배열하고 괄호로 묶은 것을 행렬이라고 한다. n행과 m열을 가진 행렬 A의 차원은 이다. 이 행렬은 첨자를 써서 아래와 같이 표현될 수 있다.  이는 행렬의 기본 형식이다.

행렬에는 기억해 둘 몇 가지 종류가 있다.

정방행렬(sqaure matrix): 행과 열의 개수가 같은 행렬로 행렬을 n차 정방행렬이라고 한다.

대각행렬(diagonal matrix): 대각 성분을 제외한 나머지 값들이 모두 0인 정방행렬. 특히 대각 성분이 모두 1인 행렬을 단위행렬(identity matrix)라고 하며, E 혹은 I로 쓰고 다음과 같이 정의한다.

단위행렬은 숫자 1과 같은 의미로 해석.  단위행렬과  단위행렬은 다음과 같이 쓸 수 있다.

영행렬(zero matrix): 행렬의 모든 성분이 0인 행렬을 영행렬이라고 하고, 알파벳 O를 써서 다음과 같이 표현한다. 수학에서 0과 같은 의미이다.

전치행렬(transpose matrix): 행렬의 행과 열을 바꾼 행렬을 의미한다. A의 전치행렬은  혹은 으로 표시한다.

엑셀에서 전치행렬 만들기 함수는 

엑셀에서 아래의 야구선수 데이터로 전치행렬을 만들어 본다.

엑셀에서 행렬 처리는 일반 숫자의 처리와 두 가지 점이 다르다. 반드시 먼저 행렬이 들어갈 범위를 선택해 주어야 한다(여기서 G2:L5). 그런 다음 수식(여기서 =TRANSPOSE(A1:D6))을 입력한다. 수식의 입력이 끝나고 나면 [Shift]+[Ctrl]+[Enter]을 눌러야 한다. 그냥 [Enter]를 누르면 오류가 발생한다.

행렬의 덧셈과 뺄셈은 다음과 같이 수행한다.

 라고 정의한다면,

행렬의 곱셈:

행벡터 와 열벡터 를 다음과 같이 정의한다면,

는 다음과 같이 계산된다.

라고 정의한다면,

행렬 A의 차원은 이며, 행렬 B의 차원은 이다. 두 행렬의 곱 C는 행벡터와 열벡터의 곱셈이 4번 반복되며,  차원의 행렬이 된다. 새 행렬 C는 A 행렬의 행  B 행렬의 열의 차원을 갖게 된다. 이점은 잘 기억해두어야 한다. 엑셀에서 행렬 연산시 계산 결과의 범위를 사전에 선택해야 하는데 그 때 사용된다.

행렬의 곱셈이 성립하기 위해서는 조건이 있다. 앞의 행렬의 열과 뒤의 행렬의 행의 차원이 같아야 한다.

엑셀에서 행렬의 곱셈을 지원하는 함수로 가 있다.

행렬의 곱셈에는 교환법칙이 성립하지 않는다(). 결합법칙과 분배법칙은 성립한다.

위 그림에서 보듯이 엑셀에서 행렬 연산을 손쉽게 수행할 수 있다.

라고 하면,

A+B는 먼저 연산 결과가 들어갈 곳에 범위를 선택한다(A22:C24). 그 다음 수식 =A15:C17+F15:H17를 입력한다. 그리고 [Shift], [Ctrl], [Enter]을 동시에 누르면 결과 값 을 얻는다.

AB는 연산 결과가 들어갈 곳인 F23:H25를 선택한다. 그 다음 수식 =MMULT(A15:C17,F15:H17)을 입력하고, Shift, Ctrl, Enter을 동시에 누르면 결과 값인 를 얻는다. 그런데 만약 BA를 동일한 방법으로 구하면, 

를 얻는다. 임을 확인할 수 있다. 즉, 교환법칙이 성립하지 않는 것이다. 그림에서처럼 (AB)C와 A(BC)를 구해보면 두 결과가 동일하다. 즉, 결합법칙이 성립함을 알 수 있다. 유사한 방법으로 분배법칙이 성립함을 확인해 볼 수 있을 것이다.

역행렬(inverse matrix): 행렬 연산에 나눗셈은 없고 대신 역행렬이 있다. 행렬 A가 있을 때 역행렬은 다음과 같이 정의된다.

여기서 행렬 I는 단위행렬이다. 단위행렬은 일반적으로 숫자 1과 같이 해석된다. 위 식을 만족시키면 B는 A의 역행렬이며, 다음과 같이 표시한다.

이 역행렬은 으로 이루어지는 정방행렬에서만 계산 가능하다. 엑셀 함수는 이다.

행렬곱의 역행렬은 각 역행렬을 반대로 곱한 것이다.

연립방정식의 행렬의 이항을 가지고 역행렬의 쓰임새를 살펴보면,

행렬식(determinant)이 0이 아닐 때 역행렬이 존재한다.

엑셀에서 행렬식의 함수는 이며, 역행렬을 가지는 행렬을 가역행렬(혹은 정칙)이라고 하고 역행렬을 가지지 않은 행렬을 비가역행렬이라고 한다.

일반적으로 이원일차연립방정식

(a, b는 동시에 0이 아니고, c와 d도 동시에 0이 아님)에서 이라고 놓으면 주어진 방정식은 다음과 같이 된다.

엑셀을 가지고 살펴보자. 먼저 한 행렬에 어떤 행렬을 곱해서 단위행렬이 나오는 그 어떤 행렬을 역행렬이다.

위 그림에서 행렬 A 의 역행렬을 구하려면,  결과가 들어갈 곳의 범위 E3:G5를 선택하고, =MINVERSE(A3:A4)를 입력한 후 Shift, Ctrl, Enter를 동시에 누른다. A의 역행렬 B 가 생성된다. B가 A의 역행렬임을 확인하기 위해 AB를 구하니 를 얻었다. 단위행렬이다. B가 A의 역행렬임이 확인되었다.

연산에 역행렬을 응용하려면 먼저 행렬식을 구해서 역행렬이 존재하는가를 확인해야 한다. 그림의 예 는 연립방정식

을 행렬로 표시한 것이다. 양변에 의 역행렬을 곱해주면 x, y의 값을 구할 수 있는데, 먼저  의 행렬식이 0이 아님을 확인해야 한다. 행렬식을 구하려면, 먼저 결과가 들어갈 자리를 지정하고(H9), =MDETERM(C9:D10)을 입력한 다음 Enter를 누른다. 행렬식 값이 1이므로 역행렬이 존재한다. 이제   의 역행렬을 구한다. 결과가 들어갈 자리를 지정(C14:D15),  수식 =MINVERSE(C9:D10)을 입력한 다음 Shfit, Ctrl, Enter를 누른다. 그러면 역행렬 가 생성된다. 그것을  양변에 곱해준다. 좌변은 단위행렬이니 표시할 필요가 없고, 우변은 을 얻는다. 즉, 이다.

좌표변환과 행렬: 임의의 숫자에 어떤 특수한 행렬을 곱하면 값이 변하는데 이것을 기하학적인 의미로 좌표변환이라고 한다. 행렬을 곱하면 좌표가 변환되며, 역행렬을 곱하면 원래의 좌표로 돌아간다. 아래 그림에 X축 대칭이동, Y 축 대칭이동, 원점 대칭이동의 사례가 나와 있다.

x, y 좌표상의 점 (-1,-1)을 행렬로 표시하면 ,  을 거기에 곱하면(순서에 유의할 것!), 즉,  . 즉, 원점 대칭 이동된 점 (1,1)을 얻는다. 이번에는  을 곱하면, . 즉, x축 대칭이동된 점 (-1,1)을 얻는다.  그리고 을 곱하면, . 즉, y축 대칭이동된 점 (1,-1)을 얻는다.

끝으로 벡터와 행렬에서 아마도 꼭 언급하고 넘어가야 할 개념 중 하나는 고유값(eigen value)고유벡터(eigen vector)이다.

임의의 행렬 K가 ()인 n 차 정방행렬일 때 아래 식을 만족시키는 0이 아닌 벡터 와 정수 λ가 존재할 때 λ를 행렬 K의 고유값이라고 하고, 벡터 를 고유벡터라고 한다.

기하학적으로 고유벡터는 독특한 성질을 갖는다. 고유벡터는 선형변환 과정에서 회전시키더라도(위 식에서 정방행렬 K를 곱한 조치) 그 벡터가 위치한 선(line)상에서 일탈하지 않는다(즉, 크기만 변할 뿐 방향이 변하지 않는다: 위식의 우변에서 고유벡터가 스칼라인 λ 배 만큼 변했다).

위 그림에서 행렬 의 고유벡터는 이고 고유값은 3이다.  인데, 은 의 결과이다. 이나  같은 다른 벡터를 곱하면 그런 결과가 얻어지지 않는다.

데이터과학에서는 그러한 특성을 지닌 고유값과 고유벡터를 활용해서 소위 주성분분석(Principal Component Aanalysis, PCA)을 수행하곤 한다. 데이터과학자는 주성분 분석을 통해서 데이터의 차원을 축소하거나 숨겨진 변수를 찾아낸다.

주성분 분석에서는 변수들의 상관행렬(이것은 항상 정방행렬이다)을 위 식의 K에 대입한다. 상관행렬(표준화된 공분산 행렬)을 R이라고 하자.

λ가 스칼라(수)이기 때문에 단위행렬(I)을 곱해서 R과 동일한 정방행렬을 만들어 주었다. 이라는 조건 아래에서 이 등식이 성립하려면 이 역행렬을 갖지 않아야 한다. 즉,  비가역행렬이어야 한다. 그럴려면 그것의 행렬식이 0이어야 한다.

(만약 역행렬을 가지면 아래처럼 되어 고유벡터 가 영행렬이 되어야 해서 라는 정의에 위배된다.)

기하학적으로 행렬식은 선형변환 결과 얻어진 행렬의 면적을 나타낸다. 행렬식이 0이라는 것은 정방행렬을 구성하는 두 요소(변수)가 정확히 한 선 위에 모두 올라오도록 변환됨을 의미한다. 즉, 면적이 0이 된다는 것이다. 행렬식이 0이 되면, 두 벡터의 방향이 정확히 겹쳐지면서 평면의 벡터공간이 하나의 직선이 된다. 차원축소는 고유벡터의 바로 이 성질을 이용한다. 주성분 분석에 관해서는 별도로 포스팅할 예정이다.

벡터와 행렬에 관해서는 이 정도로 복습을 마치기로 하자.

데이터과학을 위한 수학복습(2)

이번에는 벡터의 내적(inner product)에 관해 알아보자.

원점 O에서  와 같은 벡터 를 만들 때 를 벡터 가 이루는 각이라고 한다.

 

일 때, 벡터 와 벡터 는 수직이라고 하며 기호 로 나타낸다.

벡터의 시작점을 원점으로 할 때 벡터의 끝점의 좌표를 벡터의 성분이라고 하며,

 혹은 로 표시한다. 이 때 벡터 의 크기(길이)는 ,  의 크기는 이다. 이 크기를 벡터의 노름(norm)이라고도 한다.

이 경우 벡터의 내적(혹은 스칼라적)은 다음과 같이 정의된다.

두 벡터의 크기(벡터의 크기는 절대값 기호로 나타냄)의 곱에 사이각의 코사인 값을 곱한 것이다. 기호로는  또는 로 나타낸다. 즉,

벡터의 내적은 아래와 같이 벡터의 성분을 사용하여 나타낼 수 있다.

평면벡터 에 대하여

그리고 내적의 정의에 의하여

두 벡터 사이 각의 코사인 값은 두 벡터의 내적을 두 벡터의 크기의 곱으로 나눈 값이다. 영벡터가 아닌 두 벡터 의 내적이 0이면, 두 벡터는 직교(orthogonal)한다(혹은 수직이다)고 말하고 라고 표시한다.

이 코사인 값은 두 벡터의 상관성을 측정하는 코사인 유사도(cosine similarity)라는 척도에 바로 적용된다. 온라인 서점의 예를 보자.

위 그림에서 사용자 1은 책을 {B,C,B} 순으로 살펴보았고, 사용자 2는 책을 {C,A,B} 순으로 살펴보았을 때, 만약 사용자 3이 들어와서 책 A를 살펴보고 있다면, 그에게 어떤 책을 추천하면 좋을까?

온라인 서점은 사용자들의 클릭 혹은 검색 행태에 관한 데이터를 가지고 책들 사이의 상관성을 파악해 둔다. 그리고 만약 어떤 새로운 사용자가 들어와서 특정한 책을 살표보면 온라인 서점(의 컴퓨터)는 그 책과 상관성이 가장 높은 책(들)을 추천한다. 그 때 코사인 유사도가 사용될 수 있다.

온라인 서점은 사용자들의 검색 데이터를 가지고 품목(책) 대 품목(책) 행렬을  구한다. 그러면 각 책은 행벡터를 갖게 된다. 책 A는  , 책 B는  등의 행벡터를 갖는다. 그러면 책 A와 책 B 사이의 코사인 유사도는 위에서 소개한 사이각의 코사인 값을 구하는 공식으로 계산될 수 있다.

여기서 분자인 의 내적은 (0*1 + 1*0 + 1*2 + 0*0) = 2이다. 분모인 두 벡터의 크기와 크기의 곱은 아래와 같다.

따라서  책 A와 책 B의 코사인 유사도는,

다른 두 책들 사이의 코사인 유사도도 동일한 방법으로 계산할 수 있다. 온라인 서점의 컴퓨터는 책 A와 코사인 유사도가 가장 큰 책을 추천할 것이다.