일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 데이터분석준전문가
- r
- 회귀분석
- 코딩테스트
- ADsP
- 태블로
- matplotlib
- 자격증
- Google ML Bootcamp
- sklearn
- 데이터 전처리
- 딥러닝
- ML
- 시각화
- tableau
- 이것이 코딩테스트다
- pandas
- 머신러닝
- 데이터 분석
- scikit learn
- Python
- SQL
- Deep Learning Specialization
- IRIS
- 파이썬
- pytorch
- 이코테
- 통계
- SQLD
- 데이터분석
- Today
- Total
목록분류 전체보기 (142)
함께하는 데이터 분석
순환 신경망의 한계 및 개선 방안 RNN은 어느 정도 이상부터는 결과가 한계에 부딪힘 이유는 타임 시퀀스가 늘어나며 역전파 시 하이퍼볼릭 탄젠트 함수의 미분 값이 0 ~ 1 사이의 값이 나오고 여러 번 곱해져 기울기 값이 역전파될 때 타임 시퀀스가 길어질수록 모델이 제대로 학습을 하지 못하는 기울기 소실(vanishing gradient)이라는 현상이 일어남 순환 신경망에서는 활성화 함수를 바꾸는 경우도 있지만 개선 모델인 LSTM과 GRU를 사용 LSTM(long short-term memory) 기존의 순환 신경망 모델에 장기기억을 담당하는 부분을 추가한 것 기존에는 은닉 상태만 있었다면 셀 상태라는 이름을 가지는 전달 부분을 추가 GRU(gated recurrent unit) LSTM보다 간단한 구..
모델 구현 import torch import torch.nn as nn import torch.optim as optim import numpy as np from tqdm.notebook import tqdm n_hidden = 35 # 순환 신경망의 노드 수 lr = 0.01 epochs = 1000 string = "hello pytorch. how long can a rnn cell remember? show me your limit!" chars = "abcdefghijklmnopqrstuvwxyz ?!.,:;01" char_list = [i for i in chars] n_letters = len(char_list) 예시에서 사용할 문장은 'hello pytorch. how long can ..
순환 신경망의 발달 과정 순환 신경망(RNN)은 합성곱 신경망보다 먼저 나왔음 위키피디아에 따르면 1982년 존 홉필드가 순환 신경망의 기본적인 형태를 대중화했다고 알려져 있지만, 해당 아이디어가 이때 처음 나온 것은 아니고 이전에도 언급된 적이 있음 이때 만들어진 순환 신경망이 오늘날의 순환 신경망의 형태로 오기까지는 꽤 많은 시간이 걸렸는데, 발전된 연산 능력과 데이터의 증가로 인해 성과를 보일 수 있게 된 것 특히 발전 과정에서 나온 LSTM(long short-term memory)과 GRU(gated recurrent unit)같은 변형 모델들은 오늘날에도 많이 사용되고 있음 순환 신경망이 왜 필요한지를 살펴보면 TRIANGLE과 INTEGRAL이라는 글자는 같은 알파벳들의 나열이지만 순서가 다..
모델 구현 import torch import torch.nn as nn import torch.optim as optim import torch.nn.init as init from tqdm.notebook import tqdm import matplotlib.pyplot as plt torch.nn에는 신경망 모델들이 포함 torch.optim에는 경사 하강법 알고리즘이 들어있음 torch.nn.init에는 텐서에 초깃값을 주기 위해 필요한 함수들이 있음 tqdm 라이브러리를 사용하여 상태진행률을 확인할 수 있음 num_data = 1000 num_epoch = 10000 noise = init.normal_(torch.FloatTensor(num_data,1), std=1) x = init.unif..
신경망이란 무엇인가 인공 신경망(Artificial Neural network)은 생물학적 신경망에서 영감을 얻어 만들어짐 생물학적 신경망은 여러 자극이 가지돌기들을 통해 신경세포로 들어오고 어느 정도 이상의 자극이 들어오면 이를 축식을 통해 다른 세포로 전달하는 구조 인공 신경망은 여러 자극 혹은 입력이 들어오면 각각 가중치를 곱해 더해주고 추가적으로 편차도 더함. 이렇게 다 더한 값을 활성화 함수(activation fuction)를 통해 변형하여 전달하는 단위를 인공 뉴런이라 하고 이러한 뉴런들이 모인 네트워크를 인공 신경망이라고 함 인공 신경망의 요소 입력층은 들어온 신호를 그대로 다음 노드에 전달하는 창구 역할로 가중합이나 활성화 함수를 계산하지 않고 시스템 외부로부터 입력자료를 받아들여 시스템..
Pytorch란? 파이토치는 2017년 초에 공개된 딥러닝 프레임워크로 GPU를 활용하여 인공 신경망 모델을 만들고 학습시킬 수 있게 도와줌 Numpy라이브러리에 비해 계산이 간단하고 병렬 연산에서 GPU를 사용하므로 CPU보다 속도면에서 월등히 빠름 유명한 딥러닝 프레임워크인 텐서플로(tensorflow)는 'Define and Run' 방식으로 연산 그래프를 먼저 만들고 실제 연산할 때 값을 전달하여 결과를 얻고 파이토치(Pytorch)는 'Define by Run' 방식으로 연산 그래프를 정의하는 것과 동시에 값도 초기화되어 연산이 이루어지고 연산 속도도 빠르고, 적어도 밀리지는 않음 Pytorch 설치하기 https://pytorch.org/ PyTorch An open source machine..
csv와 tsv의 차이 csv : 콤마로 텍스트를 구분 tsv : 탭으로 텍스트를 구분 종류 excel csv(comma separated value) tsv(tab separated value) seperator , \t 불러오기 read_excel read_csv(sep=',') read_csv(sep='\t') excel 파일 불러오기 import pandas as pd # 판다스 라이브러리 불러오기 pd.read_excel('저장된 경로/저장된 파일명.xlsx') csv 파일 불러오기 import pandas as pd # 판다스 라이브러리 불러오기 pd.read_csv('저장된 경로/저장된 파일명.csv', sep=',') # separator 생략 가능 pd.read_csv('저장된 경로/저장..
주성분 분석(Principal Component Analysis) 차원을 축소하는 알고리즘 중 가장 인기 있는 알고리즘 사이킷런 import numpy as np np.random.seed(4) m = 60 w1, w2 = 0.1, 0.3 noise = 0.1 angles = np.random.rand(m) * 3 * np.pi / 2 - 0.5 X = np.empty((m, 3)) X[:, 0] = np.cos(angles) + np.sin(angles)/2 + noise * np.random.randn(m) / 2 X[:, 1] = np.sin(angles) * 0.7 + noise * np.random.randn(m) / 2 X[:, 2] = X[:, 0] * w1 + X[:, 1] * w2 + n..
랜덤 포레스트(Random Forest) 배깅 방식을 적용한 의사결정 나무(Decision Tree)의 앙상블 따라서 사이킷런의 BaggingClassifier에 DecisionTreeClassifier를 넣어 만들거나 RandomForestClassifier를 사용 사이킷런 from sklearn.model_selection import train_test_split from sklearn.datasets import make_moons X, y = make_moons(n_samples=500, noise=0.3, random_state=42) X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=42) 사이킷런의 moons 데이..
앙상블 학습 가장 좋은 모델 하나보다 비슷한 일련의 예측기로부터 예측을 수집하여 더 좋은 예측을 얻는 것 투표 기반 분류기 정확도가 80% 정도 되는 분류기를 여러 개 훈련시켰다고 가정 더 좋은 분류기를 만드는 매우 간단한 방법은 각 분류기의 예측을 모아 가장 많이 선택된 클래스를 예측 이렇게 다수결의 투표 즉, 통계적 최빈값으로 정해지는 분류기를 직접 투표(hard voting)이라 함 이 다수결 투표 분류기가 앙상블에 포함된 개별 분류기 중 가장 뛰어난 것보다 정확도가 높은 경우가 많음 각 분류기가 약한 학습기(weak learner)일지라도 많고 다양하면 앙상블은 강한 학습기(strong learner)가 될 수 있음 큰 수의 법칙 import numpy as np import pandas as p..