Leetcode - two sum

문제 링크: https://leetcode.com/problems/two-sum/ class Solution: def twoSum(self, nums: List[int], target: int) -> List[int]: hashmap = dict() for index, num in enumerate(nums): print(index, num, target) if target - num in hashmap: return [hashmap[target-num], index] else: ...

더보기

Leetcode - Longest Palindromic Substring

문제 링크: https://leetcode.com/problems/longest-palindromic-substring/ class Solution { public: string longestPalindrome(string s) { int len = s.length(); int dp[1005][1005]; int res_l = 0, res_r = 0; memset(dp, 0, sizeof(dp)); // length 1 Palindromic substring for(int i=0; i<...

더보기

Leetcode - Add Two Numbers

문제 링크: https://leetcode.com/problems/add-two-numbers/ /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { public: ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) { int sum = 0; ListNode* res = NULL;...

더보기

BOJ 12015 가장 긴 증가하는 부분 수열 2

#include <cstdio> #include <cstdlib> #include <iostream> #include <cstring> #include <string> #include <algorithm> #include <cmath> #include <vector> #include <queue> #include <stack> #include <deque> #include <map> #include <unordered_map> #include <set> #includ...

더보기

cs231n Lecture 14 - Reinforcement Learning

14강은 강화학습에 대한 내용을 다룹니다. 강화학습에 대해 아무것도 모르는 상태에서 강의를 수강하였고, 아래 블로그와 slide 를 보충하여 학습하였습니다. 참조 링크 https://dhznsdl.tistory.com/5?category=731324 https://www.slideshare.net/WoongwonLee/rlcode-a3c 강화학습은 Env(Environment) 와 Agent 간의 상호작용에서 학습이 이루어집니다. Agent 는 초기 상태에서 특정 Aciton을 하면, reward와 다음 state 를 얻게 되고, 다음 action 을 하게 됩니다. Markov Decision Pr...

더보기

cs231n Lecture 13-5 Generative Models

GAN VAE에서 엄청난 수식 계산을 해야했던건, 미리 모델을 만들고, 해당 모델이 input 의 distribution 을 기반으로 MLE 를 해야 했기 때문입니다. GAN 은 명시적으로 밀도함수를 모델링 하지 않고, 게임 이론으로 문제를 해결하려합니다. simple distribution 을 하나 만들고 그 distribution 을 training distribution 으로 transformation 하는 것을 학습하는것입니다. Generator 와 Discriminator 라는 두 가지 network 가 존재합니다. Generator 는 simple random noise 에서 fake...

더보기

cs231n Lecture 13-4 Generative Models

data likelihood 에서, p_세타(z) 의 경우 gaussian prior 으로 구할 수 있습니다. 뒤에있는 P_세타(x z), decoder network 로 부터 얻을 수 있는 likelihood 입니다. 특정 latent variable 에 대해서는 알 수 있을것입니다. 하지만 모든 latent variable을 알 수 없습니다. 우리가 고양이를 판단할때, 의식적으로 생각하는 feature 들 보다, 무의식적으로 processing 되는 feature 들이 훨씬 많을듯이, 그 feature 들을 우리는 알 수 없다는것이 문제입니다. ...

더보기

cs231n Lecture 13-3 Generative Models

VAE(Variational Autoencoder) Pixel 단위 generate 모델들은 tractable density function 을 미리 define 해두고, traning data 의 likelihood 를 optimize 하는 방향으로 학습했다. VAE 는 intractable density function 을 define 한다. 여기서 latent Z 라는 parameter 가 필요한데, 한국어로는 잠재 변수 라고 부른다. 이 잠재 변수는 training data distribution 의 feature 이다. 사람의 얼굴이 모여있는 데이터라면, 사람이 웃고있는지, 고개 방향이 왼쪽인지 ...

더보기

cs231n Lecture 13-2 Generative Models

PixelRNN, PixelCNN PixelRNN 은 앞의 모든 pixel 이 존재할때 자신의 pixel 이 존재할 확률 분포를 통해 새로운 image x 를 생성하는 모델입니다. 1-d image 의 likelihood를 decompose 하기위해 chain rule 를 사용합니다. training data 의 likelihood 를 최대화함. corner 부터 시작하여 sequentially generate 한다. LSTM 을 사용하여 이전 픽셀의 dependency 문제(likelihood 를 계산할때, x_i given x_1 to x_i-1 이 필요하기 때문)를 해결한다. 하지만 순차적으...

더보기

cs231n Lecture 13-1 Generative Models

주의! 이번 강의에 나오는 확통 지식중에 틀린 지식이 있을 가능성이 있습니다. 제가 공부하면서 정리한 내용이라 틀릴 수 있으므로, 참고했던 링크를 같이 첨부했습니다. 기존의 supervised learning 은 label 이 필요했고, Classification, regression 등의 간단한 테스크들부터, object detection, semanticsegmentation, image captioning 등 고차원적인 테스크도 가능했다. unsupervised learning 은 label 이 필요없고, data 의 구조를 파악하는 테스크들이 주로 있었다, clustering, dimensiona...

더보기

BOJ 9507 Generations of Tribbles

#include <cstdio> #include <cstdlib> #include <iostream> #include <cstring> #include <string> #include <algorithm> #include <cmath> #include <vector> #include <queue> #include <stack> #include <deque> #include <map> #include <unordered_map> #include <set> #includ...

더보기