전체 글184 추천시스템에서 Binary Data의 사용 ◈ 추천시스템에서 Binary Data 다루기 클릭, 좋아요, 읽기, 머무르기 등의 행동 데이터를 의미하며 implicit data에 해당된다. Binary 데이터는 크게 두 가지 방향으로 사용될 수 있다. 1. Binary Data로 순서 예측 Markov Model을 기반으로 해서 이진 데이터가 나타내는 행동으로부터 사용자가 다음으로 할 행동을 예측한다. A,B,C 페이지를 차례대로 방문한 사용자가 다음에 어떤 페이지를 방문할 지 예측할 수 있다. 하지만 클릭 로그가 굉장히 많아질 경우, 동일한 경로로 클릭을 한 다른 사용자가 존재하지 않을 수도 있다. 이러한 경우 가장 초기 기록부터(A부터) 없애가면서 동일한 사용자들을 비교한다. 하지만 이 방식은 많이 사용되지 않는다. 이진 데이터로 예측을 할 경.. 2022. 1. 22. 오토인코더(Autoencoder), 합성곱 오토인코더(Convolutional Autoencoder) 📚 오토인코더 (Autoencoder) 오토인코더는 비지도학습 모델로, 입력 데이터의 패턴을 학습해서 최대한 유사한 데이터를 새롭게 생성한다. 데이터가 입력되면 encoder를 통해서 저차원의 벡터로 변환되고, 이를 decoder가 받아서 결과물을 출력한다. encoder 부분은 입력 받은 정보에서 불필요한 정보를 제외하고 차원을 축소하는 역할을 한다. decoder 부분은 주로 데이터의 차원을 축소해서 feature extraction 목적으로 많이 사용된다. generative model에도 사용되는데 최근에는 보다 성능이 좋은 GAN이 많이 사용된다. 오토인코더에서는 입력된 값을 그대로 예측해서 출력하는 것을 목적으로 한다. 즉, 정답 = 입력값 이므로 정답에 대한 레이블링이 필요없다. 이러한 지도.. 2022. 1. 21. Surprise 라이브러리 ◈ surprise 라이브러리 사용 ✅ 라이브러리 소개 http://surpriselib.com/ ✔ 주요 제공 알고리즘 추천시스템 개발을 위한 패키지로 사이킷런의 일부이다. 주어진 데이터에 대해서 빠른 시간내에 결과를 확인하기 위해서 사용할 수 있다. 주어진 데이터에 대해서 surprise 패키지로 여러 알고리즘 중에 어떤 것이 성능이 좋은지 확인을 해보고, 직접 코드를 짜면서 최적화하는 방식으로 알고리즘을 정교화 할 수 있다. 여러 알고리즘을 자체적으로 제공하기 때문에 선택이 가능하다. ◈ 실습 : CF + KNN # movielens 데이터 불러오기 r_cols = ['user_id', 'movie_id', 'rating', 'timestamp'] ratings = pd.read_csv('C:/Us.. 2022. 1. 21. Transfomer 기본 개념 정리 📚 seq2seq (sequence to sequence) 방식의 한계점 트랜스포머 등장 전에는 순환신경망을 기반으로 한 인코더/디코더 모형인 seq2seq이 많이 사용되었다. seq2seq은 하나의 시퀀스 데이터에서(인코더) 또 다른 시퀀스 데이터(디코더)를 생성하는 모델이다. (ex. 한국어 -> 영어로 번역) Encoder : 입력된 텍스트 데이터를 숫자 혹은 벡터 형태로 변환한다. 최종적으로 가장 마지막에 출력되는 h4를 디코더 부분으로 전달하는데, h4에는 h1~h3까지의 정보가 순차적으로 포함되어 있으므로 순서를 반영할 수 있다고 본다. Decoder : 인코더에 의해 숫자로 변경된 정보를 다른 형태의 텍스트 데이터로 변환한다. 예를 들어, '오늘은 금요일 입니다' 라는 시퀀스 데이터를 'To.. 2022. 1. 20. LSTM, Bidirectional LSTM 📚 LSTM 개념 설명 ✅ RNN의 문제점 ✔ Problem of long term dependency (장기의존문제) 입력된 문서에서 상대적으로 초반부에 등장하는 단어들의 정보가 제대로 반영되지 않는다. 즉, 마지막 time step에 대한 RNN층의 출력 hidden state만 다음 층으로 전달하게 되면 앞쪽 RNN층의 정보를 잘 학습하지 못한다. ✅ LSTM (Long Short Term Memory) 기본적인 작동 원리는 RNN과 동일하다 즉, 현재 time step인 t에서 단어 t에 대한 벡터 정보(xt)와 이전 은닉층에서 전달하는 hidden state 정보를 담고 있는 벡터 ht-1를 같이 입력받는다. RNN이 가지는 장기의존문제를 개선하기 위해서 LSTM은 기억 셀(memory cell.. 2022. 1. 19. Stacked RNN ◈ RNN의 모든 hidden state vector 사용하기 ✅ RNN 정리모든 hidden state vector 사용하기 ✔ 기존 RNN의 문제점 •일반적인 신경망의 은닉층은 한 번만 적용이 되지만, RNN 층은 이전 단계의 히든 벡터를 다시 입력받는 과정을 반복한다. 따라서, 입력 층에서 가까울수록 출력된 hidden state vector (h0, h1, h2 ....)의 정보가 적게 반영된다. 일반적인 텍스트 데이터는 문서의 앞 부분에 핵심적인 내용이 포함되어 있는 경우가 많기 때문에 일반 RNN을 사용하면 중요 정보를 제대로 학습하지 못할 수도 있다. 따라서 모든 단계의 hidden state vector의 정보를 모두 사용할 필요가 있다. ✅ Hidden state vector 결합 방법 .. 2022. 1. 19. 이전 1 ··· 18 19 20 21 22 23 24 ··· 31 다음