확률변수와 확률분포

기초수학 2013. 2. 19. 16:09

1.확률변수(random variable), RV

확률실험 결과 하나하나를 수치로 대응시키는 함수

 

몇 가지 예제를 통해 이해해보자.

 

ex1] 두 개의 동전을 전지는 화률실험에서 앞면이 낭는 횟수의 규칙으로 만들어지는 확률변수 X의 x는 {0, 1, 2}

 

앞면이 0회, 1회, 2회 나오는 확률은 각각 1/4, 1/2, 1/4가 된다. 왜냐하면 앞면이 0회나오는 사건은(T, T)의 1가지 경우, 앞면이 1회 나오는 사건은 (H, T),(T, H)의 2가지 경우, 앞면이 2회 나오는 사건은(H, H)의 1가지 경우로 이루어지고 있기 때문이다. 이 때에 앞면이 0회, 1회, 2회 나오는 사건을 동등하다고 생각하여 각각 1/3, 1/3, 1/3으로 생각해서는 안된다.

 

ex2] 1개의 동전을 2회 던지는 시행에서 쌍을 관찰할 때

 

ex3] 주사위를 던지는 실험, 결과값이 숫자인 경우는 표본 공간의 원소값과 대응값을 동일하게 정의

ex4] 두 개의 주사위 위에 있는 점들의 합의 규칙으로 만들어지는 확률변수 X의 값 x는{2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}

-표본 공간: S={2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}

 

example5] 학생들의 키를 측정하는 실험(조사), "50kg 보다 크고 60kg보다 작은 몸무게에 관심이 있을 때

-표본 공간:

-확률변수  x 는 각 학생들의 키의 측정치이다.

 

 

 

패턴인식 문제에서 대상 객체를 감지하여 받아들이는 과정을 랜덤시행이라고 할 수 있으며, 특징 벡터는 어떠한 척도에 따라 관측한 수치적 속성에 해당한다고 할 수 있다.

예를 들어, 영공에 침범한 적의 항공기를 인식하고자 할 때, 항공기의 모양을 결정하는 파라미터들을 측정하고, 이를 확률변수로 정의할 수 있다.

그림과 같이 확률변수 X는 랜덤시행의 표본공간에서 매 출력에 대하여 실수 X()를 할당하는 함수로 정의할 수 있다. 그러므로 이 함수 X()는 표본공간상의 가능한 모든 요소로부터 확률변수 값인 실선(실수)상의 임의의 점으로 매핑된다. 그리고 매 출력에 값들을 할당하는 함수는 결정적으로 고정되어 있으며, 주사위를 굴린 후의 결과값과 같이 이산확률변수인 경우와 샘플을 취한 개인의 몸무게와 같이 연속확률변수인 경우가 있다.

 

 

2.확률분포(probability distribution)

 수치로 대응된 확률변수의 개별 값들이 갖는 확률값의 분포

 

ex1]의 경우는 확률변수 X가 x의 값을 가질 확률P(X=x) 혹은 p(x)라고 표시하고, 다음과 같은 확률분포표가 만들어 질 것이다.


 

example1] 동전을 2개 던지는 실험, 앞면이 나오는 횟수에 대한 확률분포표

 

 0

 1

 2

 

 1/4

 (1/4)+(1/4)=2/4, 1/2

 1/4

 example2] 주사위를 2개 던지는 실험, 두 개의 주사위 위에 있는 점들의 합에 대한 확률분포료

 

 2

 3

 4

5

6

10 

11 

12 

 1/36

 2/36

 3/36  4/36  5/36  6/36  5/36  4/36  3/36  2/36  1/36

 

그리고 확률변수가 취할 수 있는 구체적인 값 하나 하나를 확률공간상의 확률값으로 할당해 주는 함수를 확률분포함수 혹은 확률함수하고 한다.

 

3.확률함수의 종류

확률변수가 이산확률변수면 이산적인 확률분포를 가지며, 그 분포는 확률질량함수(pmf)에 따른다

만약 연속확률변수면 연속적인 확률분포를 가지며 그 분포는 확률밀도함수(pdf)에 따른다. 확률함수에는 누적분포함수,(pcf), 확률밀도함수(pdf), 확률질량함수(pmf)가 있다.

 

1)누적분포함수(cdf, cumulative distribution function)

