태그

딥러닝

[pytorch] Early Stopping 조기종료 구현 및 적용

4 분 소요

조기 종료(Early Stopping)는 학습시 일정기간(여기서 기간은 보통 N번의 Epoch을 기준으로 합니다)동안 Loss 나 Score 기준으로 개선이 일어나지 않으면 학습을 조기에 종료해 주는 기능입니다. 만약, 20번의 Epoch 동안 학습이 진행한다고 가정했을 때, 아래...

[huggingface] 한글 pre-trained 사전학습 BERT 모델로 텍스트 분류하기

20 분 소요

이번 포스팅에서는 Huggingface의 한글 데이터셋으로 사전 학습된 kykim/bert-kor-base 모델을 가져와서 한글 자연어 데이터에 대한 텍스트 분류기를 만들어 보겠습니다. 이미지넷에서는 전이학습을 통해 손쉽게 Transfer Learning을 수행할 수 있습니다. ...

GoogLeNet의 Inception Module, 1x1 컨볼루션의 의미와 구현

4 분 소요

Going Deeper with Convolutions(2015) Inception 모듈에 대한 내용입니다. 해당 논문에서는 Inception Module이라는 새로운 neural network architecture 를 공개하였습니다. 논문의 제목과 같이 Going Deeper ...

[PyTorch] RNN Layer 입출력 파라미터와 차원(shape) 이해

2 분 소요

이번 포스팅에서는 pytorch의 rnn 레이어의 input 차원, output 차원, hidden dimension, num_layers 파라미터를 직접 확인하면서 동작 결과를 눈으로 직접 확인해 보고 코딩시 적절하게 활용하는 방법에 대하여 알아보도록 하겠습니다.

[PyTorch] numpy로부터 텐서 변환(copying과 sharing의 차이)

1 분 소요

이번 포스팅에서는 Tensor의 기본 특징과 PyTorch에서 정의한 Tensor타입, PyTorch에서 numpy array를 tensor 변환시 3가지 함수 from_numpy(), as_tensor(), tensor()의 사용법과 그 차이점에 대하여 알아보도록 하겠습니다.

머신러닝/딥러닝 라이브러리 - GPU 사용 테스트

9 분 소요

본 포스팅은 딥러닝 도커 설치 후 머신러닝/딥러닝 라이브러리의 GPU 사용 여부를 테스트하는 코드를 공유 드립니다. 머신러닝/딥러닝(PyTorch, TensorFlow) 최신 도커(docker)글을 참고하셔서 도커로 딥러닝 환경 구성을 하신 후, 아래 코드로 테스트 해 볼 수 있습...

[tensorflow] LSTM layer 활용법

5 분 소요

시계열 데이터 그리고 NLP에서 흔히 사용되는 LSTM Layer의 주요 Hyper Parameter에 대하여 알아보고, 많이 헷갈려 하시는 input_shape 지정과 결과 값 (output)에 대해서도 직접 실행해 보면서 어떻게 동작하는지 살펴보도록 하겠습니다.

[tensorflow] RNN Text 생성 (셰익스피어 글 생성)

6 분 소요

텐서플로우 공식 튜토리얼인 순환 신경망을 활용한 문자열 생성에 대한 클론 코드입니다. 셰익스피어 글 데이터셋을 활용하여 인공지능 모델을 학습시키고, 셰익스피어 스타일의 글을 생성할 수 있는 모델을 만들어 보도록 하겠습니다.

[tensorflow] 오토인코더 구현 (MNIST)

5 분 소요

이번 포스팅에서는 오토인코더의 기본 개념에 대하여 알아보고, TensorFlow 2.0으로 오토인코더(Autoencoder)를 구현해 보겠습니다.

TensorFlow Datasets API 활용법

3 분 소요

TensorFlow Datasets 는 다양한 데이터셋을 TensorFlow에서 활용하기 쉽도록 제공합니다. 굉장히 많고, 다양한 데이터셋이 학습하기 편한 형태로 제공 되기 때문에, 간단한 사용법만 알아두어도, 샘플로 모델을 돌려보고 학습하기에 매우 유용합니다.

[tensorflow] Dataset, batch, window, flat_map을 활용한 loader 만들기

9 분 소요

tf.data.Dataset을 활용하여 다양한 Dataset 로더를 만들 수 있습니다. 그리고, 로더를 활용하여, shuffle, batch_size, window 데이터셋 생성등 다양한 종류를 데이터 셋을 상황에 맞게 생성하고 모델에 feed할 수 있도록 제공해 줍니다.

[Keras] 콜백함수 (3) - 조기종료: EarlyStopping

최대 1 분 소요

EarlyStopping 콜백을 활용하면, model의 성능 지표가 설정한 epoch동안 개선되지 않을 때 조기 종료할 수 있습니다. EarlyStopping과 이전에 언급한 ModelCheckpoint 콜백의 조합을 통하여, 개선되지 않는 학습에 대한 조기 종료를 실행하고, Mo...

[Keras] 콜백함수 (2) - weight 중간 저장: ModelCheckpoint

최대 1 분 소요

keras의 콜백함수인 ModelCheckpoint는 모델이 학습하면서 정의한 조건을 만족했을 때 Model의 weight 값을 중간 저장해 줍니다. 학습시간이 꽤 오래걸린다면, 모델이 개선된 validation score를 도출해낼 때마다 weight를 중간 저장함으로써, 혹시 ...

[Keras] 콜백함수 (1) - 학습률(learning rate): ReduceLROnPlateau

최대 1 분 소요

keras의 콜백함수인 ReduceLROnPlateau는 학습률이 개선되지 않을 때, 학습률을 동적으로 조정하여 학습률을 개선하는 효과를 기대할 수 있습니다. 경사하강법에 의하여 학습을 하는 경우 Local Minima에 빠져버리게 되면, 더이상 학습률이 개선되지 않고 정체되거나,...

딥러닝 PC에 Ubuntu 18.04 설치 후 CUDA 10, cuDNN 설치하기

3 분 소요

Amazon AWS에서 좋은 GPU 자원으로 딥러닝을 돌리다보니 요금폭탄을 맞았습니다.. 그래서 이참에 딥러닝 PC를 구매를 하게 되었고 딥러닝 서버를 위한 CUDA 및 cuDNN까지 설치하는 방법에 대하여 알려드리고자 합니다.

맨 위로 이동 ↑

deep learning

[pytorch] Early Stopping 조기종료 구현 및 적용

4 분 소요

조기 종료(Early Stopping)는 학습시 일정기간(여기서 기간은 보통 N번의 Epoch을 기준으로 합니다)동안 Loss 나 Score 기준으로 개선이 일어나지 않으면 학습을 조기에 종료해 주는 기능입니다. 만약, 20번의 Epoch 동안 학습이 진행한다고 가정했을 때, 아래...

[huggingface] 한글 pre-trained 사전학습 BERT 모델로 텍스트 분류하기

20 분 소요

이번 포스팅에서는 Huggingface의 한글 데이터셋으로 사전 학습된 kykim/bert-kor-base 모델을 가져와서 한글 자연어 데이터에 대한 텍스트 분류기를 만들어 보겠습니다. 이미지넷에서는 전이학습을 통해 손쉽게 Transfer Learning을 수행할 수 있습니다. ...

GoogLeNet의 Inception Module, 1x1 컨볼루션의 의미와 구현

4 분 소요

Going Deeper with Convolutions(2015) Inception 모듈에 대한 내용입니다. 해당 논문에서는 Inception Module이라는 새로운 neural network architecture 를 공개하였습니다. 논문의 제목과 같이 Going Deeper ...

[PyTorch] RNN Layer 입출력 파라미터와 차원(shape) 이해

2 분 소요

