공부일기/Machine-Learning 21

앙상블 학습 방법(Ensemble Learning)

앙상블 학습여러 개의 개별 모델을 조합하여 최적의 모델로 일반화하는 방법이다. weak classifier(약한 분류)들을 결합하여 strong classifier(강한 분류)를 만드는 것이다. 결정 트리에서 과적합(overfitting)되는 문제를 앙상블에서는 감소시킨다는 장점이 있다.  앙상블 기법에는 보팅(voting), 배깅(bagging), 부스팅(boosting), 스태킹(stacking)이 있다.   보팅(voting)여러 머신러닝 알고리즘을 같은 데이터 세트에 대해 학습하고 예측한 결과를 투표하여 최종 예측 결과를 선정하는 방식이다.  하드 보팅(hard voting)각 분류기가 최종 클래스를 정하면 더 많은 클래스를 최종 클래스로 결정한다. 다수결의 원칙과 비슷하다. 소프트 보팅(soft..

나이브 베이즈 분류기(Naive Bayes Classification)

나이브 베이즈 분류기나이브 베이즈 분류기는 지도 학습의 분류 모델에 속하는 기법이다. 텍스트 분류와 같은 분류 작업에 사용되는 감독형 머신 러닝 알고리즘으로, 분류 작업을 수행할 때 확률 원칙을 사용한다. 또한, 나이브 베이즈는 통계 및 컴퓨터 과학 문헌에서 단순 베이즈, 독립 베이즈를 포함한 다양한 이름으로 알려져 있다.  분서를 여러 범주 중 하나로 판단하는 문제에 대한 대중적인 방법으로 남아있으며, 적절한 전처리를 하면 더 진보된 방법들(예 : 서포트 벡터 머신)과도 충분한 경쟁력을 보인다.  나이브 베이즈 분류에 대해 알기 위해서는 베이즈 정리를 먼저 알아야 한다.  베이즈 정리란?추론 대상의 사전 확률과 추가적인 정보를 기반으로 해당 대상의 사후 확률을 추론하는 통계적 방법을 말한다. 조금 더 ..

계층적 군집(Hierarchical Clustering)

계층적 군집계층적 군집은 데이터를 가까운 집단부터 순차적이며 계층적으로 군집화하는 방식이다.트리구조를 통해 각 데이터들을 순차적, 계층적으로 비슷한 그룹과 묶어 클러스터링을 진행한다고 이해하면 된다. 계층적 구조로 인해 클러스터 혹은 군집의 개수를 미리 정하지 않아도 되지만 매번 지역 최소값(local minimu)을 찾아가는 방법을 활용하기 때문에 클러스터링의 결과값이 전역 최소값(global minimum)이라고 해석하기는 어렵다.  조금 더 쉽게 이야기하자면 계층적 군집은 가장 처음에 모든 군집이 하나의 데이터만을 가진다. 따라서 최초에는 데이터 개수만큼 군집이 존재하지만 군집을 합치면서 최종적으로 하나의 군집만 남게 되는 방식이다. 이로 인해 합체 군집화라고도 한다.   계층적 군집의 결과는 보통..

K-평균 군집화(k-means clustering, K-Means)

K-평균 군집화K-평균 군집화는 비지도학습에 속하며, 데이터를 K개의 군집(Cluster)으로 묶는(Clusting) 알고리즘이다. 군집이란 비슷한 특성을 지닌 데이터들을 모아놓은 그룹이고, 군집화는 군집으로 묶는 것을 말한다.   그러므로 K-평균 군집화는 군집의 평균을 활용해 K개의 군집으로 묶는다는 것을 의미한다.   K-평균 군집화 과정몇 개의 덩어리로 클러스터링(Clustering)을 할 것인지 정한다. 우리가 가장 먼저 해야 할 일은 몇 개의 K로 클러스터링(Clustering)을 할 것인지 결정하는 것이다. 개수는 원하는 수로 정하면 된다.정한 개수만큼 중심점(K값)을 정한다.정한 개수만큼 원하는 아무 값으로 중심점을 정한다. 이때 정하는 중심점을 centroid(중심)이라고 부른다.각 점마..

주성분 분석(Principal Component Analysis, PCA)

주성분 분석주성분 분석은 비지도 학습에 속해 레이블이나 목표 변수가 없는 학습 데이터만을 사용해 데이터의 구조나 패턴을 찾는다. 쉽게 말해 주성분 분석을 이용하면 고차원의 데이터를 낮은 차원의 데이터로 바꿔줄 수 있는데, 중요한 것은 '어떻게 차원을 잘 낮추느냐'이다.  차원을 낮출 때 아무리 잘 바꾼다고 하더라도 2차원의 데이터 특징을 모두 살리면서 1차원의 데이터로 바꿀 수는 없을 것이다. 그렇다면 차선택으로, 최대한 특징을 살리며 차원을 낮춰주는 방법을 고안하기 시작했고 그중 하나가 주성분 분석이다. 주성분 분석은 데이터를 사영시켰을 때, 손실되는 정보의 양이 적은 기저(축)를 찾아서 선택한다.  주성분 분석은 대표적으로 차원 축소(Dimensionality Reduction)에 쓰이는 기법으로 머..

K-최근접 이웃(K-Nearest Neighbors, K-NN)

K-최근접 이웃K-최근접 이웃(K-NN)은 '유유상종'이라는 사자성어에 맞는 머신 러닝이다.K-NN 알고리즘은 지도 학습의 한 종류로 데이터를 가장 가까운 유사 속성에 따라 분류하는 거리기반 분류 분석 모델이다.거리 기반으로 분류하는 클러스터링과 유사한 개념이긴하나, 기존 관측치의 Y값(Class)이 존재한다는 점에서 비지도학습에 해당하는 클러스터링과 차이가 있다.     K-NN 알고리즘은 거리를 측정할 때 유클리디안 거리 계산법을 사용한다. 유클리디안 거리 계산법은 N차원의 공간에서 두 점간의 거리를 알아내는 공식으로 'L2 Distance'라고도 한다.    K-NN 장단점장점단순하고 효율적이다. 기저 데이터 분포에 대한 가정을 하지 않는다훈련 단계가 빠르다수치 기반 데이터 분류 작업에서 성능이 우..

서포트 벡터 머신(Support vector machine)

서포트 벡터 머신이란전통적인 이진 분류를 위한 기법 중 하나이다. '오류율을 최소화'하려는 목적 외에 두 부류 사이에 존재하는 '여백을 최대화'하려는 목적으로 설계되었다.  패턴 인식, 자료 분석을 위한 지도 학습 모델 중 하나이며 주로 분류와 회귀 분석을 위해 사용한다.   위의 그래프를 이용해 예를 들어 서포트 벡터 머신을 설명하고자 한다. 그래프를 통해 짜장면인지 짬뽕인지 구분을 하려면 직선을 그어 국물의 양과 고춧가루의 양이 많으면 짬뽕, 아니면 짜장으로 구분할 수 있다. 이 때, 두 부류사이의 여백이 가장 넓어지면(둘이 가장 떨어져있으면(여유 최대화)) 그 둘을 가장 잘 분류했다고 할 수 있다. 이를 분류하는 과정에서 위의 그래프로 그래프처럼 빨간 직선(선형모델)으로 그 둘을 구분할 수도 있고 ..

랜덤 포레스트(Random forest)

랜덤 포레스트란숲은 나무가 모여 이루어진 것처럼 랜덤 포레스트도 결정 트리가 모여 만들어진 것이다. 물론 결정 트리만으로도 머신 러닝을 할 수 있지만 결정 트리의 단점인 과적합을 랜덤 포레스트로 해결할 수 있다.  예를 들어 건강의 위험도를 예측하기 위해서는 많은 요소를 고려해야하는데 성별, 키, 몸무게, 운동량 등 30개의 수 많은 요소를 기반으로 건강의 위험도를 결정 트리(Decision Tree)를 이용해 예측하면 분명 과적합(overfitting)이 일어날 것이다.그러나 랜덤 포레스트는 수 많은 요소 중 랜덤으로 5개의 요소만 선택해 하나의 결정 트리를 만드는 방식을 반복해 결정 트리 하나마다 예측값을 내놓고 이렇게 내린 예측 값 중 가장 많이 나온 값을 최종 예측값으로 정한다. 다수결의 원칙을 ..

결정 트리(Decision Tree)

결정 트리란의사 결정 트리, 의사 결정 나무라고도한다. 결정 트리는 분류와 회귀 모두 가능한 지도 학습 모델 중 하나이다. 결정 트리 학습법은 지도 분류 학습에서 가장 유용하게 사용되고 있는 기법 중 하나다.  결정 트리는 예 / 아니오 질문을 이어가며 학습하는데 특정 기준(질문)에 따라 데이터를 구분하는 모델을 결정 트리 모델이라고 한다. 입력 데이터에 따라 목표 변수의 값을 예측하는 실행 모델을 만들기 위해 사용한다. 어떤 기준으로 규칙을 만들어야 가장 효율적인 분류가 될 것인가가 알고리즘의 성능을 크게 좌우한다. 그러나 규칙이 많다는 것은 예측을 위한 학습이 잘된다고 말할 수 있음과 동시에 복잡하다는 의미이며 이는 과적합으로 이어질 수 있다. 즉, 트리의 깊이가 깊어질수록 예측 성능이 저하될 가능성..

로지스틱 회귀(Logistic regression)

로지스틱 회귀란독립 변수의 선형 결함을 이용해 사건의 발생 가능성을 예측하는 데 사용되는 통계 기법으로 독립 변수의 선형 조합을 로지스틱 함수를 사용해 종속 변수에 대한 확률 점수로 변환한다. 또한, 로지스틱 함수는 시그모이드 함수라고도 하며 'S'자 모양 곡선으로 입력 값을 '0'과 '1' 사이의 값으로 출력한다.  로지스틱 회귀 모델은 독립 변수의 계수(기울기 매개 변수)를 추정한다. 이 계수는 해당 독립 변수의 한 단위 변화에 대한 종속 변수의 로그 오즈 변화를 나타내며, 다른 모든 변수를 일정하게 유지하는 동안 적용된다.  로지스틱 회귀의 목적은 종속 변수와 독립 변수간의 관계를 구체적인 함수로 나타내어 향후 예측 모델에 사용하는 것이다. 이는 선형 회귀 분석과 유사하나, 선형 회귀 분석과 다르게..