본문 바로가기
728x90

Study (Data Science)121

Contrastive Learning Contrastive Learning for Recommender System (2021.01) https://arxiv.org/pdf/2101.01317.pdf Practical Impliciation The practical implications of this paper are that it provides a new framework for recommender systems, which can be used to improve the performance and accuracy of such systems. This proposed framework includes two main components: a graph contrastive learning module and debiased con.. 2023. 3. 10.
Transformer 1 - Positional Encoding Seq2seq의 Encoder-Decoder를 6개 쌓아올린 모델. Enc-Dec x 6 은 아니고, Enc x 6 + Dec x 6임. RNN, LSTM 등의 기존 문장의 연속성을 무시 이를 무시하니 병렬구조가 가능해져서 연산속도가 엄청 빨라졌음. seq2seq처럼 context vector를 중간 병목으로 쓰지 않음. Self attention, 즉 내가 들어가서 내가 나오는 재귀적인 구조임. 문장의 문맥 + 단어의 순서 (위치)까지 attention에 담았음. 논문 : https://arxiv.org/pdf/1706.03762.pdf (Attention is all you need (2017)) 각 모듈이 하는 일을 간단하게 정리하면, Positional Encoding: 입력 문장의 단어들에 위치.. 2023. 3. 9.
모델 발전과정 3 - GNMT (Google's Seq2seq 8 layers w. Residual) Google's Neural Machie Translation System 2016년 구글의 신경망 번역 시스템 8개 층을 쌓은 Encoder-Decoder 구조 Residual Connection 사용 Bahdanau Attention 채택 토큰 처리를 하지 않고 단어를 그대로 복사하여 적당한 위치에 배치하는 Copy Model을 사용 장점 정확도가 올라감 학습속도 빨라짐 기울기 소실 문제 해결가능 https://norman3.github.io/papers/docs/google_neural_machine_translation.html Google's Neural Machine Translation System. 그리고 \(sigmoid, tanh\) 등의 함수와 element-wise 연산인 \( (\.. 2023. 2. 28.
모델 발전과정 2 - Attention (Bahdanau / Luong) Attention https://arxiv.org/pdf/1409.0473.pdf 0. Abstract The models proposed recently for neural machine translation often belong to a family of encoder–decoders and encode a source sentence into a fixed-length vector from which a decoder generates a translation. In this paper, we conjecture that the use of a fixed-length vector is a bottleneck in improving the performance of this basic encoder.. 2023. 2. 28.
모델 발전과정 1 - SLM / NNLM / RNN / Seq2seq 언어 모델(Language Model) 주어진 단어들을 보고 다음 단어를 맞추는 모델 단어의 시퀀스를 보고 다음 단어에 확률을 할당 하는 모델에서 주변 단어를 보고 중심 단어를 예측하는 형태로 발전하게 됨. 통계적 언어 모델 (Statistical Language Model) 단점 한 번도 본 적 없는(학습 데이터에 존재하지 않는) 단어 / 문장에 대해서는 확률을 부여할 수 없다. 따라서 언어 모델이 아우르는 범위를 넓히기 위해 다양한 단어를 포함하는 데이터가 필요하다. (양까지 충분하다면 정의하는 확률이 일반적이므로 더욱 좋다.) 신경망 언어 모델 (Neural Network Language Model : NNLM) NNLM의 시초는 Feed-Forward 신경망 언어 모델인데, 지금의 Embeddin.. 2023. 2. 27.
벡터화 발전과정 4 - 워드 임베딩 (Word2Vec / FastText / GloVe) 2003년 요슈아 벤지오(Yoshua Bengio) 교수가 NPLM(Neural Probabilistic Language Model) 이란 모델을 통해 제안된 워드 임베딩. 하지만 이 모델은 너무 느렸다. 2013년, 구글이 NPLM의 정밀도와 속도를 개선하여 Word2Vec을 만들었고, 그 이후로 FastText나 GloVe 등과 같은 방법들이 제안되었다.. Word2Vec 원핫보다 저차원이고, neighbor words간 유사도를 가짐 word2vec은 워드임베딩 종류의 하나이고, Unsupervised or Self learning 이라고도 한다. 왜냐하면 그 유의미한 Dense Vector들을 자기가 학습하면서 기울기를 조정하여 업데이트해가기 때문이다. 분포 가설(Distributional Hyp.. 2023. 2. 23.
벡터화 발전과정 3 - 임베딩 (Embbeding) / Sparse - Dense - Embedding vector 희소 벡터 (sparse vector) 들이 난무하는 DTM, TF-IDF, 원-핫 벡터 단어장에는 0이 너무 너무 많다. 단어장의 크기가 커지면, 그만큼 차원이 늘어면서 차원의 저주(curse of dimensionality)가 시작된다. 차원의 저주란, 희소벡터의 비율이 같은 일정 데이터를 2D에 표현했을 때보다, 3D로 표현했을때 더 density가 떨어진다는 뜻이다. 골다골증인 것처럼 데이터에 구멍이 송송송송 빈다. 데이터가 많으면 많을 수록 표현이 잘 되고 좋은 것은 맞지만, 필요없는 0 같은 노이즈가 많이 끼면 오히려 학습에 방해가 되고, 학습을 마치더라도 유의미한 결과라고 하기 어렵다. 그래서 Sparse vector 를 Dense vector 로 바꾼다. 즉, 벡터 하나하나 의미가 있는 아.. 2023. 2. 22.
토큰화 / 인덱싱 / 벡터화 / 임베딩 토큰화 split 하는 것. 이 때에 띄어쓰기나 형태소 단위로 끊어줄 수 있음 인덱싱 각 단어를 고유한 번호(인덱스)로 매핑하는 것 의미나 관계를 고려하지는 않음. 벡터화 단어나 텍스트를 수치화하는 작업 중 하나 각 단어나 문장을 수치 벡터로 변환하는 것을 의미 단어나 텍스트를 고차원 벡터로 변환 인덱싱과 다르게 단어의 의미나 관련성을 고려 빈도기준의 DTM, 빈도+문서간관계 TD-IDF, 독립적인 관계 One-Hot, 분포로 잠재 의미를 담아내는 LSA, (LSA는 희소 vector가 아니라 희소 matrix를 밀집 행렬로 바꾼거라 임베딩이라 하지 않고 벡터화에 속함) 분포로 단어의 토픽을 찾아내는 LDA, (LDA는 벡터에 확률 분포가 들어감) 임베딩 (like. 2차 벡터화) 벡터화되어 고차원으로 .. 2023. 2. 22.
분류성능평가지표 : F1-score , Accuracy, ROC curve, AUC curve 2022.12.07 - [ML] - 오차행렬, FP, FN, F-score, Threshold Confusion Matrix TN : 4 / FP : 1 FN : 1 / TP : 2 from sklearn.metrics import confusion_matrix # assume y_true and y_pred are your true and predicted labels, respectively y_true = [0, 1, 1, 0, 1, 1, 0, 0] y_pred = [0, 1, 0, 0, 1, 1, 0, 1] cm = confusion_matrix(y_true, y_pred) >> array([[4, 1], [1, 2]]) Precision이나 Recall은 모두 실제 Positive인 정답을 모델.. 2023. 2. 20.
나이브 베이즈 이론 연습문제 CASE 1 CASE 2 총 8개의 메일 중 4개의 메일이 스팸 메일이므로 P(spam) = 4/8 = 1/2 총 8개의 메일 중 3개의 메일이 coupon이라는 단어를 포함하므로 P(coupon) = 3/8 총 4개의 스팸 메일 중 2개의 메일이 coupon이라는 단어를 포함하므로 P(coupon | spam) = 2/4 = 1/2 P(coupon | spam)과 P(spam)를 곱한 후에 P(coupon)로 나눠줍니다. 정답은 2/3 즉, 66.7%입니다. 2023. 2. 20.
728x90