이번 포스팅에서는 pytorch의 rnn 레이어의 input 차원, output 차원, hidden dimension, num_layers 파라미터를 직접 확인하면서 동작 결과를 눈으로 직접 확인해 보고 코딩시 적절하게 활용하는 방법에 대하여 알아보도록 하겠습니다.

[PyTorch] numpy로부터 텐서 변환(copying과 sharing의 차이)

1 분 소요

이번 포스팅에서는 Tensor의 기본 특징과 PyTorch에서 정의한 Tensor타입, PyTorch에서 numpy array를 tensor 변환시 3가지 함수 from_numpy(), as_tensor(), tensor()의 사용법과 그 차이점에 대하여 알아보도록 하겠습니다.

머신러닝/딥러닝 라이브러리 - GPU 사용 테스트

9 분 소요

본 포스팅은 딥러닝 도커 설치 후 머신러닝/딥러닝 라이브러리의 GPU 사용 여부를 테스트하는 코드를 공유 드립니다. 머신러닝/딥러닝(PyTorch, TensorFlow) 최신 도커(docker)글을 참고하셔서 도커로 딥러닝 환경 구성을 하신 후, 아래 코드로 테스트 해 볼 수 있습...

[tensorflow] LSTM layer 활용법

5 분 소요

시계열 데이터 그리고 NLP에서 흔히 사용되는 LSTM Layer의 주요 Hyper Parameter에 대하여 알아보고, 많이 헷갈려 하시는 input_shape 지정과 결과 값 (output)에 대해서도 직접 실행해 보면서 어떻게 동작하는지 살펴보도록 하겠습니다.

[tensorflow] RNN Text 생성 (셰익스피어 글 생성)

6 분 소요

텐서플로우 공식 튜토리얼인 순환 신경망을 활용한 문자열 생성에 대한 클론 코드입니다. 셰익스피어 글 데이터셋을 활용하여 인공지능 모델을 학습시키고, 셰익스피어 스타일의 글을 생성할 수 있는 모델을 만들어 보도록 하겠습니다.

[tensorflow] 오토인코더 구현 (MNIST)

5 분 소요

이번 포스팅에서는 오토인코더의 기본 개념에 대하여 알아보고, TensorFlow 2.0으로 오토인코더(Autoencoder)를 구현해 보겠습니다.

TensorFlow Datasets API 활용법

3 분 소요

TensorFlow Datasets 는 다양한 데이터셋을 TensorFlow에서 활용하기 쉽도록 제공합니다. 굉장히 많고, 다양한 데이터셋이 학습하기 편한 형태로 제공 되기 때문에, 간단한 사용법만 알아두어도, 샘플로 모델을 돌려보고 학습하기에 매우 유용합니다.

[tensorflow] Dataset, batch, window, flat_map을 활용한 loader 만들기

9 분 소요

tf.data.Dataset을 활용하여 다양한 Dataset 로더를 만들 수 있습니다. 그리고, 로더를 활용하여, shuffle, batch_size, window 데이터셋 생성등 다양한 종류를 데이터 셋을 상황에 맞게 생성하고 모델에 feed할 수 있도록 제공해 줍니다.

[Keras] 콜백함수 (3) - 조기종료: EarlyStopping

최대 1 분 소요

EarlyStopping 콜백을 활용하면, model의 성능 지표가 설정한 epoch동안 개선되지 않을 때 조기 종료할 수 있습니다. EarlyStopping과 이전에 언급한 ModelCheckpoint 콜백의 조합을 통하여, 개선되지 않는 학습에 대한 조기 종료를 실행하고, Mo...

[Keras] 콜백함수 (2) - weight 중간 저장: ModelCheckpoint

최대 1 분 소요

keras의 콜백함수인 ModelCheckpoint는 모델이 학습하면서 정의한 조건을 만족했을 때 Model의 weight 값을 중간 저장해 줍니다. 학습시간이 꽤 오래걸린다면, 모델이 개선된 validation score를 도출해낼 때마다 weight를 중간 저장함으로써, 혹시 ...

[Keras] 콜백함수 (1) - 학습률(learning rate): ReduceLROnPlateau

최대 1 분 소요

keras의 콜백함수인 ReduceLROnPlateau는 학습률이 개선되지 않을 때, 학습률을 동적으로 조정하여 학습률을 개선하는 효과를 기대할 수 있습니다. 경사하강법에 의하여 학습을 하는 경우 Local Minima에 빠져버리게 되면, 더이상 학습률이 개선되지 않고 정체되거나,...

딥러닝 PC에 Ubuntu 18.04 설치 후 CUDA 10, cuDNN 설치하기

3 분 소요

Amazon AWS에서 좋은 GPU 자원으로 딥러닝을 돌리다보니 요금폭탄을 맞았습니다.. 그래서 이참에 딥러닝 PC를 구매를 하게 되었고 딥러닝 서버를 위한 CUDA 및 cuDNN까지 설치하는 방법에 대하여 알려드리고자 합니다.

Deep Learning - Softmax 함수란

최대 1 분 소요

인공신경망에서 출력층의 정규화를 위한 함수인 소프트맥스(softmax)함수에 대하여 알아보겠다.

맨 위로 이동 ↑

python

파이썬, 데이터분석가를 위한 초간단 파일공유 서비스

최대 1 분 소요

본 내용은 자체 제작한 파일공유 서비스에 대한 내용입니다. 말그대로 파일을 가장 쉬운 방법으로 공유할 수 있는 서비스이며, 링크를 활용하여 공유할 수 있습니다. Python, wget 명령어로 다운로드 받는 코드를 제공하며, 비밀번호로 암호화 하여 공유도 가능합니다.

나만의 파이썬 패키지(PYPI) 만들기 및 등록하고 배포하기

2 분 소요

PYPI는 Python Package Index의 약어로 Python 패키지 저장소의 개념으로 생각하시면 됩니다. 수 많은 개발자들이 본인이 만든 파이썬 소프트웨어를 손쉽게 설치하고 활용할 수 있도록 패키지화 하여 저장소에 업로드를 하는데요. 저장소에 업로드된 패키지를 pip in...

[2023년 업데이트] 데이터 분석/인공지능을 공부하려는 분들께 경험을 토대로 학습 방법과 책 추천 - 데이터분석편

5 분 소요

지난 2020년에 작성한 데이터 분석/인공지능을 공부하려는 분들께 경험을 토대로 학습 방법과 책 추천 (1), 글과 후속 글인 데이터 분석/인공지능을 공부하려는 분들께 경험을 토대로 학습 방법과 책 추천 (2) 을 많이 읽어 주셔서 감사드립니다. 작성 당시에는 가벼운 마음으로 개인...

실리콘(M1, M2) 맥(Mac) OS 에서 텐서플로(TensorFlow) 설치 방법

2 분 소요

실리콘(M1, M2) 맥(Mac) 사용하는 유저가 최근 1~2년 안에 급격하게 늘어나면서, m1, m2 칩셋을 사용하는 맥 사용자를 위한 가상 환경 설치와 TensorFlow 설치에 대한 문의가 많았습니다. 아쉽게도 그동안 제가 실리콘 맥이 없어 직접 테스트를 해볼 수 없었기 때문...

#11-파이썬(Python) 패키지(package)와 모듈(module)

1 분 소요

본 포스팅은 파이썬(Python) 코딩 입문자를 위한 튜토리얼 시리즈 연재 중 일부입니다. 이번 튜토리얼에서는 파이썬의 패키지(package)와 모듈(module)을 다룹니다.

#10-파이썬(Python) 내장함수-map, zip, filter, enumerate

2 분 소요

본 포스팅은 파이썬(Python) 코딩 입문자를 위한 튜토리얼 시리즈 연재 중 일부입니다. 이번 튜토리얼에서는 파이썬의 내장함수(built-in function) 중 map(), zip(), filter(), enumerate()를 다룹니다.

#08-파이썬(Python) 컴프리헨션(Comprehension)

