라벨이 머신러닝인 게시물 표시

Pharos University ME 253 Fluid Mechanics II - ppt video online download

Pharos University ME 253 Fluid Mechanics II - ppt video online download : External External Flows Bodies in motion, experience fluid forces and moments. Examples include: aircraft, automobiles, buildings, ships, submarines, turbo machines. Fuel economy, speed, acceleration, stability, and control are related to the forces and moments. Airplane in level steady flight: drag = thrust & lift = weight.

엔트로피 [A to Z], 미시적, 거시적, 정보 이론까지

이미지
엔트로피는 통계, 상태수,자발성 3가지로 표현할 수 있습니다. 여러 군데의 포스팅에서 엔트로피를 불확실성으로 표현합니다. 이에 대한 물리적인 의미를 설명드리고자 포스팅을 진행하게 됐습니다. 또한, 화학공학에서의 엔트로피는 어떻게 개발되고, 응용되었는지 다루고 있습니다. Motivation 통계적인 개념은 머신러닝, 반응공학 등등 실제로도 많은 곳에 쓰이고 있습니다. exponential 함수를 보게된다면 한번쯤은 엔트로피와 관련이 있는지 확인해봐야 합니다. 여기서 exponential 함수는 어떠한 확률이라는 숨은 의미를 가지고 있습니다. 머신러닝의 경우 Activation function (Sigmoid)라고 하죠? 어떠한 상태가 Activate 시키는지에 대한 판단하는 함수로 사용됩니다. 이러한 function도 exponential함수를 바탕으로 하고 있습니다. ​이와 비슷하게 Activate 시킨다는 것은 화학공학에서 반응속도 상수에서 볼 수 있습니다. 반응속도상수의 의미는 확률 * 빈도수 로 말해줍니다. 아레니우스 식에서 exponential 관련 Term이 확률을 의미하고, frequency factor (A)가 빈도수를 나타냅니다. 엔트로피 증가 법칙 – 열역학 제 2법칙 기본적으로 “ 열역학 제 2법칙으로 무질서도는 증가한다 .” 정도는 모두 기억하고 있으실 것입니다. 여기서 무질서도란 기체분자가 어떠한 상태로 놓일 수 있는가 를 말해줍니다. 시작은 자발성의 여부를 판단하기 위해서 시작되었습니다. Rodoulph Clausius는 엔트로피의 개념은 가역적인 열전달에 따른 온도가 어떻게 될지에 대해서 생각해낸 것입니다. 이는 화학공학에서 흔히 알고 있는 최대 열효율의 개념을 설명하기 위해서 시작 된 것입니다. 온도는 분자의 운동량을 표현해주는 지표입니다. 기체의 분자들이 어떻게 운동하는지 알게되면, 우리는 전체 Energy에 대해서 알 수 있습니다. 하지만, 기체 분자의 경우 많은 분자수가 많기 때문에 전체적으로...

칼만 필터 최적화

이전에 칼만 필터 알고리즘에 대해 다뤘습니다. 오늘은 이에 대한 추가 내용을 다뤄 보고자 합니다. Defense 때문에 공부할 시간이 너무 부족했던 ㅜㅜ… 아무튼, 칼만 필터 최적화 과정은 KL Divergence, Cross Entropy 까지 연관이 되니 매우 중요한 내용이 됩니다. 칼만 필터 최적화 과정 칼만 필터 최적화 과정을 통해, 칼만 필터가 어떻게 Update가 되는지? 어떠한 의미를 가지고 있는지 보여드리고자 합니다. 칼만 게인 먼저, 칼만 게인은 다음과 같이 정의 됩니다. (칼만 필터를 얻는 식) \begin {align}K_k &=\Sigma_0(\Sigma_0+\Sigma_1)^{-1} \\K_k &=P_k^-H^T(HP_k^-H^T+R_k)^{-1} \\\text{ for scalar case } K_k &=\frac{P_k^-H^T}{(HP_k^-H^T+R_k)}\\\end {align} (1)의 컨셉을 가지고, 칼만 게인은 (2)식으로 얻어집니다. 여기서 H가 하나 사라지는 것을 볼 수 있는데, 이는 P_k 식을 구하는 과정에서 약분되기 때문입니다. 식 (2)에서 (3)으로 넘어가는 것은 쉽게 해석을 하기 위함입니다. Matrix보다는 스칼라 값을 이용하는 것이 해석적인 측면에서 매우 유리합니다. 최적화 알고리즘 \begin{align}f(x) &\sim f(x_i)+\braket{\nabla f(x_i),x-x_i} +\frac{1}{2}\braket{x-x_i,H(x-x_i)} \end{align} 여기에서 최소점은 Gradient가 0이되는 포인트가 됩니다. 그러면 최적점 x^* 에 대해서 식 (5)와 같은 Update 방식을 가지게 됩니다. \begin {align}\nabla f(x)&=0= \nabla f(x_i)+ H(x-x_i) \Rightarrow x^*=x_i-H^{-1}\nabla f(x_i)\end{align} 칼만 필터 최적화 칼만 필터는 공분산을 최소화 ...

