기본 콘텐츠로 건너뛰기

[ML] 결정트리(Decision Tree) 모델

적분의 일반 규칙과 부정적분(Indefinite Integral)

내용

적분 규칙

적분의 일반 규칙

함수 y에 대한 미분은 $\displaystyle \frac{dy}{dx}$를 계산하는 것입니다. 많은 수학적 계산과 같이 미분 과정 역시 역산될 수 있습니다. 예를 들어 $\displaystyle y = x^4$의 미분은 $\displaystyle \frac{dy}{dx} = 4x^3$이 되며 그 과정을 반대로 실행하면 원 함수인 $\displaystyle y = x^4$이 되어야 합니다. 그러나 미분계수가 $\displaystyle 4x^3$이 되는 함수는 위에서 언급한 함수 외에 $\displaystyle x^4 + C$와 같이 상수를 첨가된 다양한 함수의 미분 결과일 수 있습니다. 상수는 미분의 결과에 영향을 주지 않기 때문입니다. 이러한 점을 적분에 고려하여 미분의 역과정인 적분 결과에 상수 C를 더해 줍니다.

$$\begin{align} \frac{dy}{dx}&=x^{n-1}\\ \int nx^{n-1}\; dx&= x^n+C\\ & C: 상수 \end{align}$$

식 1과 같이 위의 관계에서 독립변수 x의 거듭제곱에 대한 미분과 적분의 일정한 관계가 성립됩니다.

적분일반규칙 $$\begin{align}\tag{1} \frac{dy}{dx}&=x^{n}\\ \int nx^{n}\; dx&= \frac{1}{n+1}x^{n+1}+C\\ & C: 상수,\; n \neq -1 \end{align}$$

적분 계산은 sympy의 integrate()함수를 적용합니다. 이 함수의 결과에는 상수가 고려되지 않습니다. 그러나 적분 결과로 대상인 함수에서의 상수의 존재 여부를 결정할 수 없기 때문에 상수가 존재한다고 간주해야 합니다. 그러므로 intergrate()함수에 의한 계산결과에 상수가 생략되어 있음을 주의해야 합니다.

import numpy as np 
from sympy import *
x, n=symbols("x, n")
y=x**n
inty=integrate(y, x)
inty
$\quad \color{navy}{\begin{cases} \frac{x^{n + 1}}{n + 1} & \text{for}\: n \neq -1 \\\log{\left(x \right)} & \text{otherwise} \end{cases}}$

위 코드의 결과는 조건에 따라 다른 함수를 나타냅니다. 이러한 함수를 분기함수(Piecewise)라고 합니다.

미분과정에서 변수의 계수는 계산에 영향을 주지 않는 것과 마찬가지로 적분에서도 영향을 주지 않습니다. 다음 코드에서 변수를 정의할 때 n = -1을 피하기 위해 모든 변수가 양수인 조건을 설정하였습니다.

a, x, n=symbols("a, x, n", positive=True)
y=a*x**n
inty=integrate(y, x)
inty
$\quad \color{navy}{\frac{a x^{n + 1}}{n + 1}}$


 $\displaystyle \frac{dy}{dx} = 4x^2$의 적분을 계산해 봅니다.

$$\begin{align} \int dy&=\int 4x^2\, dx\\ &=\frac{4}{3} x^3+C \end{align}$$
x=symbols("x")
y=4*x**2
inty=integrate(y, x)
inty
$\quad \color{navy}{\frac{4 x^{3}}{3}}$

예)
  $\displaystyle \frac{dy}{dx} = ax^{12}$의 적분?

$$\begin{align} \int dy&=\int ax^{12}\, dx\\ &=\frac{a}{13} x^{13}+C \end{align}$$
a, x=symbols("a, x")
y=a*x**12
inty=integrate(y, x)
inty
$\quad \color{navy}{\frac{a x^{13}}{13}}$

함수들의 합에 대한 적분

다음 두 함수의 합에 대한 적분은 미분과 같이 함수 각각을 구분하여 실행할 수 있습니다.