2 분 소요

본 포스팅은 파이썬(Python) 코딩 입문자를 위한 튜토리얼 시리즈 연재 중 일부입니다. 이번 튜토리얼에서는 파이썬의 컴프리헨션(Comprehension)을 다룹니다.

#07-파이썬(Python) 반복문

3 분 소요

본 포스팅은 파이썬(Python) 코딩 입문자를 위한 튜토리얼 시리즈 연재 중 일부입니다.

#05-파이썬(Python) 연산

1 분 소요

본 포스팅은 파이썬(Python) 코딩 입문자를 위한 튜토리얼 시리즈 연재 중 일부입니다. 파이썬에 대한 기본 지식을 다룹니다.

#04-파이썬(Python) 문자열(str)

5 분 소요

본 포스팅은 파이썬(Python) 코딩 입문자를 위한 튜토리얼 시리즈 연재 중 일부입니다. 파이썬에 대한 기본 지식을 다룹니다.

#02-파이썬(Python) 리스트(list)와 튜플(tuple)

6 분 소요

본 포스팅은 파이썬(Python) 코딩 입문자를 위한 튜토리얼 시리즈 연재 중 일부입니다. 이번 튜토리얼에서는 파이썬 리스트(list)와 튜플(tuple)을 다룹니다.

#01-파이썬(Python) 기본 자료구조

4 분 소요

본 포스팅은 파이썬(Python) 코딩 입문자를 위한 튜토리얼 시리즈 연재 중 일부입니다. 파이썬에 대한 기본 지식을 다룹니다.

Python 클래스의 상속 (inheritance)

3 분 소요

텐서플로의 Model Subclassing 구현을 위해서는 python의 상속(inheritance) 개념을 필히 알고 있어야 합니다. 그래서, 이번 포스팅에서는 python의 클래스 그리고 상속에 대한 내용을 다뤄 보도록 하겠습니다.

뉴스 기사 와 RSS 피드에서 손쉽게 크롤링 하여 정보 수집하기

4 분 소요

최근 뉴스 기사를 크롤링하여 군집화 하는 작업을 하기 위해서, 국내 신문기사의 정보들을 크롤링해야하는 작업이 필요하였습니다. request와 BeautifulSoup4를 사용해서 크롤링하는 것은 간단하지만, 언론사 웹사이트 별로 기사의 contents를 표시하는 tag와 class...

[Linux] Python(.py)을 가상환경(virtualenv)에서 주기별로 실행하기

1 분 소요

python으로 주기적으로 크롤링 작업을 하거나, 또는 기타 여러가지 상황때문에 .py 파일을 리눅스 환경에서 주기적으로 실행하고 싶은 경우가 있을 겁니다. 그리고 대부분 .py 파일별로 다른 가상환경에서 .py를 실행시켜야 하는 경우도 있을 겁니다.

Anaconda를 활용한 python 가상환경(virtual env) 설정하기

3 분 소요

이번 포스팅에서는 Python을 활용하여 개발 / 혹은 jupyter notebook을 사용할 때 필수인 가상환경 (Virtual Environment) 설정하는 법에 대한 팁과 간단한 강좌를 공유해 드리도록 하겠습니다.

맨 위로 이동 ↑

tensorflow

실리콘(M1, M2) 맥(Mac) OS 에서 텐서플로(TensorFlow) 설치 방법

2 분 소요

실리콘(M1, M2) 맥(Mac) 사용하는 유저가 최근 1~2년 안에 급격하게 늘어나면서, m1, m2 칩셋을 사용하는 맥 사용자를 위한 가상 환경 설치와 TensorFlow 설치에 대한 문의가 많았습니다. 아쉽게도 그동안 제가 실리콘 맥이 없어 직접 테스트를 해볼 수 없었기 때문...

머신러닝/딥러닝 라이브러리 - GPU 사용 테스트

9 분 소요

본 포스팅은 딥러닝 도커 설치 후 머신러닝/딥러닝 라이브러리의 GPU 사용 여부를 테스트하는 코드를 공유 드립니다. 머신러닝/딥러닝(PyTorch, TensorFlow) 최신 도커(docker)글을 참고하셔서 도커로 딥러닝 환경 구성을 하신 후, 아래 코드로 테스트 해 볼 수 있습...

[tensorflow] LSTM layer 활용법

5 분 소요

시계열 데이터 그리고 NLP에서 흔히 사용되는 LSTM Layer의 주요 Hyper Parameter에 대하여 알아보고, 많이 헷갈려 하시는 input_shape 지정과 결과 값 (output)에 대해서도 직접 실행해 보면서 어떻게 동작하는지 살펴보도록 하겠습니다.

텐서플로(tensorflow) 윈도우 10 GPU 설치

1 분 소요

텐서플로우(TensorFlow) 2.0 를 윈도우(Windows) 10에서 GPU를 활용하여 학습할 수 있도록 설치하는 방법에 대하여 공유드리고자 합니다.

[tensorflow] RNN Text 생성 (셰익스피어 글 생성)

6 분 소요

텐서플로우 공식 튜토리얼인 순환 신경망을 활용한 문자열 생성에 대한 클론 코드입니다. 셰익스피어 글 데이터셋을 활용하여 인공지능 모델을 학습시키고, 셰익스피어 스타일의 글을 생성할 수 있는 모델을 만들어 보도록 하겠습니다.

[tensorflow] 오토인코더 구현 (MNIST)

5 분 소요

이번 포스팅에서는 오토인코더의 기본 개념에 대하여 알아보고, TensorFlow 2.0으로 오토인코더(Autoencoder)를 구현해 보겠습니다.

TensorFlow Datasets API 활용법

3 분 소요

TensorFlow Datasets 는 다양한 데이터셋을 TensorFlow에서 활용하기 쉽도록 제공합니다. 굉장히 많고, 다양한 데이터셋이 학습하기 편한 형태로 제공 되기 때문에, 간단한 사용법만 알아두어도, 샘플로 모델을 돌려보고 학습하기에 매우 유용합니다.

[tensorflow] Dataset, batch, window, flat_map을 활용한 loader 만들기

9 분 소요

tf.data.Dataset을 활용하여 다양한 Dataset 로더를 만들 수 있습니다. 그리고, 로더를 활용하여, shuffle, batch_size, window 데이터셋 생성등 다양한 종류를 데이터 셋을 상황에 맞게 생성하고 모델에 feed할 수 있도록 제공해 줍니다.

[Keras] 콜백함수 (3) - 조기종료: EarlyStopping

최대 1 분 소요

EarlyStopping 콜백을 활용하면, model의 성능 지표가 설정한 epoch동안 개선되지 않을 때 조기 종료할 수 있습니다. EarlyStopping과 이전에 언급한 ModelCheckpoint 콜백의 조합을 통하여, 개선되지 않는 학습에 대한 조기 종료를 실행하고, Mo...

[Keras] 콜백함수 (2) - weight 중간 저장: ModelCheckpoint

최대 1 분 소요

keras의 콜백함수인 ModelCheckpoint는 모델이 학습하면서 정의한 조건을 만족했을 때 Model의 weight 값을 중간 저장해 줍니다. 학습시간이 꽤 오래걸린다면, 모델이 개선된 validation score를 도출해낼 때마다 weight를 중간 저장함으로써, 혹시 ...

[Keras] 콜백함수 (1) - 학습률(learning rate): ReduceLROnPlateau

최대 1 분 소요

keras의 콜백함수인 ReduceLROnPlateau는 학습률이 개선되지 않을 때, 학습률을 동적으로 조정하여 학습률을 개선하는 효과를 기대할 수 있습니다. 경사하강법에 의하여 학습을 하는 경우 Local Minima에 빠져버리게 되면, 더이상 학습률이 개선되지 않고 정체되거나,...

맨 위로 이동 ↑

튜토리얼

