Numpy - dot, @, * 차이점
·
딥러닝 Math
1. '@' 과 np.dot연산자@ 연산자는 행렬 곱셈(Matrix Multiplication)을 수행하는 데 사용된다.이는 numpy 배열 간의 행렬 곱셈을 간결하게 표현할 수 있는 연산자입니다.차원, 2차원, 3차원 배열 등 모든 차원의 배열에서 요소별 곱셈을 수행할 수 있다.import numpy as np# 두 개의 2x2 행렬 생성A = np.array([[1, 2], [3, 4]])B = np.array([[5, 6], [7, 8]])# 행렬 곱셈C = A @ Bprint("A @ B:")print(C)# 행렬 곱셈D = np.dot(A, B)print("np.dot(A, B):")print(D)# 결과# A @ B:# [[19 22]# [43 ..
Tensor 노름
·
딥러닝 Math
노름이란?수학에서 벡터의 크기나 길이를 측정하는 함수이다.벡터 공간에서 벡터가 원점에서 얼마나 떨어져 있는지를 나타내며, 벡터의 크기나 길이를 계산하는데 사용된다. 딥러닝에서 노름은 모델이 너무 복잡해지지 않도록 하는 방법 하는 방법 이다.모델이 너무 복잡해지면 학습 데이터에는 잘 맞지만 새로운 데이터에는 잘 작동하지 않게 된다.이를 방지하기 위해 정규화라는 방법을 사용 한다.1. L1 노름 (Manhattan Norm) - 정의L1 노름은 벡터의 각 성분의 절대값의 합으로 정의 된다.n차원 벡터 v=(v1​,v2​,…,vn​)의 L1 노름은 아래 수식과 같다.∥v∥1​=∣v1​∣+∣v2​∣+⋯+∣vn​∣ a = torch.tensor([5., 4.])# p 는 노름의 수norm_l1 = torch.no..
Tensor 생성과 조작
·
딥러닝 Math
Tensor 생성import torch# 문제 1: 크기 (3, 2)인 모든 원소가 0인 텐서를 만드세요.a = torch.zeros([3, 2])print(a)# 문제 2: 크기 (2, 4)인 모든 원소가 1인 텐서를 만드세요.b = torch.ones([2, 4])print(b)# 문제 3: 크기 (4, 3)인 텐서를 만들고, 각 원소가 0과 1 사이의 균등 분포에서 랜덤하게 초기화되도록 하세요.c = torch.rand([4, 3])print(c)# 문제 4: 크기 (3, 3)인 텐서를 만들고, 각 원소가 평균 0, 표준편차 1의 정규 분포에서 랜덤하게 초기화되도록 하세요.d = torch.randn([3, 3])print(d)# 문제 5: 1부터 10까지의 step 2를 가지는 순서대로 1차원 텐..
Numpy - 표준편차, randn
·
딥러닝 Math
편차, 분산, 표준편차1. 편차 (Deviation)각 데이터 포인트와 평균 사이의 차이개별 데이터 값과 평균의 차이를 계산하나의 변량이 평균으로부터 얼마나 떨어져 있는가를 나타내는 값이며,모든 편차의 합은 무조건 0이 나오므로 의미있는 결과물을 얻기 위해 편차에 제곱하여 평균을 구한 후 분산을 구한다. 2. 분산 (Variance)데이터가 평균을 중심으로 얼마나 퍼져 있는지를 나타낸다.편차의 제곱을 평균한 값분산을 구하면 양수 값을 가지게 되어 편차의 분호에 영향을 받지 않는다. 3. 표준편차분산의 제곱근 데이터 퍼짐 정도를 원래 데이터와 동일한 단위로 표현한다.분산하고 표준편차하고 무슨 차이가 있을까?분산은 데이터와 평균 사이의 차이의 제곱의 평균인데, 예를들어 데이터가 "달러" 이라면 분산은 달러^..