일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Redux
- mariadb
- CentOS
- fastapi
- 기초 수학
- For
- NCP
- React
- Go
- python
- rabbitmq
- laravel
- 블레이드 템플릿
- webpack
- linux
- phpredis
- Backbone.js
- php
- Babel
- javascript
- Switch
- docker
- nginx
- Node
- SQL
- Redis
- deep learning
- AWS
- nodejs
- Machine Learning
- Today
- Total
목록전체 글 (189)
개발일기
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 -..
고유벡터 어떤 벡터에 선형 변환이 일어났을 때, 벡터의 방향이 바뀌지 않고 변환 결과가 자기 자신의 상수배이며 0이 아닌 벡터를 고유벡터라 한다. 여기서 선형 변환이란 벡터의 크기 변화없이 돌리거나 뒤집거나 뒤트는 등 벡터를 변형시키는걸 의미한다. 왼쪽 그림을 오른쪽 방향으로 전단 변형하면 그래프는 위와 같이 변형된다. 높이는 유지하되 오른쪽 방면으로 찌그러진 모양의 그림이 나오게 된다. 흰색 벡터는 방향을 그대로 유지하지만 노란색과 초록색 벡터는 방향이 바뀐다. 위의 변형의 결과로 흰색 벡터는 고유 벡터가 된다. 만약 위 그림을 2배로 확대시키는 변형을 가하면 그림이 커진만큼 그래프의 선의 길이도 2배 증가한다. 기존 벡터의 크기가 5, 확대된 벡터의 크기가 10이라 가정했을 때, 확대된 벡터에서 기존..
대칭행렬 전치 행렬이 기존 행렬과 동일하면 대칭행렬이라 한다. 즉 행렬의 전치는 자기 자신이 된다. 수식으로는 $ X = X^T $ 로 표시한다. # Symmetric Matrix import numpy as np X = np.array([[0, 5, 6], [5, 1, 9], [6, 9, 3]]) print("X: \\n", X, "\\n") print("X Transpose: \\n", X.T) """ X: [[0 5 6] [5 1 9] [6 9 3]] X Transpose: [[0 5 6] [5 1 9] [6 9 3]] """ 단위 행렬 행렬 대각선의 주축 요소들은 1이고 이를 제외한 나머지 요소가 0인 행렬을 단위행렬이라 한다. 단위행렬은 수식에서 $I $로 표시하며 $ I_3 = \begin{p..
전치 0차원 스칼라가 전치하면 행벡터가 열벡터로, 열벡터가 행벡터로 바뀐다. 1차원 벡터가 전치하면 스칼라과 동일하게 행벡터가 열벡터로, 열벡터가 행벡터로 바뀐다. 2차원 행렬부터는 다르게 동작한다. $ A = \begin{pmatrix} x_{11} & x_{12} & x_{13} \\ x_{21} & x_{22} & x_{23} \\ x_{31} & x_{32} & x_{33} \\ \end{pmatrix} A^T = \begin{pmatrix} x_{11} & x_{21} & x_{31} \\ x_{12} & x_{22} & x_{32} \\ x_{13} & x_{23} & x_{33} \\ \end{pmatrix} $ 행렬의 시작점과 끝점을 중심으로 대각선을 그린 후, 대각선을 중심으로 축을 뒤집..
텐서 데이터 스칼라(Scalar): 0차원의 텐서를 스칼라라 부른다. 0차원이란 [1, 2, 3]과 같이 배열 안에 들어있지 않는 경우를 의미한다. 1차원은 [1, 2, 3], 2차원은 [[1, 2], [3, 4]]와 같이 이루어져 있다. 즉 스칼라는 0차원의 숫자 상수를 나타낸다. 1, 2, 3 과 같이 개별로 존재하는 상수를 의미한다. 벡터(Vector): 1차원 텐서를 벡터라 칭한다. 쉽게 생각하면 1차원 배열이다. 행렬(Matrix): 2차원 텐서를 행렬이라 한다. 쉽게 생각하면 2차원 배열이다. 3-Tensor: 3차원 텐서를 나타낸다. 3차원부터 차원이 n차로 늘어나면 n-Tensor로 칭한다. 텐서(Tensor): 3-Tensor에서 봤듯이 차원이 늘어날수록 4차원 텐서, 5차원 텐서... ..