예전에 tabular gaussian kernel을 이용하여 target을 스무딩smoothing the output with Gaussian kernel effectively prevent model freom learning irregular pattens of t
※ CTR 시리즈의 모든 코드는 FuxiCTR을 참고했으며 함수 구조와 이름 등은 개인적으로 수정하여 사용하였다.feature_dict은 각 feature의 설명을 dictionary 형태로 담고 있는 dictionary이고, EmbeddingDict()은 각 fie
※ CTR 시리즈의 모든 코드는 FuxiCTR을 참고했으며 함수 구조와 이름 등은 개인적으로 수정하여 사용하였다.feature_dict은 각 feature의 설명을 dictionary 형태로 담고 있는 dictionary이고, EmbeddingDict()은 각 fie
DNN은 자동적으로 모든 feature의 interaction을 학습한다. Implicit하게 모든 interaction을 학습하는 과정에서 의미 없는 interaction을 학습하면서 학습 성능이 떨어지는 현상이 발생하기도 한다. DCN에서는 좀 더 explicit하
※ CTR 시리즈의 모든 코드는 FuxiCTR을 참고했으며 함수 구조와 이름 등은 개인적으로 수정하여 사용하였다.feature_dict은 각 feature의 설명을 dictionary 형태로 담고 있는 dictionary이고, EmbeddingDict()은 각 fie
CTR 예측 모델에서 feature를 다루는 것은 과거의 co-occurence 기록을 통해 새로운 feature combinationd을 탐색하는 과정으로 볼 수 있다. Regression의 경우 과거 기록이 없는 경우, 즉 train dataset에 변수간의 int
FFM 모델은 학습해야 하는 interaction term의 parameter 수가 $n$(Field $F(i)$, $i=1, 2, ..., n$Feature $f_i$, $i=1, 2,... , m$Dataset $S = {\\bold{x}^{(s)}, y^{(s)}
FFM은 FM에 Field의 개념을 접목시킨 모델이다.FM은 아래 식과 같이 field에 관계 없이 전체 feature의 interaction을 계산한다.그러나 모든 feature는 특정 그룹을 나타낼 수 있는 field에 속해있고 field마다 가지고 있는 그룹
FM(Factorization Machine)은 svm과 factorization을 결합한 모델로 과거 regression이나 svm 좋은 성능을 내지 못하던 high_dimensional, highly sparse dataset의 문제를 보완하여 성능을 내는 모델이다
이번에 처음으로 Optuna를 사용해보았다. 캐글러(Kaggler)들에겐 익숙한 자동화된 parameter tuning 방법이지만 범위만 지정해주면 빠르게 최적화된 parameter를 찾아준다는 것이 신기하면서도 믿기지 않았다. parameter space가 conve
이번에 예측 모델을 만들면서 Transformer encoder를 수정하여 사용하게 되었다. 정리해놓은 Hugging face의 Bert code를 저장한다. Self-attention에 대한 자세한 설명은 Jay Alammar의 Transformer를 참고하면 좋다.
splitting and padding 존재$\\mathbf{y} = (y_1, \\cdots, y_t) \\rightarrow \\mathbf{s} = (s_1, \\cdots,s_n)$$\\mathbf{x}t = (e_t, r_t)$$prob(r{t+1}=1|e{
Knowlege Tracing은 학생의 과거 문제 풀이 기록을 바탕으로 새로운 문제가 들어왔을 때 정오를 예측하는 방법론이다. DKT(Deep Knowledge Tracing) 등장 이전까지는 문제의 특성을 파악하기위해 문제마다 전문가가 'knowledge concep
데이터가 큰 경우 무작정 전체 데이터로 분석을 진행하는 것 보다 점진적으로 데이터 사이즈를 늘리는 것이 좋다. 샘플링 기법은 크게 확률에 기반한 통계적인 방법(Probability sampling)과 그렇지 않은 Non-probability 샘플링 두 가지로 나눌 수
예전에 유튜브에서 Andrew Ng 교수님의 강의를 볼 때 적어 놓은 글이다. Deep Learning 분야는 figure를 통해 얻을 수 있는 정보가 많다. 분야에 따라 논문 읽는 방법의 양상은 조금씩 달라질 수 있다. 기본적인 이해(5~20개)깊은 이해(50~10
해당 가이드는 하단 링크의 글 중 필요한 부분만 정리한 것으로 boosting tuning에 관심이 있으시면 둘 다 읽어보시길 추천드립니다.DART(Dropout Additive Regression Trees)는 신경망의 드롭 아웃을 적용시킨 방법으로 트리를 완전히 누
똑같은 변수를 갖는 데이터라도 업데이트가 되었다면 summary부터 확인하자데이터를 입력하는 사람의 오류로 인해 사람의 키가 음수가 될 수도, 제 3의 성별이 등장할 수도 있다.
datatable의 replace는 같은 타입의 데이터만 인식한다.datadt.bool8 = dt.int32data.replace({None: 0})