BOJ 11003 최솟값 찾기
#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...
BOJ 10871 X보다 작은 수 성공
#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...
BOJ 10817 세 수
#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 5-2 Convolutional Neural Networks
보통 Conv Neural network 는 Conv->Relu 로 layer 를 구성하고 Pool layer 를 넣게된다.
그럼 실제로 filter 가 어떻게 image 에 적용이 될까?
filter 는 image 를 stride 만큼 이동하면서 dot product 를 진행한다.
하지만 filter의 size와 slide의 관계에서 한 image 를 정확하게 다 보지 못하는 경우가 생길 수 있다.
이런것을 해결해주는게 바로 Padding 이다.
대표적인 padding 은 zero padding 으로, iamge의 가장자리에 0 을 채워넣는 방식이다.
부족한 수 만큼 zero pad...
cs231n Lecture 5-1 Convolutional Neural Networks
고양이가 사물을 인식할때, 도형의 모양에 따라서 동작이 발생하는 뉴런이 다름을 알 수 있었다.
또한 Locality 에 따라 동작하는 뉴런이 다름을 알 수 있다.
사람의 두뇌도 비슷하게 작동한다.
모양에따라 작동하는 뉴런이 다르다. 여기서 착안하게 바로 Convolutional Neural Network 이다.
기존 FC Layer 는 input 을 하나의 긴 vector 로 변환해서 한번에 모든 데이터를 처리했다.
Convolution Layer 는 Filter 라는게 있는데 이 filter는 쉽게 말해서 이미지를 바라볼 ‘관점’ 이다.
filter 는 이미지를 sliding 하면서 원본 i...
cs231n Lecture 4 - 2 Backpropagation and Neural networks
앞에 까진 scalar 에 대해서 Back propagation 에 대해 알아보았다.
이제 vector에 대해 알아보자.
vector 일때도 chain rule 이 똑같이 적용된다.
Jacobian matrix 에 대한 설명은 공돌이의 수학정리노트 에 있는 설명을 보면 좋을거같다. 정말 잘 설명되있다!
공돌이의 수학정리노트
정리를 하자면, Jacobian matrix는, 다른 축의 좌표계로 변환될때 변위들의 관계속에서,
원래 변위와 변화될 변위의 관계를 설명하는 matrix 이다.
뭔가 수학적으로 어려워 보이지만, 그냥 z에 대한 x 의 미분값이 Jacobian matrix가 되는것이다.
그동...
cs231n Lecture 4 - 1 Backpropagation and Neural networks
lecture 3 에서 배웠던 Analytics Gradient 를 복잡한 함수, 복잡한 모델에서 진행하는 방식을 학습해보자.
수식을 그래프로 바꿔서 생각해보자.
어디서 많이 들어본 발상이다.
바로 Tensorflow 에서 사용하는 모든 수식을 그래프로 만들어 처리하는 바로 그 방식이다.
그럼 왜 수식을 이렇게 표현할까?
바로 Back Propagation이 가능하기 때문이다.
우리는 x라는 input 을 까지고, W 라는 parameter 를 가진다. 그럼 parameter 를 바꿔줘야 x 에 대한 최적의 값을 얻을수 있다.
근데 parameter 가 존재하는 위치가 어딜까? 단순하게 지역적으로 ...
BOJ 7562 나이트의 이동
시작지점에서 BFS 로 이동하면서, 지나간곳은 못지나가게 check, 이동할때 bfs depth 를 기록해주면서 이동한다.
최종적으로 모두 이동했을때, 목적지의 bfs depth 를 출력해주면 된다.
#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <cstring>
#include <string>
#include <algorithm>
#include <cmath>
#include <vector>
#include <queue>
#include <...
BOJ 3015 오아시스 재결합
#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...
BOJ 2997 네 번째 수
들어가야할 수가 어느 구간에 존재해야할지 채크만 해주면 된다.
가장 클지, 3번째 수일지, 2번째 수일지 채크해주면 된다.
#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <cstring>
#include <string>
#include <algorithm>
#include <cmath>
#include <vector>
#include <queue>
#include <stack>
#include <deque>
#include ...
BOJ 2877 4와 7
4 와 7 로만 이루어 진 수, 즉 이진수 변환 문제이다.
각 자리수에는 오직 2^자리수 만큼만의 경우의수가 존재 하므로 이를 활용한다.
최종 자리수가 정해지면, 그 자리수부터 4 인지 7 인지 판별하는것은 masking 연산으로 가능하다.
각 자리수에서 비트가 1 인 자리는 7, 0이면 4 이다.
#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <cstring>
#include <string>
#include <algorithm>
#include <cmath>
#...
BOJ 1157 단어 공부
단어를 모두 소문자 또는 대문자로 만든 후,
각 알파벳의 출현 개수를 새준다.
주의할것은, 최대치가 2번 이상 나왔다면, ? 를 출력해야하는것을 잊지 않는것이다.
#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <cstring>
#include <string>
#include <algorithm>
#include <cmath>
#include <vector>
#include <queue>
#include <stack>
#include ...
전체 글 228개, 19 페이지