목록Data Scientist Bootcamp (29)
무냐의 개발일지
보호되어 있는 글입니다.
추천시스템 범주형 데이터를 다룬다. (범주형, 이산적인 데이터를 숫자 벡터로 변환합니다.) 액션물, 로맨스물, 스릴러물, 한드, 미드, 일드, 영드 등의 영화 item 데이터와 A, B, C 같은 user 데이터를 취급했습니다. 이러한 데이터는 연속적(continuous)이지 않고 이산적(discrete)입니다. 이를 범주형(categorical) 데이터라고 합니다. (숫자 벡터로 변환한 뒤) 유사도를 계산한다. (숫자 벡터의 유사도를 계산하여 유사도가 가까운 (혹은 높은) 제품을 추천) 범주형 데이터들을 좌표에 나타내었는데, 좌표에 나타내기 위해서는 숫자로 이루어진 벡터(numerical vector)로 변환해야 합니다. 그리고 그 거리를 계산하여 유사도를 계산합니다. | 코사인 유사도(Cosine S..
* Large Language Model (이하 LLM) : 수백억에서 수천억개의 파라미터를 가진 Pretrained Language Model (이하 PLM) 2022년 4월에 발표된 Google의 PaLM은 5천 400억 개 파라미터를 가진 현재 시점 기준 가장 큰 모델입니다. 이 PaLM 이란 모델이 학습에 사용한 토큰 개수는 총 7천 800억개입니다. 여기서 한국어 토큰은 약 0.2%를 차지합니다. 저렇게 엄청난 크기의 모델 안에 어떤 능력들이 숨어 있는 걸까요? 그 능력들을 가능하게 하는 기술들은 무엇일까요? 반대로 반드시 저렇게 거대한 모델이어야만 좋은 성능을 발휘하는 걸까요? LLM의 Emergent Abilities * Emergent Abilities : "훈련 데이터에 명시적으로 인코딩..
문서의 유사도를 구하기 텍스트를 숫자로 변환하는 Vectorization - 벡터화 방법으로는 크게 (1) 통계와 머신 러닝을 활용 (2) 인공 신경망을 활용 1. BOW & 코사인 유사도 - Bag of words 는 단어의 순서를 고려하지 않고, 단어의 등장 빈도(frequency)만을 고려해서 단어를 벡터화하는 방법입니다. - Bag of Words는 단어들의 순서는 무시하고, 단어들의 빈도 정보는 그대로 보존해요. - 각 key는 단어, 각 value는 각 단어가 주어진 문서에 등장한 횟수에요. 이때, 문서 내 단어의 순서는 중요하지 않습니다. - keras Tokenizer , sklearn CountVectorizer 두 방법으로 만들 수 있다. - 단어장(Vocabulary) 이라는 또 다른..
1. 전처리: 자연어의 노이즈 제거 - 노이즈 : 자연어에서 노이즈란 원하는 정보와 관련이 없거나, 잡음으로 인해 정보를 제대로 파악하기 어려운 데이터를 의미합니다. 불완전한 문장, 문장 길이가 너무 짧을 때 등등 - 현재로서는 좀 더 교과서적인 노이즈에만 집중 Hi, my name is John. ("Hi," "my", ..., "John." 으로 분리됨) - 문장부호 First, open the first chapter. (First와 first를 다른 단어로 인식) - 대소문자 He is a ten-year-old boy. (ten-year-old를 한 단어로 인식) - 특수문자 1. 문장부호를 단어와 분리하면 해결이 되는 상황이기 때문에 문장부호 양쪽에 공백을 추가하는 방법을 취합시다! def p..
1. 텍스트 데이터를 문자열로 저장하기 변수에 데이터를 할당하면 이 데이터들은 컴퓨터의 주기억장치인 메모리(RAM)에 저장됩니다. 1) 인코딩과 디코딩 컴퓨터 세상은 온통 숫자 0과 1 즉, 이진 데이터(binary data)로 표현되기 때문에 데이터도 마찬가지로 0과 1로 변환돼 다뤄지게 됩니다. 이진 데이터의 최소 단위는 비트(bit)이고, 비트가 8개 모이면 바이트(byte)가 되는데요. 메모리에는 바이트로 저장이 됩니다. 인코딩 (encoding): 문자열을 바이트로 변환하는 과정 디코딩 (decoding) : 바이트를 문자열로 변환하는 과정 유니코드 : 국제 표준 문자 (유니코드 테이블) UTF-8 : 인코딩 방식 전 세계 문자를 모두 표시할 수 있는 표준 코드를 제정하였습니다. 이것이 바로 유..
CNN모델의 2가지 구성 1. 합성곱층과 풀링층이 여러겹 쌓여있는 Convolutional base : 이미지로부터 특징을 효과적으로 추출하는 것 (feature extraction) - 낮은 레벨의 계층은 input에 가까운 계층으로, 이미지에서 주로 일반적인(general) 특징을 추출한다. - 높은 레벨의 계층은 output에 가까운 계층으로, 보다 구체적이고 특유한 특징을 추출한다. 2. 완전 연결 계층으로 이루어진 Classifier : 추출된 특징을 잘 학습해서 이미지를 알맞은 카테고리로 분류하는 것 (image classification) 데이터셋의 크기에 따라, 기존 모델을 얼만큼 학습시킬 것인지를 정한다 - VGG16 모델의 구조 첫 번째 블록 : 2개의 Conv 레이어와 1개의 Pool..
앞까지는 image classification 문제를 했는데, 이제부터는 다른 task를 보자 1. Object Detection (복습) - 하나의 객체 : Classification, Localization (Bounding Box ; 위치를 지정해준다) - 여러개의 객체 : Object Detection (Classification + Localization(BBOX) + Multiple), Segmentation (픽셀 단위로 Class 분류하는 semantic) Classification에서 풀었던 RNN모델을 Multiple 문제에서 쓰면, feature는 잘 잡겠지만, 위치를 못 잡을 것이다. 그래서 새로운 모델이 필요하다. | Object Detection 발전 과정 - YOLO 구조인 R..