728x90
◎ 벡터란?
선형대수의 기본 조각은 벡터이며 이러한 벡터를 우리가 무엇인지 아는 것이 굉장히 중요하다.
하지만 벡터를 생각하는 세가지 관점이 존재한다.
- 물리학 : 방향을 나타내는 물리량
- 컴퓨터과학 : 순차리스트이며 이러한 성질을 이용해서 여러가지 데이터를 모델링한다.
- 수학 : 수학에서의 벡터는 이들 모두를 포함하는 개념으로 (벡터합, 스칼라 곱)이라는 개념이 성립하면 수학에서의 벡터이다.
벡터를 그릴때 위치는 중요하지 않다. 왜냐하면 위치를 바꾸어도 벡터의 크기와 방향은 변하지 않기 때문이다. 또 다른 말로는 벡터를 다른곳으로 이동(Translation)해도 그 벡터의 의미는 변하지 않는다.
두 벡터가 길이가 같고 같은 방향을 가르킬 때 그 두 벡터를 서로 상등(Equal)하다 라고 할 수있다.
- 벡터의 크기
벡터의 크기를 표현할때는 ||를 사용합니다.
- 벡터의 내적(Dot Product)
◎ 행렬(Matrix Calculation)
아마 거의 대부분의 데이터는 2차원 이상으로 표현 되기 때문에, 이러한 matrix 계산을 더 효율적이고, 쉽게 할 수 있는 방법들을 사용할 필요가 있습니다.
m개의 행과 n개의 열을 가진 행렬을 'm x n 행렬(matrix)'라고 부릅니다.
- 행렬 곱(multiplication)
- Determinant
행렬식은 모든 정사각 매트릭스가 갖는 속성으로, det(A) 혹은 |A|로 표기 됩니다.
2x2 매트릭스를 기준으로, 행렬식은 다음과 같이 (AD-BC) 계산 할 수 있습니다:
2 x 2
3 x 3
◎ 스칼라 vs 벡터
- 스칼라
단일 숫자이며, 변수에 저장 할때는 일반적으로 소문자를 이용하여 표기합니다.
스칼라는 수치값만 표시할 수 있고 방향성은 없다.
- 벡터
수치값과 방향성이 있어야 완전한게 표시할수 있다.
☆ 과제
Cramer's rule을 사용해 x1, x2, x3의 값을 구하세요.
- 손으로 구한 정답
- python 코드를 활용한 정답
# python 코드화
from numpy import linalg
A=[[1, 0, 2],[-3, 4, 6],[-1, -2, 3]]
B=[6, 30, 8]
C=[[1, 0, 2],[-3, 4, 6],[-1, -2, 3]]
X=[]
for i in range(0,len(B)):
for j in range(0,len(B)):
C[j][i]=B[j]
if i>0:
C[j][i-1]=A[j][i-1]
X.append(round(linalg.det(C)/linalg.det(A),3))
print('x1={0}'.format(X[0]),'x2={0}'.format(X[1]),'x3={0}'.format(X[2]))
<출력>
x1=-0.909 x2=1.636 x3=3.455
728x90
'DataScience > 통계-선형대수' 카테고리의 다른 글
[통계스터디]1주차_확률이란? (0) | 2022.07.05 |
---|---|
분산(Variance), 표준편차, 공분산(Covariance), 상관계수, Span, 기저(Basis), Rank (0) | 2021.05.25 |
통계학 기초 _ 조건부 확률, 베이즈 정리 (0) | 2021.05.22 |
통계학 기초_독립표본 T-검정, Type of Error, 카이제곱검정_One sample 카이검정, Two sample 카이검정, ANOVA분석 (0) | 2021.05.22 |
통계학 기초_Effective Sampling, 가설 검정, Student T-test(독립T검정)_One Sample t-test, Two Sample T-test (0) | 2021.05.22 |