앎을 경계하기

Contents 356

백준 #10828 - 스택 python

instruction = int(input()) stack = [] ins = {} for i in range(instruction): ins[i] = input().split(' ') for i in range(instruction): if ins[i][0] == 'push': # 정수 x 스택에 넣음 stack.insert(0,int(ins[i][1])) elif ins[i][0] == 'top': # 스택 가장 위 정수 출력 정수 없는 경우 -1 if len(stack) != 0: print(stack[0]) else: print(-1) elif ins[i][0] == 'size': # 스택 정수 개수 출력 print(len(stack)) e..

PyTorch - What is PyTorch (1)

WHAT IS PyTorch? 가장 먼저 PyTorch를 시작하려면 import 해야한다. import torch 텐서 생성 import torch x = torch.empty(5, 3) y = torch.rand(5, 3) z = torch.zeros(5, 3, dtype=torch.long) u = torch.tensor([5.5, 3]) x = x.new_ones(5, 3, dtype=torch.double) y = torch.randn_like(x, dtype=torch.float) torch.empty(size) 초기화 되지않은 tensor 생성 torch.rand(size) [0,1) 값 랜덤하게 초기화된 tensor 생성 torch.zeros(size) 0으로 채워진 tensor 생성 tor..

Machine Learning 2019.10.16

Keras - ImageDataGenerator

Keras - ImageDataGenerator Keras에서 이미지 데이터를 학습할 때 실시간으로 data augmentation을 할 수 있도록 지원하는 클래스로 ImageDataGenerator가 있다. from keras_preprocessing.image import ImageDataGenerator ImageDataGenerator Keras API API에 나와있는 example을 보자. (x_train, y_train), (x_test, y_test) = cifar10.load_data() y_train = np_utils.to_categorical(y_train, num_classes) y_test = np_utils.to_categorical(y_test, num_classes) dat..

Machine Learning 2019.10.16

코세라 - 04 Multiple features

어떠한 문제를 풀 때 변수가 여러개 일 수 있다. 여러개의 features와 변수들을 이용한 linear regression 추론에 대해서 알아보자. ex) 집 값을 결정하는 변수 - size, 침실 수, 층 수 등 Notation 4번째 샘플의 x1 feature 값이다. (852) 이전에는 하나의 변수를 사용했다면 지금은 여러개의 변수를 사용하는 방법을 알았다. 그렇다면 수식은 어떻게 변해야할까 만약 n개의 features가 있다면 그만큼 파라미터와 수식 늘어나게된다. 이번에는 hypothesis의 parameters를 어떻게 정하는지 알아보자. 위 식은 x0=1이라는 정의하에 나온 식이다. Parameters을 개별적으로 생각하지않고 그냥 θ라고 여기도록 하자. 이 θ는 n+1차원의 벡터이다. 위 ..

Machine Learning 2019.08.30

코세라 - 03 Gradient Descent

Gradient Descent Cost function J를 최소화하기 위한 방법 머신러닝 전반에 사용되는 개념 문제 정의 제일 먼저 해야할 것은 params을 초기화 하는 것이다. 초기화를 잘해줘야 다른 시작보다 빠르게 최저점을 찾을 수 있다. 한 점에서 주위를 보고 어디가 가장 경사가 급한지 보고 그 지점으로 learning rate라는 보폭만큼 걸어 나간다. 이 과정을 반복하여 minima를 찾는다. := 은 할당받는 것을 의미한다. (assignment) α = learning rate update를 진행할 때 계산을 먼저 진행 하고서 두 파라미터를 업데이트하는 것이 더 자연스럽다. Incorrect 부분을 보면 𝜃1을 계산하게 되면 값이 바뀌기 때문에 옳게 업데이트 한다고 볼 수 없다. grad..

Machine Learning 2019.08.30

코세라 - 02 Cost Function