[pytorch] 변환(Transform)을 활용한 이미지 증강(Image Augmentation) 적용

5 분 소요

데이터 증강(Data Augmentation)은 학습을 위한 데이터에 변형을 가하여 데이터의 규모를 키울 뿐만 아니라, 데이터에 대한 변형된 다양한 케이스를 학습하게 만들 수 있는 좋은 수단 중 하나입니다. 또한, 모델이 과적합(overfitting) 되는 것을 방지해주는 효과도 ...

[PyTorch] RNN Layer 입출력 파라미터와 차원(shape) 이해

2 분 소요

이번 포스팅에서는 pytorch의 rnn 레이어의 input 차원, output 차원, hidden dimension, num_layers 파라미터를 직접 확인하면서 동작 결과를 눈으로 직접 확인해 보고 코딩시 적절하게 활용하는 방법에 대하여 알아보도록 하겠습니다.

[PyTorch] numpy로부터 텐서 변환(copying과 sharing의 차이)

1 분 소요

이번 포스팅에서는 Tensor의 기본 특징과 PyTorch에서 정의한 Tensor타입, PyTorch에서 numpy array를 tensor 변환시 3가지 함수 from_numpy(), as_tensor(), tensor()의 사용법과 그 차이점에 대하여 알아보도록 하겠습니다.

#11-파이썬(Python) 패키지(package)와 모듈(module)

1 분 소요

본 포스팅은 파이썬(Python) 코딩 입문자를 위한 튜토리얼 시리즈 연재 중 일부입니다. 이번 튜토리얼에서는 파이썬의 패키지(package)와 모듈(module)을 다룹니다.

#10-파이썬(Python) 내장함수-map, zip, filter, enumerate

2 분 소요

본 포스팅은 파이썬(Python) 코딩 입문자를 위한 튜토리얼 시리즈 연재 중 일부입니다. 이번 튜토리얼에서는 파이썬의 내장함수(built-in function) 중 map(), zip(), filter(), enumerate()를 다룹니다.

#08-파이썬(Python) 컴프리헨션(Comprehension)

2 분 소요

본 포스팅은 파이썬(Python) 코딩 입문자를 위한 튜토리얼 시리즈 연재 중 일부입니다. 이번 튜토리얼에서는 파이썬의 컴프리헨션(Comprehension)을 다룹니다.

#07-파이썬(Python) 반복문

3 분 소요

본 포스팅은 파이썬(Python) 코딩 입문자를 위한 튜토리얼 시리즈 연재 중 일부입니다.

#05-파이썬(Python) 연산

1 분 소요

본 포스팅은 파이썬(Python) 코딩 입문자를 위한 튜토리얼 시리즈 연재 중 일부입니다. 파이썬에 대한 기본 지식을 다룹니다.

#04-파이썬(Python) 문자열(str)

5 분 소요

본 포스팅은 파이썬(Python) 코딩 입문자를 위한 튜토리얼 시리즈 연재 중 일부입니다. 파이썬에 대한 기본 지식을 다룹니다.

#02-파이썬(Python) 리스트(list)와 튜플(tuple)

6 분 소요

본 포스팅은 파이썬(Python) 코딩 입문자를 위한 튜토리얼 시리즈 연재 중 일부입니다. 이번 튜토리얼에서는 파이썬 리스트(list)와 튜플(tuple)을 다룹니다.

넘파이(Numpy) 튜토리얼

11 분 소요

본 포스팅은 파이썬(Python) 코딩 입문자를 위한 튜토리얼 시리즈 연재 중 일부입니다. 이번 튜토리얼에서는 파이썬 수치계산용 라이브러리인 넘파이(numpy) 를 다룹니다.

#01-파이썬(Python) 기본 자료구조

4 분 소요

본 포스팅은 파이썬(Python) 코딩 입문자를 위한 튜토리얼 시리즈 연재 중 일부입니다. 파이썬에 대한 기본 지식을 다룹니다.

[tensorflow] LSTM layer 활용법

5 분 소요

시계열 데이터 그리고 NLP에서 흔히 사용되는 LSTM Layer의 주요 Hyper Parameter에 대하여 알아보고, 많이 헷갈려 하시는 input_shape 지정과 결과 값 (output)에 대해서도 직접 실행해 보면서 어떻게 동작하는지 살펴보도록 하겠습니다.

깃헙(GitHub) 웹사이트 기능들로 GitHub 입문하기

최대 1 분 소요

Git, GitHub은 프로젝트의 협업을 위해서 꼭 필요한 소스코드 형상 관리 시스템입니다. 형상 관리 시스템은 소스코드의 버전 관리 시스템이라고도 불리웁니다. 다수의 인원이 하나의 프로젝트를 진행할 때, 소스코드의 충돌을 효율적으로 해결하고, 업데이트되는 사항들을 병합해주기도 ...

Seaborn의 통계 차트 및 데이터 시각화 예제

6 분 소요

seaborn은 matplotlib의 상위 호환 데이터 시각화를 위한 라이브러리입니다. seaborn패키지는 데이터프레임으로 다양한 통계 지표를 낼 수 있는 시각화 차트를 제공하기 때문에 데이터 분석에 활발히 사용되고 있는 라이브러리입니다.

맨 위로 이동 ↑

pytorch

[pytorch] Seq2Seq with Attention 구현 및 한 줄씩 코드 설명

17 분 소요

이번 포스팅에서는 Attention 메카니즘이 적용된 Seq2Seq 모델을 pytorch로 구현하고, 코드 한 줄씩 직접 shape를 찍어보고 확인하면서 구현된 코드 통해 동작 원리와 Attention 구조를 이해해 보도록 하겠습니다.

[pytorch] GRU 입력 텐서와 출력 텐서의 shape 이해

1 분 소요

이번에는 지난 LSTM 입력 텐서와 출력 텐서의 shape 이해 의 후속편으로써, pytorch의 GRU layer의 입출력 텐서의 shape에 대하여 이해해 보고 세부 옵션에 대하여 자세히 알아보도록 하겠습니다.

WandB 를 활용하여 모델의 학습을 추적하는 방법

2 분 소요

WandB는 weights and biases 의 약어입니다. 머신러닝을 하시는 분들은 weights & biases 와 굉장히 친숙할텐데요. WandB의 네이밍에서 알 수 있듯이 모델이 학습할 때 실험 결과를 저장 및 시각화, 하이퍼파라미터를 저장, 모델 뿐만아니라 시스템...

[pytorch] Early Stopping 조기종료 구현 및 적용

4 분 소요

조기 종료(Early Stopping)는 학습시 일정기간(여기서 기간은 보통 N번의 Epoch을 기준으로 합니다)동안 Loss 나 Score 기준으로 개선이 일어나지 않으면 학습을 조기에 종료해 주는 기능입니다. 만약, 20번의 Epoch 동안 학습이 진행한다고 가정했을 때, 아래...

torchtext를 활용한 텍스트 데이터 전처리 방법

7 분 소요

torchtext는 pytorch 모델에 주입하기 위한 텍스트 데이터셋을 구성하기 편하게 만들어 주는 데이터 로더(Data Loader) 입니다. torchtext 를 활용하여 CSV, TSV, JSON 등의 정형 데이터셋을 쉽게 로드하도록 도와주는 TabularDataset 클래...

[huggingface] 한글 pre-trained 사전학습 BERT 모델로 텍스트 분류하기

20 분 소요

이번 포스팅에서는 Huggingface의 한글 데이터셋으로 사전 학습된 kykim/bert-kor-base 모델을 가져와서 한글 자연어 데이터에 대한 텍스트 분류기를 만들어 보겠습니다. 이미지넷에서는 전이학습을 통해 손쉽게 Transfer Learning을 수행할 수 있습니다. ...

GoogLeNet의 Inception Module, 1x1 컨볼루션의 의미와 구현

