CS
[Deep Learning] MLP(Multi-layer perceptrons)
[Deep Learning] 인공 신경망 순서 1. Linear regression 2. Single Layer Perceptron 3. Multi Layer Perceptron to slove XOR 신경망 모델 뉴런을 수학적으로 모델링 한 것. 뉴런이 다른 여러개의 뉴런으로부터 입력값을 받아서 외부로 출력값을 내보내는 것처럼, 인공신경망 모델은 여러 입력값을 받아서 일정 수준이 넘어서면 활성화되어 출력값을 내보낸다. 신경망 모델 학습 프로세스 데이터 processing: 데이터 전처리하는 과정 (ex 784차원 --(reshape)-->28X28) model 디자인: layer 종류, 개수 및 뉴런 개수 설정 + 각 layer마다의 activation function 설정 Loss function 설..
[BaekJoon] 백준 2562번 최댓값
[BaekJoon] 백준 2562번 최댓값 문제: https://www.acmicpc.net/problem/2562 내코드 - 간단한 문제 #include #include using namespace std; int main(void) { ios::sync_with_stdio(false); cin.tie(0); int num[9]; int max = 0; for (int i = 0; i > num[i]; max = max < num[i] ? num[i] : max; } cout
[Deep Learning] MNIST
MNIST - 손으로 쓴 숫자들로 이루어진 대형 데이터베이스. 이미지 + 이미지에 해당하는 라벨로 구성되어 있다. 여기서 라벨이란 해당 이미지가 의미하는 숫자다. - 이미지 하나당 28X28 = 784차원의 픽셀로 이루어져 있다. 각각 픽셀 하나는 0-1사이의 값인데 0에 가까우면 흰색으로 칠해서 이미지를 보여주고 1에 가까우면 검은색으로 칠한다. 이를 통해 컴퓨터가 어떤 이미지인지 인식하게 된다. 여기서 픽셀을 표현하는 벡터는 [ 0, 0, 0, 1, 0 ,... 0] -> 이와 같이 linear하게 표현된다. - 라벨은 0부터 9까지 할당된다. 라벨도 [0, 0, 1, 0,...,0] -> 이와 같이 one-hot방식으로 표현된다. MNIST data 7만개의 데이터가 있다. Training Data..
[Deep Learning] Tensorflow 설치 및 기본 사용법
Tensorflow 설치 텐서플로우란 데이터 플로우 그래프를 사용하여 수치 연산을 하는 오픈소스 소프트웨어 라이브러리 (참고 https://tensorflowkorea.gitbooks.io/tensorflow-kr/content/g3doc/) Anaconda 설치 - 가상환경 만들어줌 - https://www.anaconda.com/distribution/ Anaconda Python/R Distribution - Free Download Anaconda Distribution is the world's most popular Python data science platform. Download the free version to access over 1500 data science packages an..
[Deep Learning] Introduction
용어 Artificial Intelligence(인공지능) : 인간의 지능이 갖고 있는 기능을 갖춘 컴퓨터 시스템. 인간의 지능을 기계 등에 인공적으로 구현한 것. Machine Learning(기계학습) : 인공지능에 포함된 개념으로 충분한 Data(Big data)가 있을 때 data Modeling을 통해 새로운 data를 도출해 내서 decision을 만들어 내는 것. 즉 컴퓨터가 학습할 수 있도록 하는 알고리즘과 기술을 개발하는 분야 Deep Learning(딥러닝) : 기계학습의 한 분야로 인공 신경망 기술을 이용함. 기계학습 알고리즘의 집합. What you'll learn in this course 1. (Artificial) Neural Networks and Deep Learning -..
[BaekJoon] 백준 2752번 세수정렬
[BaekJoon] 백준 2752번 세수정렬 문제: https://www.acmicpc.net/problem/2752 내코드 - 입출력을 연습해볼만한 간단한 문제 - 입력받아서 정렬하고 출력하면 된다. - list의 sort함수를 사용해 주었다. #include #include #include using namespace std; int main(void) { ios::sync_with_stdio(false); cin.tie(0); list li; int a, b, c; cin >> a >> b >> c; li.push_back(a); li.push_back(b); li.push_back(c); li.sort(); list::iterator iter; for (iter = li.begin(); iter ..
[BaekJoon] 백준 2573번 빙산
[BaekJoon] 백준 2573번 빙산 문제: https://www.acmicpc.net/problem/2573 내코드 - BFS/DFS 문제. 인접한 노드들 개수를 세줘야되서 bfs의 재귀로 푸는건 안됬다. 그래서 익숙한 bfs로 풀어줬다. - BFS: Queue, 너비우선, push 할때 visited = true; function bfs(){ 1. pop 2. 인접한 노드들 push } - while문을 돌릴때마다 모든 노드가 0이 되지 않았는지 체크해준다. - while문 안에서 변수들을 초기화 해준후, bfs를 돌려준다. 이때 인접 노드가 0이면 배열 nearNode[x][y]++을 해줘서 인접한 바다노드의 개수를 세준다. - 한 뭉텅이가 끝나면 year확인 후 2보다 크지 않으면 세준 인접한..
[BaekJoon] 백준 2468번 안전영역
[BaekJoon] 백준 2468번 안전영역 문제: https://www.acmicpc.net/problem/2468 내코드 - bfs, dfs 로 풀수 있는 문젠데 bfs로 문제를 많이 풀어서 이번에는 dfs로 풀어보았다. - DFS : Stack을 이용, 깊이 우선 function dfs(Node root){ root.visited = true; for each( root 노드에 인접한 모든 노드들에 대해){ if(n.visited == false) dfs(n); } - 물에 잠기는 높이가 주어지지 않았기 때문에 높이 = 0 ~ 최대 높이 - 1 까지 전부 돌려봐야 하지 않을까 생각. - 주어진 입력을 받아서 높이가 가장 높은 영역의 높이를 구해줬다. - 새로운 array에 물에 잠긴 부분은 1, 물..