개발/ML&DL

    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)..

    [추천시스템] 성능 평가 지표(pyspark) - Precision, Recall, Map, NDCG

    추천시스템에서 랭킹하는 방식으로 좋은 추천(랭킹)을 했는지에 대해 정량평가 할 수 있는 4가지 지표를 정리해보고자 한다. * 이하 코드는 함께 인턴했던 뢀뢀씨❤️와 함께 작성했습니다! 뢀뢀씨 보고 있다면 댓글 달아주세요 1. Precision/ RecallPrecisionK 개 추천했을때, 추천결과가 hit한 precision 평균을 의미순서가 중요하지 않다.모델이 10개를 추천했을때 사용자가 몇개를 봤냐 사실 pyspark에서는 프리시즌을 계산하는 모듈을 제공하는데 생각했던 수식과의 차이 때문에 직접 udf를 제작하게되었다. pyspark 모듈과 udf의 차이는 관련도(relevance)를 매기는 기준이 다르다. pyspark : labeludf : label[:k]예시) prediction : [a,..