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을 사용하는지 의문이..
머신러닝에 쓰이는 정보이론
·
인공지능
정보정보이론에서 정보란 예측 불가능한 정도를 나타내는 물리량이다.확률 $p$의 정보는 수식적으로 다음과 같이 정의된다.$$I(p) = -\log_2 (p)$$ 그래프로 나타내면 다음과 같다.즉, 확률이 1인 사건은 정보량이 0이고, 확률이 낮은 사건일수록 정보량이 크다. 이를 다음과 같이 생각해볼수도 있다.어떤 사건이 일어날 확률이 높다는 것은 그 사건을 예상하기 쉽다는 것이고, 예상과 일치한다는 것은 새로운 정보가 없다는것이니까 정보량도 낮다고 볼수 있다.  entropy어떤 확률변수 $X$에 대해 $X$의 엔트로피는 $X$의 정보량의 평균(기댓값)으로, 다음과 같이 정의된다.$$H(X=x) = - \sum p(x_i) \log_2 p(x_i)$$ 정보와 엔트로피의 단위는 $log$의 밑에 따라 다른데..
Optimizer 정리
·
인공지능
SGD (Stochastic gradient descent)$$w_{t+1} = w_{t} - \alpha \cdot \frac{\partial J(t)}{\partial w_{t}}$$ $\alpha$ : 학습률로 0.01, 0.001등의 작은 값을 사용한다. 가장 기본적인 형태의 optimizer로, (mini-)batch 단위로 경사하강법을 한다.기울기가 0이되면 업데이트가 일어나지 않는다는 문제점이 있다. Momentum$$m_{t+1} = \beta \cdot m_{t} + (1 - \beta) \cdot \frac{\partial J(w_{t})}{\partial w_{t}}$$$$w_{t+1} = w_{t} - \alpha \cdot m_{t+1}$$ $m$ : 기존의 기울기에 지수 가중 평..
Convolutional Neral Network
·
인공지능
IntroductionCNN은 이미지나 시계열 데이터를 처리하는데 특화된 신경망 구조이다. 한번 이미지 classification 문제를 일반적인 MLP로만 해결한다고 해보자.그러면 먼저 이미지의 각 픽셀들을 모두 펴서 하나의 벡터로 만들게 되고, 이를 FC(fully connected layer)에 넣서 계산한다. 이러한 방식은 픽셀간의 위치 관계(예를 들면 이미지에서 가까운 두 픽셀은 서로 멀리 떨어진 픽셀보다 더 관련이 많다)등을 무시하고, 파라미터 양도 매우 많아서 이미지를 학습하기에는 비효율적이다.반면, CNN은 이러한 픽셀들의 공간적 구조를 고려해 더 효율인 신경망이다. CNN에서 각 레이어의 역할은 다음과 같다. 1. Convolutional Layer (Conv)- 이 레이어 에서는 edg..
zanzun
'분류 전체보기' 카테고리의 글 목록 (3 Page)