numpy API 수학 함수

김상윤·2023년 3월 7일
0

우리가 필요한 다양한 sin, cos, log 등의 함수가 필요하다.

삼각함수와 쌍곡선 함수

constant
PI = np.pi E = np.e
대문자로 전부 나타낸 값은 수정하면 안되는 값으로 약속되어 있다. 그러니 관습을 따르도록.

deg2rad & rad2deg
numpy.rad2deg(x) & numpy.deg2rad(x)
각도를 라디안-도 바꿔준다. 사용자는 도에 더 익숙하다 그러므로 바꿔주면 유용함.

Trigonometric Functions

import numpy as np

x = np.deg2rad(np.linspace(0,360,11))

sin, cos = np.sin(x), np.cos(x)
tan = np.tan(x)
import numpy as np

PI = np.pi
x = np.linspace(0, 4* PI, 100)

sin, cos, tan = np.sin(x), np.cos(x), np.tan(x)

Exponential Function
numpy.exp(x)

import numpy as np
E = np.e
x = np.arange(1,7)

E**x.round(2)
np.exp(x).round(2) 

자연상수 e의 지수 자리에 ndarray가 들어갈 수 있다.

Sigmoid Function

import numpy as np

x = np.linspace(-5,5,100)
sigmoid = 1/(1 + np.exp(-x))

Hyperbolic Functions
numpy.sinh(x) numpy.cosh(x) numpy.tanh(x)

import numpy as np
x = np.linspace(0, 1, 5)

sinh, cosh = np.sinh(x), np.cosh(x)
tanh = np.tanh(x)

ReLU(x) = max(0,x)

멱함수

Quadratic Functions
numpy.square(x)

import numpy as np
a = np.random.randint(0,10,(10,))

square1 = a*a
square2 = a**2
square3 = np.square(a)

numpy.sqrt(x), numpy.cbrt(x)

import numpy as np
a = np.random.randint(0,10,(4,))
sqrt1 = a**(1/2)
sqrt2 = np.sqrt(x)

cbrt1 = a**(1/3)
cbrt2 = np.cbrt(x)

numpy.reciprocal(x)
a**(-1) 혹은 numpy.reciprocal(x)로 나타낼 수 있다.
numpy.square(x)
이 API를 활용하면 1/x2과 x1/2를 다음과 같이 표현할 수 있다.
np.reciprocal.square(x))
np.reciprocal.sqrt(x))

numpy.power(x1, x2)

import numpy as np
s1 = np.square(a).round(2)
s2 = a**2.round(2)
s3 = np.power(a,2).round(2)

power 함수가 위에 나왔던 함수들을 대체할 수 있고, exp(x) 함수는 밑이 e로 고정인데에 비해 밑을 설정할 수 있는 유연함도 있다.

로그함수

Log function

정의역은 0을 점근선으로 가진다 따라서 0이 포함되지 않게 조심해야 한다.
numpy.log(x)

import numpy as np

x = np.linspace(0.001, 10, 300)
log = np.log(x)

properties of Log
log2 = np.log(a)/np.log(2)

Binary entropy

import numpy as np

p = np.random.uniform(0,1,(4,))
be_e = -(p**np.log(p) + (1-p)*np.log(1-p))
be_2 = -(p**np.log(p)/np.log(2) + (1-p)*np.log(1-p)/np.log(2))
profile
AI 대학원 지망생

0개의 댓글