Cost Function 비용함수를 사용해서 주어진 데이터에 가장 가까운 1차함수 그래프를 알아낼 수 있다. 01 에서 봤던 예시를 다시 가져오자. "𝜃_0과 𝜃_1을 어떻게 고를 것이냐" 를 위해 비용함수를 사용한다. 각 파라미터의 값에 따라 추세선이 달라진다. 우리가 𝜃_0과 𝜃_1을 선택했을 때 이것이 데이터와 얼마나 잘 일치하는지 어떻게 알 수 있을까? h(x)와 y간의 차를 작게 하면된다. Mean Square Error 평균값을 최소화하기 위해서 1/2m을 곱한다. 우리는 위 함수를 예제문제의 비용함수로 사용할 수 있다. MSE는 주로 회귀 문제에서 잘 작동한다. 이 외의 많은 오차함수들이 있다. 정리해보면, h(x)와 J(𝜃)를 잘 구분해야한다. h(x)는 가설이며 x의 함수이다. 𝜃는 고정..

Machine Learning 2019.08.30

코세라 - 01 Model Representation

Linear Regression 위와 같은 방식이 "지도학습"이라고 불리는 이유 → 주어진 데이터에 "적합한 답"이 있기 때문이다. 즉, 어떠한 feature와 answer를 주고서 처음 보는 data에 대한 "적절한 답"을 예측하는 것이 회귀이다. 대부분의 지도학습은 classification 문제이다. h(x)는 x에서 y로의 매핑이다. 우리는 h(x)가 y를 잘 예측하도록 하는 파라미터 𝜃_0, 𝜃_1 을 찾는 것이다. 위 함수의 경우 선형 함수인데, 복잡한 문제를 풀 때는 비선형함수를 사용하기도 한다. 선형함수를 사용하는 이유는 간단하기 때문이다. 선형함수를 사용한 회귀문제를 선형회귀라고 한다.

Machine Learning 2019.08.30

코세라 - 00 Machine Learning

Arthur Samuel : 머신러닝은 내용을 분명히 프로그램하지 않으면서 컴퓨터에게 학습할 능력을 주는 학문분야 Tom Mitchell : 잘 제안된 학습문제란 어떤 task T에 대한 performance P라고 측정되고 experience E를 통해 향상된다면, 프로그램은 T에 대해 E로부터 P에 따라 학습한다고 할 수 있다. Tom의 정의에 맞게 다음 예시에서의 T, E, P는? 스팸인 것과 아닌 것의 분류 - T 스팸인지 아닌지 메일 고르는 것을 관찰 - E 옳게 분류한 메일의 수 - P ML supervised learning unsupervised learning reinforcement learning

Machine Learning 2019.08.30

KCCV 2019 다녀온 후기

vision을 주로 공부하는 사람은 아니지만 딥러닝과 관련하여 아이디어도 얻고 내가 잘 모르는 분야인 Generate model(ex GAN)에 대해서도 알고싶어서 교수님의 도움으로 연세대에서 열린 KCCV2019에 참석하게 되었다. 첫 날 처음 들었던 talk은 성공적인 AI 연구자가 되기 위해 알아야할 101가지 교수님들께서 AI 연구자가 되고자하는 학생들에게 어떤 자세로 임해야 하는지에 대해 말씀해주시는 시간이었다. 기억에 남았던 몇 가지 말씀들,, 1. 일단 쓰기 시작해라 우리 학교 교수님들도 항상 말씀하신다. 논문을 읽는 것도 중요하지만 논문만 읽는다고 전부는 아니라는 것. 일단 쓰는 것이 시작되어야 뭐든 한다는 것. 막학기만 남겨둔 시점에서 사실 많은 고민들을 했던 나라서 그런지 강하게 머릿속..

Daily 2019.07.13

(edwith) 인공지능 및 기계학습 개론 (2) MLE - 문일철 교수님

edwith에서 제공하는 인공지능 및 기계학습 개론 - 문일철 | KOOC (KAIST Open Online Course) 를 수강하며 정리한 글입니다. Thumbtack Question 동전 던지기처럼 압정을 던져 압정이 떨어진 모양을 이용한 게임이 있다. 압정이 떨어진 모양에 대한 확률을 어떻게 구할 수 있을까? 일단은 몇 번 던져볼 것이다. 총 5번을 던져서 나온 결과 3/5 to nail's up case 2/5 to nail's down case 이 trial로 "up이 더 많이 나왔으니 up일 확률이 높아요."라고 하기엔 부족함이 있다. Binomial Distribution Binomial Distribution은 Discrete probability distribution이다. 즉, 이산확..

Machine Learning 2019.05.02