$$\begin{align} \frac{dy}{dx}&=x^2+x^3\\ \int dy&=\int(x^2+x^3)\,dx\\ &= \int x^2\, dx + \int x^3\, dx\\ & \frac{1}{3}x^3 + \frac{1}{4}x^4 + C \end{align}$$
a, x=symbols("a, x")
y=x**2+x**3
inty=integrate(y, x)
inty
$\quad \color{navy}{\frac{x^{4}}{4} + \frac{x^{3}}{3}}$

함수의 상수항

함수에 포함된 상수항은 다음과 나타낼 수 있습니다.

$$y = ax + b = ax + bx^0$$

그러므로 상수항 역시 다음과 같이 적분의 일반 규칙을 적용할 수 있습니다.

$$\begin{align} \frac{dy}{dx}&=x^n+b\\ \int dy&=\int(x^n+b)\,dx\\ &= \int x^n\, dx + \int b\, dx\\ &= \frac{1}{n+1}x^{n+1} + bx + C \end{align}$$
b, n, x=symbols("b, n, x", positive=True)
y=x**n+b
inty=integrate(y, x)
inty
$\quad \color{navy}{b x + \frac{x^{n + 1}}{n + 1}}$

예)
  함수 $\displaystyle 24x^{11}$를 적분해 봅니다.

$$\begin{align} \frac{dy}{dx}&=24x^{11}\\ y&=\frac{24}{12}x^{12}\\ &=2x^{12} \end{align}$$
x=symbols("x")
y=24*x**11
inty=integrate(y, x)
inty
$\quad \color{navy}{2 x^{12}}$

예)
  $\displaystyle \int(a+b)(x+1)\,dx$?

위 식은 x에 관한 적분으로 a, b는 상수입니다. 그러므로 식은 $\displaystyle (a+b) \int(x+1)\,dx$와 같습니다.

$$\begin{align} \frac{dy}{dx}&=(a+b)(x+1)\\ y &= (a + b) \int(x + 1) dx\\ &= (a + b)\int x^1\, dx + (a + b) \int 1x^0\, dx\\ &= (a + b)\frac{1}{2}x^2 + (a + b)\frac{1}{1}x^1 \end{align}$$
a, b, x=symbols("a, b, x")
y=(a+b)*(x+1)
inty=integrate(y, x)
int
$\quad \color{navy}{x^{2} \left(\frac{a}{2} + \frac{b}{2}\right) + x \left(a + b\right)}$

예)
  $\displaystyle \frac{du}{dt} = g\sqrt{t}$의 적분?

$$\begin{aligned} \int\;du &= \int gt^{\frac{1}{2}}\, dt\\ &=\frac{2}{3}gt^{\frac{3}{2}}+C \end{aligned}$$
g, t=symbols("g, t")
dudt=g*sqrt(t)
u=integrate(dudt, t)
u
$\quad \color{navy}{\frac{2 g t^{\frac{3}{2}}}{3}$

예)
  $\displaystyle \frac{dy}{dx} = x^3-x^2+x$의 적분?

$$\begin{aligned} \int\;dy &= \int (x^3-x^2+x)\, dx\\ &=\int x^3\, dx-\int x^2\,dx +\int x\, dx\\ &=\frac{1}{4}x^4-\frac{1}{3}x^3+\frac{1}{2}x^2+C \end{aligned}$$
x=symbols("x")
y=x**3-x**2+x
inty=integrate(y, x)
inty
$\quad \color{navy}{\frac{x^{4}}{4} - \frac{x^{3}}{3} + \frac{x^{2}}{2}}$

예)
  $\displaystyle \int 9.75x^{2.25}\, dx$?

x=symbols("x")
y=9.75*x**2.25
inty=integrate(y, x)
inty
$\quad \color{navy}{3.0 x^{3.25}}$

예)
  $\displaystyle \int(x+1)(x+2)\, dx$?

$$\int (x2 + 3x+2) \, dx=\frac{x^3}{3}+\frac{3x^2}{2}+2x+C$$
x=symbols("x")
y=(x+1)*(x+2)
inty=integrate(y, x)
inty
$\quad \color{navy}{\frac{x^{3}}{3} + \frac{3 x^{2}}{2} + 2 x}$

위 예들은 적분의 일반 규칙에 의해 쉽게 계산될 수 있습니다. 그러나 $\displaystyle \frac{dy}{dx}=\frac{a}{x}$의 경우는 그 규칙을 적용할 수 없습니다.

