내적은 덧셈이나 곱셈 같은 연산자다.
다음과 같이 두 개의 벡터를 결합하는데 사용된다.
$$\left(\begin{array}{c}3\\ 7\end{array}\right)\cdot\left(\begin{array}{c}9\\ 5\end{array}\right) = 3\times9+7\times5=62$$
내적을 사용할 때 응답은 스칼라라고 하는 단일 숫자다.
예를 들어 코미디, 로맨스, 액션을 선호하는 선호도를 나타내는 벡터가 있다고 하자.
1-5의 척도로 누군가 코미디을 사랑하고, 로맨스을 싫어하며, 액션은 괜찮다고 하는 응답을 했다면, 아래와 같이 표현할 수 있다.
$$\left(\begin{array}{c}5\\1\\3\end{array}\right)$$
여기서의 의미는 다음과 같다.
- 5는 코미디에 대한 사랑을 의미한다.
- 1은 로맨스에 대한 싫어함을 의미한다.
- 3은 액션에 대한 무관심을 의미한다.
$$영화1=\left(\begin{array}{c}4\\ 5\\1\end{array}\right)\;과\quad 영화2=\left(\begin{array}{c}5\\ 1\\5\end{array}\right)$$
이런 벡터가 있다면, 영화1은 로맨틱 코메디고, 영화2는 웃긴 액션영화라고 할 수 있다.
고객에게 알맞은 영화를 추천하기 위해 위와 같은 데이터를 활용한 선호도 사이의 내적을 적용한다. 내용이 맞는 영화가 사용자에게 추천되는 것이다.
각 영화의 추천 점수를 계산해보자.
영화1의 경우는 다음과 같이 계산할 수 있다.
$$\left(\begin{array}{c}5\\ 1\\3\end{array}\right)\cdot\left(\begin{array}{c}4\\ 5\\1\end{array}\right)$$
$$(5\cdot4) \rightarrow사용자는\;코미디\;영화를\;좋아하고\;이\;영화는\;재밌다.$$
$$(1\cdot5) \rightarrow사용자는\;로맨스\;영화를\;싫어하지만\;이\;영화는\;로맨틱하다.$$
$$(3\cdot1) \rightarrow사용자는\;액션\;영화를\;괜찮아하지만\;이\;영화는\;액션이\;많지\;않다.$$
$$(5\cdot4)+(1\cdot5)+(3\cdot1)=28$$
이렇게 얻을 수 있는 값은 28이다. 하지만 이 28이라는 숫자가 무엇을 의미하는지를 알려면 기준이 있어야 한다.
지금까지 정한 기준으로 5점이 최고 점수이기 때문에 모든 점수가 최고일 때 나오는 값은 아래와 같다.
$$\left(\begin{array}{c}5\\5\\5\end{array}\right)\cdot\left(\begin{array}{c}5\\5\\5\end{array}\right)=75$$
가장 낮은 점수는 아래와 같다.
$$\left(\begin{array}{c}1\\1\\1\end{array}\right)\cdot\left(\begin{array}{c}1\\1\\1\end{array}\right)=3$$
따라서 최저 3점에서 75점에서 28점이 위치하는 곳을 생각해봐야 한다.
이제 영화2를 살펴보자.
$$\left(\begin{array}{c}5\\1\\3\end{array}\right)\cdot\left(\begin{array}{c}5\\1\\5\end{array}\right)=(5\times5)+(1\times1)+(3\times5)=41$$
이렇게 시각화할 수 있다.
이 사용자에게는 41점이 나온 영화2를 추천하게 되는 방식이다. 이것이 대부분의 영화 예측 엔진이 작동하는 방식이다. 영화엔진은 고객 프로파일을 작성하고 이것을 벡터로 표현한다.
그 다음 제공해야 하는 각 영화에 대해 벡터 표현을 취하고 이것을 고객 프로파일과 결합해 고객별로 추천한다. 하지만 회사의 경우 이것보다는 훨씬 더 복잡하고 큰 규모로 이 작업을 수행한다. 이때 선형대수학이라는 수학분야가 매우 유용하게 작용한다.
'Mathematics > Linear algebra' 카테고리의 다른 글
행렬의 곱셈 (0) | 2022.01.14 |
---|---|
그래프 (0) | 2022.01.13 |
[산술기호] 비례 (0) | 2022.01.12 |
[산술기호] 시그마 합계와 평균 구하기 (0) | 2022.01.09 |
벡터 (0) | 2022.01.09 |