일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- Backbone.js
- webpack
- Redux
- React
- For
- php
- rabbitmq
- deep learning
- nginx
- linux
- nodejs
- Babel
- laravel
- 블레이드 템플릿
- NCP
- python
- 기초 수학
- javascript
- Switch
- phpredis
- Go
- Redis
- CentOS
- docker
- SQL
- AWS
- Node
- fastapi
- mariadb
- Today
- Total
목록전체 글 (161)
개발일기
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 np import matplotlib.pyplot as plt # No Solutions a1 = b1 = 2 ..
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...
Python에서 PIL 라이브러리를 사용하여 이미지를 불러올 때, 이미지가 깨져있다면 image file is truncated (2 bytes not processed) 에러가 발생한다. 이 에러가 발생할 경우, ImageFile 관련 코드를 추가하면 해결 할 수 있다. from PIL import Image, ImageFile import matplotlib.pyplot as plt ImageFile.LOAD_TRUNCATED_IMAGES = True # image file is truncated (2 bytes not processed) 에러 발생시 위의 코드 추가 !wget https://i2.pickpik.com/photos/900/201/265/korea-seoul-jongno-city-pre..
PHP 경로 확인 which php 터미널에 which php를 입력하여 php 경로를 확인한다. PHP 파일 실행 /usr/bin/php ./fruit.php which php를 결과가 /usr/bin/php로 출력됬다 가정한 후, 결과값 이후에 실행할 php파일을 추가로 입력하면 해당하는 php파일이 실행된다.
특이값 분해 정방 행렬에만 적용이 가능했던 고유값 분해와 달리 특이값 분해는 정방 행렬이 아닌 대부분의 행렬에 적용이 가능한 특징을 가지고 있다. 행렬을 고유 벡터, 고유값과 유사하게 단일 벡터로 분해한다. 특이값 분해는 행렬을 단일 벡터로 분해하며 행렬 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개가 생성된다. 고유값을 모두 곱하고 행렬 계수와 비교하면 동일한 값이 나오는 것..
Determinant of a Matrix 행렬 판별식은 역행렬의 존재 여부를 판별해주는 식이다. 역행렬을 판별하기에 행렬 판별식은 정방 행렬로 이루어져 있다. 수식으로는 행렬 앞 뒤에 | 절대값 붙여 표시한다. $ A = \begin{bmatrix} a & b \\ c & d \\ \end{bmatrix}, |A|=ad - bc $ 로 표시하며 행렬 판별식으로 행렬의 계수를 구할 수 있으며 A행렬의 ad - bc 공식으로 구할 수 있다. import numpy as np A = np.array([[5, 1], [4, 3]]) print(np.linalg.det(A)) # det()메서드로 행렬식 계산 """ 11.000000000000002 """ 행렬 판별식을 역행렬의 존재 여부를 판별하기에 ad -..