본문 바로가기

전체 글

(94)
[4.1.5] Dive into Deep Learning : exercise answers 4.1. Softmax Regression — Dive into Deep Learning 1.0.3 documentation d2l.ai [1-1] Since the first derivative of the cross-entropy loss is given, we only have to differentiate $softmax(o)_{j}-y_{i}$ with the respect to $o_{j}$. $$\partial _{o_{j}}(softmax(\textbf{o})_{j}-y_{i})=softmax(\textbf{o})_{j}(1-softmax(\textbf{o})_{j})$$ [1-2] Makes sense if the distribution is a Bernoulli. We can view ..
[백준]_17387번 : 선분 교차 2(파이썬) 17387번: 선분 교차 2 첫째 줄에 L1의 양 끝 점 x1, y1, x2, y2가, 둘째 줄에 L2의 양 끝 점 x3, y3, x4, y4가 주어진다. www.acmicpc.net 이 문제를 풀기 전에 사전 지식이 많이 필요하다. 1. CCW(Counter Clock Wise) 알고리즘 2차원 평면에 놓여 있는 점 3개에 대해 상대적인 위치 관계를 외적을 통해서 구할 수 있다. 이 알고리즘을 적용했을 때 양수가 나오면 반시계, 음수면 시계, 0이면 한 직선 위에 점들이 놓여 있는 것이다. 결괏값은 점의 연산 순서(A->B->C)에 매우 민감하기 때문에 점들의 순서가 매우 중요하다. 알고리즘 계산법은 여기서 더 알아보자. 2. CCW를 활용한 선분의 교차 조건 그래서 결국 세 점의 상대적인 방향을 알아..
[백준]_2162번 : 선분 그룹(파이썬) 2162번: 선분 그룹 첫째 줄에 N(1 ≤ N ≤ 3,000)이 주어진다. 둘째 줄부터 N+1번째 줄에는 양 끝점의 좌표가 x1, y1, x2, y2의 순서로 주어진다. 각 좌표의 절댓값은 5,000을 넘지 않으며, 입력되는 좌표 사이에는 빈칸이 하 www.acmicpc.net 두 선분 A, B가 교차한다는 사실을 다른 관점에서 해석해 본다면 노드 A, B가 연결되어 있다고 해석할 수 있다. 그리고 노드들의 연결을 관점에서 그룹의 개수와 가장 큰 그룹의 요소의 개수는 분리 집합으로 다시 풀릴 수 있다. 선분의 교차는 CCW알고리즘으로 해결할 수 있다. 즉 가능한 모든 선분 조합을 비교해보면서 교차하면 분리 집합을 이용해 부모 선분을 찾게 해 주면 된다. 아이디어 자체는 굉장히 간단하지만 마지막 경로 압..
[백준]_11724번 : 연결 요소의 개수(파이썬) 11724번: 연결 요소의 개수 첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) 둘째 줄부터 M개의 줄에 간선의 양 끝점 u와 v가 주어진다. (1 ≤ u, v ≤ N, u ≠ v) 같은 간선은 한 번만 주어 www.acmicpc.net 무방향 그래프에서 연결 요소의 개수를 세야 하는 문제이다. 조금 더 쉽게 말하자면 간선으로 이어진 묶음이 몇 개 발생하는지 알아내야 한다. 일단 예시 입력 1에 의하면 그래프의 생김새는 아래와 같을 것이다. 이 문제는 두 가지 방식으로 풀 수 있는데, 1. Union-Find 알고리즘 해당 알고리즘을 이용하면 모든 노드의 최상위 노드를 모두 찾을 수 있다. 무방향 그래프라 상위 노드 개념은 없지만 유..
[C언어] 포인터란? 포인터는 C에서 여타 가장 헷갈리고 어려운 개념이다. 허나 정작 개념 자체만 놓고 보았을 때는 매우 단순하다. 단지 store할 수 있는 것이 일반 정수, 실수, 문자를 넘어서 주소가 되었을 뿐이다. 그래서 제대로 포인터에 대해 정리해 보고자 이 글을 쓴다. 포인터(pointer)는 다른 변수, 혹은 그 변수의 메모리 공간 주소를 가리키는 변수를 말한다. 말 자체(pointer)에서도 알 수 있듯이 무언가를 가리키고 있다(point)는 의미를 담고 있다. 그 가리킴을 당하는 대상이 변수가 되는 것이고 그 변수에는 값이 저장되어 있으므로 그 값을 간접적으로 접근할 수 있는 것이다. 포인터도 엄연히 변수이다(상수 포인터도 존재하다만), 대신 담기는 대상이 일반 값이 아니라 특정 변수의 주소가 담기게 되는 것..
[3.7.6] Dive into Deep Learning : exercise answers 3.7. Weight Decay — Dive into Deep Learning 1.0.3 documentation d2l.ai [1] $\lambda$ can be any positive real number. However, to maintain the purpose of weight decay we should follow $\lambda \eta
[3.6.5] Dive into Deep Learning : exercise answers 3.6. Generalization — Dive into Deep Learning 1.0.3 documentation d2l.ai [1] Although the algorithm alows to plot non linear data, the problem of polynomial regression is that it has the vice of overfitting. Especially when there are n training data and we choose to fit the hypothesis function's degree to n. Since theoretically there is a perfect n degree function that passess all n points. Whic..
[3.5.6] Dive into Deep Learning : exercise answers 3.5. Concise Implementation of Linear Regression — Dive into Deep Learning 1.0.3 documentation d2l.ai [1] Let's say that the original loss function returns the total sum of the batch's loss(the learning rate is $\alpha$ and batch size is $n$). Thus the total impact of the loss will be $\alpha\times loss(y\_hat, y)$. However if we want the loss function to return the mean of the summed loss($loss..