본문 바로가기

101

[Reinforcement Learning] RL Concepts [Video Lectures] RL by Sung Kim: youtu.be/dZ4vw6v3LcA Pang-Yo Lab: youtu.be/wYgyiCEkwC8 Actor Critic: youtu.be/2vJtbAha3To Agent: 사람 Enviornment: 강아지 Action: 행동 Reward(R): 느낌 사람(Agent)이 강아지(Enviornment)를 꾸짖었는데(Action), 강아지가 좋아했다(Reward). 사람(Agent)이 강아지(Enviornment)를 끌어안았는데(Action), 강아지가 싫어했다(Reward). Environment를 정의하는 것이 중요 Policy Iteration - Policy 평가(가치함수를 업데이트)와 Policy 발전(Policy를 업데이트)으로 구성 V.. 2021. 1. 12.
[PyTorch] PyTorch 설치 1. PyTorch 홈페이지 접속 후 다운로드 pytorch.org/ PyTorch An open source deep learning platform that provides a seamless path from research prototyping to production deployment. pytorch.org 2. 설치 코드 복사 3. cmd 관리자 권한으로 실행 후, 설치 원하는 환경 activate 후 복사한 코드 입력 2021. 1. 7.
DataFrame 엑셀(xlsx, csv) 파일 형식으로 저장하기 df.to_csv('sample.csv') 혹은 df.to_csv('sample.xlsx') # sample은 파일 제목, 변경 가능 입력하면 쥬피터 노트북이 열려 있는 같은 폴더에 저장된다. 2021. 1. 6.
Tensorflow-GPU 사용하기 1. 아나콘다 최신버전 설치 2. cmd 관리자 권한 실행 - activate base 입력 - conda update conda - conda update anaconda - conda update python - conda update --all - conda create --name !@#!@# pyhthon=3.7 # "!@#!@#" ← 가상환경 이름 3. Software 호환 사항 점검(tensorflow-gpu==2.1.0 기준) # 여기 참고 - NVIDA GPU driver 418.x 이상 버전 설치 - Microsoft Visual C++ 2019 설치 - Python v3.7 - CUDA 10.1 설치 # 여기 참고 - cuDNN 7.4 설치 # 여기 참고 4. tensorflow-gp.. 2020. 12. 27.
Keras Initializer keras.initializers 종류 keras는 기본적으로 균등분포의 Glorot 초기화를 사용한다. 다음과 같이 층을 만들 때, kernel_initializer = "he_uniform" 이나 kernel_initializer = "he_normal"로 바꾸어 He 초기화를 사용할 수 있다. fan_in 대신 fan_out 기반의 균등분포 He 초기화를 사용하고 싶다면 다음과 같이 Variance Scaling을 사용할 수 있다. 2020. 12. 23.
Tensorboad를 사용해 시각화하기 Source: Hands-On Machine Learning with Scikit-Learn, Keras & TensorFlow p.393 Tensorboard 서버가 root 로그 디렉터리를 가리키고 프로그램은 실행할 때마다 다른 서브디렉터리에 이벤트를 기록한다. 하나의 Tensorboard 서버가 여러 번 실행한 프로그램의 결과를 시각화하고 비교할 수 있다. 위 코드를 실행하면 TensorBoard()콜백이 로그 디렉터리를 생성한다. 훈련하는 동안 이벤트 파일을 만들고 서머리를 기로한다. 2020. 12. 23.
Support Vector Regression SVR(Support Vector Regression) SVR(kernel, degree, gamma, coef0, tol, C, epsilon, shrinking, cache_size, verbose, max_iter) Default: svr(kernerl = ‘rbf’, degree = 3, gamma = ‘scale’, coef0 = 0.0, tol = 0.001, C = 1.0, epsilon = 0.1, shrinking = True, chache_size = 200, verbose = False, max_iter = -1) kernel kinds: ‘linear’, ‘poly’, ‘rbf(default)’, ‘sigmoid’, ‘precomputed’ 주어진 data를 고차원 특정 공간으로 사.. 2020. 12. 22.
Kernel(커널) 수식에 n차원 행렬이 있을 경우 단순하게 처리하고자할 때 사용하는 방법 Z.β) 수식에 n차원 행렬이 있을경우, (1 x n) (n x 1)로 만들어서 쉽게 수식을 해결하는 방법을 Kernel이라고 한다. 2020. 12. 21.
Embedding(임베딩) 자연어(인간의 언어)는 수치화되어 있지 않기 때문에 머신러닝, 딥러닝 기법을 적용할 수 없다. 이런 자연어 data를 처리하기 위해선 특정 추출을 통해 수치화를 해줘야 한다. 이 과정을 "언어의 벡터화"라고 한다. 가장 기본적인 언어의 벡터화 방법은 One-Hot Encoding이다. 2020. 12. 21.
Padding Convolution Filter를 수행하게 되면 Input 이미지가 작아진다. 이 때, Padding을 이용하여 Input 이미지 크기를 그대로 유지할 수 있다. 위 그림 속 기존 이미지(Orange)를 3x3으로 Convolution Filter 수행시 기존 이미지에 비하여 크기가 많이 작아진다. 하지만 Padding 함으로서(Gray) 초록색 이미지와 같이 기존보다 이미지를 최대한 살려서 Convolution Filter가 가능하다. Padding할 경우 그 값은 0을 주기 때문에 Zero Padding이라고 한다. Padding 목적: 기존 Input 이미지 최대한 살리기 Padding하지 않을 경우 이미지가 기존보다 급격하게 작아지기 때문에 Neural Network 성능에 악영향을 끼침 2020. 12. 21.
Scaler의 fit(), transform(), fit_transform() fit( ) 데이터 변환을 학습, 학습용 데이터에만 적용 transform( ) 실제 data의 scale을 조정, 학습용 data와 test data에 적용 fit_transform( ) fit( )과 transform( )을 함께 수행하는 method. 기존의 fit( )과 transform( ) 각각 수행하는 번거로움을 줄임 하지만 Test Data에 fit.transform( )을 적용해서는 안된다. 이를 수행하면 scaler 객체가 기존에 학습 data에 fit했던 기준을 모두 무시하고 다시 Test Data를 기반으로 기준을 적용하기 때문이다. 이런 번거로움을 피하기 위해 Train과 Test Data로 나누기 전에 먼저 Scaling 등의 data 전처리를 해주는 것이 좋다. 2020. 12. 18.
Data Scaling 종류 1. StandardScaler 각 feature의 평균을 0, 분산을 1로 변경한다. 모든 feature들이 같은 scale을 갖게 된다. 2. RobustScaler 모든 feature들이 같은 크기를 갖는 다는 점에서 StandardScaler와 비슷하지만, 평균과 분산 대신 median과 quartile을 사용한다. RobustScaler는 이상치에 영향을 받지 않는다. 3. MinMaxScaler 모든 feature가 0과 1사이에 위치하게 만든다. 데이터가 2차원 셋일 경우, 모든 데이터는 x축의 0과 1사이에, y축의 0과 1사이에 위치하게 된다. 4. Normarlizer StandardScaler, RobustScaler, MinMaxScaler가 각 columns의 통계치를 이용한다면 .. 2020. 12. 18.
matplotlib Graph 2020. 12. 8.
%matplotlib inline # 주피터 노트북의 매직 명령 hist() Method는 matplotlib을 사용하고 결국 화면에 그래프를 그리기 위해 사용자 컴퓨터의 그래픽 백엔드를 필요로 한다. 그래서 그래프를 그리기 전에 matplotlib이 사용할 백엔드를 지정해줘야 한다. 주피터의 매직 명령 %matplotlib inline을 사용하면 편리하다. 이 명령은 matplotlib이 주피터 자체의 백엔드를 사용하도록 설정한다. 그러면 그래프는 노트북 안에 그려지게 된다. 주피터 노트북에서 그래프를 그릴 때 show() Method를 호출하는 것은 선택 사항이다. 주피터는 셀이 실행될 때 자동으로 그래프를 그려준다. 2020. 12. 8.
info( ) Method info( ) Method는 데이터에 대한 간략한 설명과 특히 전체 행 수, 각 특성의 데이터 타입과 null이 아닌 값의 개수를 확인하는 데 유용하다. 2020. 12. 8.