DQN (Deep Q Networks)

이미지
DQN (Deep Q Networks)는 많은 Data를 처리하기 위해서 개발되었습니다. Atrari 라는 단순한 게임을 최적화 하는 것으로 많은 설명이 되고 있습니다. 기존의 방식의 Q Learning은 경험이 있어야지만, State 값을 예측할 수 있었습니다. [1] 하지만, DQN의 경우 State에 대한 값이 없더라도 예측을 할 수 있다는 장점이 있습니다. 여기에 추가적인 장점으로 Sampling을 통해서 경험을 여러 번 반복 학습이 가능하여 학습 과정을 빨리 할 수 있또록 도와줄 수 있습니다. DQN introduction 먼저 강화 학습의 경우 Policy base인지, Value base인지에 따라서 두 가지 경우로 최적화 과정을 나눠줄 수 있습니다. 그림 1. 강화 학습 기본 구조 DQN은 Value based 강화 학습입니다. DQN 명칭에서 부터 Q function을 최적화 하는 과정임을 알 수 있습니다. Atrai라는 게임을 가지고 점수를 최대화 하는 과정이 있다고 하겠습니다. 그러면, 점수를 얻는 것이 Reward가 되고, 게임기를 움직이는 것이 Action이 됩니다. 그림 2. DQN 학습기본 구조 여기서의 Network의 구조는 아래와 같이 Deep 하게 설계가 되었습니다. Deep Neural network의 장점은 적은 Data만 가지고도, State 값을 예측 할 수 있습니다. 그림 3. Neural Networks in reinforcement learning [1] Mini-batch (Replay) 시계열(Time Series) Data의 경우 서로 Correlation 강하게 됩니다. Correlation이 강하면, Data간의 영향이 커서, 데이터 예측성이 떨어지게됩니다. 이를 보완 하기 위하여 Experience에서 Sample을 뽑아서 추가 학습을 시킵니다. 이후, 기존 Data Set하고 비교하여 평가하는 과정을 거쳐 Correlation에 대한 영향을 줄입니다. 그림 4. DQN 전체 구조 전체적인 구조에서 Da...

최대우도법 (Maximize Likelihood)

이미지
최대우도법 (Maximum likelihood Method) 칼만필터 알고리즘은 Predict 하고 Correct 하는 과정입니다. Predict 과정은 Prior를 얻는 Maximum Likelihood method가 되며, Correct하는 과정은 Bayesian의 Posterior를 얻는 과정입니다. 최대우도법 (Maximum likelihood)은 확률 적인 개념에서 파라미터를 추정하는 과정입니다. 이는 Error를 최소화 시키는 것 뿐만 아니라 분산을 최소화 시키는 목적이 있습니다. 결론은 파라미터 추정에 있어서 정규분포를 따른다는 가정으로 인해, 최대우도법과 Error를 최소화 시키는 과정인 Least square error랑 동일하게 됩니다. 조건부 확률 (Conditional Probability) 조건부 확률은 베이지안과 MLE(최대우도법)을 이해하는데 있어 가장 기초적인 지식입니다. 조건부 확률이란 밑밥을 깔아두고 확률을 계산하는 과정입니다. 조금 더 정확한 이론으로 말씀드리면 어떠한 사건(B)가 일어났을 때, (A)가 일어날 확률은 얼마 인가? 를 계산하는 것입니다. P(A|B)= \frac{A(A \cap B)}{P(B)}=\frac{A(A , B)}{P(B)} \tag{1} 가정사항이 분모로 나누고, B가 일어났을 뒤 A가 일어나게 되니 분자에는 교집합 형태의 확률이 나타납니다. Likelihood (칼만필터) Likelihood는 최대 가능도라고 해서, 어떠한 파라미터를 예측하는데 사용하게 됩니다. 이는 A,B,C… 사건들이 동시에 일어날 확률들을 추론할 때 사용됩니다. 즉, 교집합에 대한 확률을 예측하는 정도가 됩니다. 교집합의 표현은 식 (1)의 연장선이 됩니다. 교집합 형태의 식을, 조건부 확률과 P(B)의 형태로 표현하여 식 (2)의 형태로 변형 시켜줄 수 있습니다. P(A,B)=P(B)P(A|B) \tag {2} 식 (2) 의 변수량을 늘리게되면, 실험 데이터 값에 대하여 확률적인 표현을 해주게 됩니다. 이는 Lik...

