NumPy 기초·연습 문제

내적 (Dot Product)

문제 설명PROBLEM

preview

내적 (Dot Product)

두 벡터의 내적은 두 벡터가 얼마나 같은 방향을 향하는지 나타내는 값입니다. 머신러닝에서는 거의 모든 연산의 기본 재료 — 유사도(cosine similarity), 선형 모델 예측(wx\mathbf{w}^\top \mathbf{x}), 사영 모두 내적으로 쓰입니다.

xy=i=1nxiyi=xycosθ\mathbf{x} \cdot \mathbf{y} = \sum_{i=1}^{n} x_i y_i = \|\mathbf{x}\| \|\mathbf{y}\| \cos\theta

과제

함수 dot(x, y)를 완성하세요.

  • for 루프 없이 NumPy 벡터 연산으로 구현 (*, np.sum).
  • 반환값: Python float.

테스트 케이스

#이름xy기대값
1단위벡터 자기자신[1, 0][1, 0]1
2직교 (수직)[1, 0][0, 1]0
3일반[1, 2, 3][4, 5, 6]32
4반대 방향[1, 2][-1, -2]-5
5루프 없이 구현소스에 for/while 없음
개념 노트와 실수 포인트

NumPy 기초

  • ⚠️ axis 헷갈림: axis=0 은 행을 가로질러 → 열별 결과, axis=1행별 결과.
  • 브로드캐스팅: shape 를 뒤에서부터 맞춤(1 또는 같은 크기).
  • 반복문 대신 벡터화 연산. @(행렬곱) 와 *(요소곱) 구분.