학습/ML4ME[23-2](8)
-
Non-Parametric Density Estimation
Parametric distribution은 함수의 형태를 가정하고, parameter를 찾는다고 보면 된다. Non-parametric은 분포의 형태에 대한 가정을 통해서 density estimation을 한다. Kernel density estimation, Nearest neighbor 등의 방법이 존재한다. Density estimation은 random variables x에 대해서 f(x)를 추정하는 방식으로 진행된다. 이 때 PDF 혹은 PMF를 이용한다. Denstiy estimation은 regression, classification, clustering, novelty detection에 사용된다. Non-parametric distribution은 히스토그램 기반으로 모델링을 진행..
2023.11.14 -
Parametric Density Estimation: Gaussian Distribution
가우시안 분포는 continuous random variable의 분포를 나타낼 때 사용한다. 보통 mean과 variance 두 parameter에 의해서 통제된다는 특징이 있다. 가우시안 분포는 다음과 같이 나타낼 수 있다. 이 때 x는 random variable이고, μ와 σ는 parameter이다. Mean과 covariance를 사용하거나, information vector와 information matrix를 사용하면 다음과 같이 나타낼 수 있다. Information vector와 matrix를 사용한 형태를 dual form이라고 한다. Distance for Gaussian 가우시안 분포를 mean vector와 variance matrix를 사용하면 다음과 같이 나타낼 수 있다. 이 ..
2023.11.14 -
Parametric Density Estimation: Binary variable distribution
Overview N개의 측정이 주어졌을 때, 확률밀도함수를 찾는 것이 density estimation이다. Parametric distribution을 나타내는 방법은 변수에 따라 달라진다. 이산확률변수이면 binomial, multinomial로 나타낸다. 연속확률변수는 Gaussian, Dirichlet(베이즈 통계학)으로 나타낸다. Binary Variable Distribution 이산확률변수 중 베르누이 분포는 다음과 같이 나타낼 수 있다. 데이터를 베르누이 분포에 맞추기 위해서는 MLE(Maximum likelihood estimation)을 이용해서 다음과 같이 표현 가능하다. mAP(mean Average Precision)를 사용하려면 prior 분포를 알아야 한다. prior를 알기 ..
2023.11.12 -
Probability
from elice_utils import EliceUtils import numpy as np from generate import generate_data import matplotlib.pyplot as plt elice_utils = EliceUtils() def plt_show(): plt.savefig("fig") elice_utils.send_image("fig.png") def gaussian_pdf(x, mu, sigma): #TODO pdf = 1 / np.sqrt(2 * np.pi * sigma ** 2) * np.exp(-((x - mu) ** 2) / (2 * sigma ** 2)) return pdf def estimate_robot_position(landmarks, noisy..
2023.11.09 -
Signal Processing
Quiz 2 import numpy as np import matplotlib.pyplot as plt from elice_utils import EliceUtils elice_utils = EliceUtils() def plt_show(): plt.savefig("fig") elice_utils.send_image("fig.png") def do_fft(): # (a) generate Fs = 100 # sampling frequency 100Hz t = np.arange(0, 2+1/Fs, 1/Fs) # signal duration 0~2 seconds w0 = 5 # dominant frequency in the signal x = np.sin(2*np.pi*w0*t) # x(t)=sin(2pi w..
2023.11.08 -
Linear algebra for ML
Quiz 1 from elice_utils import EliceUtils import numpy as np from numpy import array from scipy.linalg import svd elice_utils = EliceUtils() def main(): M=array([[1,0,0,0,2],[0,0,3,0,0],[0,0,0,0,0],[0,4,0,0,0]]) # Task 1: Compute SVD '''svd 관련 설명은 https://docs.scipy.org/doc/scipy/reference/generated/scipy.linalg.svd.html''' U, S, VT = svd(M) # Task 2: Print out the shapes of these SVDs print(U.s..
2023.11.08