어떤 함수를 미분한 결과가 $\displaystyle \frac{1}{x}$가 되는 경우는 그 함수가 상수인 경우에 해당합니다. 즉, 상수 a는 $\displaystyle ax^0$이므로 이 함수의 미분계수는 $\displaystyle -a·0x^{0-1}$이 되므로 결과는 0입니다. 결과적으로 $\displaystyle \int \frac{1}{x}\,dx$는 위의 규칙을 적용할 수 없습니다. 대신에 로그함수 $\displaystyle y = \log_ex$의 미분인 $\displaystyle \frac{dy}{dx} = \frac{1}{x}$를 역으로 적용할 수 있습니다. $$\begin{align} y &= \log_ex^a\\ \frac{dy}{dx}& =\frac{a}{x}\\ \int \,dy & =\int a \frac{1}{x}\, dx\\ y& =a\log_ex + C \end{align}$$

특별한 함수의 적분

위 경우와 같이 적분은 미분의 반대 과정으로 일반적인 규칙의 적용이 어려운 경우는 미분에 의한 결과를 찾는 방법으로 적분을 실행할 수 있습니다. 이러한 방식으로 적용할 수 있는 몇 가지 적분 방법은 식 2와 같습니다.

특별한 함수의 적분공식 $$\begin{align}\tag{2} &\int \frac{1}{x}\;dx=\log_e x+C\\ &\int \frac{1}{x+a}\;dx=\log_e(x+a)+C\\ &\int e^x\;dx=e^x+C\\ &\int e^{-x}\;dx=-e^{-x}+C\\ &\int \sin(x)\;dx=-\cos(x)+C\\ &\int \cos(x)\;dx=\sin(x)+C \end{align}$$
a, x=symbols("a, x")
integrate(x**(-1))
$\quad \color{navy}{\log{\left(x \right)}}$
integrate(1/(x+a), x)
$\quad \color{navy}{\log{\left(a + x \right)}}$
integrate(exp(x), x)
$\quad \color{navy}{e^{x}}$
integrate(exp(-x), x)
$\quad \color{navy}{- e^{- x}}$
integrate(sin(x), x)
$\quad \color{navy}{- \cos{\left(x \right)}}$
integrate(cos(x), x)
$\quad \color{navy}{\sin{\left(x \right)}}$

$\displaystyle y = x\log_ex - x$의 미분은 다음과 같습니다.

$$\begin{align} \frac{dy}{dx}&=\log_ex+\frac{x}{x}-1\\&=\log_ex \end{align}$$

그러므로 이 함수의 적분은 다음과 같이 나타낼 수 있습니다.

$$\begin{align} \int \log_ex \; dx &= x(\log_ex - 1) + C\\ \int \log_{10}x \; dx &= 0.4343·x(\log_ex - 1) + C\\ \int a^x \; dx &=  \frac{a^x}{\log_ea} + C \end{align}$$

sympy 모듈의 log(x, base)함수는 밑수(base)를 별도로 지정할 수 있지만 생략하면 기본값 e가 적용됩니다. 그러므로 log(x)는 자연로그를 의미합니다.

삼각함수의 적분

y=sin(ax)와 y=cos(ax)의 적분은 이 함수들의 미분 형태를 사용하여 식 3과 4와 같이 계산됩니다.

$$\begin{align}\tag{3} y=\sin(ax)&=\int dy\\ \frac{dy}{dx} = a·\cos(ax) &\rightarrow \int dy=a \int \cos(ax)\, dx=\sin(ax)\\ \int \cos(ax)\,dx&=\frac{1}{a}\sin(ax)+C \end{align}$$ $$\begin{align}\tag{4} y=\cos(ax)&=\int dy\\ \frac{dy}{dx} = -a·\sin(ax) &\rightarrow \int dy=-a \int \sin(ax)\, dx=\cos(ax)\\ \int \sin(ax)\,dx&=-\frac{1}{a}\cos(ax)+C \end{align}$$
a, x=symbols("a, x")
integrate(cos(a*x), x)
$\quad \color{navy}{\begin{cases} \frac{\sin{\left(a x \right)}}{a} & \text{for}\: a \neq 0 \\x & \text{otherwise} \end{cases}}$
integrate(sin(a*x), x)
$\quad \color{navy}{\begin{cases} - \frac{\cos{\left(a x \right)}}{a} & \text{for}\: a \neq 0 \\0 & \text{otherwise} \end{cases}}$