4 분 소요

Going Deeper with Convolutions(2015) Inception 모듈에 대한 내용입니다. 해당 논문에서는 Inception Module이라는 새로운 neural network architecture 를 공개하였습니다. 논문의 제목과 같이 Going Deeper ...

[pytorch] 변환(Transform)을 활용한 이미지 증강(Image Augmentation) 적용

5 분 소요

데이터 증강(Data Augmentation)은 학습을 위한 데이터에 변형을 가하여 데이터의 규모를 키울 뿐만 아니라, 데이터에 대한 변형된 다양한 케이스를 학습하게 만들 수 있는 좋은 수단 중 하나입니다. 또한, 모델이 과적합(overfitting) 되는 것을 방지해주는 효과도 ...

AlexNet Implementation(구현) by PyTorch

6 분 소요

AlexNet(2012) 의 PyTorch 구현 입니다. 논문에 대한 세부 인사이트는 생략하며, 오직 코드 구현만 다룹니다.

[PyTorch] RNN Layer 입출력 파라미터와 차원(shape) 이해

2 분 소요

이번 포스팅에서는 pytorch의 rnn 레이어의 input 차원, output 차원, hidden dimension, num_layers 파라미터를 직접 확인하면서 동작 결과를 눈으로 직접 확인해 보고 코딩시 적절하게 활용하는 방법에 대하여 알아보도록 하겠습니다.

[PyTorch] numpy로부터 텐서 변환(copying과 sharing의 차이)

1 분 소요

이번 포스팅에서는 Tensor의 기본 특징과 PyTorch에서 정의한 Tensor타입, PyTorch에서 numpy array를 tensor 변환시 3가지 함수 from_numpy(), as_tensor(), tensor()의 사용법과 그 차이점에 대하여 알아보도록 하겠습니다.

머신러닝/딥러닝 라이브러리 - GPU 사용 테스트

9 분 소요

본 포스팅은 딥러닝 도커 설치 후 머신러닝/딥러닝 라이브러리의 GPU 사용 여부를 테스트하는 코드를 공유 드립니다. 머신러닝/딥러닝(PyTorch, TensorFlow) 최신 도커(docker)글을 참고하셔서 도커로 딥러닝 환경 구성을 하신 후, 아래 코드로 테스트 해 볼 수 있습...

맨 위로 이동 ↑

machine learning

[2023년 업데이트] 데이터 분석/인공지능을 공부하려는 분들께 경험을 토대로 학습 방법과 책 추천 - 데이터분석편

5 분 소요

지난 2020년에 작성한 데이터 분석/인공지능을 공부하려는 분들께 경험을 토대로 학습 방법과 책 추천 (1), 글과 후속 글인 데이터 분석/인공지능을 공부하려는 분들께 경험을 토대로 학습 방법과 책 추천 (2) 을 많이 읽어 주셔서 감사드립니다. 작성 당시에는 가벼운 마음으로 개인...

머신러닝 실전 앙상블 (Ensemble)과 Hyperparameter 튜닝

18 분 소요

머신러닝 알고리즘의 끝판왕인 앙상블(Ensemble) 알고리즘에 대하여 알아보도록 하겠습니다. 앙상블 알고리즘은 방법론 적인 측면에서 Voting, Bagging, Boosting 알고리즘등으로 나뉠 수 있겠고, 앙상블의 앙상블 알고리즘인 Stacking 그리고 Weighted B...

의사결정 나무 (Decision Tree)와 Entropy, 그리고 Gini 계수

14 분 소요

Decision Tree는 Random Forest Ensemble 알고리즘의 기본이 되는 알고리즘이며, Tree 기반 알고리즘입니다. 의사결정나무 혹은 결정트리로 불리우는 이 알고리즘은 머신러닝의 학습 결과에 대하여 시각화를 통한 직관적인 이해가 가능하다는 것이 큰 장점입니다. ...

Lasso, Ridge, ElasticNet-L1, L2규제를 적용한 선형 알고리즘

15 분 소요

선형 알고리즘에 기반한 알고리즘에 대해서 알아보고 회귀 (Regression) 문제를 다뤄보도록 하겠습니다. 이번 선형 알고리즘에 기반한 회귀 문제를 다룰 때 L1, L2 규제의 개념이 등장합니다. L1, L2 규제는 딥러닝까지 쭉 이어지는 개념이고, 앞으로 머신러닝/딥러닝 학습시...

최근접 이웃 (KNN) 알고리즘을 활용한 분류

3 분 소요

K-Nearest Neighbors 이른바, 최근접 이웃 분류 알고리즘을 활용한 간단한 머신러닝 분류 문제를 풀어보도록 하겠습니다. 알고리즘은 동작 원리는 매우 직관적이고 단순 합니다. 이해는 어렵지 않으나, 복잡한 분류 문제에 있어서는 모델의 성능에 대한 큰 기대를 하기 어렵습니...

scikit-learn 데이터 전처리

6 분 소요

데이터 전처리는 데이터 분석 및 머신러닝 학습을 위해서 매우 중요한 단계 입니다. 실무 프로젝트에서는 전체 프로젝트 기간 중 평균 50~70% 이상 시간을 전처리 및 EDA에 투자한다고 합니다. 그만큼 좋은 전처리를 하면 할수록 좋은 성능을 내는 머신러닝 모델을 만들 수 있습니다.

train_test_split 모듈을 활용하여 학습과 테스트 세트 분리

2 분 소요

사이킷런(scikit-learn)의 model_selection 패키지 안에 train_test_split 모듈을 활용하여 손쉽게 train set(학습 데이터 셋)과 test set(테스트 셋)을 분리할 수 있습니다. 이번 포스팅에서는 train_test_split 에 대해 자세...

Tree기반 모델(DecisionTree, RandomForest)의 분할 그래프 시각화하기 (graphviz)

2 분 소요

Tree 기반 모델은 RandomForest 모델때문에 참 인기있게 활용되는 알고리즘 입니다. RandomForest 모델은 데이터 분석 대회인 캐글에서도 활발히 활용되고 있으며, 성능이 좋을 뿐만아니라 쉽고 간편하게 사용할 수 있기 때문에 저 또한 데이터 분석 대회에서 basel...

GridSearch를 이용한 머신러닝 Hyperparameter 튜닝

1 분 소요

Hyperparameter 튜닝을 위해서는 다양한 방법론이 존재합니다. 가장 쉬운 방법으로는 일명 손튜닝이 있을 수 있겠구요. RandomSearch, GridSearch, HyperOpt등 다양한 방법으로 Hyperparameter를 튜닝할 수 있습니다.

앙상블 학습(ensemble learning)으로 알고리즘 성능 개선하기(1) - Voting

2 분 소요

Kaggle의 상위 솔루션들만 봐도 알겠지만, 단일 모델로는 어느 정도 성능을 극으로 끌어올리기는 한계가 있습니다. 그렇기 때문에 거의 모든 상위권에 랭크되는 솔루션들을 살펴보면 앙상블 학습(emsemble learning)으로 랭크를 올리는 모습을 볼 수 있습니다. 이번 포스팅에...

Kaggle(캐글) 타이타닉 생존자 예측 81% 이상 달성하기

5 분 소요

캐글(Kaggle)의 대표적인 입문용 데이터 분석 경진대회인 타이타닉 생존자 예측 (Titanic: Machine Learning from Disaster) 에서 81% 이상의 정확도를 기록하여 상위 5% 안에 들 수 있는 Solution을 공유하고자 합니다.

sklearn의 KMeans 모듈을 활용한 뉴스 클러스터링

5 분 소요

하루에도 수만개의 뉴스기사가 쏟아져 나옵니다. 수많은 뉴스기사들을 중복되거나 매우 유사도가 높은 기사들은 구독자에게 중복되게 노출시키지 않기 위해서 뉴스기사를 서비스 하고 있는 포털 사이트나 언론사에서도 뉴스기사 클러스터링 기법을 사용하고 있습니다.

