본문 바로가기

전체 글112

# 0. Python 가상환경 세팅 (feat. Anaconda) Anaconda 설치 가장 먼저 해야할 것은 Anaconda를 설치하는 것이다. Anaconda를 통해 우리는 가상환경을 구축할 수 있다. 굳이 가상환경을 사용하는 이유에 대해 간단히 언급하자면, 상황별로 사용해야 하는 모듈들 혹은 버전이 상이할 것이다. 이를 위해 용도별로 적합한 가상환경을 구축한다. https://www.anaconda.com/ Anaconda | The World's Most Popular Data Science Platform Anaconda is the birthplace of Python data science. We are a movement of data scientists, data-driven enterprises, and open source communities. w.. 2022. 1. 25.
# 2. np.random 이번 포스트에서는 numpy 패키지중 랜덤으로 배열을 생성하는 메소드들에 대해 알아볼 것이다. np.random.rand 이 메소드의 인자는 정수들을 여러개 나열할 수 있다. (가변인자) 이 정수들은 생성될 배열의 차원이 된다. 각 요소들은 균일분포에서 0~1 사이의 값들로 이루어져 있다. import numpy as np r = np.random.rand(4, 3, 3) print(r.shape) print(r) >> (4, 3, 3) [[[0.24380173 0.55585745 0.68894391] [0.73212786 0.32187644 0.6370955 ] [0.19283783 0.32313824 0.54533787]] [[0.10738025 0.06398702 0.82363365] [0.2943.. 2022. 1. 17.
# 10. SVD (Singular Value Decomposition) 사전 지식 직교행렬 (othogonal matrix) 직교행렬은 각 열벡터가 서로 직교하는 행렬을 의미하며, 각 열벡터의 스칼라값이 1일 경우, 해당 행렬은 정규직교행렬이라고 한다. 대각행렬 (diagonal matrix) 대각행렬은 주대각선 요소에만 값이 존재하는 행렬을 의미한다. 그러므로 대각행렬에 대한 전치행렬(transpose matrix)은 결국 자기 자신이다. 고유값 분해 (eigen value decomposition) 1편, 2편 SVD (Singular Value Decomposition) SVD의 정의는 특정 벡터들이 서로 직교할 때, 해당 벡터들에 선형변환 $A_{m \times n}$를 취한 경우, 선형변환된 벡터들이 크기는 변하더라도 여전히 직교하는가? 의 의미를 지니고 있다. 행.. 2022. 1. 17.
# 1. Numpy Array Creation 지난 포스트에서는 Numpy에 대해 기본적인 내용들을 살펴보았다. 이번 포스트에서는 Numpy 배열을 생성하는 방법들에 대해 알아보려고 한다. Basic creation import numpy as np a = np.array([1, 2, 3, 4]) print(a) print(a.dtype) print(a.shape) >> [1 2 3 4] int64 (4,) 기본적인 배열 생성 방법은 np.array 메소드에 인자로 배열의 요소로 들어갈 시퀀스를 전달하는 방법이다. b = np.array([(1.5, 2, 3), (4, 5, 6)]) print(b) print(b.dtype) print(b.shape) >> [[1.5 2. 3. ] [4. 5. 6. ]] float64 (2, 3) 다차원 배열을 생성.. 2022. 1. 9.
# 0. Numpy 기초 Numpy 라이브러리 설치 우선, 자신의 개발환경에 Numpy 라이브러리가 설치되어 있는지부터 확인하는 명령어는 아래와 같다. pip list 파이썬에 관련되어 설치된 패키지 목록이 출력된다. 그중에서 Numpy가 설치되어 있으면 그냥 넘어가도 되지만, 안되어 있으면 아래와 같은 명령어를 입력한다. pip install numpy 추가로 Matplotlib 라이브러리가 설치되어 있지 않다면 아래의 명령어도 입력해주자. Matplotlib 라이브러리는 시각화를 위한 라이브러리다. Numpy 라이브러리를 통해 얻은 값 혹은 배열을 시각화하는데 도움이 된다. pip install matplotlib Numpy Array Numpy 라이브러리는 선형대수를 다루기에 적합한 도구이다. Numpy 라이브러리는 Num.. 2022. 1. 7.
# 6. Long Short-Term Memory (LSTM) - Code 지난 포스트에서는 LSTM의 이론에 대해 다루었다. 이번 포스트에서는 LSTM을 코드로 구현해보는데 주의해야할 점이 있다. 기존의 RNN을 구현할 때에는 은닉 상태에 해당하는 변수 hidden 하나만 다음 시퀀스의 메모리 셀로 전달하는 구조였다. 하지만, LSTM은 은닉 상태 이외에도 셀의 상태에 해당하는 변수인 cell도 같이 고려해야 한다. Pytorch를 통한 구현 """ 두 번째 단어를 입력으로 세 번째 단어가 무엇이 나올지 예측 """ import numpy as np import torch import torch.nn as nn import torch.optim as optim sentences = ['i like dog', 'i love coffee', 'i hate milk', 'you l.. 2022. 1. 3.