일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Machine Learning
- mariadb
- phpredis
- AWS
- React
- Node
- Redis
- Redux
- 블레이드 템플릿
- linux
- deep learning
- php
- nginx
- Backbone.js
- webpack
- Switch
- laravel
- rabbitmq
- fastapi
- python
- CentOS
- nodejs
- Go
- For
- NCP
- docker
- 기초 수학
- SQL
- Babel
- javascript
- Today
- Total
목록AI/기초 수학 (23)
개발일기
편미분(Partial Derivative)에 대한 정의지금껏 봐온 함수는 $ \frac{\mathrm{d} y}{\mathrm{d} x} = x^2 - 3x + 6 $ 와 같이 $ x $ 라는 변수 하나로 y의 미분값이 결정되는 일변수 함수였다. 하지만 머신 러닝에서 주로 사용되는 함수는 다변수 함수이다. 다변수 함수는 $ z = x^2y^2 + 7xy - 3x + 6 $와 같이 여러 개의 독립 변수를 가지고 있는 함수를 의미한다. 이와같이 $ x $, $ y $ 라는 여러 개의 독립 변수를 가진 다변수 함수를 미분하기 위해 편미분을 사용한다. 3D그래프로 확인하기$ z = x^2 - y^2 $ 라는 다변수 함수는 $ x $, $ y $라는 변수를 가지고 있으며 이 변수들은 결과값 z에 영향을 주는 변수..
자동 미분(Auto Differentiation)자동 미분은 함수의 미분을 자동으로 계산하는 기법을 의미한다. 쉽게 말하면 Tensorflow, Pytorch와 같이 머신러닝 라이브러리를 통해 함수의 기울기(미분값)을 계산하는것을 의미한다. 자동 미분은 $ \displaystyle \lim_{ x\to 0}\frac{f(x+h) - f(x)}{h} $ 와 같이 미세한 차이를 바탕으로 미분값을 추정하는 수치 미분보다 정확하며 복잡한 함수에서도 편리하게 미분값을 계산할 수 있다.수치 미분: 순방향으로 계산이 이루어진다. 입력 변수의 변화량을 바탕으로 출력값을 계산해 나간다.자동 미분: 수치 미분과 반대로 역방향으로 계산이 이루어진다. 순방향과는 반대의 개념으로 출력값을 바탕으로 입력 변수의 변화량을 계산해 ..
도함수는 주로 $ \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...