Data Analysis

대전제 : 시장은 항상 적당한 가격으로 회귀한다 - 과매입 과매도를 이용하면 과매입상태일때팔고 과매도 상태일때 산다 - y_t+1 = 기술적 분석 + 인접 자산의 움직임 + 유동성 + etc... - 기술적분석: 대부분 lagging이 많이 일어남 (골든,데드크로스) -> 결과론적이다 -> 선행성 지표를 찾는 것이 중요 -> 차트의 움직임을 분석하는 것은 시장의 공포와 희열을 수반한다 -> 패턴은 반복된다 모든 경우는 아니다 - 합리적이지 않은 시장은 투자자의 참여를 기대할 수 없다. 남들과 다른 분석 다른 방법으로 가격을 예측할 수 있어야한다. - 다우이론 평균은 모든 것을 반영한다. 시장에는 동시에 세 가지의 변화추세가 존재한다. (단기, 중기, 장기) 가격추세에는 3가지 국면이 있다.(강세, 약세,..
Overall Performance Comparision BERT4Rec 모델과 Baseline들을 모두 비교한 결과표를 보면, 인기순으로 정렬한 단순한 베이스라인인 POP는 모든 데이터셋에서 가장 안좋은 결과를 보였다. Sequential Model인 GRU, FPMC(MF+Markov Chain)은 matrix연산 기반의 BPR-MF와 NCF의 결과를 상회했다. 해당 결과는 행렬 기반의 풀이보다 유저의 행동 흐름을 고려한 모델이 더 효과적임을 보여준다. Sequential Model 중에서도 Caser가 FPMC보다 훨씬 좋은 성능을 보여줬는데, 두 모델 모두 Markov Chain을 사용했지만, Caser는 직전 시점을 포괄하는 더 이전 시점의 아이템들을 동시에 고려한 high-order Marko..
전반부에 이어서 적는 BERT4Rec 리뷰 Embedding Layer BERT 모델의 Embedding은 Input값과 Positional Encoding이 합쳐진 형태로 구성된다. 이들은 첫번째 Hidden state로 구성이되는데, $h_{i}^{0} = v_{i} + p_{i}$ 로 두 개의 인풋이 summation된 형태이다. Transformer는 RNN과 다르게 병렬적으로 학습하기 때문에 단어의 시퀀스를 인지할 수 없다. 때문에 각 포지션을 인지할 수 있게 Positional Encoding 작업이 추가되어야한다. (Positional Encoding 참고링크) 여러가지 방법으로 포지션을 할당할 수 있지만 해당 논문에서는 고정된 sinusoid 벡터가 아닌 '학습 가능한' 포지션을 부여하길 ..
오늘은 2019년에 나온 BERT4Rec 논문 리뷰다 BERT는 2018년 구글이 만들어낸 양방향 트랜스포머이며 Bidirectional Encoder Representations from Transformers라는 풀네임을 가지고있다. 이름에서 볼 수 있듯이 Transformer가 기존에 갖고있던 인코더-디코더 구조가 아닌 인코더만 존재하는 것을 알 수 있다.Transformer와 BERT의 가장 큰 차이점은 학습 방식에 있다 Transformer는 다음 단어를 예측하기위한 학습을 하는 반면,BERT는 마치 빈칸 넣기 문제처럼 MASK된 단어를 학습한다 GPT와 같이 BERT 역시 거대한 말뭉치를 가지고 자연어를 처리하기 위해 학습된 모델이다. 그런데 이 모델을 추천시스템에 적용하기 위해서 나온 논문이..
트랜스포머 작동 원리를 하나하나 이해하다가 Positional Encoding은 어떻게 이루어지는지 궁금했다. 처음 이 부분을 보자마자 든 생각은 '단순히 각 시퀀스에 인덱스처럼 번호를 부여하면 될까?'였다 만약 시퀀스가 너무 길어진다면 충분히 큰 n이라는 정수값과 Input Embedding이 합쳐졌을 때와 처음 시퀀스(pos=0)와의 차이가 토큰의 의미를 상쇄해버리지 않을까라는 생각이 들었다 Positonal Encoding의 주요 목적은 다음과 같다 1.Input Embedding과 합쳐질 수 있어야한다 2.각 Position 별로 유일한 벡터가 구성되어야한다. 3.서로 다른 길이의 시퀀스의 인덱스 간격이 동일해야한다. 그럼 가장 쉽게 구현할 수 있는 인코딩부터 해보면서 가장 최선의 인코딩이 무엇인..
CF의 알고리즘을 소개하겠다. CF의 간단한 소개는 아래 링크를 참고하자! https://zzz0101.tistory.com/33 Collaborative Filtering - 사용자 기반 필터링과 아이템 기반 필터링 CF(Collaborative Filtering)은 Peer(동료, 타 유저)와의 유사도를 계산하여 유저 u의 기록되지 않은 평점을 희소행렬을 통해 예측하는 기법이다. 예를 들어 유저 c의 3번 아이템에 대한 평점을 예측하고 zzz0101.tistory.com 우리의 목표는 유저 3의 아이템 1과 아이템 6에 대한 정확한 예측을 하는 것이다. 사용자 기반의 예측 방법은 다음과 같다 1. 3번 사용자와 가장 유사도가 높은 peer 그룹을 정의한다 2. 유사도를 기반으로 예측값을 계산한다 이 ..
CF(Collaborative Filtering)은 Peer(동료, 타 유저)와의 유사도를 계산하여 유저 u의 기록되지 않은 평점을 희소행렬을 통해 예측하는 기법이다. 예를 들어 유저 c의 3번 아이템에 대한 평점을 예측하고 싶다. 그렇다면 유저 c와 가장 비슷한 유저인 a를 선택하여 a의 3번 아이템에 대한 평점을 참고해 평점을 매기는 방식이다 (마치 스도쿠를 하듯이 빈 셀의 숫자를 채워넣는 게임이라고 생각하면 쉽다) 이것이 사용자 기반 필터링이다. 하지만 사용자 기반 필터링은 여러가지 문제가 있다. 그 중 가장 큰 문제는 시간에 따라서 사용자의 선호가 바뀔 수 있다는 것이다. 예를 들면 a와 c가 비슷한 취향을 가진 유저 그룹이었는데, a가 갑자기 다른 아이템을 더 선호하게되면 a와 c는 더 이상 유..
안녕하세요. Growth Scientist입니다. 오늘은 회귀모형을 훈련하고 성능을 테스트 해볼거예요. 다중회귀모형은 아주 기본적인 모델이고, 머신러닝에서도 쓰이는 학습 모델이에요. 학습을 반복하며 모델의 성능을 높여 최적의 모델로 만드는 것이 목적이죠.하지만 오늘 포스팅은 한 개의 데이터 셋으로 학습과 테스트를 할 수 있는 방법을 알려드릴게요. 먼저 충분한 양의 표본이 있다면 학습자료와 테스트 자료로 분리시켜요.학습 자료를 새로운 다중 회귀모형으로 구성하고, 이 모형으로 테스트 자료를 이용하여 예측값(Y_hat)을 구해요.마지막으로 원시 반응변수(Y)와 예측값을 비교하며 유사성을 체크하면 끝입니다. 그럼 바로 실습으로 가볼까요? DATA : 국민건강영양조사(2019) - hn_dat Y
bat_huni
'Data Analysis' 카테고리의 글 목록 (3 Page)