DLRM은 추천 시스템을 위한 대표적인 딥 뉴럴 네트워크 모델 중 하나이다. DLRM에서는 categorical feature을 dense 표현으로 매핑하기 위해 임베딩을 사용한다. 추천 시스템에서 임베딩을 사용하는 이유에 대해 NLP에서 워드 임베딩을 사용하는 이유는 각 단어의 의미를 표현하기 위해 주변 단어들과 그 단어의 의미를 파악하기 위함이다. 추천 시스템에서도 동일한 이유다. 사용자의 선호 정보를 원-핫 벡터로 표현하다면 의미를 가지기 어렵다. 그러므로 dense 표현으로 임베딩할 필요가 있다. 뉴럴 네트워크에서 spare 표현 대신 dense 표현인 임베딩을 사용하는 이유에 대해 categorical 값의 차원을 줄이고 추상 공간에 categorical 값을 표현한다. 임베딩 사이 간의 거리를 의미를 관련하여 측정 가능하다. 임베딩 벡터는 n 차원의 item 공간을 더 작은 차원의 임베딩 벡터로 투영시킨다. 용어 정리 1- Ite
Why Machine Learning 앞의 챕터에서는 머신러닝 알고리즘이 무엇인지 알아보고, 프로젝트에 ML을 적용하는 방법에 대해 알아보았다. 이제 이번 챕터에서는 왜 머신러닝 알고리즘이 필요한지에 대해 생각해보자. 우선 우리 삶의 여러 측면에서 머신러닝 알고리즘이 필요하다는 점은 인정할 필요가 있다. 우리가 매일 사용하는 인터넷 서비스(소셜 네트워킹과 검색 엔진) 등에 적용되어 있다. > 페이스북에서의 기계 학습은 사용자 경험의 모든 측면에 대해 핵심 기능을 제공한다. 기계학습은 거의 모든 서비스에 널리 적용된다. 다음은 페이스북에서 머신러닝을 적용하는 방법에 대한 몇가지 예시다. 뉴스피드의 스토리 순위는 머신러닝을 통해 정해진다. 언제 누가 어디서 어떤 광고를 표시할지도 머신러닝을 통해 정해진다. 다양한 검색 엔진 또한 머신러닝으로 구동된다. 그렇다면 왜 ML인가? > 머신러닝 알고리즘이 존재하는 이유는, 머신러닝이 아닌 알고리즘이 할 수 없는 문제
✏ LeetCode - Machine Learning 101 리트 코드의 머신러닝 관련 영문 자료를 읽고 정리하는 중이다. 'How'는 그 두번째 챕터로 머신러닝의 구체적인 작동 방법에 대해 나와있다. Data, Data, Data! 머신러닝 workflow의 궁극적인 목표는 머신러닝 모델을 만드는 것이다. 그리고 우리는 데이터로부터 모델을 얻는다. 결과적으로 데이터는 모델이 이룰 수 있는 성능의 상한선을 결정짓는다. 특정 데이터에 적합하게 할 수 있는 모델은 많다. 우리가 할 수 있는 최선의 노력은 데이터가 설정한 상한선에 최대한 접근하는 모델을 찾는 것이다. 우리는 모델이 데이터의 범위 밖의 무언가를 학습할 수 있다고 기대할 수는 없다. > Rule of thumb: garbage in, garbage out. 이 스스로 학습하는 것 같은 인상을 준다. 그러나 머신러닝 모델 아래에는 적응의 동작들은 모두 엄격한 사람이 프로그래밍 해 놓은 명령들이다. 🤖그렇다면 머신러닝 모델이란 무엇인가? > 머신러닝 알고리즘은 데이터
콘텐츠 기반 필터링 아이템에 대한 사용자 개인의 데이터를 이용해 과거에 사용자가 좋아했던 아이템과 비슷한 유형의 아이템을 추천하는 시스템 → 유사성을 무엇으로 파악하고 어떻게 계산하는지가 핵심 아이템의 특징을 추출하여 벡터로 표현한다. 벡터끼리의 유사도를 비교한다. 코사인 유사도(Cosine Similarity): 두 점 사이의 각도를 측정한 지표로, 값이 작으면 두 데이터가 가까이 있다 = 유사하다는 의미입니다. 유클리드 거리(Euclidean Distance): 두 점 사이의 거리를 측정한 지표로, 값이 작으면 두 데이터가 가까이 있다 = 유사하다는 의미입니다. 맨하탄 거리(Manhattan Distance): 두 점 사이의 거리를 측정하되, 수평-수직으로만 이동하는 거리를 구합니다. **k-근접이웃 알고리즘, DBSCAN과 같은 군집화 알고리즘을 적용, 유사도가 높은 아이템을 추천한다.
협업 필터링은 사용자와 아이템 간의 상호 상관 관계를 분석하여 새로운 사용자-아이템 관계를 찾아주는 것으로 사용자의 과거 경험과 행동 방식에 의존하여 추천하는 시스템이다. Domain Free 방식으로 관련 지식이 불필요하다는 장점이 있지만, 대표적인 한계점들이 다음과 같이 3가지 존재한다. Cold Start Problem ⛔ 문자 그대로 새로운 사용자나 새로운 아이템 등장 시, 기존의 관련된 경험 또는 행동 방식이 없기 때문에 추천이 곤란해지는 문제 Long Tail ⛔ 전체 추천 아이템으로 보이는 비율이 사용자들의 관심을 많이 받은 소수의 아이템으로 구성되어 있는 비대칭적 쏠림 현상이 발생하는 문제 계산 효율 저하 ⛔ 계산량이 많은 알고리즘이기에
Goals of Recommender Systems 1) Prediction version of Problem. 학습데이터를 통해 유저의 선호도를 정확하게 예측하는 것 2) Ranking version of Problem. 정확한 수치보다는 랭킹을 고려해 top-k의 아이템을 선정하는 것 현실적으로 많이 필요로 하고 자연스러운 것은 2번이지만 추천 시스템의 일반적인 목적은 1번에 해당한다. 왜냐 1번이 해결되어야 2번도 해결될 수 있기 때문이다. Type of Recommender System 1. Collaborative Filtering Models 유사한 그룹에 묶이는 유저들끼리는 동일한 아이템에 대해 상관관계를 가질 것이라고 가정한다.