728x90

AI모델/AI기술방법론 24

Pytorch를 활용한 Timeseries 예측 모델(1) - LSTM

이 장에서는 Multiple column을 갖는 Timeseries 형태의 데이터를 예측하는 모델을 만들며 LSTM을 사용한 모델링 과정을 서술한다. 직전 데이터 N개의 정보를 활용하여 이후 1개 시점을 예측하는 Many to one 방법을 사용하였다. 예시로 사용하는 데이터는 구글 주식 데이터로 1주 전(1~7) 데이터를 가지고 8일째 가격을 예측하는 모델을 만들 것이다. Data 주식을 예측하기 위해 사용할 수 있는 데이터는 시가, 종가 등 5개의 컬럼이며 이를 Input dimension이라고 부른다. 이전 7일의 정보를 활용하여 그 다음 종가를 예측하므로 Sequence = 7, Output dimension = 1이다. LSTM 바닐라 RNN은 비교적 짧은 시퀀스에 대해서만 효과를 보이는 단점이..

[Linux] Windows에서 Ubuntu 서버의 도커로 파일 옮기기(복사)

우분투 도커 위에서 작업하다 로컬PC에서 가져와야 하는 파일이 생기게 되어 시행착오를 정리 하였습니다. 저와 동일한 작업을 하시는 분들에게 도움이 되었으면 좋겠습니다. 로컬PC에서 도커로 파일을 옮기기 위해선 2단계의 작업이 필요합니다. 먼저 우분투 서버로 복사한 다음 우분투 서버에서 도커로 파일을 복사합니다. 1. [1차시도] PowerShell 실행 윈도우 환경에서 리눅스 환경에 파일을 전송할 경우 보통 Windows PowerShell을 사용하게 됩니다. 2. 전송할 파일 경로로 이동 이동시킬 파일이 다운로드 폴더에 있어서 해당 경로로 이동하였습니다. 3. 리눅스 서버로 파일 전송 및 확인 scp 파일경로/파일명 서버계정ID@서버IP:디렉토리위치를 입력하면 파일이 전송됩니다. 하지만 저는 Power..

[Jupyter notebook] 아나콘다 가상 환경 생성 및 활용

파이썬을 사용하면서 여러 패키지들을 설치하다보면 어느 순간 에러가 뜨는 경우가 생기게 됩니다. 또 다양한 프로젝트들을 진행함에 따라 사용하는 패키지들의 버전이 달라지게 되는데 이때 서로 의존하는 버전이 달라지면서 충돌하는 경우가 종종 발생합니다. 그런 경우 패키지를 삭제하고 재설치하는 경우가 생기게 되는데 이런 버전 문제를 막기 위해 가상환경을 사용하게 됩니다. python과 anaconda를 설치하고 Anaconda Prompt를 키면 아래와 같은 첫 화면을 보시게 될겁니다. 가장 기본은 base로 가상환경을 설정해서 attach하게 되면 해당 부분이 변경되게 됩니다. 1. 아나콘다 가상 환경 생성 conda create -n XAI python=3.6 anaconda 설치하고자 하는 python 버전..

[CNN Network] 4. GoogLeNet

아래 내용은 CNN Network를 공부하며 onlybox.log 를 참고하여 작성된 내용입니다. 연관게시글 더보기 1. LeNet-5 2. AlexNet 3. VGGNet 4. GoogLeNet GoogLeNet? GoogLeNet은 ILSVRC-2014에서 우승한 CNN Network이며, GoogLeNet의 개발자들은 2014년 당시 딥러닝 모델의 수치적인 성능 향상이라는 수치적인 점 보다는 Convolution을 이용한 딥러닝 네트워크 구조의 혁신에 고무되었고, 더 깊으면서 더 효과적인 네트워크 구조 설계를 위해 노력했습니다. 그 결과 Inception module이라는 구조의 네트워크 구조를 설계했고, 이 Inception module을 활용해 AlexNet보다 더 깊지만 파라미터 수는 121​..

[CNN Network] 3. VGGNet

아래 내용은 CNN Network를 공부하며 onlybox.log 를 참고하여 작성된 내용입니다. 연관게시글 더보기 1. LeNet-5 2. AlexNet 3. VGGNet 4. GoogLeNet VGGNet? VGGNet은 OxFord대학교의 Visual Geometry Group이 개발한 CNN Network입니다. 비록 2014년 ILSVRC에서 2위에 그쳤지만 이해하기 쉬운 간단한 구조로 되어있고 변형이 용이하기 때문에 같은 대회에서 1위를 차지한 GoogleNet보다 더 많이 활용되고 있습니다. CNN Network의 성능을 향상시키는 가장 기본적인 방법은 망의 깊이를 늘리는 것 입니다. VGGNet은 이러한 망 깊이(depth)가 따른 네트워크의 성능변화를 확인하기 위해 개발된 네트워크 입니다..

