반응형 머신러닝9 개인화 추천 알고리즘 7 : 협업 필터링 협업 필터링(Collaborative Filtering) 이란 협업필터링은 사용자의 구매패턴이나 영화, 책 등의 평점 데이터를 바탕으로 추천을 제공하는 방법이다. 유저의 개인정보에 접근하지 않아도 구매이력, 평점 데이터로만 추천할 수 있는 장점이 있으며 넷플릭스와 같은 OTT 업체나 유튜브에서도 널리 사용하는 방법으로 알려져있다. 가장 기본이 되는 알고리즘을 이웃기반 협업필터링(Neighborhood based Collaborative Filtering)이라고 하며 유사도를 구하여 추천을 해주는데 이러한 협업 필터링은 크게 두 종류로 나눌 수 있다. 사용자의 구매패턴을 바탕으로 유사한 사용자를 찾아서 추천리스트를 날려주는 사용자 기반 협업필터링(User-based collaborative Filterin.. 2022. 3. 1. 개인화 추천 알고리즘 6 : Word2Vec (CBOW, Skip Gram) 벡터를 모르면 추천 알고리즘을 이해할 수 없다 우리 생활속에 수 많은 추천 알고리즘이 있다. 넷플릭스, 유튜브, 쿠팡 등 어느 곳에 가도 안물 안궁이지만 추천을 해준다. 아마 내가 본 것과 비슷한 것들을 계속 추천해주는 것을 대강은 알 수 있는데 이것은 대부분의 추천 알고리즘이 유사도(Similarity)를 기반으로 하고 있기 때문이다. 그리고 알고리즘 내부는 수 많은 벡터로 이루어져 있다. 유튜브의 과거 시청 이력도 스포티파이의 과거 음악 청취 이력도 모두 벡터화되어 유사도를 계산한다. 스포티파이 같은 경우 수 많은 고객데이터(=고객 벡터)와 음악청취데이터(=음악벡터)를 가지고 있다. 고객 1의 음악리스트와 가장 유사한 고객을 뽑아서 그 고객의 플레이 리스트에 있는 음악과 가장 유사도가 높은 것을 추천.. 2022. 2. 27. 개인화 추천 알고리즘 5 : 딥러닝과 인공신경망 아무리 쉽게 해도 어려운 이야기 개인화 추천 알고리즘의 다음 단계로 나아가기 위해서는 인공신경망을 이해해야 한다. 이것이 Word2Vec의 기초가 되는 이론이다. 인공신경망을 아무리 쉽게 이해하려고 해도 정말 방대한 이론이다. 이게 맞는 비유일지는 모르겠지만 군대를 가는 과정을 가지고 비유를 해보겠다. 일단 직장인을 예로 들어보겠다. 회사의 팀장이 점심때마다 피자 먹는다. 그걸 몇 년 계속 반복하다 보면 팀장이 "뭐 먹고 싶어?"라고 물어보면 기계적으로 피자를 먹고 싶다고 말한다. "팀장"이라는 인풋값이 들어오면 "피자"를 먹는 아웃풋을 예측하는 것이 머신러닝이다. 하지만 새로온 팀장은 이렇게 일차원적이지 않다. "비"가 오면 "파전"을 먹고, "눈"이 오면 "국밥"을 먹는다. 근데 애매한 비같은 눈이 .. 2022. 2. 14. 개인화 추천 알고리즘 4 : 컨텐츠 기반 모델과 코사인 유사도 함수 유클리디안 유사도 (Euclidean Similarity) 유클리디안 유사도는 문서간의 유사도를 계산하는 가장 기본적인 방식이다. p 벡터와 q 벡터의 거리를 구하는 것으로 우리가 중학교 때 배웠던 2차원의 피타고라스 정리를 생각하면 쉽게 이해할 수 있다. (피타고라스 정리는 90도 직각인 경우에 성립하므로 2pq는 0이므로 아래 공식이 성립한다.) 유클리디안 거리는 벡터간의 절대적인 거리에 초점을 맞추고 있기 때문에 벡터가 서로 다른 방향이더라도 유사도가 높다고 판단한다. 아래 이미지에서 메시와 호나우두는 벡터의 방향성은 다르지만 절대적인 거리가 가까우므로 유사하다고 보는 것이다. 코사인 유사도 (Cosine Similarity) 코사인 유사도는 코사인 값이 얼마나 유사한지, 다시 말해 벡터의 방향이 .. 2022. 2. 8. 개인화 추천 알고리즘 3 : 컨텐츠 기반 모델과 유사도 함수 콘텐츠 기반 추천 알고리즘 개인화 추천 알고리즘에 가장 기초적인 형태는 앞서 언급한 연관분석(Apriori, FP-growth)이다. 연관분석은 이재호님의 글에서 좋은 이미지가 있어서 가져 왔는데, 주로 상품추천이나 상품배치에 많이 사용된다. 상품 추천 이외에도 컨텐츠를 추천해주는 방법론은 컨텐츠 기반 추천(Contents-based recommendation)이라고 한다. 사용자가 본/읽은 것과 유사한 컨텐츠를 찾아서 추천해주는 기법으로 유사도(similarity)가 높은 컨텐츠를 찾아내는 방식이다. 이 과정에서 컨텐츠를 벡터화(Vectorization)하여 유사도를 측정한다. 유클리디안 유사도 유클리디안 유사도는 문서간의 유사도를 계산하는 가장 기본적인 방식이다. p 벡터와 q 벡터의 거리를 구하는 .. 2022. 2. 7. 개인화 추천 알고리즘 2 : FP-Growth FP-Growth 왜 나왔을까? 이전 포스팅에서 Apriori 알고리즘에 대해 알아보았다. Apriori의 가장 큰 단점 아이템셋의 수가 증가할 수록 메모리를 많이 먹고 속도가 느려진 다는 것이다. FP Tree도 기본적으로 연관분석의 하나이며 Apriori와의 차이는 FP-Tree를 생성한 후에 최소 지지도 이상의 패턴만을 추출한다는 것이다. FP tree는 아이템 별로 노드를 추가하면서 트리를 생성하는 과정이다. FP Tree를 생성하는 방법은 아래 블로그에 잘 설명되어 있다. (너무 유익한 내용 감사드립니다. ㅠ) https://process-mining.tistory.com/92 FP-Growth 사례 원핫 인코딩을 통해 데이터프레임을 생성하는 절차는 Apriori 와 동일하다. import ml.. 2022. 2. 6. 개인화 추천 알고리즘 1 : Apriori 알고리즘 우리 안의 수많은 추천 시스템 추천 시스템은 사용자, 구매자에게 상품을 제안하는 방법론을 말한다. 이것은 쇼핑몰에서 어떤 상품을 추천할 것인지 음악 어플에서 어떤 음악을 추천할 것인지 뉴스피드에서 어떤 뉴스를 추천할 것인지 등 광범위하게 쓰이고 있다. 홈페이지나 어플 이용자들은 어느 상품에서 몇 분동안 머물렀는지, 어떤 상품을 클릭했는지, 실제로 구매로 이어졌는지에 대한 수많은 로그를 남기고 기업들은 이 로그들을 중요한 데이터 자원으로 추천 시스템에 활용한다. 쿠팡에서 내가 특정상품을 보면 그 패턴을 토대로 추천 상품 리스트를 뿌려주는 것을 쉽게 볼 수 있는데 이것이 바로 개인화 추천 알고리즘이다. 최근에 인테리어 때문에 식탁보를 구경한 적 있는데 이 로그 기록을 바탕으로 유사성이 높은 식탁보를 계속 뿌.. 2022. 2. 6. [데이터 분석] Ridge 회귀 분석 일반적으로 선형회귀 분석은 오차가 최소가 되는 최소자승법을 사용하여 회귀분석을 시행한다. 다만 이렇게 오차를 최소화하는데만 초점을 맞추면 훈련 데이터에 과최적화되어 오히려 실제 데이터를 예측하는 예측력이 굉장히 낮아지게 된다.(연애를 책으로만 배운 경우라고나 할까?^^) 따라서 이렇게 오차항을 최소화 하는 함수에 alpha 값으로 패널티를 부여하여 회귀 계수 값의 크기를 감소시켜 과최적화 문제를 개선하는 방식을 규제(Regularization)이라고 부른다. Ridge 회귀 규제는 2 가지로 분류되는데 [패널티 = alpha * W] 계산시 W의 제곱에 대해 패널티를 부여하는 방식을 L2 규제라고 하며, W의 절대값에 패널티를 부여하는 방식을 L1 규제라고 한다. Ridge 릿지 회귀는 L2 규제 계수를.. 2021. 7. 14. CFA Level 2 - (3) 퀀트 Quantitative Methods Quantitative Methods는 흔히 사람들이 퀀트라고 부르는 과목이다. 수능에 수포자가 있다면 CFA는 필히 퀀포자가 있을 것이다. 나도 솔직히 시험 준비하기 전에 Quant를 아예 포기하고 다른 과목에 몰빵했다는 수기를 많이 본 적 있다. 특히나 Level 3 에서는 Quant가 아예 나오지 않기 때문에 Level 2 의 고비만 넘기면 아예 필요가 없다는 사실도 한 몫 할 것이다. 하지만 나는 누누이 강조하듯 한 과목이라도 포기하지 않는 것이 중요하다고 생각한다. Quant 는 솔직히 통계학을 1도 듣지 않은 사람들에게는 포기하고 싶은 주제일 것이다. 하지만 막상 들어보면 그렇게 어려운 내용도 아니고 수리 통계학적 지식이 없어도 통계모델의 검증 결과를 해석하는 시험 수준의 문제는 충분히 커버할.. 2021. 6. 27. 이전 1 다음 반응형