맨 위로 이동 ↑

tutorial

[pytorch] 변환(Transform)을 활용한 이미지 증강(Image Augmentation) 적용

5 분 소요

데이터 증강(Data Augmentation)은 학습을 위한 데이터에 변형을 가하여 데이터의 규모를 키울 뿐만 아니라, 데이터에 대한 변형된 다양한 케이스를 학습하게 만들 수 있는 좋은 수단 중 하나입니다. 또한, 모델이 과적합(overfitting) 되는 것을 방지해주는 효과도 ...

[PyTorch] RNN Layer 입출력 파라미터와 차원(shape) 이해

2 분 소요

이번 포스팅에서는 pytorch의 rnn 레이어의 input 차원, output 차원, hidden dimension, num_layers 파라미터를 직접 확인하면서 동작 결과를 눈으로 직접 확인해 보고 코딩시 적절하게 활용하는 방법에 대하여 알아보도록 하겠습니다.

[PyTorch] numpy로부터 텐서 변환(copying과 sharing의 차이)

1 분 소요

이번 포스팅에서는 Tensor의 기본 특징과 PyTorch에서 정의한 Tensor타입, PyTorch에서 numpy array를 tensor 변환시 3가지 함수 from_numpy(), as_tensor(), tensor()의 사용법과 그 차이점에 대하여 알아보도록 하겠습니다.

#11-파이썬(Python) 패키지(package)와 모듈(module)

1 분 소요

본 포스팅은 파이썬(Python) 코딩 입문자를 위한 튜토리얼 시리즈 연재 중 일부입니다. 이번 튜토리얼에서는 파이썬의 패키지(package)와 모듈(module)을 다룹니다.

#10-파이썬(Python) 내장함수-map, zip, filter, enumerate

2 분 소요

본 포스팅은 파이썬(Python) 코딩 입문자를 위한 튜토리얼 시리즈 연재 중 일부입니다. 이번 튜토리얼에서는 파이썬의 내장함수(built-in function) 중 map(), zip(), filter(), enumerate()를 다룹니다.

#08-파이썬(Python) 컴프리헨션(Comprehension)

2 분 소요

본 포스팅은 파이썬(Python) 코딩 입문자를 위한 튜토리얼 시리즈 연재 중 일부입니다. 이번 튜토리얼에서는 파이썬의 컴프리헨션(Comprehension)을 다룹니다.

#07-파이썬(Python) 반복문

3 분 소요

본 포스팅은 파이썬(Python) 코딩 입문자를 위한 튜토리얼 시리즈 연재 중 일부입니다.

#05-파이썬(Python) 연산

1 분 소요

본 포스팅은 파이썬(Python) 코딩 입문자를 위한 튜토리얼 시리즈 연재 중 일부입니다. 파이썬에 대한 기본 지식을 다룹니다.

#04-파이썬(Python) 문자열(str)

5 분 소요

본 포스팅은 파이썬(Python) 코딩 입문자를 위한 튜토리얼 시리즈 연재 중 일부입니다. 파이썬에 대한 기본 지식을 다룹니다.

#02-파이썬(Python) 리스트(list)와 튜플(tuple)

6 분 소요

본 포스팅은 파이썬(Python) 코딩 입문자를 위한 튜토리얼 시리즈 연재 중 일부입니다. 이번 튜토리얼에서는 파이썬 리스트(list)와 튜플(tuple)을 다룹니다.

넘파이(Numpy) 튜토리얼

11 분 소요

본 포스팅은 파이썬(Python) 코딩 입문자를 위한 튜토리얼 시리즈 연재 중 일부입니다. 이번 튜토리얼에서는 파이썬 수치계산용 라이브러리인 넘파이(numpy) 를 다룹니다.

#01-파이썬(Python) 기본 자료구조

4 분 소요

본 포스팅은 파이썬(Python) 코딩 입문자를 위한 튜토리얼 시리즈 연재 중 일부입니다. 파이썬에 대한 기본 지식을 다룹니다.

[tensorflow] LSTM layer 활용법

5 분 소요

시계열 데이터 그리고 NLP에서 흔히 사용되는 LSTM Layer의 주요 Hyper Parameter에 대하여 알아보고, 많이 헷갈려 하시는 input_shape 지정과 결과 값 (output)에 대해서도 직접 실행해 보면서 어떻게 동작하는지 살펴보도록 하겠습니다.

[tensorflow] RNN Text 생성 (셰익스피어 글 생성)

6 분 소요

텐서플로우 공식 튜토리얼인 순환 신경망을 활용한 문자열 생성에 대한 클론 코드입니다. 셰익스피어 글 데이터셋을 활용하여 인공지능 모델을 학습시키고, 셰익스피어 스타일의 글을 생성할 수 있는 모델을 만들어 보도록 하겠습니다.

깃헙(GitHub) 웹사이트 기능들로 GitHub 입문하기

최대 1 분 소요

Git, GitHub은 프로젝트의 협업을 위해서 꼭 필요한 소스코드 형상 관리 시스템입니다. 형상 관리 시스템은 소스코드의 버전 관리 시스템이라고도 불리웁니다. 다수의 인원이 하나의 프로젝트를 진행할 때, 소스코드의 충돌을 효율적으로 해결하고, 업데이트되는 사항들을 병합해주기도 ...

맨 위로 이동 ↑

파이썬

파이썬, 데이터분석가를 위한 초간단 파일공유 서비스

최대 1 분 소요

본 내용은 자체 제작한 파일공유 서비스에 대한 내용입니다. 말그대로 파일을 가장 쉬운 방법으로 공유할 수 있는 서비스이며, 링크를 활용하여 공유할 수 있습니다. Python, wget 명령어로 다운로드 받는 코드를 제공하며, 비밀번호로 암호화 하여 공유도 가능합니다.

나만의 파이썬 패키지(PYPI) 만들기 및 등록하고 배포하기

2 분 소요

PYPI는 Python Package Index의 약어로 Python 패키지 저장소의 개념으로 생각하시면 됩니다. 수 많은 개발자들이 본인이 만든 파이썬 소프트웨어를 손쉽게 설치하고 활용할 수 있도록 패키지화 하여 저장소에 업로드를 하는데요. 저장소에 업로드된 패키지를 pip in...

실리콘(M1, M2) 맥(Mac) OS 에서 텐서플로(TensorFlow) 설치 방법

2 분 소요

실리콘(M1, M2) 맥(Mac) 사용하는 유저가 최근 1~2년 안에 급격하게 늘어나면서, m1, m2 칩셋을 사용하는 맥 사용자를 위한 가상 환경 설치와 TensorFlow 설치에 대한 문의가 많았습니다. 아쉽게도 그동안 제가 실리콘 맥이 없어 직접 테스트를 해볼 수 없었기 때문...

#11-파이썬(Python) 패키지(package)와 모듈(module)

1 분 소요

본 포스팅은 파이썬(Python) 코딩 입문자를 위한 튜토리얼 시리즈 연재 중 일부입니다. 이번 튜토리얼에서는 파이썬의 패키지(package)와 모듈(module)을 다룹니다.

#10-파이썬(Python) 내장함수-map, zip, filter, enumerate

2 분 소요

본 포스팅은 파이썬(Python) 코딩 입문자를 위한 튜토리얼 시리즈 연재 중 일부입니다. 이번 튜토리얼에서는 파이썬의 내장함수(built-in function) 중 map(), zip(), filter(), enumerate()를 다룹니다.

#08-파이썬(Python) 컴프리헨션(Comprehension)

2 분 소요

본 포스팅은 파이썬(Python) 코딩 입문자를 위한 튜토리얼 시리즈 연재 중 일부입니다. 이번 튜토리얼에서는 파이썬의 컴프리헨션(Comprehension)을 다룹니다.

