분류 전체보기
-
정규 분포 (Gaussian Distribution)머신러닝(MACHINE LEARNING)/통계(Statistics) 2021. 6. 8. 17:26
0. 서론 - 정규분포는 18세기 후반 과 19세기 초반의 위대한 독일의 수학자 카를 프리드리히 가우스이 이름을 따 가우스 분포 Gaussinan_Distribution 이라고도 불리는데, 다음과 같은 공식을 따른다. 1. 공식 가우시안 정규분포를 그려보게 되면 다음과 같은 형태를 띄게 된다. from numpy import random import seaborn as sns sns.distplot(random.normal(size=1000), hist=False) plt.show() 2. 정규분포의 정규화(Normalized) 확인 - 정규분포가 정규화 즉, 다음을 만족시키는지 확인해보자. - 제일 간단한 형태부터 시작하기 위해서 \( u = 0 \), 즉 평균은 0일 때부터 확인해보자. - \( u ..
-
역변환 방법( Inverse CDF Technique)머신러닝(MACHINE LEARNING)/통계(Statistics) 2021. 6. 8. 14:36
0. 서론 - 컴퓨터를 쓰다 보면, 생각보다 난수를 일으킬 일들이 많이 있다. 이럴때, 보통 python 의 경우, random.random( ) 모듈을 사용하게 되면, 0~1 사이 분포의 난수가 일어나게 되는데, 그렇다면, 어떤 특정한 함수를 따르는 난수를 만들어 내고 싶다면, 어떻게 해야 할까? 라는 의문에서 이 역변환 방법(inverse CDF technique) 이 쓰이게 된다. 1. 기본적인 난수 생성기 - 앞서 말했듯, 가장 기본적인 난수 생성기는 균등분포(uniform dist.) 난수생성기이다. 따라서 이것만 가지고는 0~1 사이의 난수만 생성할 수 있지, 다른 특정한 PDF 를 가지는 난수를 생성하기는 힘들다. 하지만, 역변환 방법(Inverse CDF) 을 사용하게 된다면, 우리는 어떠..
-
[Python] with 이란머신러닝(MACHINE LEARNING)/코드 리뷰(Code_Review) 2021. 5. 17. 03:24
- 결론부터 말하자면 ,파이썬에서의 with 이란 컴퓨터에게 필요한 자원을 다시 반납 토록 하는 일이다. - 파이썬의 수많은 책들이 있지만, with을 하면 어떻게 되고 어떻게 되고, ~ 의 식의 풀이만 나열뿐 왜 사용하는지 알려주는 책은 많이 못본것 같다. - With의 경우, 제일 간단한 예제를 보게 되면, with 은 맨처음 시작할 떄, __open__ 이라는 method를 호출하고 with 구문을 빠져 나가게 되면 __exit__ 이라는 method 를 호출하게 된다. [ 다음 코드 : https://m.blog.naver.com/PostView.nhn?blogId=wideeyed 참고] class Hello: def __enter__(self): # 사용할 자원을 가져오거나 만든다(핸들러 등) ..
-
[Pytorch] transfer_Learning 전이학습딥러닝(deep Learning) 2021. 5. 17. 02:22
0. 들어가기 전에 - 파이토치의 전이학습 을 통하여 모델은 Resnet18 로 벌과 개미를 구분하는 모델을 만들어보겠습니다. 1. 모듈 임포트 In [103]: from __future__ import print_function, division import torch import torch.nn as nn import torch.optim as optim from torch.optim import lr_scheduler import numpy as np import torchvision from torchvision import datasets, models, transforms import matplotlib.pyplot as plt import time import os import copy pl..
-
Pytorch 사용자 정의 Transforms.Compose 만들기카테고리 없음 2021. 5. 15. 02:46
- 우리가 원하는 대로 데이터를 핸들링 하려면 Pytorch 에서 제공해주는 Compose 기능을 사용할 수 있다. - 간단히 Cifar 10 의 데이터를 가지고 우리가 원하는 대로 rescale, randomCrop , 그리고 이를 합친 Compose([rescale,randomcrop]) 을 구현해보겠다. - 우선 원하는 모듈을 로딩시켜주고, import torch import torch.nn as nn import numpy as np import torch.optim as optim import torchvision import torchvision.transforms as transforms import matplotlib.pyplot as plt %matplotlib inline - Cuda가..
-
Pytorch torchvision.transforms.normalize 함수머신러닝(MACHINE LEARNING)/코드 리뷰(Code_Review) 2021. 5. 15. 00:58
- torchvision.transforms.Compose 에 주로 쓰이는 transfroms.normalize 함수는 각 channel 에 맞춰서 normalize를 시켜준다. 보통 이렇게 CNN 모델에서는 Transforms 을 시켜주는데, 이는 우리가 원하는 형태의 데이터 형태로 바꿔주기 위해서이다.. - 보통 CNN 은 transform.Normalize(( - - -),(- - - )) 을 쓰는데. transform.Normalize((mean_1, mean_2, mean_3),(std_1, std_2, std_3)) 이렇게 각 채널별로 mean 값 . std, 값을 할당해준다. - 예시를 보게 되면, - 다음과 같이 각 채널별로 0.5 0.5 0.5 을 주게 되었을때, 각각의 값들이 \( (X..
-
Pytorch CNN with Mnist카테고리 없음 2021. 5. 14. 21:38
In [5]: import torch import torchvision.datasets as dsets import torchvision.transforms as transforms import torch.nn as nn import torch.nn.init In [2]: # gpu 사용이 가능한지 ??? device = 'cuda' if torch.cuda.is_available() else 'cpu' # gpu 사용설정 후 , random_value 를 위한 seed 설정 # for reproducibility torch.manual_seed(777) if device == 'cuda': torch.cuda.manual_seed_all(777) In [3]:..
-
Pytorch Conv2d 와 Maxpool2d 설명카테고리 없음 2021. 5. 14. 21:13
1. Convolution 이란? - convolution 이란 convolution layer 의 크기(=stride 값) 만큼을 이동시키면서 겹쳐지는 부분의 각 원소의 값을 곱하여서 모두 더한 값을 출력하는 층이다. 그러면 이걸 왜 적용시키냐?? 가 궁금하실 것이다. - convolution layer을 적용시키는 것은 이미지를 인식 시킬때, 주변의 값들을 관계를 알아내기 위해서이다. 한마디로 수직의 특성을 가진 convolution Layer 를 이미지에 적용시킨다면, 이미지값에서 수직인 값들이 나오게 되고, 수평인 값들을 뽑아내는 특징을 가진 Conv Layer 을 적용시키면 수평의 값들이 나오게 된다. - 좀 더 이해가 쉽게 되기 위해서 밑의 그림을 살펴보자. - 이 그림에서 보듯이 edge d..