그림(a)연속확률변수 X의 누적분포함수

그림(b)이산확률변수 X의 누적분포함수

 

누적분포함수의 성질

1. 항상 0에서 1사이의 값만을 가질 수 있다.

2. x의 값이 커짐에 따라 증가하는 증가 함수이다.

3. 확률변수 X의 값이 어떤 구간안에 속할 확률은  cdf값의 차이와 같다.

 

연속이든 이산이든 상관없이 성립한다.

 

연속확률변수

어떤 확률변수 X의 cdf가 연속함수일 때 X는 연속확률변수이다. 

 

이산확률변수에서의 cdf는 일종의 계단형태의 모양을 가지게 된다.

특정 point에서 cdf값이 한번에 뛰어 오르기 때문에 연속한다고 하기 어렵다.

반면, 연속확률변수의 그래프는 직선 혹은 곡선, 혹은 두가지 복합된 형태로 나타날 수 있다.

계단 형태가 나온다면 최소한 연속확률변수라고 부르기 어렵다. 

 

ex1]

 

cdf 그래프로 나타내 보면 위와 같이 그릴 수 있다.

아래의 식으로 표현할 수 있다.

 

 


2)확률밀도함수(pdf, probability density function)

 

-확률밀도함수는 확률변수 X가 특정한 값 a와 b사이에 있을 확률, 즉 P(a<X<b) 값을 계산하는데 사용될 수 있다.

 

확률밀도함수의 성질

-확률밀도함수는 항상 0보다 큰값을 가진다.

-확률밀도함수를 x가 가질 수 있는 모든 값의 범위에서 적분하면 1이 된다.

 

 확률밀도함수

몸무게에 대한 확률밀도함수가 그림과 같이 주어질 때, 몸무게가 46에서 90사이에 있을 확률은 색칠된 영역의 면적에 해당된다.


3)확률질량함수(pmf, probability mass function)

이산확률변수 X의 확률질량함수는 다음과 같이 정의된다.

단, P(X=x)는 X가 x가 될 확률을 말한다.

 

확률질량함수는 어던 이산확률변수 X에 대한 확률모델이다.

즉, 표본공간을 구성하는 각각의 결과마다 어떤 확률을 부여한 것이다.

 

예를 들어, 앞면이 나올 확률이 0.8, 뒷면이 나올 확률이 0.2인 동전이 있다고 하자.

표본공간은 S={H, T}라고 하자. 이 확률실험를 확률변수 X로 나타내면, X는 앞 또는 뒤 둘 중 하나의 값을 가질 수 있다.

그러면 이 확률변수 X의 확률질량함수는 다음과 같이 정의할 수 있다.

주의할 것은 H와 T이외의 것이 아노는 것에 대해서는 확률이 0 이라고 표시를 해 주어야 한다.

값 H와 T에 각각 0.8과 0.2의 확률이 부여됐다.

또한 0.8, 0.2와 같은 숫자대신 확률변수 X가 가질 수 있는 값에 대한 관계식으로 함수를 표현할 수도 있다.


4.확률변수의 통계량

 

1)기대값(확률변수의 평균)

-일반 데이터의 성질을 표본 성질이라고 하는데, 확률분포의 성질은 모델 또는 모집단 성질이라고 한다

확률변수의 평균과 분산은 일반 데이터에 대한 평균()및 분산()과 구별하기 위해 모집단의 평균으로

를, 모집단의 표준편차로 를 사용한다.

 

일반적인 표본 평균은

만약 X의 모든 값들의 범위를  x라고 할 때, 를 x값을 가진 데이터점의 수라고 하자. 그러므로 위의 표본 평균은 이 되고, 여기서 는 상대도수가 된다. n값을 증가시키면 통계적 확률, 즉 근사 확률 p(x)에 접근하게 된다.

 

그러므로 이 되고, 이 식을 X의 기대값(expectation)이라고 한다.

연속확률변수인 경우는:

 

2)분산과 표쥰푠처

연속확률변수인 경우는:

 

참조:

1. 패턴인식 개론, 한빛미디어

2.http://blog.daum.net/gongdjn/62


반응형

'기초수학' 카테고리의 다른 글

기초 통계와 확률 이론  (0) 2013.02.06
[선형 대수학]벡터와 행렬  (0) 2013.02.06