삼각함수의 적분은 미분과 마찬가지로 삼각함수 공식을 적용하여 계산할 수 있습니다. 예를 들어 $\displaystyle \cos^2(\theta)$은 식 5와 같이 변형할 수 있습니다.

$$\begin{align}\tag{5} &\begin{aligned}\cos(\theta+\theta) & = \cos^2(\theta) - \sin^2(\theta)\\ &= \cos^2(\theta) - (1 - \cos^2(\theta))\\ &= 2\cos^2(\theta)- 1\end{aligned}\\ &\therefore \cos^2(\theta) = \frac{1}{2}(\cos(2\theta) + 1) \end{align}$$

위 정리를 적용하여 함수 $\displaystyle \cos^2(\theta)$의 적분을 실행할 수 있습니다.

$$\begin{align} \int \cos^2(\theta)\, d\theta &= \frac{1}{2} \int (\cos(2\theta) + 1)\, d\theta\\ &= \frac{1}{2}(\int \cos(2\theta)\, d\theta + \int 1\, d\theta)\\ &= \frac{\sin(2\theta)}{4} + \frac{\theta}{2} + C \end{align}$$
theta=symbols("theta")
y=cos(theta)**2
inty=integrate(y, theta)
inty
$\quad \color{navy}{\frac{\theta}{2} + \frac{\sin{\left(\theta \right)} \cos{\left(\theta \right)}}{2}}$

편적분

1개 이상의 독립변수를 가진 함수의 미분은 편미분을 실행합니다. 즉, 특정한 변수를 미분할 경우 다른 변수는 상수로 지정됩니다. 적분 역시 마찬가지 방법이 적용됩니다. 예를 들어 $\displaystyle f(x, y) = x^2 + y^2$을 적분할 경우 식 6과 같이 표현됩니다.

$$\begin{equation}\tag{6}\int \int x^2+y^2\,dxdy \end{equation}$$

위 식에서 먼저 dx를 실행할 경우 변수 y는 상수로 고려되고 그 적분 결과를 y에 대해 적분을 실행됩니다. 물론 두 번째 과정에서 x는 상수로 고려됩니다.

$$\begin{align} \text{1 단계}&\\ &\int (x^2+y^2)\,dx=\frac{1}{3}x^3+y^2x\\ \text{2 단계}&\\ & \int \left(\frac{1}{3}x^3+y^2x\right)\, dy=\frac{1}{3}x^3y+\frac{1}{3}y^3x \end{align}$$

sympy의 integrate() 함수를 적용할 경우 적분할 변수를 순서적으로 지정함으로서 편적분을 실행할 수 있습니다. 다음은 먼저 x, 다음으로 y에 대해 적분하기 위한 코드입니다.

x, y=symbols("x, y")
f=x**2+y**2
intf=integrate(f, x, y)
intf
$\quad \color{navy}{\frac{x^{3} y}{3} + \frac{x y^{3}}{3}}$

표면과 고체의 면적을 다루는 과정에서 길이와 폭이 모두 변수이면 다음과 같이 편적분이 필요합니다.

$$\int \int u\, dxdy$$

여기서 u는 각 지점에서 x와 y에 따라 달라지는 속성입니다. 이를 표면 적분이라고 합니다. 그것은 u·dx·dy와 같은 모든 요소의 값 (즉, 작은 직사각형 길이 dx 및 폭 dy에 대한 u의 값)이 전체 길이와 전체 폭에 대해 합산되어야 함을 나타냅니다.

3 차원의 경우도 비슷합니다. 크기가 dx, dy, dz인 작은 입방체의 부피가 각 변수에 관계된 함수 f(x,y,z)로 표현된다면, 전체의 부피는 적분에 의해 계산될 수 있습니다.

$$\text{Volume}=\int \int \int f(x,y,z)\, dx dy dz$$

댓글

이 블로그의 인기 게시물

[Linear Algebra] 유사변환(Similarity transformation)

