[Week 1- Day 2] 회고
# Vector
컴퓨터에서는 list나 array로 표현함.
공간에서는 "한 점"을 의미.
원점을 생각해보면,
- 1D (수직선) 위에서는, 0
- 2D (좌표평면) 에서는, [0,0]
- 3D (3차원 공간) 에서는, [0,0,0]
- n차원 공간에서는, [0,0,...,0] 인거임.
그래서 원점을 기준으로 x라는 위치를 나타낸 것이 Vector를 의미함.
이는 원점에 대한 위치라 상대적 위치라고 할 수 있음.
- 스칼라곱 : 크기를 곱하면, 그 벡터의 길이가 바뀜.
- 같은 모양(차원, 개수)에서 +/- 연산 가능. (상대적 위치 이동)
- 성분곱 : 같은 모양이면 가능. 성분(원소)끼리의 곱을 말함.
말 그대로, [1,7,2] * [5,2,1] = [5,14,2] 라는 것임.
노름 norm
(임의의 n차원에서의) 원점에서 부터의 거리
- L1 노름 : 각 성분의 변화량의 절대값의 합
- L2 노름 : 피타고라스 정리로 유클리드 거리 계산한 것
위 2가지 거리 계산 방법은 기하학적 성질이 달라, 다르게 쓰임
두 Vector 사이의 거리 : Vector의 뺄셈을 이용하면 됨.
y-x = ||y-x|| = ||x-y||
위 연산은 L1노름/L2노름 선택하여 계산할 수 있음.
두 Vector 사이의 각도 : (임의의 n차원에서의) (L2노름에서만 연산 가능)
유클리드로 두 Vector 사이의 거리를 계산 가능하다면, 제2코사인 법칙에 의해 두 Vector 사이의 각도도 계산이 가능함.
자세하게 보면, 내적 연산은 두 벡터 원소들의 성분곱의 합으로 계산할 수 있음.
이 내적은 정사영과 관련이 있는데, 정사영한 값에서 스칼라만큼의 값을 조정한 것이 내적값임.
# Matrix
성분곱과 행렬곱셈은 다른 것임.
성분곱은 말 그대로 성분끼리 곱하는 것이고,
행렬곱셈은 i번째 행벡터와 j번째 열벡터를 곱하는 것임.
numpy에서 inner 함수에 X, Y를 인수로 주어 연산하는 것은
X, Y^T 에 대해 행렬곱셈한 값을 말함.
이러한 내적연산은 주어진 데이터의 패턴을 추출하거나, 데이터를 압축하기 위해 사용.
# List
element로 주소(offset)를 저장함.
* + in 연산을 지원.
0,1,2로 n번째 element에 접근함.
1차원 리스트에 대해 주소가 아닌 값만을 전달하고 싶다면, b=a[:]로 전달 가능.
단, 2차원 부터는 주소로 전달됨. 하려면 copy() 함수 이용해야 함.
n차원의 데이터를 깔끔하게 출력하고 싶다면, pprint() 함수를 사용하면 됨.
enumerate() 함수는 index, val을 추출하는데, dict로 많이 사용함.
대용량 데이터 handing하기 위해, map-reduce 사용함.
사용하지 말라하지만, Legacy library나 ML code에서 많이 사용함.
from functools import reduce
reduce(함수, sequence)
# Generator
" 얘가 여기 저장되어 있대. "
" 야 그거 쓸꺼야. 보내줘! "
" 데이터 반환해줌. "
사용시점에 yield호출로 주소를 반환하여, 메모리 공간을 절약할 수 있음.
리스트 자료형을 반환하는 함수나, 대용량 데이터를 처리하거나, 파일 데이터를 처리하는 경우 사용.
import sys
sys.getsizeof(gen)
## 피어 세션
미션 : 자기소개 & 각오 한 문장, 앞으로의 4주간의 모더레이터 정하기, 노션에 회의록두기
(아침)
9시반에 허둥지둥 왔는데, Slack으로 50분까지 모이기로 정함.
모여서 하나 둘 출석체크하고, 어제 못다한 일에 대해 설명.
오늘 해야할 일에 대해 공지.
어제의 진도보고, 오늘의 진도 결정.
이따 보자며 인사하고 해산.
(커뮤니티)
자기소개 올림. 친해지기 위해 취미와 잘 부탁한다는 말이 더 잘 들어왔음.
하지만 이 과정을 왜 선택했는지를 꼭 말했던 것 같음.
예상 외로 전면 비대면으로 진행할 수도 있겠다는 것을 느낌.
Paper Review나 취준 스터디에 관심이 생김.
(오후)
자기소개 작성해온 게 있으면, 노션을 통해서 바로 적어둠.
50분은 채워야해서, 남은 시간이 있으면 질문할 게 있냐고 물어봄.
팀원이 데코레이터의 활용에 질문, 나는 수학적 개념으로 람다대수가 무엇인지 질문.
-> 데코레이터는 DB연동 등에 굉장히 많이 사용되니, 잘 숙지하는 것이 필요하다고 함.
-> 람다대수는 python의 람다함수와 거의 동일하게, 순수한 계산 함수를 의미함.
위에 대해, 시간이 부족하면 slack에 남겨두고, 아니면 바로 찾아서 참조할 만한 블로그&유튜브 링크 공유.
앞으로 4주간 모더레이터를 결정하는데, 컴퓨터가 안되서 내가 화면공유.
사다리타기로 진행. 타자가 빠른 것을 과시하기 위해 잘난 척했더니 긴장이 풀림.
노션으로 초대하고, 회의록 공유하고, 정신이 없었음.
근데 만약 본인이 잘 안다면, 그럼 제가 한 번 ~~해볼까요? 제안하는 것도 좋겠다.
오늘은 편하게 옷 입고, 얼굴만 보인 채 진행하였음. 좋았음.