Opencv 2.4.3 tutorials

자료실 2013. 2. 19. 15:18
반응형

[OpenCV #5]cv::Mat 클래스,복사,픽셀 접근

OpenCV/example 2013. 2. 19. 14:01

Mat 클래스의 객체 정의

 

기본적으로 0x0의 크기를 갖는 영상 정의

#include<opencv\cv.h>

#include<opencv\highgui.h>

using namespace cv;
using namespace std;
int main()
{
 Mat image;
 
 cout<<"size:"<<image.size().height<<","<<image.size().width<<endl;
 
 return 0;

}

 

기본적으로 0x0의 크기를 갖지만, 초기 크기를 지정할 수 있다.

이미지 가로 세로, 값 0~255(8U = unsigned 8bit), graysccale(C1,1-channel)

 

#include<opencv\cv.h>
#include<opencv\highgui.h>

using namespace cv;
using namespace std;
int main()
{
 int w=150,h=100;
 Mat image(h,w,CV_8UC1);
 
 cout<<"size:"<<image.size().height<<","<<image.size().width<<endl;
 
 return 0;

}

 

그리고 색상 지정 및 이미지 보기

 

#include<opencv\cv.h>
#include<opencv\highgui.h>

using namespace cv;
using namespace std;
int main()
{
 int w=150,h=100;
 Mat image(h,w,CV_8UC1,Scalar(255));
 
 cout<<"size:"<<image.size().height<<","<<image.size().width<<endl;
 imshow("image",image);
 waitKey(0);
 return 0;

}

1-channel with the floating-point value(32F = float 32bit)

Mat imageFloat(h,w,CV_32FC1);

Scalar(255)

3-channel image with values 0~255 for each channel

Mat imageRGB(h,w,CV_8UC3)

Scalar(0,0,255)

 

Mat 클래스의 복사본

//colne() or copyTo() 복사함수

Mat B=image.clone();  //새로운 복사본 생성* colne()

 

Mat B;
image.copyTo(B); //* copyTo()

Mat B=image; //같은 데이터를 참조하는 두 영상

 

#include<opencv\cv.h>
#include<opencv\highgui.h>

using namespace cv;
using namespace std;
int main()
{

 Mat image = imread("sistar.jpg",0); //Load image form disk
 if(!image.data) return -1; //Check image
 
 //Mat B=image.clone(); //새로운 복사본 생성
 Mat B=image; //같은 데이터를 참조하는 두 영상
 threshold(B, B, 100, 255, CV_THRESH_BINARY);

 imshow("sistar", image); //Show image
 imshow("B", B); //Show image
 waitKey(0); //Wait for keystroke
 return 0;

} 

 

관심 영역 자르기

#include<opencv\cv.h>
#include<opencv\highgui.h>

using namespace cv;
using namespace std;
int main()
{

 Mat image = imread("sistar.jpg"); //Load image form disk
 if(!image.data) return -1; //Check image
 
 Rect rect(100,30,150,300);
 Mat subimage=image(rect);
 imshow("sistarROI",subimage); //Show image
 
 waitKey(0); //Wait for keystroke
 return 0;

}

 

//if you want to copy data:

image(rect).copyTo(subimage);

 

이미지 픽셀 접근하기

 

at을 이용한 1-채널 이미지 픽셀에 접근

//Get values

int value = image.at<uchar>(y,x);

//Set tje values

image.at<uchar>(y,x) = 100;

at을 이용한 3-채널 이미지 픽셀에 접근

//Get values

int value = image.at<Vec3b>(y,x)[c];

//Set tje values

image.at<Vec3b>(y,x)[c] = 100;

 

응용(영상 밝기 조정)

 

 

#include<opencv\cv.h>
#include<opencv\highgui.h>

using namespace cv;
using namespace std;
int main()
{
 double alpha=1.0;//1.0~3.0
 int beta=50;//0~100
 Mat image = imread("sistar.jpg"); //Load image form disk
 Mat new_image = Mat::zeros(image.size(),image.type());
 if(!image.data) return -1; //Check image
 
 
 for(int y = 0; y < image.rows; y++)
 {
  for(int x = 0;x < image.cols; x++)
  {
   for(int c = 0; c < 3; c++)
   {
    new_image.at<Vec3b>(y,x)[c]=
     saturate_cast<uchar>(alpha * (image.at<Vec3b>(y,x)[c]) + beta);
   }
  }
 }
 imshow("sistar",new_image); //Show image
 
 waitKey(0); //Wait for keystroke
 return 0;

}


반응형

'OpenCV > example' 카테고리의 다른 글

[OpenCV #7]이진 영상 변환(threshold)  (0) 2013.03.04
[OpenCV #6]split and merge  (0) 2013.02.20
[OpenCV #4]관심 영역  (0) 2013.02.14
[OpenCV #3]Threshold  (0) 2013.02.14
[OpenCV #2]이미지에서 RGB 채널 분리  (1) 2013.02.14

[OpenCV #4]관심 영역

OpenCV/example 2013. 2. 14. 19:19

1.관심 영역

2.Project.cpp

#include<opencv\cv.h>
#include<opencv\highgui.h>

using namespace cv;

int main()
{
     Mat image = imread("sistar.jpg"); //Load image form disk
     if(!image.data) return -1; //Check image
     //Cut of picture
     Rect rect = Rect(100, 30, 500, 100); //Rectangle cut
     Mat image3;
     image(rect).copyTo(image3); //Copy of the image

     //Change the part of the picture inside the picture
     image(rect) *= 2;
     imshow("image changed", image);
 
     waitKey(0); //Wait for keystroke
     return 0;

}


반응형

'OpenCV > example' 카테고리의 다른 글

[OpenCV #6]split and merge  (0) 2013.02.20
[OpenCV #5]cv::Mat 클래스,복사,픽셀 접근  (0) 2013.02.19
[OpenCV #3]Threshold  (0) 2013.02.14
[OpenCV #2]이미지에서 RGB 채널 분리  (1) 2013.02.14
[OpenCV #1]이미지 출력  (0) 2013.02.14

[OpenCV #3]Threshold

OpenCV/example 2013. 2. 14. 19:09

1.Threshold

2.Project.cpp

#include <opencv2/core/core.hpp>

#include <opencv2/highgui/highgui.hpp>

using namespace cv;

int main()
{
     Mat image = imread("sistar.jpg"); //Load image form disk
     if(!image.data) return -1; //Check image
     //Split the original image into three channels
     //channels[0],channels[1],channels[2]
     vector<Mat> channels;
     split(image, channels);

Mat image2;
threshold(channels[0], image2, 100, 255, CV_THRESH_BINARY);
imshow("Threadholded", image2);
waitKey(0); //Wait for keystroke
return 0;

}


반응형

[OpenCV #2]이미지에서 RGB 채널 분리

OpenCV/example 2013. 2. 14. 18:42

1.Allocation of channels Red, Green,  Blud

2.Project.cpp

#include <opencv2/core/core.hpp>

#include <opencv2/highgui/highgui.hpp>

using namespace cv;


void main() {


Mat image = imread("sistar.jpg"); //Load image form disk
if(!image.data) exit(1); //Check image
//Split the original image into three channels
//channels[0],channels[1],channels[2]
vector<Mat> channels;

split(image, channels); //Partition image into three channel planes

imshow("Red", channels[2]);

imshow("Green", channels[1]);

imshow("Blue", channels[0]);

waitKey(0); //Wait for keystroke


}


반응형

'OpenCV > example' 카테고리의 다른 글

[OpenCV #4]관심 영역  (0) 2013.02.14
[OpenCV #3]Threshold  (0) 2013.02.14
[OpenCV #1]이미지 출력  (0) 2013.02.14
[OpenCV]프로젝트 속성시트 가져오기[Tip]  (0) 2013.02.08
[OpenCV]Opencv 2.4.3 설치와 설정하기  (2) 2013.02.07

[OpenCV #1]이미지 출력

OpenCV/example 2013. 2. 14. 17:27

1. 이미지 출력화면

2.Project.cpp

반응형

[OpenCV]프로젝트 속성시트 가져오기[Tip]

OpenCV/example 2013. 2. 8. 16:21

OpenCV 설정을 매번 프로젝트 마다 설정하기 귀찮습니다. 그래서 해결방법으로 프로젝트 속성시트를 가져오는 방법으로 미리 정의된 설정을 가져올 수 있습니다.즉, 한번 설정을 해 놓으면 그 설정을 불러서 사용할 수 있습니다. (이러한 번거로움을 줄이기 위해 Visual C++에서는 속성시트 형태로 만들어서 설정을 저장을 할 수 있게 하였습니다. )

 

1)새 프로젝트를 만들기 

 

2)Property Manager(속성 관리자)에서 'Debug|Win32'부분을 마우스 오른쪽 클릭을 하여 Add Existing Property Sheet(기존 속성 시트추가) 를 클릭

 3)가져올 설정 프로젝트 속성 시트를 선택하고 확인

처음 설정을 잡았던 프로젝트 폴더로 들어가면, 전에 새로 추가를 했던 프로젝트 속성 시트 'OpenCV_Debug'가 보일겁니다.

'OpenCV_Debug'가 추가 된것을 확인을 할 수 있습니다. 이걸로 설정 끝~

 

64bit 사용자는 빌드전 플렛폼 설정을 이전에 했던 방법으로 64bit로 바꾼뒤 빌드하시면 됩니다.

반응형

'OpenCV > example' 카테고리의 다른 글

[OpenCV #4]관심 영역  (0) 2013.02.14
[OpenCV #3]Threshold  (0) 2013.02.14
[OpenCV #2]이미지에서 RGB 채널 분리  (1) 2013.02.14
[OpenCV #1]이미지 출력  (0) 2013.02.14
[OpenCV]Opencv 2.4.3 설치와 설정하기  (2) 2013.02.07

[OpenCV]Opencv 2.4.3 설치와 설정하기

OpenCV/example 2013. 2. 7. 23:31

먼저 OpenCV 는 컴퓨터 비전 라이브러리입니다.영상 처리 분야에서 널리 사용되고 있고,

원래 OpenCV 는 인텔에서 먼저 개발이 되기 시작을 했는데, 현제는 인텔 주도로 개발이 되지 않습니다.

버전은 약 1년에 1회씩 진행이 되고, 2012년 12월 기준으로는 OpenCV 2.4.3버전이 최신입니다.

 

2.3버전 부터는 이미 빌드되어 있다.// Cmake파일 다운 받아 빌드 할 필요 없다. 바로 사용할 수 있다.

64bit Window7에서 visual studio 2010로 Opencv 2.4.3 설치와 설정하기

 

1.우선 OpenCV를 다운로드 받습니다

주소 : http://sourceforge.net/projects/opencvlibrary

 

파일을 클릭하면 최신 파일을 받을 수 있습니다.

※opencv-win클릭하면 버전별로 다운 받아보실 수 있습니다.

 

2.다운 받은 파일을 실행시켜 빌드 파일을 얻습니다

파일을 실행시켜보면 아래와 같이 되어 있습니다.

 

build폴더 안에 필요한 파일들이 있습니다.

[참고] [x64] - 64비트,[x86] - 32비트, [vc9] - Visual Studio 2008, [vc10] - Visual Studio 2010

저는 필요한 파일들만 C:\에 Opencv2폴더를 생성하고, 64비트,VS2010에 맡는 필요한 파일들을 복사해서 붙여 넣었습니다.(아래 그림 처럼)

 

3)Visual Studio 2010에 설정하기

32bit 버전은 설정방법에 비해 64bit 버전은 좀더 신경 써줘야 합니다.


먼저, 고급 시스템 설정에서 환경변수->시스템 변수 편집을 해줍니다.

bin 파일 결로 지정

 VS2010 실행.

 

New project -> 'C++-> Win32 Console Application' 상태에서 생성.

 

empty project 생성.

 

View-> Property Manager(속성 관리자)를 선택합니다.

 

 그럼처럼 'Debug|Win32'에 마우스커서를 대고 오른쪽 클릭 하여 Add New Project Property Sheet를 해줍니다.

 

그림처럼 Property Sheet(속성 시트)를 볼 수 있습니다. 적절한 이름을 (OpenCV_Debug)적고 추가를 시킵니다.

 

OpenCV_Debug이 목록에 추가 된것을 볼 수 있습니다.

더블클릭하거나 마우스 오른쪽 클릭을 하여 Property(속성)엽니다.

 

C/C++ 목록->General을 선택하고, Additional Include Directories 에 편집창에 아래의 경로를 입력하고 확인.

 

Linker 목록->General를 선택하고, Additional Library Directories 에 편집창에 아래의 경로를 입력하고 확인

 

Linker 목록->Input를 선택하고, Additional Dependencies에 편집창에 아래의 라이브러리파일들 입력하고 확인

 

이제 설정은 대략 끝났습니다.

 

소스코드 창 만들어 봅시다

 

Hello.cpp 파일을 생성합니다.

 

64bit 사용자는 바로 실행이 안될 겁니다 아래 그림처럼 fatal error LNK1112 에러 메세지가 뜹니다.

 

속성 페이지에서 아래의 그림에 화살표부분을 보면 'MACHINE:X84'되어 있는 것이 원인

여기서는 수정을 할 수 없습니다.

 

해결방법은 플랫폼을 추가 시켜주면 됩니다.

Debug 옆 Win32의 선택바를 클릭해서 Configuration Manager(구성 관리자) 클릭.

 

 

Configuration Manager(구성 관리자) 화면에서 플렛폼의 'win32'클릭한후 <New>를 클릭하여 새 플렛폼을 'X64'로 한뒤 확인.

 

이제 다시 실행 시켜 보면 정상적으로 실행되는 것을 알 수 있습니다.

 

이것으로 Opencv 2.4.3 설치부터 설정까지 끝이 났습니다.새해복많이받으세요

 

참조:

http://karl27.blog.me/20175449725

반응형

'OpenCV > example' 카테고리의 다른 글

[OpenCV #4]관심 영역  (0) 2013.02.14
[OpenCV #3]Threshold  (0) 2013.02.14
[OpenCV #2]이미지에서 RGB 채널 분리  (1) 2013.02.14
[OpenCV #1]이미지 출력  (0) 2013.02.14
[OpenCV]프로젝트 속성시트 가져오기[Tip]  (0) 2013.02.08

기초 통계와 확률 이론

기초수학 2013. 2. 6. 17:59

통계를 이용하면 통계적인 특성이 있는 표본을 숫자로 표현하고 설명할 수 있다. 즉 표본에 대한 통계적인 분석을 통하여 통계적 파라미터를 추정하고, 그 표본의 특징을 표현할 수 있다.


창원대학생들의 키를 조사한다고 가정해면,


이 때 표본으로 몇몇 학생들의 키를 재어 보았다.

153cm, 167cm, 178cm, 181cm가 나왔다고 가정해보자.

이 때 우리는 다른 사람들에게 우리가 추출한 표본의 특징에 대해서 설명해줄 필요가 있다.

이 때 사용할 수 있는 것이 표본의 평균과 분산이다.


학생들의 표본은 다음과 같이 표현해 볼 수 있다.



평균(mean)

 

 

분산(variance)


표준편차


바이어스(bias)는 데이터의 편향된 정도를 나타낸다.


공분산(covvariance)


기본적인 확률 용어에 대한 설명


확률실험/시행(random experiment)

1. 같은 조건 아래에서 반복할 수 있으며,

2. 시행의 결과는 매번 우연히 변하므로 예측할 수 없으나, 가능한 모든 결과의 집합을 알 수 있고,

3. 시행을 반복할 때 결과는 각각 불규칙하게 나타나지만, 반복의 수를 늘리면 어떤 규칙성이 나타나는 특징을 가지는 행위를 확률실험이라고 한다.

예를 들면, 주사위를 던지는 행위 자체는 확률실험이 된다.

 

표본공간(sample space)

관찰할 면을 지정하고, 일어날 수 있는 결과의 범위를 규정한 다음, 그 범위 내의 각 결과에 기호를 대응시킨 후 얻은 기호화된 결과의 집합을 표본공간이라고 한다.


이 예제에 있어서는 '1'은 '1이라는 눈이 나온 것', '2'는 '2라는 눈이 나온것'...을 의미한다.


사건(event)

표본공간의 부분 집합을 사건이라고 한다.

 

짝수의 눈이 나오는 사건, 홀수의 눈이 나오는 사건, 2이하의 눈이 나오는 사건를 생각해 볼 수 있다.

이러한 특정 조건을 통해서 사건를 설정해 줄 수 있다.

 

사건역시 공간을 구성할 수 있는데, 각각의 사건의 원소들이 다른 사건의 원소와 중복되자 않으면서 모든 사건을 모은 집합을 사건공간이라고 표현한다.

결과적으로는 사건공간은 전체집합과 같게 된다.

 

예를 들면, 주사위에서 짝수의 눈이 나올 사건과 홀수의 눈이 나올 사건를 생각해보자.

 

각각의 사건을 A, B의 집합으로 표현해 보면 A={2, 4, 6}, B={1, 3, 5}가 된다.

각 사건의 원소들이 다른 사건원소들과 겹치지 않으며 A와 B를 모두 합하면 곧 전체집합이 된다.


 

ex1]

동전 던지기는 그 결과가 확률적으로 변하므로 확률 실험(시행)이다.


이때 가능한 모든 결과는 H(앞면)와 T(뒷면)의 2가지이므로, 표본공간 S={H, T}로 나타낼 수 있다.

표본공간의 부분집합{H}는 사건의 한 예로, "앞면이 나오는 사건"이라고 볼 수 있다.

마찬가지로{H, T} "앞면이나 뒷면이 나오는 사건"이다.


ex2]

주사위 던지기도 마찬가지로 확률실험(시행)으로, 표본공간은 S= {1, 2, 3, 4, 5, 6}이다.

사건의 예로는{2, 4, 6}과 같이 "짝수의 눈이 나오는 사건"이나,{1, 2, 3}과 같이 "4보다 작은 수의 눈이 나오는 사건" 등으로 매우 다양하다.


ex3]

우니나라 전체 인구 중 한 사람을 뽑아 몸무게를 재는 실험(시행)도 그 몸무게 결과가 하나로 결정되지 않고, 확률적으로 정해지므로 하나의 확률실험이다. 표본 공간은 나올수 있는 모든 결과 이므로 "0보다 큰 실수 집합"이다.

사건으로는 "50kg 보다 크고 60kg보다 작은 몸무게가 관측되는 사건" 등을 생각할 수 있다.



 

확률을 숫자말고 그림으로 나타내는 방법 중 벤다이어그램

 

 

그림이 보다 직관적이기 때문에 쉽게 확인할 수 있다. 살펴보면 두 사건이 동시에 발생할 수 있는 교사건과 동시에 발생할 수 없는 배반사건을 볼 수 있다.

 

조건부 확률(Conditional Probabilities)

A와 B 두개의 사건이 있을 경우, 사건 B가 일어날 확률이 이미 알려져 있을 경우에 사건 A가 일어날 확률

'the probability if A given B'


조건부 확률 P(A|B)은 'B가 일어났다고 가정할 때, A의 조건부 확률' 또는 '주어진 B에 대한 A의 확률

 

ex1]

주사위의 예로 들면, 사건 A는 2이하의 눈이 나오는 경우, 사건 B는 홀수의 눈이 나오는 경우라고 하자.

A= {1, 2}

B={1, 3, 5}


P(A|B)를 직접 원소를 구해보면,

먼저 B에는 1, 3, 5의 3가지 원소만 존재한다.


따라서, 홀수의 눈이 나왔을 때 그 눈이 2이하일 확률은,

1, 3, 5 중 1이 나와야 하고, 각 눈이 나올 확률은 모두 같으므로, P(A|B)= 1/3이 된다.


반대로

2이하의 눈이 나왔을 때, 그눈이 홀수일 확률은 P(B|A) =1/2가 된다.

즉, 어떤 것을 기준(base)로 하느냐에 따라서 조건부 확률은 다양한 결과가 나온다.


이러한 결과는 위에서 본 수식으로 구할 수 있다.

P(A)= 1/3, P(B)= 1/2, P(A∩B)= 1/6이므로,

앞서 구한 결과와 일치한다.


전체 확률 이론


베이즈 정리(Bayes's Theorem)


 

확률에 관한 정리

1번은 확률은 0과 1사이의 실수 값이다.

2번은 표본공간의 확률은 1이다.

3번은 두 사건 A,B가 동시에 일어날 수 없을 때 A,B는 서로 배반한다고 하는데, 서로 배반인 사건의 합의 확률은 각 확률의 합과 동일하다.

 

참조:

1. 패턴인식 개론, 한빛미디어

2. http://blog.acronym.co.kr/400

3. http://blastic.tistory.com/156

반응형

'기초수학' 카테고리의 다른 글

확률변수와 확률분포  (0) 2013.02.19
[선형 대수학]벡터와 행렬  (0) 2013.02.06