목록전체 글 (36)
co-code 님의 블로그
Word2Vec문자를 수치형으로 변환시켜주는 딥러닝 기반의 임베딩 기술매개변수(parameter)sentences기본값 : None -> 학습을 시킬 수 있다.토큰화가 된 문장 데이터 (2차원 데이터)vector_size기본값 : 100임베딩 벡터 차원의 개수 (feature의 수)window기본값 : 5예측 시 고려할 주변 단어와의 거리 (문맥의 크기)sg기본값 : 00인 경우 : CBOW 방식 (주변 단어들을 이용하여 중심 단어를 예측)1인 경우 : Skip_gram 방식 (중심 단어를 이용하여 주변 단어를 예측)min_count기본값 : 5최소 등장 빈도의 수적게 등장한 단어들을 제외hs기본값 : 0계산의 방식 지정0 : Negative Sampling (계산량 적음)1 : Hierarchical ..
LSA ( Latent Semantic Analysis : 잠재 의미 분석)문서 안에서 단어 사이의 잠재적인 의미 구조를 추출하는 기법TF-IDF 방식은 단어 간의 의미적 유사성을 반영하지 XTF-IDF 방식에서 SVD(특이값 분해)를 단어 간의 의미를 파악차원 축소를 통해서 관계성을 확인LSA효과벡터 공간의 차원을 줄여서 계산, 효율의 증가 (차원 축소)'영화', '필름' 등 비슷한 문맥의 단어를 가까운 벡터로 이동 (의미 유추)문서들을 주제별로 분류 (토픽 분석)TruncatedSVD (차원 축소 모델)절단된 특이값 분해고차원 희소행렬(값이 0인 행렬SA ( Latent Semantic Analysis : 잠재 의미 분석)문서 안에서 단어 사이의 잠재적인 의미 구조를 추출하는 기법TF-IDF 방식은 ..
TF - IDF 벡터화TF(Term Frequency : 단어 빈도) : 특정 문서 안에서 단어가 얼마나 자주 등장하는가?IDF(Inverse Document Frequency : 역문서 빈도) : 전체 문서들 중 그 단어가 등장한 문서의 비율의 역수단순하게 단어의 개수를 세는 방법(CountVectorizer)을 보완하여 이 문서에서는 유독 자주 나오지만 다른 문서들에서는 잘 안나도는, 유독 튀는 단어에 가중치를 부여하는 알고리즘수식적으로 표현하면 TF * IDF로 계산되어 텍스트를 실수형 벡터로 변환매개변수 (parameters)stop_words기본값 : None불용어 처리리스트의 형태를 통해서 특정 단어들을 제외'english'를 인자로 사용하면 영문자를 제외min_df기본값 : 1최소 문서 빈..
RNN (순환 신경망)이전 시점의 정보를 현재 시점의 계산에 반영하는 구조첫번쨰 입력 : 초기 상태(h_0 = 0)와 입력에 대한 상태(h_1)로 계산두번째 입력 : 이전의 상태(h_1)와 결합해서 계산 (h_2)세번재 입력 : 이전의 입력상태(h_2)와 현재의 입력상태를 결합해서 계산(h_3)...마지막 입력(반복 작업이 완료되었을 때) : 마지막 상태 (h_t) 생성 -> 모든 과거의 정보를 결합해놓은 상태parameter(매개변수)input_size : 각 시점(레이어)에서 입력 feature의 수hidden_size : 은닉층(출력)의 크기num_layers기본값 : 1RNN 은닉층의 개수 (층이 깊어질수록 복잡한 패턴을 발생)층의 개수가 늘어날수록 시간은 증가하고 과적합의 위험성이 존재1 ~3 ..
K - Means ( 평균을 이용한 군집화 )k개의 자동 분류하는 비지도 학습 알고리즘종속 변수가 존재하지 않는 데이터에서 유사한 데이터끼리 모음서로 가까운 데이터는 같은 그룹으로 묶어서 그룹화그룹의 중심점을 반복적으로 계산(중심점의 이동)하여 군집을 형성작업 순서초기의 중심점(k개)을 선택각각의 데이터들을 중심점과의 거리를 확인가까운 거리를 중심점으로 할당각 군집의 평균을 구해서 새로운 중심점을 설정중심점의 변화가 거의 없을 때까지 반복 실행장점 : 빠르고 단순하여 대용량의 데이터에서 적합단점군집의 수를 미리 알고 작성해야 함이상치에 굉장히 민감함parametern_clusters기본값 : 0군집의 개수를 지정너무 작거나 큰 경우에는 성능 저하init기본값 : 'K-Means++'초기의 중심점을 설정하..
PCA차원 축소 기법 : feature의 개수가 줄어든다.고차원 데이터(다수의 feature를 가진 데이터셋)를 상관관계가 없는 새로운 축으로 변환데이터의 분산을 최대한 보존하면서 차원을 줄여서 시각화parameter(매개변수)n_components기본값 : None주성분의 개수 또는 비율로 설정None : 모든 주성분을 유지int : 선택할 주성분의 개수 float(0 ~ 1) : 누적 설명 분산 비율을 기준으로 필요한 주성분의 개수를 선택'mle' : 자동으로 최적 차원의 수 측정 (샘플의 개수 whiten기본값 : False주성분 벡터를 단위 분산으로 정규화를 할 것인가 지정데이터의 정규화 효과svd_solver기본값 : 'auto'분해 방식 지원'auto' : 데이터의 크기에 따라서 자동 선택'f..
랜덤 포레스트(RandomForest)배깅 방식을 활용데이터 샘플링 방식 + 다수결 or 평균 사용사용하는 모델은 의사결정나무 고정 (랜덤포레스트 안에 의사결정나무가 하드코딩되어있음)각 노드에서 분할 할때마다 모든 피치에서 일부만 무작위로 선택하여 트리간의 상관성을 낮춰준다. -> 다양성 증가여러 결정 트리를 서로 다르게 학습 시킨 뒤 다수결(분류), 평균(회귀)으로 예측하는 배깅 기반의 앙상블부트스트랩(중복 데이터를 허용)과 특성의 무작위 선택을 이용해 모델 간의 상관성을 낮춰서 성능과 안정성을 높이는 방법고차원 데이터에서 안정성이 굉장히 높다대부분의 실무에서 많이 사용이 되느 알고리즘paramer(매개변수)n_estimators기본값 : 100모델의 개수를 지정criterion분류 : gini(기본값..
앙상블단일 의사결정나무(DecisionTree)의 단점을 극복하기 위해 머신러닝 모델을 연결하여 더 강력한 모델을 만드는 과정주어진 자료로부터 여러개의 예측 모델을 만든 후 예측 모형을 조합하여 하나의 예측 모형을 생성하는 과정대표적인 기법 : 배깅, 부스팅, 랜덤 포레스트배깅주어진 자료를 모집단으로 간주하여 주어진 자료에서 여러개의 부트스트랩 자료를 생성하고 각각의 부트스트랩 자료에 예측 모델을 만든 후 결합하여 최종 모델 완성장점분산을 줄이고 과적합의 문제를 완화안정적인 성능 보장비선형 구조의 데이터와 노이즈 데이터에 대한 문제가 완화parameter(매개변수)estimator기본값 : None기본 모델을 설정n_estimators기본값 :10생성시킬 모델의 개수max_samples기본값 : 1.0생..
SVM(서포트 벡터 머신)패턴 인식, 자료 분석들을 위한 지도 학습 모델회귀, 분류 모두 존재회귀선에서 일정 양만큼 떨어진 부분에 영역을 생성하여 영역 안과 밖에 있는 데이터들의 가중치를 변화parameter(매개변수)C기본값 : 1.0규제 강도의 역수마진(margin) 영역의 크기kernel(커널 함수의 종류)기본값 : 'ref'실제의 데이터가 선형이 아닌 경우 커널 함수를 이용하여 데이터를 고차원 공간으로 배열하여 직선으로 구분'linear' : 선형 SVM'poly' : 다항식 커널'rbl' : 가우시안 커널 (가장 많이 사용)gamma커널의 개수kernel이 linear가 아니면 사용gamma가 크다면 경계가 복잡해짐 (과적합 위험)gamma가 작다면 경계가 유얀해짐 (일반화 위험 : 과소적합 ..
부스팅(Boosting)모델을 순차적으로 학습이전 모델이 잘못 맞추거나 확률이 애매한 경우 데이터에 가중치를 증가시켜 다음 모델에서 집중 학습단순 모델들을 결합하여 강력한 모델로 생성장점편향이 감소해 예측의 확률이 올라감단순한 모델들을 이어서 학습하기 때문에 성능이 많이 올라감단점순차적으로 학습하므로 병렬화가 어려움 -> 학습 속도가 느려짐학습의 횟수가 너무 많은 경우 과적합 위험파라미터 튜닝이 중요함대표 알고리즘AdaBoost오차가 더 큰 샘플에 더 높은 가중치를 부여각각의 모델들은 가중치가 조정이 된 데이터 셋을 이용하여 학습최종 모델에서는 가중치의 합산으로 변경GradientBoost(GBM)이전 모델의 잔차를 예측하는 새로운 모델을 새롭게 추가함손실 함수 직접 최적화계산량이 많음XGBoostGB..
