목록전체 글 (165)
No Limitation
참고 자료 https://wikidocs.net/53560 유원준 님의 Pytorch로 시작하는 딥러닝 입문 책 자료를 참고하였습니다. Pytorch에서 로지스틱 회귀 분석을 구현해보자. Binary Classification을 예로 들어 살펴보자 주어진 데이터는 다음과 같다. 다음 데이터를 바탕으로 가중치와 편향 값을 초기화하면 다음과 같다. 이에 Hypothesis는 시그모이드 함수에 회귀식을 집어 넣는 식으로 구축이 가능하고 Loss는 Cross Entropy 값으로 구현된 수식을 집어 넣어 구현할 수 있다. 이로써 Logistic Regression의 Gradient Descent는 다음과 같이 구현할 수 있다. 그렇다면 동일한 기능을 nn.Module을 사용하여 구현해보자 다음과 같이 층을 쌓아..
17장 14-18절 요셉 자손은 큰 민족임에도 한 분깃만 주어진 것에 대해 불만을 이야기하지만 여호수아는 스스로 개척하라는 말을 한다. 즉, 하나님께서 주셨음을 약속하셔도 그것을 그냥 거저 주시는 것이 아니라 스스로 개척하기를 원하신다는 것을 알았다. 은혜를 주시는 것도, 그냥 나의 아무런 노력 없이 그냥 거저 주시는 것이 아니다. 하나님께서 전적으로 주시지만 그 은혜를 내가 누리며, 내가 그 은혜를 사용하여 빛을 발하는 것은 내 노력의 여하에도 달린 것이다. 달란트를 주셨으면 노력해서 그 달란트로 가치를 만들어야 한다. 현재 나에게는 학업과 연구라는 달란트를 주셨으면 이를 가지고 열심히 갈고 닦아 하나님의 이름을 밝혀야 한다. 그것이 내가 해야 할 일이다. 그럼으로 어떤 순간에도 게을리해서는 안된다. ..
참고 강의 : jiyang Kang 님의 강의 https://www.youtube.com/watch?v=upskBSbA9cA 본 논문의 등장 배경은 기존 seq2seq의 한계점을 보완하고자 하는 모형이다. 우선 다음 그림은 이전 포스팅에서 사용한 그림이었는데 다음과 같이 중간에 ‘Large fixed dimensional vector representation’ 이 부분이 바로 인코더에서 마지막 hidden state를 context vector로 사용할 때 그 크기가 기존 input size와 동일한 크기로 고정이 된 것을 의미하게 된다. (학습 시) 조금 더 구체적으로 복습해보면 다음 그림에 해당하는 것처럼 동작을 하게 되는데 인코더에서는 마지막 hidden state에서 도출되는 벡터 값을 기반으로..
https://www.acmicpc.net/problem/12026 12026번: BOJ 거리 스타트가 링크를 만나는데 필요한 에너지 양의 최솟값을 출력한다. 만약, 스타트가 링크를 만날 수 없는 경우에는 -1을 출력한다. www.acmicpc.net 참고 포스팅 https://hjp845.tistory.com/167 https://ngwoon.github.io/boj/2021/04/07/BOJ-%EA%B1%B0%EB%A6%AC/ B O J 순으로 가 최종 목적지에 도달할 때 드는 가장 최소의 비용을 계산하는 문제이다. B - O - J 로 가는 경우의 수를 Greedy하게 푸는 것이 가장 최적이라고 생각했지만 다음 반례를 생각해보면 Greedy가 최적의 solution을 보장해주지 못한다. 다음 반례를..
https://www.acmicpc.net/problem/15989 15989번: 1, 2, 3 더하기 4 정수 4를 1, 2, 3의 합으로 나타내는 방법은 총 4가지가 있다. 합을 나타낼 때는 수를 1개 이상 사용해야 한다. 합을 이루고 있는 수의 순서만 다른 것은 같은 것으로 친다. 1+1+1+1 2+1+1 (1+1+2, 1+2+1) 2+2 www.acmicpc.net 동전 1과 유사한 유형으로 생각하면 된다 https://yscho.tistory.com/37 [DP] 동전 1 - 백준 https://www.acmicpc.net/problem/2293 2293번: 동전 1 첫째 줄에 n, k가 주어진다. (1 ≤ n ≤ 100, 1 ≤ k ≤ 10,000) 다음 n개의 줄에는 각각의 동전의 가치가 주..
https://www.acmicpc.net/problem/15486 15486번: 퇴사 2 첫째 줄에 N (1 ≤ N ≤ 1,500,000)이 주어진다. 둘째 줄부터 N개의 줄에 Ti와 Pi가 공백으로 구분되어서 주어지며, 1일부터 N일까지 순서대로 주어진다. (1 ≤ Ti ≤ 50, 1 ≤ Pi ≤ 1,000) www.acmicpc.net 참고 포스팅 https://j2wooooo.tistory.com/42 결국 이 문제 역시 점화식으로 푸는 문제였다. 각 일별 최적의 수익을 정리하기 위해서는 다음 논리로 갈 수 있다. 예를 들어 x일 날의 최적의 수익은 다음 중 하나이다. x일 상담 끝나는 날짜가 퇴사 일을 넘기는 경우 → x일의 최적의 수익은 x+1일의 최적의 수익과 동일하다 ( dp[x] = dp..
https://programmers.co.kr/learn/courses/30/lessons/68645 코딩테스트 연습 - 삼각 달팽이 5 [1,2,12,3,13,11,4,14,15,10,5,6,7,8,9] 6 [1,2,15,3,16,14,4,17,21,13,5,18,19,20,12,6,7,8,9,10,11] programmers.co.kr 전에 월간 코드 챌린지를 참여했을 땐 시간 부족으로 풀지 못했던 문제인데 기회가 생겨 다시 풀게 되었다. 당시는 규칙을 찾으려고 발버둥을 쳤던 문제였는데 단순 구현 문제였다. 논리는 단순하다. 우선 다음과 같이 0을 담고 있는 빈 삼각형을 만들어준다. 다음으로 [1] 첫 번째 요소를 채워주는 반복문을 구축한다. [2] 다음으로 마지막 element요소를 채워주는 반복문..
https://www.acmicpc.net/problem/11047 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net 반례와 많이 씨름을 했던 문제이다. 다음 문제는 동전을 이용하여 주어진 수를 구축할 때 가장 최소가 되게 하는 문제로 굉장히 단순한 유형에 속했지만 반례를 대응하지 못해 한동안 고생했던 문제였다. 논리는 다음과 같다. 4200원을 만들기 위해 1000원, 300원 1원이 주어졌다고 하면 Greedy의 논리를 빌려 가장 큰 1000원이..
https://www.acmicpc.net/problem/12865 12865번: 평범한 배낭 첫 줄에 물품의 수 N(1 ≤ N ≤ 100)과 준서가 버틸 수 있는 무게 K(1 ≤ K ≤ 100,000)가 주어진다. 두 번째 줄부터 N개의 줄에 거쳐 각 물건의 무게 W(1 ≤ W ≤ 100,000)와 해당 물건의 가치 V(0 ≤ V ≤ 1,000) www.acmicpc.net Knapsack 문제의 전형적인 예시다. 메모이제이션을 이용하여 recursion을 통해 구현하였다. 본 문제는 정석적인 문제라 형태를 외워놔도 좋을 것 같다. n, k = [int(x) for x in input().split()] weight = []; value = []; dic = {}; for _ in range(n) : ..
참고 자료 https://wikidocs.net/53560 유원준 님의 Pytorch로 시작하는 딥러닝 입문 책 자료를 참고하였습니다. Pytorch에서는 데이터셋을 상속받아 직접 데이터셋을 지정하는 식으로 많이 사용한다고 한다. 일반적으로 데이터셋을 구축할 때는 다음 세가지를 정의한다고 한다. __init__(self) : 데이터셋의 전처리를 해주는 부분 __len__(self) : 데이터셋의 길이, 샘플 수 __getitem__(self,idx) : 데이터셋에서 특정 1개의 샘플 가져오기 앞서 구현하였던 다중 선형 회귀를 돌리는 데이터셋을 정의하는 커스텀 데이터셋을 다음과 같이 사용할 수 있다.