Today I learned 5주차 Machine Learning 기초 Day1
TIL 다시 시작
학기가 저번주로 종강을 했다.
기말고사 기간으로 인해 TIL을 하지 못했다.
방학기간이 끝난 새해 첫주 이기에 오늘부터 다시 화이팅 이다!!!
확률변수
- 확률변수 X는 표본의 집합 S의 원소 e를 실수값 X(e) = x에 대응 시키는 함수이다
학기가 저번주로 종강을 했다.
기말고사 기간으로 인해 TIL을 하지 못했다.
방학기간이 끝난 새해 첫주 이기에 오늘부터 다시 화이팅 이다!!!
- 확률변수 X는 표본의 집합 S의 원소 e를 실수값 X(e) = x에 대응 시키는 함수이다
여기서 중요한것은 확률변수 또한 함수이다.
- 대문자 X, Y ....로 표현한다
- 소문자 x, y, .. 의 경우 확률변수가 가질 수 있는 값 들이다
예시를 들어보면
아래 사진을보자
위 주머니에서 공 2개를 뽑을때 나오는 표본의 공간은 3가지 이다.
이때 빨간공 의 갯수를 확률 변수 X로 두면
X가 1일때, X = 1, X = 2 일대 ..etc 으로 확률변수가 된다.
즉 위 표본공간에서 빨간공의 개수 라는 함수로 주어지게 되어 이를 정량화 할 수 있게 됐다.
X = f(x) = { x | x 는 빨간 공의 개수}
위 처럼 표현 될 수 있다.
위와 같은 상황일때 우리는 확률을 구할수있다.
p[X = 1] : 빨간공의 개수가 1개일 확률 ->
확률변수의 함수(Function of Random Variables)
Inverse CDF Technique
-
확률변수 X가 CDF 를 가진다고 하자, 확률변수 의 함수로 정의되는 다음 확률변수 를 생각해보자.
-
-
확률변수 는 확률변수 와 동일한 분포를 따르게 된다.
이게 무슨의미 일까?
확률변수 X가 CDF 를 가진다고 하자, 확률변수 의 함수로 정의되는 다음 확률변수 를 생각해보자.
확률변수 는 확률변수 와 동일한 분포를 따르게 된다.
이게 무슨의미 일까?
우리가 어떤 X의 확률분포 를 알고 있다고 가정하자.
이때 를 활용해 실험을 하기위해 sampling을 하려 한다.
분포를 알기에 너무 쉽게 샘플링이 가능할것 같지만 어렵다
하지만 위 방법을 활용하면 이는 쉽게 샘플링을 할 수 가 있다.
- 조건은 확률변수 의 경우 역함수가 존재 해야 한다.
증명
실제 코드에서 활용해 보자
#cdf: F(d) = d**2 /r**2
#inverse cdf : r *(u**0.5)
import turtle
import math
import random
wn = turtle.Screen()
turtle.tracer = (8,0)
alex = turtle.Turtle()
alex.hideturtle()
r = 200
for i in range(5000):
u = random.random() #0 ~ 1 U pdf를 따르는 u
d = r * (u**0.5) # 역함수
theta = random.random()*360
x = d * math.cos(math.radians(theta))
y = d * math.sin(math.radians(theta))
alex.penup()
alex.setposition(x, y)
alex.dot()
turtle.update()
wn.mainloop()
만약 역함수를 잘못된 함수로 샘플링을 하게되면 어떻게 될까?
d = r * u # d = r * (u**0.5)원래의 함수에서 바꿔주었다.
!
샘플링이 고르게 되지 않고 가운데에 몰려 있는것을 확인할 수 있다.
Author And Source
이 문제에 관하여(Today I learned 5주차 Machine Learning 기초 Day1), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@hoon2hooni/Today-I-learned-5주차-Machine-Learning-기초-Day1저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)