Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- BERT
- 서비스기획
- 임베딩
- NLU
- MatchSum
- 딥러닝
- 유데미코리아
- 부트캠프후기
- 데이터도서
- AWS builders
- pytorch
- 스타터스부트캠프
- 서비스기획부트캠프
- 알고리즘
- 추천시스템
- 토스
- 특성중요도
- 유데미큐레이션
- SLASH22
- sql정리
- 취업부트캠프 5기
- 그래프
- AARRR
- 취업부트캠프
- SQL
- NLP
- 그로스해킹
- 스타터스
- 사이드프로젝트
- 유데미부트캠프
Archives
- Today
- Total
다시 이음
선형대수 -1 (벡터, 매트릭스) 본문
Data structure
1D(1차원)
데이터의 순서가 유지되어야 하는 데이터 구조
주로 list로 이용된다.
2D(2차원)
dataframe을 통해 주로 표현하며 행렬과 같다.
Determinant - 매트릭스를 하나의 수로 표현하는 것
2x2의 Determinant는 위와 같이 실행한다.
스칼라와 벡터 (Scalar and Vector)
- 스칼라와 벡터는 선형 대수를 구성하는 기본 단위입니다.
- 스칼라는 단순히 변수로 저장되어 있는 숫자이며 벡터 혹은 매트릭스에 곱해지는 경우 해당 값에 곱한 값으로 결정됩니다.
- 한편 벡터는 파이썬에서는 주로 list로 사용 되며, 이전에 다뤘던 것처럼 데이터셋을 구성하고 있는 데이터프레임의 행/열로써 사용되기도 합니다.
- 매트릭스는 벡터의 모음으로 간주 될 수도 있기 때문에 벡터를 이해하는 것은 매우 중요합니다.
Vector
- n 차원의 벡터는 컴포넌트라 불리는 n개의 원소를 가지는 순서를 갖는 모음입니다. (컴포넌트는 스칼라로 간주 되지 않습니다.)
- 벡터는 일반적으로 위의 화살표 (→) 를 갖는 소문자의 형태로 표현 됩니다.
- 물리적으로 벡터는 방향과 크기라는 2가지 속성을 갖고 있습니다.
- 벡터의 길이(length)는 벡터의 차원수와 동일하다
벡터의 크기 (Magnitude, Norm)
v = [1,2,3,4]
|v| = 각 요소들의 제곱을 총합하여 루트씌운 값
|v| = √1+4+9+16 = √30
L1 Norm 은 벡터 p, q 의 각 원소들의 차이의 절대값의 합
L2 Norm 은 벡터 p, q 의 유클리디안 거리(직선 거리)
def NormDif(v): # v = np.array()
# L2 - L1 = (sum_lst(v**2)**(1/2)) - sum_lst(abs(v))
return abs((sum(v**2)**(1/2)) - sum(abs(v)))
# 예시 : 벡터의 크기(Norms) L2와 L1의 절대값 차이를 구하는 함수를 만들어라
*Error 타입 (두개의 벡터 값을 받아 오류 방식에 따라 결과값을 도출)
#평균 제곱 오차 (Mean Square Error) : MSE
#측정치와 예측치의 각각 차를 구하고 결과값에 제곱을 하고 모두 더한 뒤 , 개수로 나눠준다.
#평균 절대 오차 (Mean Absolute Error) : MAE
#각 측정값과 실제값 사이의 절대 오차를 구하고, 결과값을 모두 더한 뒤 개수로 나눠준다.
벡터의 내적 ( Dot Product )
두 벡터 𝑎⃗ 와 𝑏⃗ 의 내적은, 각 구성요소를 곱한 뒤 합한 값과 같습니다.
- 내적은 교환법칙이 적용 됩니다: 𝑎⋅𝑏=𝑏⋅𝑎
- 내적은 분배법칙이 적용 됩니다: 𝑎⋅(𝑏+𝑐)=𝑎⋅𝑏+𝑎⋅𝑐
- 벡터의 내적을 위해서는 두 벡터의 길이가 반드시 동일해야 합니다.
import numpy as np
a = np.array[1,2,3]
b = np.array[4,5,6]
print(np.dot(a,b))
array [ 4+10+18 ] = array [32]
Matrix Transpose
- 매트릭스의 전치는, 행과 열을 바꾸는 것을 의미합니다. 이는 일반적으로 매트릭스 우측 상단에 𝑇 혹은 tick 마크를 통해 표기
- 읽는 방법은 B transpose 혹은 B prime ( 𝐵^T,𝐵′ )
Matrix multiplication
Matrix의 종류
Identity (단위 매트릭스):
- iagonal 매트릭스 중에서, 모든 값이 1인 경우입니다. 임의의 정사각 매트릭스에 단위 행렬을 곱하면, 그 결과값은 원본 정사각 매트릭스로 나오며,
- 반대로 임의의 매트릭스에 대해서 곱했을때 단위 매트릭스가 나오게 하는 매트릭스를 역행렬 (Inverse)라고 부릅니다.
𝐴𝐼==𝐴, 𝐴𝐴−1=𝐼
- 역행렬이 0인 경우가 있는데 그런 경우는 위의 그림에서 a:c, b:d의 비율이 같을때 이루어진다.
- 예를 들면,a=1 ,b=3, c=3, d=9 -> 1:3 , 3:9로 결국 비율은 같다.
#예시 : inverse행렬을 구하는 함수를 정의해라, 단 값이 error일시 -1로 반환.
def myInverse(m) : # m = np.array()
try : return np.linalg.inv(m)
except : print(-1)
'AI 일별 공부 정리' 카테고리의 다른 글
선형대수 -3 ( 고유벡터, PCA ) (0) | 2021.07.27 |
---|---|
선형대수 - 2 (공분산과 상관계수) (0) | 2021.07.23 |
데이터 통계 - 4 (베이즈 정리) (0) | 2021.07.20 |
데이터 통계 - 3 (신뢰구간 설정과 ANOVA) (0) | 2021.07.19 |
데이터 통계 -2 (추가적 가설 검정) (0) | 2021.07.16 |