728x90

분류 전체보기 40

[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..

배치처리 및 실시간처리 시스템 구성 방법

오늘은 모델 학습 및 예측 과정을 시스템에 통합하는 방식에 대해 정리해보았습니다. (※ 'Machine Learning at Work 머신러닝 실무 프로젝트' 책을 참고하였습니다.) 시스템 통합 방식은 학습이 일어나는 시점에 따라 배치처리 시 이뤄지는 방식과 실시간으로 이뤄지는 방식으로 나뉠 수 있습니다. 배치처리와 배치학습은 다른 의미이지만 일반적으로 머신러닝에서 배치라고 하면 대개 배치학습을 말합니다. 그렇다면 처리방법에 따라 학습하는 방법의 차이가 있는지 알아보도록 하겠습니다. 1. 배치 처리로 일괄 학습(배치학습, Batch learning) 2. 배치 처리로 순차 학습(실시간학습, Online learning) 3. 실시간 처리로 일괄 학습 4. 실시간 처리로 순차 학습 위의 조합에서 실제 가능..

window10 아나콘다 가상환경에서 OpenAI gym 설치하기

오늘은 OpenAI gym을 아나콘다에서 이용하는 방법에 대해 정리하였습니다. window에서 OpenAI gym 예제를 돌려보기에 어려움이 많아 가장 쉬운 아나콘다를 이용하는 방법으로 사용하려고 합니다. 1. 아나콘다에서 가상환경 생성하기 Anaconda Prompt를 실행하고 conda create --name openai python=3.6 입력하고 설치여부를 물어보면 y 입력합니다. openai라는 명으로 가상환경을 만들고 python 3.6을 설치하였습니다. (저는 기존에 openai라는 가상환경이 있어서 삭제하고 다시 생성해주었습니다.) 2. 가상환경 활성화 시켜주기 activate openai 명령으로 가상환경을 활성화 시키면 (base)에서 (openai)로 바뀐걸 볼 수 있습니다. 3. ..

[비율검정] 두 그룹의 비율 차를 이용한 검정

오늘은 두 그룹의 비율 차이 검정에 대해 정리하고자 한다. 분석코드 및 대부분의 내용은 'Machine Learning at Work 머신러닝 실무 프로젝트' 책을 참고하였습니다. 두 개의 광고 서비스를 통해 각각 유입된 사용자들의 이용률을 아래와 같이 얻었다고 하자. 광고종류 유입 사용자 수 지속 이용 사용자 수 지속 이용 전환율 A 205 40 19.5% B 290 62 21.4% 위의 예시는 '지속이용자' 와 '이탈자' 두 범주에 대한 비율을 보이고 있기 때문에 이항분포를 따르지만 유입 사용자수가 어느정도로 크기 때문에 정규분포를 따른다고 보고 지속 이용 전환율의 분포를 시각화해보자. (위 내용은 중심극한 정리 참고!!) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1..

[R과 Python 비교] 범주형변수 처리(OneHotEncoding)

데이터는 크게 수치형 데이터와 범주형 데이터로 나뉜다. 오늘은 데이터가 범주형일 경우 분석을 위해 처리해야 하는 방법에 대해 정리해보도록 한다. 볌주형 데이터의 경우 일반적으로 회귀분석과 같은 연속형 변수를 다루는 분석기법에서는 사용할 수 없기 때문에 형태를 변환하여 가능하도록 만들어 줘야한다. R에서 제공하는 iris 데이터로 예를 들어보자. 여기서 Species 변수를 범주형 데이터라고 하고, 분석을 위해 'setosa', 'versicolor', 'virginica'을 수치형 데이터로 변환하여 처리할 것이다. 이렇게 수치로 변환한 데이터를 더미변수라고 한다. R과 Python을 통해 범주형 변수를 수치형 데이터로 변환하는 방법은 아래와 같다. R 코드 1. transform 함수 n개의 범주가 있을..

1 2 3 4
728x90