Data

Data

PLM(Electra) Practice(네이버 리뷰 분류 모델)

전체 순서 * 라이브러리 로드 → 데이터셋 만들고 → 모델 로드하고 → Optimizer 설정하고, 데이터 로더로 데이터셋을 배치 사이즈에 맞게 불러올 수 있도록 준비하고 → Epoch에 맞게 반복 → Epoch 때마다 Gradient 초기화하고, 디바이스로 Label 보내주고, Input에 기준해서 예측하고, 평가하고, Backforwarding 하고, Loss 계산하고, 반복 라이브러리 로딩 * Pandas → 데이터 로드하고, 필요에 따라 re, spacy 등 불러와서

By Bongho, Lee

Data

Bayesian Count Estimation

Introudunction * 파이썬을 활용한 베이지안 통계 2판을 보면서 제대로 이해하고 있는지 기록하고 싶은 목적에서 Chapter5 수량추정의 문제를 직접 풀어본다. 기관차 문제(The Train Problem) * Source: Fifty Challenging Problems in Probability with Solutions 각 철도에는 이를 지나가는 기관차에 1부터 N까지의 순서로 번호를 붙인다. 어느날 60호 기관차를 보았다. 이 때 이 철도에는 몇

By Bongho, Lee

Data

Ridge/Lasso Regression, Elastic Net

Regularization * Linear Regression에서는 Feature의 수가 많아질 수록 $R^2$가 증가하면서 Overfitting으로 가는 경우가 많다. 그래서 Regularization을 통해서 Overfitting이 되지 않도록 Cost Function 뒤에 Regularization & Labmda(Hyper parameter) Term을 이용해서 조절해준다. * Regularization은 L1-Norm, L2-Norm이 있고, 어떤 것을 쓰는지, 또는 결합하는지에 따라 Ridge, Lasso Regression 또는 Elastic Net으로 분류가 된다.

By Bongho, Lee

Data

선형 회귀(Linear Regression)

Base Class * init Function에서는 최적 $\beta$를 찾아가는 과정에서 Gradient Descent, 즉 을Loss Function을 최소화하는 방향으로 조금씩 값을 대입해보면서 최종 값을 찾아가는 형태이기 때문에 Learning Rate와 Iteration에 대한 변수를 설정하고 있다. * 그리고 Weight 값에 대해서는 Uniform Distribution을 초기화를 해주는데, 이 부분은 기본적으로 0으로 초기화해도 Training은 가능할 수 있으나, 이후에 Weight를

By Bongho, Lee

Data

유전 알고리즘(Genetic Algorithm )

Genetic Algorithm * 존 홀랜드(John Holland)가 1975년에 저서 "Adaptation on Natural and Artificial Systems" 에서 처음 소개한 최적화 기법 * 실제 생물 진화를 모방해서 문제를 해결하는 진화 연산의 대표적인 방법 * HyperParameter Search를 할 때도 여전히 유효하게 쓰이고 있는 방법 * "초기화 → 적합도 함수에 기반해서 적합한 유전자를 선별 → 해당

By Bongho, Lee

Data

베이지안 최적화(Bayesian Optimization)

Bayesian Optimization * Bayesian Optimization은 Training을 통해 파악하게 되는 Parameter와 별개로, 사전에 사람이 직접 입력해야 하는 HyperParameter를 최적화하기 위한 방법으로 아래와 같은 식과 같이 임의의 함수 $f(x)$를 가정하고, 이 $f(x)$를 최대화하는 $x$를 찾아 나가는 방식으로 최적의 Hyperparameter를 찾는다 * "Bayesian"이라는 단어가 의미하는 바처럼 이전

By Bongho, Lee

Data

중복이미지 검출(Duplicate Image Detection)

모델 선정시 요구사항 * 현재 가지고 있는 이미지 데이터 규모 * 중복이미지 검출시 정확도 * Inference 시 실시간 여부 쓸 수 있는 기술 * FileName: File Naming Scheme에 대해서 통제가 가능해야 * FileHash: File이 Binary여야 하고, 조금만 변경이 발생해도 Hash값이 달라질 수 있음 * Perceptual Hash: File size나 Format이 달라도 Pixel에 기반해서 식별 가능하고 속도가 빠른

By Bongho, Lee

Data

BERTopic 주요 내용 요약 및 정리

어떤 모델인가? * Topic Modeling 기법 중 하나이다. * BERT 기반 Embedding + Class-based TF-IDF를 사용한 것이 아이디어의 핵심이다. 구조 * 크게 세 단계로 나눠서 볼 수 있다. * 첫 번째 BERT를 이용해서 각 Document에 대해서 Embedding을 한다. * 두 번째 UMAP을 이용해서 각 Document Vector의 차원을 축소한다. * 세 번째 HDBSCAN을 이용해서 클러스터링을 한다. 이 때

By Bongho, Lee

Data

Transformer를 위한 Custom Dataset 만들기

Background * Transformer에서 제공하는 Pipeline을 이용해서 Sentiment Classifier를 하는데 기존  Dataframe을 그대로 이용하려니 GPU를 활용하더라도 상당히 느려서 Efficiency를 높이기 위해서 Dataset으로 변환을 하기로 결정하였다. Usage 1.한개의 csv 파일로 만들 때 from datasets import load_dataset dataset = load_dataset('csv', data_files='my_file.csv') 2.두

By Bongho, Lee

Data

Gensim 기본 LDA 대신, Mallet LDA 사용시 몇가지 이슈 대처법

1.pyLDAvis 사용하려고 할 때 Inference 에러 발생시 다음과 작성했는데,  다음과 같은 에러가 발생할 경우가 있다. pyLDAvis.enable_notebook() vis = pyLDAvis.gensim.prepare(mallet_model, corpus, id2word) vis 'LdaMallet' object has no attribute 'inference' Mallet Model은 gensim 기본 모델로  변환해서 사용하면 정상적으로 사용할 수 있다. import

By Bongho, Lee

Data

합성 데이터(Synthetic Data)에 대해서

합성 데이터 * AI 알고리즘을 활용해 인위적으로 생성한 데이터 * 데이터 사용과 고객 정보 보호 규제를 위반하지 않고, AI를 개발할 수 있음 생성 방법 * Stochastic process * Rule-based data generation * Deep generative model 생성 시 평가 기준 * Computation * Human Labor * System Complexity * Information 생성 방법 별 Challenges Rule-based data generation * 1) 규모가 커짐에

By Bongho, Lee
도어대시(Doordash) 데이터팀이 말하는 다른 팀과 "잘" 대화하기 위한 팁

Business

도어대시(Doordash) 데이터팀이 말하는 다른 팀과 "잘" 대화하기 위한 팁

Intro 데이터 팀이 아무리 좋은 분석을 하더라도 비즈니스 팀과 경영진과 공유되지 않으면데이터 팀의 성공은 보장할 수가 없다. 그래서 효과적인 커뮤니케이션은 데이터 팀이 성공하기 위한 중요한 전제조건이라고 볼 수 있다. 이를 위한 팁을 정리해보면 다음과 같다. Tip TL;DR을 사용하여 중요한 내용을 명확하게 전달하기 다른 팀이 데이터 팀이 작성한 모든 문서를

By Bongho, Lee