728x90
반응형

기계학습 15

추천시스템 - (6) 인구통계

추천시스템 서론 기술통계의 방법론(인기도, 평균 등)을 사용하면 쉽게 일반적인 추천을 만들어 낼 수 있지만, 개인화가 없다면 추천법이 효과적이지 않을 수 밖에 없다. 첫번째 개인화의 방법으로 약한 개인화의 방법인 인구통계적인 방법론을 이야기 할것이다. 인구통계 인기도는 개개인의 선호도가 전혀 반영되어 있지 않은 정보이다. 예를 들어 빌보드에 인기있는 음악들은 젊은 사람들의 선호도로 가득 차 있을 수 밖에 없다. 따라서 그 차트에는 내가 원하는 음악이 없을 수도 있다. 조금의 개인화를 반영하기 위해서는, 전체를 여러 집단(cohort)으로 나누어 볼 수 있을 것이다. 나이 성별 인종/민족성 사회경제적 상태 지역 위의 정보 외에도 인구통계적인 방법은 아니지만, 쉽게 예상 가능한 범주 내에 있는 집단을 만들 ..

추천시스템 - (5) 기술통계

추천시스템 비개인적 추천 비개인적 추천을 왜 하는가? 새로운 유저는 개인화 할 수 있는 정보도 별로 없으니 이들을 위해 처음부터 시작하는 용도로 사용한다. 심플하고 빠르지만, 이점이 많다. 온라인 매체들 중 이러한 방법론을 사용하는 곳이 많이 있다. 개인화가 불가능하거나 힘든 곳에서 사용한다. 기술통계 기술통계란, mean, max, median과 같은 기본적인 통계적 기술을 말한다. 기술통계를 통한 추천은, 간단한 통계적 방법으로 데이터를 분석해 추천을 하는 것이다. 약한 개인화 우편번호, 대략적 위치 나이, 성별, 국적, 민족성 이러한 정보들은초반의 정형화된 추천을 하기에 매우 적합하다. 사용자가 지금 보고있는 아이템에 관련된 추천을 하는것도 약한 개인화에 해당된다. ZAGAT 이야기 ZAGAT이라고..

추천시스템 - (4) 추천 알고리즘

추천시스템 추천 알고리즘의 종류 기본적인 모델 추천 모델에는 다음과 같은 원소들이 있다. 사용자 시스템을 사용하는 사용자들 아이템에 대한 선호도를 가지고있다 아이템 추천을 시행할 대상이다. 평점 사용자가 아이템에 대해 표현하는 선호도이다. (커뮤니티) 사용자들이 표현하는 의견들이 통용되는 공간(커뮤니티) 이다. 사용자는 개개인의 속성(특성)을 가지고 있고, 그 속성에 기반해 사용자모델이 만들어진다. 사용자 모델은 선호하는 영화 장르, 좋아하는 샐깔과 같은 사용자의 정보들의 집합이다. 각 아이템에도 속성이 있다 - 영화의 감독은 누구인가, 책의 저자는 누구인가와 같은 속성을 가지고있다. 그리고 사용자는 아이템에 대한 평점을 매길 수 있다 - 평점은 수적인 점수일 수도 있고, 구입한 이력일 수도 있다. 비개..

추천시스템 - (3) 추천의 분류

추천시스템 추천의 분류 추천시스템을 고안할 때는 다음 8가지 분류를 고려해 고안한다: 추천의 도메인 추천의 목적 추천의 맥락 추천의 제안자 개인화의 정도 개인정보와 신뢰도 인터페이스 추천 알고리즘 추천의 도메인 무엇이 추천이 되고있는가? 기사인가, 물건인가, 상품인가? 사람을 추천하는 중인가? 연속적인 무언가 (음악 플레이리스트) 인가? 오래된 아이템을 대하는 방법 어떤 도메인에서는 새로운 아이템을 추천하는데에 관심이 있고 (영화나 책 등), 어떤 도메인에서는 오래된 아이템을 추천하는데에 관심이 있다 (음악, 상품 등) 추천의 목적 상품을 사거나 무언가를 소비하게 하는것 사용자/고객을 교육하는 것 상품이나 컨텐트의 커뮤니티를 형성하기 위한 것 추천의 맥락(Context) 추천이 이루어질 때 사용자는 무엇..

추천시스템 - (2) 선호도

추천시스템 서론 비개인적추천이란 사용자의 선호도가 고려되지 않은 추천이다. 이번에는 개인적추천과 비개인적추천 모두에 사용되는 데이터가 어떻게 발생되고 모아지는지에 대해서 이야기 한다. 추천을 하기 위해서는, 사용자가 어떤것을 좋아하는지에 대한 데이터와 어떤것들이 연관성이 있는지에 대한 데이터가 필요하다. 많은 시스템들에서 이러한 데이터들은 어떠한 방식으로든 사용자에게서 모은다. 어떤 데이터가 모아지는지, 그 데이터들이 어떤 의미인지에 대해서 알아보려 한다. 선호도 모델 선호도는, 사용자가 액션 영화를 좋아하는지, 또는 어떤 물건들이 연관성이 있는지와 같은 방대한 범위의 데이터이다. 사용자들은 선호도를 나타내기 위해 어떤 행위를 하는가? 사용자들은 선호도를 나타내기 위해서 명시적으로 평점을 매기거나 물건을..

