백준 - 환상의 듀엣(11570)
·
PS
문제 먼저 이 문제를 다음과 같은 관점으로 보자 :문제에서 주어진 수열에서 몇개의 원소들을 선택해서 만들어진 부분수열 $a_k$와 선택하지 않은 원소들을 통해 만들어지는 부분수열 $b_k$에 대해 $(|a_1-a_2|+|a_2-a_3|+\cdots)+(|b_1-b_2|+|b_2-b_3|+\cdots)$ 의 최솟값을 구한다. 그리고 다음과 같이 점화식을 정의해보자.dp[i][j] : $A_{1:i}$에 대해 i번째 원소와 임의의 원소를 선택해 수열 $a_k$를 만들고 나머지로 수열 $b_k$를 만들때 $(|a_1-a_2|+|a_2-a_3|+\cdots)+(|b_1-b_2|+|b_2-b_3|+\cdots) + |A_j-b_\text{last}|$ 의 최솟값 이 dp를 이용하면 다음과 같이 전체 문제에 대한 ..
Backpropagation Vectorization
·
인공지능
Background$W \in \mathbb{R}^{D_2 \times D_1}$, $X \in \mathbb{R}^{D_1 \times N}$ 에 대해 bias가 생략된 linear layer의 출력값 $Z=WX, Z \in \mathbb{R}^{D_2 \times N}$가 있다고 하자.또한 $L : \mathbb{R}^{D_2 \times N} \rightarrow \mathbb{R}$은 최적화 하려는 object function이라고 하자. Chain Rule 에 따라 gradient를 다음과 같이 구할수 있다.$$ \frac{\partial{L}}{\partial{W}} = \frac{\partial{L}}{\partial{Z}} \frac{\partial{Z}}{\partial{W}} $$하만 ..
Cross Entropy Derivation
·
인공지능
Binary Cross Entropy$y$를 ground truth값, $\hat{y}$를 estimation값, $p=P(y=1)$, $\hat{p}_\theta$는 $p$를 parameterized한 함수라고 하자.그다음 $y=0$일때와 $y=1$일때 각각의 likelihood 함수를 구해보자. 1) $y=0$일때는 $y=0$인 샘플들만 있을 것이고 likelihood 함수는 다음과 같다.$$L^{}_{\theta} = 1 - \hat{p}_\theta$$2) $y=1$일때 $L^{}_\theta$는 다음과 같다.$$L^{}_\theta = \hat{p}_\theta$$ $L^{}_\theta$과 $L^{}_\theta$를 합치고 log-likelihood를 구하면 다음과 같다.$$L_\theta =..
Lowest Common Ancestor (LCA) 예제 코드
·
PS
#include #include using namespace std; int n, par[14][10001] = {{0}}, depth_arr[10001] = {0}; void bootstrap(void) { for (int i = 1; i = depth(v)) u = par[i][u]; } if (u == v) return u; for (int i = 13; i >= 0; i--) { if (par[i][u] != par[i][v]) { u = par[i][u]; v = par[i][v]; } } return par[0][u]; } int main(void) { scanf("%d", &n..
Lazy Propagation Segment Tree
·
PS
wx+b 연산을 지원하는 lazy 세그 예제 #include #include using namespace std; #define TREE_WIDTH (1
백준 9212 (트라이앵글)
·
PS
#include #include #include using namespace std; #define EPS (1.0e-15) class Vector3 { public : double x, y, z; Vector3() { x = 0.0; y = 0.0; z = 0.0; } Vector3(double _x, double _y, double _z) { x = _x; y = _y; z = _z; } Vector3 operator+(const Vector3 &v) const { return Vector3(x + v.x, y + v.y, z + v.z); } Vector3 operator-(const Vector3 &v) const { return Vector3(x - v.x, y - v.y, z - v.z); }..
Quaternion 정리
·
수학
외적 (Cross product) 유도
·
수학/정리&증명
CS234 Notes - Lecture 2 번역본
·
인공지능
CS234 Notes - Lecture 2 를 번역해 보았다. Exercise나 쉬운 증명들은 다 생략했고, 중간에 어떤 증명(Theorem 3.4.)은 내방식대로 써놨다. 너무 힘들어서 다시는 안할듯.
RNN - Recurrent neural network
·
인공지능
What is RNN ?rnn은 이름에서도 알 수 있듯이 반복되는 구조의 신경망이다.즉, 한 rnn 유닛이 여러 time step를 가질 수 있어서, 임이의 길이의 정보를 처리할 수 있다.이때 한 rnn 유닛은 모든 time step에서 가중치를 공유한다.또 rnn은 이러한 구조 덕분에 시계열 데이터나 순차적인 데이터 처리를 잘한다. 주의해야될 점이 있는데 이는 rnn이 시간에 따라 측정된 데이터를 다 처리할 수 있다는 것은 아니다.rnn은 stationary한 데이터 즉, 시간에 따른 확률 분표의 변화가 (적거나)없는 데이터를 가장 잘 처리한다.rnn이 모든 time step에 대해 가중치를 공유하는 이유도 이러한 가정에 바탕을 둔 것으로 생각할 수 있다. 왜 굳이 mlp대신 rnn을 사용하는지 의문이..
zanzun
'분류 전체보기' 카테고리의 글 목록 (2 Page)