유사변환(Similarity transformation) n×n 차원의 정방 행렬 A, B 그리고 가역 행렬 P 사이에 식 1의 관계가 성립하면 행렬 A와 B는 유사행렬(similarity matrix)이 되며 행렬 A를 가역행렬 P와 B로 분해하는 것을 유사 변환(similarity transformation) 이라고 합니다. $$\tag{1} A = PBP^{-1} \Leftrightarrow P^{-1}AP = B $$ 식 2는 식 1의 양변에 B의 고유값을 고려한 것입니다. \begin{align}\tag{식 2} B - \lambda I &= P^{-1}AP – \lambda P^{-1}P\\ &= P^{-1}(AP – \lambda P)\\ &= P^{-1}(A - \lambda I)P \end{align} 식 2의 행렬식은 식 3과 같이 정리됩니다. \begin{align} &\begin{aligned}\textsf{det}(B - \lambda I ) & = \textsf{det}(P^{-1}(AP – \lambda P))\\ &= \textsf{det}(P^{-1}) \textsf{det}((A – \lambda I)) \textsf{det}(P)\\ &= \textsf{det}(P^{-1}) \textsf{det}(P) \textsf{det}((A – \lambda I))\\ &= \textsf{det}(A – \lambda I)\end{aligned}\\ &\begin{aligned}\because \; \textsf{det}(P^{-1}) \textsf{det}(P) &= \textsf{det}(P^{-1}P)\\ &= \textsf{det}(I)\end{aligned}\end{align} 유사행렬의 특성 유사행렬인 두 정방행렬 A와 B는 'A ~ B' 와 같

[matplotlib] 히스토그램(Histogram)

히스토그램(Histogram) 히스토그램은 확률분포의 그래픽적인 표현이며 막대그래프의 종류입니다. 이 그래프가 확률분포와 관계가 있으므로 통계적 요소를 나타내기 위해 많이 사용됩니다. plt.hist(X, bins=10)함수를 사용합니다. x=np.random.randn(1000) plt.hist(x, 10) plt.show() 위 그래프의 y축은 각 구간에 해당하는 갯수이다. 빈도수 대신 확률밀도를 나타내기 위해서는 위 함수의 매개변수 normed=True로 조정하여 나타낼 수 있다. 또한 매개변수 bins의 인수를 숫자로 전달할 수 있지만 리스트 객체로 지정할 수 있다. 막대그래프의 경우와 마찬가지로 각 막대의 폭은 매개변수 width에 의해 조정된다. y=np.linspace(min(x)-1, max(x)+1, 10) y array([-4.48810153, -3.54351935, -2.59893717, -1.65435499, -0.70977282, 0.23480936, 1.17939154, 2.12397372, 3.0685559 , 4.01313807]) plt.hist(x, y, normed=True) plt.show()

R 미분과 적분

내용 expression 미분 2차 미분 mosaic를 사용한 미분 적분 미분과 적분 R에서의 미분과 적분 함수는 expression()함수에 의해 생성된 표현식을 대상으로 합니다. expression expression(문자, 또는 식) 이 표현식의 평가는 eval() 함수에 의해 실행됩니다. > ex1<-expression(1+0:9) > ex1 expression(1 + 0:9) > eval(ex1) [1] 1 2 3 4 5 6 7 8 9 10 > ex2<-expression(u, 2, u+0:9) > ex2 expression(u, 2, u + 0:9) > ex2[1] expression(u) > ex2[2] expression(2) > ex2[3] expression(u + 0:9) > u<-0.9 > eval(ex2[3]) [1] 0.9 1.9 2.9 3.9 4.9 5.9 6.9 7.9 8.9 9.9 미분 D(표현식, 미분 변수) 함수로 미분을 실행합니다. 이 함수의 표현식은 expression() 함수로 생성된 객체이며 미분 변수는 다음 식의 분모의 변수를 의미합니다. $$\frac{d}{d \text{변수}}\text{표현식}$$ 이 함수는 어떤 함수의 미분의 결과를 표현식으로 반환합니다. > D(expression(2*x^3), "x") 2 * (3 * x^2) > eq<-expression(log(x)) > eq expression(log(x)) > D(eq, "x") 1/x > eq2<-expression(a/(1+b*exp(-d*x))); eq2 expression(a/(1 + b * exp(-d * x))) > D(eq2, "x") a * (b * (exp(-d * x) * d))/(1 + b