칼만필터(Kalman) 알고리즘

이미지
칼만필터 알고리즘은 제어 시스템에서 시작되었습니다. 제어시스템에서 칼만필터의 역할은 State equation에 Noise가 발생했을 때, Noise를 제거하고 State를 예측합니다. (State equation에 대한 내용은 여기를 참조 해주세요.) 노이즈는 데이터가 튀게 만드는 성질이 있습니다. 즉, 칼만필터는 튀는 데이터를 제거하는 역할을 한다고 할 수 있습니다.이러한 성질을 응용하여 칼만필터가 Learning Equation에 응용됩니다. Moving Average https://www.investopedia.com/terms/e/ema.asp Data가 정상적으로 들어오다가 갑자기 튀는 Noise들을 생각해볼 수 있습니다. 이러한 Noise의 영향을 최소화 하기 위해서 근처에 10개의 Data만 가지고 평균 값 계산한다고 하면 다음과 같이 써줄 수 있을 것입니다. \mu_k=\sum_{i=1+k}^{k+10} \frac{x_i}{10} incremental mean을 이용해서 풀어주게 되면, 머신러닝에서 쓰이는 간단한 형태의 식으로 표현이 가능해집니다. \mu_k = \mu_{k-1} +\frac{1}{n}(x_k-x_{k-n}) 모든 데이터에 동일한 가중치가 부여된다고 볼 수 있습니다. 여기서, 최신에 들어오는 데이터에 가중치를 더 주게되면 최신 데이터 위주로 평균 값이 나타나게 될 것입니다. 이를 Exponential Weighted Filter라고 불러주기도 합니다. \begin {aligned}\mu_k &=\mu_{k-1}*\alpha +(1-\alpha)x_k \\\mu_{k-1} &=\mu_{k-2}*\alpha +(1-\alpha)x_{k-1} \\ \mu_k &= \alpha^k\mu_0 +(1-\alpha)x_k+\alpha (1-\alpha)x_k+ \cdots \\\therefore \mu_k &= \alpha^k\mu_0 + \sum_{n=0}^{k-1} \alpha^n(1-\alpha)x_{...

Bayesian Optimization

이미지
안녕하세요 화공공대생입니다. 이전에 간단하게 가우시안 프로세스에 대하여 알아보았습니다. 해당 글은 여기 를 참조해주세요. Bayesian Optimization 은 가우시안 프로세스를 응용해서 모르는 영역에 대하여 Regression하는 과정이라고 볼 수 있습니다. Bayesian Formula Bayesian Optimization에 알아 보기 전에, 용어 먼저 살펴보겠습니다. Prior : 사건 전 분포 (주어진 데이터), Posterior : 사건 후 분포 (주어진 데이터로 부터 새로운 데이터 예측), likelihood : 확률 밀도 함수(P.D.F.)에서 의 값. 수식까지는 정의이니 쉽게 이해하실 수 있으실 것입니다. \begin{equation}\begin{aligned}& p(\theta|X) =\frac{P(X|\theta)P(\theta)}{P(X)} \\&P(X|\theta):likelihood\\&P(\theta) : prior \\& p(\theta|X) : Posterior\end{aligned}\end{equation} 여기에서 식은 특별한게 없어 보입니다. 하지만 P(X) 를 다음과 같이 써준다면, 분모에 있는 값은 Normalization 시켜주는 역할을 하는 것을 알 수 있습니다. 위와 같이 정규화 작업을 시켜준 Parameter를 이용했을 때, 더 좋은 결과 값을 얻을 수 있습ㄴ니다. \begin{equation}P(X)=\int P(X | \theta) P(\theta) d\theta\end{equation} 분모와 똑같이 되니 다음과 같은 형태와 비교해주면, 쉽게 Normalization 시켜주는 역할임을 알 수 있습니다. \begin{equation}\hat{X_i} \rightarrow \frac{ X_i }{\sum_i X_i}\end{equation} 자, 그러면 일단 Posterior는 Normalization 된 분포가 됩니다. 여기서 그러면 평균이 0이고, 어떠한 분산을 가지는 형...

