개발

1. 군집화 (Clustering) - 유사도 측정 기법
1. 군집화란? 유사한 속성들을 갖는 관측치들을 묶어 전체 데이터를 몇 개의 군집으로 나누는 것. 좋은 군집화는 동일한 군집에 소속된 데이터는 서로 유사하게(inter-class similarity), 상이한 군집에 소속된 데이터는 서로 다르게(intra-class dissimilarity) 군집화하는 것이다. Inter class similarity Intra-class similarity Class간의 분산 Differ is better Centroid/Border 간 거리가 멀수록 Class 내부의 분산 Similar is better 분산의 값이 작을 수록 Centroid-border간 거리가 가까울 수록 2. 군집화 수행 시 주요 고려사항 어떤 거리 척도를 사용하여 유사도를 측정할 것인가? 어..

[추천시스템] Learning To Rank(LTR)
1. LTR이란? 추천 시스템에 있어서 추천 방식을 2가지로 나눠보자면 아래와 같다. 평점 예측 : rating matrix prediction 랭킹 예측: top-k prediction 평점 예측과 랭킹 예측의 가장 큰 차이는, 랭킹 예측이 유저가 더 선호할 만한 상품을 우선 순위에 랭킹하여 선호 관계를 잘 맞추는게 중요하다는 것이다. A possible architecture of a machine-learned search engine. n개의 유저에 대해서 각 item에 대한 m개의 feaure가 정해지고 n개의 relevance score로 학습 데이터를 생성하게 된다. 이때 학습 시킨 모델에 테스트 데이터를 넣어 relevance score를 예측하게 된다. 예측값의 정의에 따라 랭킹이 결정 ..

[추천시스템] Learning To Rank(LTR)
1. LTR이란? 추천 시스템에 있어서 추천 방식을 2가지로 나눠보자면 아래와 같다. 평점 예측 : rating matrix prediction 랭킹 예측: top-k prediction 평점 예측과 랭킹 예측의 가장 큰 차이는, 랭킹 예측이 유저가 더 선호할 만한 상품을 우선 순위에 랭킹하여 선호 관계를 잘 맞추는게 중요하다는 것이다. n개의 유저에 대해서 각 item에 대한 m개의 feaure가 정해지고 n개의 relevance score로 학습 데이터를 생성하게 된다. 이때 학습 시킨 모델에 테스트 데이터를 넣어 relevance score를 예측하게 된다. 예측값의 정의에 따라 랭킹이 결정 되기 때문에, learning to rank에서 가장 중요한 점은 어떠한 손실함수(loss function)..

[Spark] Spark deploy mode 설정(Cluster/Client)
Spark에서 클러스터 매니저로 YARN을 사용하고 있는데, 배포 방식에 따른 차이(리소스 할당 등) 때문에 위 글을 작성하게 되었다. 0. Cluster Mode? Manager가 뭐야? Cluster Manager란? 여러 대의 서버로 구성된 클러스터 환경에서 Spark 애플리케이션이 실행되는 컴퓨터 클러스터의 리소스(Driver와 Executor사이의 자원)를 관리하는 시스템이다. Cluster Manager는 Spark 애플리케이션의 다양한 작업 및 단계에 CPU, 메모리 및 네트워크 대역폭과 같은 리소스를 할당하고 이러한 작업의 실행을 모니터링하여 성공적으로 완료되었는지 확인하는 역할을 한다. 배포 방식은 Client mode와 Cluster mode 2가지 이다. 드라이버 프로그램이 지역적으..