본문 바로가기

[Day32] Collaborative Filtering 3-1 CF & Neighborhood-based CF 협업 필터링 CF : Collaborative Filtering 많은 유저들(collaborative)로부터 얻은 정보를 이용해 유저의 관심사를 자동으로 예측 데이터가 축적될 수록 협업의 효과가 커지는 것은 머신러닝 모델에서도 학습데이터가 많아지면 성능이 좋아지는 것과 같다. ex) 노트북을 본 유저들이 구매한 다른 상품 추천 유저가 아이템에 부여할 평점/선호도/클릭확률을 예측하는 것이 목표이다. 방법 유저-아이템 행렬을 생성한다. 유저-아이템 행렬에는 유저가 아이템에 대해 기록한 선호도나 평점같은 것이다. 하지만 이 행렬은 다 채워지기 힘들다. 유저가 모든 아이템에 대해서 선호도를 표시할 수 없기 때문이다. 유사도 기준을 정하고, 유저끼리 혹은 아이템간의 유사도를 구한다. 비어있는 값을 주어진 평점과 ..
[Day3] AI math 1. 벡터가 뭐예요? (스칼라곱, 연산, 성분곱, norm, L1, L2, 거리, 각도, 내적) Vector :숫자를 원소로 가지는 리스트 :공간에서 한 점 : 1차원이든 5차원이든 한 점으로 나타난다. 원점에서부터 그 위치(점)까지 연결된 화살표로 표현한다. 열벡터 : 세로벡터 ex) [1,] [2,] [3] 행벡터 : 가로벡터 ex) [1, 2, 3] import numpy as np x=np.array([1,2,3]) 벡터의 차원 각 벡터안의 숫자들의 갯수 ex) [1,2,3] =>3차원 스칼라곱 각 구성성분에 스칼라값을 곱해주게 된다. 방향은 그대로이고 길이만 늘어나거나 줄어든다. x=np.array([1,2,3]) #a*x=[a*1,a*2,a*3] print(2*x) >>>[2 4 6] 스칼라를 a라고 생각하면 된다. 벡터의 덧셈과 뺄셈 각 구성성분끼리의 덧셈이나 뺄셈 같은 형태(모양)이어..