
Data Science
366
만약 고차원 임베딩을 사용하고 싶다면 15.8절 ‘Regularization’에서 본 것과 같은 regul-
arization을 적용해 볼 수 있을 것이다. 특히, 매 그래디언트를 갱신할 때마다 가중치를 0
쪽으로 줄여볼 수 있을 것이다. 해당 기법을 적용해도 나는 특별히 더 나은 결과를 얻지는
못했다.
이제 학습된 벡터를 살펴보자. 각각의 항목이 특별히 의미를 갖고 있어야 할 이
유는 없기 때문에 주성분 분석을 사용할 것이다.
from scratch.working
_
with
_
data import pca, transform
original
_
vectors = [vector for vector in movie
_
vectors.values()]
components = pca(original
_
vectors, 2)
벡터를 주성분으로 표현하고 영화 아이디와 평균 평점 기준으로 살펴보겠다.
ratings
_
by
_
movie = defaultdict(list)
for rating in ratings:
ratings
_
by
_
movie[rating.movie
_
id].append(rating.rating)
vectors = [
(movie
_
id,
sum(ratings
_
by
_
movie[movie
_
id]) / len(ratings
_
by
_
movie[movie ...