본문 바로가기

머신러닝19

#5 행렬 인수분해(Matrix Factorization) [이전 글]#4 추천 시스템 - 협업 필터링(Collaborative Filtering) 기초 1. 행렬 인수 분해(Matrix Factorization) 행렬 인수 분해는 간단한 임베딩 모델이다. $m$은 User(or query)의 수이고, $n$은 Item의 수인 피드백 매트릭스 $A \in R^{m \times n}$가 주어질 때 모델은 row $i$는 User $i$ 임베딩인 User 임베딩 매트릭스 $U \in R^{m \times d}$와, row $j$는 Item $j$ 임베딩인 Item 임베딩 매트릭스 $V \in R^{n \times d}$를 학습한다. $UV^T$의 내적(Dot Product)이 피드백 매트릭스 A의 근삿값이 되도록 임베딩을 학습한다. $U.V^T$에서 $(i, j)$.. 2020. 3. 8.
#4 추천시스템 - 협업 필터링(Collaborative Filtering) 기초 [이전 글] #3 추천시스템 - 컨텐츠 기반 필터링(Content-based Filtering) 1.협업 필터링(Collaborative Filtering) 컨텐츠 기반 필터링의 한계를 해결하기 위해 협업 필터링은 User와 Item간의 유사성을 동시에 사용하여 추천한다. 이를 통해 의외의 추천(serendipitous recommendations)도 가능하다. 즉, 협업 필터링 모델은 유사한 사용자 B의 관심사에 따라 사용자 A에게 Item을 추천할 수 있다. 또한 임베딩은 feature의 수작업(hand-engineering)에 의존하지 않고 자동으로 학습될 수 있다. 2.영화 추천 예시(Movie Recommendation) Training 데이터가 다음과 같은 피드백 매트릭스로 구성된 영화 추천 .. 2020. 3. 1.
#3 추천시스템 - 콘텐츠 기반 필터링(Content-based Filtering) [이전 글]#2 추천 시스템 - 후보 생성(Candidate Generation) 1.콘텐츠 기반 필터링(Content-based Filtering) 개요 콘텐츠 기반 필터링은 Item의 Feature를 사용한다. 사용자의 이전 행동(클릭, 시청, 구매 등) 또는 명시적 피드백(평점, 좋아요 등)을 기반으로 사용자가 좋아하는 것과 유사한 다른 항목을 추천한다. 콘텐츠 기반 필터링을 시연하기 위해 Google Play 스토어의 일부 기능을 직접 설계하고 도출해보겠다. 다음 그림은 각 행이 앱을 나타내고 각 열이 Feature를 나타내는 Feature 매트릭스를 나타낸다. Feature에는 분야(예 : 교육, 캐주얼, 건강), 앱 게시자 및 기타 여러 가지가 포함될 수 있다. 단순화하기 위해 이 Featur.. 2020. 2. 28.
#2 추천 시스템 - 후보 생성(Candidate Generation) [이전 글]#1 추천 시스템 - 소개 및 배경지식 1.후보 생성(Candidate Generation) 개요 후보 생성은 추천 시스템의 첫 번째 단계이다. Query를 입력하면, 관련된 후보군의 Item 세트를 생성한다. 후보 생성 과정에는 두 가지 대표적인 필터링 기법이 있다. 첫 번째는 Item 간의 유사도를 활용하여 사용자가 좋아하는 Item과 유사한 Item을 추천하는 콘텐츠 기반 필터링(Content-based filtering)이다. 예를 들어, 사용자 A가 고양이 비디오를 보았다면, 다른 귀여운 동물 비디오를 추천하는 방식이다. 두 번째 필터링 기법은 협업 기반 필터링(Collaborative filtering)이다. Query와 Item의 유사도를 동시에 활용하여 추천한다. 사용자 A가 사.. 2019. 6. 30.
#1 추천 시스템 - 소개 및 배경지식 1. 소개(Introduction) 추천 시스템이란 특정 사용자가 특정 시점에 관심을 가질만한 정보(영화, 음악, 책, 뉴스, 이미지, 웹 페이지 등)를 먼저 제시하는 시스템을 말한다. 우리가 일상적으로 접하는 유튜브, 페이스 북, 아마존 등의 다양한 서비스들이 딥러닝을 활용한 추천 시스템의 사례들이다. 이런 추천 시스템을 활용한 서비스들은 단순히 사용자들을 만족도를 높이는데서 그치지 않고, 높은 매출로 이어진다. Netflix 영상 시청의 80%가 추천 시스템에서 비롯된 것(2017년)이고, 아마존의 추천 시스템은 전체 매출의 35%를 발생(2015년)시켰다. 이미지/영상 인식, 자연어 처리 등 화려하고 놀랄만한 기술은 아니지만, 추천 시스템은 비즈니스에 가장 광범위하게 적용이 가능한 실용적인 기술임이.. 2019. 6. 28.
[머신러닝]06-2.Softmax Classifier의 cost 함수 ※본 포스팅은 직접 강의하는 내용이 아닌, 김성훈 교수님의 머신러닝 강의를 정리하기 위한 포스팅입니다.김성훈 교수님의 강의는 모두를 위한 머신러닝/딥러닝(http://hunkim.github.io/ml)에서 들을 수 있습니다. Sigmoid 함수 적용 우리는 지난 시간 여러 값으로 분류하는 예측모델(ex.공부 시간, 출석에 따른 학점 예측)을 식으로 나타내는 것까지 공부했다. 그림(그래프)으로 표현 했던 것을 세 개의 독립적인 Binary Classification 수식으로 나타내면 아래와 같았다. 그리고 연산을 통해 2.0, 1.0, 0.1이라는예측 값을 얻을 수 있다. 예측 값 중 2.0이 가장 큰 값이기 때문에, 결과 값은 A라고 예측 할 수 있다. 하지만 우리가 원하는 것은 Sigmoid 함수를 .. 2018. 8. 7.
[머신러닝]06-1.Softmax Regression 기본 개념 소개 ※본 포스팅은 직접 강의하는 내용이 아닌, 김성훈 교수님의 머신러닝 강의를 정리하기 위한 포스팅입니다.김성훈 교수님의 강의는 모두를 위한 머신러닝/딥러닝(http://hunkim.github.io/ml)에서 들을 수 있습니다. Multinomial Classification우리는 Linear Regression으로 예측을 시작했다. Linear Regression은 100, 200, -10 등 하나의 실수의 값을 예측한다. Linear Regression은 유용한 예측 모델이지만, Binary한 예측(합격/불합격, 발병여부 등)에는 적합하지 않다. 그래서 그 예측 값을 0~1 사이의 수로 압축해서 나타내었다. 이를 통해 0과 1이라는 Binary한 값으로 예측할 수 있게 되었다.(Logistic Regr.. 2018. 8. 2.
[머신러닝]05-2.Logistic Regression의 cost 함수 ※본 포스팅은 직접 강의하는 내용이 아닌, 김성훈 교수님의 머신러닝 강의를 정리하기 위한 포스팅입니다.김성훈 교수님의 강의는 모두를 위한 머신러닝/딥러닝(http://hunkim.github.io/ml)에서 들을 수 있습니다. Linear Regression의 Cost functionLinear Regression에서는 가설, cost 함수, 그래프가 아래와 같이 그려졌었다. Linear Regression의 가설 : Linear Regression의 cost 함수 : 이 경우에는 경사하강법(Gradient descent algorithm)을 사용하여 최소값을 찾을 수 있었다. 기울기가 최소가 되는 그 지점의 값이 최소값이다. Linear Regression의 경우 하나의 최소 기울기를 가지기 때문에 경.. 2018. 7. 30.
[머신러닝]05-1.Logistic Classification의 가설 함수 정의 ※본 포스팅은 직접 강의하는 내용이 아닌, 김성훈 교수님의 머신러닝 강의를 정리하기 위한 포스팅입니다.김성훈 교수님의 강의는 모두를 위한 머신러닝/딥러닝(http://hunkim.github.io/ml)에서 들을 수 있습니다. ClassificationLinear하지 않고, Binary한 값을 예측하기 위한 모델(둘 중에 하나를 고르는 것)이다. 대표적으로 아래와 같은 모델들이 있다.이메일 스팸 구분 : 스팸 메일 or 정상적인 메일(햄 메일)페이스북 피드 : 타임라인에 특정 피드 보여주기 or 숨기기(친구들이 만들어내는 피드는 수없이 많지만, 사용자가 관심 가질만한 피드인지를 구분해 타임라인에 보여줄지 말지를 결정)신용카드 도난 여부 확인 : 정상 사용 or 도난 사용인지(평소 사용 패턴을 분석하여 구.. 2018. 7. 28.