추천시스템 - (1) 개요

추천시스템 추천시스템의 역사 정보검색 정보검색 분야는 방대한 양의 문서들에 대해 질문할 수 있는 시스템이 필요해서 만들어졌다. 초반에 이 분야가 발전하게 된것은 컴퓨터 회사들의 많은 소송때문이었다. 같은 기술이 도서관의 카탈로그와, WWW의 페이지들의 색인을 만드는데 쓰인다. 사람들은 다이나믹하게 카탈로그를 조회할 수 있기를 원하기 때문에 실시간으로 조회하는 기능이 필요했다. 많이 쓰이는 방식중 하나는, 문서들의 단어들의 빈도수를 사용해 랭킹을 매겨주는 TFIDF라고 하는 방법이다. 정보 필터링 정보검색의 반대되는 추정에서 시작 사람들은 기사를 검색할 때, 주제에 맞는 모든 기사를 원하는 것이 아니라 나와 연관있는 것 또는 내가 관심있는 것만 원한다. 정보의 필요는 정적이지만, 컨텐트 베이스는 동적이다...

PyTorch 2 - 로지스틱 회귀

PyTorch를 활용한 로지스틱회귀¶ 로지스틱회귀는 주어진 데이터를 0이나 1값으로 분류하는 선형 분류 모델이다. In [176]: import torch from torch import autograd, nn, optim import torch.nn.functional as F import numpy as np In [177]: lin = lambda a, b, x : a*x + b def gen_fake_data(n, a, b): x = np.random.uniform(-20, 20, (n, 2)) x2_hat = lin(a,b, x[:,0]) y = x[:,1] > x2_hat return x, y.astype(int) # 분류문제에 맞는 가짜 데이터를 생성한다 x, y = gen_fake_data..

머신러닝 공부 8 - 분류 문제

머신러닝 본 포스팅은 Andrew Ng교수의 Machine Learning 코세라 강좌를 정리한 내용입니다. https://www.coursera.org/learn/machine-learning 분류문제 X를 입력데이터, Y를 출력이라고 할 때, Y가 이산의 값인 문제를 분류문제라고 한다. 다음과 같은 예제들이 있다: 이메일이 스팸인지 아닌지 분류 온라인 거래가 사기인지 아닌지 분류 종양이 악성인지 양성인지 분류 이런 분류문제에서는 y값이 1이면 Positive, 0 이면 Negative로 분류하게 된다. 유방암예제) 악성종양예제를 살펴보자 위 데이터셋에 대한 출력값은 0/1로 나뉜다. 이런 데이터셋에서는, 회귀문제와 같이 데이터셋과 알맞는 직선을 그리면 안된다. 이런 문제를 푸는 방법은, 어떠한 임계값..

머신러닝 공부 7 - 정규방정식

머신러닝 본 포스팅은 Andrew Ng교수의 Machine Learning 코세라 강좌를 정리한 내용입니다. https://www.coursera.org/learn/machine-learning 정규방정식 정규방정식 이란 특정 선형 문제에서 파라미터값인 θ를 더 쉽게 풀 수 있게 만들어주는 방법이다. 지금까지의 경사하강법에서는, Global Minimum을 찾기 위해 많은 스텝들을 밟아야 했다. 하지만 정규방정식은 이것을 분석적으로 풀 수 있게 해준다. 경사하강법의 많은 반복을 하기보다, 분석적으로 θ값의 해를 구하면 한번에 구할 수 있다는 말이다. 예제) 변수가 많지 않은 아래 2차 방정식 수식을 보자. 위의 수식을 minimize하려면 미분 값을 구한 다음, =0을 하고 θ로 풀면 된다. 하지만 많은..

머신러닝 공부 6 - 경사하강법 트릭

머신러닝 본 포스팅은 Andrew Ng교수의 Machine Learning 코세라 강좌를 정리한 내용입니다. https://www.coursera.org/learn/machine-learning 경사하강법이 더 좋은 성능을 내기 위해서 취하는 몇가지 트릭이 있다. 특성 스케일링 특성 스케일링이란, 여러 특성이 있는 문제에서, 여러 특성들이 비슷한 스케일에 있게 만들어 주는 기술이다. 여러 특성을 비슷한 스케일로 맞춰준다면, 경사하강법이 더 빠르게 끝날 수 있다. 예제) 특성 $x_{1}$과 $x_{2}$가 있다. $x_{1}$ = 집의 크기 (0 - 2000 feet^2) $x_{2}$ = 방의 수 (1 - 5) 이전 강의에서 위와 같은 그래프를 기억할것이다. 만약 특성1과 특성2의 스케일이 차이가 많이..

728x90
반응형