#07-파이썬(Python) 반복문

3 분 소요

본 포스팅은 파이썬(Python) 코딩 입문자를 위한 튜토리얼 시리즈 연재 중 일부입니다.

#05-파이썬(Python) 연산

1 분 소요

본 포스팅은 파이썬(Python) 코딩 입문자를 위한 튜토리얼 시리즈 연재 중 일부입니다. 파이썬에 대한 기본 지식을 다룹니다.

#04-파이썬(Python) 문자열(str)

5 분 소요

본 포스팅은 파이썬(Python) 코딩 입문자를 위한 튜토리얼 시리즈 연재 중 일부입니다. 파이썬에 대한 기본 지식을 다룹니다.

#02-파이썬(Python) 리스트(list)와 튜플(tuple)

6 분 소요

본 포스팅은 파이썬(Python) 코딩 입문자를 위한 튜토리얼 시리즈 연재 중 일부입니다. 이번 튜토리얼에서는 파이썬 리스트(list)와 튜플(tuple)을 다룹니다.

#01-파이썬(Python) 기본 자료구조

4 분 소요

본 포스팅은 파이썬(Python) 코딩 입문자를 위한 튜토리얼 시리즈 연재 중 일부입니다. 파이썬에 대한 기본 지식을 다룹니다.

Python 클래스의 상속 (inheritance)

3 분 소요

텐서플로의 Model Subclassing 구현을 위해서는 python의 상속(inheritance) 개념을 필히 알고 있어야 합니다. 그래서, 이번 포스팅에서는 python의 클래스 그리고 상속에 대한 내용을 다뤄 보도록 하겠습니다.

뉴스 기사 와 RSS 피드에서 손쉽게 크롤링 하여 정보 수집하기

4 분 소요

최근 뉴스 기사를 크롤링하여 군집화 하는 작업을 하기 위해서, 국내 신문기사의 정보들을 크롤링해야하는 작업이 필요하였습니다. request와 BeautifulSoup4를 사용해서 크롤링하는 것은 간단하지만, 언론사 웹사이트 별로 기사의 contents를 표시하는 tag와 class...

맨 위로 이동 ↑

머신러닝

머신러닝 실전 앙상블 (Ensemble)과 Hyperparameter 튜닝

18 분 소요

머신러닝 알고리즘의 끝판왕인 앙상블(Ensemble) 알고리즘에 대하여 알아보도록 하겠습니다. 앙상블 알고리즘은 방법론 적인 측면에서 Voting, Bagging, Boosting 알고리즘등으로 나뉠 수 있겠고, 앙상블의 앙상블 알고리즘인 Stacking 그리고 Weighted B...

의사결정 나무 (Decision Tree)와 Entropy, 그리고 Gini 계수

14 분 소요

Decision Tree는 Random Forest Ensemble 알고리즘의 기본이 되는 알고리즘이며, Tree 기반 알고리즘입니다. 의사결정나무 혹은 결정트리로 불리우는 이 알고리즘은 머신러닝의 학습 결과에 대하여 시각화를 통한 직관적인 이해가 가능하다는 것이 큰 장점입니다. ...

Lasso, Ridge, ElasticNet-L1, L2규제를 적용한 선형 알고리즘

15 분 소요

선형 알고리즘에 기반한 알고리즘에 대해서 알아보고 회귀 (Regression) 문제를 다뤄보도록 하겠습니다. 이번 선형 알고리즘에 기반한 회귀 문제를 다룰 때 L1, L2 규제의 개념이 등장합니다. L1, L2 규제는 딥러닝까지 쭉 이어지는 개념이고, 앞으로 머신러닝/딥러닝 학습시...

최근접 이웃 (KNN) 알고리즘을 활용한 분류

3 분 소요

K-Nearest Neighbors 이른바, 최근접 이웃 분류 알고리즘을 활용한 간단한 머신러닝 분류 문제를 풀어보도록 하겠습니다. 알고리즘은 동작 원리는 매우 직관적이고 단순 합니다. 이해는 어렵지 않으나, 복잡한 분류 문제에 있어서는 모델의 성능에 대한 큰 기대를 하기 어렵습니...

scikit-learn 데이터 전처리

6 분 소요

데이터 전처리는 데이터 분석 및 머신러닝 학습을 위해서 매우 중요한 단계 입니다. 실무 프로젝트에서는 전체 프로젝트 기간 중 평균 50~70% 이상 시간을 전처리 및 EDA에 투자한다고 합니다. 그만큼 좋은 전처리를 하면 할수록 좋은 성능을 내는 머신러닝 모델을 만들 수 있습니다.

경사하강법 (Gradient Descent) 직접 구현하기

8 분 소요

이번에는 머신러닝 뿐만아니라, 인공신경망 모델의 가장 기초가 되는 경사하강법 (Gradient Descent)에 대하여 알아보도록 하겠습니다. 경사하강법을 Python으로 직접 구현해보는 튜토리얼 입니다. 자세한 설명은 유튜브 영상을 참고해 보셔도 좋습니다.

train_test_split 모듈을 활용하여 학습과 테스트 세트 분리

2 분 소요

사이킷런(scikit-learn)의 model_selection 패키지 안에 train_test_split 모듈을 활용하여 손쉽게 train set(학습 데이터 셋)과 test set(테스트 셋)을 분리할 수 있습니다. 이번 포스팅에서는 train_test_split 에 대해 자세...

Tree기반 모델(DecisionTree, RandomForest)의 분할 그래프 시각화하기 (graphviz)

2 분 소요

Tree 기반 모델은 RandomForest 모델때문에 참 인기있게 활용되는 알고리즘 입니다. RandomForest 모델은 데이터 분석 대회인 캐글에서도 활발히 활용되고 있으며, 성능이 좋을 뿐만아니라 쉽고 간편하게 사용할 수 있기 때문에 저 또한 데이터 분석 대회에서 basel...

GridSearch를 이용한 머신러닝 Hyperparameter 튜닝

1 분 소요

Hyperparameter 튜닝을 위해서는 다양한 방법론이 존재합니다. 가장 쉬운 방법으로는 일명 손튜닝이 있을 수 있겠구요. RandomSearch, GridSearch, HyperOpt등 다양한 방법으로 Hyperparameter를 튜닝할 수 있습니다.

앙상블 학습(ensemble learning)으로 알고리즘 성능 개선하기(1) - Voting

2 분 소요

Kaggle의 상위 솔루션들만 봐도 알겠지만, 단일 모델로는 어느 정도 성능을 극으로 끌어올리기는 한계가 있습니다. 그렇기 때문에 거의 모든 상위권에 랭크되는 솔루션들을 살펴보면 앙상블 학습(emsemble learning)으로 랭크를 올리는 모습을 볼 수 있습니다. 이번 포스팅에...

Kaggle(캐글) 타이타닉 생존자 예측 81% 이상 달성하기

5 분 소요

캐글(Kaggle)의 대표적인 입문용 데이터 분석 경진대회인 타이타닉 생존자 예측 (Titanic: Machine Learning from Disaster) 에서 81% 이상의 정확도를 기록하여 상위 5% 안에 들 수 있는 Solution을 공유하고자 합니다.

sklearn의 KMeans 모듈을 활용한 뉴스 클러스터링

5 분 소요

하루에도 수만개의 뉴스기사가 쏟아져 나옵니다. 수많은 뉴스기사들을 중복되거나 매우 유사도가 높은 기사들은 구독자에게 중복되게 노출시키지 않기 위해서 뉴스기사를 서비스 하고 있는 포털 사이트나 언론사에서도 뉴스기사 클러스터링 기법을 사용하고 있습니다.

맨 위로 이동 ↑

텐서플로

실리콘(M1, M2) 맥(Mac) OS 에서 텐서플로(TensorFlow) 설치 방법

