전체 글

현재 진행하는 개발 과정을 자주 기록하는 곳
부스트캠프 AI Tech 2기/Precourse

Tensor Manipulation 2

Pytorch View numpy의 reshape와 동일 t = np.array([[[0,1,2],[3,4,5]], [[6,7,8],[9,10,11]]] ft = torch.FloatTensor(t) ft -> tensor([[[ 0., 1., 2.], [ 3., 4., 5.]], [[ 6., 7., 8.], [ 9., 10., 11.]]]) ft.shape -> torch.Size([2, 2, 3]) ft.view([-1,3]).shape -> torch.Size([4, 3]) ft.view([4,1,3]).shape -> torch.Size([4, 1, 3]) Squeeze 차원이 1인 경우에는 해당 차원을 제거함 ft = torch.FloatTensor([[0],[1],[2]]) ft.shape -..

부스트캠프 AI Tech 2기/Precourse

Tensor Manipulation 1

Vector, Matrix, Tensor 1차원: 벡터 2차원: 행렬 3차원: 텐서 (이미지출처: boostcourse ai-tech pre-course) 3차원 텐서의 구성: (이미지출처: boostcourse ai-tech pre-course) computer vision |t| = (batch_size, width, height) 첫번째 값이 세로, 두번째값이 가로, 세번째값이 깊이 nlp |t| = (batchsize,length,dim) 첫번째 값이 세로, 두번째값이 가로, 세번째값이 깊이 PyTorch Tensor 1D Array t = torch.FloatTensor([0.,1.,2.,3.,4.,5.,6.]) t.dim() -> 1 t.shape -> torch.Size([7]) t.size..

부스트캠프 AI Tech 2기/Precourse

파이썬 시각화 툴

matplotlib pyplot 객체를 사용하여 데이터를 표시 pyplot 객체에 그래프를 쌓은 다음 show로 flush argument를 kwargs로 받기 때문에 alt+tab으로 확인이 어려움 그렇기때문에 메뉴얼을봄 import matplotlib.pyplot as plt X = range(100) Y = [value**2 for value in X] plt.plot(X,Y) plt.show() #color code #linestyle #title #legend - label X1 = range(100) Y1 = [value**2 for value in X] X = range(100) Y = [value+5 for value in X] plt.plot(X,Y, color="r", linestyle..

부스트캠프 AI Tech 2기/Precourse

통계학 맛보기

모수 통계적 모델링은 적절한 가정 위에서 확률분포를 추정(inference)하는 것이 목표이며 기계학습과 통계학이 공통적으로 추구하는 목표 그러나 유안한 개수의 데이터만 관찰해서 모집단의 분포를 정확하게 알아낸다는 것은 불가능하므로, 근사적으로 확률 분포를 추정할 수 밖에없음 예측모형의 목적은 분포를 정확하게 맞추는 것보다는 데이터와 추정방법의 불확실성을 고려해서 위험을 최소화하는 것 데이터가 특정 확률분포를 따른다고 선험적으로(a priori) 가정한 후 그 분포를 결정하는 모수(parameter)를 추정하는 방법을 모수적(par 방법론이라고함 정규분포의 확률분포를 모델링한다면 정규분포의 모수로는 평균,분산이 있음, 평균과 분산을 추정하는 방법을 통해서 데이터를 학습하는 방법을 모수적 방법이라함 특정 ..

부스트캠프 AI Tech 2기/Precourse

확률론 맛보기

딥러닝에서 확률론이 필요한 이유 딥러닝은 확률론 기반의 기계학습 이론에 바탕을 두고있음 기계학습에서 사용되는 loss function의 작동원리는 데이터 공간을 통계적으로 해석해서 유도 회귀분석에서 손실함수로 사용되는 L2노름은 예측오차의 분산을 가장 최소화하는 방향으로 학습하도록 유도 분류 문제에서 사용되는 cross-entropy는 모델 예측의 불확실성을 최소화하는 방향으로 학습하도록 유도 분산 및 불확실성을 최소화하기 위해서는 측정하는 방법을 알아야함 확률분포 데이터공간을 X*Y라고 표기하고 D는 데이터공간에서 데이터를 추출하는 분포 데이터는 확률변수(x,y) ~ D라표기 확률변수 종류 확률변수의 분포의 종류(D)에 의해 구분 이산형확률변수 (discrete) 확률 변수가 가질 수 있는 경우의 수를..

부스트캠프 AI Tech 2기/Precourse

딥러닝 학습방법

Softmax 모델의 출력을 확률로 해석할 수 있게 변환(확률 벡터로 변환 주어진 데이터가 어떤 클래스에 어느정도의 확률로 속하는지 알 수 있음 학습에만 필요하고 추론할 때는 one-hot-vector를 사용 선형모델에 사용 출력물의 모든 값을 고려 Activation function (활성함수) 해당 주소에 해당하는 값만 갖고 계산 vector가 아닌 실수값만 input으로 받음 이 활성함수를 이용해서 선형으로 나온 출력물을 비선형으로 출력할 수 있고 이때의 비선형 출력물을 잠재벡터(히든벡터)라고 부르기도하고 뉴런이라고 부름 실수값을 입력으로 받고 실수값을 return함 활성함수를 사용하지 않으면 딥러닝은 선형모형과 차이가 없음 최근 ReLU를 사용 (이미지 출처: boostcamp ai precour..

부스트캠프 AI Tech 2기/Precourse

Pandas (2)

Pandas Data handling 실제 DB의 데이터를 가져오게 된다면 전처리를 필요로함 group by ( 출처: boostcamp ai pre course ) # data from: ipl_data = {'Team': ['Riders', 'Riders', 'Devils', 'Devils', 'Kings', 'kings', 'Kings', 'Kings', 'Riders', 'Royals', 'Royals', 'Riders'], 'Rank': [1, 2, 2, 3, 3,4 ,1 ,1,2 , 4,1,2], 'Year': [2014,2015,2014,2015,2014,2015,2016,2017,2016,2014,2015,2017], 'Points':[876,789,863,673,741,812,756,78..

부스트캠프 AI Tech 2기/Precourse

Pandas (1)

Pandas 데이터를 다루기 위한 도구 기본 인덱스는 0부터 순차적으로 증가함 import pandas as pd data_url = 'https://archive.ics.uci.edu/ml/machine-learning-databases/housing/housing.data' #csv 타입 데이터 로드, separate는 빈공간(정규표현식으로 되어있는 \s+)으로 지정하고, Column은 없음 df_data = pd.read_csv(data_url, sep='\s+', header = None) df_data.head() -> 0 1 2 3 4 5 6 7 8 9 10 11 12 13 0 0.00632 18.0 2.31 0 0.538 6.575 65.2 4.0900 1 296.0 15.3 396.90 4..

모플로
모던플로우