# AI 이론/Machine Learning 9

K-Means Clustering(K 평균 군집화) 정리

오늘날 대부분의 머신러닝 애플리케이션이 지도학습 기반이지만, 사용할 수 있는 데이터는 대부분 레이블이 존재하지 않습니다. 이러한 레이블이 없는 데이터에 숨겨진 패턴을 찾아내고 구조화하는 머신러닝 기법을 비지도학습(Unsupervised Learning)이라고 하는데, 비지도학습 알고리즘 중 가장 널리알려진 K-Means Clustering 알고리즘에 대해서 알아보겠습니다. 군집은 다음과 같은 다양한 애플리케이션에서 사용됩니다. 고객분류 데이터분석 차원 축소 기법 이상치 탐색 준지도 학습 검색 엔진 이미지 분할 등.. K-Means Clustering "K"는 주어진 데이터로부터 그룹화 할 그룹의 개수, 즉 클러스터의 개수 "Means"는 각 클러스터의 중심과 데이터들의 평균거리를 의미 센트로이드(cent..

주성분 분석(PCA)란?

차원의 저주란? 많은 경우 머신러닝 문제는 훈련 샘플이 각각 수천 심지어 수백만 개의 특성(Feature)을 가지고 있습니다. 이런 많은 특성은 훈련을 느리게 할 뿐만 아니라, 좋은 솔루션을 찾기 어렵게 만듭니다. 이런 문제를 차원의 저주(curse of dimensionality) 라고합니다. 이러한 문제를 해결하기 위해서는 차원을 줄여줘야 하는데, 이때 사용하는 방식이 PCA라는 차원축소 알고리즘 입니다. PCA는 비지도 변수 추출(Principal Component analysis) 비지도이므로 target 값 y는 사용되지 않는다. ▷ PCA,주성분 분석 분산을 최대로 유지하자! 가 핵심입니다. 사진을 보면 데이터 x1,x2의 분포 사진에 2개의 축이있습니다.(c1,c2) c1에 데이터를 사영(P..

선형회귀(GD,Ridge,Lasso,ElasticNet)

선형회귀 및 경사하강법(배치 경사하강법, 미니배치 경사하강법, 경사하강법) 다항회귀 규제가 있는 선형 모델 선형회귀 입력 특성의 가중치 합과 편향 이라는 상수를 더해 예측을 만든다. y는 예측값 n은 특성의 수 xi 는 i 번째 특성값 세타는 j번째 모델 파라미터 와 같이 표현이 가능하다. ▷ 선형 회귀 모델의 MSE 비용 함수 𝜽 값의 MSE(𝜽) 는 다음과 같이 표현할 수 있다. 이때 비용함수의 값을 최소화 하는 𝜽 를 얻을 수 있는 공식이 있는데, 다음과 같다. 경사 하강법 경사하강법 이란? 여러 종류의 문제에서 최적의 해법을 찾을 수 있는 일반적인 최적화 알고리즘 비용 함수를 최소화 하기 위해 반복해서 파라미터를 조정해 가는것 학습률이 너무 작으면 알고리즘이 수렴하기 위해 반복 횟수가 증가하므로 ..

[ML]캐글 신용카드 사기 검출

데이터 분석전 알아야 할 지식정리 Log변환 왜곡된 분포도를 가진 데이터 세트를 비교적 정규 분포에 가깝게 변환해주는 Feature Engineering 방식 Skrew 된 분포도 대부분을 로그변환으로 바꾸는것을 권장 IQR IQR(Inter Quantile Range)를 통한 Outlier Removal(이상치 제거) Box Flot 을 통해, 범위 밖에있는 값들은 이상치로 간주 UnderSampling And OverSampling UnderSampling : 많은 레이블을 가진 데이터세트를 적은 레이블 세트만큼 감소 시킴 OverSampling : 적은 레이블을 가진 데이터세트를 증식시켜, 많은 레이블 세트만큼 부풀림 (SMOTE방식을 통해 OverSampling을 실시) SMOTE : 적은 데이터..

LightGBM

LightGBM이란 XGBoost와 함께 부스팅 계열 알고리즘에서 가장 각광을 받고 있다. XGboost의 경우 뛰어난 부스팅 알고리즘이지만, 여전히 학습시간이 오래걸리는데, 특히 GridSearchCV로 하이퍼 파라미터 튜닝을 수행하다 보면 수행시간이 너무 오래걸리는것을 알수있다. LightGBM의 큰장점은 XGBoost보다 학습에 걸리는 시간이 훨씬 적다는 점이다. LightGBM은 XGBoost의 예측 성능에 별차이가 없지만, 기능상 다양성은 LGBM이 더많다. LGBM의 단점은 적은 데이터 세트에 적용할 경우 과적합이 발생하기 쉽다는 것 일반적으로 10,000건 이하의 데이터 세트 정도라고 LightGBM 공식문서에 기술되어있다. 기존의 GBM계열의 트리분할은 리프 중심 트리 분할 이였지만, 시간..

XGBoost 소개(파이썬 Wrapper, 싸이킷런 Wrapper) 및 예제

XGBoost 개요 XGBoost는 트리 기반의 앙상블 학습에서 가장 각광받고 있는 알고리즘 중 하나입니다. XGBoost는 GBM에 기반하고 있지만, GBM의 단점인 느린 수행 시간 및 과적합 규제 부재등의 문제를 해결해서 매우 각광을 받고 있다. 파이썬 Wrapper와 싸이킷런 Wrapper에는 약간의 차이가 존재합니다. XGBClassifier는 기존의 사이킷런에서 사용하는 하이퍼 파라미터 몇 가지를 변경하였는데, 변경 사항은 다음과 같습니다. eta -> learning_rate sub_sample ->subsample lambda ->reg_lambda alpha ->reg_alpha 장점 뛰어난 예측 성능 GBM 대비 빠른 수행 시간 과적합 규제 Tree pruning 자체 내장된 교차 검증 ..

피처 스케일링(Feature Scaling)

피처 스케일링(Feature Scaling) 이란? 서로 다른 변수의 값 범위를 일정한 수준으로 맞추는 작업을 말한다. 대표적인 방법으로는 표준화 , 정규화 가 존재한다. 예를들어, 피쳐 A의 범위는 0~100 이고, 피쳐 B의 범위는 0~100,000,000이라면, 데이터는 A에값에 크게 영향을 미치지 않을 수 있다. 따라서, 이 변수를 모두 동일한 크기 단위로 비교하기 위해 모두 최소 0~ 최대 1 사이의 값으로 변환 하는것 Sklearn에서 제공하는 대표적인 피처 스케일링 클래스가 2가지 존재한다. StandardScaler 개별 피처를 평균이 0 이고 분산이 1인 가우시안 정규분포를 가진 값으로 변환 왜 중요한가? RBF커널을 이용하는 서포트 벡터머신, 선형 회귀,로지스틱 회귀는 데이터가 가우시안..

[Sklearn]타이타닉 생존자 예측

사이킷런으로 수행하는 타이타닉 생존자 예측 타이타닉 생존자 test,train.csv 들은 https://www.kaggle.com/c/titanic/data 링크에서 다운받을수 있습니다. 이때까지 배웠던 Numpy,Pandas API를 정리 파일을 불러서 DataFrame 형태로 변환 seaborn 라이브러리를 통해서, 데이터를 시각화 info() 함수를 통해서, dataFrame의 데이터정보를 불러옴 fillna() 함수를 통해서, Null(Nan)값을 함수 인자값으로 대체 fillna() 함수를 통해 Nan값 모두 제거 되었음을 확인할 수 있다 value_counts()를 통해, 해당 series값을 count를 할 수 있다. DataFrame 내에 Cabin 열의 값들을 한글자로 바꾸기위해서, 인..

1.머신러닝이란?

머신러닝이란? 영어 그대로 Machine Learning 즉, 기계학습 이다. 현재, 우리생활 주변에서도 머신러닝의 역할을 많이 볼 수있는데, 예로는 이메일 스팸필터링, 편리한 텍스트와 음성 인식 소프트웨어(Siri,빅스비) 등이있다. 머신 러닝의 세 가지 종류 (지도학습,비지도학습 강화학습) 1.지도학습 (분류,회귀) 1) 레이블된 데이터 2) 직접 피드백 3) 출력 및 미래 예측 지도(supervised)는 희망하는 출력신호가 있는 일련의 데이터 입력을 말함 레이블된 훈련 데이터가 머신러닝 알고리즘에 전달되어, 예측모델을 먼저 훈련후, 새로운 레이블 되지 않은 데이터 입력에 대해 예측을 수행함 분류란 지도 학습의 하위 카테고리 과거의 관측을 기반을 샘플의 범주형 클래스 레이블을 예측하는것이 목적 클래..

1