밑바닥부터 시작하는 딥러닝 ch01을 보고 공부했습니다.
import numpy as np
: ML에서 행렬 연산을 쉽게 하기 위해서 사용
np.array()
x = np.array([1.0, 2.0, 3.0])
원소 수가 같은 두 numpy 배열 x, y에 대해서
x = np.array([1.0, 2.0, 3.0])
y = np.array([4.0, 5.0, 6.0])
print(x+y)
print(x-y)
print(x/y)
원소별 산술 연산이 가능하다.
x = np.array([[1.0, 2.0], [3.0, 4.0]])
y = np.array([[4.0, 5.0], [6.0, 7.0]])
print(x.shape) # 배열의 형상 보기
print(np.ndim(x)) # 배열의 차원 수 확인
print(x+y)
shape이 같은 행렬끼리는 산술 연산 가능
: 형상이 다른 배열끼리의 연산
x = np.array([[1.0, 2.0], [3.0, 4.0]])
y = np.array([10, 20])
print(x*y)
x = np.array([[1.0, 2.0], [3.0, 4.0]])
print(x[0]) # array([1.0, 2.0])
print(x[0][1]) # 2.0
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(0, 6, 0.1) # 0부터 1까지 0.1 간격으로 생성
y = np.sin(x)
plt.plot(x, y)
plt.show()
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(0, 6, 0.1) # 0부터 1까지 0.1 간격으로 생성
y1 = np.sin(x)
y2 = np.cos(x)
plt.plot(x, y1, label="sin")
plt.plot(x, y2, linestyle="--", label="cos")
plt.xlabel("x")
plt.ylabel("y")
plt.title("sin & cos")
plt.legend() # 범례추가
plt.show()
대응하는 차원의 원소 수를 일치시켜야 한다.
x = np.array([[1.0, 2.0], [3.0, 4.0]])
y = np.array([[4.0, 5.0], [6.0, 7.0]])
print(np.dot(x, y))
x = np.array([1, 2]) # 1*2
w = np.array([[1,3,5], [2,4,6]]) # 2*3
print(np.dot(x, w))