2 분 소요

실리콘(M1, M2) 맥(Mac) 사용하는 유저가 최근 1~2년 안에 급격하게 늘어나면서, m1, m2 칩셋을 사용하는 맥 사용자를 위한 가상 환경 설치와 TensorFlow 설치에 대한 문의가 많았습니다. 아쉽게도 그동안 제가 실리콘 맥이 없어 직접 테스트를 해볼 수 없었기 때문...

머신러닝/딥러닝 라이브러리 - GPU 사용 테스트

9 분 소요

본 포스팅은 딥러닝 도커 설치 후 머신러닝/딥러닝 라이브러리의 GPU 사용 여부를 테스트하는 코드를 공유 드립니다. 머신러닝/딥러닝(PyTorch, TensorFlow) 최신 도커(docker)글을 참고하셔서 도커로 딥러닝 환경 구성을 하신 후, 아래 코드로 테스트 해 볼 수 있습...

[tensorflow] LSTM layer 활용법

5 분 소요

시계열 데이터 그리고 NLP에서 흔히 사용되는 LSTM Layer의 주요 Hyper Parameter에 대하여 알아보고, 많이 헷갈려 하시는 input_shape 지정과 결과 값 (output)에 대해서도 직접 실행해 보면서 어떻게 동작하는지 살펴보도록 하겠습니다.

텐서플로(tensorflow) 윈도우 10 GPU 설치

1 분 소요

텐서플로우(TensorFlow) 2.0 를 윈도우(Windows) 10에서 GPU를 활용하여 학습할 수 있도록 설치하는 방법에 대하여 공유드리고자 합니다.

[tensorflow] RNN Text 생성 (셰익스피어 글 생성)

6 분 소요

텐서플로우 공식 튜토리얼인 순환 신경망을 활용한 문자열 생성에 대한 클론 코드입니다. 셰익스피어 글 데이터셋을 활용하여 인공지능 모델을 학습시키고, 셰익스피어 스타일의 글을 생성할 수 있는 모델을 만들어 보도록 하겠습니다.

[tensorflow] 오토인코더 구현 (MNIST)

5 분 소요

이번 포스팅에서는 오토인코더의 기본 개념에 대하여 알아보고, TensorFlow 2.0으로 오토인코더(Autoencoder)를 구현해 보겠습니다.

TensorFlow Datasets API 활용법

3 분 소요

TensorFlow Datasets 는 다양한 데이터셋을 TensorFlow에서 활용하기 쉽도록 제공합니다. 굉장히 많고, 다양한 데이터셋이 학습하기 편한 형태로 제공 되기 때문에, 간단한 사용법만 알아두어도, 샘플로 모델을 돌려보고 학습하기에 매우 유용합니다.

[tensorflow] Dataset, batch, window, flat_map을 활용한 loader 만들기

9 분 소요

tf.data.Dataset을 활용하여 다양한 Dataset 로더를 만들 수 있습니다. 그리고, 로더를 활용하여, shuffle, batch_size, window 데이터셋 생성등 다양한 종류를 데이터 셋을 상황에 맞게 생성하고 모델에 feed할 수 있도록 제공해 줍니다.

[Keras] 콜백함수 (3) - 조기종료: EarlyStopping

최대 1 분 소요

EarlyStopping 콜백을 활용하면, model의 성능 지표가 설정한 epoch동안 개선되지 않을 때 조기 종료할 수 있습니다. EarlyStopping과 이전에 언급한 ModelCheckpoint 콜백의 조합을 통하여, 개선되지 않는 학습에 대한 조기 종료를 실행하고, Mo...

[Keras] 콜백함수 (2) - weight 중간 저장: ModelCheckpoint

최대 1 분 소요

keras의 콜백함수인 ModelCheckpoint는 모델이 학습하면서 정의한 조건을 만족했을 때 Model의 weight 값을 중간 저장해 줍니다. 학습시간이 꽤 오래걸린다면, 모델이 개선된 validation score를 도출해낼 때마다 weight를 중간 저장함으로써, 혹시 ...

[Keras] 콜백함수 (1) - 학습률(learning rate): ReduceLROnPlateau

최대 1 분 소요

keras의 콜백함수인 ReduceLROnPlateau는 학습률이 개선되지 않을 때, 학습률을 동적으로 조정하여 학습률을 개선하는 효과를 기대할 수 있습니다. 경사하강법에 의하여 학습을 하는 경우 Local Minima에 빠져버리게 되면, 더이상 학습률이 개선되지 않고 정체되거나,...

맨 위로 이동 ↑

파이토치

torchtext를 활용한 텍스트 데이터 전처리 방법

7 분 소요

torchtext는 pytorch 모델에 주입하기 위한 텍스트 데이터셋을 구성하기 편하게 만들어 주는 데이터 로더(Data Loader) 입니다. torchtext 를 활용하여 CSV, TSV, JSON 등의 정형 데이터셋을 쉽게 로드하도록 도와주는 TabularDataset 클래...

[huggingface] 한글 pre-trained 사전학습 BERT 모델로 텍스트 분류하기

20 분 소요

이번 포스팅에서는 Huggingface의 한글 데이터셋으로 사전 학습된 kykim/bert-kor-base 모델을 가져와서 한글 자연어 데이터에 대한 텍스트 분류기를 만들어 보겠습니다. 이미지넷에서는 전이학습을 통해 손쉽게 Transfer Learning을 수행할 수 있습니다. ...

GoogLeNet의 Inception Module, 1x1 컨볼루션의 의미와 구현

4 분 소요

Going Deeper with Convolutions(2015) Inception 모듈에 대한 내용입니다. 해당 논문에서는 Inception Module이라는 새로운 neural network architecture 를 공개하였습니다. 논문의 제목과 같이 Going Deeper ...

[pytorch] 변환(Transform)을 활용한 이미지 증강(Image Augmentation) 적용

5 분 소요

데이터 증강(Data Augmentation)은 학습을 위한 데이터에 변형을 가하여 데이터의 규모를 키울 뿐만 아니라, 데이터에 대한 변형된 다양한 케이스를 학습하게 만들 수 있는 좋은 수단 중 하나입니다. 또한, 모델이 과적합(overfitting) 되는 것을 방지해주는 효과도 ...

AlexNet Implementation(구현) by PyTorch

6 분 소요

AlexNet(2012) 의 PyTorch 구현 입니다. 논문에 대한 세부 인사이트는 생략하며, 오직 코드 구현만 다룹니다.

[PyTorch] RNN Layer 입출력 파라미터와 차원(shape) 이해

2 분 소요

이번 포스팅에서는 pytorch의 rnn 레이어의 input 차원, output 차원, hidden dimension, num_layers 파라미터를 직접 확인하면서 동작 결과를 눈으로 직접 확인해 보고 코딩시 적절하게 활용하는 방법에 대하여 알아보도록 하겠습니다.

[PyTorch] numpy로부터 텐서 변환(copying과 sharing의 차이)

1 분 소요

이번 포스팅에서는 Tensor의 기본 특징과 PyTorch에서 정의한 Tensor타입, PyTorch에서 numpy array를 tensor 변환시 3가지 함수 from_numpy(), as_tensor(), tensor()의 사용법과 그 차이점에 대하여 알아보도록 하겠습니다.

머신러닝/딥러닝 라이브러리 - GPU 사용 테스트

9 분 소요

본 포스팅은 딥러닝 도커 설치 후 머신러닝/딥러닝 라이브러리의 GPU 사용 여부를 테스트하는 코드를 공유 드립니다. 머신러닝/딥러닝(PyTorch, TensorFlow) 최신 도커(docker)글을 참고하셔서 도커로 딥러닝 환경 구성을 하신 후, 아래 코드로 테스트 해 볼 수 있습...

맨 위로 이동 ↑

pandas