[추천시스템] Alternative Least Square(ALS) algorithm Explanation
ALS input data 설명
기본적인 ALS 알고리즘에서 우리의 목적은, user by item 으로 표현된 매트릭스 형태의 데이터를 user by latent factors 인 $X$ 매트릭스, item by latent factors 인 $Y$ 매트릭스로 분해하는 것이다. 각 유저들이 각 아이템들에 대한 rating (영화 평점, 물품 선호도 등)을 입력한 매트릭스 $R$은 다음과 같은 형태를 갖는다. 이번 예시에서 우리는 $n$ 명의 user, $m$ 개의 item을 갖고 있다고 가정한다. 따라서, Rating matrix 는 아래와 같은 $m \times n$ 형태의 매트릭스이다.
$$ R = \be...
[머신러닝] Inequality betwen RMSE and MAE
Definition of RMSE & MAE
Regression, Ranking 과 같은 모델들을 평가하기 위한 평가 지표로 RMSE, MAE는 가장 빈번하게 사용된다. 특히 대부분의 모델 API들은 evaluator method로 간단히 두 값을 출력해준다. 모델을 평가하는 데에 있어서 RMSE와 MAE 둘 중 어떠한 값을 사용하는 것이 좋을까? 라는 의문이 생길 수 있다. 또한, 우리 모델은 MAE로 보니 훌륭한 모델인데 RMSE로 보면 글쎄.. 라는 딜레마가 생길 수도 있다.
이런 상황에서 MAE 값이 모델의 성능을 좋아보이게 한다고 해서, 해당 결과치만 사용하여 모델을 입맛대로 해석하는 것은 모델러...
[일기] 헬로 스칼라
Spark를 항상 pyspark로 작성하다보니.. 엔지니어 분들이랑 커뮤니케이션 할때 서로 답답하고 죄송한 일이 생긴다. 장기적으로 좋지 않은 것 같아, 오늘 하나 배울 겸 Scala로 작성해서 돌려봤다. 자바 기반 언어들은 다뤄본 적이 없기도 하고.. Python 말고 다른 언어는 무서워서 겁먹고 안하고 있었는데.. 책 사놓고 쳐다도 안보고 있었다. 뭐 당연한거지만 코드 따라가며 써보니 별 거 없다. 사실 패키지 불러와서 메소드만 잘 쓰면 되니까 ㅎㅎ 오늘 어쨋든 하나 더 배웠다는 뿌듯함에 글 적는다.
이런 일이 있을 때마다 항상 느끼는 거지만, 새로운 것을 익히고 배우는 데에 점점 겁이 없어지는 것 같다. 결...
[일기] 비온다
비
비가 많이 온다. 아마 다음 주까지 쭉 올 것 같다. 비가 오니 막걸리(위스키면 더 좋을듯) 한 잔 적시며 쉬어야 할 것 같지만, 우산을 써도 몸에 달라붙는 빗방울들을 보니, 올 해 있었던 변화들을 한 번 살펴보고 넘어가야 하는 타이밍이 아닌가 하는 생각이 들었다. 그래서 오랜만에 일기를 쓴다.
7월에는 특히 업무적으로 많은 변화가 있었다. 그에 따라 생활 패턴이랑 업무 습관도 많이 변했던 한달이었다. 코로나로 연초부터 재택근무라는 파도에 한 번 휩쓸려 상반기에도 개인적으로 많은 변화가 있었는데, 어느정도 코로나가 생활에 스며들어 스스로 나태해질 때 쯤, 업무적인 변화가 다시 한 번 나를 몰아친 듯 하다. 우선...
[선형대수학] CR, CMR 분해의 중요성
CR, CMR Factorization
\(CR,\ CRM\) 분해가 중요한 것은, 이것이 사이즈가 큰 행렬들에게 중요하기 때문이다. \(C\) 행렬의 열들은 \(A\)의 열들로부터 직접적으로 구해지고 (데이터 값이 변하지 않고), 마찬가지로 \(R\)의 행들이 \(A\)로부터 직접적으로 구해진다. 즉, 데이터의 유실이 일어나지 않는다. 더욱 유명하고 잘 알려진 분해 방법인 \(QR\) 분해, \(SVD\)는 분해는 그 과정에서 원래 행렬의 데이터 값들을 손실하거나 특성을 잃을 수도 있는데, \(CR\) 분해와 \(CMR\) 분해는 그렇지 않다는 점에서 간단하지만 유용하다. \(A = QR,\ A = U\Sigm...
[선형대수학] Review on Symmetric Positive Definite Matrix
Symmetric Positive Definite matrix
\(\href{https://zguu.github.io/2019/12/12/rank-definite-matrix.html}{이전 포스팅}\)의 포스팅에서 이미 positive matrix에 대한 다양한 정와 계산 예시를 정리한 적이 있다. 강의를 들으며 추가로 얻은 정보들이 있어서 이번 포스팅에서 한 번 더 정리하자.
Symmetric Positive definite 행렬을 정의할 수 있는 test 방법은 크게 다섯가지가 있다. 아래에서 $\mathbf{S}$는 Symmetric matrix를 가르킨다.
5 tests
(1) 행렬 \(\mat...
[선형대수학] Application of Eigenvectors and Eigenvalues
EigenVectors and Eigenvalues
\(\mathbf{Ax}\) 형태로 \(\mathbf{A}\) 매트릭스에 \(\mathbf{x}\)를 곱하면 때때로 운좋게 \(\mathbf{x}\) 의 스칼라를 곱한, 방향은 그대로인 벡터 형태가 된다. 여기서, \(\mathbf{A}\)는 $n$ by $n$ 매트릭스이다. 이때, 람다는 eigenvalue, \(\mathbf{x}\)는 eigenvector로 부르기로 한다. 그렇다면, 이 아이젠 형제들을 우리가 사용함으로써 도대체 무엇이 좋은걸까? 이는 \(\mathbf{A}^2\) 매트릭스를 볼 때 알 수 있다. 이 \(\mathbf{A}^2\) 는 여전...
[정보이론] Discounted Cumulative Gain (DCG & nDCG)
정보 처리, 랭킹 예측에서의 모델 평가를 어떻게 할까?
$\ $구글링을 떠올려보자. 우리가 검색해서 얻은 검색 결과는 분명 구글느님들의 독보적인 검색엔진 모델에 의해서 나온 결과일 것이다. 네이버나 다른 국내 포탈들에서의 검색 결과도 마찬가지이다. 우리가 검색을 하게 되면 (쿼리를 입력하면), 그와 가장 연관있는 문서들을 검색 결과로 리턴해줘야 한다. 그렇다면 이러한 검색 엔진들의 성능을 어떻게 측정할 것인가? 에 대한 물음에서 DCG와 관련된 측정법들이 개발됐다. 이러한 랭킹 데이터 퍼포먼스 측정은, 일반적인 Classification들과 차이가 있을 수 밖에 없는데, 이러한 차이점을 만들어내는 가장 큰 요인은 ...
48 post articles, 6 pages.