일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- python
- docker
- NCP
- React
- deep learning
- webpack
- Node
- 기초 수학
- Backbone.js
- linux
- Babel
- nodejs
- Go
- phpredis
- 블레이드 템플릿
- Redis
- fastapi
- SQL
- CentOS
- rabbitmq
- Switch
- mariadb
- nginx
- Redux
- laravel
- AWS
- For
- javascript
- php
- Machine Learning
- Today
- Total
목록기초 수학 (21)
개발일기
도함수는 주로 $ \frac{\mathrm{d} y}{\mathrm{d} x} $ 와 같이 표기한다. 이 의미는 y함수가 x변수에 대해 어떻게 변하는지를 의미한다. 즉 y함수는 x변수의 값에 따라 도함수의 값이 달라진다. 상수의 미분 법칙(Derivative of a constant)c는 변수가 아닌 상수라는 가정하에 도함수를 구하면 도함수는 0이 된다. $ \frac{d}{dx}c = 0 $ 라고 식으로 표현할 수 있으며 저 c에는 상수 아무거나 들어갈 수 있다. $ \frac{d}{dx}5 = 0 $ 5가 들어가도 도함수는 0이 되고 $ \frac{d}{dx}10 = 0 $ 10이 들어가도 도함수는 0이 된다. 제곱의 법칙(The Power rule)제곱 법칙은 $ \frac{\mathrm{d} }{..
델타 논법(The Delta Method)이란?델타 논법은 곡선 위의 어느 지점에서도 경사를 구할 수 있는 방법중 하나다. 쉽게 보면 한 점에서의 경사를 구하는 방법이라고 이해할 수 있다. 두 점의 접점을 점차 가깝게 함으로 한 점의 접점을 그려볼 수 있다. 이를 증명하기 위해 $ y = x^2 + 2{x} + 1 $ 방정식에 임의의 두 점을 그린 후, 두 점 사이의 기울기를 계산해보자.# Calculate P, Q Slopeimport matplotlib.pyplot as pltimport numpy as npdef f(x): y = x**2 + 2*x + 1 # 방정식 return yx = np.linspace(-10, 10, 10000) # start, finish, n pointsy = f(x..
미분(Differential)의 기본미분이란 어느 한 지점의 기울기를 계산하는 것을 의미하며 미분을 통해 함수의 변화율을 구할 수 있다.import numpy as npimport matplotlib.pyplot as pltx = np.linspace(-4, 2, 100)y = x**2 + 2*xplt.figure(figsize=(8, 6))plt.plot(x, y)plt.plot(-4, 8, 'go') # 초록색 점plt.plot(-1, -1, 'ro') # 빨간색 점plt.plot(0, 0, 'yo') # 노란색 점plt.plot(2, 8, 'bo') # 파란색 점plt.show() 위의 그래프에서 빨간색과 노란색 점에 곡선의 기울기와 일치하는 직선이 그려져 있다. 이 직선은 접선이라 부르며 해당 ..
PCA(주성분 분석)PCA(Principal Component Analysis)는 다차원으로 구성된 데이터를 분석할 때 사용하는 머신러닝 알고리즘이다. 데이터는 기본적으로 여러 차원으로 구성되어 있다. 각 차원은 데이터의 특성을 담고 있는데 상대적으로 덜 중요한 데이터를 담고 있는 차원이 존재한다. 이와 반대로 중요한 데이터를 담고 있는 차원 또한 존재한다. PCA는 덜 중요한 차원의 데이터를 압축하여 차원을 축소시켜 나간다. 이 과정을 통해 생성된 새로운 데이터 세트는 중요한 데이터를 압축하여 담고 있으며 데이터 분석을 진행할 때 효율적으로 분석을 진행할 수 있다. 쉽게 말하면 10차원 데이터를 3차원으로 축소시켜 표현한다고 할 수 있다. Iris 예제Sklearn에서 제공하는 데이터 셋으로 PCA를 ..
Moore Penrose Pseudo Inverse - 유사 역행렬역행렬은 행렬이 정방 행렬인 경우에만 구할 수 있다는 한계를 가지고 있다. 정방 행렬이 아닌 역행렬이 불가능한 특이 행렬에서도 역행렬과 유사한 행렬을 구해 미지수의 해를 구할 수 있다. 이를 Moore-Penrose Pseudo Inverse라고 한다. 쉽게 말하면 유사 역행렬이라 칭한다. 열보다 행이 큰 $ n_{row} > n_{col} $는 과결정오류(Overdetermined)라 하고 행보다 열이 큰 $ n_{col} > n_{row} $ 는 불충분오류(Underdetermined)라 한다.import numpy as npimport matplotlib.pyplot as plt# No Solutionsa1 = b1 = 2a2 = b..
SVD Image Compression 특이값 분해 활용을 위해 먼저 matplotlib을 활용하여 이미지 하나를 출력시킨다. # Singular Value Decomposition from PIL import Image, ImageFile import matplotlib.pyplot as plt # ImageFile.LOAD_TRUNCATED_IMAGES = True # image file is truncated (2 bytes not processed) !wget img = Image.open('korea-seoul-jongno-city-c00898e0e8f0998492a96e0c987a672e.jpg') plt.imshow(img) # 원본 이미지 img = img.convert('LA') plt...
특이값 분해 정방 행렬에만 적용이 가능했던 고유값 분해와 달리 특이값 분해는 정방 행렬이 아닌 대부분의 행렬에 적용이 가능한 특징을 가지고 있다. 행렬을 고유 벡터, 고유값과 유사하게 단일 벡터로 분해한다. 특이값 분해는 행렬을 단일 벡터로 분해하며 행렬 A는 $ A = UDV^T $로 구성되게 된다. 행과 열의 개수도 추가하여 더 자세하게 표현하면 $ A_{mn} = U_{mm} D_{mn} V^T_{nn} $로 표현된다. 또한 이러한 방식은 Full Matrix SVD라고 표현한다. U: m x m 크기의 가진 직교 행렬(좌특이행렬) D: m x n 크기의 대각 행렬(대각 원소들은 특이값으로 이루어짐) $ V^T $: n x n 크기의 직교 행렬(우특이행렬) import numpy as np A = ..
고유값 고유값은 행렬의 계수가 행렬의 모든 고유값의 곱과 같다는 특징을 가지고 있다. import numpy as np A = np.array([[4, 5], [2, 6]]) lam, v = np.linalg.eig(A) # EigenValues, EigenVectors det = np.linalg.det(A) # Determinant print("EigenValues product: ", np.product(lam)) print("Determinant: ", det) """ EigenValues product: 14.0 Determinant: 14.000000000000004 """ A 행렬은 2차원 행렬이므로 고유값이 2개가 생성된다. 고유값을 모두 곱하고 행렬 계수와 비교하면 동일한 값이 나오는 것..