본문 바로가기

AI143

RL : Dynamic Programming Dynamic Programming 정의 시간에 따라 변하는 대상을 여러 개의 process로 나누어 계획하는 것을 말한다. “전체 문제를 작은 문제로 단순화한 다음 점화식으로 만들어 재귀적인 구조를 활용해서 전체 문제를 해결하는 방식” 전체 문제를 작은 문제로 단순화한다. -> 부분 문제를 정의한다. 재귀적인 구조를 활용할 수 있는 점화식을 만든다. -> 점화식을 만든다. 작은 문제를 해결한 방법으로 전체 문제를 해결한다. -> 문제를 해결한다. 조건 Overlapping Subproblem란, 어떤 문제가 여러 개의 부분 문제로 나뉘는 문제를 말한다. 이는 위의 Dynamic Programming의 정의에서 이미 다룬 내용이다. Optimal Substructure란, 어떤 문제의 최선의 해결책이 그.. 2020. 9. 6.
RL : Reinforcement Learning 기본 개념 Reinforcement Learning이 어디에 적용되고 있는지 간략하게 알아보았었다. 2020/08/30 - [AI/RL] - RL : Reinforcement Learning 사례 RL : Reinforcement Learning 사례 강화학습은 관찰, 행동, 보상 이렇게 3가지 스텝으로 알고리즘이 동작한다. 가장 보상이 큰 쪽으로 행동을 실행하도록 만들어진 알고리즘인 것이다. 이를 이용해서 정말 많은 분야에서 현재 적�� mambo-coding-note.tistory.com RL의 성능을 좌지우지 하는 것은 결국 어떤 action을 취할지에 대한 의사결정이다. 따라서 우리는 의사결정 방법 중 하나인 Markov Decision Process, MDP 라는 것에 대해 알아볼 것 이다. RL의 Mot.. 2020. 8. 30.
RL : Reinforcement Learning 사례 강화학습은 관찰, 행동, 보상 이렇게 3가지 스텝으로 알고리즘이 동작한다. 가장 보상이 큰 쪽으로 행동을 실행하도록 만들어진 알고리즘인 것이다. 이를 이용해서 정말 많은 분야에서 현재 적용되고 있다. Game 알파고 & 알파고 제로 & 알파제로 흔히 아는 알파고이다. 알파고는 16만개의 기보를 학습하면서, 학습한 결과를 가지고 실제로 이세돌과의 대결에서 4:1로 불계승을 거두었다. 하지만, 이세돌에게 진 것도, 이세돌이 놓은 수가 알파고에게는 없는 데이터였기 때문에, 알파고는 없는 데이터에 대한 정보를 가지고 있지 못했고, 제대로 성능이 나오지 못해 패했다. 이를 DeepMind는 캐치하고 실제로 알파고 보다 더 좋은 알파고 제로를 선보인다. 구 알파고에 비해, 알파고 제로는 인간이 사전에 만들어놓은 데.. 2020. 8. 30.
ML : Kernel 개념 Kernel L (저차원) 공간 상의 두 벡터 x, y 가 있다고 할 때, Kernel Function은 K(x, y) = M(x) * M(y) 를 만족하는 매핑함수 M(.) 가 존재해야 한다. 즉, Kernel Function 의 값과 H(고차원) 공간 상으로 매핑된 두점 M(x), M(y) 의 내적이 같아야 한다. Example https://youtu.be/3liCbRZPrZA 이처럼 Kernel은 저차원에서 분리되지 않는 데이터들을 추가적인 연산을 통해서 고차원에서 분리해내는 작업을 도와주는 함수라고 생각하면 좋다. Kernel의 응용 Kernel은 특히 Gaussian Process 에서 어떻게 쓰는지 자세히 나온다. Gaussian Process의 목적인, 데이터를 기반으로 함수의 분포를 예측.. 2020. 6. 8.
ML : Gaussian Process's Kernel 2020. 6. 8.
ML : Gaussian Process 1 Gaussian Processes 정의 : Gaussian process는 랜덤 변수의 집합으로, 각 랜덤 변수는 각자의 joint Guassian distribution을 갖는다. 우리에게 익숙한 Gaussian distribution은 mean vector와 variance matrix로부터 정의가 됩니다. 이를 일반화하여 생각하면 확장된 개념을 생각해볼 수 있습니다. Gaussian Process는 mean function $ m(x) $과 covariance 함수 $ k(x, x’) $ 로부터 정의됩니다. 따라서 Gaussian distribution은 벡터(μ,σ)들에서 놀지만 Gaussian processs는 함수들에서 놀고 있습니다. 이러한 Gaussian process는 아래와 같이 표.. 2020. 6. 4.
Statistics : Marginal Likelihood Marginal Likelihood는 두 가지 관점에서 이야기할 수 있는데, 첫 번째는 말그대로 marginalize 하여 가능도를 구한다는 개념으로 어떠한 파라미터를 지정해서 그것에 대한 가능도를 구하면서 나머지 파라미터들은 marginalize 하면 된다. (marginalize 한다는 것은 영어로는 marginalized out == integrated out 이라고 표현한다) 두 번째로는 베이지안 관점에서는 단지 베이즈 이론에서 Evidence에 해당하는 즉, 데이터에 대한 확률 부분을 일컫는 말이다. 왜냐하면 사실 이 부분은 데이터의 확률을 구하기 위해서 위의 그림에서 그려진 오른쪽 항의 분자를 marginalize 하기 때문이다. 내가 이해한 부분 기존 data가 존재하고 , θ라는 param.. 2020. 6. 4.
Statistics : Posterior, Prior, Likelihood 2020. 6. 4.
ML : Prior Posterior Prior, Posterior 구분하기 import numpy as np from matplotlib import pyplot as plt from sklearn.gaussian_process import GaussianProcessRegressor from sklearn.gaussian_process.kernels import (RBF, Matern, RationalQuadratic, ExpSineSquared, DotProduct, ConstantKernel) kernels = [1.0 * RBF(length_scale=1.0, length_scale_bounds=(1e-1, 10.0)), 1.0 * RationalQuadratic(length_scale=1.0, alpha=0.1), 1.0 * Ex.. 2020. 5. 29.
ML : sklearn : PolynomialFeatures 다항 변환 PolynomialFeatures은 "입력값 x를 다항식으로 변환한다." x→[1,x,x2,x3,⋯] 만약 열의 갯수가 두 개이고 2차 다항식으로 변환하는 경우에는 다음처럼 변환한다. [x1,x2]→[1, x1, x2, x1**2, x2**2, x1x2] 다음과 같은 입력 인수를 가진다. degree : 차수 interaction_only: True면 제곱은 빼고, 서로x끼리 상호작용하는만큼 (x1x2, x2x3 --- ) include_bias : 상수항 생성 여부 from sklearn.preprocessing import PolynomialFeatures from sklearn.preprocessing import PolynomialFeatures X = np.arange(6).resha.. 2020. 5. 22.
DL : input, output, y_train shape/Keras에서 주의할 점 딥러닝은 애초에 행렬의 연산들이 모여있기 때문에, 내가 input을 하는 것의 shape가 뭔지? output의 shape가 뭔지? 이 두가지의 shape가 맞지 않는다면 계속 error가 난다. cnn = keras.Sequential([ keras.layers.Dense(320, activation='relu'), keras.layers.Dropout(.2), keras.layers.Dense(160, activation='relu'), keras.layers.Dense(80, activation='relu'), keras.layers.Dropout(.2), keras.layers.Dense(64, activation='relu'), keras.layers.Dense(32,activation='rel.. 2020. 5. 19.
DL : tensorflow & Keras 2.0 study https://www.tensorflow.org/guide/keras/overview?hl=ko 케라스: 빠르게 훑어보기 | TensorFlow Core Note: 이 문서는 텐서플로 커뮤니티에서 번역했습니다. 커뮤니티 번역 활동의 특성상 정확한 번역과 최신 내용을 반영하기 위해 노력함에도 불구하고 공식 영문 문서의 내용과 일치하지 않을 수 www.tensorflow.org https://www.tensorflow.org/guide/keras/functional?hl=ko#setup The Keras functional API | TensorFlow Core Setup import numpy as np import tensorflow as tf from tensorflow import keras from.. 2020. 5. 11.