목록분류 전체보기 (165)
No Limitation
참고 자료 https://wikidocs.net/53560 유원준 님의 Pytorch로 시작하는 딥러닝 입문 책 자료를 참고하였습니다. 만약 데이터가 몇천만개나 억개가 넘어가는 굉장히 방대한 데이터의 경우면 이러한 데이터에 대해 일일이 Gradient Descent를 수행하는 것은 매우 연산이 많게 될 것이다. 이러하 경우 전체 데이터를 작은 단위로 나누어 학습을 하게 되는데 이 때 이 사이즈를 batch size라고 한다. 이러한 batch size=5라고 하면 전체 데이터를 5등분을 수행하게 각 batch 마다 Gradient Descent를 수행하게 된다. 이 Gradient Descent를 전체 데이터에 수행하면 1번의 epoch가 수행되게 된다. Batch Size = 1인 경우는, 전체 데이터..
https://wikidocs.net/60754 유원준 님의 Pytorch로 시작하는 딥러닝 입문 이전 포스팅 https://yscho.tistory.com/44 대부분의 Pytorch 상의 모델은 클래스로 구현한다. 이번에는 클래스를 통한 구현하는 예제를 익히고자 한다. 앞선 포스팅에서 nn.Linear를 이용하여 모형을 구현한 예제를 살펴보았다. 이는 클래스로 만들면 더 편하게 사용할 수 있는데 다음과 같이 사용하는 것이 일반적이다. 다음과 같이 객체로 정의하는 것이다. 그렇다면 클래스 객체 안의 내용을 자세하게 파헤쳐보자 우선 모형을 만들 때 nn.Module을 상속받고 super() 함수를 통해 자동으로 __init__을 nn.Module 것을 상속받게 한다. 또한 forward 함수를 통해 예측..
참고 자료 https://wikidocs.net/53560 유원준 님의 Pytorch로 시작하는 딥러닝 입문 책 자료를 참고하였습니다. 선형 회귀를 수행하기 위해 매번 수식을 직접 정의해서 푸는 것은 매우 까다롭기에 친절하게도 파이토치에서는 선형 회귀를 수행해주는 모듈이 존재하는데 대표적으로 많이 쓰이는 nn.Linear 모듈이다. 또한 loss 함수도 직접 구현할 필요 없이 내장된 다양한 loss가 존재하는데 regression에서 많이 사용하는 MSE 모듈의 경우도 별다른 구현 없이 내장된 함수를 사용할 수 있다. 다음 코드들을 살펴보자 단순 선형 회귀부터 살펴보자. 우선 다음과 같이 데이터를 구축해준 다음에 nn.Linear를 사용하여 선형 회귀 모형을 만들어보자 우선 선형 회귀 모형을 호출해준다...
6장 여리고 성이 무너지다. 27. 여호와께서 여호수아와 함께하시니 여호수아의 소문이 그 온 땅에 퍼지니라 성을 7번 도는 행위와 나팔을 부는 행위 등 전쟁을 준비하는 것과는 상관이 없어보이는 행위들을 주님께서 시키셨을 때 여호수아는 강하게 순종하였고 이스라엘 백성들도 곧이곧대로 그 말씀에 순종하였다. 정말 아무런 문제 없이 하나님 말씀에 순종하는 이들의 믿음과 이들을 이끄는 여호수아의 담대함이 부러웠다. 이토록 강인한 남자임이 너무도 부러웠다. 7장. 10. 여호와께서 여호수아에게 이르시되 일어나라 어찌하여 이렇게 엎드렸느냐 11. 이스라엘이 범죄하여 내가 그들에게 명령한 나의 언약을 어겼으며 또한 그들이 온전히 바칠 물건을 가져가고 도둑질하며 속이고 그것을 그들의 물건들 가운데에 두었느니라 12. 그..
https://wikidocs.net/60754 유원준 님의 Pytorch로 시작하는 딥러닝 입문 https://yscho.tistory.com/33?category=1040585 이전 포스팅 참고! Pytorch는 내부적으로 자동으로 Gradient Descent를 수행해주는 Autograd 기능이 있다. 예를 들어보자 w=2에서 2w^2 + 5라는 수식에서 gradient를 구해보자 y = w^2 z = 2y+5라고 하고 z를 w에 대한 gradient 값은 다음과 같이 8이 나오게 된다. 앞선 포스팅에서는 변수가 1개인 회귀식으로 y를 예측하는 모델을 짜보았다. 다음은 변수가 3개인 다중 선형 회귀를 Pytorch로 간단하게 구현해보았다. 우선 단순한 1차원 벡터로 X값과 Y값들을 나타내겠습니다. ..
https://www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 다음 문제는 Dynamic Programming으로 푸는 문제인지는 잘 모르겠지만 여기서는 단위 3, 5를 기반으로 푸는 것이라는 아이디어는 DP에 기초함 예를 들면 다음을 생각해보자 18을 만들어야 하는데 3, 5단위로 만들려면 3을 6번 쓸 때 5번 쓸 때,... 이럴 때 5로는 어떻게 만들고 이런 경우의 수를 계산해주면 문제는 간단히 구현된다 N = int(input()) i = 1 while 3*i ..
강의 참고용 https://www.youtube.com/watch?v=4DzKM0vgG1Y 강의는 동빈나님의 강의를 참고하였습니다. seq2seq는 말 그대로 sequence to sequence, 즉 한 나라의 언어로 된 시퀀스를 다른 나라의 언어 시퀀스로 번역하는 작업을 수행하는 방법이다. 즉, 번역을 하는 데에 최적화된 알고리즘이고 Transformer가 등장한 2017년 이전까지는 sota를 기록했던 알고리즘이다. 하나의 시퀀스는 여러 토큰으로 구성된 하나의 문장으로 간주할 수 있고 이러한 문장을 구성하는 요소들이 연속적으로 들어가 번역이 이루어지는데 내부적으로는 LSTM으로 구성이 되어 동작하게 된다. 내부적으로는 2개의 깊은 LSTM 신경망으로 구성이 되어 있는데 하나는 Encoder로, 즉 ..
참고 강의 고려대학교 산업경영공학부 강필성 교수님 https://www.youtube.com/watch?v=nu_6PB1v3Xk 익히 알듯, RF는 bagging의 특수한 형태! 또한 RF의 경우 Decision Tree based의 알고리즘이라는 것을 기억하고 들어가자 Bagging의 경우는 데이터를 복원추출(Boostrap)해서 각 부스트랩마다 복잡도가 높은 모델들을 기본적으로 학습을 하는 포맷을 취하는데 Base Learner로는 인공 신경망, Decision Tree, Support Vector Machine들을 사용할 수 있다. RF는 다음 2가지 방법을 통해 앙상블의 Diversity를 증가시키는데, [1] Bagging [2] Randomly chosen predictor variables ..
https://programmers.co.kr/learn/courses/30/lessons/42895 코딩테스트 연습 - N으로 표현 programmers.co.kr 이러한 DP 문제에서 경우의 수를 다루는 문제를 익혀야 한다...! 여기서도 5를 1번만 쓴 경우 만드는 경우의 수 [5] 5를 2번 쓴 경우 만드는 경우의 수 [55, (5+5), (5-5), (5/5), (5*5)] 이렇게 경우의 수를 생각해볼때 5를 3번 쓴 경우를 만드는 경우의 수는 다음과 같다 555를 먼저 추가해주고 [5] 와 [55, (5+5), (5-5), (5/5), (5*5)] 사이의 사칙연산 (+, -, /, *) [55, (5+5), (5-5), (5/5), (5*5)] 와 [5] 사이의 사칙연산 (+, -, /, *)..
https://www.acmicpc.net/problem/2293 2293번: 동전 1 첫째 줄에 n, k가 주어진다. (1 ≤ n ≤ 100, 1 ≤ k ≤ 10,000) 다음 n개의 줄에는 각각의 동전의 가치가 주어진다. 동전의 가치는 100,000보다 작거나 같은 자연수이다. www.acmicpc.net DP 유형의 정석과도 같은 문제이다. 아예 이 문제를 암기해도 괜찮을거 같다. 참고 포스팅 : https://www.youtube.com/watch?v=2IkdAk1Loek https://velog.io/@ready2start/Python-%EB%B0%B1%EC%A4%80-2293-%EB%8F%99%EC%A0%84-1 이 문제는 쉽게 말하면 부분 문제로 전체 문제를 푸는 아이디어에 기초한다. 예를 ..