728x90
1. 두 벡터 사이의 거리
두 벡터 사이의 거리는 벡터의 뺄셈에 대한 노름입니다.
a = [3,4] 인 벡터일 때
원점에서의 거리는
L1노름인 7이 됩니다.
b = [5,6] 인 벡터일때
원점에서의 거리는
L1노름인 11이 됩니다.
7 - 11 = |-4| = 4 이므로
두 벡터 사이의 거리는 L1노름으로 봤을때 4가 됩니다.
2. 두 벡터 사이의 각도
두 벡터 사이의 각도는 L2노름을 사용해 구합니다.
각도를 구하는 공식은 코사인 제 2 법칙을 사용합니다.
cos의 -1 승은 코사인 역함수 아크 코사인, 인버스 코사인이라고 부릅니다.
파이썬으로 두 벡터 사이의 각도를 구해보겠습니다.
먼저 L2노름 함수를 선언합니다.
다음은 각도를 구하는 함수를 선언합니다.
np.inner는 x와 y의 내적을 구합니다.
※내적은
x = [1, 2] y = [3,4] 일때
x와 y의 내적은 1x3+2x4 = 11 즉, 내적은 성분곱의 합 입니다.
np.arcos는 코사인 역함수입니다.
a = [1,0] b = [1,1] 인 두 벡터 사이의 각도는
0.7853...이 됩니다.
이 수는 라디안이므로 각도로 변환시 약 45도 입니다.
728x90
반응형
'머신러닝' 카테고리의 다른 글
[파이썬] 인공지능 수학 군집화, 유사도 (0) | 2023.04.05 |
---|---|
[파이썬] 인공지능 수학 자연어 처리( BOW, DTM, TF-IDF ) (0) | 2023.04.04 |
[파이썬] 인공지능 수학 (벡터, 노름) 정리 (0) | 2023.03.28 |
[파이썬] 간단한 파이썬 크롤링 ( 전세계 축구 선수 몸값 분석) (0) | 2023.03.22 |
[파이썬] 타이타닉 데이터셋 생존자 예측하기 (0) | 2023.03.21 |