경사하강법을 이용한 행렬 분해
·
머신러닝
확률적 경사하강법을 이용한 행렬 분해 확률적 경사 하강법은 회귀에서 사용한 경사 하강법의 한 종류이다. 확률적 경사 하강법을 이용한 행렬 분해 방법을 요약하자면 ,P와 Q 행렬로 계산된 예측 R행렬 값이 실제 R 행렬 값과 가장 최소의 오류를 가질 수 있도록 반복적인 비용 함수 최적화를 통해 P와 Q를 유추해내는 것 이다. 확률적 경사 하강법을 이용한 행렬 분해의 전반적인 절차는 다음과 같다. P와 Q를 임의의 값을 가진 행렬로 설정 P와 Q.T 값을 곱해 예측 R 행렬을 계산하고 예측 R행렬과 실제 R 행렬에 해당하는 오류 값을 계산. 이 오류 값을 최소화 할 수 있도록 P와 Q 행렬을 적절한 값으로 각각 업데이트 만족할만한 오류 값을 가질 때 까지 2,3번 작업을 반복하면서 P와 Q 값을 업데이트해 ..
추천시스템
·
머신러닝
추천시스템이란 아마존, 이베이 등 유수의 전자상거래 업체가 추천 시스템 도입 후 큰 매출 향상을 경험했다. 하나의 콘텐츠를 선택했을 때 선택된 콘텐츠와 연관된 추천 콘텐츠가 얼마나 사용자의 관심을 끌고 개인에게 맞춘 콘텐츠를 추천했는지는 그 사이트의 평판을 좌우하는 매우 중요한 요소이다. 추천시스템의 진정한 묘미는 사용자 자신도 좋아하는지 몰랐던 취향을 시스템이 발견하고 그에 맞는 콘텐츠를 추천해주는 것이다. 이러한 추천 시스템을 접한 사용자는 해당 사이트를 더 강하게신뢰하게 되어 더 많은 추천 콘텐츠를 선택하게 된다. 결국 더많은 데이터가 추천 시스템에 축척되면서 추천이 더욱 정확해지고 다양한 결과를 얻을 수 있는 좋은 선순환 시스템을 구축 할 수 있게 된다. 추천시스템은 특히 온라인에서 그 진가를 발..
DBSCAN
·
머신러닝
DBSCAN DBSCAN은 밀도 기반의 대표적인 알고리즘이다 DBSCAN은 간단하고 직관적인 알고리즘으로 돼있음에도 데이터의 분포가 기하학적으로 복잡하 데이터 셋에도 효과적인 군집화가 가능하다. 다음과같은 형태의 데이터를 군집화 한다고 했을때, k-평균 알고리즘과 DBSCAN 의 결과를 비교해보자. DBSCAN이 효과적인 군집화를 수행하고 있는것을 알 수 있다. DBSCAN은 특정 공간 내에 데이터 밀도 차이를 기반알고리즘으로 하고 있어서 복잡한 기하하적 분포도를 가진 데이터 셋에 대해서도 군집화를 잘 수행한다. DBSCAN을 구성하는 가장 중요한 두 가지 파라미터는 입실론(epsilon) 으로 표기하는 주변영역과 이 입실론 주변 영역에 포함되는 최소 데이터 개수 min points 이다. 입실론 주변 ..
GNM(Gaussian Mixture Model)
·
머신러닝
GNM(Gaussian Mixture Model) GNM 군집화는 군집화를 적용하고자 하는 데이터가 여러 개의 가우시안 분포를 섞어서 생성된 모델로 가정해 수행하는 방식이다. 정규 분포로도 알려진 가우시안 분포는 좌우 대칭형의 종(Bell) 형태를 가진 연속 확률 함수 이다. GNM은 데이터를 여러 개의 가우시안 분포가 섞인 것으로 간주한다. 섞인 데이터 분포에서 개별 유형의 가우시안 분포를 추출한다. 먼저 아래 사진처럼 세 개의 가우시안 불포를 합치면 다음과 같은 형태가 될 것이다. ( 파란색 선 : 개별 가우시안 분포, 빨간색선 : 합친 가우시안 분포 ) 군집화를 수행하려는 실제 데이터 셋의 데이터 분포도가 다음과 같다면 쉽게 이 데이터 셋이 정규 분포 A, B, C를 합쳐서 된 데이터 분포도임을 알..
평균이동(Mean Shift)
·
머신러닝
Mean Shift 평균 이동(Mean Shift)는 K-평균과 유사하게 중심을 군집의 중심으로 지속적으로 움직이면서 군집화를 수행한다. 하지만 K-평균이 중심에 소속된 데이터의 평균 거리 중심으로 이동하는 데 반해, Mean Shift는 중심을 데이터가 모여 있는 밀도가 가장 높은 곳으로 이동시킨다. 다음 그림에서 볼 수 있듯이 평균 이동 알고리즘은 특정 대역폭을 가지고 최초의 확률 밀도 중심 내에서 데이터의 확률 밀도 중심이 더 높은 곳으로 중심을 이동한다. 평균 이동은 데이터의 분포도를 이용해 군집 중심점을 찾는다. 군집 중심점은 데이터 포인트가 모여 있는 곳이라는 생각에서 착안한 것이며 이를 위해 확률 밀도 함수(P.D.F)를 이용한다. 가장 집중적으로 데이터가 모여있어 확률 밀도 함수가 피크인 ..
군집 평가 - 실루엣 분석
·
머신러닝
군집 평가(Cluster Evaluation) 대부분의 군집화 데이터 셋은 비교할만한 데이터 셋을 가지고 있지 않다. 또한 군집화는 분류와 유사해 보일 수 있으나 성격이 많이 다르다. 데이터 내에 숨어 있는 별도의 그룹을 찾아서 의미를 부여하거나 동일한 분류 값에 속하더라도 그 안에서 더 세분화된 군집화를 추구하거나 서로 다른 분류 값의 데이터도 더 넓은 군집화 레벨하 등의 영역을 가지고 있다. 비지도 학습의 특성상 어떠한 지표라도 정확하게 성능을 평가하기는 어렵다. 그럼에도 불구하고 군집화의 성능을 평가하는 대표적인 방법으로 실루엣 분석을 이용한다. 실루엣 분석 이란 실루엣 분석은 각 군집 간의 거리가 얼마나 효율적으로 분리 돼있는지를 나타낸다. 효율적으로 잘 분리 됐다는 것은 다른 군집과의 거리는 떨..
ariz1623
코딩의 숲