Wiener process (비너 프로세스)

이미지
Wiener Process 는 연속적인 시간 에서 Simple한 Random walk를 말해줍니다. Wiener는 MIT 교수로 Brownian Motion을 가지고 주식과 옵션을 해석하려고 했던 분입니다. Brownian motion은 확률 적인 해석을 하는 대표적인 물리현상입니다. 확률 프로세스에서는 물리적 현상이 많이 응용됩니다. (연구가 많이 되어서 여러가지 이론들이 접목이 가능함) 또한, 확률 프로세스를 배우다보면, 옵션 을 하면 안되는 것임 을 알 수 있습니다. Random walk Random Walk는 확산 법칙을 배우다 보면, 한번씩 접해 보셨을 수도 있습니다. 가장 쉬운 1D 공간에서 알아보겠습니다. 동전을 던져서 앞면이 나오면 옆으로 한칸, 뒷면이 나오면 뒤로 한칸 이동한다고 하겠습니다. 기준점에서 n번 시행 후 얼마나 이동했을 지에 대한 평균 값은 E(X)=0 될 것입니다. 이 경우보다 조금 더 복잡한 과정이라고 한다면, 앞면이 나올 확률과 뒷면이 나올 확률이 다른 경우가 됩니다. 또한, 한칸이 아니라 \Delta x 만큼 이동한다고 보겠습니다. \begin{aligned}E(X) &=\Delta x p -\Delta x(1-p)\end{aligned} Random walk 시스템에 대해서 평균 값과 분산은 위 정의에 따라 쉽게 구해줄 수 있게 됩니다. Wiener Process Random Walk에서 간단하게 평균 값을 구해보았고, 여기서 조금 더 확장해서 연속적인 시간에 대해서 해석을 한것이 Wiener Process라고 할 수 있겠습니다. \begin{aligned}X(t) &=\Delta x (X_1+X_2+...X_{\frac{t}{\Delta t}}) \\E(X(t)) &=\Delta x p -\Delta x(1-p) = \Delta x \frac{t}{\Delta t} (2p-1)\\\end{aligned} 어려워 보이지만, t/\Delta t =총 동전 던진 횟수 로 해석하면 쉽게 해석이 ...

가우시안 프로세스 (Gaussian Process Regression)

이미지
Gaussian Process 가우시안 프로세스 는 Regression을 하는 과정에서 정확한 값을 얻는 것이 아니라 어떠한 확률 분포를 얻는 것입니다. Regression을 할때 정확한 Weight(계수)를 얻는 것이 이전에 방법이 었다면, 가우시안 프로세스 는 확률적으로 Weight를 얻는 것이라고 말할 수 있습니다. Weight가 확률적으로 표현이 되니 평균 값 또한, 확률적 표현을 가지는 Mean function으로 예측이 됩니다. 이러한 Weight는 Covariance Function이 됩니다. 즉, 가우시안 프로세스는 적합한 Coviance를 찾아주는 작업이라고 볼 수 있습니다. Data 란? 우리는 데이터를 해석하기 위해서는 다음과 같은 성질이 있음을 알아야 합니다. Data는 Random error와 Main effect로 구별 할 수 있습니다.![](https://hdchemeng.com/wp-content/uploads/2021/11/가우스프로세스.png)위 그림을 보시면 같은 포인트에서 여러번 실험해서 분산을 구하는 경우가 White noise인 Random error 부분에 해당합니다. 이 Random error는 평균이 0이게 되며, 반복 실험을 통해 얻어진 실험은 노이즈가 제거된 데이터로볼 수 있습니다. 반복 실험의 평균을 모아 전체 평균을 다시 내주게 되면, 우리는 Rnadom variable의 level 변화에 따라 (온도의 변화에 따라), 전체 평균으로 얼마나 멀어지는지 알 수 있습니다. 우리는 이를 가지고 Main effect라고 해주게됩니다.(a) 여기서 Main effcet라는 것이 Variance가 됩니다.즉, 가우시안 프로세스를 수행한다는 것은 이 Main effect에 대한 영향이 얼마나 잇는지 확인해주는 과정이라고도 볼 수 있습니다. 만약, 여러개의 Variable을 해석하는 경우에서는 Main effect들이 증가하게되고, Main effect들 끼리의 상호 작용이 발생할 수 있습니다. ab가 상호작용을 말하게되...