전체 글 312

나이브 베이즈 (MultinomialNB)

베이즈 정리를 사용한 확률 기반 분류기목적문장 X가 들어왔을 때이 문장이 긍정(1) 일 확률 vs 부정(0) 일 확률을 비교하는 것수식 P(c) = 사전확률(prior)→ 데이터 전체에서 긍정 리뷰가 얼마나 되는가?예)전체 리뷰 10만개 중긍정 7만 → P(긍정) = 0.7부정 3만 → P(부정) = 0.3즉, 원래부터 긍정이 많았는지, 부정이 많았는지 반영하는 값. P(X|c) = 우도(likelihood)→ 문장 X 안의 단어들이 클래스 c에서 등장할 확률예를 들어,긍정 리뷰에서는 “재밌다”가 자주 나오고부정 리뷰에서는 “지루하다”가 자주 나온다는 것.즉,해당 단어(들)가 그 클래스에서 얼마나 잘 나타나는지를 의미.이게 사실상 분류의 핵심. P(X) = 증거(evidence)→ 모든 클래스(긍/부정..

TF-IDF

TF-IDF (Term Frequency – Inverse Document Frequency) TF (Term Frequency)한 문서 안에서 얼마나 자주 나왔나→ BoW에서 쓰던 “횟수” 혹은 “비율”IDF (Inverse Document Frequency)전체 문서 중에서 얼마나 희귀한 단어인가→ 모든 문서에 다 나오는 단어는 중요도가 떨어짐 핵심 아이디어한 문서 안에서 자주 나오고 (TF ↑),다른 문서에서는 잘 안 나오는 단어 (IDF ↑)→ 그 문서를 잘 대표하는 “좋은 단어”로 가중치를 크게 준다.TF(w) = (특정 단어 w의 문서 내 등장 횟수) / (해당 문서 내 총 단어 수)IDF(w) = log(총 문서 수 / 특정 단어 w를 포함한 문서 수)TF-IDF(w) = TF(w) × ID..

Bag-of-Word(BOW)

코퍼스(corpus) 문서들의 묶음 (전체 데이터)문서(document) 한 개의 글 (한 줄 리뷰, 기사 하나 등)단어(토큰, token) 공백이나 규칙으로 나눈 최소 단위어휘집(vocabulary) 코퍼스에서 등장한 단어들의 집합 (중복 제거) Bag-of-Words(BOW)문장을 문법과 순서는 무시하고, 단어가 몇 번 나왔는지만 세는 방식예 문서1: "오늘 날씨 정말 좋다" 문서2: "오늘 기분 정말 좋다" 전체 단어집(vocab): [오늘, 날씨, 정말, 좋다, 기분] BoW 벡터  문서1: [1, 1, 1, 1, 0]  문서2: [1, 0, 1, 1, 1]장점 단순, 빠름, 기본적인 ML 모델에 바로 넣기 좋음단점 단어 순서 정보가 사라짐 문서가 길어질수록 큰 벡터, 희소(sparse)함 아주 ..

텍스트 전처리

원문 텍스트 수집정규화(Normalization): 소문자화, 공백 정리, 반복 문자(ㅋㅋㅋㅋ) 축약, 숫자/기호 처리 등토큰화(Tokenization): 한글: 형태소 분석기(Okt)로 단어/형태소 단위 자르기어간/표제어 처리(Stemming/Lemmatization): “먹었다 → 먹다”, “했습니다 → 하다”처럼 기본형으로 통일불용어(Stopwords) 제거: “은/는/이/가/그리고/하지만…” 같은 의미 정보 적은 단어 삭제벡터화: Bag-of-Words, TF-IDF, Word2Vec, BERT 토큰 등 숫자 벡터로 변환 morphsmorphs(phrase, norm=False, stem=False)문장을 형태소 단위의 리스트로 변환 phrase: 형태소 분석을 수행할 입력 문장norm (기본값:..

인공신경망(ANN : Artificial Neural Network)

딥러닝은 머신러닝의 한 종류로 인공신경망(ANN)에 기반을 둔 학습 방법머신러닝은 정형데이터 학습에 딥러닝은 이미지, 소리, 텍스트와 같은 비정형 데이터 학습에 주로 사용 전이학습 : 풍부한 데이터를 이용해서 학습된 pre-trained model을 가져와 부족한 사용자 데이터 환경에 맞도록 새롭게 모델을 학습 시키는 일련의 과정 입력층, 은닉층, 출력층 3개 층 구성(SLP: 은닉층 없음, MLP: 1개 이상의 은닉층) 파라미터(매개변수) : 가중치(weight)하이퍼 파라미터 : 인공신경망의 학습률(learning rate), 배치(batch) 크기, hidden neuron, hidden layer 수 퍼셉트론(Perceptron)생물학적 뇌의 뉴런을 모방하여 만든 인공신경망(ANN)의 기본 단위 ..

딥러닝

에폭(Epoch)전체 학습 데이터를 한 번 다 사용해서 학습하는 횟수 배치(Batch)한 번 모델에 넣어서 학습시키는 데이터 묶음 풀배치배치 크기 = 전체 데이터 수 미니 배치배치 크기 작은거 온라인배치 크기 = 1 다차원 배열딥러닝에서 모든 데이터는 텐서 형태 텐서 차원0차원 (Scalar): 숫자 하나 → 예: 71차원 (Vector): 배열 → 예: [1, 3, 5]2차원 (Matrix): 행렬 → 예: 이미지의 한 채널3차원 이상 (Tensor): 컬러 이미지(높이 × 너비 × 채널) shape (형태)텐서의 구조를 나타냄 (가로, 세로, 채널, 배치 크기 등)예: (32, 3, 28, 28)→ 32개의 이미지(batch 32)→ 채널 3 (RGB)→ 이미지 크기 28×28dtype (데이터형)텐..

시계열 데이터

시간의 흐름에 따라 관측된 데이터수집된 데이터의 변수의 개수에 따라 단변량 시계열 데이터와 다변량 시계열 데이터로 나눈다단변량 시계열 데이터 : 동일한 간격의 사간 증가에 대해 순차적으로 기록되며 한 개의 변수 관측치로 구성된 데이터를 의미다변량 시계열 데이터 : 동일한 간격의 시간 증가에 대해 순차적으로 기록되지만 두 개 이상의 변수 관측치로 구성된 데이터를 의미시계열 데이터는 계절성(S), 추세성(T), 순환성(C), 불규칙성(I) 이라는 특징이 존재 시계열 분석을 위해서는 시계열이 정상성을 만족해야 함정상성 (stationary)시간에 관계없이 데이터가 일정한 상태를 유지하는 것을 의미시계열 데이터의 평균과 분산에 체계적인 변화 및 주기적 변동이 없다는 것미래는 확률적으로 과거와 동일하다는 것정상 ..

규제(Regularization)

모델이 훈련데이터에 과하게 맞추는 과대적합을 줄이고, 일반화 성능을 높이기큰 계수에 패널티 줘서 모델 복잡도 낮춤 Lasso(L1) 선형회귀에 “규제항(Regularization term)”을 추가한 모델기본 선형회귀는 MSE(평균제곱오차) 를 최소화하지만, Lasso는 거기에 더해 회귀계수의 절댓값 합(∑|βᵢ|) 도 최소화MSE를 최소화 (예측 잘하게)β들의 절댓값 합도 최소화 (모델 단순하게)규제가 강하면(λ↑), 일부 회귀계수(β)가 정확히 0이 됨 → 즉, 해당 변수는 모델에서 완전히 제외됨불필요한 변수 자동 제거 (Feature Selection) 장점변수 선택이 자동으로 이루어짐모델에서 가장 중요한 특성이 무엇인지 알게 되는 등 모델 해석력이 좋아짐 단점변수간 상관관계가 높으면 성능이 떨어짐..

회귀 분석(Regression Analysis)

독립 변수다른 변수에 영향을 받지 않고 독립적으로 변화하는 수, 설명 변수라고도 함입력 값이나 원인을 나타내는 변수,y = f(x) 에서 x에 해당하는 것종속 변수(target)독립변수의 영향을 받아 값이 변화하는 수, 분석의 대상이 되는 변수결과물이나 효과를 나타내는 변수, y = f(x) 에서 y에 해당하는 것잔차(오차항)계산에 의해 얻어진 이론 값과 실제 관측이나 측정에 의해 얻어진 값의 차이오차(Error)–모집단, 잔차(Residual)–표본집단 단순 선형 회귀하나의 특성(Feature, 독립변수)를 가지고 Target을 예측하기 위한 선형 함수를 찾는 것▪y=ax+b다중 선형 회귀(Multivariate Linear Regression)여러 개의 특성을 활용해서 Target을 예측하는 회귀 ..

Gradient Boosting

여러 개의 “아주 얕은 나무(weak learner)”를 순차적으로 더해가며, 앞선 모델이 틀린 부분을 학습하여 조금씩 고쳐 가는 부스팅 기법잔차(residual): 실제 값과의 차이learning_rate• 한 번에 보정하는 크기. • 작을수록 과적합 위험↓, 대신 더 많은 트리 필요.• 0.05~0.1 근처로 시작(0.2 이상은 주지 않는다)max_iter• 트리(부스팅 단계) 개수. learning_rate와 트레이드오프(500~1000).max_depth / max_leaf_nodes• 각 트리의 복잡도. 너무 크면 과적합↑.min_samples_leaf / L2_regularization• 과적합 방지용 규제.early_stopping=True• 검증 성능이 더 안 오르면 자동 중단 장점구조화..