컴퓨터 공학과 프로그래밍에 관련된 개념들을 초등학생도 이해할 수 있는 쉬운 설명을 목표로 글을 쓰고 있습니다.
베르누이 시행과 이항분포 쉽게 이해하기
공유 링크 만들기
Facebook
X
Pinterest
이메일
기타 앱
7.통계학 7강
베르누이 시행과 이항분포 쉽게 이해하기
확률 변수
동전을 던질 때 경우의 수는 두 가지로 정합시다. {“앞면”, “뒷면”} 둘 뿐입니다. 이를 {1, 0}으로 바꾸어도 아무런 문제가 없습니다. 확률 공간이 실수로 바뀌었습니다.
확률 변수는 불확실성을 내포한 변수라는 의미로 정의되었습니다. 동전을 던져보기 전까지는 알 수가 없는 값이죠. 우리는 이 확률변수를 대문자를 사용해서 표현합니다. X. 동전이 앞면이라면 X = 1, 뒷면이라면 X = 0
표본과 표본 평균 이해하기
통계학에서 우리는 보통 모집단을 무한한 집단이라고 생각합니다.
표본은 집단이 아닙니다. 하나의 표본은 하나의 값을 의미합니다. X1,X2,X3,...,Xn모두 모집단에서 뽑을 하나의 특정값을 아직 뽑지 않아 모르니 변수로 표현한 것일 뿐입니다.
이때 표본 평균은 n개의 평균이라면 Xˉ=n1×(X1+X2+...+Xn)이 될 것이고 k개의 평균이면 Xˉ=k1×(X1+X2+...+Xk)가 되겠죠?
베르누이 확률와 이항분포
베르누이 시행이란 값이 0과 1로만 나뉘어진 사건의 확률을 계산하는 방법입니다. p가 1이 일어날 확률이라고 합시다. 시행의 확률 변수를 Y라고 한다면 베르누이 시행의 기댓값과 분산은 다음과 같아요. E(Y)=1×p+0×(1−p)=p Var(Y)=E(Y2)−E(Y)2 =12×p+02×(1−p)−E(Y)2 =p+0−p2 =p(1−p)
이항분포는 베르누이 시행이 여러 번 일어나는 분포를 나타냅니다. 이 때 각 베르누이 시행은 독립이어야겠죠.
베르누이 시행은 B(1, p)로 쓸 수 있습니다. 이항 분포는 B(n, p)로 사용하는데 n개의 베르누이 시행 표본을 뽑는 것을 의미합니다. 따라서 이항분포에서 새롭게 사용할 확률 변수 X는 베르누이 시행 표본들의 합입니다.
[Linux, Unix] export, echo 명령어 알아보기 export 그리고 echo 명령어 유닉스 환경에서 개발을 하다보면 export와 echo라는 명령어를 종종 사용하게 됩니다. 간단하게 정리하려고 합니다. 유닉스를 사용한다면 Bash, ZSH라는 이름을 많이 들어보셨을 텐데요. Bash와 Zsh는 쉘 스크립트 언어를 말합니다. 터미널을 키면 그 터미널이 동작하는 방식을 결정하는 것이 쉘 스크립트 언어입니다. 변수와 echo 우리가 알아볼 것은 운영체제 변수와 쉘 변수 입니다. 운영체제 변수는 우리 프로그램이 돌아가는 운영체제의 변수를 말하는 것이 쉘 변수는 터미널 내에서 변수를 말하는 것입니다. water = "삼다수" 명령어를 터미널에서 입력한다면 water라는 쉘 변수를 만드는 것이 됩니다. echo 명령어는 변수를 출력하는 프린트 함수인데요. 다음과 같이 입력하면 water에 저장된 값을 터미널에 출력합니다. 만약 $를 빼고 출력한다면 문자열을 출력하는 것으로 받아들여 water를 그대로 출력하게 됩니다. echo $water unset water unset 명령어는 변수를 삭제하는 역할을 하지요. 내 컴퓨터가 어떤 쉘 스크립트 언어를 사용하는지 궁금하면 bash echo $SHELL 명령어를 통해서 어떤 쉘 스크립트 언어를 사용하고 있는지 알 수 있습니다. 지금까지의 변수들은 쉘 변수들을 다루어 보았구요. 이제 운영체제 변수에 대해서 알아보도록 할게요. env 위의 명령어를 입력하게 되면 운영체제 변수들을 출력하게 됩니다. 모든 프로그램은 운영체제위에서 돌아가기 때문에 운영체제 변수를 다른 말로 환경변수라고도 합니다. export export 명령어를 통해서 쉘 변수를 환경변수로 저장할 수 있는데요. export water 터미널에 위 명령어를 입력하고 env 라고 입력하면 환경변수 목록에 water가 추가되었음을 확인할 수 있습니다. 하지만 이...
뼈속 깊이 이해하기 :: 1. 허프만 코딩 시작하면서 인터넷에 허프만 코딩을 검색하면 허프만 코딩은 상당히 쉽다고 설명하면서 허프만 트리를 그려놓고 있다. 그렇지만 어떤 이론도 처음 창안해내는 사람의 관점에서 생각하기는 쉽지 않은 일이다. 지식은 창시자를 떠나 많은 사람을 거쳐서 배울 수록 이해가 아닌 암기가 되기 싶다. 그래서 암기하기 쉬운 지식을 쉬운 지식이라고 말하고 있지는 않은가 싶다. 많은 어려운 이론들을 배우지만 아주 사소한 것도 생산하지 못하는 학생이 되는 것을 경계한다. 그런 관점에서 허프만이 되어 허프만 코딩을 뼈속 깊이 이해하는 것은 쉽지 않은 것 같다 사전 지식 컴퓨터가 정보를 전달하기 위해서는 텍스트를 0과 1로 이루어진 숫자 조합을 보내고 받는 쪽에서 이를 해석해 다시 텍스트로 바꾸는 과정이 필요하다. 고정 길이 코드 란 고정된 크기만큼의 비트를 사용해서 정보를 인코딩해서 보내는 인코딩방식이다. 우리가 알고있는 ASCII, UNICODE가 이에 해당한다. ASCII는 8비트를 사용해서 인코딩하고 UNICODE는 더 큰 비트를 사용한다. 접두어 코드(Prefix-code) 란 한 코드가 다른 코드의 앞부분이 되는 인코딩 방식이다. 예를 들어 모스 부호는 알파뱃 S를 "· · ·"로 , 알파뱃 E를 "·"로 인코딩한다. 따라서 알파뱃 E를 표현하는 "·"는 알파뱃 S를 표현하는 "···"의 앞부분과 완전히 일치한다. 이 경우 "···"코드를 전달할 때는 코드를 전달받는 사람이 (· · ·)를 EEE가 아닌 S로 해석하기를 기도해야 한다. 이와 같이 접두어 코드는 일련의 코드 조합이 의도하지 않은 방향으로 해석될 수 있는 해석의 어려움을 갖는다. Prefix-free-code 란 한 코드가 다른 코드의 접두어가 되지 않는 코딩방식이다. 우리가 오늘 다룰 주제인 허프만 코딩이 그 대표적인 방법이다. {...
댓글
댓글 쓰기