[CNN Network] 2. AlexNet

아래 내용은 CNN Network를 공부하며 onlybox.log 를 참고하여 작성된 내용입니다. 연관게시글 더보기 1. LeNet-5 2. AlexNet 3. VGGNet 4. GoogLeNet AlexNet? 캐나다 토론토 대학에서 발표한 AlexNet은 2012년 개최된 ILSVRC(ImageNet Large Scale Visual Recognition Challenge)에서 압도적인 성능으로 우승한 CNN Network 입니다. Top-5 error rate 16.4%라는 압도적인 성능차이로 주목을 받게 되었고, 특히 GPU를 사용한 병렬연산으로 의미있는 결과를 보여준 모델입니다. AlexNet역시 이 글을 쓰는 시점인 2021년에는 그리 좋은 성능이 아니지만 LeNet과 마찬가지로 CNN Net..

[CNN Network] 1. LeNet-5

아래 내용은 CNN Network를 공부하며 onlybox.log 를 참고하여 작성된 내용입니다. 연관게시글 더보기 1. LeNet-5 2. AlexNet 3. VGGNet 4. GoogLeNet LeNet-5 LeNet-5는 Yann LeCun이 1998년 발표한 논문에서 소개한 CNN 네트워크 구조로 LeNet-5는 손글씨 인식을 할 때 기존 활용되던 Multilayer Neural Network의 한계를 극복하기 위해 CNN(Convolutional Neural NEtworks)을 활용한 모델입니다. 지금은 더 좋은 CNN 네트워크들이 많이 발표되었지만 CNN 네트워크들의 발전 흐름을 다시한번 복습하기 위해 간단히 정리해 보았습니다. 특징 LeNet 발표 전 활용되던 Fully-Connected N..

[matplotlib] Line chart 기본 옵션

본 포스팅은 Python line chart를 활용하여 주로 사용했던 방법과 옵션을 정리하였습니다. line chart는 아래 두 줄 만으로도 차트가 그려집니다. import matplotlib.pyplot as plt import numpy as np x = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) y = np.array([3, 3, 5, 6, 7, 11, 22, 21, 3, 5]) plt.plot(x, y) plt.show() 1. 단일 차트 plt.figure(figsize=(20, 4)) plt.plot(x, y, label = 'y') plt.xlabel("x") plt.ylabel("y") plt.title("example") plt.legend() plt.s..

길이가 짧은 시계열 데이터 학습 방법

데이터의 양이 적은 시계열 데이터의 모델링 과정을 찾다가 같은 고민으로 인해 해결방법을 찾고 실험적으로 시도해본 내용이 있어서 하나 하나 이해하는 관점으로 정리해보았습니다. (※ 유튜브 naver d2 포스팅을 참고하였습니다. URL : https://youtu.be/dB8cpsnZ5FA) 영상에서는 예시로 시계열 Feature 자체에 노이즈가 굉장히 심한 금융데이터를 사용하여 어떤 문제점이 있고 이를 어떤 식으로 해결했는지 설명하고 있습니다. 문제점 1. 시계열 Feature 자체의 노이즈 기본적으로 주가를 예측하는 모델링을 하는 경우 다음 주가는 현재주가를 기반으로 하며 딥러닝 모형이 찾아야 하는 정보와 노이즈를 함께 반영합니다. 상대적으로 정보보다 큰 노이즈 때문에 AR(1) 모형이랑 유사하다고 할..

[GitHub] 내 코드 관리하기!

그동안 데이터 분석을 하면서 사용했던 코드를 따로 외장하드에 저장하곤 했었는데 github를 통해 서로 소스코드를 공유하는 것을 보고 저도 요즘 시대에 맞게 github 계정을 만들었습니다 ^0^ (뒷북........) 개념을 잘 모르다보니 소스코드 업로드 하는게 왜이리 힘든지.... 그래서 제가 성공한 방법을 공유하려고 합니다!! 1. Git 다운로드 https://git-scm.com/downloads Git - Downloads Downloads Mac OS X Windows Linux/Unix Older releases are available and the Git source repository is on GitHub. GUI Clients Git comes with built-in GUI to..

728x90
loading