# numpy
Numpy 사용법
homogeneuos 유형의 데이터타입은 파이썬의 일반적인 sequence 타입보다 빠른 수학 연산이 가능하다. 특히 넘파이는 c 기반의 내부 구조를 가지고 있는 라이브러리이고 메모리 번지를 stride 하게 가져와 연산하기 때문에 빠르고 효율적이다.넘파이의 array
들어가기 앞서
나는 누군가에게 무언가를 가르칠 정도로 지식의 수준이 높거나 학벌이 뛰어나지 않다. 그럼에도 불구하고 내가 선형대수에 대해 지식을 퍼트리는 글을 쓰는 이유는 다음과 같다. > **1. 나를 비롯한 Beginner들이 수식이 가져다오는 공포감에서 해방될 수 있도록 하기 위함이다. 내가 선형대수에 대해 공부했던 것을 복습하며 머릿속 지식의 밀도를 높이기 위함...
[ML Study week 1-2] Numpy, train_test_split(), 브로드캐스팅
Numpy, train_test_split 함수, 브로드캐스팅에 대해서 알아보자!

Numpy.random에서 볼 수 있는 확률분포 (이산 확률 분포)
결과가 0이나 1 둘 중 하나인 경우, p의 확률로 1이 나오고 1-p의 확률로 0이 나온다. 이항분포의 특수한 경우로 볼 수 있다. 파라미터로는 확률 p가 있다.예: 코인을 던져 앞면이 나오면 1 뒷면이 나오면 0인 경우는p=0.5인 베르누이 분포이항분포의 특수한 케
numpy API - ndarray 합치기
np.hstack과 np.vstack column 방향으로 / row 방향으로 array를 합칠 것인지 정하는 API이다 또 다른 예시 여기서는 hstack할시 1이라는 차원값이 유지된다는 차이점이 있다. 또다른 예시 조심할 것 (3,4)의 ndarray에 쌓기

numpy의 차원 다루기
(n,)을 1) 브로드캐스팅을 위해 (1,n), (n,1)로 바꿔줄 수 있다 2)(H,W)의 흑백 이미지가 있다고 할때 tensorflow는 이미지가 (H,W,C) shape으로 무조건 맞춰주기를 규칙으로 한다.Reshape은 원소의 개수가 변하지 않는 상태에서 sha
numpy API 벡터, 행렬의 연산
Dot product원소별로 곱하고 그 값을 더해주는 것이 dot product이다.\-> element-wise multiplication + sumDeep Learning에서의 적용affine은 x1w1 + x2w2 + x3w3 ... + b를 나타낸다.Matrix

numpy API 수학 함수
우리가 필요한 다양한 sin, cos, log 등의 함수가 필요하다. constantPI = np.pi E = np.e대문자로 전부 나타낸 값은 수정하면 안되는 값으로 약속되어 있다. 그러니 관습을 따르도록.deg2rad & rad2degnumpy.rad2deg(x)
numpy API : Rounding과 정렬 함수
소수점 아래 숫자가 많은 경우 출력을 할때 보기 좋지 않은 경우가 있다. 이런 경우 rounding을 통해 소수점 아래 몇자리까지만 표기/ 출력하는 기능을 수행할 수 있다. 연산에 직접적으로 사용하기에는 위험 부담이 존재한다. 딥러닝에서 소수점 아래 숫자들이 굉장히 중
numpy API 합곱차와 통계값
Summation cumsum numpy.cumsum(a, axis=None, dtype=None, out=None) ndarray.cumsum(axis=None, dtype=None, out=None) np.sum은 ndarray의 해당 차원의 모든 원소를 더하여
numpy API들의 axis, keepdims 인자
행렬 ndarray에서의 axis, keepdims Axis 어떤 축을 기준으로 연산을 진행할 것인지 나타낸다. sum_ = a.sum(axis=0) >흔한 오해 : axis 0을 기준으로 더했으면 axis 0이 남겠네? 아니다! 오히려 axis 0의 차원이 사라진
[Python] Array
배열은 아주 많은 양의 데이터를 쉽게 저장하고 조작할 수 있게 해주므로, 여러 데이터 처리 작업에서 핵심적인 역할을 담당한다. 배열은 수학과 과학 프로그래밍에서 널리 사용되는 벡터나 행렬에도 쉽게 대응된다. 먼저 파이썬에서 배열을 처리하는 데 필요한 기본적인 성질을 알

ndarray의 인덱싱과 슬라이싱
ndarray의 인덱싱과 슬라이싱은 python의 list와 동일하게 작동한다.\[inclusive start:exclusive end]Element assignment with slicinga\[:5] = 0 \[ 0 0 0 0 0 6 7 8 9]a\[::2] = 2

ndarray의 원소별 연산과 브로드캐스팅
Numpy를 사용하여 좋은 점For문을 사용하지 않고 원소별로 더해주는 것이 가능하다For 문이 프로그램 속도를 저하시키는 주요 원인For 문을 분석하는데 에너지가 많이 소모된다 -> 남의 코드 읽기 힘들다...\_\_add\_\_ , \_\_sub\_\_ ,\_\_m
ndarray의 모양 바꾸기
Reshape Numpy.reshape numpy.reshape(a, newshape, order='C') a 를 newshape 모양으로 바꿔서 반환한다. 바깥쪽 차원부터 채우는 원칙 (2,)모양의 ndarray가 있고 각각은 (3,) 모양의 ndarray이다. 3