Machine Learning(6)
-
K-means clustering
• 주어진 데이터를 k개의 cluster로 묶는 알고리즘 • 각 cluster 내 데이터들의 분산이 최소화하도록 학습 • 목표: cluster의 assignment {Zi}와 cluster center {𝜇j} 계산 unsupervised learning의 대표적 ex. 데이터를 k개의 clustering 묶음 100개의 점을 3개의 cluster로 좋은 clustering의 기준 각 cluster 내 data의 분산의 최소화 (평균 - 데이터)^2 중심과 해당 cluster 내 모든 data의 center와의 거리의 제곱 cluster의 assignment {zi}, cluster center {𝜇j} zi: xi의 cluster label ex. k=3 zi = {1, 2, 3} k-means los..
2021.08.16 -
kNN
feature space에서 거리가 가장 가까운 k개를 찾고 이들의 평균값으로 y'을 예측 "즉, 지도학습임" k-means는 비지도학습이며, clustering을 수행 predictor f(x') |𝜙(x) - 𝜙(x')|의 min을 찾기 훈련이 필요 없음 – 즉, lazy model SVM 혹은 선형회귀보다 빠름 거리 구하기 1) Euclidean distance sqrt(∑ (p1i – p2i)^2) 2) Manhattan distance ∑ | p1i – p2i | 예측 방법에서 가장 ideal 성능면에서 kNN이 잘 설계 되어 있다면 이보다 더 좋을 순 없음 이 경우 DNN 을 사용할 필요가 없음 DNN은 이를 흉내 kNN 특징 non-linear를 다 근사 prediction의 boundary..
2021.08.16 -
SGD (Stochastic Gradient Descent)
목적: train loss를 최소화 하는 것 loss function은 loss를 구하는 것 target function은 loss function을 통해 나온 loss값으로 loss가 최소가 되도록 weight를 갱신하는 것 1. Gradient Descent (GD) objective (or cost) function to minimize: f(x) = x^3 – 2x^2 + 2 to find a local minimum, n min ∑ wi(x - bi)^2 i=1 loss(w) | \ | \ | | | \ / | +- -+ | \ / | +--+ +---------------------- w | | | | w w w w (1)(2)(4)(3) w를 random하게 정함 입력으로 구해진 loss에 ..
2021.08.16 -
LDA Latent Dirichlet Allocation
문서들을 보고, 단어들을 topic 별로 clustering 수행 이후, 각 문서들이 어느 topic에 더 유사한지를 계산하여 문서의 topic을 결정 문서의 주제를 알아내는 일이 중요한 곳에서 사용 검색 엔진, 고객 민원 시스템 여러 topic들이 혼재되어 있으며, topic들은 확률 분포에 기반하여 단어를 생성한다고 가정 LDA는 각 문서의 토픽 분포와 각 토픽 내의 단어 분포를 추정 토픽A : 사과 20%, 바나나 40%, 먹어요 40%, 귀여운 0%, 강아지 0%, 깜찍하고 0%, 좋아요 0% 토픽B : 사과 0%, 바나나 0%, 먹어요 0%, 귀여운 33%, 강아지 33%, 깜찍하고 16%, 좋아요 16% LDA는 토픽의 이름을 지정하지 않으나, 위 토픽 내 단어 분포를 보면, 토픽A는 과일에 ..
2021.08.16 -
특징 생성
# 특징생성 ## 모델과 특징 ### GBDT 값의 대/소관계만 봄 (절대값을 보지 않음) 변수의 범위(Scale) 및 분포를 크게 신경쓰지 않음 결측 처리 가능 (DNN은 처리 불가) decision tree 내 분기의 반복으로 변수간 상호작용을 반영 범주형 변수(OHE)이 아닌 label encoding을 해도 학습 가능 ### 신경망 값의 범위에 영향(성능에 영향) 결측이 없어야 함 layer간의 결합을 통한 변수간 상호작용 반영
2021.08.14 -
Data Science: 자연어 처리 (Natural Language Processing)
자연어 처리? 한국어와 영어 등 우리가 평소에 쓰는 말을 자연어라고 하며, 이를 처리하는 분야가 자연어 처리임 자연어를 컴퓨터가 이해하도록 만들어 우리에게 도움이 되는 일을 수행하게 하는 것이 NLP thesaurus (시소러스) 표준국어대사전(:각각의 단어에 그 의미를 설명) 처럼, 일반적인 사전이 아닌 사전 기본적으로 유의어 사전 뜻이 같은 단어(동의어)나 뜻이 비슷한 단어(유의어) 가 한 그룹으로 분류 됨 시소러스의 문제점 수정이 힘듦 시대가 변하면 신조어가 생기고, 단어가 없어지기도 함 만드는데 많은 노력이 필요함 WordNet 에 등록된 단어는 20만개 이상 이를 피하기 위해 통계 기반 기법 신경망을 사용한 '추론 기반 기법'을 사용 -> 단어의 의미를 자동으로 추출 이는 영상 인식에서 feat..
2021.08.14