본문 바로가기

분류 전체보기

(74)
[cs231n] Recurrent Neural Network (RNN) 지난 시간까지 딥러닝의 한 분야였던 CNN에 대해서 공부했습니다. 이미지를 처리할때 어떻게 하는지, 어떤 layer를 어떤 구조로 얼마나 쌓을지 등을 공부했었죠! 오늘은 딥러닝의 또 다른 방법인 RNN에 대해서 알아볼게요. CNN은 Neral Network에서 Convolution을 적용한 개념이었다면, RNN은 NN에서 Recurrent를 적용한 개념이라고 생각하면 될 것 같습니다. recurrent 라고 하니 약간 재귀적이니 느낌이 나죠? 그럼 한 번 자세히 알아볼게요!! 순서 RNN 종류 RNN 작동 원리 RNN 을 이용한 예시 Language Model Image Captioning Visual Question Answering Long Short Term Memory (LSTM) 1. RNN 종..
[cs231n] CNN Architecture 지금까지 CNN의 전체적인 프로세스와 그 속에 있는 layer들을 자세히 공부했습니다. convolutional layer를 지나고 batch normalization를 지나고 다시 conv layer를 지나고,, 이렇게 층을 쌓아 마지막에 FC layer를 통해 score를 냅니다. 이제는 conv layer를 어떤 filter size로 언제 몇번 할지, batch normalization을 얼마나 언제 할지, drop out 을 할지, pooling 을 할지, learning rate는 얼마로 할지 등을 고려해서 CNN의 전체 구조를 세워야 합니다. 하지만 저희는 아직 딥러닝 초보자 입니다. 성능 좋은 구조를 처음부터 끝까지 뚝딱뚝딱 만들기가 현실적으로 불가능하죠. 따라서 사람들에게 널리 알려진, ..
[Python] os, pathlib, pickle 더 이상 모르는척 하지 말자 컴피티션의 상위권 커널을 보면 항상 등장하는 os,pathlib, pickle 모듈!! 경로를 지정해주는 것 같은데, 운영체제니 뭐니 이름부터 거부감들고 어려워보여서 여태 모르는척 했습니다. 하지만 딥러닝을 공부하고 있는 요즘,, 더이상 피할수가 없더라구요,, 그래서 한 번 해보자!! 하고 공부하고 정리해봤습니다. 모듈에 있는 모든 문법을 다뤄보려했으나, 다른 블로거 분들이 너무 설명을 잘해두셔서 저는 가장 많이 쓰이는 문법들에 대해서 간단하게 정리했습니다. 그리고 추후에 여러 커널들을 공부하며 해당 모듈들을 잘 활용한 사례가 있다면 내용을 계속해서 추가하도록 하겠습니다. 순서 os pathlib pickle 1. os os(operating system)는 운영체제 라고 합니다. (저는 운영체제로 wi..
[cs231n] Neural Network - part 2 지난 파트에 이어 이번 파트에서는 최적화(Optimization) 알고리즘의 종류, regularization의 종류 그리고 transfer learning에 대해서 공부해 보겠습니다. 바로 시작해볼게요! 순서 Optimization Stochastic Gradient Descent (SGD) SGD + Momentum Nesterov momentum AdaGrad RMSProp Adam Regularization Dropout Batch Normalization Data Augmentation Transfer Learning 1. Optimization 1-1. Stochastic Gradient Descent (SGD) 지금까지는 최적화의 방법으로 SGD(Stochastic Gradient Desce..
[cs231n] Neural Network - part 1 지난 포스팅에서는 Neural Network의 한 종류인 CNN에 대해서 공부하며 전체적인 프로세스를 익혔습니다. 이번 포스팅에서는 그 과정에 있는 다양한 선택지들과 추가적으로 고려해야 할 사항들을 중심으로 공부해보겠습니다. 포스팅은 총 두 파트로 이루어져있고, 첫 번째 파트에서는 활성함수의 종류, 데이터 전처리, 가중치 초기화 방법, 정규화 방법 등 모델링 하기 전의 셋팅과 하이퍼 파라미터 튜닝 등 학습 도중에 다뤄야 할 과정을 중심으로 작성하겠습니다. 두 번째 파트에서는 최적화(Optimization) 알고리즘의 종류, regularization의 종류 등 다양한 선택지들을 중심으로 다뤄보겠습니다. 그럼 시작해볼까요?? 순서 Activation Functions Data Preprocessing We..
[BOAZ] 백화점 고객 성별 예측 컴피티션 안녕하세요. 오늘은 BOAZ 머신러닝 스터디에서 진행한 '백화점 고객 성별 예측 컴피티션' 후기를 남겨보려 합니다. 약 2주간 진행되었고, 새로운 feature 생성에 신경을 많이 썼던 대회였습니다. 바로 시작해 볼게요! 순서 데이터 설명 변수 아이디어 정리 코드 설명 결론 및 배운점 1. 데이터 설명 train - 약 70만개의 구매/환불 데이터 + 성별 정보 test - 약 34만개의 구매/환불 데이터 * 데이터 형태 데이터의 첫 번째 줄을 대략적으로 해석해보면 "고객번호(custid)가 0인 사람이 2000년 6월 25일 12시 12분 무역지점에서 제품코드(goodcd)가 2.12E+12인 에스티로더 화장품을 3개월 할부로 81000원에 샀다" 라고 합니다. 여기서 저희가 예측해야할 것은 이 사람의..
Feature selection : feature importance vs permutation importance 안녕하세요, 오늘은 Feature selection 에 대해 다뤄보려고 합니다! Feature selection은 말 그대로 모델에 사용될 feature를 선택하는 과정입니다. feature가 그냥 많으면 많을수록 좋은거 아닌구요? 네!! 아닙니다!! 예측에 도움이 되는 feature는 많으면 많을수록 좋지만, 어떤 특성들은 예측에 아무런 도움이 되지 않아 시간만 소모하기도 하고 또 어떤 특성들은 오히려 성능을 떨어뜨리기도 하기 때문에 제거해주는편이 좋습니다. 그럼 어떤 기준으로 중요한 특성과 그렇지 못한 특성으로 구분할까요? 오늘 소개해드릴 기준은 feature importance와 permutation importance 입니다. 순서 feature importance 개념 및 코드 동작 원리 per..
[cs231n] Convolutional Neural Network (CNN) 순서 Neural Network (NN) Convolutional Neural Network (CNN) 동작원리 convolution layer activation function pooling layer fully connected layer 정리 1. Neural Network (NN) 지금까지 가중치(W)가 한 개인 함수를 다뤘습니다. 가중치가 한 개인 모델은 이미지의 분류 기준 특성이 적을 수 밖에 없고, 따라서 빨간 자동차만을 자동차로 인식하게 되는 한계가 있습니다. 이를 극복하기 위해 색깔 뿐만 아니라 더 다양하고 복잡한 특성을 고려해야 하는데요, 가중치(W)를 여러개 사용함으로써 이 문제를 해결할 수 있었습니다. input(이미지, x)에 첫 가중치(W1)를 곱한 값이 다시 input이 되고..