앎을 경계하기

Contents 356

<DAFIT> 02 딥러닝으로 은하 분류하기 05 - Loss, Optimizer

이번 05 문제도 지난 04처럼 코드가 아닌 이론을 설명하는 문제이다. Loss function과 Optimizer에 대해서 설명하면 된다. loss function loss function은 ground truth(정답)과 생성한 모델의 예측값 간의 차이를 나타내는 함수. cross entropy(classification), mse(regression)가 대표적이다. cross entropy를 잘 설명해주는 블로그를 참고하면 좋을 것 같다. https://ratsgo.github.io/deep%20learning/2017/09/24/loss/ 딥러닝 모델의 손실함수 · ratsgo's blog 이번 글에서는 딥러닝 모델의 손실함수에 대해 살펴보도록 하겠습니다. 이 글은 Ian Goodfellow 등이..

<DAFIT> 02 딥러닝으로 은하 분류하기 04 - Relu, Softmax

4번 문제는 코드를 작성하는 게 아닌 이론적으로 설명하는 문제이다. relu 0보다 크면 그 값을 그대로 쓰고 0보다 작으면 0을 사용하는 활성화 함수. max(0,x) 입력이 음수인 경우 계속 0이 되어 dying Relu 가 발생한다. softmax 주로 output을 0~1 사이 값으로 정규화하여 주로 확률값으로 나타내는 경우에 사용하는 활성화 함수.

<DAFIT> 02 딥러닝으로 은하 분류하기 03 - CNN

이번에는 CNN모델을 구성해보는 문제다. 딥러닝을 이용한 은하 분류는 CNN을 사용하여 50x50 사이즈의 3가지 종류의 은하 이미지를 분류하는 것이다. model.add(layers.Conv2D(32, (3,3), activation='relu', input_shape=(50,50,3))) model.add(layers.MaxPooling2D((2,2))) model.add(layers.Conv2D(64, (3,3), activation='relu')) model.add(layers.Flatten()) model.add(layers.Dense(128, activation='relu')) model.add(layers.Dense(3, activation='softmax')) 문제에서 시킨대로 모델 구성 ..

<DAFIT> 02 딥러닝으로 은하 분류하기 02 - Image Data Generator

이 문제를 풀다가 정리했던 포스트를 링크한다. 2019/10/16 - [Study/Deep Learning] - Keras - ImageDataGenerator Keras - ImageDataGenerator Keras - ImageDataGenerator Keras에서 이미지 데이터를 학습할 때 실시간으로 data augmentation을 할 수 있도록 지원하는 클래스로 ImageDataGenerator가 있다. from keras_preprocessing.image import ImageDat.. whereisend.tistory.com 문제는 ImageDataGenerator를 사용하기 위해서 필요한 아래 코드의 A, B, C, D를 채우는 것이다. train_datagen = ImageDataGe..

<DAFIT> 02 딥러닝으로 은하 분류하기 01 - Import

DF901 데이터 전처리하기에 이어 이번에는 딥러닝으로 은하분류하기! CNN 모델을 구현해서 은하 이미지를 분류해보는 문제이다. Keras는 일단 Tensorflow를 base로 두고 있는 high-level API 이다. Keras Document 참고 Home - Keras Documentation Keras: The Python Deep Learning library You have just found Keras. Keras is a high-level neural networks API, written in Python and capable of running on top of TensorFlow, CNTK, or Theano. It was developed with a focus on enabl..

차근차근 Spinning Up 톺아보기 1 - Part 1: Key Concepts in RL

항상 RL 관련 논문을 찾을 때 Open AI의 Spinning Up을 이용했었는데 막상 제대로 살펴본 적이 없어서 Spinning Up에 대한 정리를 해보려고 한다. 사이트는 아래 참고하기 https://spinningup.openai.com Welcome to Spinning Up in Deep RL! — Spinning Up documentation © Copyright 2018, OpenAI. Revision 2e0eff9b. spinningup.openai.com INTRODUCTION TO RL Part 1 : RL 핵심 개념 RL은 무엇을 할 수 있을까? 강화학습이 최근 들어 다양한 것들에서 좋은 결과를 내고 있다. 예를 들어, 시뮬레이션 환경에서 로봇을 컨트롤 하기 위한 학습 방법으로 RL..

Monte Carlo Tree Search

강화학습 공부를 하면서 몬테카를로 트리 탐색에 대해 알게되어 검색해보니 Decision making 알고리즘 중 하나. 몬테카를로 트리 탐색 : 의사결정을 하기위한 탐색 알고리즘. 어떻게 움직이는 것이 가장 좋은지 분석하면서 random sampling을 해서 search tree를 확장해나간다. 몬테카를로 트리 탐색은 매번 네 단계를 거친다. 1. selection 2. expansion 3. simulation 4. backpropagation selection 루트 노드에서 시작해서 자식 노드를 선택하면서 내려가서 리프 노드에 다다른다. 가장 승산있는 수로 확장시킬 자식 노드를 선택한다. expansion 리프 노드에서 게임이 종료된다면 하나 이상의 자식 노드를 생성하고 그 중 하나의 노드 C를 선..

Machine Learning 2019.10.28

백준 #1874 - 스택 수열 python

처음 접근법 : 스택 두 개를 만들고 하나 스택은 push 하는 용도, 나머지는 pop 하는 용도 → 시간 초과, 메모리 초과 두번째 접근법 : 덱 하나에 push 했다가 pop한 숫자들 다시 덱에 넣어서 계속 검사하게 만듦 → 시간 초과 세번째 접근법 : 스택 하나에 입력된 수 만큼 넣었다가 top이 입력한 수와 맞으면 pop하도록 함 → 정답 import sys import collections n = int(sys.stdin.readline()) stack = collections.deque() ans = '' idx = 0 for i in range(n): num = int(input()) while idx = idx: idx+=1 ans+='+\n' stack.appe..

<DAFIT> 01 자연어 데이터 전처리 연습 - 03 사전순 배열시키기

import re filePath = 'drive/My Drive/다핏문제/01/Beta01_NLP.txt' p = re.compile('[ A-Z-a-z]') f = open(filePath, mode='r', encoding='euc-kr') s = f.read() f.close() s = p.findall(s) print(s) s = ''.join(s).split(' ') s = list(set(s)) for i in range(len(s)): s[i] = s[i].lower() s = sorted(s) f = open('drive/My Drive/다핏문제/03/DF901_03_이름.txt', mode='w', encoding='euc-kr') f.write('\n'.join(s)) f...